:root{--green:#064d3d;--green2:#0b6b55;--green3:#e8f2ee;--gold:#e0ad20;--gold2:#fff2c9;--cream:#f6f0e5;--ink:#153a31;--muted:#6e7f79;--line:#e2d8c8;--white:#fff;--danger:#b6423b;--shadow:0 14px 35px rgba(18,54,45,.09);--radius:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}.narrow{width:min(850px,92%);margin:auto}.muted{color:var(--muted)}.lead{font-size:1.05rem;color:#526a62}.text-center{text-align:center}.eyebrow{font-size:.72rem;letter-spacing:.15em;font-weight:800;color:var(--green2)}.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.15;margin:.5rem 0 1rem;text-align:center}.section-title.align-left{text-align:left}.section{padding:76px 0}.section-cream{background:var(--cream)}.section-green{background:var(--green);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:7px;border:1px solid transparent;font-weight:800;font:inherit;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-gold{background:var(--gold);color:#12382f}.btn-green{background:var(--green2);color:#fff}.btn-light{background:#fff;border-color:var(--line);color:var(--ink)}.btn-outline{border-color:rgba(255,255,255,.7);color:#fff;background:transparent}.btn-sm{padding:8px 12px;font-size:.82rem}.btn-block{display:flex;width:100%;margin-top:10px}.site-header{position:sticky;top:0;z-index:50;background:var(--green);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.nav-wrap{height:78px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:10px;min-width:235px}.brand-icon{width:40px;height:40px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:#12382f}.brand b{font-family:'Playfair Display',serif;letter-spacing:.03em}.brand small{display:block;color:var(--gold);font-size:.62rem;letter-spacing:.08em}.main-nav{display:flex;align-items:center;justify-content:center;gap:14px;flex:1}.main-nav a{font-size:.85rem;white-space:nowrap;position:relative}.main-nav a.active,.main-nav a:hover{color:var(--gold)}.main-nav a.active:after{content:"";position:absolute;left:20%;right:20%;bottom:-10px;height:2px;background:var(--gold)}.nav-actions{display:flex;align-items:center;gap:14px}.nav-phone{font-size:.8rem;white-space:nowrap}.nav-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.4rem}.hero{min-height:600px;background:linear-gradient(90deg,rgba(4,64,51,.92),rgba(4,64,51,.55)),url('../img/hero.svg') center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-content{width:min(760px,100%);padding:80px 0}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.05;margin:15px 0 20px}.hero p{max-width:720px;color:#e6efec;font-size:1.04rem}.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.hero-badge{display:inline-block;background:var(--gold);color:var(--green);padding:7px 12px;border-radius:4px;font-size:.72rem;font-weight:800;letter-spacing:.09em}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.card,.feature-card,.service-card,.product-card,.news-card,.testimonial,.info-panel,.form-shell,.panel,.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.feature-card{padding:24px;box-shadow:var(--shadow)}.feature-icon{width:42px;height:42px;border-radius:50%;background:var(--green3);display:grid;place-items:center;margin-bottom:14px}.feature-card h3,.service-card h3,.product-card h3,.news-card h2,.news-card h3{font-family:'Playfair Display',serif}.feature-card h3{font-size:1.05rem;margin:0 0 8px}.feature-card p{color:var(--muted);font-size:.9rem;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.stat strong{display:block;color:var(--gold);font-family:'Playfair Display',serif;font-size:2rem}.stat small{color:#d7e7e2}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}.service-card{padding:25px}.service-card p{color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{overflow:hidden;transition:.2s;box-shadow:0 2px 0 rgba(0,0,0,.02)}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-card .poster-img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#e7ece9}.product-card-body{padding:18px}.product-card h3{margin:.3rem 0 .5rem;font-size:1.2rem}.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin:8px 0}.price{font-weight:800;color:var(--green2);margin-top:8px}.link{font-weight:800;color:var(--green2);font-size:.86rem}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testimonial{padding:22px;background:var(--cream)}.stars{color:var(--gold)}.contact-band{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.owner-brand{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;text-align:center}.owner-brand img{width:100%;max-height:350px;object-fit:contain;margin:auto}.owner-brand.large img{max-height:500px}.owner-brand p{color:var(--muted);font-size:.9rem}.site-footer{background:var(--green);color:#d5e6df}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px;padding:62px 0 34px}.site-footer h3,.site-footer h4{color:var(--gold);font-family:'Playfair Display',serif;margin-top:0}.site-footer a{display:block;margin:8px 0;color:#c8d9d3;font-size:.9rem}.site-footer p{font-size:.9rem}.social-row{display:flex;gap:12px}.social-row a{border:1px solid rgba(255,255,255,.16);padding:6px 10px;border-radius:6px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0 32px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:#abc4bb}.floating-wa{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 30px rgba(0,0,0,.2);z-index:60}.page-hero,.article-hero{background:var(--cream);padding:55px 0 44px}.breadcrumbs{font-size:.84rem;color:var(--muted)}.page-hero h1,.article-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.1rem,4vw,3.2rem);margin:16px 0 8px;line-height:1.15}.page-hero p{color:var(--muted);max-width:760px}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.info-panel{padding:28px}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}.detail-image{border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line)}.poster-detail img{width:100%;max-height:760px;object-fit:contain}.public-panel{padding:26px;margin-top:24px}.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.spec-grid>div{background:var(--cream);border-radius:8px;padding:14px}.spec-grid small{display:block;color:var(--muted)}.sidebar-card{padding:26px;position:sticky;top:100px}.detail-price{font-family:'Playfair Display',serif;font-size:2rem;color:var(--green2);font-weight:700;margin:10px 0}.detail-price.small-price{font-size:1.25rem}.mini-info{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.richtext{white-space:pre-line}.itinerary{line-height:1.8}.pill{display:inline-block;background:var(--green3);color:var(--green2);padding:5px 10px;border-radius:20px;font-size:.73rem;font-weight:800}.pill.gold{background:var(--gold2);color:#7c6100}.pill.gray{background:#edf0ef;color:#67746f}.pill.red{background:#fde7e5;color:var(--danger)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:850px;margin:auto}.choice-card{padding:36px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.choice-card b{font-family:'Playfair Display',serif;font-size:1.4rem}.choice-card span{color:var(--muted)}.selected-product{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;margin:0 auto 24px;max-width:990px}.selected-product img{width:150px;height:150px;object-fit:cover;border-radius:9px}.selected-product h2{font-family:'Playfair Display',serif;margin:.3rem 0}.form-shell{padding:36px;box-shadow:var(--shadow);max-width:1060px;margin:auto}.form-title{text-align:center;margin-bottom:24px}.form-title h2{font-family:'Playfair Display',serif}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.88rem}.field small{color:var(--muted)}.input,.select,.textarea{width:100%;border:1px solid #d8cfbf;background:#fff;border-radius:8px;padding:12px 13px;font:inherit;color:var(--ink)}.textarea{min-height:115px;resize:vertical}.textarea.tall{min-height:320px}.editor-box{min-height:420px}.input:focus,.select:focus,.textarea:focus{outline:2px solid rgba(224,173,32,.22);border-color:var(--gold)}.submit-row{align-items:center;text-align:center}.btn-booking{min-width:300px}.alert{margin:18px auto;padding:13px 16px;border-radius:8px}.alert.success{background:#e6f6ed;color:#167248}.alert.error{background:#fde9e7;color:#9e3b35}.empty{padding:45px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{overflow:hidden}.news-card img{width:100%;height:210px;object-fit:cover}.news-card>div{padding:18px}.news-card small{color:var(--muted)}.news-card h2,.news-card h3{font-size:1.25rem;line-height:1.25;margin:.4rem 0}.news-card p{color:var(--muted)}.pagination{display:flex;gap:8px;justify-content:center;margin-top:30px}.pagination a{width:38px;height:38px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;background:#fff}.pagination a.active{background:var(--green);color:#fff}.article-hero{text-align:center}.article-hero p{max-width:760px;margin:auto;color:var(--muted)}.article-layout{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}.article-cover{width:100%;max-height:520px;object-fit:cover;border-radius:12px}.article-content{font-size:1.04rem;line-height:1.85}.article-content p{margin:1.3rem 0}.form-preview{max-width:180px;max-height:220px;object-fit:contain;margin-top:10px;border:1px solid var(--line);border-radius:8px}.form-preview.wide{max-width:300px}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-list>div{background:var(--cream);padding:13px;border-radius:8px}.detail-list small{display:block;color:var(--muted)}
/* ADMIN */.admin-body{background:var(--cream);min-height:100vh}.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.admin-sidebar{background:var(--green);color:#fff;position:fixed;left:0;top:0;bottom:0;width:260px;padding:26px 18px;display:flex;flex-direction:column;overflow:auto}.admin-brand{display:flex;align-items:center;gap:10px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.15)}.admin-brand small{display:block;color:var(--gold)}.admin-menu{display:grid;gap:5px;margin-top:18px}.admin-menu a{padding:10px 12px;border-radius:7px;font-size:.9rem}.admin-menu a:hover,.admin-menu a.active{background:#0c6753;color:var(--gold);border-left:3px solid var(--gold)}.admin-logout{margin-top:auto;color:#ff9a92;padding:10px 12px}.admin-main{grid-column:2;padding:0 30px 40px}.admin-topbar{height:82px;margin:0 -30px 28px;padding:0 30px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.admin-topbar h1{font-size:1.5rem;margin:0}.admin-user{display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:var(--green3);display:grid;place-items:center;font-weight:800}.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px}.metric strong{font-size:1.9rem;display:block;margin-top:8px}.metric small{color:var(--muted)}.metric.mini{margin-top:20px}.panel{padding:22px;margin-top:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.panel h2{margin:0;font-size:1.2rem}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:820px}.admin-table th,.admin-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table th{font-size:.78rem;color:var(--muted)}.thumb{width:72px;height:52px;border-radius:6px;object-fit:cover;background:#eef1ef}.poster-thumb{height:86px;object-fit:cover}.actions{display:flex;gap:6px;align-items:center}.actions form{margin:0}.icon-btn{width:34px;height:34px;border-radius:6px;border:0;background:var(--cream);display:grid;place-items:center;cursor:pointer}.icon-btn.danger{background:#fde7e5;color:var(--danger)}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters .input,.filters .select{width:auto;min-width:220px}.admin-grid-2{display:grid;grid-template-columns:1.5fr .85fr;gap:22px}.quick-admin{display:grid;gap:10px;margin-top:18px}.quick-admin a{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--cream);font-weight:700}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-visual{background:linear-gradient(rgba(4,77,61,.88),rgba(4,77,61,.88)),url('../img/hero.svg') center/cover;color:#fff;padding:65px;display:flex;flex-direction:column;justify-content:space-between}.login-visual h2{font-family:'Playfair Display',serif;font-size:3.1rem;max-width:620px;line-height:1.1}.login-box{display:grid;place-items:center;padding:45px;background:#fff}.login-card{width:min(500px,100%)}.login-card h1{font-size:2.2rem;margin:0}.login-card .btn{width:100%}
@media(max-width:1050px){.nav-phone{display:none}.main-nav{position:absolute;top:78px;left:0;right:0;background:var(--green);padding:16px 4%;display:none;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.main-nav a{padding:7px 0}.main-nav a.active:after{display:none}.nav-toggle{display:block;margin-left:auto}.nav-actions .btn{display:none}.cards{grid-template-columns:repeat(2,1fr)}.product-grid,.news-grid,.testimonial-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{display:block}.admin-sidebar{position:static;width:100%;height:auto}.admin-menu{grid-template-columns:repeat(3,1fr)}.admin-main{padding:0 18px 40px}.admin-topbar{margin:0 -18px 24px;padding:0 18px}.admin-cards{grid-template-columns:repeat(2,1fr)}.admin-grid-2{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}}
@media(max-width:720px){.hero{min-height:530px}.section{padding:54px 0}.section-head{align-items:flex-start;flex-direction:column}.cards,.stats,.service-grid,.product-grid,.news-grid,.testimonial-grid,.contact-band,.split,.about-cards,.choice-grid,.form-grid,.detail-grid,.article-layout,.footer-grid,.admin-cards,.detail-list{grid-template-columns:1fr}.form-shell{padding:22px}.footer-bottom{flex-direction:column}.selected-product{grid-template-columns:90px 1fr}.selected-product img{width:90px;height:100px}.poster-detail img{max-height:none}.spec-grid{grid-template-columns:1fr}.admin-menu{grid-template-columns:1fr 1fr}.admin-topbar .btn{display:none}.filters .input,.filters .select{width:100%;min-width:0}.btn-booking{min-width:0;width:100%}}


/* ===== SEO/FUNCTIONAL RELEASE 2026-08-19 ===== */
.site-header{box-shadow:0 2px 16px rgba(0,0,0,.08)}
.nav-wrap{min-height:92px;height:auto;padding:8px 0}
.brand-image{min-width:205px;width:205px;height:72px;background:#fff;border-radius:9px;padding:4px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.brand-image img{width:100%;height:100%;object-fit:contain}
.footer-logo{width:220px;max-width:100%;height:126px;object-fit:contain;background:#fff;border-radius:10px;padding:5px;margin-bottom:14px}
.home-hero{min-height:620px;background:linear-gradient(135deg,#064d3d 0%,#0a6652 65%,#0d735b 100%);overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;padding:64px 0}
.home-hero .hero-content{width:auto;padding:0}
.hero-visual{background:#fff;border-radius:22px;padding:20px;box-shadow:0 25px 70px rgba(0,0,0,.24);transform:rotate(1deg)}
.hero-visual img{width:100%;aspect-ratio:7/4;object-fit:contain}
.hero-visual-caption{margin-top:8px;text-align:center;color:#4f635d;font-size:.82rem;font-weight:700;letter-spacing:.03em}
.hero-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:#d9eee7;font-size:.86rem;font-weight:700}
.seo-copy p{font-size:1.03rem;color:#4e655d;line-height:1.85}
.seo-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:1180px){
  .brand-image{min-width:172px;width:172px;height:64px}
  .main-nav{gap:10px}
  .main-nav a{font-size:.8rem}
}
@media(max-width:1050px){
  .nav-wrap{min-height:82px}
  .main-nav{top:82px}
  .brand-image{width:180px;height:64px}
  .hero-inner{grid-template-columns:1fr;gap:32px}
  .home-hero{min-height:auto}
  .hero-visual{max-width:650px}
}
@media(max-width:720px){
  .brand-image{width:160px;height:58px;min-width:160px}
  .nav-wrap{min-height:74px}
  .main-nav{top:74px}
  .hero-inner{padding:46px 0}
  .hero h1{font-size:clamp(2.25rem,11vw,3.4rem)}
  .hero-visual{padding:12px;border-radius:16px}
  .hero-trust{gap:9px 15px}
}

.admin-brand-logo img{width:54px;height:40px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}
.admin-brand-logo{align-items:center}
.product-title{font-family:'Playfair Display',serif;font-size:1.2rem;line-height:1.25;margin:.3rem 0 .5rem}
.faq-list{display:grid;gap:14px}.faq-list .info-panel h3{margin-top:0}

/* =========================================================
   MEMBER / HISTORY / PUBLIC ORDER RELEASE 2026-08-20
   ========================================================= */

/* Logo transparan - menimpa aturan release lama */
.brand-image{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    display:flex!important;
    align-items:center!important;
}
.brand-image img{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    box-shadow:none!important;
    object-fit:contain!important;
}
.footer-logo{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    box-shadow:none!important;
    height:auto!important;
}

/* Preview booking */
.booking-preview-shell{max-width:900px}
.preview-success{display:flex;align-items:center;gap:18px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.preview-success h2{font-family:'Playfair Display',serif;font-size:1.8rem;margin:.2rem 0}
.preview-success p{margin:0;color:var(--muted)}
.preview-check{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;background:#e6f6ed;color:#167248;font-size:1.6rem;font-weight:900}
.booking-preview-list .full-preview,.detail-list .full-preview{grid-column:1/-1}
.history-guide{margin-top:24px;padding:20px;border-radius:12px;background:var(--green3);border:1px solid #cfe3da}
.history-guide h3{margin:0 0 8px;font-family:'Playfair Display',serif}
.history-guide p{margin:0 0 15px;color:#47645b}
.confirm-wa-box{margin-top:22px;padding:22px;border-radius:12px;text-align:center;background:#fff8df;border:1px solid #efd98d}
.confirm-wa-box p{margin:0 0 14px}
.confirm-wa-box small{display:block;margin-top:10px;color:var(--muted)}

/* Login histori */
.history-login-card{max-width:560px}
.history-phone{font-size:1.08rem;text-align:center;letter-spacing:.02em}

/* Portal customer */
.customer-portal-hero{background:var(--green);color:#fff;padding:42px 0}
.customer-portal-hero .container{display:flex;align-items:center;justify-content:space-between;gap:24px}
.customer-portal-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);margin:.25rem 0}
.customer-portal-hero p{margin:0;color:#d7e7e2}
.customer-portal-hero .eyebrow{color:var(--gold)}
.customer-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.customer-booking-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.customer-booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.customer-booking-head small{color:var(--muted)}
.customer-booking-head h3{font-family:'Playfair Display',serif;margin:2px 0 0}
.booking-product-name{font-size:1.13rem;font-weight:800;margin:14px 0 18px;color:var(--green)}
.booking-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.booking-mini-grid>div{background:var(--cream);padding:11px;border-radius:8px;min-width:0}
.booking-mini-grid small{display:block;color:var(--muted);font-size:.72rem}
.booking-mini-grid b{display:block;font-size:.88rem;overflow-wrap:anywhere}
.history-section-head{margin-top:54px}
.public-history-table{background:#fff;border:1px solid var(--line);border-radius:12px}

/* Tracking */
.tracking-row{display:grid;grid-template-columns:repeat(6,1fr);gap:0;align-items:start;margin:8px 0 4px}
.tracking-step{position:relative;text-align:center;color:#96a39e;font-size:.67rem}
.tracking-step:before{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:#dce5e1;z-index:0}
.tracking-step:first-child:before{left:50%}
.tracking-step:last-child:before{right:50%}
.tracking-step span{position:relative;z-index:1;width:16px;height:16px;border-radius:50%;background:#dce5e1;border:3px solid #fff;box-shadow:0 0 0 1px #dce5e1;display:block;margin:0 auto 6px}
.tracking-step.done:before,.tracking-step.current:before{background:var(--green2)}
.tracking-step.done span{background:var(--green2);box-shadow:0 0 0 1px var(--green2)}
.tracking-step.current span{background:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.tracking-step.done,.tracking-step.current{color:var(--ink);font-weight:700}
.tracking-cancelled{padding:10px;border-radius:8px;background:#fde7e5;color:var(--danger);font-weight:800;text-align:center}

/* Public order */
.public-order-card{max-width:900px}
.read-only-note{margin-top:22px;padding:14px 16px;border-radius:9px;background:#edf0ef;color:#52635e;font-size:.9rem}
.public-order-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* Navbar desktop/laptop: tetap tampil penuh. Hamburger hanya untuk <=1050px */
@media(min-width:1051px){
  .nav-wrap{gap:10px}
  .brand-image{min-width:145px!important;width:145px!important;height:70px!important;flex:0 0 145px}
  .brand-image img{max-width:145px!important}
  .main-nav{display:flex!important;position:static!important;flex:1 1 auto!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:0!important;background:transparent!important;box-shadow:none!important}
  .main-nav a{font-size:.78rem!important;padding:0!important;white-space:nowrap}
  .nav-toggle{display:none!important}
  .nav-actions{display:flex!important;align-items:center;gap:9px;flex:0 0 auto}
  .nav-phone{font-size:.73rem}
  .nav-actions .btn{display:inline-flex!important;padding:10px 12px;font-size:.78rem;white-space:nowrap}
}

/* Laptop yang ruangnya lebih sempit: nomor telepon disembunyikan, menu utama tetap terlihat */
@media(min-width:1051px) and (max-width:1320px){
  .nav-phone{display:none!important}
}

/* Laptop kecil: tombol pesan disembunyikan agar semua menu tetap muat */
@media(min-width:1051px) and (max-width:1180px){
  .brand-image{min-width:125px!important;width:125px!important;height:64px!important;flex-basis:125px}
  .brand-image img{max-width:125px!important}
  .main-nav{gap:7px!important}
  .main-nav a{font-size:.75rem!important}
  .nav-actions .btn{display:none!important}
}
@media(max-width:820px){
  .customer-booking-grid{grid-template-columns:1fr}
  .customer-portal-hero .container{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .preview-success{align-items:flex-start}
  .booking-mini-grid{grid-template-columns:1fr}
  .tracking-row{overflow-x:auto;grid-template-columns:repeat(6,82px);padding-bottom:5px}
  .public-order-actions{flex-direction:column}
  .public-order-actions .btn{width:100%}
}
@media(max-width:1050px){.main-nav{top:82px}}
@media(max-width:720px){.main-nav{top:74px}}

/* =========================================================
   FINAL NAVBAR FIX
   Desktop tetap tampil pada Chrome 100%
   Hamburger hanya untuk layar <= 840px
   ========================================================= */

/* LAPTOP DAN DESKTOP */
@media (min-width: 841px){

    .site-header .container{
        width:min(1380px,96%) !important;
    }

    .nav-wrap{
        min-height:78px !important;
        height:auto !important;
        padding:6px 0 !important;
        gap:6px !important;

        display:flex !important;
        align-items:center !important;
        flex-wrap:nowrap !important;
    }

    /* Logo diperkecil agar menu mendapat ruang cukup */
    .brand-image{
        min-width:118px !important;
        width:118px !important;
        height:62px !important;
        flex:0 0 118px !important;

        padding:0 !important;
        margin:0 !important;

        background:transparent !important;
        box-shadow:none !important;
        overflow:visible !important;
    }

    .brand-image img{
        width:100% !important;
        height:100% !important;
        max-width:118px !important;

        object-fit:contain !important;
        object-position:left center !important;

        background:transparent !important;
    }

    /* Paksa navbar desktop tetap tampil */
    .main-nav{
        display:flex !important;

        position:static !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;

        flex:1 1 auto !important;
        min-width:0 !important;

        flex-direction:row !important;
        align-items:center !important;
        justify-content:center !important;

        gap:6px !important;
        padding:0 !important;

        background:transparent !important;
        box-shadow:none !important;
    }

    .main-nav a{
        display:block !important;

        padding:0 !important;
        margin:0 !important;

        font-size:.70rem !important;
        line-height:1.2 !important;

        white-space:nowrap !important;
    }

    .main-nav a.active:after{
        bottom:-9px !important;
    }

    /* Hamburger tidak boleh muncul di laptop/desktop */
    .nav-toggle{
        display:none !important;
    }

    .nav-actions{
        display:flex !important;
        align-items:center !important;
        gap:6px !important;

        flex:0 0 auto !important;
        margin:0 !important;
    }

    /* Nomor HP disembunyikan pada laptop agar menu tidak sesak */
    .nav-phone{
        display:none !important;
    }

    /* Tombol Pesan Sekarang dibuat kecil */
    .nav-actions .btn{
        display:inline-flex !important;

        width:auto !important;
        min-width:0 !important;
        min-height:34px !important;

        padding:7px 10px !important;

        font-size:.68rem !important;
        line-height:1 !important;
        font-weight:700 !important;

        border-radius:6px !important;

        white-space:nowrap !important;
    }
}


/* LAPTOP DENGAN RUANG LEBIH SEMPIT */
@media (min-width:841px) and (max-width:1100px){

    .site-header .container{
        width:98% !important;
    }

    .nav-wrap{
        gap:4px !important;
    }

    .brand-image{
        min-width:95px !important;
        width:95px !important;
        height:56px !important;
        flex-basis:95px !important;
    }

    .brand-image img{
        max-width:95px !important;
    }

    .main-nav{
        gap:4px !important;
    }

    .main-nav a{
        font-size:.62rem !important;
        letter-spacing:-.01em !important;
    }

    /*
       Tombol Pesan Sekarang disembunyikan pada laptop sempit.
       Prioritas diberikan kepada seluruh menu utama.
    */
    .nav-actions .btn{
        display:none !important;
    }
}


/* DESKTOP BESAR */
@media (min-width:1200px){

    .brand-image{
        min-width:135px !important;
        width:135px !important;
        height:66px !important;
        flex-basis:135px !important;
    }

    .brand-image img{
        max-width:135px !important;
    }

    .main-nav{
        gap:8px !important;
    }

    .main-nav a{
        font-size:.76rem !important;
    }

    .nav-actions .btn{
        padding:8px 11px !important;
        font-size:.72rem !important;
    }
}


/* MONITOR LEBAR: nomor telepon boleh muncul lagi */
@media (min-width:1500px){

    .nav-phone{
        display:inline-block !important;
        font-size:.72rem !important;
        white-space:nowrap !important;
    }
}


/* =========================================================
   TABLET / HP
   Baru menggunakan hamburger
   ========================================================= */

@media (max-width:840px){

    .nav-wrap{
        min-height:74px !important;
        padding:6px 0 !important;
    }

    .brand-image{
        min-width:145px !important;
        width:145px !important;
        height:60px !important;
        flex:0 0 145px !important;
    }

    .brand-image img{
        max-width:145px !important;
    }

    .nav-toggle{
        display:block !important;
        margin-left:auto !important;
    }

    .main-nav{
        display:none !important;

        position:absolute !important;
        top:74px !important;
        left:0 !important;
        right:0 !important;

        padding:16px 5% !important;

        background:var(--green) !important;

        flex-direction:column !important;
        align-items:flex-start !important;

        box-shadow:0 12px 24px rgba(0,0,0,.12) !important;
    }

    .main-nav.open{
        display:flex !important;
    }

    .main-nav a{
        width:100% !important;
        padding:8px 0 !important;
        font-size:.9rem !important;
    }

    .main-nav a.active:after{
        display:none !important;
    }

    .nav-actions{
        display:none !important;
    }
}

/* =========================================================
   GOOGLE REVIEW / TESTIMONIAL PAGE
   ========================================================= */

.google-review-heading{
    max-width:760px;
    margin:0 auto 36px;
    text-align:center;
}

.google-review-intro{
    margin:0 auto;
    color:var(--muted);
    font-size:1rem;
}


.google-review-layout{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
    gap:28px;
    align-items:stretch;
}


/* GOOGLE MAP WINDOW */

.google-map-review{
    position:relative;

    width:100%;
    min-height:500px;

    overflow:hidden;

    background:#fff;

    border:1px solid var(--line);
    border-radius:16px;

    box-shadow:var(--shadow);
}


.google-map-review iframe{
    display:block;

    width:100%;
    height:100%;
    min-height:500px;

    border:0;
}


/* GOOGLE REVIEW INFORMATION */

.google-review-info{
    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:34px;

    background:#064d3d;
    color:#fff;

    border-radius:16px;

    box-shadow:var(--shadow);
}


.google-logo-text{
    display:flex;
    align-items:center;

    gap:10px;

    margin-bottom:18px;

    font-weight:700;
}


.google-g{
    width:38px;
    height:38px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#fff;

    color:#4285f4;

    font-size:1.35rem;
    font-weight:800;
}


.google-review-info h2{
    margin:0 0 3px;

    font-family:'Playfair Display',serif;
    font-size:1.7rem;
}


.google-business-label{
    margin:0 0 15px;

    color:#d7e7e2;

    font-size:.9rem;
}


.google-stars{
    margin-bottom:18px;

    color:#e0ad20;

    font-size:1.55rem;

    letter-spacing:3px;
}


.google-review-info p{
    color:#d7e7e2;

    line-height:1.8;
}


.google-review-btn{
    align-self:flex-start;

    margin-top:12px;
}


.google-review-note{
    display:block;

    margin-top:15px;

    color:#a9c6bc;

    font-size:.75rem;
}


/* RESPONSIVE */

@media(max-width:900px){

    .google-review-layout{
        grid-template-columns:1fr;
    }

    .google-map-review{
        min-height:430px;
    }

    .google-map-review iframe{
        min-height:430px;
    }
}


@media(max-width:560px){

    .google-map-review{
        min-height:380px;

        border-radius:12px;
    }

    .google-map-review iframe{
        min-height:380px;
    }

    .google-review-info{
        padding:25px 21px;

        border-radius:12px;
    }

    .google-review-info h2{
        font-size:1.45rem;
    }

    .google-review-btn{
        width:100%;
    }
}

/* =====================================
   TESTIMONIAL CARD STYLE
===================================== */

.review-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-top:35px;
}


.review-card{
    background:#fff;
    border:1px solid #eadfce;
    border-radius:20px;
    padding:25px;
    box-shadow:0 8px 25px rgba(0,0,0,0.06);

    display:flex;
    flex-direction:column;

    min-height:260px;
}


.review-user{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:18px;
}


.review-avatar{

    width:55px;
    height:55px;

    border-radius:50%;

    background:#075844;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;
    font-weight:700;

}


.review-card h3{

    margin:0;

    font-size:17px;

    color:#1c4036;

}


.review-stars{

    color:#d5a62a;

    margin-top:6px;

    font-size:18px;

    letter-spacing:2px;

}


.review-card p{

    color:#555;

    line-height:1.7;

    flex:1;

}


.review-source{

    margin-top:15px;

    display:inline-block;

    width:max-content;

    background:#f3eee3;

    padding:6px 14px;

    border-radius:20px;

    font-size:12px;

    color:#666;

}


/* Tablet */

@media(max-width:1000px){

.review-grid{

grid-template-columns:repeat(2,1fr);

}

}


/* Mobile */

@media(max-width:650px){

.review-grid{

grid-template-columns:1fr;

}

}
