/*
Theme Name: Camping Porat
Theme URI: https://campingporat.com
Author: Oseka Media
Author URI: https://osekamedia.hr
Description: Premium custom WordPress theme for Camping Porat campsite, Ugljan Island.
Version: 3.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2+
Text Domain: camping-porat
*/

/* ═══ RESET ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
 --navy:#0A1628;--navy-mid:#0F2039;--navy-light:#162A4A;
 --sea:#1B7BA5;--sea-light:#2A9FD4;--sea-pale:#E8F4FA;--sea-ghost:#F4F9FC;
 --sand:#C9A96E;--sand-light:#E8D5AB;--sand-pale:#FBF6ED;
 --white:#FFFFFF;--off-white:#FAFBFC;--dark:#0D1117;
 --text:#2D3748;--text-mid:#4A5568;--text-light:#718096;--text-faint:#A0AEC0;
 --border:#E2E8F0;--border-light:#EDF2F7;
 --blue-bg:#3366CC;
 --radius:16px;--radius-sm:10px;--radius-xs:6px;
 --shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
 --shadow:0 4px 16px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);
 --shadow-lg:0 12px 40px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04);
 --shadow-xl:0 24px 64px rgba(0,0,0,.1),0 8px 20px rgba(0,0,0,.05);
 --font-display:'Cormorant Garamond',Georgia,serif;
 --font-body:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --sidebar-w:272px;
 --ease-out:cubic-bezier(.25,.46,.45,.94);--ease-spring:cubic-bezier(.34,1.56,.64,1);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font-body);color:#fff;background:#3366CC;line-height:1.7;overflow-x:hidden;font-size:15px}
img{max-width:100%;height:auto;display:block}
a{color:var(--sand-light);text-decoration:none;transition:color .3s var(--ease-out)}
a:hover{color:var(--white)}

/* ═══ SCROLLBAR ═══ */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:3px}

/* ═══ LAYOUT ═══ */
.site-wrapper{display:flex;min-height:100vh}
.site-sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:#3366CC;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}
.site-content{margin-left:var(--sidebar-w);flex:1;min-width:0;background:#3366CC}

/* ═══ SIDEBAR ═══ */
.sidebar-header{padding:28px 24px 24px;position:relative;display:flex;align-items:center;justify-content:center}
.sidebar-header::after{content:'';position:absolute;bottom:0;left:24px;right:24px;height:1px;background:rgba(255,255,255,.15)}
.sidebar-logo{display:block;text-align:center;text-decoration:none}
.sidebar-logo-img{width:auto;height:110px;max-width:240px;margin:0 auto;object-fit:contain;transition:opacity .3s}
.sidebar-logo:hover .sidebar-logo-img{opacity:1}

.sidebar-nav{padding:12px 0}
.sidebar-nav a{display:block;padding:13px 28px;font-family:'Baloo 2',cursive;font-size:1.05rem;font-weight:700;color:rgba(255,255,255,.65);transition:all .35s var(--ease-out);text-decoration:none;position:relative;letter-spacing:1.5px;text-transform:uppercase}
.sidebar-nav a::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--sand);border-radius:0 2px 2px 0;transition:height .3s var(--ease-spring)}
.sidebar-nav a:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.04)}
.sidebar-nav a:hover::before{height:24px}
.sidebar-nav a.active{color:var(--white);font-weight:800;background:rgba(255,255,255,.07)}
.sidebar-nav a.active::before{height:28px;background:var(--sand)}
.sidebar-nav .nav-sep{height:1px;background:rgba(255,255,255,.15);margin:12px 28px}

.sidebar-lang{padding:16px 24px;text-align:center}
.sidebar-lang::before{display:none}
.sidebar-lang-label{display:none}
.lang-buttons{display:flex;gap:6px;justify-content:center}
.lang-buttons a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:36px;font-size:.7rem;font-weight:700;border-radius:var(--radius-xs);color:rgba(255,255,255,.6);background:rgba(255,255,255,.1);text-decoration:none;transition:all .3s var(--ease-out);letter-spacing:1px;border:1px solid rgba(255,255,255,.06)}
.lang-buttons a:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.12)}
.lang-buttons a.active{background:var(--sand);color:#1a1a2e;border-color:var(--sand)}

.sidebar-contact{padding:20px 24px 28px;position:relative;font-size:.78rem;line-height:1.9;color:rgba(255,255,255,.3)}
.sidebar-contact::before{content:'';position:absolute;top:0;left:24px;right:24px;height:1px;background:rgba(255,255,255,.15)}
.sidebar-contact a{color:var(--sand-light);font-weight:500;font-size:.78rem;display:inline;transition:color .3s}
.sidebar-contact a:hover{color:var(--sand)}
.sidebar-address{display:block;margin-top:6px;font-size:.68rem;color:rgba(255,255,255,.25);line-height:1.5}
.sidebar-season-tag{display:inline-block;margin-top:12px;padding:6px 14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-xs);font-size:.65rem;color:rgba(255,255,255,.4);letter-spacing:.8px;text-transform:uppercase;font-weight:600}

