/*
Theme Name: Daime
Theme URI: https://daime.online
Author: Daime
Description: Custom WooCommerce theme for Daime — men's, women's & kids' denim, topwear and bottomwear, shipped worldwide.
Version: 1.5
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
WC requires at least: 8.0
WC tested up to: 9.0
Text Domain: daime
*/

:root{
  --ink:#14171f;
  --indigo-deep:#1c2444;
  --indigo:#232c52;
  --denim:#3b5488;
  --denim-soft:#8fa3cc;
  --ecru:#f3efe4;
  --ecru-dim:#e7e0cf;
  --paper:#faf8f2;
  --stitch:#d9822b;
  --stitch-dim:#e6a862;
  --rivet:#8a6d4f;
  --ok:#4c7a52;

  --font-display: 'Oswald', sans-serif;
  --font-body: 'Work Sans', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;

  --radius: 3px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  line-height:1.5;
}
img,svg{max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

h1,h2,h3,.font-display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;}
.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--stitch);
}

/* ---------- stitch divider / signature motif ---------- */
.stitch{border:none;border-top:2px dashed var(--denim-soft);margin:0;}
.stitch-box{border:2px dashed var(--denim);border-radius:var(--radius);position:relative;}
.rivet{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--rivet);
  box-shadow:inset 0 1px 1px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.15);}
.rivet.tl{top:-5px;left:-5px;} .rivet.tr{top:-5px;right:-5px;}
.rivet.bl{bottom:-5px;left:-5px;} .rivet.br{bottom:-5px;right:-5px;}

/* ---------- shipping ticker ---------- */
.ticker{background:var(--ink);color:var(--ecru);font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.1em;padding:7px 0;overflow:hidden;white-space:nowrap;}
.ticker__track{display:inline-block;padding-left:100%;animation:ticker 26s linear infinite;}
@keyframes ticker{from{transform:translateX(0);} to{transform:translateX(-100%);}}
.ticker__track span{margin-right:48px;color:var(--stitch-dim);}

/* ---------- header ---------- */
header.site{background:var(--indigo-deep);color:var(--ecru);position:sticky;top:0;z-index:50;
  border-bottom:3px solid var(--stitch);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
.logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:.06em;
  color:var(--ecru);display:flex;align-items:center;gap:8px;}
.logo .dot{width:8px;height:8px;border-radius:50%;background:var(--stitch);}
.nav__links{display:flex;gap:28px;align-items:center;}
.nav__links a{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--denim-soft);padding-bottom:4px;border-bottom:2px solid transparent;transition:.15s;}
.nav__links a:hover,.nav__links .current-menu-item a,.nav__links a.active{color:var(--ecru);border-color:var(--stitch);}
.nav__right{display:flex;align-items:center;gap:18px;}
.cart-btn{position:relative;background:none;border:1px solid var(--denim);color:var(--ecru);
  padding:8px 12px;border-radius:var(--radius);font-family:var(--font-mono);font-size:.75rem;
  display:flex;align-items:center;gap:8px;}
.cart-btn:hover{border-color:var(--stitch);}
.cart-count{background:var(--stitch);color:var(--ink);font-weight:600;border-radius:50%;
  width:18px;height:18px;font-size:.68rem;display:flex;align-items:center;justify-content:center;}
.burger{display:none;background:none;border:none;color:var(--ecru);font-size:1.4rem;}

@media (max-width:860px){
  .nav__links{position:absolute;top:100%;left:0;right:0;background:var(--indigo-deep);
    flex-direction:column;align-items:flex-start;padding:18px 24px;gap:16px;
    border-bottom:3px solid var(--stitch);display:none;}
  .nav__links.open{display:flex;}
  .burger{display:block;}
}

