/*
Theme Name: OUT THE BOX
Description: OUT THE BOX chrome-on-black streetwear skin. Child of Storefront. Canonical copy lives in the Obsidian vault (OUT THE BOX/Theme/outthebox) - edit there, then deploy.
Author: Buddy OS
Template: storefront
Version: 1.0.0
*/

:root{
  --otb-ink:#0e0e10;
  --otb-ink2:#17181b;
  --otb-chrome:#c3c7cc;
  --otb-steel:#85898f;
  --otb-paper:#f4f4f3;
  --otb-line:rgba(244,244,243,.14);
  --otb-grad:linear-gradient(180deg,#fdfdfd 0%,#b9bdc3 38%,#eceef0 50%,#6f7379 68%,#d7d9dc 100%);
  --f-display:'Anton',sans-serif;
  --f-black:'Pirata One',serif;
  --f-body:'Archivo',sans-serif;
  --f-mono:'Space Mono',monospace;
}

/* ---------- base ---------- */
body, .site, .site-content, #page{
  background:var(--otb-ink) !important;
  color:var(--otb-paper);
  font-family:var(--f-body);
}
a{color:var(--otb-chrome)}
a:hover{color:var(--otb-paper)}
h1,h2,h3,h4,h5{color:var(--otb-paper);font-family:var(--f-display);letter-spacing:.02em;font-weight:400}
::selection{background:var(--otb-chrome);color:var(--otb-ink)}

/* ---------- tape marquee ---------- */
.otb-tape{background:var(--otb-chrome);color:var(--otb-ink);overflow:hidden;white-space:nowrap}
.otb-tape-track{display:inline-block;padding:8px 0;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;animation:otbtape 28s linear infinite}
.otb-tape-track span{margin:0 26px}
@keyframes otbtape{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.otb-tape-track{animation:none}}

/* ---------- header ---------- */
.site-header, .storefront-primary-navigation{
  background:rgba(14,14,16,.96) !important;
  border-bottom:1px solid var(--otb-line);
  color:var(--otb-paper);
}
.site-branding h1 a, .site-branding .beta{
  font-family:var(--f-display) !important;
  font-size:30px;
  background:var(--otb-grad);
  -webkit-background-clip:text;background-clip:text;
  color:transparent !important;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.site-description{display:none}
.main-navigation ul li a, .site-header-cart .cart-contents{
  color:var(--otb-paper) !important;
  font-family:var(--f-mono);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
}
.main-navigation ul li a:hover{color:var(--otb-chrome) !important}
.main-navigation ul.menu ul.sub-menu, .main-navigation ul.nav-menu ul{background:var(--otb-ink2)}
.site-header-cart .cart-contents .amount{color:var(--otb-chrome)}
.site-header-cart .widget_shopping_cart{background:var(--otb-ink2);border:1px solid var(--otb-line)}
.storefront-handheld-footer-bar{background:var(--otb-ink2);border-top:1px solid var(--otb-line)}
.storefront-handheld-footer-bar ul li a{color:var(--otb-paper)}

/* search field */
.widget_product_search input[type=search], .site-header input[type=search]{
  background:var(--otb-ink2);border:1px solid var(--otb-line);color:var(--otb-paper);
}

/* ---------- buttons ---------- */
.button, button, input[type=submit], .added_to_cart, .wc-block-components-button{
  background:var(--otb-chrome) !important;
  color:var(--otb-ink) !important;
  border:none !important;
  border-radius:0 !important;
  font-family:var(--f-mono) !important;
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700 !important;
}
.button:hover, button:hover, input[type=submit]:hover{background:var(--otb-paper) !important;color:var(--otb-ink) !important}
.button.loading{opacity:.6}

/* ---------- product loops ---------- */
ul.products li.product{
  background:var(--otb-ink2);
  border:1px solid var(--otb-line);
  padding:0 0 18px !important;
  transition:transform .25s ease,border-color .25s ease;
  text-align:left;
}
ul.products li.product:hover{transform:translateY(-6px);border-color:var(--otb-chrome)}
ul.products li.product img{margin-bottom:14px !important;background:#fff}
ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--f-body);font-weight:700;font-size:16px;color:var(--otb-paper);
  padding:0 16px;
}
ul.products li.product .price{
  color:var(--otb-chrome) !important;font-family:var(--f-mono);font-size:14px;padding:0 16px;
}
ul.products li.product .button{margin:10px 16px 0}
.woocommerce-loop-product__link{color:var(--otb-paper)}

