/* Subscription consultation only. Preserve the existing payment and booking flows. */
.gkc-entry { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:24px 0; padding:24px 28px; border:1px solid #ded3f8; border-radius:22px; background:#f6f2ff; color:#151333; text-align:left; font-family:inherit; }
.gkc-entry h3 { margin:0 0 8px!important; font-size:22px!important; line-height:1.3!important; color:#151333!important; }
.gkc-entry p { margin:0!important; max-width:560px; font-size:16px!important; line-height:1.55!important; color:#6d6883!important; }
button.gkc-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:14px 22px; border:0; border-radius:14px; background:#7845cf; color:#fff; font-family:inherit; font-size:16px; font-weight:600; line-height:1.35; text-align:center; cursor:pointer; white-space:normal; }
.gkc-entry .gkc-button { flex-shrink:0; }
.gkc-hero-button { margin-top:16px; background:transparent!important; color:#7040b9!important; border:1px solid #bba0e5!important; }
.gkc-dialog { box-sizing:border-box; width:min(520px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:28px; border:1px solid #e7dff4; border-radius:24px; background:#fff; color:#151333; font-family:Montserrat,Arial,sans-serif; box-shadow:0 24px 70px #17102e35; overflow:auto; overscroll-behavior:contain; }
.gkc-dialog:not([open]) { display:none; }
.gkc-dialog::backdrop { background:#17102e80; }
.gkc-dialog *, .gkc-dialog *::before, .gkc-dialog *::after { box-sizing:border-box; }
.gkc-dialog h2 { margin:0 38px 12px 0; font-size:28px; line-height:1.2; color:#151333; }
.gkc-dialog p { margin:0 0 20px; font-size:15px; line-height:1.6; color:#6d6883; }
.gkc-dialog a { color:#6e3bbb; text-decoration:underline; text-underline-offset:3px; }
.gkc-close { position:absolute; right:14px; top:14px; width:40px; height:40px; border:0; border-radius:50%; background:#f3eefb; color:#49346c; font:28px/1 Arial,sans-serif; cursor:pointer; }
.gkc-form { display:grid; gap:16px; margin:0; padding:0; }
.gkc-field { display:grid; gap:7px; font-size:14px; font-weight:600; color:#302b48; }
.gkc-field input,.gkc-field select { display:block; width:100%; min-width:0; min-height:48px; border:1px solid #cec5de; border-radius:12px; padding:12px 14px; background:#fff; color:#151333; font:400 16px/1.4 Montserrat,Arial,sans-serif; }
.gkc-field input[aria-invalid="true"] { border-color:#b52446; }
.gkc-error { display:block; min-height:0; color:#a82343; font-size:12px; font-weight:400; line-height:1.5; }
.gkc-consent { display:flex; gap:10px; align-items:flex-start; font-size:12px; font-weight:400; line-height:1.65; color:#6d6883; }
.gkc-consent input { flex:0 0 20px; width:20px; height:20px; margin:2px 0 0; accent-color:#7845cf; }
.gkc-honey { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.gkc-form .gkc-button { width:100%; }
.gkc-dialog .gkc-status { margin:0; font-size:13px; line-height:1.6; }
.gkc-status[data-error="true"] { color:#a82343; }
.gkc-dialog .gkc-phone { padding-top:18px; margin:18px 0 0; border-top:1px solid #ebe3f7; font-size:13px; }
.gkc-success { padding-top:12px; }
.gkc-success strong { display:block; margin-bottom:12px; color:#2e7c48; font-size:22px; }
.gkc-dialog [hidden] { display:none!important; }
.gkc-button:disabled { opacity:.65; cursor:wait; }
.gkc-dialog :focus-visible,.gkc-entry :focus-visible,.gkc-hero-button:focus-visible { outline:3px solid #437cc7; outline-offset:3px; }
body:has(.gkc-dialog[open]) { overflow:hidden; }
@media(max-width:700px) {
 .gkc-entry { align-items:stretch; flex-direction:column; gap:18px; padding:22px 20px; margin:22px 0; border-radius:18px; }
 .gkc-entry h3 { font-size:20px!important; }
 .gkc-entry p { font-size:15px!important; }
 .gkc-entry .gkc-button { width:100%; }
 .gkc-dialog { padding:24px 20px; border-radius:20px; }
 .gkc-dialog h2 { font-size:24px; }
 .gkc-hero-button { width:100%; max-width:340px; }
}
@media(max-width:340px) { .gkc-dialog { padding:22px 16px; } .gkc-dialog h2 { font-size:22px; } }

.gkc-near-hero { box-sizing:border-box; width:calc(100% - 32px); max-width:1200px; margin:24px auto; }