/* ---------- hero ---------- */
.hero{background:
    radial-gradient(ellipse at 20% -10%, rgba(217,130,43,.18), transparent 55%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, var(--indigo-deep), var(--indigo) 60%, #2a3560);
  color:var(--ecru);padding:88px 0 64px;position:relative;overflow:hidden;}
.hero .wrap{position:relative;z-index:2;}
.hero__eyebrow{color:var(--stitch-dim);margin-bottom:14px;}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:.98;margin:0 0 20px;max-width:760px;}
.hero h1 em{font-style:normal;color:var(--stitch);}
.hero p.lede{font-size:1.05rem;color:var(--denim-soft);max-width:520px;margin:0 0 32px;}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:46px;}
.btn{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  padding:13px 26px;border-radius:var(--radius);border:1.5px solid var(--stitch);
  display:inline-flex;align-items:center;gap:8px;transition:.15s;}
.btn--solid{background:var(--stitch);color:var(--ink);font-weight:600;}
.btn--solid:hover{background:var(--stitch-dim);}
.btn--ghost{color:var(--ecru);border-color:var(--denim);}
.btn--ghost:hover{border-color:var(--stitch);color:var(--stitch-dim);}
.btn--dark{border-color:var(--ink);color:var(--ink);}
.btn--dark:hover{background:var(--ink);color:var(--ecru);}
.hero__tags{display:flex;gap:10px;flex-wrap:wrap;}
.tag-chip{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;border:1px dashed var(--denim);
  color:var(--denim-soft);padding:6px 12px;border-radius:20px;text-transform:uppercase;}

/* ---------- sections / cards ---------- */
section{padding:70px 0;}
.section-head{margin-bottom:36px;}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:6px 0 0;color:var(--ink);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media (max-width:900px){.grid-3{grid-template-columns:1fr;} .grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.grid-4{grid-template-columns:1fr;}}

.cat-card{background:var(--indigo-deep);color:var(--ecru);border-radius:8px;padding:30px 24px 26px;
  position:relative;min-height:270px;display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;border:1px solid var(--indigo);}
.cat-card h3{font-size:1.7rem;margin:0 0 6px;}
.cat-card p{font-family:var(--font-mono);font-size:.76rem;color:var(--denim-soft);margin:0 0 16px;}
.cat-card a{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;color:var(--stitch-dim);
  border-bottom:1px solid var(--stitch);padding-bottom:2px;text-transform:uppercase;align-self:flex-start;}
.cat-card:hover{border-color:var(--stitch);}

.tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap;}
.tab-btn{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;
  padding:9px 18px;border:1.5px solid var(--indigo);border-radius:20px;background:transparent;color:var(--ink);}
.tab-btn.active{background:var(--ink);color:var(--ecru);border-color:var(--ink);}

.label-strip{background:var(--ink);color:var(--ecru);padding:46px 0;}
.label-strip .wrap{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;}
.label-strip .item{flex:1;min-width:180px;}
.label-strip .item .eyebrow{color:var(--stitch-dim);}
.label-strip .item p{font-family:var(--font-mono);font-size:.86rem;color:var(--denim-soft);margin:6px 0 0;}

.ship{background:var(--ecru-dim);}
.ship .grid-4 .item{background:var(--paper);border:2px dashed var(--denim);border-radius:var(--radius);padding:22px 18px;}
.ship .item h4{font-family:var(--font-display);font-size:1rem;margin:0 0 8px;}
.ship .item p{font-size:.85rem;color:#444;margin:0;}

/* ---------- footer ---------- */
footer.site{background:var(--indigo-deep);color:var(--denim-soft);padding:54px 0 26px;}
.foot-grid{display:grid;grid-template-columns:1.3fr 0.8fr 0.8fr 1fr 1.1fr;gap:26px;margin-bottom:36px;}
@media (max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr 1fr;}}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr;}}
footer.site h5{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ecru);margin:0 0 14px;}
footer.site .brand-blurb{color:var(--denim-soft);font-size:.88rem;max-width:280px;}
footer.site ul li{margin-bottom:9px;font-size:.86rem;}
footer.site ul li a:hover{color:var(--stitch-dim);}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--font-mono);
  font-size:.7rem;color:var(--denim);border-top:1px solid var(--indigo);padding-top:20px;}