/* ---------- single product ---------- */
.single-product div.product .entry-title{
  background:var(--otb-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  font-size:2.4em;text-transform:uppercase;
}
.single-product div.product .price{color:var(--otb-chrome) !important;font-family:var(--f-mono);font-size:1.4em}
.single-product div.product .woocommerce-product-gallery{background:#fff;border:1px solid var(--otb-line)}
.single-product div.product .woocommerce-tabs ul.tabs li.active a{color:var(--otb-chrome)}
.single-product div.product .woocommerce-tabs ul.tabs li a{color:var(--otb-steel)}
.single-product div.product form.cart .quantity .qty{background:var(--otb-ink2);color:var(--otb-paper);border:1px solid var(--otb-line)}
table.variations td, table.variations th{background:transparent}
.woocommerce-product-attributes td, .woocommerce-product-attributes th{background:var(--otb-ink2);color:var(--otb-paper)}

/* ---------- cart / checkout ---------- */
.woocommerce-cart table.cart td, .woocommerce-cart table.cart th,
.woocommerce table.shop_table td, .woocommerce table.shop_table th{
  background:var(--otb-ink2);color:var(--otb-paper);border-color:var(--otb-line) !important;
}
.cart-collaterals .cart_totals, #customer_details, .woocommerce-checkout-review-order{
  background:var(--otb-ink2);padding:20px;border:1px solid var(--otb-line);
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  background:var(--otb-ink) !important;color:var(--otb-paper) !important;border:1px solid var(--otb-line);border-radius:0;
}
.woocommerce-info, .woocommerce-message, .woocommerce-error{
  background:var(--otb-ink2);color:var(--otb-paper);border-top-color:var(--otb-chrome);
}
.woocommerce-info a, .woocommerce-message a{color:var(--otb-chrome)}

/* ---------- page titles / entry content ---------- */
.hentry .entry-title, .page-template-default h1.entry-title, .woocommerce-products-header__title{
  background:var(--otb-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-transform:uppercase;
}
.hentry .entry-content, .entry-content p{color:var(--otb-paper)}
.storefront-breadcrumb{background:var(--otb-ink);border-bottom:1px solid var(--otb-line)}
.woocommerce-breadcrumb, .woocommerce-breadcrumb a{color:var(--otb-steel) !important}

/* ---------- footer ---------- */
.site-footer{background:var(--otb-ink2) !important;color:var(--otb-paper);border-top:1px solid var(--otb-line)}
.site-footer a{color:var(--otb-chrome)}
.site-footer .widget-title{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--otb-chrome)}
.otb-credit{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--otb-steel);text-transform:uppercase}

/* ---------- front page sections ---------- */
.otb-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.otb-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:72px 0 84px}
.otb-kicker{font-family:var(--f-black);font-size:22px;letter-spacing:.06em;color:var(--otb-chrome);margin-bottom:16px;display:flex;align-items:center;gap:12px}
.otb-kicker::before{content:"";width:34px;height:2px;background:var(--otb-steel)}
.otb-hero h1{
  font-size:clamp(56px,8vw,110px);line-height:.94;text-transform:uppercase;margin:0;
  background:var(--otb-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 rgba(0,0,0,.55));
}
.otb-hero h1 .stroke{background:none;-webkit-text-stroke:2px var(--otb-chrome);color:transparent;filter:none}
.otb-hero .lede{max-width:46ch;margin-top:22px;font-size:17px;color:rgba(244,244,243,.78)}
.otb-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.otb-btn{display:inline-block;text-decoration:none;font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:16px 28px}
.otb-btn-primary{background:var(--otb-chrome);color:var(--otb-ink) !important;font-weight:700}
.otb-btn-primary:hover{background:var(--otb-paper)}
.otb-btn-ghost{border:1px solid var(--otb-line);color:var(--otb-paper) !important}
.otb-btn-ghost:hover{border-color:var(--otb-chrome);color:var(--otb-chrome) !important}

.otb-hero-visual{position:relative}
.otb-hero-visual .otb-hero-tee{background:#fff;padding:12px;transform:rotate(-2deg);box-shadow:0 24px 60px rgba(0,0,0,.5);position:relative;z-index:2;height:auto}
.otb-label{background:var(--otb-paper);color:var(--otb-ink);padding:24px 24px 16px;transform:rotate(2.5deg);box-shadow:0 24px 60px rgba(0,0,0,.45);position:relative;margin:-34px 0 0 26px;z-index:1}
.otb-label::before{content:"";position:absolute;top:-14px;left:50%;transform:translateX(-50%) rotate(-1deg);width:130px;height:28px;background:rgba(155,160,166,.85)}
.otb-label-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1.5px solid var(--otb-ink);padding:8px 0;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.otb-label-big{font-family:var(--f-display);font-size:30px;padding:12px 0 4px;border-bottom:1.5px solid var(--otb-ink);text-transform:uppercase;line-height:1}
.otb-barcode{font-family:'Libre Barcode 128',cursive;font-size:50px;line-height:1;padding-top:10px;text-align:center}

.otb-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 34px;flex-wrap:wrap}
.otb-sec-head h2{
  font-size:clamp(30px,4.4vw,52px);text-transform:uppercase;margin:0;
  background:var(--otb-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.otb-sec-head .sub{font-family:var(--f-black);font-size:19px;color:var(--otb-chrome)}
.otb-drop{padding:20px 0 60px}

.otb-trust{border-top:1px solid var(--otb-line);padding:64px 0 70px}
.otb-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.otb-trust-card{border:1px solid var(--otb-line);padding:22px;background:var(--otb-ink2)}
.otb-trust-card h3{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--otb-chrome);margin:0 0 10px;display:flex;gap:10px;align-items:center}
.otb-trust-card h3::before{content:"";width:10px;height:10px;background:var(--otb-chrome);flex:0 0 auto}
.otb-trust-card p{font-size:14px;color:rgba(244,244,243,.72);margin:0}
.otb-pay-row{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}
.otb-pay-badge{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;border:1px solid var(--otb-line);padding:8px 14px;color:rgba(244,244,243,.75);text-transform:uppercase}

@media (max-width:980px){
  .otb-hero{grid-template-columns:1fr;padding-top:48px}
  .otb-trust-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .otb-trust-grid{grid-template-columns:1fr}
}
