/* Contact page — premium appointment experience */
.zogana-contact-page { --contact-cream:#f7f5ef; --contact-paper:#fffefa; --contact-forest:#24473f; --contact-deep:#17352f; --contact-sage:#a9b99a; --contact-pale:#e6ebe0; --contact-gold:#cbbf9e; --contact-text:#4e5e59; margin:0 !important; }
.zogana-contact-page :where(.contact-hero-grid,.urgent-inner,.contact-main-grid,.contact-map-grid,.process-grid,.visit-cta-inner,.privacy-note-inner) { margin-block:0; }
.zogana-contact-page :where(.contact-hero-panel,.contact-orbits,.panel-location,.contact-methods,.contact-method,.contact-form-shell,.contact-map-frame,.map-address-card) { margin-block:0; }

.zogana-contact-page .contact-hero { overflow:hidden; margin:0; padding:clamp(75px,8vw,110px) 0; background:var(--contact-cream); }
.zogana-contact-page .contact-hero-grid { display:grid; grid-template-columns:1fr .82fr; align-items:center; gap:clamp(70px,10vw,150px); }
.zogana-contact-page .contact-hero-copy h1 { max-width:730px; margin-bottom:0; font-size:clamp(62px,7vw,98px); }
.zogana-contact-page .contact-hero-copy > p:not(.eyebrow) { max-width:650px; margin:33px 0 38px; color:var(--contact-text); font-size:18px; line-height:1.75; }
.zogana-contact-page .contact-hero-actions { display:flex; align-items:center; gap:30px; }
.zogana-contact-page .contact-hero-actions .wp-block-button { margin:0; }
.zogana-contact-page .contact-hero-panel { position:relative; overflow:hidden; min-height:570px; padding:64px 56px 46px; background:var(--contact-forest); color:#fff; box-shadow:var(--zogana-shadow); }
.zogana-contact-page .contact-orbits { position:absolute; right:-125px; top:-120px; width:390px; height:390px; border:1px solid rgba(255,255,255,.12); border-radius:50%; animation:contact-orbit 16s linear infinite; }
.zogana-contact-page .contact-orbits::before,.zogana-contact-page .contact-orbits::after,.zogana-contact-page .contact-orbits > p { content:""; position:absolute; inset:42px; margin:0; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.zogana-contact-page .contact-orbits::before { animation:contact-orbit-middle 9s ease-in-out infinite -2.4s; }
.zogana-contact-page .contact-orbits::after { inset:92px; animation:contact-orbit-middle 7s ease-in-out infinite reverse -1.2s; }
.zogana-contact-page .contact-orbits > p { inset:142px; border:0; background:var(--contact-sage); box-shadow:0 0 34px rgba(169,185,154,.38); animation:contact-orbit-core 4.8s ease-in-out infinite -1.7s; }
.zogana-contact-page .panel-label { position:relative; margin:0 0 86px; color:var(--contact-gold); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.zogana-contact-page .panel-contact { position:relative; margin:0; border-top:1px solid rgba(255,255,255,.15); }
.zogana-contact-page .panel-contact a { display:grid; grid-template-columns:1fr auto; padding:19px 0; color:#fff; }
.zogana-contact-page .panel-contact small,.zogana-contact-page .panel-location small { grid-column:1/-1; display:block; color:#c0ccc8; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.zogana-contact-page .panel-contact strong,.zogana-contact-page .panel-location strong { color:#fff; font-family:var(--wp--preset--font-family--serif,Georgia,serif); font-size:27px; font-weight:400; }
.zogana-contact-page .panel-contact span { font-size:22px; transition:transform .25s ease; }
.zogana-contact-page .panel-contact a:hover span { transform:translate(3px,-3px); }
.zogana-contact-page .panel-location { position:relative; padding:19px 0; border-top:1px solid rgba(255,255,255,.15); }
.zogana-contact-page .panel-location p { margin:0; }
.zogana-contact-page .panel-doctor { position:relative; margin:35px 0 0; color:#ecf1ef; font-family:var(--wp--preset--font-family--serif,Georgia,serif); font-size:18px; }
.zogana-contact-page .panel-doctor span { color:#aebdb8; font-family:var(--wp--preset--font-family--sans,sans-serif); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }

.zogana-contact-page .urgent-notice { margin:0; background:#dfe5d8; }
.zogana-contact-page .urgent-inner { display:grid; grid-template-columns:62px .9fr 1.1fr; align-items:center; gap:32px; min-height:170px; padding-block:30px; }
.zogana-contact-page .urgent-mark { display:grid; place-items:center; width:52px; height:52px; margin:0; border:1px solid var(--contact-forest); border-radius:50%; font-family:var(--wp--preset--font-family--serif,Georgia,serif); font-size:27px; }
.zogana-contact-page .urgent-inner > div:nth-child(2) p { margin:0 0 4px; color:#718079; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.zogana-contact-page .urgent-inner h2 { margin:0; font-size:28px; letter-spacing:-.025em; line-height:1.2; }
.zogana-contact-page .urgent-inner > p:last-child { margin:0; padding-left:32px; border-left:1px solid rgba(24,51,45,.18); color:var(--contact-text); font-size:13px; }

.zogana-contact-page .contact-main { margin:0; background:var(--contact-paper); }
.zogana-contact-page .contact-main-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:clamp(70px,10vw,145px); }
.zogana-contact-page .contact-details { position:sticky; top:40px; }
.zogana-contact-page .contact-details h2 { max-width:560px; margin-bottom:0; }
.zogana-contact-page .contact-details-lead { max-width:590px; margin:28px 0 37px; color:var(--contact-text); }
.zogana-contact-page .contact-methods { border-top:1px solid var(--zogana-line); }
.zogana-contact-page .contact-method { display:grid; grid-template-columns:28px 46px minmax(0,1fr) auto; align-items:center; gap:15px; min-height:104px; padding:16px 0; border-bottom:1px solid var(--zogana-line); transition:padding .3s ease; }
.zogana-contact-page .contact-method:hover { padding-left:10px; }
.zogana-contact-page .contact-method p { margin:0; }
.zogana-contact-page .method-index { color:#5f7358; font-size:12px; letter-spacing:.14em; }
.zogana-contact-page .contact-method-icon { position:relative; width:38px; height:38px; border:1px solid rgba(36,71,63,.3); border-radius:50%; color:var(--contact-forest); transition:border-color .25s ease,background-color .25s ease,transform .25s ease; }
.zogana-contact-page .contact-method:hover .contact-method-icon { border-color:rgba(36,71,63,.55); background:rgba(169,185,154,.13); transform:translateY(-1px); }
.zogana-contact-page .contact-method-icon::before { content:""; position:absolute; inset:8px; background-position:center; background-repeat:no-repeat; background-size:contain; }
.zogana-contact-page .icon-phone::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324473f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.8a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.33 1.84.56 2.8.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.zogana-contact-page .icon-email::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324473f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='1.8'/%3E%3Cpath d='m3.5 6 8.5 6 8.5-6'/%3E%3C/svg%3E"); }
.zogana-contact-page .icon-location::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324473f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.zogana-contact-page .icon-whatsapp::before { inset:9px; background-image:url("../icons/whatsapp.svg"); }
.zogana-contact-page .icon-viber::before { inset:9px; background-image:url("../icons/viber.svg"); }
.zogana-contact-page .contact-method small { display:block; color:#5f706a; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.zogana-contact-page .contact-method strong { display:block; color:var(--contact-forest); font-family:var(--wp--preset--font-family--serif,Georgia,serif); font-size:22px; font-weight:400; line-height:1.25; }
.zogana-contact-page .contact-method div span { display:block; color:var(--contact-text); font-size: 12px; }
.zogana-contact-page .method-arrow { font-size:21px; }

.zogana-contact-page .contact-form-shell > .wp-block-shortcode { margin:0; }
.zogana-contact-page .contact-form { position:relative; margin:0; padding:48px; border:1px solid var(--zogana-line); background:var(--contact-cream); }
.zogana-contact-page .contact-form-heading { margin-bottom:33px; }
.zogana-contact-page .contact-form-heading p { margin:0 0 5px; color:#5f706a; font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.zogana-contact-page .contact-form-heading h2 { margin:0; font-size:clamp(35px,3.5vw,47px); line-height:1.08; }
.zogana-contact-page .contact-form-heading span { display:block; margin-top:10px; color:#5f706a; font-size:12px; }
.zogana-contact-page .contact-form label { display:flex; flex-direction:column; margin-bottom:20px; color:#586b64; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.zogana-contact-page .contact-form input:not([type="checkbox"]),.zogana-contact-page .contact-form select,.zogana-contact-page .contact-form textarea { width:100%; padding:11px 0; border:0; border-bottom:1px solid var(--zogana-line); border-radius:0; outline:none; background:transparent; color:#18332d; font-size:14px; letter-spacing:0; text-transform:none; transition:border-color .2s; }
.zogana-contact-page .contact-form select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#18332d 50%),linear-gradient(135deg,#18332d 50%,transparent 50%); background-position:calc(100% - 8px) 55%,calc(100% - 3px) 55%; background-repeat:no-repeat; background-size:5px 5px; }
.zogana-contact-page .contact-form label:focus-within { color:var(--contact-deep); }
.zogana-contact-page .contact-form input:focus,.zogana-contact-page .contact-form select:focus,.zogana-contact-page .contact-form textarea:focus { border-color:#547a6f; }
.zogana-contact-page .contact-form input:focus-visible,.zogana-contact-page .contact-form select:focus-visible,.zogana-contact-page .contact-form textarea:focus-visible { outline:3px solid #547a6f; outline-offset:4px; box-shadow:0 0 0 6px rgba(84,122,111,.13); }
.zogana-contact-page .contact-form .consent input:focus-visible,.zogana-contact-page .contact-form .button:focus-visible { outline:3px solid #547a6f; outline-offset:4px; box-shadow:0 0 0 6px rgba(84,122,111,.13); }
.zogana-contact-page .contact-form textarea { min-height:135px; resize:vertical; }
.zogana-contact-page .form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.zogana-contact-page .form-safety-note { margin:2px 0 23px; padding:14px 16px; border-left:2px solid var(--contact-sage); background:rgba(169,185,154,.14); color:var(--contact-text); font-size: 12px; line-height:1.55; }
.zogana-contact-page .form-safety-note strong { color:#18332d; }
.zogana-contact-page .contact-form .consent { display:grid; grid-template-columns:17px minmax(0,1fr); gap:11px; align-items:start; color:#586b64; font-size:12px; font-weight:400; letter-spacing:0; line-height:1.55; text-transform:none; }
.zogana-contact-page .contact-form .consent input { width:15px; height:15px; margin:2px 0 0; accent-color:var(--contact-forest); }
.zogana-contact-page .contact-form .consent a { color:var(--contact-forest); text-decoration:underline; text-underline-offset:2px; }
.zogana-contact-page .contact-turnstile { margin:0 0 22px; }
.zogana-contact-page .contact-turnstile p { margin:7px 0 0; color:#5f706a; font-size:12px; line-height:1.45; }
.zogana-contact-page .contact-form .button { border:0; cursor:pointer; }
.zogana-contact-page .contact-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.zogana-contact-page .contact-form-message { margin:0 0 24px; padding:15px 17px; border-left:2px solid var(--contact-sage); background:#e6ebe0; color:#18332d; font-size:13px; }
.zogana-contact-page .contact-form-message.is-error { border-color:#9a675c; background:#f2e6e2; }

.zogana-contact-page .contact-map-section { margin:0; padding:clamp(95px,9vw,135px) 0; overflow:hidden; color:#fff; background:var(--contact-deep); }
.zogana-contact-page .contact-map-grid { display:grid; grid-template-columns:.64fr 1.36fr; align-items:center; gap:clamp(65px,8vw,120px); }
.zogana-contact-page .contact-map-copy h2 { margin-bottom:26px; color:#fff; font-size:clamp(44px,4.5vw,63px); }
.zogana-contact-page .contact-map-copy > p:not(.eyebrow):not(.map-attribution-note) { color:#bdcac6; }
.zogana-contact-page .contact-map-copy .wp-block-buttons { margin-top:34px; }
.zogana-contact-page .contact-map-copy .is-style-outline .wp-block-button__link { border-color:rgba(255,255,255,.55); color:#fff; }
.zogana-contact-page .map-attribution-note { margin:18px 0 0; color:#b6c5c0; font-size:12px; }
.zogana-contact-page .contact-map-frame { position:relative; min-width:0; height:610px; }
.zogana-contact-page .contact-map-frame::before { content:""; position:absolute; inset:-18px 30px 30px -18px; border:1px solid rgba(203,191,158,.48); pointer-events:none; }
.zogana-contact-page .contact-map-frame > .wp-block-html { position:relative; height:100%; margin:0; overflow:hidden; background:#dce3da; }
.zogana-contact-page .contact-map-frame iframe { display:block; width:100%; height:100%; border:0; filter:saturate(.6) sepia(.12) contrast(.92); }
.zogana-contact-page .map-address-card { position:absolute; left:-34px; bottom:30px; z-index:2; min-width:260px; padding:21px 25px; color:#18332d; background:var(--contact-paper); box-shadow:0 18px 48px rgba(6,31,26,.18); }
.zogana-contact-page .map-address-card p { margin:0; color:#74847e; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.zogana-contact-page .map-address-card h3 { margin:3px 0; font-size:27px; }
.zogana-contact-page .map-address-card p:last-child { font-size:12px; letter-spacing:.05em; }
.zogana-contact-page .map-focus-orbit { position:absolute; right:-42px; top:56px; z-index:2; width:135px; height:135px; margin:0; border:1px solid rgba(255,255,255,.74); border-radius:50%; box-shadow:0 0 0 16px rgba(255,255,255,.07),inset 0 0 0 31px rgba(36,71,63,.13); pointer-events:none; animation:map-orbit 5s ease-in-out infinite; }
.zogana-contact-page .map-focus-orbit::before,.zogana-contact-page .map-focus-orbit::after { content:""; position:absolute; border-radius:50%; }
.zogana-contact-page .map-focus-orbit::before { inset:32px; border:1px solid var(--contact-gold); animation:map-orbit-middle 6.5s ease-in-out infinite -1.5s; }
.zogana-contact-page .map-focus-orbit::after { inset:51px; background:var(--contact-sage); box-shadow:0 0 28px rgba(169,185,154,.75); animation:map-orbit-core 3.8s ease-in-out infinite -1s; }

.zogana-contact-page .contact-process { margin:0; padding:110px 0; color:#fff; background:var(--contact-forest); }
.zogana-contact-page .process-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(65px,10vw,150px); align-items:start; }
.zogana-contact-page .process-heading h2 { max-width:560px; margin:0; color:#fff; font-size:clamp(44px,4.5vw,64px); }
.zogana-contact-page .process-steps { margin:0; padding:0; border-top:1px solid rgba(255,255,255,.15); list-style:none; }
.zogana-contact-page .process-steps li { display:grid; grid-template-columns:52px 1fr; gap:22px; padding:30px 0; border-bottom:1px solid rgba(255,255,255,.15); }
.zogana-contact-page .process-steps > li > span { color:var(--contact-gold); font-size:12px; letter-spacing:.14em; }
.zogana-contact-page .process-steps h3 { margin:-4px 0 5px; color:#fff; font-size:27px; }
.zogana-contact-page .process-steps p { margin:0; color:#b9c8c3; font-size:13px; }

.zogana-contact-page .contact-visit-cta { margin:0; padding:105px 0; background:var(--contact-pale); }
.zogana-contact-page .visit-cta-inner { display:grid; grid-template-columns:1fr auto; align-items:end; gap:70px; }
.zogana-contact-page .visit-cta-inner h2 { margin-bottom:0; font-size:clamp(45px,5vw,68px); }
.zogana-contact-page .visit-cta-inner > div:first-child > p:last-child { max-width:700px; margin:25px 0 0; color:var(--contact-text); }
.zogana-contact-page .visit-cta-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; min-width:235px; }
.zogana-contact-page .visit-cta-actions .wp-block-button { width:100%; margin:0; }
.zogana-contact-page .visit-cta-actions .wp-block-button__link { width:100%; text-align:center; }
.zogana-contact-page .visit-call .wp-block-button__link { border-color:var(--contact-forest); color:var(--contact-forest); }
.zogana-contact-page .visit-call .wp-block-button__link:hover { color:#fff; }

.zogana-contact-page .privacy-note { margin:0; padding:30px 0; border-top:1px solid var(--zogana-line); background:var(--contact-cream); }
.zogana-contact-page .privacy-note-inner { display:grid; grid-template-columns:190px 1fr; gap:40px; align-items:start; }
.zogana-contact-page .privacy-note h2 { margin:0; font-family:var(--wp--preset--font-family--sans,sans-serif); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.zogana-contact-page .privacy-note p { max-width:850px; margin:0; color:#5f706a; font-size:12px; }

.zogana-contact-page .contact-map-copy .eyebrow.light,.zogana-contact-page .process-heading .eyebrow.light { color:#c2cfcb; }

@keyframes contact-orbit { to { transform:rotate(360deg); } }
@keyframes contact-orbit-middle { 0%,100% { transform:scale(.96); opacity:.58; } 50% { transform:scale(1.045); opacity:1; } }
@keyframes contact-orbit-core { 0%,100% { transform:scale(.86); opacity:.54; } 50% { transform:scale(1.08); opacity:.95; } }
@keyframes map-orbit { 0%,100% { transform:scale(.96); opacity:.8; } 50% { transform:scale(1.04); opacity:1; } }
@keyframes map-orbit-middle { 0%,100% { transform:scale(.94); opacity:.68; } 50% { transform:scale(1.07); opacity:1; } }
@keyframes map-orbit-core { 0%,100% { transform:scale(.82); opacity:.65; } 50% { transform:scale(1.12); opacity:1; } }

@media (max-width:980px) {
  .zogana-contact-page .contact-hero-grid,.zogana-contact-page .contact-main-grid,.zogana-contact-page .contact-map-grid,.zogana-contact-page .process-grid { grid-template-columns:1fr; }
  .zogana-contact-page .contact-hero-panel { min-height:520px; }
  .zogana-contact-page .urgent-inner { grid-template-columns:52px 1fr; }
  .zogana-contact-page .urgent-inner > p:last-child { grid-column:2; padding:0; border-left:0; }
  .zogana-contact-page .contact-details { position:static; }
  .zogana-contact-page .contact-map-copy { max-width:720px; }
  .zogana-contact-page .contact-map-frame { width:calc(100% - 22px); }
}
@media (max-width:700px) {
  .zogana-contact-page .contact-hero { padding:70px 0; }
  .zogana-contact-page .contact-hero-copy h1 { font-size:clamp(52px,15vw,72px); }
  .zogana-contact-page .contact-hero-copy > p:not(.eyebrow) { font-size:16px; }
  .zogana-contact-page .contact-hero-actions { align-items:flex-start; flex-direction:column; gap:23px; }
  .zogana-contact-page .contact-hero-panel { min-height:auto; padding:46px 26px 34px; }
  .zogana-contact-page .panel-label { margin-bottom:75px; }
  .zogana-contact-page .panel-contact strong,.zogana-contact-page .panel-location strong { font-size:22px; }
  .zogana-contact-page .urgent-inner { grid-template-columns:42px 1fr; gap:20px; padding-block:26px; }
  .zogana-contact-page .urgent-mark { width:40px; height:40px; }
  .zogana-contact-page .urgent-inner h2 { font-size:23px; }
  .zogana-contact-page .urgent-inner > p:last-child { grid-column:1/-1; }
  .zogana-contact-page .contact-method { grid-template-columns:25px 38px minmax(0,1fr) auto; gap:10px; }
  .zogana-contact-page .contact-method strong { font-size:19px; overflow-wrap:anywhere; }
  .zogana-contact-page .contact-form { padding:33px 22px; }
  .zogana-contact-page .form-row { grid-template-columns:1fr; gap:0; }
  .zogana-contact-page .contact-map-frame { height:480px; }
  .zogana-contact-page .map-address-card { left:-10px; bottom:22px; min-width:230px; }
  .zogana-contact-page .map-focus-orbit { right:-20px; width:100px; height:100px; }
  .zogana-contact-page .map-focus-orbit::before { inset:24px; }
  .zogana-contact-page .map-focus-orbit::after { inset:39px; }
  .zogana-contact-page .process-grid { gap:45px; }
  .zogana-contact-page .visit-cta-inner { grid-template-columns:minmax(0,1fr); gap:35px; }
  .zogana-contact-page .visit-cta-inner > * { min-width:0; }
  .zogana-contact-page .visit-cta-actions { min-width:0; }
  .zogana-contact-page .privacy-note-inner { grid-template-columns:1fr; gap:8px; }
}
@media (max-width:480px) {
  .zogana-contact-page .contact-method { grid-template-columns:24px minmax(0,1fr) auto; }
  .zogana-contact-page .contact-method-icon { display:none; }
  .zogana-contact-page .contact-map-frame { height:430px; }
  .zogana-contact-page .visit-cta-inner h2 { font-size:clamp(38px,12vw,45px); }
}
@media (prefers-reduced-motion:reduce) {
  .zogana-contact-page .contact-orbits,.zogana-contact-page .contact-orbits::before,.zogana-contact-page .contact-orbits::after,.zogana-contact-page .contact-orbits > p,.zogana-contact-page .map-focus-orbit,.zogana-contact-page .map-focus-orbit::before,.zogana-contact-page .map-focus-orbit::after { animation:none; }
}