/* ---------- toast ---------- */
.toast{position:fixed;bottom:24px;right:24px;background:var(--ink);color:var(--ecru);padding:14px 20px;
  border-radius:var(--radius);border-left:4px solid var(--stitch);font-family:var(--font-mono);font-size:.8rem;
  transform:translateY(30px);opacity:0;transition:.25s;pointer-events:none;z-index:200;}
.toast.show{transform:translateY(0);opacity:1;}

/* ---------- generic page hero ---------- */
.page-hero{background:linear-gradient(160deg,var(--indigo-deep),var(--indigo));color:var(--ecru);padding:60px 0 44px;}
.page-hero h1{font-size:clamp(2.1rem,4.4vw,3.2rem);margin:8px 0 10px;}
.page-hero p{color:var(--denim-soft);max-width:520px;}

/* ---------- generic prose page (About / Terms / Policies) ---------- */
.page-content{max-width:820px;}
.page-content h2{
  font-size:1.4rem;color:var(--ink);margin:38px 0 12px;padding-top:14px;
  border-top:2px dashed var(--denim-soft);
}
.page-content h2:first-child{border-top:none;padding-top:0;margin-top:0;}
.page-content p{font-size:.96rem;color:#333;margin:0 0 14px;}
.page-content ul{margin:0 0 16px;padding-left:0;}
.page-content ul li{
  font-size:.94rem;color:#333;margin:0 0 10px;padding-left:22px;position:relative;
}
.page-content ul li::before{
  content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--stitch);
}
.page-content strong{color:var(--ink);}
.page-content .callout{
  background:var(--paper);border:2px dashed var(--denim);border-radius:var(--radius);
  padding:18px 20px;margin:20px 0;font-family:var(--font-mono);font-size:.86rem;color:#333;
}
.page-content .callout strong{display:block;color:var(--stitch);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:8px;font-family:var(--font-mono);}

/* ---------- contact page ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
@media (max-width:800px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{background:var(--paper);border:2px dashed var(--denim);border-radius:var(--radius);padding:24px;margin-bottom:16px;}
.contact-card .eyebrow{margin-bottom:8px;}
.contact-card a,.contact-card p{font-family:var(--font-mono);font-size:.92rem;}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:6px;color:#555;}
.form-field input,.form-field textarea{width:100%;padding:11px 12px;border:1.5px solid var(--indigo);
  border-radius:2px;font-family:var(--font-body);font-size:.92rem;background:var(--paper);}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--stitch);border-color:var(--stitch);}
.form-notice{font-family:var(--font-mono);font-size:.82rem;padding:12px 16px;border-radius:2px;margin-bottom:20px;}
.form-notice.ok{background:#e7f0e8;color:var(--ok);border:1px solid var(--ok);}
.form-notice.err{background:#f5e6e2;color:#a13b2c;border:1px solid #a13b2c;}

/* =========================================================
   WooCommerce overrides — hang-tag product cards + stitch UI
   (bare "ul.products" selectors — not scoped to ".woocommerce"
   so this also styles the homepage featured-products grid)
   ========================================================= */
ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:20px!important;
  list-style:none;margin:0!important;padding:0!important;
}
/* WooCommerce's own stylesheet adds a clearfix (content:"" before/after) to
   .products — harmless in the old float layout, but inside a CSS Grid that
   pseudo-element becomes a real (empty) grid item and occupies the FIRST
   cell, pushing every actual product one slot later. This is the cause of
   the "first box is blank" bug on both the homepage and category pages —
   kill the generated content so no phantom grid item is ever created. */
