/* Los estilos están aislados para no alterar Contact Form 7 fuera del producto. */
.berakah-product-cf7-modal[hidden] { display: none !important; }
.berakah-product-cf7-open { overflow: hidden !important; }
.berakah-product-cf7-modal { position: fixed; z-index: 1000000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 18px; box-sizing: border-box; }
.berakah-product-cf7-modal, .berakah-product-cf7-modal * { box-sizing: border-box; }
.berakah-product-cf7-backdrop { position: absolute; inset: 0; background: rgba(13, 20, 25, .72); }
.berakah-product-cf7-dialog { position: relative; background: #fff; color: #263238; width: 100%; max-width: 560px; max-height: min(90vh, 900px); max-height: min(90dvh, 900px); overflow-y: auto; border-radius: 12px; box-shadow: 0 28px 85px rgba(0,0,0,.3); outline: none; }
.berakah-product-cf7-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; padding: 24px 28px 17px; border-bottom: 1px solid #e7eaed; }
.berakah-product-cf7-header h2 { font-size: clamp(21px, 3vw, 27px); font-weight: 700; color: #18262b; padding: 0; margin: 0 0 6px; }
.berakah-product-cf7-product { margin: 0; font-size: 14px; line-height: 1.5; color: #5d6c74; }
.berakah-product-cf7-close { flex: 0 0 36px; width: 36px; height: 36px; line-height: 1; font-size: 27px; padding: 0; border: 0; border-radius: 6px; color: #33434a; background: #f1f3f4; cursor: pointer; }
.berakah-product-cf7-close:hover { background: #e4e8ea; }
.berakah-product-cf7-close:focus-visible { outline: 3px solid #2271b1; outline-offset: 2px; }
.berakah-product-cf7-content { padding: 21px 28px 27px; }
.berakah-product-cf7-content .wpcf7 form p { margin: 0 0 14px; padding: 0; }
.berakah-product-cf7-content .wpcf7 label { display: block; color: #29363b; font-size: 14px; line-height: 1.5; font-weight: 600; margin-bottom: 15px; }
.berakah-product-cf7-content .wpcf7 label .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.berakah-product-cf7-content .wpcf7 input:not([type="submit"]):not([type="hidden"]),
.berakah-product-cf7-content .wpcf7 textarea { display: block; width: 100%; min-height: 44px; border: 1px solid #ccd5da; background: #fff; border-radius: 6px; padding: 11px 12px; font-size: 16px; line-height: 1.45; color: #18262b; box-shadow: none; }
.berakah-product-cf7-content .wpcf7 textarea { min-height: 100px; max-height: 240px; resize: vertical; }
.berakah-product-cf7-content .wpcf7 input:focus-visible, .berakah-product-cf7-content .wpcf7 textarea:focus-visible { outline: 2px solid #2774a5; outline-offset: 1px; }
.berakah-product-cf7-content .wpcf7 input[type="submit"] { display: inline-block; width: 100%; min-height: 46px; padding: 12px 18px; background: #1f5368; color: #fff; border: 0; border-radius: 6px; cursor: pointer; font-size: 15px; font-weight: 700; }
.berakah-product-cf7-content .wpcf7 input[type="submit"]:hover { background: #153d4d; }
.berakah-product-cf7-content .wpcf7 input[type="submit"]:disabled { opacity: .65; cursor: wait; }
.berakah-product-cf7-content .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 13px; font-weight: 400; }
.berakah-product-cf7-content .wpcf7-response-output { margin: 16px 0 0 !important; padding: 12px !important; line-height: 1.5; border-radius: 6px; }
.berakah-product-cf7-content .berakah-required { color: #b22222; }
@media (max-width: 600px) {
  .berakah-product-cf7-modal { padding: 10px; }
  .berakah-product-cf7-dialog { max-height: 94vh; max-height: 94dvh; }
  .berakah-product-cf7-header { padding: 18px 18px 13px; }
  .berakah-product-cf7-content { padding: 17px 18px 19px; }
}
