/* Registration form styling, scoped so it does not affect the host theme. */
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600;700&display=swap');
.gmcr{--ink:#131D37;--navy:#18233C;--soft-ink:#6D7485;--muted:#88909D;--brown:#A6735C;--line:#EEF1F3;--blush:#F3E8E4;--canvas:#E3E9EE;box-sizing:border-box;width:100%;max-width:1350px;margin:0 auto;padding:0 24px 90px;background:var(--canvas);color:var(--ink);font:15px/1.5 'Be Vietnam Pro',Arial,sans-serif}
.gmcr *,.gmcr *::before,.gmcr *::after{box-sizing:border-box}
.gmcr [hidden]{display:none!important}
.gmcr button,.gmcr input,.gmcr select{font:inherit}
.gmcr button{cursor:pointer}
.gmcr :is(button,input,select):focus-visible{outline:2px solid var(--brown);outline-offset:3px}
.gmcr .page-heading{margin:0 0 24px;padding:32px 34px;background:#fff;border-radius:0 0 25px 25px}
.gmcr .eyebrow{margin:0 0 9px;color:var(--brown);font:11px 'Be Vietnam Pro',Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase}
.gmcr h2,.gmcr h3,.gmcr p{margin-top:0}
.gmcr .page-heading h2{margin:0;color:var(--ink);font:normal clamp(38px,4.5vw,60px)/1.14 'Be Vietnam Pro',Georgia,serif;letter-spacing:-1.2px}
.gmcr .page-intro{margin:11px 0 0;color:#58667B;font:15px/1.6 'Be Vietnam Pro',Arial,sans-serif}
.gmcr .content-grid{display:grid;grid-template-columns:minmax(0,1.67fr) minmax(310px,1fr);align-items:start;gap:24px}
.gmcr .card{min-width:0;background:#fff;border-radius:25px}
.gmcr .form-card,.gmcr .aside-card{padding:32px 34px 34px}
.gmcr .card-header{padding-bottom:24px;border-bottom:1px solid var(--line)}
.gmcr .card h2{margin:0;color:var(--ink);font:normal 27px/1.2 'Be Vietnam Pro',Georgia,serif;letter-spacing:-.4px}
.gmcr .card-header p{margin:8px 0 0;color:var(--soft-ink);font:13px/1.5 'Be Vietnam Pro',Arial,sans-serif}
.gmcr .section-title{margin:28px 0 18px;color:var(--ink);font:normal 21px/1.25 'Be Vietnam Pro',Georgia,serif}
.gmcr .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.gmcr .field{min-width:0;display:flex;flex-direction:column;gap:8px}
.gmcr .field.full{grid-column:1/-1}
.gmcr .field label,.gmcr .field-label{color:var(--ink);font:13px 'Be Vietnam Pro',Arial,sans-serif}
.gmcr .field input:not([type=hidden]),.gmcr .field select{width:100%;min-width:0;min-height:46px;height:auto;margin:0;padding:11px 14px;border:1px solid #DDE3E7;border-radius:10px;background-color:#fff;color:var(--ink);font:14px 'Be Vietnam Pro',Arial,sans-serif;transition:border-color .2s;box-shadow:none}
.gmcr .field input::placeholder{color:var(--muted)}
.gmcr .field input:hover,.gmcr .field select:hover{border-color:#B9C1CA}
.gmcr .field input:focus,.gmcr .field select:focus{border-color:var(--brown);outline:2px solid var(--brown);outline-offset:2px}
.gmcr .field select{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236D7485' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;text-overflow:ellipsis;cursor:pointer}
.gmcr .field select:invalid{color:var(--muted)}
/* The site's theme runs jQuery UI selectmenu on every select, hides the native field
   and leaves its generated button disabled when clinics are populated later. Keep
   the reference's native select, not the theme's unrelated selectmenu control. */
.gmcr .field select{display:block!important;width:100%!important;min-height:46px!important;border:1px solid #DDE3E7!important;border-radius:10px!important;background-color:#fff!important;color:var(--ink)!important;box-shadow:none!important;opacity:1!important;visibility:visible!important}
.gmcr .field select:invalid{color:var(--muted)!important}
.gmcr .field .ui-selectmenu-button{display:none!important}
.gmcr .field input:not([type=hidden]){border:1px solid #DDE3E7!important;border-radius:10px!important;box-shadow:none!important}
.gmcr .field :is(input:not([type=hidden]),select):focus{border-color:var(--brown)!important}
.gmcr .form-divider{height:1px;margin:30px 0 0;background:var(--line)}
.gmcr .form-hint{margin:-7px 0 17px;color:var(--soft-ink);font:13px/1.5 'Be Vietnam Pro',Arial,sans-serif}
.gmcr .city-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.gmcr .city-button{min-width:0;min-height:45px;padding:9px 7px;border:1px solid #DDE3E7;border-radius:10px;background:#fff;color:var(--navy);font:14px/1.3 'Be Vietnam Pro',Arial,sans-serif;transition:background .2s,border-color .2s;text-transform:none;letter-spacing:normal;box-shadow:none}
.gmcr .city-button:hover{border-color:var(--brown);background:#fff;color:var(--navy)}
.gmcr .city-button[aria-pressed="true"],.gmcr .city-button[aria-pressed="true"]:hover{border-color:var(--blush);background:var(--blush)}
.gmcr .clinic-field{margin-top:20px}
.gmcr .appointment-fields{margin-top:22px}
.gmcr .submit-row{display:flex;justify-content:flex-end;margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.gmcr .submit-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;width:auto;min-height:54px;padding:12px 25px;border:0;border-radius:10px;background:var(--blush);color:var(--navy);font:17px 'Be Vietnam Pro',Georgia,serif;transition:background .2s,transform .2s;text-transform:none;letter-spacing:normal;box-shadow:none}
.gmcr .submit-button:hover{background:#ECD9D2;color:var(--navy);transform:translateY(-1px)}
.gmcr .submit-button:disabled{opacity:.6;cursor:wait}
.gmcr .submit-button span{color:var(--brown);font:21px 'Be Vietnam Pro',Arial,sans-serif}
.gmcr .aside-card .card-header{padding-bottom:20px}
.gmcr .selection-list{margin:10px 0 0;padding:0;list-style:none}
.gmcr .selection-list li{display:flex;flex-direction:column;gap:4px;padding:17px 0;border-bottom:1px solid var(--line)}
.gmcr .selection-list li:last-child{border-bottom:0;padding-bottom:0}
.gmcr .selection-list small{color:var(--muted);font:12px 'Be Vietnam Pro',Arial,sans-serif}
.gmcr .selection-list strong{overflow-wrap:anywhere;color:var(--navy);font:normal 17px/1.35 'Be Vietnam Pro',Georgia,serif}
.gmcr .selection-list strong.empty{color:var(--soft-ink)}
.gmcr .gmcr-honeypot{position:absolute;left:-9999px;top:-9999px}
.gmcr .gmcr-message{margin-top:18px;padding:13px 16px;border-radius:10px;background:#eaf6ed;color:#285c3b;font:13px/1.5 'Be Vietnam Pro',Arial,sans-serif}
.gmcr .gmcr-message.is-error{background:#fff0eb;color:#923b23}
@media(max-width:1100px){.gmcr .content-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.gmcr .form-card,.gmcr .aside-card{padding-left:27px;padding-right:27px}.gmcr .city-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.gmcr .content-grid{grid-template-columns:1fr}.gmcr{max-width:740px}.gmcr .city-list{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:650px){.gmcr .city-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.gmcr{padding:0 16px 60px}.gmcr .page-heading{margin-bottom:16px;padding:24px 20px;text-align:center}.gmcr .page-intro{font-size:13px}.gmcr .content-grid{gap:16px}.gmcr .form-card,.gmcr .aside-card{padding:24px 22px;border-radius:25px}.gmcr .card-header{padding-bottom:18px}.gmcr .card h2{font-size:24px}.gmcr .field-grid{grid-template-columns:1fr;gap:16px}.gmcr .field.full{grid-column:auto}.gmcr .section-title{margin-top:25px}.gmcr .city-list{grid-template-columns:repeat(2,minmax(0,1fr))}.gmcr .city-button:last-child{grid-column:1/-1}.gmcr .submit-button{width:100%}}
@media(max-width:340px){.gmcr{padding-left:12px;padding-right:12px}.gmcr .form-card,.gmcr .aside-card{padding-left:20px;padding-right:20px}.gmcr .city-button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.gmcr .field input,.gmcr .field select,.gmcr .city-button,.gmcr .submit-button{transition:none}}

/* Same uncluttered, single-card composition as the contact form. */
.gmcr{max-width:100%;padding:32px 24px 90px;font-family:'Be Vietnam Pro',Arial,sans-serif}
.gmcr,.gmcr *{font-family:'Be Vietnam Pro',Arial,sans-serif}
.gmcr .content-grid{display:block}
.gmcr .form-card{width:100%;max-width:850px;margin:0 auto}
.gmcr .card h2{font-size:27px;font-weight:400}
.gmcr .section-title{font-size:21px;font-weight:400}
.gmcr .field-grid{gap:22px 20px}
.gmcr .field{gap:10px}
.gmcr .field label,.gmcr .field-label{font-size:13px;font-weight:600;line-height:1.45;letter-spacing:.01em;color:#29344d}
.gmcr .field input:not([type=hidden]),.gmcr .field select{
  min-height:54px!important;padding:14px 16px;border:1px solid #D9E1E8!important;border-radius:12px!important;
  background-color:#FAFBFC!important;color:#18233C;font-size:14px;font-weight:400;line-height:1.5;
  box-shadow:0 1px 2px rgba(24,35,60,.035)!important;
  transition:background-color .2s,border-color .2s,box-shadow .2s
}
.gmcr .field input::placeholder{color:#919AAA;opacity:1}
.gmcr .field select{padding-right:38px;background-color:#FAFBFC!important;background-position:right 16px center}
.gmcr .field :is(input:not([type=hidden]),select):hover{background-color:#fff!important;border-color:#AFB9C5!important}
.gmcr .field :is(input:not([type=hidden]),select):focus{background-color:#fff!important;border-color:#A6735C!important;outline:none!important;box-shadow:0 0 0 4px rgba(166,115,92,.12),0 2px 8px rgba(24,35,60,.05)!important}
.gmcr .field input[name=full_name]{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238F9AA8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c0-4 3-6 7-6s7 2 7 6'/%3E%3C/svg%3E")}
.gmcr .field input[name=email]{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238F9AA8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6 8.5 7 8.5-7'/%3E%3C/svg%3E")}
.gmcr .field input[name=full_name],.gmcr .field input[name=email]{background-repeat:no-repeat;background-position:right 16px center}
/* An accessible native selector overlays the visible flag and separate dial code. */
.gmcr .phone-control{display:flex;align-items:stretch;width:100%;min-width:0;min-height:54px;border:1px solid #D9E1E8;border-radius:12px;background:#FAFBFC;box-shadow:0 1px 2px rgba(24,35,60,.035);transition:background-color .2s,border-color .2s,box-shadow .2s}
.gmcr .phone-control:hover{background:#fff;border-color:#AFB9C5}
.gmcr .phone-control:focus-within{background:#fff;border-color:#A6735C;box-shadow:0 0 0 4px rgba(166,115,92,.12),0 2px 8px rgba(24,35,60,.05)}
.gmcr .country-picker{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;flex:none;min-width:108px;padding:0 12px;border-right:1px solid #E0E5EB;border-radius:11px 0 0 11px;background:#F2F5F7;color:var(--ink);white-space:nowrap}
.gmcr .country-flag{display:block;flex:none;width:24px;height:24px;border:1px solid #E1E4E8;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 1px 3px rgba(24,35,60,.13)}
.gmcr .country-code{font-size:13px;font-weight:500;pointer-events:none}
.gmcr .country-chevron{width:7px;height:7px;margin:-4px 1px 0 0;border-right:1.5px solid var(--soft-ink);border-bottom:1.5px solid var(--soft-ink);transform:rotate(45deg);pointer-events:none}
.gmcr .country-picker .country-select{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0;padding:0;border:0!important;opacity:0!important;cursor:pointer}
.gmcr .field .phone-control .phone-national{flex:1;width:100%;min-width:0;min-height:52px!important;margin:0;padding:14px 16px;border:0!important;border-radius:0 11px 11px 0!important;background:transparent!important;outline:none!important;box-shadow:none!important}
.gmcr .field .phone-control .phone-national:is(:hover,:focus){border:0!important;background:transparent!important;outline:none!important;box-shadow:none!important}
.gmcr .city-button{border-color:#D9E1E8;border-radius:12px;background:#FAFBFC;min-height:50px}
.gmcr .city-button[aria-pressed=true]{border-color:#DCC6BC}
.gmcr .submit-button{font-size:16px}
@media(max-width:560px){.gmcr{padding:20px 16px 60px}.gmcr .field-grid{gap:18px}.gmcr .country-picker{min-width:100px;padding:0 9px}}
@media(prefers-reduced-motion:reduce){.gmcr .phone-control{transition:none}}
/* Keep the live selection summary next to the form on wider screens. */
.gmcr .content-grid{display:grid;grid-template-columns:minmax(0, 850px) minmax(280px, 360px);align-items:start;gap:24px;max-width:1234px;margin:0 auto}
.gmcr .form-card{max-width:none;margin:0}
.gmcr .aside-card{width:100%}
.gmcr .selection-list strong{font-size:15px;font-weight:500;line-height:1.45}
@media(max-width:900px){.gmcr .content-grid{grid-template-columns:minmax(0,1fr);max-width:850px}.gmcr .aside-card{margin-top:0}}

/* Elementor controls spacing; keep every card unpadded by default. */
.gmcr, .gmcr-contact {padding:0!important;max-width:none;background:transparent}
.gmcr .form-card,.gmcr .aside-card,.gmcr-contact .form-card {padding:0!important}
.gmcr,.gmcr *, .gmcr-contact,.gmcr-contact * {font-family:'Be Vietnam Pro',Arial,sans-serif}
.gmcr .card h2,.gmcr .section-title,.gmcr .submit-button,.gmcr .selection-list strong,
.gmcr-contact .card h2,.gmcr-contact .section-title,.gmcr-contact .submit-button {font-family:'Be Vietnam Pro',Arial,sans-serif}
.gmcr-extra-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;margin-top:24px}
.gmcr-extra-field{min-width:0;grid-column:span 12}
.gmcr-extra-field.gmcr-width-half{grid-column:span 6}
.gmcr .gmcr-extra-field textarea,.gmcr-contact .gmcr-extra-field textarea{min-height:110px;width:100%;padding:14px 16px;border:1px solid #d9e1e8;border-radius:12px;background:#fafbfc;font:inherit;resize:vertical}
.gmcr .gmcr-extra-field select,.gmcr-contact .gmcr-extra-field select{width:100%;min-height:54px;border:1px solid #d9e1e8;border-radius:12px;background:#fafbfc;padding:12px 16px}
.gmcr .gmcr-extra-field input[type=checkbox],.gmcr-contact .gmcr-extra-field input[type=checkbox]{width:22px;min-height:22px;height:22px;margin:4px 0;accent-color:#a6735c}
@media(max-width:900px){.gmcr-extra-field.gmcr-width-half{grid-column:span 12}.gmcr-extra-field.gmcr-tablet-half{grid-column:span 6}}
@media(max-width:600px){.gmcr-extra-field.gmcr-tablet-half{grid-column:span 12}.gmcr-extra-field.gmcr-mobile-half{grid-column:span 6}}

.gmcr-form-only .content-grid{display:block;max-width:none}
.gmcr-form-only .form-card{max-width:none;width:100%}
.gmcr-summary-section .aside-card{width:100%;max-width:none}
@media(max-width:560px){.gmcr .city-button:last-child{grid-column:auto}}
/* iOS Safari otherwise zooms the page when focusing inputs below 16px. */
@media(max-width:900px){
  .gmcr .form-card input:not([type=checkbox]):not([type=hidden]),
  .gmcr .form-card select,
  .gmcr .form-card textarea{font-size:16px!important}
}
