:root {
  --ink: #102c46;
  --ink-2: #214968;
  --gold: #c69a52;
  --gold-soft: #f3e8d3;
  --oasis: #315d7a;
  --paper: #f6f4ef;
  --white: #fff;
  --muted: #6e7780;
  --line: #dfe3e5;
  --shadow: 0 18px 55px rgba(16,44,70,.13);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.topbar { position: sticky; top: 0; z-index: 20; min-height: 82px; padding: 14px 28px; display: flex; align-items: center; justify-content: space-between; gap: 22px; background: rgba(16,44,70,.97); color: #fff; box-shadow: 0 8px 28px rgba(16,44,70,.18); }
.brand-lockup { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; white-space: nowrap; line-height: 1; }
.brand-script { font-size: 1.72rem; font-weight: 900; letter-spacing: .08em; }
.brand-sub { display: block; margin-top: 4px; color: #fff; font-size: .78rem; font-weight: 700; line-height: 1.2; text-transform: uppercase; letter-spacing: .16em; }
.top-actions { display: flex; align-items: center; gap: 12px; flex: 1; justify-content: flex-end; }
.campaign-nav{height:48px;display:flex;align-items:center;gap:7px;padding:0 13px;border:1px solid rgba(255,255,255,.35);border-radius:13px;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}.campaign-nav b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:.76rem}.campaign-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#51c878;box-shadow:0 0 0 4px rgba(81,200,120,.18)}
.search { width: min(430px, 45vw); height: 48px; display: flex; align-items: center; gap: 10px; padding: 0 15px; background: #fff; color: var(--ink); border-radius: 13px; }
.search span { font-size: 1.5rem; color: var(--muted); }
.search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 1rem; }
.cart-button { height: 48px; padding: 0 18px; border: 1px solid rgba(255,255,255,.35); border-radius: 13px; background: var(--gold); color: #112a40; font-weight: 800; }
.cart-button span { display: inline-grid; place-items: center; min-width: 28px; height: 28px; margin-left: 8px; border-radius: 999px; background: var(--ink); color: #fff; }
main { max-width: 1500px; margin: auto; padding: 28px; }
.campaign-zone{scroll-margin-top:105px;display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(330px,1fr) minmax(220px,.8fr);gap:22px;align-items:center;margin:8px 0 26px;padding:24px 26px;border-radius:20px;background:linear-gradient(125deg,#102c46,#183f5e);color:#fff;box-shadow:0 16px 35px rgba(16,44,70,.18)}.campaign-zone .eyebrow{margin-top:14px}.campaign-zone h2{font-size:clamp(1.7rem,2.7vw,2.45rem)}.campaign-zone-copy>p:last-child{max-width:650px;margin:9px 0 0;color:#dbe6ee;line-height:1.5}.campaign-status{display:flex;align-items:center;gap:9px;font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.11em}.campaign-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.campaign-tiers span{display:grid;gap:3px;padding:13px 7px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);text-align:center}.campaign-tiers b{font-size:.76rem;color:#dbe6ee}.campaign-tiers strong{font-size:1.35rem;color:#e8bd72}.campaign-benefits{display:grid;gap:9px;color:#e8eef3;font-size:.88rem}.campaign-benefits span b{color:#fff}.campaign-benefits button{min-height:44px;margin-top:3px;border:0;border-radius:11px;background:var(--gold);color:var(--ink);font-weight:850}
.intro-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin: 8px 0 22px; }
.eyebrow { margin: 0 0 5px; color: var(--gold); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
h1, h2 { margin: 0; font-family: Georgia, serif; font-weight: 500; }
h1 { font-size: clamp(2.2rem, 4vw, 4.1rem); letter-spacing: -.045em; }
h2 { font-size: 2rem; }
.intro-meta { display: flex; flex-direction: column; align-items: flex-end; color: var(--muted); line-height: 1.5; }
.intro-meta strong { color: var(--ink); }
.brand-tabs { display: grid; gap: 7px; margin-bottom: 20px; }
.brand-tab { width:100%; padding: 11px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); font-weight: 750; text-align:left; }
.brand-tab.active { background: var(--ink); color: white; border-color: var(--ink); }
.brand-tab.jewels.active { background: #68574a; border-color: #68574a; }
.brand-tab.oasis.active { background: var(--oasis); border-color: var(--oasis); }
.brand-tab.dicam.active { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.catalog-layout { display: grid; grid-template-columns: 225px minmax(0,1fr); gap: 22px; align-items: start; }
.filters { position: sticky; top: 106px; max-height:calc(100dvh - 126px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding: 18px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.filter-title { margin: 0 0 10px; font-weight: 800; }
.filter-option { width: 100%; display: flex; justify-content: space-between; padding: 11px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); text-align: left; }
.filter-option.active { background: var(--gold-soft); color: var(--ink); font-weight: 800; }
.filter-option small { color: inherit; }
.category-group { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.category-group-title { color: var(--ink); font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.category-suboptions { display: grid; gap: 2px; padding-left: 10px; }
.category-child { padding-left: 14px; }
.filter-option:disabled { cursor: default; opacity: .42; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 17px; }
.product-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 8px 25px rgba(16,44,70,.05); transition: transform .18s, box-shadow .18s; }
.product-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.product-media { position: relative; flex: 0 0 290px; height: 290px; min-height: 290px; display: grid; place-items: center; overflow: hidden; padding: 12px; background: linear-gradient(145deg,#fafafa,#edf0f1); isolation: isolate; touch-action: pan-y; cursor: grab; }
.product-media:active { cursor: grabbing; }
.product-media img { position: absolute; inset: 12px; display: block; width: calc(100% - 24px); height: calc(100% - 24px); max-width: none; max-height: none; object-fit: contain; object-position: center; mix-blend-mode: multiply; pointer-events: none; user-select: none; transition: opacity .16s ease; }
.product-media img.lifestyle-photo { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: normal; }
.product-media img.flyer { inset: 0; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; }
.product-media img.flyer-box { object-position: 50% 39%; }
.product-media img.flyer-bottle { object-position: 50% 63%; }
.product-media img.flyer-cloth { object-position: 50% 87%; }
.product-media:has(img.strap-photo) { background: #fff; }
.product-media img.strap-photo { mix-blend-mode: normal; }
.product-media img.strap-cutout { mix-blend-mode: normal; }
.image-picker { position:absolute; z-index:3; left:50%; bottom:10px; display:flex; gap:7px; transform:translateX(-50%); padding:6px 8px; border-radius:999px; background:rgba(255,255,255,.9); box-shadow:0 3px 12px rgba(16,44,70,.14); }
.image-dot { width:12px; height:12px; padding:0; border:2px solid var(--ink); border-radius:50%; background:#fff; }
.image-dot.active { background:var(--gold); }
.brand-pill { position: absolute; z-index: 2; top: 13px; left: 13px; padding: 6px 9px; border-radius: 999px; background: rgba(16,44,70,.94); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.brand-pill.oasis { background: var(--oasis); }
.brand-pill.jewels { background: #68574a; }
.brand-pill.dicam { background: var(--gold); color: var(--ink); }
.product-body { position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; padding: 17px; background: var(--white); }
.product-kicker { margin: 0 0 7px; color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.product-title { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.product-title h3 { margin: 0; font-size: 1.35rem; }
.price { color: var(--ink); font-size: 1.25rem; font-weight: 850; white-space: nowrap; }
.details { min-height: 44px; margin: 9px 0 12px; color: var(--muted); font-size: .85rem; line-height: 1.45; }
.variant-row { display: grid; grid-template-columns: minmax(0,1fr) 112px; gap: 9px; margin-top: auto; }
.variant-row.single-option { grid-template-columns: 112px; justify-content: end; }
.variant-row select, .qty-control { height: 46px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.variant-row select { width: 100%; padding: 0 10px; color: var(--ink); }
.qty-control { display: grid; grid-template-columns: 36px 1fr 36px; align-items: center; overflow: hidden; }
.qty-control button { height: 100%; border: 0; background: #f1f3f4; color: var(--ink); font-size: 1.2rem; }
.qty-control input { width: 100%; border: 0; outline: 0; text-align: center; font-weight: 800; color: var(--ink); }
.add-button { width: 100%; height: 46px; margin-top: 9px; border: 0; border-radius: 11px; background: var(--ink); color: #fff; font-weight: 800; }
.add-button:active { transform: scale(.99); }
.empty-state { grid-column: 1/-1; padding: 70px 24px; text-align: center; background: white; border-radius: 18px; color: var(--muted); }
.cart-panel { position: fixed; z-index: 50; top: 0; right: 0; width: min(500px,100%); height: 100dvh; display: flex; flex-direction: column; background: #fff; box-shadow: -20px 0 60px rgba(16,44,70,.18); transform: translateX(105%); transition: transform .25s ease; }
.cart-panel.open { transform: translateX(0); }
.scrim { position: fixed; z-index: 40; inset: 0; background: rgba(9,27,42,.48); opacity: 0; pointer-events: none; transition: opacity .2s; }
.scrim.open { opacity: 1; pointer-events: auto; }
.cart-head, .dialog-head { display: flex; justify-content: space-between; align-items: start; gap: 16px; padding: 24px; border-bottom: 1px solid var(--line); }
.icon-button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--ink); font-size: 1.8rem; line-height: 1; }
.cart-items { flex: 1; overflow: auto; padding: 8px 24px; }
.cart-empty { padding: 50px 12px; text-align: center; color: var(--muted); }
.cart-item { display: grid; grid-template-columns: 60px 1fr auto; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cart-item img { width: 60px; height: 60px; object-fit: contain; background: #f5f5f3; border-radius: 10px; }
.cart-item h4 { margin: 0 0 4px; }
.cart-item p { margin: 0; color: var(--muted); font-size: .8rem; }
.cart-item-actions { display: flex; align-items: center; gap: 8px; }
.cart-item-actions button { width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.cart-footer { padding: 20px 24px calc(20px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #fff; }
.cart-campaign-progress{display:grid;gap:8px;margin-bottom:14px;padding:13px;border:1px solid #d8bb86;border-radius:12px;background:#fffaf1;font-size:.82rem}.cart-campaign-progress:empty{display:none}.cart-campaign-head{display:flex;justify-content:space-between;gap:10px}.cart-campaign-head strong{color:var(--ink)}.cart-campaign-head span{color:#276244;font-weight:800}.campaign-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#eadfc9}.campaign-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#e3b55d)}.cart-campaign-progress p{margin:0;color:var(--muted);line-height:1.4}.cart-campaign-progress p.success{color:#276244;font-weight:750}
.totals { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 15px; color: var(--muted); }
.totals strong { color: var(--ink); font-size: 1.5rem; }
.primary-button { width: 100%; min-height: 50px; border: 0; border-radius: 12px; background: var(--gold); color: #10283d; font-weight: 850; }
dialog { width: min(760px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 22px; color: var(--ink); box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(9,27,42,.58); }
.order-form { padding-bottom: 24px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 22px 24px; }
.form-grid label { display: grid; gap: 7px; color: var(--muted); font-size: .85rem; font-weight: 700; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 12px; color: var(--ink); background: white; }
.form-grid .full { grid-column: 1/-1; }
.payment-fields,.campaign-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:15px;border:1px solid #d8bb86;border-radius:14px;background:#fffaf1}.payment-fields[hidden],.payment-fields [hidden],.campaign-fields[hidden],.campaign-fields [hidden]{display:none!important}.payment-summary,.campaign-summary{display:grid;gap:8px;padding:14px;border-radius:11px;background:#fff;border:1px solid var(--line)}.payment-summary:empty,.campaign-summary:empty{display:none}.payment-summary-row,.campaign-summary-row{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.86rem}.payment-summary-row strong,.campaign-summary-row strong{color:var(--ink)}.payment-summary-row.final{padding-top:9px;border-top:1px solid var(--line);font-size:1rem;font-weight:850;color:var(--ink)}.campaign-summary-note{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.campaign-summary-note.success{color:#276244;font-weight:750}.campaign-summary-note.warning{color:#9a6416;font-weight:750}.payment-installments{display:grid;gap:6px;margin-top:4px;padding-top:10px;border-top:1px dashed #d8bb86}.payment-installments strong{color:var(--ink)}.payment-installments span{display:flex;justify-content:space-between;gap:12px;font-size:.84rem;color:var(--muted)}
.customer-kind select{font-weight:800;background:#f7f1e5;border-color:#d8bb86}.new-customer-fields{display:block;border:1px solid #d8e0e6;border-radius:15px;background:#f8fafb;padding:18px}.new-customer-fields[hidden],.shipping-fields[hidden]{display:none}.customer-section-head{display:flex;align-items:center;gap:10px;margin:4px 0 13px}.customer-section-head:not(:first-child){margin-top:22px;padding-top:18px;border-top:1px solid #dfe5e9}.customer-section-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:.72rem;font-weight:850}.customer-section-head div{display:flex;flex-direction:column;gap:2px}.customer-section-head strong{font-family:Georgia,serif;font-size:1.08rem}.customer-section-head small{color:var(--muted)}.customer-fields,.shipping-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.customer-fields label,.shipping-fields label{display:grid;gap:7px;color:var(--muted);font-size:.85rem;font-weight:700}.check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:flex-start;gap:9px!important;color:var(--ink)!important}.check-label input{width:20px!important;height:20px;margin:0}.shipping-fields{padding:13px;border-radius:11px;background:#fff;border:1px solid var(--line)}
.existing-customer{position:relative;padding:14px;border:1px solid #d8e0e6;border-radius:13px;background:#f8fafb}.existing-customer>label{display:grid;gap:7px;color:var(--muted);font-size:.85rem;font-weight:700}.customer-results{position:absolute;z-index:5;top:82px;left:14px;right:14px;max-height:250px;overflow:auto;border:1px solid #cfd9df;border-radius:11px;background:#fff;box-shadow:0 15px 35px rgba(16,44,70,.18)}.customer-results button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:var(--ink);text-align:left}.customer-results button:last-child{border-bottom:0}.customer-results button:hover,.customer-results button:focus{background:#f4ead8}.customer-results strong,.customer-results small{display:block}.customer-results small{margin-top:3px;color:var(--muted)}.selected-customer{margin-top:10px;padding:11px 13px;border-radius:10px;background:#eaf2ed;color:#225c40}.selected-customer button{float:right;border:0;background:transparent;color:#225c40;font-weight:800}.customer-help{margin:8px 0 0;color:var(--muted);font-size:.8rem}
.order-note { margin: 0 24px 16px; padding: 13px 15px; border-radius: 11px; background: #edf3f7; color: var(--ink-2); font-size: .88rem; }
.order-form > .primary-button { width: calc(100% - 48px); margin: 0 24px; }
.warranty-section{border:1px solid #d8bb86;border-radius:14px;background:#fffaf1;padding:15px}.warranty-toggle{font-size:.95rem!important;font-weight:850!important}.warranty-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0 10px;padding-top:14px;border-top:1px solid #ead8b9}.warranty-heading div{display:grid;gap:3px}.warranty-heading small{color:var(--muted);font-weight:500}.warranty-heading button,.warranty-remove{border:1px solid #cda153;border-radius:9px;background:#fff;color:var(--ink);padding:9px 11px;font-weight:800}.warranty-item{display:grid;grid-template-columns:1fr 1fr 100px;gap:11px;margin-top:10px;padding:14px;border-radius:12px;background:#fff;border:1px solid var(--line)}.warranty-item .wide{grid-column:1/-1}.warranty-item .warranty-remove{justify-self:end;align-self:end;color:#943b32;border-color:#ddb3ad}.warranty-item label{display:grid;gap:6px;color:var(--muted);font-size:.8rem;font-weight:700}.warranty-item input,.warranty-item select,.warranty-item textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;color:var(--ink);background:#fff}.warranty-item .check-label{align-self:end;padding-bottom:9px}
.warranty-photos{padding:11px;border:1px dashed #cda153;border-radius:10px;background:#fffaf1}.warranty-photos input{padding:7px;background:#fff}.warranty-photo-preview{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.warranty-photo-preview img{width:62px;height:62px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.warranty-photo-help{color:var(--muted);font-size:.75rem;font-weight:500}
.toast { position: fixed; z-index: 100; left: 50%; bottom: 28px; transform: translate(-50%, 30px); padding: 12px 18px; border-radius: 12px; background: var(--ink); color: #fff; opacity: 0; pointer-events: none; transition: .2s; box-shadow: var(--shadow); }
.toast.show { opacity: 1; transform: translate(-50%,0); }
@media (max-width: 1100px) { .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 820px) {
  .topbar { padding: 12px 16px; flex-wrap: wrap; }
  .brand-sub { display: block; font-size: .75rem; letter-spacing: .12em; }
  .top-actions { width: 100%; }
  .search { width: auto; flex: 1; }
  main { padding: 20px 16px; }
  .catalog-layout { grid-template-columns: 170px minmax(0,1fr); gap:12px; }
  .filters { position:sticky;top:154px;max-height:calc(100dvh - 170px);padding:12px;overflow-y:auto; }
  .filter-title { display:block;font-size:.78rem; }
  #categoryFilters { display:grid;gap:4px; }
  .filter-option { width:100%;padding:9px 7px;border:0;white-space:normal; }
  .brand-tab{min-width:0;padding:9px 8px}
  .product-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .intro-row { align-items: start; }
  .intro-meta span { display: none; }
  .product-grid { grid-template-columns: 1fr; }
  main{padding:14px 8px}.catalog-layout{grid-template-columns:132px minmax(0,1fr);gap:8px}.filters{top:146px;padding:9px}.filter-option{font-size:.78rem}.filter-option small{margin-left:5px}
  .product-media { flex-basis: 270px; height: 270px; min-height: 270px; padding:8px; }
  .product-media img { inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); }
  .product-media img.lifestyle-photo { inset:0; width:100%; height:100%; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .payment-fields,.campaign-fields { grid-template-columns:1fr; }
  .customer-fields,.shipping-fields { grid-template-columns: 1fr; }
  .new-customer-fields { padding: 14px; }
  .warranty-item { grid-template-columns:1fr; }
  .warranty-item .wide { grid-column:auto; }
}
/* Gestión comercial */
.admin-link,.warranty-link{color:#fff;text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap;opacity:.9}.admin-link:hover,.warranty-link:hover{opacity:1}.admin-link-short{display:none}
.discount-control{display:flex;align-items:center;gap:5px;color:#5d6d7b;font-size:13px;margin-top:7px}.discount-control input{width:58px;border:1px solid #d7dfe5;border-radius:7px;padding:7px;text-align:center}.cart-item>div:nth-child(2){min-width:0}.cart-item .net-line{font-weight:800;color:#102d47}
.stock-status{margin:8px 0 0;color:#31714f;font-size:13px;font-weight:750}.stock-status.low{color:#a36916}.stock-status.sold-out{color:#a73737}.add-button:disabled{background:#9da8b1;cursor:not-allowed}
@media(max-width:720px){.admin-link,.warranty-link{display:grid;place-items:center;min-width:64px;height:48px;padding:0 8px;border:1px solid rgba(255,255,255,.3);border-radius:12px;font-size:12px}.admin-link-full{display:none}.admin-link-short{display:inline}.top-actions{gap:8px}.search{min-width:0}.cart-button{padding:0 12px}}@media(max-width:520px){.warranty-link{order:4}.search{order:5;flex-basis:100%}}
.store-mode .campaign-zone,.store-mode .campaign-nav{display:none!important}
@media(max-width:1050px){.campaign-zone{grid-template-columns:1fr 1fr}.campaign-benefits{grid-column:1/-1;grid-template-columns:1fr 1fr auto;align-items:center}}
@media(max-width:720px){.campaign-nav{min-width:48px;padding:0 10px;font-size:0}.campaign-nav .campaign-live-dot{width:10px;height:10px}.campaign-zone{grid-template-columns:1fr;padding:20px}.campaign-tiers{grid-template-columns:repeat(4,1fr)}.campaign-benefits{grid-column:auto;grid-template-columns:1fr}.campaign-zone-copy>p:last-child{font-size:.92rem}}
@media(max-width:430px){.campaign-tiers{grid-template-columns:repeat(2,1fr)}}

/* All catalogue actions remain inside the viewport, including tablet widths. */
.topbar{flex-wrap:wrap;gap:12px;max-width:100%;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.top-actions{min-width:0;flex:1 1 700px;flex-wrap:wrap;gap:10px;width:auto}
.top-actions>.search{flex:1 1 200px;width:auto;min-width:0;max-width:430px;order:10}
.search input{min-width:0}.top-actions>.cart-button{flex:0 0 auto;white-space:nowrap;order:2;margin-left:auto;min-width:120px}
.top-actions>.store-mode-button,.top-actions>a{flex-shrink:0;order:1}
.filters{top:calc(var(--catalog-header-height,82px) + 18px);max-height:calc(100dvh - var(--catalog-header-height,82px) - 36px)}
.cart-panel{width:min(500px,100vw);max-width:100%;visibility:hidden;overflow:hidden}.cart-panel.open{visibility:visible}.cart-items{min-height:0;overflow:auto}.cart-footer{flex-shrink:0;max-height:55dvh;overflow-y:auto}.cart-head{flex-shrink:0}.cart-item{min-width:0}.cart-item h4{overflow-wrap:anywhere}
.order-customer-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:14px 18px;background:#fff;border:1px solid #c69a52;border-radius:12px}.order-customer-banner[hidden]{display:none}.order-customer-banner a{color:#12324d}.store-mode .order-customer-banner{display:none}
@media(max-width:820px){.top-actions{flex-basis:100%;justify-content:flex-start}.top-actions>.search{max-width:none;flex-basis:100%}.topbar .brand-script{font-size:clamp(1.1rem,4vw,1.72rem)}.top-actions>.cart-button{margin-left:auto}.cart-head,.cart-footer{padding-left:16px;padding-right:16px}.cart-items{padding-left:16px;padding-right:16px}}
@media(max-width:400px){.top-actions{gap:6px}.top-actions>a,.top-actions>.store-mode-button{padding-left:8px;padding-right:8px;min-width:0;font-size:12px}.top-actions>.cart-button{min-width:105px;padding:0 8px}.cart-item{grid-template-columns:42px minmax(0,1fr)}.cart-item img{width:42px;height:42px}.cart-item-actions{grid-column:2}.cart-footer{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}}

[hidden]{display:none!important}

/* Brand first, with a discreet distributor signature. */
.topbar{min-height:64px;padding-top:10px;padding-bottom:10px}
.topbar .brand-lockup{min-width:0;max-width:100%}
.topbar .brand-script{font-size:1.22rem;letter-spacing:.01em;text-transform:none;overflow-wrap:anywhere}
.topbar .brand-sub{font-size:.65rem;font-weight:500;letter-spacing:.02em;text-transform:none;color:#657584}
.assignment-help{font-size:.78rem;font-weight:400;line-height:1.45;color:#657584}
@media(max-width:820px){.topbar .brand-script{font-size:1.12rem}}

.commercial-whatsapp{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 13px;border-radius:10px;background:#176b43;color:#fff;text-decoration:none;font-size:.82rem;font-weight:750;text-align:center;max-width:100%}.commercial-whatsapp:hover{background:#105533}.commercial-whatsapp:focus-visible{outline:3px solid #cda153;outline-offset:3px}.cart-footer>.commercial-whatsapp{width:100%;margin-bottom:10px}.store-mode .commercial-whatsapp{display:none}