/* ═══ MOBILE ═══ */
.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:64px;background:#3366CC;z-index:200;border-bottom:1px solid rgba(255,255,255,.15);padding:0 20px;align-items:center;justify-content:space-between}
.mobile-header .logo-mobile{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff;text-decoration:none}
.mobile-header .logo-mobile span{color:var(--sand)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;background:none;border:none}
.hamburger span{width:22px;height:1.5px;background:#fff;border-radius:1px;transition:all .3s}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:99;opacity:0;transition:opacity .3s}
.sidebar-overlay.open{display:block;opacity:1}

/* ═══ HERO ═══ */
.hero{position:relative;height:80vh;min-height:520px;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 40%;transition:transform 8s linear}
.hero:hover .hero-bg{transform:scale(1.03)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(175deg,rgba(10,22,40,.15) 0%,rgba(10,22,40,.5) 45%,rgba(10,22,40,.88) 100%)}
.hero-content{position:relative;z-index:2;padding:0 56px 72px;max-width:820px;color:var(--white)}
.hero-eyebrow{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--sand-light);margin-bottom:16px;opacity:0;transform:translateY(16px);animation:fadeSlideUp .8s var(--ease-out) .2s forwards}
.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,5.5vw,4rem);font-weight:700;line-height:1.08;margin-bottom:18px;letter-spacing:-.5px;opacity:0;transform:translateY(20px);animation:fadeSlideUp .8s var(--ease-out) .4s forwards}
.hero p{font-size:1.05rem;max-width:500px;opacity:0;line-height:1.7;font-weight:300;color:rgba(255,255,255,.8);animation:fadeSlideUp .8s var(--ease-out) .6s forwards;transform:translateY(16px)}
.hero-actions{display:flex;gap:14px;margin-top:32px;opacity:0;transform:translateY(16px);animation:fadeSlideUp .8s var(--ease-out) .8s forwards;flex-wrap:wrap}

@keyframes fadeSlideUp{to{opacity:1;transform:translateY(0)}}

/* ═══ BUTTONS ═══ */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .4s var(--ease-out);border:none;text-decoration:none;letter-spacing:.2px;position:relative;overflow:hidden}
.btn::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .3s}
.btn:hover::after{opacity:1}
.btn-primary{background:var(--sand);color:var(--navy)}
.btn-primary:hover{background:#B8922E;color:var(--navy);transform:translateY(-3px);box-shadow:0 12px 32px rgba(201,169,110,.35)}
.btn-ghost{background:rgba(255,255,255,.08);color:var(--white);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.35);color:#fff;transform:translateY(-2px)}
.btn-dark{background:rgba(0,0,0,.2);color:var(--white)}
.btn-dark:hover{background:var(--navy-mid);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.btn-outline-dark{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.35)}
.btn-outline-dark:hover{border-color:var(--white);background:var(--white);color:var(--navy);transform:translateY(-2px)}

/* ═══ SECTIONS ═══ */
.cp-section{padding:80px 56px}
.cp-section.alt{background:rgba(0,0,0,.06)}
.cp-section.dark{background:#3366CC;color:var(--white)}
.section-eyebrow{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--sand-light);margin-bottom:10px}
.section-title{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:700;color:var(--white);line-height:1.1;margin-bottom:14px;letter-spacing:-.3px}
.section-desc{font-size:1rem;color:rgba(255,255,255,.75);max-width:560px;line-height:1.75}
.dark .section-title{color:var(--white)}
.dark .section-desc{color:rgba(255,255,255,.6)}

/* ═══ REVEAL ANIMATIONS ═══ */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}

