:root {
    --orange: #ff6a00;
    --orange-dark: #ed5200;
    --yellow: #ffcc21;
    --yellow-soft: #fff8d9;
    --green: #17952a;
    --green-dark: #0d6f1d;
    --green-soft: #effaf1;
    --ink: #1f2a22;
    --muted: #67736a;
    --line: #e7ece7;
    --surface: #ffffff;
    --soft: #f8faf8;
    --shadow: 0 12px 36px rgba(23, 66, 31, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: #fff;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }

.topbar { background: linear-gradient(90deg, var(--orange-dark), var(--orange)); color: #fff; font-size: 13px; }
.topbar-inner { min-height: 38px; display: flex; justify-content: space-between; gap: 18px; align-items: center; }

.site-header { background: #fff; position: relative; z-index: 20; box-shadow: 0 1px 0 var(--line); }
.header-main { min-height: 112px; display: grid; grid-template-columns: 220px minmax(280px, 1fr) auto; gap: 34px; align-items: center; }
.brand img { width: 205px; }
.search-box { display: grid; grid-template-columns: 1fr 56px; border: 1px solid #d9e0d9; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 5px 16px rgba(0,0,0,.035); }
.search-box input { min-width: 0; border: 0; outline: 0; padding: 17px 20px; font-size: 15px; }
.search-box button { border: 0; background: var(--green); color: #fff; font-size: 27px; cursor: pointer; }
.header-actions { display: flex; gap: 22px; }
.header-actions a { display: grid; justify-items: center; gap: 4px; font-size: 22px; }
.header-actions span { font-size: 12px; font-weight: 700; }
.main-nav { border-top: 1px solid var(--line); }
.nav-inner { display: flex; justify-content: center; gap: 44px; align-items: center; min-height: 55px; font-weight: 700; font-size: 14px; }
.nav-inner a { position: relative; }
.nav-inner a:hover, .nav-inner a.active { color: var(--green); }
.nav-inner a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -18px; height: 3px; background: var(--orange); border-radius: 10px; }

.hero { background: radial-gradient(circle at 72% 25%, #fff2a9 0, #fff7d2 25%, #fffaf0 58%, #fff 100%); overflow: hidden; border-bottom: 1px solid #f5e7ba; }
.hero-grid { min-height: 470px; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 20px; }
.hero-copy { padding: 55px 0; }
.eyebrow, .section-kicker { color: var(--orange); font-weight: 900; font-size: 12px; letter-spacing: .13em; }
.hero h1 { margin: 10px 0 14px; font-size: clamp(46px, 6vw, 74px); line-height: .98; letter-spacing: -.045em; color: var(--green); }
.hero h1 span { color: var(--orange); }
.hero p { margin: 0; max-width: 570px; font-size: 20px; color: #475449; line-height: 1.5; }
.hero-buttons { display: flex; gap: 14px; margin-top: 28px; }
.btn { min-height: 48px; padding: 0 23px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.btn-orange { background: var(--orange); color: #fff; box-shadow: 0 10px 24px rgba(255,106,0,.22); }
.btn-outline { border: 2px solid var(--green); color: var(--green); background: #fff; }
.hero-points { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; color: var(--green-dark); font-size: 13px; font-weight: 800; }
.hero-art { position: relative; height: 400px; display: grid; place-items: center; }
.sun { position: absolute; width: 330px; height: 330px; border-radius: 50%; background: linear-gradient(135deg, #ffdc4e, #ffb20d); box-shadow: 0 30px 80px rgba(255,158,0,.22); }
.basket { position: relative; z-index: 3; font-size: 190px; filter: drop-shadow(0 20px 20px rgba(33,80,31,.16)); transform: translateY(25px); }
.hero-badge { position: absolute; z-index: 5; right: 4%; bottom: 45px; padding: 10px 18px; transform: rotate(-5deg); color: #fff; background: var(--orange); border: 5px solid #fff; outline: 6px solid var(--green); border-radius: 18px; text-align: center; font-weight: 900; font-size: 17px; line-height: 1.05; box-shadow: var(--shadow); }
.hero-badge strong { font-size: 22px; }
.hero-item { position: absolute; z-index: 4; font-size: 55px; filter: drop-shadow(0 10px 12px rgba(0,0,0,.12)); }
.i1 { left: 17%; top: 42px; } .i2 { left: 35%; top: 83px; } .i3 { right: 20%; top: 62px; } .i4 { right: 12%; top: 172px; } .i5 { left: 24%; bottom: 32px; }

.section { padding: 62px 0; }
.section-soft { background: var(--soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; }
.section-heading h2 { margin: 5px 0 0; font-size: 30px; letter-spacing: -.03em; }
.section-heading > a { color: var(--green); font-weight: 800; font-size: 13px; }
.category-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.category-card { min-width: 0; border: 1px solid var(--line); background: #fff; border-radius: 18px; padding: 16px; text-align: center; box-shadow: var(--shadow); transition: transform .18s ease, box-shadow .18s ease; }
.category-card:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(23,66,31,.13); }
.category-icon { aspect-ratio: 1.25 / 1; border-radius: 15px; display: grid; place-items: center; font-size: 58px; margin-bottom: 14px; }
.category-tone-1 { background: #fff0df; } .category-tone-2 { background: #edf8ff; } .category-tone-3 { background: #effaf1; } .category-tone-4 { background: #fff7d9; } .category-tone-5 { background: #fff0f0; } .category-tone-6 { background: #f6efe7; }
.category-card strong { display: block; min-height: 42px; font-size: 14px; line-height: 1.35; }
.category-card span { display: inline-block; margin-top: 10px; color: var(--green); font-size: 12px; font-weight: 800; }

.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.product-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: var(--shadow); }
.product-placeholder { height: 190px; display: grid; place-items: center; font-size: 85px; background: linear-gradient(135deg, #fff9e8, #f3fff4); }
.product-body { padding: 16px; display: grid; gap: 8px; }
.product-body small { color: var(--muted); }
.product-body h3 { margin: 0; min-height: 45px; font-size: 16px; }
.price { color: var(--orange-dark); font-size: 21px; }
.stock { color: var(--muted); font-size: 12px; }
.add-cart { margin-top: 5px; border: 0; border-radius: 9px; min-height: 39px; color: #fff; background: var(--green); font-weight: 800; cursor: pointer; }
.empty-state { border: 1px dashed #b8cab9; border-radius: 16px; padding: 34px; text-align: center; background: #fff; color: var(--muted); display: grid; gap: 7px; }
.empty-state.wide { grid-column: 1 / -1; }
.empty-state strong { color: var(--ink); }

.promo-strip { padding: 0 0 62px; background: var(--soft); }
.promo-grid { border-radius: 18px; overflow: hidden; display: grid; grid-template-columns: repeat(4, 1fr); background: linear-gradient(90deg, var(--orange-dark), var(--orange)); color: #fff; box-shadow: 0 16px 40px rgba(255,106,0,.18); }
.promo-grid > div { padding: 21px 23px; display: grid; gap: 4px; border-right: 1px solid rgba(255,255,255,.28); }
.promo-grid > div:last-child { border-right: 0; }
.promo-grid strong { font-size: 14px; }
.promo-grid span { font-size: 12px; opacity: .92; }

.benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.benefits article { border: 1px solid var(--line); border-radius: 15px; padding: 20px; display: flex; gap: 14px; background: #fff; }
.benefits article > span { font-size: 33px; }
.benefits strong { font-size: 15px; }
.benefits p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }

.site-footer { border-top: 1px solid var(--line); background: #fff; }
.footer-grid { padding: 48px 0; display: grid; grid-template-columns: 1.05fr .55fr .75fr 1.65fr; gap: 34px; align-items: start; }
.footer-brand img { width: 180px; margin-bottom: 13px; }
.footer-brand p { color: var(--muted); font-size: 13px; line-height: 1.55; max-width: 260px; }
.footer-grid h3 { margin: 0 0 14px; font-size: 15px; }
.footer-grid > div:not(.footer-brand):not(.contact-card) > a { display: block; color: var(--muted); font-size: 13px; margin: 8px 0; }
.contact-card { padding: 20px; border: 2px solid #ffad45; border-radius: 18px; background: #fffdf6; }
.contact-title { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 11px; }
.contact-title h3 { margin: 0; }
.contact-row { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 9px 0; border-top: 1px solid #f0e6d1; }
.contact-row > span { width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; background: var(--green-soft); color: var(--green); }
.contact-row div { display: grid; gap: 2px; }
.contact-row small { color: var(--muted); font-size: 10px; }
.contact-row strong { font-size: 12px; line-height: 1.45; }
.contact-row a { color: var(--green-dark); }
.contact-empty { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.footer-bottom { background: var(--green); color: #fff; font-size: 12px; }
.footer-bottom .container { min-height: 48px; display: flex; justify-content: space-between; gap: 20px; align-items: center; }

@media (max-width: 1000px) {
    .header-main { grid-template-columns: 175px 1fr; gap: 20px; }
    .header-actions { display: none; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { padding-bottom: 10px; }
    .hero-art { height: 320px; }
    .category-grid { grid-template-columns: repeat(3, 1fr); }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .promo-grid, .benefits { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
    .container { width: min(100% - 22px, 1180px); }
    .topbar-inner { justify-content: center; min-height: 34px; }
    .topbar-inner span:nth-child(n+2) { display: none; }
    .header-main { grid-template-columns: 1fr; gap: 10px; padding: 14px 0 18px; }
    .brand { justify-self: center; }
    .brand img { width: 185px; }
    .nav-inner { justify-content: flex-start; gap: 24px; overflow-x: auto; min-height: 50px; }
    .nav-inner a { white-space: nowrap; }
    .nav-inner a.active::after { bottom: -15px; }
    .hero-grid { min-height: auto; }
    .hero-copy { padding: 43px 0 12px; }
    .hero h1 { font-size: 47px; }
    .hero p { font-size: 16px; }
    .hero-buttons { flex-direction: column; align-items: stretch; }
    .hero-art { height: 290px; }
    .sun { width: 250px; height: 250px; }
    .basket { font-size: 140px; }
    .hero-item { font-size: 40px; }
    .hero-badge { right: 2%; bottom: 35px; font-size: 13px; }
    .hero-badge strong { font-size: 16px; }
    .section { padding: 44px 0; }
    .section-heading { align-items: start; }
    .section-heading h2 { font-size: 26px; }
    .section-heading > a { display: none; }
    .category-grid { grid-template-columns: repeat(2, 1fr); gap: 11px; }
    .category-card { padding: 11px; }
    .category-icon { font-size: 45px; }
    .product-grid, .promo-grid, .benefits, .footer-grid { grid-template-columns: 1fr; }
    .promo-grid > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); }
    .promo-grid > div:last-child { border-bottom: 0; }
    .footer-bottom .container { flex-direction: column; justify-content: center; padding: 12px 0; text-align: center; }
}

.product-placeholder.product-photo{padding:0;overflow:hidden}.product-placeholder.product-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Step 10B hotfix: halaman kategori + detail produk */
.product-card-link{display:block;height:100%}.view-product{display:inline-flex;margin-top:5px;color:var(--green);font-size:12px;font-weight:850}.catalog-page{min-height:55vh;background:#fff}.catalog-hero{padding:42px 0 34px;background:linear-gradient(135deg,#fff8df 0,#fff 52%,#effaf1 100%);border-bottom:1px solid var(--line)}.catalog-hero h1{margin:7px 0 8px;font-size:40px;letter-spacing:-.04em;color:var(--green-dark)}.catalog-hero p{margin:0;color:var(--muted);font-size:14px}.breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:21px;color:var(--muted);font-size:12px}.breadcrumb a{color:var(--green-dark);font-weight:750}.breadcrumb strong{color:var(--ink)}.catalog-section{padding-top:42px}.catalog-category-grid{margin-bottom:10px}.subcategory-block{margin-bottom:38px}.compact-heading{margin-bottom:17px}.subcategory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.subcategory-grid>a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff;box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease}.subcategory-grid>a:hover{transform:translateY(-3px);border-color:#b9dabe}.subcategory-grid>a>span{width:48px;height:48px;border-radius:12px;background:var(--yellow-soft);display:grid;place-items:center;font-size:28px}.subcategory-grid>a>div{display:grid;gap:2px}.subcategory-grid small{color:var(--muted);font-size:10px}.subcategory-grid strong{font-size:14px}.catalog-results-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin:8px 0 22px}.catalog-results-head h2{margin:5px 0 0;font-size:28px}.catalog-results-head>a{color:var(--green);font-size:12px;font-weight:800}.page-empty{margin:54px 0}.compact-btn{justify-self:center;margin-top:10px;min-height:42px}.catalog-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-detail-section{padding-top:35px}.product-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:46px;align-items:start}.product-gallery{display:grid;gap:13px}.gallery-main{aspect-ratio:1/1;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff9e8,#f3fff4);display:grid;place-items:center;overflow:hidden;font-size:130px;box-shadow:var(--shadow)}.gallery-main img{width:100%;height:100%;object-fit:contain;background:#fff}.gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:#fff}.product-detail-info{position:sticky;top:26px;border:1px solid var(--line);border-radius:22px;padding:28px;background:#fff;box-shadow:var(--shadow)}.product-detail-info h1{margin:7px 0 8px;font-size:34px;line-height:1.15;letter-spacing:-.035em}.product-sku{font-size:11px;color:var(--muted);margin-bottom:20px}.detail-price{display:block;color:var(--orange-dark);font-size:34px;margin-bottom:14px}.availability{display:inline-flex;padding:8px 11px;border-radius:99px;font-size:12px;font-weight:850;margin-bottom:20px}.availability.in-stock{background:var(--green-soft);color:var(--green-dark)}.availability.out-stock{background:#fff0ef;color:#a13128}.product-meta-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--line);font-size:12px}.product-description{border-top:1px solid var(--line);padding-top:18px;margin-top:3px}.product-description h2{font-size:16px;margin:0 0 8px}.product-description p{margin:0;color:var(--muted);line-height:1.7;font-size:13px}.detail-back{margin-top:23px}
@media(max-width:1050px){.subcategory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail-grid{grid-template-columns:1fr 1fr;gap:25px}}
@media(max-width:760px){.catalog-hero h1{font-size:31px}.catalog-results-head{align-items:flex-start;flex-direction:column}.subcategory-grid,.catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail-grid{grid-template-columns:1fr}.product-detail-info{position:static}.gallery-main{font-size:95px}}
@media(max-width:480px){.subcategory-grid,.catalog-product-grid{grid-template-columns:1fr}.gallery-thumbs{grid-template-columns:repeat(4,1fr)}.product-detail-info h1{font-size:28px}.detail-price{font-size:29px}}

/* Step 10B Hotfix 2 - interactive product gallery */
.gallery-main-clickable{position:relative;cursor:zoom-in;outline:none}
.gallery-main-clickable:focus-visible{box-shadow:0 0 0 4px rgba(38,128,57,.18),var(--shadow)}
.gallery-zoom-hint{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(20,42,24,.78);color:#fff;font-size:11px;font-weight:800;line-height:1;pointer-events:none}
.gallery-thumbs .gallery-thumb{appearance:none;padding:0;border:2px solid transparent;border-radius:14px;background:#fff;cursor:pointer;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.gallery-thumbs .gallery-thumb:hover{transform:translateY(-2px);border-color:#f3b234}
.gallery-thumbs .gallery-thumb.active{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,139,31,.14)}
.gallery-thumbs .gallery-thumb:focus-visible{outline:3px solid rgba(38,128,57,.24);outline-offset:2px}
.gallery-thumbs .gallery-thumb img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border:0;border-radius:11px;background:#fff}
.product-lightbox[hidden]{display:none}
.product-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:28px;background:rgba(10,18,11,.88);backdrop-filter:blur(3px)}
.product-lightbox img{max-width:min(94vw,1100px);max-height:88vh;object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.38)}
.lightbox-close{position:fixed;top:18px;right:22px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#222;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.25)}
body.lightbox-open{overflow:hidden}

/* =====================================================
   STEP 10E - CUSTOMER / ADDRESS / CART / CHECKOUT
   ===================================================== */
.public-alert{margin:0 0 18px;padding:13px 15px;border-radius:13px;font-size:13px;line-height:1.55;border:1px solid transparent}.public-alert.success{background:#edf9ef;border-color:#bfe4c6;color:#24652e}.public-alert.error{background:#fff0ef;border-color:#efc3bf;color:#9b3028}.public-alert.warning{background:#fff8df;border-color:#ecd68c;color:#765a0f}.public-alert.info{background:#edf7ff;border-color:#bcd9ee;color:#265a7a}
.account-page,.cart-page,.checkout-page{min-height:60vh;background:linear-gradient(180deg,#fff 0,#fffef9 100%)}.account-narrow{max-width:660px}.account-card{border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff;box-shadow:var(--shadow)}.account-card h1,.account-content h1{margin:7px 0 9px;font-size:32px;letter-spacing:-.035em}.form-intro{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.65}.public-form{display:grid;gap:16px}.public-form label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:800}.public-form input,.public-form textarea,.public-form select,.address-select-form select{width:100%;border:1px solid #d8e2d8;border-radius:11px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit;outline:none}.public-form input:focus,.public-form textarea:focus,.public-form select:focus,.address-select-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(38,128,57,.1)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-switch{margin:20px 0 0;color:var(--muted);font-size:13px}.account-switch a{color:var(--green);font-weight:800}
.account-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:28px;align-items:start}.customer-account-nav{position:sticky;top:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.customer-nav-profile{padding:18px;display:flex;align-items:center;gap:11px;background:linear-gradient(135deg,#fff7df,#effaf1)}.customer-nav-profile>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff;font-size:22px}.customer-nav-profile div{display:grid;gap:2px;min-width:0}.customer-nav-profile strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-nav-profile small{font-size:10px;color:var(--muted)}.customer-account-nav nav{display:grid;padding:9px}.customer-account-nav nav a{padding:11px 12px;border-radius:9px;font-size:13px;font-weight:750;color:#526055}.customer-account-nav nav a:hover,.customer-account-nav nav a.active{background:var(--green-soft);color:var(--green-dark)}.customer-account-nav form{padding:0 9px 12px}.customer-nav-logout{width:100%;border:0;border-radius:9px;padding:10px;background:#fff0ef;color:#a1362e;font-weight:800;cursor:pointer}.account-content{min-width:0}.account-hero-card{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:24px;background:linear-gradient(135deg,#fff8df,#f1faf2);box-shadow:var(--shadow);margin-bottom:18px}.account-hero-card h1{margin-bottom:4px}.account-hero-card p{margin:0;color:var(--muted);font-size:12px}.customer-status{padding:7px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.05em}.customer-status.active{background:var(--green-soft);color:var(--green-dark)}.customer-status.pending{background:#fff2bf;color:#81600e}.customer-status.blocked{background:#fff0ef;color:#a1362e}.account-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.account-stats a{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff;display:grid;gap:4px;box-shadow:var(--shadow)}.account-stats strong{font-size:25px;color:var(--green)}.account-stats span{font-size:11px;color:var(--muted)}.account-panel{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff;box-shadow:var(--shadow)}.account-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.account-panel-head h1,.account-panel-head h2{margin:4px 0 0}.account-panel-head h2{font-size:22px}.account-panel-head>a{color:var(--green);font-size:12px;font-weight:800}.account-order-list{display:grid}.account-order-list>a{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--line)}.account-order-list>a:first-child{border-top:0}.account-order-list div{display:grid;gap:3px}.account-order-list small{color:var(--muted);font-size:10px}.order-list-right{text-align:right}
.address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.address-card{border:1px solid var(--line);border-radius:17px;padding:18px;background:#fff;box-shadow:var(--shadow);display:grid;gap:8px}.address-card.default{border-color:#91cf9b;box-shadow:0 0 0 3px rgba(38,128,57,.08)}.address-card-head{display:flex;justify-content:space-between;gap:10px}.address-card-head>strong{color:var(--orange-dark);font-size:13px}.address-card-head>span{padding:4px 7px;border-radius:99px;background:var(--green-soft);color:var(--green-dark);font-size:9px;font-weight:900}.address-card h3{margin:2px 0 0;font-size:15px}.address-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.address-card small{font-size:11px;color:#56635a}.coordinate-note{padding:8px;border-radius:9px;background:#f7faf7;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.address-actions{display:flex;gap:9px;margin-top:5px}.address-actions form{display:inline-flex}.btn-danger-soft{border:1px solid #ecc7c3;color:#a1362e;background:#fff5f4}.check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important}.check-row input{width:auto!important}.map-tools-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fbfdfb;display:grid;gap:13px}.map-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px}.map-search-row input{border:1px solid #d8e2d8;border-radius:11px;padding:11px 12px}.map-search-results{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;max-height:250px;overflow-y:auto}.map-search-results button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:11px;text-align:left;background:#fff;font-size:11px;line-height:1.5;cursor:pointer}.map-search-results button:hover{background:var(--green-soft)}.coordinate-paste-label{display:grid;gap:7px;font-size:12px;font-weight:800}.coordinate-status{font-size:10px;color:var(--muted)}.coordinate-status.success{color:var(--green-dark)}.coordinate-status.error{color:#a1362e}.customer-map{height:390px;border-radius:14px;overflow:hidden;border:1px solid #cad8ca;background:#eef4ee}.coordinate-grid input[readonly]{background:#f4f7f4;color:#34453a}
.product-buy-box{margin:3px 0 20px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffdf7;display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:end}.product-buy-box label{display:grid;gap:5px;font-size:11px;font-weight:800}.product-buy-box input{width:100%;border:1px solid #d8e2d8;border-radius:9px;padding:10px}.product-buy-box .btn{min-height:42px;border:0;cursor:pointer}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:25px;align-items:start}.cart-items{display:grid;gap:13px}.cart-item{display:grid;grid-template-columns:120px minmax(0,1fr) 190px;gap:17px;align-items:center;border:1px solid var(--line);border-radius:17px;padding:14px;background:#fff;box-shadow:var(--shadow)}.cart-item-image{height:110px;border-radius:12px;background:linear-gradient(135deg,#fff9e8,#f3fff4);overflow:hidden;display:grid;place-items:center;font-size:45px}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-info{display:grid;gap:4px}.cart-item-info small,.cart-item-info span{font-size:10px;color:var(--muted)}.cart-item-info h2{margin:0;font-size:16px}.cart-item-info code{font-size:10px;color:#6c776e}.cart-item-info>strong{color:var(--orange-dark);font-size:16px}.cart-item-controls{display:grid;gap:8px;justify-items:end}.cart-qty-form{display:flex;gap:7px;align-items:end}.cart-qty-form label{display:grid;gap:3px;font-size:10px}.cart-qty-form input{width:68px;border:1px solid #d8e2d8;border-radius:8px;padding:8px}.cart-qty-form .btn{min-height:34px;padding:0 10px;font-size:10px}.cart-line-total{font-size:15px}.cart-remove{border:0;background:none;color:#a1362e;font-size:10px;font-weight:800;cursor:pointer}.cart-summary,.checkout-summary{position:sticky;top:20px;border:1px solid var(--line);border-radius:18px;padding:21px;background:#fff;box-shadow:var(--shadow)}.cart-summary h2,.checkout-summary h2{margin:5px 0 17px;font-size:21px}.summary-row,.summary-total{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.summary-row.muted{color:var(--muted)}.summary-total{font-size:15px;margin-top:3px}.summary-total strong{color:var(--orange-dark);font-size:21px}.cart-checkout-btn{width:100%;margin:14px 0 10px;border:0;cursor:pointer}.cart-checkout-btn:disabled{opacity:.45;cursor:not-allowed}.cart-summary>small,.checkout-summary>small,.shipping-rule{display:block;color:var(--muted);font-size:10px;line-height:1.55}
.checkout-main{display:grid;gap:16px}.checkout-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff;box-shadow:var(--shadow)}.checkout-card-head{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:15px}.checkout-card-head h2{margin:4px 0 0;font-size:20px}.checkout-card-head>a{font-size:11px;color:var(--green);font-weight:800}.address-select-form label{display:grid;gap:6px;font-size:11px;font-weight:800}.checkout-address-box{margin-top:13px;border:1px solid #dfe8df;border-radius:13px;padding:14px;background:#fbfdfb;display:grid;gap:5px}.checkout-address-box strong{font-size:14px}.checkout-address-box span,.checkout-address-box small{font-size:10px;color:var(--muted)}.checkout-address-box p{margin:4px 0;color:#526055;font-size:12px;line-height:1.55}.checkout-items{display:grid}.checkout-item{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--line)}.checkout-item:first-child{border-top:0}.checkout-item div{display:grid;gap:3px}.checkout-item small{color:var(--muted);font-size:10px}.checkout-item>strong{white-space:nowrap}.delivery-result{display:flex;gap:13px;align-items:flex-start;padding:14px;border-radius:13px;background:var(--green-soft);color:var(--green-dark)}.delivery-result>span{font-size:27px}.delivery-result div{display:grid;gap:3px}.delivery-result p{margin:0;font-size:11px;line-height:1.55}.order-success-card{text-align:center;border:1px solid var(--line);border-radius:22px;padding:34px;background:#fff;box-shadow:var(--shadow)}.success-icon{margin:0 auto 14px;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:33px;font-weight:900}.order-success-card h1{font-size:35px;margin:7px 0}.order-success-card p{color:var(--muted);font-size:12px;line-height:1.6}.order-number{display:block;margin:12px 0;font-size:20px;color:var(--green-dark);letter-spacing:.04em}.order-success-total{display:flex;justify-content:space-between;gap:15px;max-width:350px;margin:18px auto;padding:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.order-success-total strong{color:var(--orange-dark)}.success-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}.orders-grid{display:grid;gap:12px}.order-card{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:center}.order-card-head{display:grid;gap:3px}.order-card-head span{font-size:10px;color:var(--muted)}.order-badges{display:flex;gap:5px;flex-wrap:wrap}.order-badges span{padding:5px 7px;border-radius:99px;background:#f2f5f2;font-size:9px;font-weight:800}.order-card-total{display:grid;gap:2px;text-align:right}.order-card-total small{font-size:9px;color:var(--muted)}.order-card-total strong{color:var(--orange-dark)}.order-detail-status{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.order-detail-status span{padding:7px 10px;border-radius:99px;background:#f4f7f4;font-size:10px}.order-detail-layout{margin-top:0}

@media(max-width:900px){.account-layout{grid-template-columns:1fr}.customer-account-nav{position:static}.customer-account-nav nav{grid-template-columns:repeat(4,1fr)}.customer-account-nav nav a{text-align:center;font-size:11px}.cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-summary,.checkout-summary{position:static}.cart-item{grid-template-columns:100px minmax(0,1fr)}.cart-item-controls{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.address-grid{grid-template-columns:1fr}.map-search-row{grid-template-columns:1fr 1fr}.map-search-row input{grid-column:1/-1}}
@media(max-width:600px){.form-grid-2{grid-template-columns:1fr}.account-card{padding:22px}.account-stats{grid-template-columns:1fr 1fr}.customer-account-nav nav{grid-template-columns:1fr 1fr}.account-hero-card{align-items:flex-start;flex-direction:column}.cart-item{grid-template-columns:82px minmax(0,1fr);gap:12px}.cart-item-image{height:82px}.cart-item-controls{align-items:flex-end;flex-direction:column}.product-buy-box{grid-template-columns:1fr}.map-search-row{grid-template-columns:1fr}.map-search-row input{grid-column:auto}.customer-map{height:320px}.order-card{grid-template-columns:1fr}.order-card-total{text-align:left}.success-actions{flex-direction:column}.header-actions{display:flex!important;justify-content:center}.header-actions a{font-size:18px}.header-actions span{font-size:10px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.google-map-link{display:inline-flex;justify-self:start;color:var(--green);font-size:11px;font-weight:850}

/* =========================================================
   MASTER PROMO V1
   ========================================================= */
.product-card{position:relative}
.promo-ribbon{position:absolute;z-index:4;top:13px;left:-5px;max-width:82%;padding:7px 12px 7px 14px;border-radius:0 9px 9px 0;background:linear-gradient(90deg,#f15b22,#ff8a1f);color:#fff;font-size:10px;font-weight:900;letter-spacing:.02em;box-shadow:0 7px 16px rgba(166,72,11,.22);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.promo-ribbon:before{content:"";position:absolute;left:0;bottom:-5px;border-top:5px solid #a63c10;border-left:5px solid transparent}
.promo-price-stack{display:grid;justify-items:start;gap:2px;margin-top:2px}.promo-price-stack s{font-size:11px;color:#8b918c}.promo-price-stack .price{margin:0}.promo-discount{display:inline-flex!important;padding:3px 7px;border-radius:999px;background:#fff1df;color:#b74d00!important;font-size:9px!important;font-weight:900}
.detail-promo-badge{display:inline-flex;align-items:center;gap:5px;margin:0 0 10px;padding:7px 10px;border-radius:999px;background:#fff0df;color:#ba4d00;font-size:11px;font-weight:900}.detail-promo-price{display:grid;justify-items:start;gap:3px;margin-bottom:14px}.detail-promo-price s{color:#899089;font-size:15px}.detail-promo-price .detail-price{margin:0}.detail-promo-price small{color:#b34a00;font-size:10px;font-weight:800}
.cart-promo-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:3px}.cart-promo-line>span{padding:4px 7px;border-radius:999px;background:#fff0df!important;color:#b84c00!important;font-size:9px!important;font-weight:900}.cart-promo-line s{font-size:11px;color:#8b918c}.cart-promo-line strong{color:var(--orange-dark);font-size:16px}.checkout-promo-note{color:#b34a00!important;font-weight:750}
@media(max-width:600px){.promo-ribbon{max-width:88%;font-size:9px}.detail-promo-price .detail-price{font-size:29px}}

/* BML Information Pages */
.info-page-section{padding-top:34px;padding-bottom:58px}
.info-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}
.info-page-card{border:1px solid var(--line);border-radius:19px;padding:24px;background:#fff;box-shadow:var(--shadow);display:grid;gap:20px}
.info-page-card h2{margin:0;font-size:22px}
.info-page-card h3{margin:0 0 5px;font-size:15px;color:var(--green-dark)}
.info-page-card p{margin:0;color:#526055;font-size:12px;line-height:1.75}
.info-steps{display:grid;gap:0;counter-reset:bml-info-step}
.info-step{counter-increment:bml-info-step;display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:15px 0;border-top:1px solid var(--line)}
.info-step:first-child{border-top:0;padding-top:0}
.info-step:before{content:counter(bml-info-step);width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);font-size:12px;font-weight:900}
.info-step strong{display:block;margin-bottom:3px;font-size:13px;color:#1e2922}
.info-step span{display:block;color:#5b685f;font-size:11px;line-height:1.65}
.info-note{padding:14px 15px;border-radius:13px;background:#fff8e7;border:1px solid #f3dfaa;color:#775a10;font-size:11px;line-height:1.65}
.info-side{position:sticky;top:20px;border:1px solid var(--line);border-radius:17px;padding:18px;background:#fff;box-shadow:var(--shadow)}
.info-side h3{margin:0 0 11px;font-size:15px}
.info-side nav{display:grid;gap:5px}
.info-side a{padding:9px 10px;border-radius:9px;color:#435148;font-size:11px;font-weight:800}
.info-side a:hover,.info-side a.active{background:var(--green-soft);color:var(--green-dark)}
.info-points{margin:0;padding-left:18px;display:grid;gap:9px;color:#526055;font-size:12px;line-height:1.65}
@media(max-width:800px){.info-page-grid{grid-template-columns:1fr}.info-side{position:static;order:-1}.info-side nav{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.info-page-card{padding:18px}.info-side nav{grid-template-columns:1fr}.info-step{grid-template-columns:33px minmax(0,1fr)}}
