/* ============================= RESET ============================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ============================= COMMON VARIABLES ============================= */
:root{
--r:24px;--rs:14px;
--fh:'Cormorant Garamond',serif;--fb:'Inter',sans-serif;--fa:'Playfair Display',serif;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--fb);line-height:1.7;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ============================= ACCESSIBILITY ============================= */
.skip-link{position:absolute;top:-100px;left:16px;background:var(--c1,#5BB5B5);color:white;padding:12px 24px;border-radius:0 0 8px 8px;z-index:10002;font-size:.88rem;font-weight:500;text-decoration:none;transition:top .3s}
.skip-link:focus{top:0}

/* Focus styles for keyboard navigation */
:focus-visible{outline:2px solid var(--c1,#5BB5B5);outline-offset:3px;border-radius:4px}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--c1,#5BB5B5);outline-offset:3px}

/* ============================= REDUCED MOTION ============================= */
/* Vypíná jen čistě dekorativní efekty (loader, listy, paprsky, kurzor, bloby).
   Ponechává plynulé přechody na obsahu (zoom fotek, scroll animace, marquee). */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .loader,.falling-leaves,.light-rays,.blob-container,.cursor-dot,.cursor-ring,.cursor-glow,.hero-breathing,#particles{display:none!important}
  .marquee-track{animation-duration:60s!important}
}

/* ============================= BUTTONS ============================= */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;border-radius:60px;font-family:var(--fb);font-size:.88rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);letter-spacing:.3px;border:none;position:relative;overflow:hidden}
.btn-arrow{display:inline-flex;transition:transform .3s}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* ============================= SECTION TYPOGRAPHY ============================= */
.stag{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;padding:7px 18px;border-radius:50px;margin-bottom:18px}
.stitle{font-family:var(--fh);font-size:clamp(2rem,4vw,3.2rem);font-weight:300;line-height:1.15;margin-bottom:20px}
.stitle strong{font-weight:600}
.ssub{font-size:1rem;color:var(--tl);max-width:580px;line-height:1.8}

/* ============================= PARALLAX SECTIONS ============================= */
.px-section{position:relative;overflow:hidden}
.px-section img{position:absolute;inset:0;width:100%;height:130%;object-fit:cover;object-position:center}
.px-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px}
.px-overlay h2{font-family:var(--fh);font-size:clamp(1.6rem,3.5vw,3rem);color:white;font-weight:300;text-shadow:0 2px 30px rgba(0,0,0,.4);max-width:700px}
.px-overlay p{color:rgba(255,255,255,.8);font-size:1.05rem;margin-top:14px;text-shadow:0 1px 15px rgba(0,0,0,.3)}

/* ============================= SCROLL ANIMATIONS ============================= */
[data-anim]{opacity:0;transition:all 1s cubic-bezier(.16,1,.3,1)}
[data-anim="up"]{transform:translateY(60px)}
[data-anim="left"]{transform:translateX(-60px)}
[data-anim="right"]{transform:translateX(60px)}
[data-anim="scale"]{transform:scale(.88)}
[data-anim="fade"]{transform:none}
[data-anim].visible{opacity:1!important;transform:translateY(0) translateX(0) scale(1)!important}
[data-stagger].visible > *{opacity:0;animation:stIn .7s cubic-bezier(.16,1,.3,1) forwards}
[data-stagger].visible > *:nth-child(1){animation-delay:.05s}
[data-stagger].visible > *:nth-child(2){animation-delay:.12s}
[data-stagger].visible > *:nth-child(3){animation-delay:.19s}
[data-stagger].visible > *:nth-child(4){animation-delay:.26s}
[data-stagger].visible > *:nth-child(5){animation-delay:.33s}
[data-stagger].visible > *:nth-child(6){animation-delay:.4s}
@keyframes stIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}

/* ============================= SUBPAGE NAV (sri-lanka, kruhove-sdileni, clanky) ============================= */
.nav-sub{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 50px;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(25px) saturate(1.8);transition:all .4s}
.nav-sub .nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-sub .nav-logo img{height:40px}
.nav-sub .nav-brand{font-family:var(--fh);font-size:1.3rem;font-weight:500;color:var(--t);letter-spacing:1px}
.nav-sub .nav-links{display:flex;gap:24px;align-items:center}
.nav-sub .nav-links a{text-decoration:none;color:var(--tl);font-size:.82rem;font-weight:400;letter-spacing:.5px;transition:color .3s}
.nav-sub .nav-back{display:flex;align-items:center;gap:6px}
.nav-sub .nav-back svg{width:16px;height:16px;transition:transform .3s}
.nav-sub .nav-back:hover svg{transform:translateX(-4px)}
.nav-sub .nav-cta{color:white!important;padding:10px 24px;border-radius:50px;font-weight:500}
.nav-sub .nav-cta:hover{transform:translateY(-2px)}