/* ═══ FEATURES ═══ */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.feature-card{padding:32px 28px;background:var(--white);border-radius:var(--radius);border:1px solid var(--border-light);transition:all .45s var(--ease-out);position:relative;overflow:hidden}
.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--sea),var(--sand));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.feature-card:hover{border-color:transparent;box-shadow:var(--shadow-lg);transform:translateY(-6px)}
.feature-card:hover::before{transform:scaleX(1)}
.feature-num{font-family:var(--font-display);font-size:2.8rem;font-weight:700;color:var(--sea-pale);line-height:1;margin-bottom:18px;transition:color .4s var(--ease-out);letter-spacing:-2px}
.feature-card:hover .feature-num{color:var(--sea)}
.feature-card h3{font-family:var(--font-display);font-size:1.25rem;color:var(--navy);margin-bottom:8px;font-weight:700}
.feature-card p{color:var(--text-light);font-size:.88rem;line-height:1.65}

/* Feature cards stay white on blue bg */
.feature-card{padding:32px 28px;background:var(--white);border-radius:var(--radius);border:none;transition:all .45s var(--ease-out);position:relative;overflow:hidden;box-shadow:var(--shadow)}

/* ═══ ACCOMMODATION CARDS ═══ */
.acc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}
.acc-card{background:var(--white);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-light);transition:all .5s var(--ease-out);text-decoration:none;color:var(--text);display:block;position:relative}
.acc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:transparent;color:var(--text)}
.acc-card-img{height:240px;overflow:hidden;position:relative}
.acc-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}
.acc-card:hover .acc-card-img img{transform:scale(1.06)}
.acc-card-tag{position:absolute;top:16px;left:16px;background:rgba(10,22,40,.75);backdrop-filter:blur(8px);color:var(--white);padding:5px 14px;border-radius:var(--radius-xs);font-size:.68rem;font-weight:600;letter-spacing:.5px}
.acc-card-body{padding:24px}
.acc-card-body h3{font-family:var(--font-display);font-size:1.35rem;color:var(--navy);margin-bottom:8px;font-weight:700}
.acc-card-body p{color:var(--text-light);font-size:.86rem;line-height:1.65;margin-bottom:16px}
.acc-specs{font-size:.82rem;color:var(--text-light);margin-top:14px;line-height:1.6}
.acc-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-light)}
.acc-bottom .price-wrap{display:flex;align-items:baseline;gap:6px;flex-wrap:nowrap}
.acc-bottom .price-from{font-size:.72rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:1px;font-weight:600}
.acc-bottom .price-val{font-size:1.5rem;font-family:var(--font-display);font-weight:700;color:var(--sand);line-height:1;white-space:nowrap}
.acc-bottom .price-per{font-size:.75rem;color:var(--text-faint);white-space:nowrap}
.acc-card-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;background:var(--sand);color:var(--navy);border-radius:var(--radius-xs);font-size:.78rem;font-weight:700;letter-spacing:.3px;transition:all .4s var(--ease-out);text-decoration:none;white-space:nowrap}
.acc-card:hover .acc-card-btn{background:#B8922E;box-shadow:0 6px 20px rgba(201,169,110,.35);transform:translateY(-2px)}

/* ═══ ABOUT TWO-COL ═══ */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about-img-wrap{position:relative}
.about-img-wrap img{border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.about-img-wrap::after{content:'';position:absolute;top:-12px;right:-12px;bottom:12px;left:12px;border:2px solid rgba(255,255,255,.15);border-radius:var(--radius);z-index:-1}
.season-badge{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:12px 20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);font-size:.85rem;color:rgba(255,255,255,.8)}
.season-badge strong{color:var(--white);font-weight:700}

/* ═══ PAGE HEADER ═══ */
.page-header{padding:52px 56px 36px;background:rgba(0,0,0,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.page-header h1{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.6rem);color:var(--white);letter-spacing:-.3px}
.breadcrumb{font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:6px;font-weight:500}
.breadcrumb a{color:var(--sand-light)}
.breadcrumb a:hover{color:var(--white)}

/* ═══ DETAIL LAYOUT ═══ */
.detail-grid{display:grid;grid-template-columns:1fr 380px;gap:44px}
.detail-content h2{font-family:var(--font-display);font-size:1.65rem;color:var(--white);margin:32px 0 14px;letter-spacing:-.2px}
.detail-content h2:first-child{margin-top:0}
.detail-content p{margin-bottom:16px;line-height:1.85;color:rgba(255,255,255,.8)}
.detail-content ul{list-style:none;margin-bottom:24px}
.detail-content ul li{padding:10px 0 10px 32px;position:relative;color:rgba(255,255,255,.8);font-size:.92rem;border-bottom:1px solid rgba(255,255,255,.1)}
.detail-content ul li:last-child{border-bottom:none}
.detail-content ul li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.15);border:2px solid var(--sand-light);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8l3 3 5-5' stroke='%23E8D5AB' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:center}
.detail-sidebar{position:sticky;top:24px;align-self:start}
.price-box{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);color:var(--text)}
.price-box h3{font-family:var(--font-display);font-size:1.2rem;color:var(--navy);margin-bottom:20px;text-align:center;letter-spacing:-.2px}
.price-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border-light);font-size:.86rem}
.price-row:last-of-type{border-bottom:none}
.price-row .label{color:var(--text-light)}
.price-row .val{font-weight:700;color:var(--navy)}
.price-note{font-size:.76rem;color:var(--text-faint);margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light);line-height:1.6}

