/*
Theme Name: Villa Ďumbierka
Theme URI: https://villadumbierka.sk
Description: Child theme pre Villa Ďumbierka — ľahký dizajn penziónu v Nízkych Tatrách. Postavený nad GeneratePress.
Author: Villa Ďumbierka
Version: 1.0
Template: generatepress
Text Domain: villa-dumbierka
*/

/* ============================================================
   Villa Ďumbierka — dizajn systém
   (zhodný s pôvodným statickým style.css)
   ============================================================ */

:root{
  --bg:#ffffff;--paper:#fafaf8;--ink:#1d1d1f;--muted:#6e6e73;--line:#ececec;
  --sage:#7c8a72;--sage-deep:#5f6e55;--tint:#f3f5f0;
  --radius:20px;--radius-lg:28px;--maxw:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
/* prebijeme prípadné GeneratePress odsadenia v obsahu našich šablón */
body.villa-tpl{font-family:'Instrument Sans',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
body.villa-tpl .site-content,body.villa-tpl .content-area{padding:0;margin:0;max-width:none}
body.villa-tpl #page,body.villa-tpl .site{overflow-x:hidden}
.villa-tpl h1,.villa-tpl h2,.villa-tpl h3,.villa-tpl h4,.villa-tpl .display{font-family:'Schibsted Grotesk',sans-serif;font-weight:500;letter-spacing:-.03em;line-height:1.08}
.villa-tpl a{color:inherit;text-decoration:none}
.villa-tpl img{max-width:100%;display:block}
.villa-tpl .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.villa-tpl .narrow{max-width:840px}

/* PHOTO PLACEHOLDER */
.villa-tpl .photo{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;aspect-ratio:var(--ar,3/2);background:linear-gradient(150deg,#cdd3c6,#9aa88d);background-size:cover;background-position:center}
.villa-tpl .photo[data-tone="well"]{background:linear-gradient(150deg,#b7c6c4,#7e9a93)}
.villa-tpl .photo[data-tone="bike"]{background:linear-gradient(150deg,#c9c1b4,#a08d6f)}
.villa-tpl .photo[data-tone="beer"]{background:linear-gradient(150deg,#d8c4a0,#c19a5b)}
.villa-tpl .photo[data-tone="warm"]{background:linear-gradient(150deg,#d2cabc,#ab9577)}
.villa-tpl .photo[data-tone="cool"]{background:linear-gradient(150deg,#c4cdc9,#8aa099)}
.villa-tpl .photo.has-img{background-image:var(--src)}
.villa-tpl .photo .photo-label{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);padding:6px 14px;border-radius:30px;font-size:.8rem;font-weight:500;color:var(--ink)}
.villa-tpl .photo .photo-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font-size:.85rem;font-weight:500;text-align:center;padding:20px;pointer-events:none}
.villa-tpl .photo.has-img .photo-hint{display:none}

/* NAV (vlastná hlavička v šablónach, skryjeme GP hlavičku) */
body.villa-tpl .site-header{display:none}
.villa-tpl .villa-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:.35s}
.villa-tpl .villa-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0;transition:.35s}
.villa-tpl .villa-header.scrolled,.villa-tpl .villa-header.solid{background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.villa-tpl .villa-header.scrolled .villa-nav,.villa-tpl .villa-header.solid .villa-nav{padding:13px 0}
.villa-tpl .logo{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:1.3rem;letter-spacing:-.03em;color:var(--ink)}
.villa-tpl .logo b{color:var(--sage-deep)}
.villa-tpl .nav-links{display:flex;gap:30px;align-items:center}
.villa-tpl .nav-links a{font-size:.97rem;color:var(--ink);opacity:.75;transition:.2s}
.villa-tpl .nav-links a:hover,.villa-tpl .nav-links a.active{opacity:1}
.villa-tpl .lang{display:flex;gap:4px;align-items:center;font-size:.85rem;color:var(--muted);margin-left:6px}
.villa-tpl .lang a{padding:4px 8px;border-radius:8px;opacity:.7}
.villa-tpl .lang a.on{background:var(--tint);color:var(--ink);opacity:1;font-weight:500}
.villa-tpl .btn{display:inline-block;background:var(--ink);color:#fff;padding:11px 22px;border-radius:30px;font-size:.95rem;font-weight:500;transition:.25s;border:none;cursor:pointer;font-family:inherit;text-align:center}
.villa-tpl .btn:hover{transform:scale(1.03);background:#000}
.villa-tpl .btn-light{background:var(--bg);color:var(--ink);border:1px solid var(--line)}
.villa-tpl .btn-light:hover{background:var(--paper);border-color:#ddd;transform:scale(1.03)}
.villa-tpl .btn-sage{background:var(--sage-deep)}
.villa-tpl .btn-sage:hover{background:#52613f}
.villa-tpl .btn-block{display:block;width:100%}
.villa-tpl .menu-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink)}

/* PAGE HERO */
.villa-tpl .page-hero{padding:150px 0 60px;background:var(--paper);border-bottom:1px solid var(--line)}
.villa-tpl .page-hero .eyebrow{font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--sage-deep);text-transform:uppercase;margin-bottom:14px}
.villa-tpl .page-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;margin-bottom:16px;max-width:16ch}
.villa-tpl .page-hero p{font-size:1.15rem;color:var(--muted);max-width:56ch}

/* SECTIONS */
.villa-tpl .villa-section{padding:90px 0}
.villa-tpl .eyebrow{font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--sage-deep);text-transform:uppercase;margin-bottom:14px}
.villa-tpl .sec-title{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:500;max-width:20ch;margin-bottom:16px}
.villa-tpl .sec-lead{font-size:1.1rem;color:var(--muted);max-width:54ch}
.villa-tpl .sec-head{margin-bottom:48px}

/* FEATURE */
.villa-tpl .feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:80px}
.villa-tpl .feature:last-child{margin-bottom:0}
.villa-tpl .feature:nth-child(even) .feature-media{order:2}
.villa-tpl .feature-text h3{font-size:1.7rem;font-weight:500;margin-bottom:14px}
.villa-tpl .feature-text p{color:var(--muted);margin-bottom:20px}
.villa-tpl .feature-text ul{list-style:none;margin-bottom:24px}
.villa-tpl .feature-text li{padding:8px 0 8px 26px;position:relative;color:var(--ink)}
.villa-tpl .feature-text li::before{content:'';position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:var(--sage)}
.villa-tpl .pill{display:inline-block;background:var(--tint);color:var(--sage-deep);padding:7px 16px;border-radius:30px;font-size:.9rem;font-weight:500}
@media(max-width:820px){.villa-tpl .feature{grid-template-columns:1fr;gap:28px}.villa-tpl .feature:nth-child(even) .feature-media{order:0}}

/* CARDS */
.villa-tpl .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.villa-tpl .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.villa-tpl .card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:.4s cubic-bezier(.16,.8,.3,1)}
.villa-tpl .card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.08)}
.villa-tpl .card .body{padding:26px 28px 30px}
.villa-tpl .card h3{font-size:1.4rem;font-weight:500;margin-bottom:8px}
.villa-tpl .card p{color:var(--muted);font-size:.98rem;margin-bottom:16px}
.villa-tpl .card .more{font-size:.94rem;font-weight:500;display:inline-flex;gap:6px;transition:.25s}
.villa-tpl .card:hover .more{gap:11px;color:var(--sage-deep)}
@media(max-width:900px){.villa-tpl .grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.villa-tpl .grid-3,.villa-tpl .grid-2{grid-template-columns:1fr}}

/* PRICE / AMENITIES */
.villa-tpl .price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.villa-tpl .price-row .price{font-family:'Schibsted Grotesk';font-size:1.5rem;font-weight:500}
.villa-tpl .price-row .price small{font-size:.85rem;color:var(--muted);font-weight:400}
.villa-tpl .amen{list-style:none;margin:14px 0 0}
.villa-tpl .amen li{font-size:.92rem;color:var(--muted);padding:5px 0 5px 22px;position:relative}
.villa-tpl .amen li::before{content:'';position:absolute;left:4px;top:13px;width:5px;height:5px;border-radius:50%;background:var(--sage)}

/* CTA */
.villa-tpl .cta-panel{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:72px 40px;text-align:center;position:relative;overflow:hidden}
.villa-tpl .cta-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(124,138,114,.4),transparent 55%)}
.villa-tpl .cta-panel h2,.villa-tpl .cta-panel p,.villa-tpl .cta-panel .row{position:relative}
.villa-tpl .cta-panel h2{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:500;margin-bottom:14px}
.villa-tpl .cta-panel p{opacity:.82;max-width:46ch;margin:0 auto 30px;font-size:1.08rem}
.villa-tpl .cta-panel .row{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
.villa-tpl .cta-panel .btn-light{background:#fff;color:var(--ink)}
.villa-tpl .cta-panel .btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff}
.villa-tpl .cta-panel .btn-ghost:hover{background:rgba(255,255,255,.12)}

/* FOOTER */
body.villa-tpl .site-footer{display:none}
.villa-tpl .villa-footer{padding:66px 0 34px;border-top:1px solid var(--line);background:var(--paper)}
.villa-tpl .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:46px}
.villa-tpl .foot-grid h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:14px;font-weight:500}
.villa-tpl .foot-grid .logo{margin-bottom:12px;display:inline-block}
.villa-tpl .foot-grid p,.villa-tpl .foot-grid a{font-size:.94rem;color:var(--muted);line-height:2}
.villa-tpl .foot-grid a:hover{color:var(--ink)}
.villa-tpl .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.84rem;color:var(--muted);padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:760px){.villa-tpl .foot-grid{grid-template-columns:1fr 1fr}}

/* REVEAL */
.villa-tpl .reveal{opacity:0;transform:translateY(22px);animation:villarise .85s cubic-bezier(.16,.8,.3,1) forwards}
.villa-tpl .r1{animation-delay:.05s}.villa-tpl .r2{animation-delay:.16s}.villa-tpl .r3{animation-delay:.27s}.villa-tpl .r4{animation-delay:.38s}
@keyframes villarise{to{opacity:1;transform:none}}

/* MOBILE NAV */
@media(max-width:760px){
  .villa-tpl .nav-links{position:fixed;inset:0 0 0 auto;width:80%;height:100vh;background:var(--bg);flex-direction:column;align-items:flex-start;padding:90px 34px;gap:24px;transform:translateX(100%);transition:.4s;box-shadow:-20px 0 60px rgba(0,0,0,.1);overflow-y:auto;z-index:100}
  .villa-tpl .nav-links.open{transform:none}
  .villa-tpl .menu-toggle{display:block;z-index:101}
}

/* HERO (domov) */
.villa-tpl .hero{min-height:100vh;display:flex;align-items:flex-end;position:relative;padding-bottom:9vh}
.villa-tpl .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.villa-tpl .hero-bg .photo{width:100%;height:100%;border-radius:0;aspect-ratio:auto;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,0) 30%,rgba(0,0,0,.42) 100%),linear-gradient(160deg,#aeb9a4,#8d9a82 40%,#5b6750)}
.villa-tpl .hero-inner{position:relative;z-index:2;color:#fff;max-width:680px}
.villa-tpl .hero .kicker{font-size:.85rem;font-weight:500;opacity:.92;margin-bottom:16px;display:inline-flex;align-items:center;gap:9px}
.villa-tpl .hero .kicker::before{content:'';width:7px;height:7px;border-radius:50%;background:#fff}
.villa-tpl .hero h1{font-size:clamp(2.6rem,6.5vw,5rem);font-weight:500;margin-bottom:18px;color:#fff}
.villa-tpl .hero p{font-size:1.2rem;opacity:.92;max-width:32ch;margin-bottom:32px}
.villa-tpl .hero .row{display:flex;gap:13px;flex-wrap:wrap}
.villa-tpl .hero .btn-light{background:rgba(255,255,255,.95)}
.villa-tpl .hero .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(6px)}
.villa-tpl .statement{text-align:center;padding:100px 0}
.villa-tpl .statement .big{font-family:'Schibsted Grotesk';font-weight:400;font-size:clamp(1.7rem,4.2vw,3rem);line-height:1.22;max-width:22ch;margin:0 auto}
.villa-tpl .statement .big em{font-style:normal;color:var(--sage-deep)}


/* ===== Doplnkové štýly z jednotlivých stránok ===== */

.villa-tpl .nearby{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:46px}
@media(max-width:760px){.villa-tpl .nearby{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.villa-tpl .nearby{grid-template-columns:1fr}}
.villa-tpl .near{border:1px solid var(--line);border-radius:14px;padding:18px 20px;transition:.25s}
.villa-tpl .near:hover{border-color:#cfd6c8;background:var(--paper)}
.villa-tpl .near .km{font-size:.8rem;color:var(--sage-deep);font-weight:500}
.villa-tpl .near .nm{font-weight:500;margin-top:4px;font-size:1.02rem}

.villa-tpl .masonry{columns:3;column-gap:16px}
@media(max-width:820px){.villa-tpl .masonry{columns:2}}
@media(max-width:520px){.villa-tpl .masonry{columns:1}}
.villa-tpl .masonry .photo{margin-bottom:16px;break-inside:avoid}
.villa-tpl .filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.villa-tpl .filters button{border:1.5px solid var(--line);background:var(--bg);color:var(--muted);padding:9px 18px;border-radius:30px;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;transition:.2s}
.villa-tpl .filters button:hover{border-color:#cfd6c8}
.villa-tpl .filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.villa-tpl .photo.hide{display:none}

.villa-tpl .pkg-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(max-width:760px){.villa-tpl .pkg-list{grid-template-columns:1fr}}
.villa-tpl .pkg .body ul{list-style:none;margin:14px 0}
.villa-tpl .pkg .body li{padding:7px 0 7px 24px;position:relative;font-size:.95rem;color:var(--muted);border-bottom:1px dashed var(--line)}
.villa-tpl .pkg .body li::before{content:'';position:absolute;left:4px;top:15px;width:6px;height:6px;border-radius:50%;background:var(--sage)}
.villa-tpl .pkg .ptag{font-family:'Schibsted Grotesk';font-size:1.8rem;font-weight:600;margin:6px 0 2px}

.villa-tpl .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:820px){.villa-tpl .contact-grid{grid-template-columns:1fr}}
.villa-tpl .cinfo .row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.villa-tpl .cinfo .row .k{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;width:90px;flex-shrink:0;padding-top:3px}
.villa-tpl .cinfo .row .v{font-size:1.05rem}
.villa-tpl .cinfo .row .v a{color:var(--sage-deep);font-weight:500}
.villa-tpl .map{height:280px;border-radius:var(--radius);margin-top:24px;background:linear-gradient(150deg,#dfe3da,#c4cdbc);position:relative;overflow:hidden}
.villa-tpl .map .photo-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--sage-deep);font-weight:500}
.villa-tpl .contact-grid .field{margin-bottom:14px}
.villa-tpl .contact-grid .field label{display:block;font-size:.88rem;font-weight:500;margin-bottom:6px}
.villa-tpl .contact-grid .field input,.villa-tpl .contact-grid .field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:1rem;background:var(--bg);color:var(--ink)}
.villa-tpl .contact-grid .field input:focus,.villa-tpl .contact-grid .field textarea:focus{outline:none;border-color:var(--sage-deep)}
.villa-tpl .contact-grid .two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