/* ============================= SUBPAGE FOOTER (simple) ============================= */
.ft-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.ft-inner p{font-size:.82rem}
.ft-inner a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .3s;font-size:.82rem}
.ft-links{display:flex;gap:20px;align-items:center}
.ft-links img{height:30px;border-radius:4px}


/* ============================= CHAT WIDGET ============================= */
.chat-float{position:fixed;bottom:32px;right:32px;z-index:99;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.chat-btn{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#5BB5B5,#7DD4C8);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(91,181,181,0.4);transition:all .4s cubic-bezier(.16,1,.3,1);z-index:2;position:relative}
.chat-btn:hover{transform:scale(1.1);box-shadow:0 8px 30px rgba(91,181,181,0.55)}
.chat-btn svg{width:26px;height:26px;fill:white}
.chat-btn .chat-close{display:none;font-size:1.5rem;line-height:1;color:white}
.chat-btn.active .chat-icon{display:none}
.chat-btn.active .chat-close{display:block}
.chat-btn.active{background:linear-gradient(135deg,#3A8E8E,#5BB5B5)}
.chat-box{position:absolute;bottom:70px;right:0;width:340px;background:white;border-radius:20px;box-shadow:0 8px 40px rgba(0,0,0,0.15);overflow:hidden;transform:scale(0.5) translateY(20px);transform-origin:bottom right;opacity:0;pointer-events:none;transition:all .35s cubic-bezier(.16,1,.3,1)}
.chat-box.open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}
.chat-head{background:linear-gradient(135deg,#3A8E8E,#5BB5B5);padding:20px;color:white;display:flex;align-items:center;gap:14px}
.chat-avatar{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.chat-info h4{font-size:.92rem;font-weight:600;margin-bottom:2px}
.chat-info p{font-size:.72rem;opacity:.8}
.chat-body{padding:20px;background:#f0faf9;min-height:60px}
.chat-bubble{background:white;padding:12px 16px;border-radius:0 12px 12px 12px;font-size:.85rem;line-height:1.6;color:#333;box-shadow:0 1px 2px rgba(0,0,0,0.06);max-width:85%;position:relative}
.chat-bubble::before{content:'';position:absolute;top:0;left:-8px;width:0;height:0;border-top:8px solid white;border-left:8px solid transparent}
.chat-bubble .chat-time{font-size:.65rem;color:#aaa;text-align:right;margin-top:4px}
.chat-form{padding:14px 16px;background:white;border-top:1px solid rgba(0,0,0,0.06)}
.chat-input{width:100%;padding:12px 16px;border:1.5px solid rgba(0,0,0,0.08);border-radius:24px;font-size:.88rem;font-family:inherit;outline:none;transition:border-color .3s;resize:none;min-height:44px;max-height:100px;line-height:1.4}
.chat-input:focus{border-color:#5BB5B5}
.chat-input::placeholder{color:#aaa}
.chat-name{width:100%;padding:10px 16px;border:1.5px solid rgba(0,0,0,0.08);border-radius:24px;font-size:.84rem;font-family:inherit;outline:none;transition:border-color .3s;margin-bottom:8px}
.chat-name:focus{border-color:#5BB5B5}
.chat-send{margin-top:10px}
.chat-send-btn{width:100%;padding:12px;border-radius:24px;border:none;background:linear-gradient(135deg,#5BB5B5,#7DD4C8);color:white;font-size:.88rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px}
.chat-send-btn:hover{box-shadow:0 4px 15px rgba(91,181,181,0.4);transform:translateY(-1px)}
.chat-send-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.chat-send-btn svg{width:18px;height:18px;fill:white}
.chat-note{font-size:.68rem;color:#aaa;text-align:center;margin-top:8px}
.chat-success{text-align:center;padding:30px 20px;color:#3A8E8E;font-size:.9rem;line-height:1.6}
.chat-success .chat-check{font-size:2.5rem;margin-bottom:10px}
@media(max-width:600px){
  .chat-btn{width:50px;height:50px}
  .chat-btn svg{width:22px;height:22px}
  .chat-box{width:calc(100vw - 32px);right:-16px;bottom:64px}
}

/* ============================= RESPONSIVE BASE ============================= */
@media(max-width:1024px){
  .nav-sub{padding:14px 24px}
}
@media(max-width:600px){
  .nav-sub .nav-links a:not(.nav-back):not(.nav-cta){display:none}
}