/* ═══ GALLERY ═══ */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:24px}
.gallery-grid img{width:100%;height:200px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;transition:all .5s var(--ease-out);filter:brightness(.97)}
.gallery-grid img:hover{transform:scale(1.03);filter:brightness(1.02);box-shadow:var(--shadow-lg)}
.gallery-grid.hero-grid img{height:280px}

/* ═══ LIGHTBOX ═══ */
.lightbox{display:none;position:fixed;inset:0;background:rgba(10,22,40,.95);backdrop-filter:blur(20px);z-index:9999;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .35s}
.lightbox.open{display:flex;opacity:1}
.lightbox img{max-width:88vw;max-height:84vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 32px 80px rgba(0,0,0,.4)}
.lightbox-close{position:absolute;top:24px;right:28px;font-size:1.4rem;color:rgba(255,255,255,.6);cursor:pointer;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s;font-family:var(--font-body)}
.lightbox-close:hover{background:rgba(255,255,255,.15);color:var(--white)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:1.5rem;color:rgba(255,255,255,.6);cursor:pointer;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;transition:all .3s;font-family:var(--font-body)}
.lightbox-nav:hover{background:rgba(255,255,255,.12);color:var(--white)}
.lightbox-prev{left:24px}
.lightbox-next{right:24px}

/* ═══ PRICE TABLE ═══ */
.price-table{width:100%;border-collapse:separate;border-spacing:0;margin:24px 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-light);background:var(--white);color:var(--navy)}
.price-table thead th{background:rgba(0,0,0,.25);color:var(--white);padding:14px 16px;font-size:.78rem;font-weight:600;text-align:center;letter-spacing:.3px}
.price-table thead th:first-child{text-align:left}
.price-table tbody td{padding:13px 16px;border-bottom:1px solid var(--border-light);font-size:.88rem;text-align:center;color:var(--navy)}
.price-table tbody td:first-child{text-align:left;font-weight:500;color:var(--navy)}
.price-table tbody tr{transition:background .2s}
.price-table tbody tr:hover{background:var(--sea-ghost)}
.price-table tbody tr:last-child td{border-bottom:none}
.price-table .hl{font-weight:700;color:var(--navy)}
.price-table .gold{font-weight:700;color:var(--sand)}

/* ═══ INFO BOX ═══ */
.info-box{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:28px;border-radius:var(--radius);margin-top:28px}
.info-box h3{font-family:var(--font-display);color:var(--white);margin-bottom:14px;font-size:1.15rem}
.info-box ul{list-style:none;font-size:.88rem;color:rgba(255,255,255,.75);line-height:2.1}

