/* Shared section rhythm for the homepage and service pages. */
:root{--surface-white:var(--bg);--surface-soft:var(--bg-raised);--section:clamp(3rem,6vw,5rem)}
.page-home .hero,.page-service .detail-hero{background:var(--surface-soft)}
.page-home .hero{padding-block:clamp(2rem,4vw,3rem)}
.page-home .thesis{background:var(--surface-white);color:var(--ink);padding-block:clamp(2rem,4vw,3rem)}
.page-home .thesis .mono,.page-home .thesis .support{color:var(--ink-soft)}
.page-home .thesis .statement{font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.2}
.page-home #storitve{background:var(--surface-white);padding-top:clamp(2rem,4vw,3rem)}
.page-home #storitve>.wrap{border-top:1px solid var(--line);padding-top:clamp(2rem,4vw,3rem)}
.page-home .service-card{background:var(--surface-soft)}
.page-home .services-help{background:var(--surface-white);border:1px solid var(--line);color:var(--ink)}
.page-home .services-help h3{color:var(--ink)}
.page-home .services-help p{color:var(--ink-soft)}
.page-home #delavnica{background:var(--surface-soft);border:0;padding-block:var(--section)}
.page-home #lokaciji{margin-top:clamp(1.5rem,4vw,3rem);border-top:1px solid var(--line);padding-top:1.5rem}
.page-home #vprasanja,.page-home #ocene{background:var(--surface-white)}
.page-home #ocene{border-top:1px solid var(--line)}
.page-home #kontakt{background:var(--navy-deep);padding-block:var(--section)}
.page-service{background:var(--surface-soft)}
.page-service main>section{padding-block:var(--section);background:var(--surface-white)}
.page-service main>.detail-hero{background:var(--surface-soft);padding-top:1.5rem;padding-bottom:clamp(2rem,4vw,3rem)}
.page-service main>.place{background:var(--surface-soft);border:0}
.page-service .detail-panel{background:var(--surface-soft)}
.page-service main>#lokacija{background:var(--navy-deep);color:var(--on-dark)}
.page-service #lokacija .mono,.page-service #lokacija .hours__break{color:var(--on-dark-soft)}
.page-service #lokacija .detail-panel{background:transparent;border:0;border-left:1px solid var(--on-dark-line);border-radius:0;padding:0 0 0 2rem;color:var(--on-dark)}
.page-service #lokacija .detail-related{border-top:1px solid var(--on-dark-line);padding-top:1.25rem;margin-top:2rem}
.page-service #lokacija a:not(.btn){text-decoration-color:var(--on-dark-soft)}
.page-service #lokacija :focus-visible{outline-color:var(--on-dark)}
.page-home .site-foot,.page-service .site-foot{background:var(--navy-deep);border-top:1px solid var(--on-dark-line)}
@media(max-width:51.99rem){
:root{--section:2.5rem}
.page-service .detail-grid{gap:1.5rem}
.page-service .detail-panel{padding:1.25rem}
.page-service .detail-steps{gap:1.25rem}
.page-service #lokacija>.detail-grid>.detail-panel{order:-1;border-left:0;border-bottom:1px solid var(--on-dark-line);padding:0 0 1.5rem}
.page-service #lokacija .hero__cta{gap:.75rem}
.page-home #storitve>.wrap{padding-top:2rem}
}

/* Readability and consistent contact layout. */
.site-foot .mono,.site-foot a,.site-foot li{color:var(--on-dark-soft)}
.site-foot a:hover,.site-foot a:focus-visible{color:var(--on-dark)}
.page-home #storitve>.wrap{border-top:0;padding-top:0}
.page-home .location-card--vosek .location-photo{object-position:center top}
.page-service .faq{grid-template-columns:1fr;max-width:48rem;gap:1.5rem}
.glass-intro{max-width:48rem}.glass-intro h1{max-width:22ch}
.contact-editorial__facts{margin-top:0}
@media(min-width:52rem){
.contact-editorial__grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem)}
.contact-editorial__facts{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--on-dark-line);padding:0 0 0 2rem;gap:1.5rem}
}
@media(max-width:51.99rem){
.page-service .hero__cta{display:flex;flex-direction:column;align-items:stretch;gap:.4rem}
.page-service .hero__cta .btn--primary{width:100%;justify-content:center}
.page-service .hero__cta .btn--ghost{align-self:flex-start;background:transparent;border:0;padding:.6rem 0;min-height:44px;text-decoration:underline;text-underline-offset:5px}
}
@media(max-width:51.99rem){.page-home .location-card--vosek .location-photo{aspect-ratio:auto}}