ul.products::before,
ul.products::after{
  content:none!important;
  display:none!important;
}
@media (max-width:900px){
  ul.products{grid-template-columns:repeat(2,1fr)!important;}
}
@media (max-width:520px){
  ul.products{grid-template-columns:1fr!important;}
}
ul.products li.product{
  background:var(--ecru);padding:22px 18px 18px;position:relative;
  width:auto!important;float:none!important;clear:none!important;
  margin:0!important;list-style:none;
  display:flex!important;flex-direction:column;
}
/* a stray empty subcategory tile (no image/title/price) collapses to nothing */
ul.products li.product-category:not(:has(img,h2,h3,.price)){display:none!important;}
ul.products li.product > a{
  display:flex;flex-direction:column;flex:0 0 auto;color:inherit;
}
ul.products li.product img{
  width:100%!important;
  aspect-ratio:1/1;object-fit:cover;border-radius:2px;margin-bottom:14px;background:var(--indigo-deep);
}
ul.products li.product .woocommerce-loop-category__title,
ul.products li.product h2,
ul.products li.product h3{
  font-family:var(--font-display);font-size:1.02rem;margin:0 0 4px;text-transform:none;letter-spacing:0;color:var(--ink);
}
ul.products li.product .price{
  font-family:var(--font-mono);font-weight:600;font-size:.95rem;color:var(--ink);display:block;margin:0 0 10px;
}
ul.products li.product .price del{color:#999;font-weight:400;}
ul.products li.product .price ins{text-decoration:none;color:var(--stitch);}
ul.products li.product .button{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;
  background:var(--ink);color:var(--ecru)!important;border:none;padding:10px 14px;border-radius:2px;
  display:inline-block;width:100%;text-align:center;
  margin-top:auto!important;
}
ul.products li.product .button:hover{background:var(--stitch);color:var(--ink)!important;}
ul.products li.product .onsale{
  position:absolute;top:10px;left:10px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;
  background:var(--stitch);color:var(--ink);padding:3px 8px;border-radius:10px;text-transform:uppercase;
  min-height:0;min-width:0;line-height:1.4;
}
ul.products li.product .star-rating{display:none;}

.woocommerce nav.woocommerce-pagination ul{border:none;gap:8px;display:flex;}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin-right:6px;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  font-family:var(--font-mono);border:1.5px solid var(--indigo);border-radius:20px;padding:6px 14px;color:var(--ink);
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:var(--ecru);border-color:var(--ink);}

/* single product */
.woocommerce div.product{padding:20px 0 60px;}
.woocommerce div.product .woocommerce-product-gallery{border:2px dashed var(--denim);border-radius:var(--radius);padding:10px;background:var(--paper);}
.woocommerce div.product .product_title{font-family:var(--font-display);font-size:2rem;margin:20px 0 10px;}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--font-mono);font-size:1.2rem;color:var(--ink);}
.woocommerce div.product .woocommerce-product-details__short-description{color:#444;}
.woocommerce div.product form.cart .button{
  font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--ink);
  color:var(--ecru);border:none;padding:14px 28px;border-radius:2px;
}
.woocommerce div.product form.cart .button:hover{background:var(--stitch);color:var(--ink);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
}
table.variations select,
.woocommerce table.shop_table th, .woocommerce table.shop_table td{font-family:var(--font-mono);}
.woocommerce span.onsale{background:var(--stitch);color:var(--ink);}

/* cart / checkout */
.woocommerce table.shop_table{border:2px dashed var(--denim);border-radius:var(--radius);}
.woocommerce-cart table.cart img{border-radius:2px;}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--ink);
  color:var(--ecru);border:none;padding:12px 22px;border-radius:2px;
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--stitch);color:var(--ink);
}
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea{
  border:1.5px solid var(--indigo);border-radius:2px;font-family:var(--font-body);
}
.woocommerce-page section{padding:40px 0;}
.woocommerce-breadcrumb{font-family:var(--font-mono);font-size:.78rem;color:#666;margin-bottom:24px;}
.woocommerce-breadcrumb a:hover{color:var(--stitch);}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  font-family:var(--font-mono);font-size:.85rem;border-top-color:var(--stitch)!important;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--stitch)!important;}

@media (prefers-reduced-motion: reduce){
  .ticker__track{animation:none;}
  html{scroll-behavior:auto;}
}
