/*
Theme Name: Thermal Sofia Editable
Author: OpenAI
Description: Тема за интерактивната платформа „Термална София“.
Version: 3.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: thermal-sofia
*/
:root{--ink:#17211d;--muted:#69736e;--paper:#f4f1e9;--line:#d9dedb;--gold:#9d8761}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.65 Arial,sans-serif}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.nav{min-height:80px;display:flex;align-items:center;gap:28px}.brand{text-decoration:none;font:22px Georgia,serif;letter-spacing:.08em}.brand small{display:block;font:10px Arial;letter-spacing:.2em;color:var(--muted)}.custom-logo{max-height:55px;width:auto}.menu{margin-left:auto;display:flex;gap:20px;list-style:none;padding:0}.menu a{text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.hero{min-height:620px;padding:70px 0;display:grid;align-items:end;color:#fff;background:linear-gradient(135deg,#668e91,#c7d7d4);background-size:cover;background-position:center}.hero-box{max-width:900px;padding:28px;background:linear-gradient(90deg,rgba(10,20,17,.68),rgba(10,20,17,.08))}.hero h1{font:clamp(48px,8vw,92px)/.96 Georgia,serif;font-weight:400;margin:12px 0 22px}.hero p{max-width:650px;font-size:19px}.kicker,.meta{text-transform:uppercase;letter-spacing:.18em;font-size:11px}.kicker{color:var(--gold)}
.btn{display:inline-block;border:1px solid currentColor;padding:13px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.section{padding:82px 0}.soft{background:var(--paper)}h2{font:clamp(35px,5vw,58px)/1.05 Georgia,serif;font-weight:400;margin:12px 0 25px}.lead{font-size:19px;color:#46504b}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.route-card{background:#fff;border:1px solid var(--line);overflow:hidden}.route-card img,.route-placeholder{width:100%;height:230px;object-fit:cover}.route-placeholder{background:linear-gradient(135deg,#7fa4a3,#e4ded1)}.route-body{padding:25px}.route-card h3{font:27px Georgia,serif;margin:8px 0 12px}.meta{color:var(--muted)}.pagehead{padding:90px 0 55px;background:var(--paper)}.content{max-width:900px;padding:55px 0}.site-footer{background:#15201c;color:#edf0ee;padding:50px 0}
@media(max-width:800px){.menu{display:none}.route-grid{grid-template-columns:1fr}.hero{min-height:500px}}

/* Elementor compatibility */
.elementor-home-content{width:100%;margin:0;padding:0}
.elementor-home-content .elementor{width:100%}


/* v3.0 — Elementor footer and optional inner-page sidebar */
.ts-page-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:42px;align-items:start}
.ts-page-layout.ts-sidebar-left,.ts-page-layout.ts-sidebar-right{grid-template-columns:minmax(240px,300px) minmax(0,1fr);max-width:1180px}
.ts-page-layout.ts-sidebar-right{grid-template-columns:minmax(0,1fr) minmax(240px,300px)}
.ts-page-main{min-width:0}.ts-page-sidebar{min-width:0}
.ts-page-sidebar .widget{padding:22px 0;border-bottom:1px solid var(--line)}
.ts-page-sidebar .widget:first-child{padding-top:0}.ts-page-sidebar .widget-title{font-size:24px;margin:0 0 14px}
.ts-page-sidebar ul{margin:0;padding-left:18px}.ts-page-sidebar a{text-decoration:none}.ts-page-sidebar a:hover{text-decoration:underline}
.ts-elementor-footer{width:100%;margin:0;padding:0}.ts-elementor-footer .elementor{width:100%}
@media(max-width:900px){.ts-page-layout.ts-sidebar-left,.ts-page-layout.ts-sidebar-right{grid-template-columns:1fr}.ts-page-layout.ts-sidebar-left .ts-page-sidebar{order:2}.ts-page-sidebar{border-top:1px solid var(--line);padding-top:28px}}


/* v3.1 — editable inner-page hero */
.ts-page-hero{position:relative;display:flex;align-items:center;min-height:320px;background:#f4f1e9 center center/cover no-repeat;overflow:hidden}
.ts-page-hero-overlay{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}
.ts-page-hero-inner{position:relative;z-index:1;width:100%}
.ts-page-hero h1{margin:0;font-family:inherit;font-size:clamp(38px,5vw,68px);line-height:1.05;font-weight:400}
.ts-page-hero.ts-align-left{text-align:left}.ts-page-hero.ts-align-center{text-align:center}.ts-page-hero.ts-align-right{text-align:right}
@media(max-width:800px){.ts-page-hero{min-height:220px}.ts-page-hero h1{font-size:clamp(34px,10vw,52px)}}


/* v3.4 — responsive mobile navigation + Elementor hero compatibility */
.ts-mobile-toggle{display:none;margin-left:auto;width:46px;height:42px;padding:8px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:4px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.ts-mobile-toggle span{display:block;width:24px;height:2px;background:currentColor;transition:transform .25s ease,opacity .25s ease}
.ts-mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ts-mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.ts-mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.elementor-home-content{width:100%;margin:0;padding:0;overflow:hidden}
.elementor-home-content > .elementor{width:100%}
@media(max-width:900px){
 .site-header .nav{position:relative;flex-wrap:wrap;gap:12px;min-height:70px}
 .site-header .custom-logo{max-width:min(220px,68vw);height:auto}
 .site-header .brand{max-width:68vw}
 .ts-mobile-toggle{display:flex}
 .site-header .menu{display:none!important;flex:0 0 100%;width:100%;margin:0;padding:10px 0 16px;gap:0;flex-direction:column;align-items:stretch;border-top:1px solid var(--line)}
 .site-header .menu.ts-menu-open{display:flex!important}
 .site-header .menu li{display:block;width:100%;margin:0}
 .site-header .menu a{display:block!important;width:100%;padding:12px 4px;font-size:14px;line-height:1.25;transform:none!important}
 .site-header .menu a:after{display:none!important}
 body.ts-menu-lock{overflow:hidden}
 /* Elementor controls the actual hero height/image per device. Theme only prevents overflow. */
 .elementor-home-content .elementor-element{max-width:100%}
 .elementor-home-content img{max-width:100%;height:auto}
}
@media(max-width:767px){
 .elementor-home-content .elementor-background-slideshow__slide__image,
 .elementor-home-content .elementor-element > .elementor-background-overlay{background-position:center center}
}


/* v3.4 — mobile viewport / horizontal overflow fix */
html,body{max-width:100%;overflow-x:clip}
.site-header,.site-main,.site-footer,.elementor-home-content{max-width:100%}
@media(max-width:900px){
 html,body{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;overflow-x:hidden!important}
 .site-header,.site-header .container,.site-header .nav,
 .site-main,.site-footer,.elementor-home-content,
 .elementor,.elementor-section,.elementor-container,
 .e-con,.e-con-inner{max-width:100vw}
 .elementor-home-content{overflow-x:clip}
 img,video,iframe,svg{max-width:100%;height:auto}
 /* Wide interactive widgets keep their own internal drag/scroll behavior. */
 .tss360,.vr43,.tsvr42,.tsvr41{max-width:100%;overflow:hidden}
 .tss360 .rail,.vr43 .rail{overscroll-behavior-x:contain}
}
