/* Refinements outside the agreed homepage hero. */
:root { --ink-soft:#374852; --shadow:0 4px 18px rgba(16,20,24,.055); }
.section h2,.section h3,.page-hero h1,.cta-band h2 { font-weight:700; }
.section .btn-primary,.cta-band .btn-primary { box-shadow:0 3px 10px rgba(0,130,170,.12); }
.section .lead { color:#374852; }
.section { padding:62px 0; }
.section-head { margin-bottom:30px; }
.sd-page-context { margin-top:14px; color:var(--cyan-dark); font-size:1.12rem; font-weight:600; }
.sd-trust-bar { border-bottom:1px solid #e4ecef; background:#fff; }
.sd-trust-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:23px; padding-bottom:23px; }
.sd-trust-rating { display:flex; align-items:center; gap:12px; flex-wrap:wrap; color:var(--ink); }
.sd-trust-rating>span { color:#007da5; font-size:17px; letter-spacing:2px; }
.sd-trust-rating strong { font-size:16px; }
.sd-trust-rating small { color:#455860; font-size:12px; }
.sd-quick-locations { display:flex; align-items:center; gap:18px; font-size:13px; }
.sd-quick-locations>span { color:#455860; }
.sd-quick-locations a { font-weight:600; border-bottom:1px solid #bcdce7; padding:6px 0; }
.sd-people .team-strip { gap:24px; }
.sd-people .team-card { text-align:left; }
.sd-people .team-card img { aspect-ratio:1/1; border-radius:10px; object-position:center top; }
.sd-people .section-head { max-width:670px; }
.sd-people .t-name { font-size:.88rem; }
.sd-people .t-role { color:#455860; font-size:.76rem; }
.sd-promises { display:flex; justify-content:space-between; gap:24px; padding-top:22px; padding-bottom:22px; margin-bottom:42px; border-top:1px solid #e4ecef; border-bottom:1px solid #e4ecef; }
.sd-promises p { font-size:13px; font-weight:600; color:#374852; }
.sd-promises p::before { content:'✓'; color:#007da5; margin-right:10px; }
.sd-treatment-selection .terapie-grid { grid-template-columns:1fr 1fr; column-gap:48px; row-gap:0; }
.sd-treatment-selection .terapia-card { padding:24px 0; border:0; border-bottom:1px solid #dce5e9; border-radius:0; background:transparent; }
.sd-treatment-selection .terapia-card:hover { transform:none; box-shadow:none; }
.sd-treatment-selection .terapia-card h3 { font-size:1.12rem; color:#172f3b; }
.sd-treatment-selection .terapia-card p { max-width:470px; }
.sd-treatment-selection .terapia-card .more { margin-top:8px; }
.sd-section-link { margin-top:28px; }
.sd-sede-photo { width:100%; height:180px; object-fit:cover; }
.sd-locations .sede-card { border:1px solid #e4ecef; border-radius:14px; box-shadow:none; }
.sd-locations .sede-body { padding:24px; }
.sd-contact-list { display:grid; gap:9px; margin-top:18px; }
.sd-contact-row { display:grid; grid-template-columns:78px minmax(0,1fr); align-items:baseline; gap:10px; font-size:13px; }
.sd-contact-row>span { color:#53616a; font-size:12px; }
.sd-contact-row a { overflow-wrap:anywhere; padding:3px 0; font-weight:600; }
.sd-refined-home .review-card { box-shadow:none; border:1px solid #e5ebee; padding:24px; }
.sd-refined-home .rating-badge { margin-bottom:24px; }
.sd-refined-home .cta-band { padding:36px; }
/* Explicit submenu toggles progressively enhance the existing links. */
.sd-submenu-toggle { display:none; }
.nav-toggle:focus-visible,.sd-submenu-toggle:focus-visible { outline:3px solid var(--cyan-dark); outline-offset:3px; }
@media(max-width:960px) {
 .sd-nav-ready .main-nav .has-dropdown { display:grid; grid-template-columns:1fr 44px; align-items:center; }
 .sd-nav-ready .main-nav .has-dropdown>a { min-height:44px; }
 .sd-nav-ready .sd-submenu-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:0; border-radius:8px; background:var(--cyan-soft); color:var(--cyan-dark); font-size:23px; cursor:pointer; }
 .sd-nav-ready .has-dropdown .dropdown { grid-column:1/-1; display:none; padding:4px 0 8px 14px; }
 .sd-nav-ready .has-dropdown.is-expanded .dropdown { display:block; }
 .sd-nav-ready .main-nav { gap:8px; }
 .sd-nav-ready .main-nav > a { min-height:44px; }
 .sd-trust-inner { flex-direction:column; align-items:flex-start; gap:12px; }
 .sd-promises { flex-wrap:wrap; gap:12px 24px; }
}
@media(max-width:700px) {
 .section { padding:40px 0; }
 .section-head { margin-bottom:23px; }
 .sd-trust-inner { padding-top:18px; padding-bottom:18px; gap:14px; }
 .sd-trust-rating { gap:8px 10px; }
 .sd-trust-rating small { font-size:11px; }
 .sd-quick-locations { width:100%; gap:16px; }
 .sd-people .team-strip { gap:22px 14px; }
 .sd-people .t-name { font-size:12px; line-height:1.45; }
 .sd-people .t-role { font-size:11px; line-height:1.45; margin-top:4px; }
 .sd-people .team-card img { margin-bottom:9px; }
 .sd-promises { display:grid; margin:0 20px 28px; padding:18px 0; gap:10px; }
 .sd-promises p { font-size:12px; }
 .sd-treatment-selection .terapie-grid { grid-template-columns:1fr; }
 .sd-treatment-selection .terapia-card { padding:18px 0; }
 .sd-treatment-selection .terapia-card h3 { font-size:1.04rem; }
 .sd-sede-photo { height:150px; }
 .sd-locations .sede-body { padding:20px; }
 .sd-contact-row { grid-template-columns:64px minmax(0,1fr); gap:8px; }
 .sd-contact-row a { padding:7px 0; }
 .sd-refined-home .cta-band { padding:28px 22px; }
 .sd-page-context { font-size:1rem; margin-top:12px; }
 .sd-nav-ready .main-nav { top:68px; max-height:calc(100dvh - 68px); }
}
@media(min-width:521px) and (max-width:960px) { .sd-nav-ready .main-nav { top:76px; max-height:calc(100dvh - 76px); } }

section[id] { scroll-margin-top:92px; }

/* Compact maps replace the temporary practice photographs on the homepage. */
.sd-locations .sede-map { display:block; width:100%; height:200px; aspect-ratio:auto; border:0; }
@media(max-width:700px) { .sd-locations .sede-map { height:180px; } }

/* Preserve the full composition of the new treatment photographs. */
.treatment-img-updated { aspect-ratio:auto; height:auto; }

/* Footer 2.0: clearer contacts and legal links, with unchanged content. */
.site-footer { background:#08394e; color:#e0edf2; margin-top:62px; padding:52px 0 32px; }
.site-footer a { color:#e0edf2; }
.site-footer h4 { font-weight:600; letter-spacing:.06em; }
.site-footer .footer-claim { line-height:1.7; }
.site-footer .footer-sede p { line-height:1.75; }
.site-footer .footer-sede a { display:inline-block; padding:5px 0; }
.site-footer a:focus-visible { outline:2px solid var(--cyan); outline-offset:4px; border-radius:2px; }
.site-footer .footer-bottom { opacity:1; color:#c8dce5; padding-right:76px; align-items:center; }
.site-footer .footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:700px) {
  .site-footer { margin-top:40px; padding:36px 0 28px; }
  .site-footer .footer-grid { gap:26px 16px; }
  .site-footer .footer-claim { max-width:42ch; }
  .site-footer .social-btn { width:44px; height:44px; }
  .site-footer .footer-sede a { min-height:44px; display:inline-flex; align-items:center; padding:4px 0; }
  .site-footer .footer-links { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
  .site-footer .footer-links a { display:flex; align-items:center; min-height:44px; padding:5px 0; }
  .site-footer .footer-bottom { padding-right:0; padding-bottom:52px; gap:8px; }
}

/* Touch refinements from the live site; preserve the 2.0 layout. */
.btn, .wa-fab { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
@media (hover:none), (pointer:coarse) {
  .btn-primary:hover, .btn-light:hover, .terapia-card:hover,
  .terapia-card:hover .terapia-icon, .team-card:hover img,
  .social-btn:hover, .wa-fab:hover { transform:none; }
  .btn:active, .wa-fab:active { transform:scale(.97); transition-delay:80ms; }
  .btn, .wa-fab { transition-delay:0ms; }
}
@media (prefers-reduced-motion:reduce) {
  .btn:active, .wa-fab:active { transform:none; transition-delay:0ms; }
}

/* Priority fixes from the design audit. */
.btn-primary { background:#007da5; box-shadow:0 3px 12px rgba(0,107,158,.18); }
.btn-primary:hover { background:#006b8e; }
@media (max-width:700px) {
  .sd-treatment-selection .terapia-card { display:block; }
  .sd-treatment-selection .terapia-card h3 { margin-bottom:8px; }
  .sd-treatment-selection .terapia-card .more { display:inline-block; }
  .sd-people .t-name { font-size:14px; line-height:1.45; }
  .sd-people .t-role { font-size:13px; line-height:1.5; }
}
@media (max-width:520px) {
  .site-header .container { padding-left:12px; padding-right:12px; gap:8px; }
  .site-header .logo { flex:1 1 auto; min-width:0; }
  .site-header .logo img { width:100%; height:auto; max-width:170px; }
  .site-header .btn.header-cta { padding:10px; font-size:12px; min-height:44px; }
  .site-header .nav-toggle { flex:0 0 44px; width:44px; height:44px; padding:0; }
}

/* Interior pages: pair the existing photograph with the introduction. */
.sd-treatment-opening { padding:48px 0; }
.sd-treatment-opening-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.sd-treatment-copy h1 { font-size:clamp(30px,3.1vw,46px); line-height:1.12; }
.sd-treatment-visual .treatment-img { display:block; max-width:none; width:100%; height:auto; aspect-ratio:auto; margin:0; box-shadow:none; border-radius:12px; }
.sd-treatment-page .prose { margin-left:auto; margin-right:auto; }
.sd-treatment-page .prose>h2:first-child { margin-top:0; }
.sd-treatment-page .prose h2 { padding-top:24px; border-top:1px solid #e4ecef; margin-top:32px; margin-bottom:14px; font-size:1.55rem; }
.sd-treatment-page .prose>h2:first-child { border-top:0; padding-top:0; }
.sd-treatment-page .prose p,.sd-treatment-page .prose li { line-height:1.75; }
.sd-inner-page .page-hero { padding-top:38px; padding-bottom:38px; }
.sd-inner-page .page-hero .eyebrow,.sd-treatment-opening .eyebrow { background:none; border-radius:0; padding:0; }
.sd-inner-page .team-card .t-role { line-height:1.6; }
@media (max-width:700px) {
 .sd-treatment-opening { padding:28px 0 24px; }
 .sd-treatment-opening-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .sd-treatment-copy h1 { font-size:2rem; }
 .sd-treatment-page .prose h2 { font-size:1.3rem; margin-top:28px; padding-top:22px; }
 .sd-inner-page .page-hero { padding-top:28px; padding-bottom:26px; }
}

/* Mobile contact actions: replace the floating WhatsApp button. */
.sd-mobile-actions { display:none; }
.sd-call-dialog { border:0; border-radius:18px; padding:24px; width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow-y:auto; color:var(--ink); box-shadow:0 12px 44px rgba(3,46,67,.22); }
.sd-call-dialog::backdrop { background:rgba(3,31,44,.5); }
.sd-call-open { overflow:hidden; }
.sd-call-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.sd-call-heading h2 { font-size:1.3rem; margin:0; }
.sd-call-close { flex-shrink:0; width:44px; height:44px; border:0; background:#eef6f9; color:#06425f; border-radius:50%; font:28px 'Montserrat',sans-serif; cursor:pointer; }
.sd-call-practice { padding:20px 0 4px; }
.sd-call-practice + .sd-call-practice { border-top:1px solid #dce5e9; margin-top:14px; }
.sd-call-practice h3 { font-size:1.1rem; margin:0 0 5px; }
.sd-call-practice p { font-size:13px; color:#455860; margin-bottom:8px; }
.sd-call-number { display:flex; align-items:center; min-height:48px; font-weight:700; font-size:18px; color:#006b8e; }
.sd-call-whatsapp { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-decoration:underline; color:#455860; }
.sd-emergency-actions { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding-top:20px; }
.sd-emergency-actions .btn { width:100%; }
.sd-emergency-actions p { font-size:13px; margin-top:8px; color:#455860; }
.sd-dialog-trigger:focus-visible,.sd-call-dialog a:focus-visible,.sd-call-close:focus-visible { outline:3px solid #007da5; outline-offset:3px; }
@media(max-width:700px) {
 .sd-contact-ready body { padding-bottom:calc(73px + env(safe-area-inset-bottom,0px)); }
 .sd-contact-ready .sd-mobile-actions { display:grid; grid-template-columns:75px 88px minmax(0,1fr); align-items:center; gap:5px; position:fixed; z-index:110; bottom:0; left:0; right:0; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid #e2eaed; box-shadow:none; }
 .sd-mobile-actions .sd-action { box-sizing:border-box; min-width:0; height:52px; min-height:52px; border:0; background:transparent; color:#214553; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:5px 2px; font:600 11px/1.25 'Montserrat',sans-serif; text-decoration:none; white-space:nowrap; box-shadow:none; }
 .sd-mobile-actions .sd-action-icon { width:21px; height:21px; flex-shrink:0; }
 .sd-mobile-actions .sd-action-whatsapp .sd-action-icon { fill:#168453; }
 .sd-mobile-actions .sd-action.sd-action-booking,
 .sd-mobile-actions .sd-action.sd-action-booking:visited {
  display:flex; flex-direction:row; align-items:center; justify-content:center; gap:6px;
  height:52px; min-height:52px; padding:0 10px; border:0; border-radius:28px;
  background:#008ca9; color:#fff; font:600 12px/1.25 'Montserrat',sans-serif; box-shadow:none; text-decoration:none;
 }
 .sd-mobile-actions .sd-action.sd-action-booking:hover,
 .sd-mobile-actions .sd-action.sd-action-booking:active { background:#008ca9; color:#fff; box-shadow:none; transform:none; }
 .sd-mobile-actions .sd-action.sd-action-booking:focus-visible { outline:3px solid #007da5; outline-offset:2px; }
 .sd-mobile-actions .sd-action-booking .sd-action-icon { width:17px; height:17px; color:inherit; }
 .sd-contact-ready .wa-fab-wrap { display:none; }
 .sd-contact-ready .site-footer .footer-bottom { padding-bottom:0; }
 .sd-contact-ready .sd-nav-ready .main-nav { max-height:calc(100dvh - 150px - env(safe-area-inset-bottom,0px)); }
 .sd-contact-ready .main-nav { max-height:calc(100dvh - 150px - env(safe-area-inset-bottom,0px)); }
 .sd-call-dialog { margin:auto auto 12px; padding:20px; }
 .sd-emergency-actions { gap:12px; }
 .sd-emergency-actions .btn { padding:12px 8px; font-size:13px; min-height:48px; }
}
@media(max-width:349px) {
 .sd-contact-ready .sd-mobile-actions { grid-template-columns:64px 78px minmax(0,1fr); gap:3px; padding-left:8px; padding-right:8px; }
 .sd-mobile-actions .sd-action.sd-action-booking { font-size:11px; padding:0 5px; }
 .sd-mobile-actions .sd-action-booking .sd-action-icon { display:none; }
}

/* The fixed mobile action bar provides booking access without a duplicate header CTA. */
@media (max-width:700px) {
  .sd-contact-ready .site-header .header-cta { display:none; }
}

/* Minimal disclosure chevrons; retain a comfortable touch target. */
@media (max-width:960px) {
 .sd-nav-ready .sd-submenu-toggle { background:transparent; border-radius:0; color:#274651; }
 .sd-submenu-toggle::before { content:''; display:block; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .18s ease; }
 .sd-submenu-toggle[aria-expanded="true"]::before { transform:translateY(2px) rotate(225deg); }
}
@media (prefers-reduced-motion:reduce) { .sd-submenu-toggle::before { transition:none; } }