/* Full exterior views of both locations. */
.page-home .location-card .location-photo{aspect-ratio:1920/716;object-fit:contain;object-position:center top}
@media(max-width:51.99rem){.page-home .location-card .location-photo{aspect-ratio:auto}}

/* Portrait photograph alongside the introduction. */
.page-home .hero__media .shot{aspect-ratio:1122/1402;object-fit:contain;object-position:center;transform:none;min-height:0}
@media(min-width:56rem){.page-home .hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,3.5rem)}}
@media(max-width:55.99rem){.page-home .hero__media{max-width:28rem;justify-self:center}}

/* Shared palette and type roles. Status colors are semantic exceptions. */
:root{--status-open:oklch(0.51 0.11 153);--status-break:oklch(0.51 0.12 55)}
h1,.page-home .hero__text h1{font-size:clamp(2.2rem,5.5vw,3.6rem);line-height:1.08;letter-spacing:.015em}
h2,.people-title h2,.locations-heading h2,.contact-editorial h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.18;letter-spacing:.015em}
h3,.service-card h3,.location-card h3,.services-help h3{font-family:"Public Sans",sans-serif;font-weight:600;font-size:1.2rem;line-height:1.35;letter-spacing:0}
.service-card__description,.services-help p,.hero__dobrenje-compact,.contact-editorial__intro,.contact-editorial__hint,.contact-editorial__facts{font-size:1rem;line-height:1.6}
.site-tag,.contact-editorial__facts .mono,.foot__grid h4{font-size:.85rem;letter-spacing:.06em}
.contact-editorial__muted,.detail-figure figcaption{font-size:.9rem}
.page-home .site-tag b{color:var(--ink-soft);border-color:var(--line)}
.page-home .on-dark .site-tag b{color:var(--on-dark-soft);border-color:var(--on-dark-line)}
.detail-steps li::before{color:var(--ink-soft)}
.contact-editorial::before{display:none}
.site-nav a::after{background:var(--ink-soft)}
.hero__cta .btn,.services-help .btn{font-size:1rem}
@media(max-width:51.99rem){:root{--section:3rem}}

/* Approved homepage sequence: white, navy, soft, white, soft, navy. */
.page-home .hero{background:oklch(1 0 0)}
.page-home #storitve{background:var(--navy-deep);color:var(--on-dark)}
.page-home #storitve .services-heading .mono,
.page-home #storitve .services-heading>p{color:var(--on-dark-soft)}
.page-home #storitve .service-card{background:var(--bg-raised);color:var(--ink);border-color:var(--line)}
.page-home #storitve .service-card:hover,
.page-home #storitve .service-card:focus-within{border-color:var(--ink-soft)}
.page-home #storitve .services-help{background:transparent;border-color:transparent;color:var(--on-dark)}
.page-home #storitve .services-help h3{color:var(--on-dark)}
.page-home #storitve .services-help p{color:var(--on-dark-soft)}
.page-home #storitve .services-help :focus-visible{outline-color:var(--on-dark)}
.page-home #delavnica{background:var(--bg-raised)}
.page-home #vprasanja{background:oklch(1 0 0)}
.page-home #ocene{background:oklch(1 0 0);border-top-color:transparent}
.page-home #kontakt,.page-home .site-foot{background:var(--navy-deep)}

/* Final service row: standard service and distinct help card. */
.page-home #storitve .services-grid>.services-help{margin:0;padding:1.5rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1rem;border-radius:6px;background:oklch(0.31 0.055 262);border-color:oklch(0.46 0.045 262)}
.page-home #storitve .services-help h3{margin:0 0 .65rem}
.page-home #storitve .services-help p{color:var(--on-dark)}

