:root{
  --sa-green:#2f5625;
  --sa-green-dark:#163412;
  --sa-green-soft:#eef5e7;
  --sa-gold:#d6a54a;
  --sa-text:#272727;
  --sa-muted:#777;
  --sa-line:#e4e4dc;
  --sa-bg:#f7f6f0;
  --sa-white:#fff;
  --sa-font:Arial, Helvetica, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sa-font);background:var(--sa-bg);color:var(--sa-text);font-size:14px;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.sa-container{width:1180px;max-width:calc(100% - 32px);margin:0 auto}

/* Header seperti katalog WooCommerce/Sibayak */
.sa-header{background:#fff;border-bottom:1px solid var(--sa-line);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.sa-category-strip{background:var(--sa-green-dark);color:#eef8ea;font-size:13px}
.sa-strip-inner{display:flex;align-items:center;gap:18px;min-height:38px;overflow:hidden}
.sa-all{font-weight:700;white-space:nowrap}
.sa-strip-menu{display:flex;align-items:center;gap:18px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.sa-strip-menu::-webkit-scrollbar{display:none}
.sa-strip-menu a{color:#eef8ea;opacity:.9;padding:10px 0;font-weight:600}
.sa-strip-menu a.active,.sa-strip-menu a:hover{color:#fff;border-bottom:2px solid var(--sa-gold)}
.sa-brand-row{background:#fff}
.sa-brand-inner{display:grid;grid-template-columns:260px 1fr 130px;gap:22px;align-items:center;min-height:92px}
.sa-logo{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800;letter-spacing:-.5px;color:#111}
.sa-logo-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--sa-green-dark);color:#fff;font-size:18px}
.sa-search{display:grid;grid-template-columns:1fr 96px;border:1px solid var(--sa-line);border-radius:2px;overflow:hidden;background:#fff;min-height:44px}
.sa-search input{border:0;padding:0 14px;font:inherit;outline:none;background:#fff}
.sa-search button{border:0;background:var(--sa-green);color:#fff;font-weight:700;cursor:pointer}
.sa-search button:hover{background:var(--sa-green-dark)}
.sa-cart{justify-self:end;color:#333;font-weight:700;border-left:1px solid var(--sa-line);padding-left:18px;white-space:nowrap}
.sa-nav-row{border-top:1px solid var(--sa-line);background:#fbfbf8}
.sa-main-menu{display:flex;align-items:center;gap:34px;min-height:50px;font-weight:700;color:#333}
.sa-main-menu a:hover{color:var(--sa-green)}

/* Layout utama */
.sa-main{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:34px;padding:30px 0 54px;align-items:start}
.sa-content{min-width:0}
.sa-shop-head{margin-bottom:22px}
.sa-breadcrumb{font-size:13px;color:#8a8a8a;margin-bottom:18px}
.sa-breadcrumb a{color:#666}
.sa-breadcrumb a:hover{color:var(--sa-green)}
.sa-toolbar{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--sa-line);padding-bottom:16px}
.sa-toolbar p{margin:0;color:#777;font-size:14px}
.sa-sort select{width:235px;max-width:100%;height:40px;border:1px solid var(--sa-line);background:#fff;padding:0 12px;color:#555;outline:none}

/* Produk */
.sa-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px}
.sa-product{position:relative;background:#fff;border:1px solid #ecece5;text-align:center;transition:.2s ease;min-width:0}
.sa-product:hover{box-shadow:0 10px 28px rgba(0,0,0,.08);transform:translateY(-2px)}
.sa-wishlist{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid #e6e6df;background:#fff;color:#777;display:grid;place-items:center;font-size:20px;z-index:3;line-height:1}
.sa-wishlist:hover{color:#b91c1c;border-color:#b91c1c}
.sa-product-img{height:250px;background:#f4f4ee;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #ecece5}
.sa-product-img img{width:100%;height:100%;object-fit:cover;transition:.25s ease}
.sa-product:hover .sa-product-img img{transform:scale(1.035)}
.sa-product-info{padding:16px 16px 20px}
.sa-stock{display:inline-block;margin-bottom:6px;font-size:11px;text-transform:uppercase;color:var(--sa-green);font-weight:800;letter-spacing:.5px}
.sa-product h2{font-size:16px;line-height:1.35;margin:0 0 5px;color:#222;font-weight:700;min-height:44px}
.sa-product h2 a:hover{color:var(--sa-green)}
.sa-rating{font-size:12px;color:#f1b331;letter-spacing:1px;margin-bottom:5px}
.sa-price{font-size:18px;color:var(--sa-green);font-weight:800;margin-bottom:13px}
.sa-book{display:inline-flex;align-items:center;justify-content:center;background:var(--sa-green);color:#fff;font-weight:800;font-size:13px;min-height:38px;padding:0 20px;border-radius:0;text-transform:none}
.sa-book:hover{background:var(--sa-green-dark)}
.sa-empty{background:#fff;border:1px dashed var(--sa-line);padding:34px;text-align:center;color:#777}
.sa-pagination{display:flex;gap:8px;align-items:center;justify-content:center;margin:34px 0 0}
.sa-pagination a,.sa-pagination span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--sa-line);background:#fff;color:#555}
.sa-pagination .current,.sa-pagination a:hover{background:var(--sa-green);color:#fff;border-color:var(--sa-green)}

/* Sidebar kanan seperti referensi */
.sa-sidebar{display:grid;gap:28px}
.sa-widget{background:#fff;border:1px solid var(--sa-line);padding:22px}
.sa-widget h3{font-size:18px;margin:0 0 16px;color:#222;font-weight:800;border-bottom:1px solid var(--sa-line);padding-bottom:10px}
.sa-widget p{color:#777;margin-top:0}
.sa-side-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;background:var(--sa-green);color:#fff;font-weight:800;padding:0 16px;margin-top:6px}
.sa-cat-tree{list-style:none;margin:0;padding:0}
.sa-cat-tree li{border-bottom:1px solid #eeeeea}
.sa-cat-tree li:last-child{border-bottom:0}
.sa-cat-tree a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;color:#555;font-weight:600}
.sa-cat-tree a.active,.sa-cat-tree a:hover{color:var(--sa-green)}
.sa-cat-tree span{color:#999;font-weight:400}
.sa-mini{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eeeeea}
.sa-mini:last-child{border-bottom:0;padding-bottom:0}
.sa-mini:first-of-type{padding-top:0}
.sa-mini img{width:72px;height:72px;object-fit:cover;background:#f4f4ee;border:1px solid #eeeeea}
.sa-mini b{display:block;font-size:13px;line-height:1.35;color:#333}
.sa-mini em{display:block;margin-top:3px;font-style:normal;color:var(--sa-green);font-weight:800}
.sa-contact-widget a{display:block;color:var(--sa-green);font-weight:800;margin:4px 0}

/* Footer */
.sa-footer{background:#25251f;color:#d9d9d0;padding:42px 0;margin-top:20px}
.sa-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.sa-footer h3{color:#fff;margin:0 0 12px;font-size:18px}
.sa-footer p{margin:0;color:#c8c8bf}
.sa-footer a{display:block;color:#d9d9d0;margin:6px 0}
.sa-footer a:hover{color:#fff}

/* Komponen lama untuk halaman booking, invoice, dan admin tetap rapi */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;padding:12px 18px;background:var(--sa-green);color:#fff;font-weight:800;cursor:pointer;min-height:44px;border-radius:4px}
.btn:hover{background:var(--sa-green-dark)}
.btn.secondary,.btn.ghost{background:#f1f1ec;color:#222;border:1px solid var(--sa-line)}
.btn.dark{background:#222;color:#fff}.btn.danger{background:#dc2626;color:#fff}.btn.full{width:100%}
.input,select,textarea{width:100%;padding:12px;border:1px solid #d6d6cf;font:inherit;background:#fff;outline:none;border-radius:3px}
.input:focus,select:focus,textarea:focus{border-color:var(--sa-green)}
label{font-weight:800}.form{display:grid;gap:16px}.form-group{display:grid;gap:7px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.section{padding:48px 0}.muted{color:#777}.badge{display:inline-block;padding:5px 9px;background:#e9e9e2;font-size:12px;font-weight:800}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.bad{background:#fee2e2;color:#991b1b}.badge.info{background:#dbeafe;color:#1e40af}.pill{display:inline-block;border:1px solid var(--sa-line);padding:5px 9px;background:#fff;font-size:12px;font-weight:800}.card{background:#fff;border:1px solid var(--sa-line);box-shadow:0 8px 24px rgba(0,0,0,.05)}.card-body{padding:22px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.split-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}.tool-img{width:100%;height:220px;object-fit:cover;background:#eee}.summary{background:#f1f8ee;border:1px solid #cfe5c7;padding:16px}.qris-box{display:grid;grid-template-columns:210px 1fr;gap:18px;align-items:center;background:#fafafa;border:1px dashed #aaa;padding:16px}.qris-box img{background:#fff;border:1px solid var(--sa-line)}.invoice{max-width:980px;margin:auto}.invoice-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--sa-line);padding-bottom:18px;margin-bottom:18px}.invoice-grid{display:grid;grid-template-columns:1fr 320px;gap:22px}.line-table{width:100%;border-collapse:collapse}.line-table th,.line-table td{padding:12px;border-bottom:1px solid var(--sa-line);text-align:left}.total-box{background:#222;color:white;padding:20px}.topbar{background:#fff;border-bottom:1px solid var(--sa-line);position:sticky;top:0;z-index:20}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px}.nav-actions{display:flex;gap:10px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:900}.logo{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sa-green-dark);color:#fff}.hero{background:var(--sa-green-dark);color:#fff;padding:60px 0}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.hero h1{font-size:52px;line-height:1;margin:12px 0}.hero p{font-size:18px;color:#eef8ea}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:rgba(255,255,255,.1);padding:14px}.admin-layout{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:#171912;color:white;padding:22px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar a{display:flex;padding:12px 14px;color:#eee;font-weight:800;margin-bottom:4px}.sidebar a:hover{background:rgba(255,255,255,.1)}.main{min-width:0;padding:28px}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric{padding:20px;background:white;border:1px solid var(--sa-line)}.metric strong{display:block;font-size:28px}.table-wrap{overflow:auto;border:1px solid var(--sa-line);background:#fff}.table{width:100%;border-collapse:collapse;min-width:860px}.table th,.table td{padding:14px;border-bottom:1px solid var(--sa-line);text-align:left;vertical-align:top}.table th{font-size:12px;text-transform:uppercase;background:#f8f8f4}.actions{display:flex;gap:8px;flex-wrap:wrap}.login{min-height:100vh;display:grid;place-items:center;background:var(--sa-green-dark);padding:20px}.login .card{width:min(440px,100%)}

@media(max-width:1100px){
  .sa-main{grid-template-columns:1fr}
  .sa-sidebar{grid-template-columns:repeat(2,1fr)}
  .sa-contact-widget{grid-column:1/-1}
  .sa-products{grid-template-columns:repeat(3,1fr)}
  .sa-brand-inner{grid-template-columns:220px 1fr 110px}
  .admin-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .sa-container{max-width:calc(100% - 24px)}
  .sa-brand-inner{grid-template-columns:1fr;gap:12px;padding:14px 0}.sa-cart{justify-self:start;border-left:0;padding-left:0}.sa-search{grid-template-columns:1fr 86px}
  .sa-main-menu{gap:20px;overflow-x:auto;white-space:nowrap}.sa-toolbar{align-items:flex-start;flex-direction:column}.sa-sort,.sa-sort select{width:100%}.sa-products{grid-template-columns:repeat(2,1fr);gap:22px 16px}.sa-product-img{height:220px}.sa-sidebar{grid-template-columns:1fr}.sa-footer-grid{grid-template-columns:1fr}.grid,.split-grid,.hero-grid,.invoice-grid,.cards-4{grid-template-columns:1fr}.two{grid-template-columns:1fr}.qris-box{grid-template-columns:1fr}.invoice-head{display:block}.main{padding:16px}.table{min-width:760px}
}
@media(max-width:520px){
  body{font-size:13px}.sa-container{max-width:calc(100% - 18px)}.sa-strip-inner{min-height:36px}.sa-strip-menu{gap:14px}.sa-logo{font-size:21px}.sa-logo-mark{width:36px;height:36px}.sa-main{padding-top:20px}.sa-products{grid-template-columns:1fr;gap:18px}.sa-product-img{height:260px}.sa-product h2{min-height:auto}.sa-widget{padding:18px}.sa-toolbar{padding-bottom:12px}.sa-main-menu{min-height:46px}.btn{width:100%}.nav .btn{width:auto}.hero h1{font-size:36px}.stat-row{grid-template-columns:1fr}.admin-title{display:block}.admin-title .actions{margin-top:12px}
}
@media(max-width:360px){.sa-product-img{height:220px}.sa-search{grid-template-columns:1fr}.sa-search button{height:40px}.sa-main-menu{gap:16px}.sa-product-info{padding:14px}.sa-book{width:100%}}
@media print{.sa-header,.sa-footer,.btn,.sidebar,.actions{display:none!important}body{background:#fff}.admin-layout{display:block}.main{padding:0}.card,.table-wrap{box-shadow:none;border:1px solid #ddd}.invoice{max-width:100%}}

/* Panel tujuan pembayaran */
.payment-panel{background:#fffdf5;border:1px solid #ead7a4;padding:16px;margin-top:16px}
.payment-title{font-size:16px;font-weight:900;color:#4b3b14;margin-bottom:10px}
.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pay-card{background:#fff;border:1px solid #ead7a4;padding:14px;display:grid;gap:4px;min-width:0}
.pay-card span{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#8a6d1d;font-weight:900}
.pay-card b{font-size:20px;color:#111;word-break:break-word}
.pay-card small{color:#666;line-height:1.45}
.payment-note{background:#fef3c7;border-left:4px solid #c69023;margin:12px 0 0;padding:10px 12px;color:#5b4211;line-height:1.55}
.invoice-pay{margin-top:0}
@media(max-width:820px){.payment-methods{grid-template-columns:1fr}.pay-card b{font-size:18px}}
@media(max-width:520px){.payment-panel{padding:12px}.pay-card{padding:12px}.pay-card b{font-size:16px}}
