/*
Theme Name: PREVIT Design
Description: Visual changes for PREVIT, based on the stable PREVIT theme.
Template: previt
Version: 0.2.10
Requires PHP: 8.1
Text Domain: previt-child
*/

/* Manrope Variable 5.3.0, bundled locally under the Open Font License. */
@font-face{font-family:"Manrope PREVIT";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/manrope-cyrillic-ext-wght-normal.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Manrope PREVIT";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/manrope-cyrillic-wght-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope PREVIT";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/manrope-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope PREVIT";font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/fonts/manrope-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--ink:#18312e;--muted:#526965;--brand:#17776e;--brand-deep:#10534d;--page:#f6f8f6;--line:#d9e5df;--radius:16px;--shadow:0 12px 36px rgba(20,52,46,.075)}
body{font-family:"Manrope PREVIT",Arial,sans-serif;line-height:1.6}
button,input,select,textarea{font-family:inherit}
h1,h2,h3{letter-spacing:-.035em}
h1{line-height:1.08}
h2{line-height:1.14}
::selection{background:#b9e3d7;color:#123d38}
a{text-decoration-thickness:1px;text-underline-offset:.23em}
:focus-visible{outline-color:#a75b08;outline-offset:3px}
.btn{border-radius:12px;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.btn:active{transform:translateY(0)}
.site-header{box-shadow:0 3px 20px rgba(17,57,50,.035)}
.nav a{font-size:.94rem}
.nav a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.45em}
.header-contacts{flex:0 0 auto;max-width:none;white-space:nowrap;font-size:.82rem;line-height:1.25}
.header-contacts a{display:inline-block;margin-top:4px;font-size:1.08rem;line-height:1.2;font-weight:750;font-variant-numeric:tabular-nums}

/* Homepage: give the decision and the clinic illustration one clear stage. */
.hero{background:linear-gradient(112deg,#e6f2ec 0%,#eff5f0 63%,#f8e9df 100%)}
.hero-grid{min-height:560px;grid-template-columns:minmax(0,1fr) minmax(380px,.95fr)}
.hero-copy{padding:58px 0 66px}
.hero-copy h1{font-size:clamp(3rem,4.8vw,4.8rem);max-width:16ch;margin-bottom:21px}
.hero-copy .hero-title-original{font-size:clamp(2.55rem,4vw,4rem);max-width:22ch;line-height:1.12}
.hero-copy p{font-size:1.06rem;max-width:47ch;color:#365b54}
.hero-art img{max-height:540px}
.hero-art::before{background:#b9dfd2}
.hero-actions{margin-top:28px}
.section{padding:76px 0}
.section-tight{padding:42px 0 76px}
.section-head{margin-bottom:28px}
.section-head h2{font-size:clamp(2.1rem,3.2vw,3.2rem)}

/* A direction is a link to content, so its card should read like a signpost. */
.service-grid{gap:14px}
.service-card{min-height:165px;padding:25px 26px;border:1px solid var(--line);box-shadow:none;transition:background-color .2s ease,transform .2s ease,border-color .2s ease}
.service-card:hover{background:#edf6f1;border-color:#a8cec0;transform:translateY(-2px)}
.service-card:focus-visible{outline-offset:4px}
.service-card h2{font-size:clamp(1.35rem,2vw,1.8rem);max-width:19ch}
.service-card:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.service-card span:first-child{font-size:.78rem;letter-spacing:.025em;color:#49655f}
.service-card--analyses span:not(.arrow){font-size:.78rem;letter-spacing:.025em;color:#49655f}
.service-card .arrow{display:none}
.doctor-card{box-shadow:none;border:1px solid var(--line)}
.doctor-card img{width:100%;height:240px;aspect-ratio:auto;object-fit:cover;object-position:center 12%}
.doctor-card-content{padding:20px 20px 22px}
.doctor-card h2{font-size:1.12rem}
.doctor-card p{color:#4d6560}
.feature-panel{border-radius:18px;min-height:305px;padding:36px}
.feature-panel h2{font-size:clamp(2rem,3vw,3rem)}
.feature-panel.soft{background:#dbeee7}

/* Inner pages: place the primary task close to the title. */
.page-intro{padding:52px 0 16px}
.page-intro h1{font-size:clamp(2.75rem,4.7vw,4.7rem);margin-bottom:15px}
.analysis-page h1{font-size:clamp(2.15rem,3vw,3rem);line-height:1.18;max-width:36ch;overflow-wrap:anywhere}
.page-intro p{font-size:1.05rem;max-width:60ch}
.breadcrumbs{margin-bottom:20px}
.direction-intro{padding-bottom:18px}
.direction-quicklinks{margin-top:19px}
.direction-quicklinks a{background:#fff;padding:8px 14px;font-size:.9rem}
.direction-content{padding-bottom:62px}
.direction-content>section{scroll-margin-top:110px}
.booking-panel,.aside-panel{border-radius:18px;box-shadow:none;border:1px solid var(--line)}
.site-footer{background:#15332e}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px;border-top:1px solid #41615b;margin-top:30px;padding-top:25px;font-size:.86rem}
.footer-legal a{color:#e8f3ef}
.footer-legal + .footer-bottom{margin-top:24px}
.site-footer a{text-underline-offset:.25em}
.footer-sitemap a:hover{text-decoration:underline}
.cookie-panel,.cookie-dialog{border-radius:16px}
.field input:focus,.field select:focus,.catalog-search input:focus{border-color:var(--brand)}

@media(max-width:1050px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)}.hero-copy h1{font-size:clamp(2.8rem,5.2vw,4.3rem)}}
@media(max-width:760px){.header-inner{gap:10px}.header-actions .btn{display:inline-flex;min-height:40px;padding:8px 12px;font-size:.8rem}.hero-grid{display:flex;min-height:0}.hero-copy{padding:47px 0 12px}.hero-copy h1{font-size:clamp(2.7rem,9vw,4.4rem);max-width:15ch}.hero-art img{max-height:365px}.section{padding:60px 0}.section-tight{padding:28px 0 60px}.page-intro{padding:38px 0 10px}.page-intro h1{font-size:clamp(2.45rem,7.5vw,3.5rem)}.feature-panel{min-height:0}}
@media(max-width:760px){.hero-copy .hero-title-original{font-size:clamp(2.25rem,7vw,3.4rem);max-width:24ch}}
@media(max-width:760px){.analysis-page h1{font-size:clamp(2rem,5vw,2.4rem)}}
@media(max-width:560px){.hero-copy h1{font-size:clamp(2.45rem,11vw,3.8rem)}.hero-copy p{font-size:1rem}.hero-art img{max-height:300px}.section-head h2{font-size:2rem}.service-card{min-height:125px;padding:21px}.service-card h2{font-size:1.4rem}.doctor-card-content{padding:15px}.doctor-card h2{font-size:1rem}.feature-panel{padding:27px}.page-intro h1{font-size:2.45rem}.booking-panel,.aside-panel{padding:20px}}
@media(max-width:560px){.analysis-page h1{font-size:clamp(1.9rem,7vw,2.2rem)}}
@media(prefers-reduced-motion:reduce){.service-card,.btn{transition:none}}

/* The imported UZI page used Bootstrap rows. Restore its original composition
   inside the current theme without changing the editable page content. */
.direction-content .uzi-section-wrapper>.container{width:100%;max-width:none}
.direction-content .uzi-section-wrapper .uzi-hero-row{grid-template-columns:minmax(0,42%) minmax(0,58%);height:420px;border-radius:16px;background:#2e7077;box-shadow:0 10px 28px rgba(22,55,57,.08)}
.direction-content .uzi-section-wrapper .uzi-hero-row>div:first-child{min-height:420px}
.direction-content .uzi-section-wrapper .uzi-hero-img{min-height:0;height:420px;object-fit:cover;object-position:center;padding:0!important}
.direction-content .uzi-section-wrapper .uzi-hero-bg{min-width:0;padding:clamp(28px,4.2vw,56px);background:#2e7077;color:#fff}
.direction-content .uzi-section-wrapper .uzi-hero-bg h2{max-width:24ch;margin:0 0 20px;color:#fff;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500;line-height:1.22}
.direction-content .uzi-section-wrapper .uzi-hero-bg p{max-width:24ch;margin:0;color:#fff;font-size:clamp(1.65rem,2.8vw,2.6rem);font-weight:500;line-height:1.24}
.direction-content .uzi-section-wrapper .uzi-highlight-gray{color:#e9f5f2}
.direction-content .uzi-section-wrapper .uzi-highlight-pink{color:#f4a7a5;font-weight:750}
.direction-content .uzi-section-wrapper>.container>.row.g-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.direction-content .uzi-section-wrapper>.container>.row.g-4>.col-md-6{min-width:0}
.direction-content .uzi-section-wrapper>.container>.row.g-4 .card{height:100%;min-height:230px;padding:28px;border:0;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(23,53,52,.07)}
.direction-content .uzi-section-wrapper>.container>.row.g-4 .card h3{margin:0 0 17px;color:#4b6b72;font-size:.82rem;font-weight:700;line-height:1.4;letter-spacing:.055em;text-transform:uppercase}
.direction-content .uzi-section-wrapper>.container>.row.g-4 .card p{max-width:72ch;margin:0;color:#3e5b60;font-size:1rem;line-height:1.75}
@media(max-width:760px){.direction-content .uzi-section-wrapper .uzi-hero-row{grid-template-columns:1fr;height:auto}.direction-content .uzi-section-wrapper .uzi-hero-row>div:first-child{min-height:0}.direction-content .uzi-section-wrapper .uzi-hero-img{height:280px;max-height:300px;width:100%}.direction-content .uzi-section-wrapper .uzi-hero-bg{padding:28px}.direction-content .uzi-section-wrapper .uzi-hero-bg h2{font-size:clamp(1.8rem,6vw,2.4rem)}.direction-content .uzi-section-wrapper .uzi-hero-bg p{font-size:clamp(1.5rem,5.3vw,2rem)}.direction-content .uzi-section-wrapper>.container>.row.g-4{grid-template-columns:1fr;gap:14px}.direction-content .uzi-section-wrapper>.container>.row.g-4 .card{min-height:0;padding:24px}}

/* The consent choice must remain readable with three explicit actions. */
.cookie-panel{width:min(100% - 40px,900px);align-items:flex-start;flex-direction:column;gap:15px}
.cookie-panel p{max-width:78ch;line-height:1.55}
.cookie-panel a,.cookie-dialog a{color:var(--brand-deep);font-weight:700}
.cookie-actions{flex-wrap:wrap;width:100%;gap:9px}
.cookie-actions .btn{white-space:normal;text-align:center}
.cookie-dialog{max-height:min(90vh,720px);overflow:auto}
@media(max-width:560px){.cookie-panel{bottom:10px;left:10px;right:10px;width:calc(100% - 20px);padding:18px}.cookie-actions .btn{flex:1 1 42%;font-size:.8rem;min-height:42px}.cookie-actions .btn:last-child{flex-basis:100%}.cookie-dialog{padding:22px}}

/* Keep portrait source dimensions from stretching mobile doctor cards. */
@media(max-width:560px){.doctor-card{grid-template-columns:40% minmax(0,1fr);min-height:180px}.doctor-card img{width:100%;height:180px;min-height:0;max-height:180px;aspect-ratio:auto;object-fit:cover;object-position:center top}.doctor-card-content{min-width:0}}

/* A compact, accessible navigation control replaces the mobile text label. */
.menu-toggle{width:44px;height:44px;padding:11px;align-items:center;justify-content:center;border-radius:10px}
.menu-toggle-bars{display:flex;width:22px;flex-direction:column;gap:5px}
.menu-toggle-bars span{display:block;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] .menu-toggle-bars span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle-bars span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle-bars span:last-child{transform:translateY(-7px) rotate(-45deg)}
@media(max-width:760px){.menu-toggle{display:inline-flex}}
@media(prefers-reduced-motion:reduce){.menu-toggle-bars span{transition:none}}