/* Compact footer: logo and legal information only. */
.page-home .site-foot,.page-service .site-foot{border-top:0}
.site-foot__in{padding-block:0 1.5rem}
.foot__legal{margin-top:0;padding-top:1.25rem;align-items:center;gap:1rem 1.5rem}
.foot__legal .foot__mark{width:7rem;flex-shrink:0}
.foot__legal>span:last-child{margin-left:auto;max-width:58ch}
@media(max-width:47.99rem){.foot__legal{flex-direction:column;align-items:flex-start;gap:.75rem}.foot__legal>span:last-child{margin-left:0}}
/* Contact and location selector. */
.contact-editorial__copy h2{margin-top:0}
.contact-hours{margin-top:2rem}
.contact-hours h3{font-size:1rem;margin-bottom:.5rem}
.contact-hours p{color:var(--on-dark-soft);font-size:1rem}
.contact-map{min-width:0}
.contact-map__tabs{display:grid;grid-template-columns:1fr 1.35fr;gap:.5rem;margin-bottom:.75rem}
.contact-map__tabs button{font-family:"Public Sans",sans-serif;font-size:1rem;font-weight:600;text-align:left;cursor:pointer;border:1px solid var(--on-dark-line);border-radius:6px;padding:.75rem;background:transparent;color:var(--on-dark);min-height:64px}
.contact-map__tabs button span{display:block;font-size:.85rem;font-weight:400;margin-top:.2rem}
.contact-map__tabs button[aria-selected="true"]{background:var(--bg-raised);color:var(--ink);border-color:var(--bg-raised)}
.contact-map__tabs button:hover{border-color:var(--on-dark-soft)}
#contact-map-frame{display:block;width:100%;height:280px;border:0;border-radius:6px;background:var(--bg-raised)}
.contact-map__details{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;justify-content:space-between;margin-top:.6rem}
.contact-map__details address{font-style:normal;font-size:.9rem;color:var(--on-dark-soft)}
.contact-map__details a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;text-underline-offset:4px}
@media(min-width:52rem){.contact-editorial__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}
@media(max-width:30rem){.contact-map__tabs button{padding:.65rem;font-size:.95rem}#contact-map-frame{height:250px}}

/* Clear primary contact action and synchronized service status. */
.contact-call{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:1.5rem;margin-bottom:.5rem}
.contact-call__button{font-size:1.15rem;min-height:60px;padding:1rem 2rem}
.contact-call__number{display:inline-flex;align-items:center;min-height:44px;font-size:1.1rem;text-decoration:none;font-variant-numeric:tabular-nums}
.contact-call__number:hover{text-decoration:underline;text-underline-offset:4px}
.contact-hours .contact-opening-status{margin:.6rem 0 .75rem;color:var(--on-dark-soft);font-size:.95rem}
.contact-opening-status[data-state="closed"]{--status-color:oklch(0.76 0.14 27)}
.contact-opening-status[data-state="open"]{--status-color:oklch(0.8 0.13 153)}
.contact-opening-status[data-state="break"]{--status-color:oklch(0.8 0.13 65)}
@media(max-width:35rem){.contact-call__button{width:100%;justify-content:center}.contact-call{align-items:stretch}}

/* Three distinct contact actions without repeated phone number. */
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:1.5rem}
.contact-actions>.btn{font-size:1.1rem;min-height:58px;padding:.9rem 1.5rem}
.contact-actions__secondary{display:flex;flex-wrap:wrap;gap:.75rem}
.contact-actions__secondary .btn{font-size:1rem;min-height:48px;padding:.65rem 1rem}
.contact-hours p{max-width:42ch}
@media(max-width:35rem){.contact-actions{align-items:stretch}.contact-actions>.btn{justify-content:center}.contact-actions__secondary{display:grid;grid-template-columns:1fr 1fr}.contact-actions__secondary .btn{padding:.65rem .5rem;justify-content:center;font-size:.95rem}}

.contact-actions .btn svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-actions .btn{gap:.65rem}

.contact-actions .btn svg.viber-brand{fill:currentColor;stroke:none}
@media(min-width:52rem){
.contact-actions{flex-direction:row;align-items:center;gap:.65rem;flex-wrap:nowrap}
.contact-actions__secondary{display:flex;flex-wrap:nowrap;gap:.65rem}
.contact-actions>.btn,.contact-actions__secondary .btn{min-height:52px;padding:.8rem 1rem;font-size:1rem;white-space:nowrap}
}

.contact-hours__schedule{display:grid;gap:.2rem}.contact-hours__schedule p{margin:0}.contact-hours__schedule .contact-hours__closed{margin-top:.6rem}.contact-hours__schedule .contact-hours__break{font-size:.95rem}

/* Service choice, destination, team, reviews, practical questions, contact. */
.page-home #lokaciji{background:var(--bg-raised);margin-top:0;border-top:0;padding-block:var(--section)}
.page-home #delavnica{background:var(--bg-raised)}
.location-rows{display:grid;gap:2.5rem;margin-top:2rem}
.location-row{display:grid;gap:1.5rem;align-items:center;min-width:0}
.location-row .location-photo{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;margin:0;border-radius:6px}
.location-row__copy h3{margin-bottom:.6rem}
.location-row__copy p{color:var(--ink-soft);margin-bottom:.75rem}
.location-row__copy address{font-style:normal;font-size:1rem}
.location-row__copy .btn{margin-top:.65rem}
@media(min-width:56rem){.location-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:2rem}}
.page-home #vprasanja .faq{grid-template-columns:1fr;max-width:48rem}

