:root { --shop-gold: #f2b923; --shop-line: #8b6519; }
body { background: radial-gradient(circle at top left,#5c3908 0,#100e0b 30%,#050505 75%); }
.shop-header { border-bottom: 1px solid var(--shop-line); }
.shop-header .search-box button { display:grid; place-items:center; padding:0; border:0; background:none; color:inherit; }
.shop-header .search-box button svg { width:19px; height:19px; }
.shop-main { min-height: calc(100vh - 300px); padding: 27px 28px 58px; background:#090909; color:#f8f8f8; }
.shop-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-bottom:24px; color:#9d9d9d; font-size:12px; }
.shop-breadcrumb a:hover { color:var(--shop-gold); }
.shop-breadcrumb span:last-child { color:#e2bd61; }
.shop-title-row { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; min-height:172px; margin-bottom:27px; padding:23px 29px; border:1px solid var(--shop-line); border-radius:7px; background:radial-gradient(circle at 81% 50%,#62410d 0,#211705 29%,#090909 63%); }
.shop-title-row::after { content:""; position:absolute; top:-70px; right:60px; width:55%; height:5px; transform:rotate(-25deg); background:#ffd965; filter:blur(8px); }
.shop-eyebrow { margin:0 0 7px; color:var(--shop-gold); font:800 14px Arial,Helvetica,sans-serif; letter-spacing:1.8px; text-transform:uppercase; }
.shop-title-row h1 { margin:0 0 8px; font:900 clamp(38px,5vw,66px)/.9 Arial,Helvetica,sans-serif; }
.shop-title-row p:last-child { margin:0; color:#d5d1c7; font-size:14px; }
.shop-title-mark { position:relative; z-index:1; font:italic 900 140px/.8 Arial,Helvetica,sans-serif; color:#e9aa16; text-shadow:5px 7px #080808; opacity:.9; }
.catalog-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:22px; align-items:start; }
.catalog-filters { display:grid; gap:17px; padding:20px; border:1px solid #50401c; border-radius:7px; background:linear-gradient(145deg,#171717,#0d0d0d); }
.filter-head { display:flex; justify-content:space-between; align-items:center; gap:8px; border-bottom:1px solid #3e3217; padding-bottom:13px; }
.filter-head h2 { margin:0; font:900 22px Arial,Helvetica,sans-serif; white-space:nowrap; }
.filter-head button { padding:0; border:0; background:none; color:var(--shop-gold); font:700 12px 'Segoe UI', Arial, sans-serif; text-decoration:underline; }
.filter-head { flex-wrap:wrap; }
.filter-head h2 { font-size:18px; }
.filter-head button { margin-left:auto; }
.catalog-filters label { display:grid; gap:8px; color:#f3f3f3; font:700 15px Arial,Helvetica,sans-serif; letter-spacing:.3px; }
.catalog-filters select { appearance:none; min-width:0; width:100%; height:43px; padding:0 34px 0 12px; color:#f6f6f6; background:#242424; border:1px solid #575047; border-radius:5px; font:500 12px 'Segoe UI', Arial, sans-serif; background-image:linear-gradient(45deg,transparent 50%,#efba37 50%),linear-gradient(135deg,#efba37 50%,transparent 50%); background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px; background-size:5px 5px; background-repeat:no-repeat; }
.catalog-filters select:focus-visible,.shop-product-info input:focus-visible,.shop-product-info textarea:focus-visible { outline:2px solid var(--shop-gold); outline-offset:2px; }
.catalog-results { min-width:0; }
.results-head { display:flex; justify-content:space-between; align-items:end; gap:12px; border-bottom:1px solid #5d4816; padding:0 0 15px; margin-bottom:16px; }
.results-head h2 { margin:0 0 4px; font:900 28px Arial,Helvetica,sans-serif; text-transform:uppercase; }
.results-head p { margin:0; color:#aaa; font-size:12px; }
.results-head>span { color:#8b794f; font:700 12px Arial,Helvetica,sans-serif; letter-spacing:1px; white-space:nowrap; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.shop-product-card { position:relative; min-width:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid #9b7118; border-radius:6px; background:#141414; transition:transform .2s,border-color .2s; }
.shop-product-card .demo-price-note { margin: -3px 0 12px; color: #e5c16b; font-size: 11px; font-weight: 700; }
.shop-add:disabled { cursor: not-allowed; }
.shop-product-card:hover { transform:translateY(-3px); border-color:var(--shop-gold); }
.shop-card-photo,.shop-large-photo,.shop-thumbnail-photo,.shop-cart-photo { position:relative; overflow:hidden; container-type:inline-size; background:radial-gradient(circle at 50% 17%,#564013,#101010 65%); }
.shop-card-photo { aspect-ratio:1/.94; }


.shop-card-photo img.upload-image,.shop-large-photo img.upload-image,.shop-thumbnail-photo img.upload-image,.shop-cart-photo img.upload-image { width:100%; height:100%; object-fit:cover; }
.shop-badge,.shop-product-badge { display:inline-flex; align-items:center; border-radius:4px; padding:5px 8px; background:linear-gradient(#ffd659,#e5a917); color:#100d04; font:900 13px Arial,Helvetica,sans-serif; }
.shop-badge { position:absolute; top:10px; left:10px; z-index:1; }
.shop-card-info { display:flex; flex:1; flex-direction:column; padding:13px; }
.shop-card-category { margin:0 0 3px; color:var(--shop-gold); font:700 12px Arial,Helvetica,sans-serif; text-transform:uppercase; }
.shop-card-info h3 { margin:0 0 9px; min-height:38px; font:800 18px/1.05 Arial,Helvetica,sans-serif; }
.shop-card-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin:auto 0 13px; }
.shop-card-price s { color:#999; font:600 13px 'Segoe UI', Arial, sans-serif; }
.shop-card-price strong { font:900 24px Arial,Helvetica,sans-serif; }
.shop-card-info .btn { width:100%; min-height:41px; }
.catalog-empty { padding:55px 20px; border:1px solid #50401c; border-radius:7px; text-align:center; background:#151515; }
.catalog-empty[hidden],.catalog-grid[hidden] { display:none; }
.catalog-empty h3,.catalog-empty h1 { margin:0 0 8px; font:900 29px Arial,Helvetica,sans-serif; }
.catalog-empty p { margin:0 0 17px; color:#bbb; font-size:13px; }
.shop-loading { padding:60px; text-align:center; color:#bbb; }
.product-main { padding-bottom:75px; }
.shop-product-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.91fr); gap:35px; align-items:start; }
.shop-gallery { min-width:0; }
.shop-large-photo { width:100%; aspect-ratio:1; border:1px solid #8b6519; border-radius:8px; }
.shop-thumbnails { display:flex; flex-wrap:wrap; gap:9px; margin-top:11px; }
.shop-thumbnail { width:74px; height:74px; padding:0; overflow:hidden; border:2px solid #555; border-radius:5px; background:#141414; }
.shop-thumbnail.selected { border-color:var(--shop-gold); }
.shop-thumbnail-photo { width:100%; height:100%; }
.shop-product-info { min-width:0; padding:2px 0; }
.shop-product-badge { margin:3px 0 12px; }
.shop-product-info h1 { margin:0 0 11px; font:900 clamp(34px,4vw,52px)/.94 Arial,Helvetica,sans-serif; }
.shop-detail-prices { display:flex; align-items:baseline; gap:12px; margin-bottom:17px; }
.shop-detail-prices s { color:#9e9e9e; font-size:16px; }
.shop-detail-prices strong { color:#fff; font:900 38px Arial,Helvetica,sans-serif; }
.shop-description { max-width:520px; margin:0 0 18px; color:#c4c4c4; font-size:14px; line-height:1.55; }
.shop-stock { display:flex; align-items:center; gap:8px; margin:0 0 20px; font-size:13px; font-weight:700; }
.shop-stock span { width:8px; height:8px; border-radius:50%; background:currentColor; }
.shop-stock.in-stock { color:#80ca86; }
.shop-stock.out-of-stock { color:#e09780; }
.shop-sizes,.shop-customize { border-top:1px solid #57451d; padding-top:17px; margin-top:17px; }
.shop-sizes h2,.shop-customize h2 { margin:0 0 11px; font:900 20px Arial,Helvetica,sans-serif; }
.shop-sizes h2 small { color:#aaa; font:500 12px 'Segoe UI', Arial, sans-serif; margin-left:7px; }
.shop-sizes>div { display:flex; flex-wrap:wrap; gap:8px; }
.shop-size { min-width:48px; height:43px; border:1px solid #686868; border-radius:5px; background:#1c1c1c; color:#fff; font:800 17px Arial,Helvetica,sans-serif; }
.shop-size:hover,.shop-size.selected { border-color:var(--shop-gold); background:var(--shop-gold); color:#0d0d0d; }
.shop-custom-fields { display:grid; grid-template-columns:minmax(0,1fr) 125px; gap:12px; }
.shop-custom-fields-other { grid-template-columns:1fr 1fr; }
.shop-custom-fields-other label:last-child { grid-column:1/-1; }
.shop-custom-fields label { display:grid; gap:6px; color:#c5c5c5; font-size:12px; font-weight:700; }
.shop-custom-fields input,.shop-custom-fields textarea { width:100%; min-width:0; padding:11px 12px; border:1px solid #65605a; border-radius:5px; background:#202020; color:#fff; font:500 14px 'Segoe UI', Arial, sans-serif; }
.shop-custom-fields input::placeholder,.shop-custom-fields textarea::placeholder { color:#8e8e8e; }
.shop-example { margin:8px 0 0; color:#8e8e8e; font-size:11px; }
.shop-example strong { color:var(--shop-gold); }
.shop-quantity-row { display:flex; justify-content:space-between; align-items:end; gap:12px; margin-top:23px; }
.shop-quantity-row>div>span { display:block; margin-bottom:8px; color:#c6c6c6; font-size:12px; font-weight:700; }
.shop-quantity { display:flex; width:max-content; overflow:hidden; border:1px solid #6c5d3b; border-radius:5px; }
.shop-quantity button { width:37px; height:38px; border:0; background:#252525; color:#fff; font-size:20px; }
.shop-quantity output { display:grid; place-items:center; min-width:42px; border-inline:1px solid #6c5d3b; background:#151515; font-size:14px; }
.shop-item-total { text-align:right; }
.shop-item-total strong { display:block; color:var(--shop-gold); font:900 30px Arial,Helvetica,sans-serif; }
.shop-price-breakdown { display:flex; flex-wrap:wrap; gap:6px 14px; margin:11px 0 18px; color:#a9a9a9; font-size:11px; }
.shop-error { color:#ff9081; font-size:12px; font-weight:700; }
.shop-error[hidden] { display:none; }
.shop-add { width:100%; min-height:54px; font-size:19px; }
.shop-add:disabled { opacity:.5; cursor:not-allowed; }
.shop-product-note { margin:11px 0 0; color:#888; font-size:11px; text-align:center; }
.shop-footer-brand { display:inline-flex; align-items:center; gap:10px; color:#fff; font:900 23px/.88 Arial,Helvetica,sans-serif; }
.shop-footer-brand .brand-mark { width:54px; height:54px; flex:none; }
.shop-footer-brand strong { display:block; color:var(--shop-gold); }
.shop-footer .footer-links strong { color:var(--shop-gold); font:800 14px Arial,Helvetica,sans-serif; }
.shop-footer #shop-instagram { color:#777; }
.shop-overlay { position:fixed; z-index:29; inset:0; background:#000b; backdrop-filter:blur(3px); }
.shop-overlay[hidden],.shop-cart[hidden] { display:none; }
.shop-cart { position:fixed; z-index:30; top:0; right:0; display:flex; flex-direction:column; width:min(440px,100vw); height:100dvh; background:#111; border-left:1px solid var(--shop-line); color:#fff; box-shadow:0 10px 45px #000b; }
.shop-cart-head { display:flex; justify-content:space-between; align-items:center; padding:17px 21px; border-bottom:1px solid #4e3b17; }
.shop-cart-head h2 { margin:0; font:900 27px Arial,Helvetica,sans-serif; }
.shop-cart-head button { width:32px; height:32px; border:0; background:none; color:#fff; font-size:30px; line-height:1; }
.shop-cart-items { flex:1; overflow:auto; padding:0 19px; }
.shop-cart-empty { padding:45px 10px; color:#aaa; text-align:center; }
.shop-cart-item { display:grid; grid-template-columns:75px 1fr 24px; gap:11px; padding:15px 0; border-bottom:1px solid #353535; }
.shop-cart-photo { width:75px; height:75px; border-radius:4px; }
.shop-cart-item a { display:block; font:800 16px Arial,Helvetica,sans-serif; }
.shop-cart-item small { display:block; margin-top:3px; color:#aaa; font-size:10px; }
.shop-cart-item strong { display:block; margin-top:5px; color:var(--shop-gold); font-size:13px; }
.shop-cart-qty { display:flex; width:max-content; margin-top:8px; }
.shop-cart-qty button,.shop-cart-qty span { display:grid; place-items:center; width:26px; height:25px; border:1px solid #555; background:#252525; color:#fff; font-size:13px; }
.shop-cart-qty span { border-inline:0; background:#111; }
.shop-remove { width:23px; height:24px; border:0; border-radius:3px; background:#3b211c; color:#ffa59a; }
.shop-cart-bottom { padding:17px 20px 23px; border-top:1px solid #4e3b17; }
.shop-cart-bottom>div { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; font-size:13px; }
.shop-cart-bottom strong { color:var(--shop-gold); font-size:20px; }
.shop-cart-bottom .btn { width:100%; }
.shop-toast { position:fixed; z-index:40; left:50%; bottom:28px; transform:translate(-50%,90px); padding:11px 17px; border:1px solid var(--shop-gold); border-radius:5px; background:#211a0b; color:#fff; opacity:0; transition:transform .2s,opacity .2s; font-size:12px; white-space:nowrap; }
.shop-toast.visible { transform:translate(-50%,0); opacity:1; }
.shop-whatsapp-float { position:fixed; z-index:20; right:24px; bottom:22px; display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:#08b54b; color:#fff; box-shadow:0 8px 25px #0008; font-size:34px; }
.shop-whatsapp-float:hover { color:#fff; background:#069a3f; }
.shop-whatsapp-float svg { width:31px; height:31px; }
.shop-whatsapp-float em { display:none; position:absolute; right:65px; white-space:nowrap; padding:9px; border:1px solid #555; border-radius:5px; background:#171717; color:#fff; font:600 12px 'Segoe UI', Arial, sans-serif; }
.shop-whatsapp-float:hover em,.shop-whatsapp-float:focus-visible em { display:block; }
.shop-whatsapp-float[hidden] { display:none; }
@media(max-width:1000px) { .catalog-layout { grid-template-columns:210px minmax(0,1fr); gap:17px; } .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .shop-product-layout { gap:25px; } }
@media(max-width:820px) { .shop-main { padding:22px 19px 50px; } .catalog-layout { display:block; } .catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:20px; } .filter-head { grid-column:1/-1; } .shop-title-mark { font-size:110px; } .shop-product-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; } .shop-product-info h1 { font-size:35px; } .shop-detail-prices strong { font-size:32px; } .shop-custom-fields { grid-template-columns:minmax(0,1fr) 85px; } .shop-custom-fields-other { grid-template-columns:1fr; } .shop-custom-fields-other label:last-child { grid-column:auto; } }
@media(max-width:650px) { .shop-main { padding:17px 13px 45px; } .shop-title-row { min-height:142px; padding:19px; } .shop-title-row h1 { font-size:40px; } .shop-title-row p:last-child { font-size:12px; max-width:270px; } .shop-title-mark { position:absolute; right:8px; opacity:.27; font-size:110px; } .results-head>span { display:none; } .shop-product-layout { display:block; } .shop-large-photo { max-width:480px; margin:auto; } .shop-product-info { padding-top:24px; } .shop-custom-fields { grid-template-columns:minmax(0,1fr) 105px; } .shop-custom-fields-other { grid-template-columns:1fr 1fr; } .shop-custom-fields-other label:last-child { grid-column:1/-1; } }
@media(max-width:430px) { .catalog-filters { gap:10px; padding:13px; } .catalog-filters label { font-size:14px; } .catalog-filters select { padding-left:9px; font-size:11px; } .catalog-grid { gap:9px; } .shop-card-info { padding:9px; } .shop-card-info h3 { font-size:16px; min-height:34px; } .shop-card-price strong { font-size:21px; } .shop-card-info .btn { padding:0 4px; font-size:13px; } .shop-badge { top:6px; left:6px; padding:4px 6px; font-size:11px; } .shop-custom-fields-other { grid-template-columns:1fr; } .shop-custom-fields-other label:last-child { grid-column:auto; } }
@media(max-width:560px) { .shop-whatsapp-float { width:51px; height:51px; right:13px; bottom:14px; } }
@media(max-width:345px) { .catalog-filters { grid-template-columns:1fr; } .catalog-grid { grid-template-columns:1fr; } .shop-title-row h1 { font-size:35px; } }

/* Comfortable touch targets without changing the desktop layout. */
@media(max-width:820px) {
  .catalog-filters select { height:46px; }
  .filter-head button { min-height:44px; padding:0 5px; }
  .shop-card-info .btn { min-height:44px; }
  .shop-size { height:46px; }
  .shop-quantity button { width:44px; height:44px; }
  .shop-quantity output { min-width:44px; }
  .shop-custom-fields label { font-size:13px; }
  .shop-custom-fields input,.shop-custom-fields textarea { min-height:46px; font-size:16px; }
  .shop-cart-head button { width:44px; height:44px; }
  .shop-cart-item { grid-template-columns:75px minmax(0,1fr) 44px; }
  .shop-cart-qty button,.shop-cart-qty span { width:44px; height:44px; font-size:16px; }
  .shop-cart-qty span { width:36px; }
  .shop-remove { width:44px; height:44px; font-size:18px; }
}
@media(max-width:430px) { .catalog-filters select { padding:0 19px 0 8px; font-size:12px; background-position:calc(100% - 11px) 20px,calc(100% - 6px) 20px; } }
@media(max-width:560px) { .shop-header .icon-button { width:44px; height:44px; } }
@media(min-width:821px) and (max-width:900px) {
  .shop-main { padding:22px 19px 50px; }
  .catalog-layout { display:block; }
  .catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:20px; }
  .filter-head { grid-column:1/-1; }
}
@media(max-width:390px) {
  .shop-quantity-row { align-items:start; }
  .shop-item-total { min-width:0; }
  .shop-item-total strong { font-size:clamp(20px,7vw,27px); white-space:nowrap; }
}