/* ═══ FORMS ═══ */
.form-card{background:var(--white);padding:36px;border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);color:var(--text)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group.full{grid-column:1/-1}
.form-group label{font-size:.78rem;font-weight:600;color:var(--navy);letter-spacing:.3px;text-transform:uppercase}
.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-xs);font-size:.9rem;font-family:var(--font-body);transition:all .3s var(--ease-out);background:var(--off-white);color:var(--text)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--sea);background:var(--white);box-shadow:0 0 0 4px rgba(27,123,165,.08)}
.form-group textarea{resize:vertical;min-height:100px}
.form-success{padding:20px 24px;background:#ECFDF5;border:1px solid #A7F3D0;border-radius:var(--radius-sm);color:#065F46;margin-bottom:20px;display:none;font-size:.9rem}
.form-error{padding:20px 24px;background:#FEF2F2;border:1px solid #FECACA;border-radius:var(--radius-sm);color:#991B1B;margin-bottom:20px;display:none;font-size:.9rem}

/* ═══ MAP ═══ */
.map-embed{width:100%;height:400px;border-radius:var(--radius);overflow:hidden;border:2px solid rgba(255,255,255,.15);box-shadow:var(--shadow)}
.map-embed iframe{width:100%;height:100%;border:none}

/* ═══ FOOTER ═══ */
.site-footer{background:#3366CC;color:rgba(255,255,255,.5);padding:64px 56px 32px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-brand{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--white);margin-bottom:12px;letter-spacing:-.3px}
.footer-brand em{color:var(--sand);font-style:italic;font-weight:400}
.site-footer h4{color:rgba(255,255,255,.8);font-size:.68rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:18px;font-weight:700}
.site-footer a{color:rgba(255,255,255,.4);font-size:.86rem;display:block;padding:4px 0;transition:all .3s;text-decoration:none}
.site-footer a:hover{color:var(--sand);transform:translateX(3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:24px;display:flex;justify-content:space-between;font-size:.75rem;flex-wrap:wrap;gap:12px;color:rgba(255,255,255,.25)}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1200px){.features{grid-template-columns:repeat(2,1fr)}.acc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1024px){
 .cp-section,.page-header,.site-footer{padding-left:36px;padding-right:36px}
 .hero-content{padding-left:36px;padding-right:36px}
 .detail-grid{grid-template-columns:1fr}.detail-sidebar{position:static}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
 .site-sidebar{transform:translateX(-100%);transition:transform .4s var(--ease-out);box-shadow:none;padding-top:64px}
 .site-sidebar.open{transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.3)}
 .sidebar-logo-img{height:80px!important;max-width:180px!important}
 .site-content{margin-left:0}
 .mobile-header{display:flex}.hamburger{display:flex}
 .hero{margin-top:64px;height:65vh;min-height:380px}
 .page-header{margin-top:64px}
 .cp-section,.page-header,.site-footer{padding-left:20px;padding-right:20px}
 .hero-content{padding:0 20px 48px}
 .two-col{grid-template-columns:1fr;gap:32px}
 .features{grid-template-columns:1fr}
 .acc-grid{grid-template-columns:1fr}
 .form-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}
 .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
 .gallery-grid img,.gallery-grid.hero-grid img{height:140px}
}

/* ═══ MISC ═══ */
svg{fill:none;stroke:currentColor}

/* ═══ HERO SLIDER ═══ */
.hero-slider{position:relative;height:80vh;min-height:520px;overflow:hidden}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center 40%;opacity:0;transition:opacity 1.2s ease-in-out}
.hero-slide.active{opacity:1}
.hero-slider .hero-overlay{position:absolute;inset:0;background:linear-gradient(175deg,rgba(10,22,40,.15) 0%,rgba(10,22,40,.5) 45%,rgba(10,22,40,.88) 100%);z-index:2}
.hero-slider .hero-content{position:absolute;bottom:0;left:0;z-index:3;padding:0 56px 72px;max-width:820px;color:#fff}
.hero-slider .hero-eyebrow{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--sand-light);margin-bottom:16px;opacity:0;transform:translateY(16px);animation:fadeSlideUp .8s var(--ease-out) .2s forwards}
.hero-slider h1{font-family:var(--font-display);font-size:clamp(2.4rem,5.5vw,4rem);font-weight:700;line-height:1.08;margin-bottom:18px;letter-spacing:-.5px;opacity:0;transform:translateY(20px);animation:fadeSlideUp .8s var(--ease-out) .4s forwards}
.hero-slider p{font-size:1.05rem;max-width:500px;opacity:0;line-height:1.7;font-weight:300;color:rgba(255,255,255,.8);animation:fadeSlideUp .8s var(--ease-out) .6s forwards;transform:translateY(16px)}
.hero-slider .hero-actions{display:flex;gap:14px;margin-top:32px;opacity:0;transform:translateY(16px);animation:fadeSlideUp .8s var(--ease-out) .8s forwards;flex-wrap:wrap}
.slider-dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:10px}
.slider-dots .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:all .3s}
.slider-dots .dot.active{background:#fff;transform:scale(1.2)}
@media(max-width:768px){
 .hero-slider{height:auto;min-height:500px;margin-top:64px}
 .hero-slider .hero-content{position:relative;left:auto;bottom:auto;max-width:100%;padding:92px 20px 84px}
 .hero-slider .hero-eyebrow{margin-bottom:12px;letter-spacing:2px;line-height:1.4}
 .hero-slider h1{font-size:clamp(2rem,9vw,3rem);line-height:1.02;margin-bottom:14px}
 .hero-slider p{max-width:100%;font-size:.96rem;line-height:1.55}
 .hero-slider .hero-actions{gap:12px;margin-top:24px}
 .slider-dots{bottom:24px}
}