/* Full-width location photographs with practical details beneath. */
.page-home .location-row{grid-template-columns:minmax(0,1fr);gap:1.5rem}
.location-section h2{max-width:30ch}
.location-rows{gap:3rem}
.location-row__copy{display:grid;gap:1.25rem}
.location-row__services ul{padding-left:1.2rem;color:var(--ink);line-height:1.6}
.location-row__services li+li{margin-top:.25rem}
.location-row__directions{align-self:start}
@media(min-width:56rem){.location-row__copy{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2.5rem}}

/* Destination heading precedes the image; balanced details beneath. */
.location-section>.wrap>h2{margin-top:.5rem}
.location-row__heading h3{font-size:1.35rem;margin-bottom:.35rem}
.location-row__heading p{color:var(--ink-soft)}
.location-row+.location-row{border-top:1px solid var(--line);padding-top:3rem}
@media(min-width:56rem){.location-row__services ul{columns:2;column-gap:2rem}.location-row__services li{break-inside:avoid}.location-row__copy{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
html.js .location-row[data-reveal]{transform:translateY(8px);transition-duration:.4s}
html.js .location-row[data-reveal].is-in{transform:none}
@media(prefers-reduced-motion:reduce){html.js .location-row[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}

/* Prompt contact visibility and compact mobile portrait. */
html.js .hero__text [data-load]{opacity:1;transform:none;animation:none}
html.js .hero__media[data-load]{animation-duration:.35s;animation-delay:0s}
html.js [data-reveal]{transition-duration:.35s}
@media(max-width:51.99rem){.people-portrait{width:min(100%,16rem);justify-self:center;margin-inline:auto}.service-card__link{gap:.75rem;min-height:44px}.service-card__link svg{flex-shrink:0}}
.page-service .contact-hours{margin-block:1.25rem}
.page-service .contact-hours p{color:var(--on-dark-soft)}

.page-service .opening-status{display:flex;align-items:baseline;gap:.5rem;line-height:1.5}
.page-service .opening-status__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--status-color)}
.page-service .opening-status strong{color:var(--status-color)}
.location-photo-link{display:block;text-decoration:none;color:var(--ink-soft)}
.location-photo-link span{display:block;font-size:.85rem;margin-top:.35rem;text-decoration:underline;text-underline-offset:3px}
@media(min-width:52rem){.location-photo-link span{display:none}}
/* Reserve panorama space before lazy loading so navigation lands accurately. */
.location-row .location-photo{aspect-ratio:1920/660}
.location-row .location-photo--dobrenje{aspect-ratio:1600/597}

/* Service pages: white introduction, tinted scope, compact white guidance. */
.page-service{background:oklch(1 0 0)}
.page-service main>.detail-hero{background:oklch(1 0 0);padding-bottom:clamp(2rem,4vw,3rem)}
.page-service main>.service-scope{background:var(--bg-raised);padding-block:clamp(2.5rem,5vw,4rem)}
.page-service .service-scope .detail-panel{background:oklch(1 0 0)}
.page-service main>.service-process{background:oklch(1 0 0);padding-block:clamp(2.5rem,4vw,3rem)}
.page-service main>.service-questions{background:oklch(1 0 0);padding-top:0;padding-bottom:clamp(2.5rem,4vw,3rem)}
.page-service .service-questions>.wrap{border-top:1px solid var(--line);padding-top:2rem}
.page-service .detail-steps{gap:1.25rem}
.page-service .detail-steps h3{margin-bottom:.35rem}
.page-service .detail-steps p{margin:0}
.page-service .service-contact .contact-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.page-service .service-contact .contact-actions__secondary{flex-wrap:wrap}
@media(min-width:52rem){.page-service #lokacija>.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}}
@media(max-width:51.99rem){.page-service .detail-steps{gap:1rem}.page-service .detail-steps li{padding-top:.75rem}.page-service .detail-hero--glass{padding-top:1rem;padding-bottom:2rem}}

.map-consent{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;padding:1.25rem;background:var(--bg-raised);color:var(--ink);border-radius:6px;height:280px;box-sizing:border-box}
.map-consent p{margin:0;font-size:.95rem;line-height:1.5;max-width:34rem}
@media(max-width:30rem){.map-consent{height:250px;padding:1rem}}
