*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a{ color:#4388EE; text-decoration:none; } a:hover{ color:#2F6FD6; }

/* Dashboard — hover & scrollbar (setara style-hover template) */
.dnav-scroll::-webkit-scrollbar{width:6px;}
.dnav-scroll::-webkit-scrollbar-thumb{background:#E1E7F0;border-radius:3px;}
.dnav-item:hover{ background:#F5F8FD !important; }
.dtop-newbtn:hover{ background:#2F6FD6 !important; }
.r-scroll::-webkit-scrollbar{height:7px;}
.r-scroll::-webkit-scrollbar-thumb{background:#E1E7F0;border-radius:4px;}
.r-row:hover{ background:#FAFCFF; }
.s-in:focus{ border-color:#4388EE; box-shadow:0 0 0 3px rgba(67,136,238,.12); }
.kc-opt:hover{ background:#F5F8FD !important; }
/* Native <select> di dashboard — arrow kustom + fokus konsisten */
.dsel{ -webkit-appearance:none; -moz-appearance:none; appearance:none; background-color:#FFFFFF; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A93A0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat:no-repeat; background-position:right 12px center; padding-right:34px !important; cursor:pointer; }
.dsel:focus{ border-color:#4388EE !important; box-shadow:0 0 0 3px rgba(67,136,238,.12); outline:none; }

/* ===== Situs publik ===== */
.pub-btn-primary{ transition:background .15s ease, transform .12s ease, box-shadow .15s ease; }
.pub-btn-primary:hover{ background:#224099 !important; transform:translateY(-2px); box-shadow:0 8px 18px rgba(67,136,238,.34); }
.pub-btn-ghost{ transition:background .15s ease, transform .12s ease; }
.pub-btn-ghost:hover{ background:#F0F6FE !important; transform:translateY(-2px); }
.pub-navlink{ transition:color .15s; } .pub-navlink:hover{ color:#4388EE !important; }
.pub-dd-item:hover{ background:#F0F6FE; }
.pub-dd > summary::-webkit-details-marker{ display:none; }
.pub-order:hover{ background:#F0F6FE !important; }
.foot-link:hover{ color:#4388EE !important; text-decoration:underline; text-underline-offset:3px; }
.foot-tel:hover{ color:#BE4510 !important; }
.galscroll{ scrollbar-width:thin; scrollbar-color:#C7D6EC transparent; }
.galscroll::-webkit-scrollbar{ height:8px; }
.galscroll::-webkit-scrollbar-thumb{ background:#C7D6EC; border-radius:8px; }
@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr !important; }
  .hero-photo{ order:1; aspect-ratio:16/9 !important; margin-top:4px; }
  .cara-grid{ grid-template-columns:1fr 1fr !important; }
  .foot-cols{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:880px){
  .pub-nav{ display:none !important; }
  .pub-burger{ display:flex !important; }
  .pub-order{ display:none !important; }
  .pub-head > div{ padding:13px 18px !important; }
}
@media (max-width:560px){
  .cara-grid{ grid-template-columns:1fr !important; }
  .foot-cols{ grid-template-columns:1fr !important; gap:28px !important; }
  .foot-bottom{ flex-direction:column !important; align-items:flex-start !important; gap:8px !important; }
  .pub-head > div{ padding:12px 16px !important; gap:12px !important; }
  .pub-logo img{ height:30px !important; }
  .pub-wa{ padding:9px 15px !important; font-size:13.5px !important; }
  .pub-burger > summary{ width:40px !important; height:40px !important; }
}

/* ===== SearchCard ===== */
.smt-search{ accent-color:#4388EE; }
.smt-search .dd-btn{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:8px; padding:11px 12px; cursor:pointer; text-align:left; box-sizing:border-box; }
.smt-search .dd-btn:hover{ border-color:#B9D2F7; }
.smt-search .dd-list{ position:absolute; left:0; right:0; top:calc(100% + 6px); background:#FFFFFF; border:1px solid #E5E7EB; border-radius:10px; box-shadow:0 14px 34px rgba(20,40,80,.16); padding:6px; z-index:50; max-height:264px; overflow-y:auto; }
.smt-search .dd-item{ font-family:'Open Sans',sans-serif; font-size:14px; padding:9px 11px; border-radius:7px; cursor:pointer; }
.smt-search .dd-item:hover{ background:#F0F6FE; }
.smt-search input{ font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:8px; padding:11px 12px; width:100%; box-sizing:border-box; outline:none; }
.smt-search input:focus{ border-color:#4388EE; box-shadow:0 0 0 3px rgba(67,136,238,.15); }
.smt-search .go{ transition:transform .12s ease, background .15s ease, box-shadow .15s ease; }
.smt-search .go:hover{ transform:translateY(-2px); background:#224099 !important; box-shadow:0 8px 20px rgba(67,136,238,.35); }
.smt-search .fld{ display:grid; grid-template-columns:1.1fr 1.3fr 0.9fr auto; gap:14px; align-items:end; }
.smt-search .fld3{ display:grid; grid-template-columns:1.2fr 1.2fr auto; gap:14px; align-items:end; }
@media (max-width:720px){ .smt-search .fld, .smt-search .fld3{ grid-template-columns:1fr 1fr !important; } .smt-search .go{ grid-column:1 / -1 !important; } }
@media (max-width:440px){ .smt-search .fld, .smt-search .fld3{ grid-template-columns:1fr !important; } .smt-search .tabs{ overflow-x:auto; justify-content:flex-start !important; } }
.smt-search .cal-nav{ width:30px; height:30px; border:1px solid #E5E7EB; background:#FFFFFF; border-radius:8px; cursor:pointer; color:#4388EE; font-size:17px; line-height:1; display:flex; align-items:center; justify-content:center; }
.smt-search .cal-nav:hover{ background:#F0F6FE; border-color:#B9D2F7; }
.smt-search .cal-cell{ height:32px; border:none; border-radius:8px; font-family:'Open Sans',sans-serif; font-size:13px; padding:0; }
.smt-search .cal-chip{ border:1px solid #E5E7EB; border-radius:7px; padding:7px 0; font-family:'Open Sans',sans-serif; font-size:12.5px; cursor:pointer; text-align:center; }
@media (max-width:900px){
  .r-hidenav{display:none !important;}
  .r-row1,.r-row2{grid-template-columns:1fr !important;}
}

/* ===== Halaman Armada (filter) ===== */
.smt-armada{ accent-color:#4388EE; }
.smt-armada input, .smt-armada select{ font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:8px; padding:9px 11px; width:100%; box-sizing:border-box; outline:none; }
.smt-armada input:focus{ border-color:#4388EE; box-shadow:0 0 0 3px rgba(67,136,238,.15); }
.smt-armada .dd-btn{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:8px; padding:9px 11px; cursor:pointer; text-align:left; box-sizing:border-box; }
.smt-armada .dd-btn:hover{ border-color:#B9D2F7; }
.smt-armada .dd-list{ position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:50; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:10px; box-shadow:0 14px 34px rgba(20,40,80,.16); padding:6px; max-height:264px; overflow-y:auto; }
.smt-armada .dd-item{ font-family:'Open Sans',sans-serif; font-size:14px; padding:9px 11px; border-radius:7px; cursor:pointer; }
.smt-armada .dd-item:hover{ background:#F0F6FE; }
@media (max-width:900px){
  .armada-grid{ grid-template-columns:minmax(0,1fr) !important; }
  .armada-filter{ display:none !important; }
  .armada-ftrigger{ display:flex !important; }
  .smt-armada[data-fopen="1"] .armada-fbackdrop{ display:block; position:fixed; inset:0; background:rgba(20,32,60,.42); z-index:999; }
  .smt-armada[data-fopen="1"] .armada-filter{ display:block !important; position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important; top:auto !important; width:100% !important; max-height:88dvh; overflow-y:auto; z-index:1000; background:#FFFFFF; border-radius:20px 20px 0 0 !important; box-shadow:0 -14px 50px rgba(20,40,80,.28); }
  .armada-fclose{ display:flex !important; }
  .armada-fapply{ display:block !important; }
}
@media (max-width:700px){ .armada-cards{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .armada-kenapa{ grid-template-columns:1fr !important; } }
@media (max-width:460px){ .armada-cards{ grid-template-columns:1fr !important; } }
@media (max-width:860px){ .dh-grid{ grid-template-columns:minmax(0,1fr) !important; gap:22px !important; } }

/* ===== Halaman Detail unit ===== */
.smt-detail{ accent-color:#4388EE; }
.smt-detail input, .smt-detail textarea{ font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:8px; padding:11px 12px; width:100%; box-sizing:border-box; outline:none; height:44px; }
.smt-detail textarea{ height:auto; }
.smt-detail input:focus, .smt-detail textarea:focus{ border-color:#4388EE; box-shadow:0 0 0 3px rgba(67,136,238,.15); }
.smt-detail .dd-btn{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:8px; padding:11px 12px; cursor:pointer; text-align:left; box-sizing:border-box; }
.smt-detail .dd-btn:hover{ border-color:#B9D2F7; }
.smt-detail .dd-list{ position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:50; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:10px; box-shadow:0 14px 34px rgba(20,40,80,.16); padding:6px; max-height:260px; overflow-y:auto; }
.smt-detail .dd-item{ font-family:'Open Sans',sans-serif; font-size:14px; padding:9px 11px; border-radius:7px; cursor:pointer; }
.smt-detail .dd-item:hover{ background:#F0F6FE; }
.smt-detail .cal-nav{ width:30px; height:30px; border:1px solid #E5E7EB; background:#FFFFFF; border-radius:8px; cursor:pointer; color:#4388EE; font-size:17px; line-height:1; display:flex; align-items:center; justify-content:center; }
.smt-detail .cal-nav:hover{ background:#F0F6FE; border-color:#B9D2F7; }
.smt-detail .cal-cell{ height:32px; border:none; border-radius:8px; font-family:'Open Sans',sans-serif; font-size:13px; padding:0; }
.smt-detail .cal-chip{ border:1px solid #E5E7EB; border-radius:7px; padding:7px 0; font-family:'Open Sans',sans-serif; font-size:12.5px; cursor:pointer; text-align:center; }
@keyframes sheetUp{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }
@media (max-width:940px){
  .det-wrap{ grid-template-columns:1fr !important; }
  .det-mbook{ display:flex !important; }
  .det-book{ display:none; }
  .smt-detail.sheet-open .det-book{ display:block; position:fixed !important; left:0; right:0; bottom:0; top:auto; z-index:71; max-height:92vh; overflow-y:auto; margin:0; animation:sheetUp .28s cubic-bezier(.22,1,.36,1); }
  .smt-detail.sheet-open .det-book > div{ border-radius:22px 22px 0 0 !important; border:none !important; box-shadow:0 -18px 50px rgba(10,20,50,.28) !important; }
  .det-sheetx{ display:flex !important; }
}
@media (max-width:680px){
  .det-others{ grid-template-columns:1fr 1fr !important; }
  .det-dgrid{ grid-template-columns:1fr 1fr !important; }
  .det-info3{ grid-template-columns:1fr !important; }
  .det-faq2{ grid-template-columns:1fr !important; }
  .det-ongkos{ grid-template-columns:1fr !important; }
  .det-mdlback{ align-items:flex-end !important; padding:0 !important; }
  .det-mdlbox{ max-width:none !important; max-height:92vh !important; border-radius:22px 22px 0 0 !important; animation:sheetUp .28s cubic-bezier(.22,1,.36,1) !important; }
}
@media (max-width:440px){ .det-others{ grid-template-columns:1fr !important; } }

/* ===== Layanan / Wisata / Artikel / Tentang / Area ===== */
.smt-layanan section[id]{ scroll-margin-top:110px; }
@media (max-width:1040px){ .lay-sec{ grid-template-columns:1fr !important; } .lay-img{ order:-1; max-width:520px; } }
@media (max-width:900px){
  .lay-grid{ grid-template-columns:1fr !important; }
  .lay-nav{ position:static !important; flex-direction:row !important; overflow-x:auto; gap:4px !important; border-right:none !important; border-bottom:1px solid #E5E7EB; padding:0 0 12px !important; }
  .lay-nav a{ white-space:nowrap; border-left:none !important; }
  .ttg-grid{ grid-template-columns:minmax(0,1fr) !important; }
  .area-grid{ grid-template-columns:minmax(0,1fr) !important; }
  .area-side{ position:static !important; }
}
@media (max-width:820px){ .art-grid{ grid-template-columns:1fr 1fr !important; } }
@media (max-width:720px){ .art-rel{ grid-template-columns:1fr 1fr !important; } }
@media (max-width:640px){ .area-cards{ grid-template-columns:1fr !important; } .area-lain{ grid-template-columns:1fr 1fr !important; } }
@media (max-width:620px){ .ttg-stats{ grid-template-columns:1fr 1fr !important; } }
@media (max-width:520px){ .art-grid{ grid-template-columns:1fr !important; } }
@media (max-width:480px){ .art-rel{ grid-template-columns:1fr !important; } }

/* ===== Detail paket wisata ===== */
.smt-wd{ accent-color:#4388EE; }
.smt-wd input, .smt-wd textarea{ font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:8px; padding:11px 12px; width:100%; box-sizing:border-box; outline:none; }
.smt-wd input:focus, .smt-wd textarea:focus{ border-color:#4388EE; box-shadow:0 0 0 3px rgba(67,136,238,.15); }
.smt-wd .dd-btn{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:8px; padding:11px 12px; cursor:pointer; text-align:left; box-sizing:border-box; }
.smt-wd .dd-btn:hover{ border-color:#B9D2F7; }
.smt-wd .dd-list{ position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:50; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:10px; box-shadow:0 14px 34px rgba(20,40,80,.16); padding:6px; max-height:240px; overflow-y:auto; }
.smt-wd .dd-item{ font-family:'Open Sans',sans-serif; font-size:14px; padding:9px 11px; border-radius:7px; cursor:pointer; }
.smt-wd .dd-item:hover{ background:#F0F6FE; }
.smt-wd .cal-nav{ width:30px; height:30px; border:1px solid #E5E7EB; background:#FFFFFF; border-radius:8px; cursor:pointer; color:#4388EE; font-size:17px; line-height:1; display:flex; align-items:center; justify-content:center; }
.smt-wd .cal-nav:hover{ background:#F0F6FE; border-color:#B9D2F7; }
.smt-wd .cal-cell{ height:29px; border:none; border-radius:8px; font-family:'Open Sans',sans-serif; font-size:13px; padding:0; }
.smt-wd .cal-chip{ border:1px solid #E5E7EB; border-radius:7px; padding:7px 0; font-family:'Open Sans',sans-serif; font-size:12.5px; cursor:pointer; text-align:center; }
@media (max-width:900px){
  .wd-grid{ grid-template-columns:minmax(0,1fr) !important; }
  .wd-mbook{ display:flex !important; }
  .wd-book{ display:none; }
  .smt-wd.sheet-open .wd-book{ display:block !important; position:fixed !important; left:0; right:0; bottom:0; top:auto; z-index:71; max-height:92vh; overflow-y:auto; margin:0; border:none !important; border-radius:22px 22px 0 0 !important; box-shadow:0 -18px 50px rgba(10,20,50,.28) !important; animation:sheetUp .28s cubic-bezier(.22,1,.36,1); }
  .smt-wd.sheet-open .wd-sheetx{ display:flex !important; }
}
@media (max-width:560px){
  .wd-facts{ grid-template-columns:1fr !important; }
  .wd-mdlback{ align-items:flex-end !important; padding:0 !important; }
  .wd-mdlbox{ max-width:none !important; margin:0 !important; border-radius:22px 22px 0 0 !important; animation:sheetUp .28s cubic-bezier(.22,1,.36,1) !important; }
}

/* ===== Halaman statis: Syarat / Lepas Kunci / Mitra / Konfirmasi ===== */
.smt-mitra input, .smt-mitra textarea{ font-family:'Open Sans',sans-serif; font-size:14px; color:#414042; background:#FFFFFF; border:1px solid #E5E7EB; border-radius:9px; padding:11px 13px; width:100%; box-sizing:border-box; outline:none; }
.smt-mitra input:focus, .smt-mitra textarea:focus{ border-color:#4388EE; box-shadow:0 0 0 3px rgba(67,136,238,.15); }
.legal-nav a:hover{ background:#F0F6FE; }
.syk-nav a:hover{ color:#4388EE; }
@media (max-width:900px){
  .syk-grid{ grid-template-columns:minmax(0,1fr) !important; }
  .syk-nav{ display:none !important; }
  .mitra-cols{ grid-template-columns:1fr !important; gap:32px !important; }
}
@media (max-width:820px){ .legal-grid{ grid-template-columns:1fr !important; gap:28px !important; } .legal-nav{ position:static !important; } }
@media (max-width:720px){ .konf-cols{ grid-template-columns:1fr !important; } }
@media (max-width:560px){ .mitra-benefits{ grid-template-columns:1fr !important; } }
