/*
Theme Name: eMoto Experts — Ripcord
Description: Ripcord visual system (acid-green, bold-italic Archivo/JetBrains Mono) applied to the eMoto Experts WooCommerce store. Light by default with a dark-mode toggle. Child theme of Storefront.
Author: eMoto Experts
Template: storefront
Version: 2.0.1
*/

/* ===== Tokens — light is the default palette, [data-theme="dark"] overrides it ===== */
:root{
  --rc-bg:#f4f4f1;
  --rc-surface:#ffffff;
  --rc-surface-alt:#eaeae6;
  --rc-ink:#111110;
  --rc-ink-dim:#3d3d38;
  --rc-ink-faint:#8a8a82;
  --rc-line:#e2e2da;
  --rc-accent:#d7f230;
  --rc-accent-dark:#c6e01d;
  --rc-accent-ink:#111110;
  /* always-contrast blocks (why-us bar, newsletter) — flip so they stay a contrast block in either theme */
  --rc-invert-bg:#111110;
  --rc-invert-ink:#f4f4f1;
  --rc-invert-ink-dim:#c3c3bb;
  --rc-invert-line:#2a2a26;
  --rc-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --rc-display:'Archivo',Helvetica,Arial,sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --rc-bg:#111110;
  --rc-surface:#191916;
  --rc-surface-alt:#1b1b18;
  --rc-ink:#f4f4f1;
  --rc-ink-dim:#c3c3bb;
  --rc-ink-faint:#8d8d84;
  --rc-line:#2a2a26;
  --rc-invert-bg:#f4f4f1;
  --rc-invert-ink:#111110;
  --rc-invert-ink-dim:#3d3d38;
  --rc-invert-line:#e2e2da;
  color-scheme:dark;
}

html{background:var(--rc-bg);}
body{
  background:var(--rc-bg);
  color:var(--rc-ink);
  font-family:var(--rc-display);
  -webkit-font-smoothing:antialiased;
  transition:background .15s ease,color .15s ease;
}
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--rc-accent); color:var(--rc-accent-ink); }
h1,h2,h3,h4{ font-family:var(--rc-display); letter-spacing:-0.03em; font-weight:800; margin:0 0 .4em; }
.col-full{ max-width:1440px; }

/* ===== Header ===== */
#masthead.site-header{
  background:var(--rc-bg);
  border-bottom:1px solid var(--rc-line);
  padding:0;
}
#masthead .col-full{ display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding:16px 0; }
#masthead .site-branding{ display:flex; align-items:baseline; gap:10px; flex:0 0 auto; }
#masthead .site-title,#masthead .site-title a{
  font-weight:900; font-size:24px; font-style:italic; letter-spacing:-0.04em; color:var(--rc-ink);
}
#masthead .site-description{ display:none; }
#masthead .site-search{ margin-left:auto; flex:0 0 260px; }
#masthead .site-search .widget{ margin:0; }
.woocommerce-product-search{ display:flex; }
.woocommerce-product-search .search-field{
  flex:1; min-width:0; padding:9px 12px;
  background:var(--rc-surface-alt); border:1px solid var(--rc-line); color:var(--rc-ink); font-family:var(--rc-display);
}
.woocommerce-product-search button[type="submit"]{
  padding:9px 12px; background:var(--rc-accent); color:var(--rc-accent-ink); border:none; font-weight:700; cursor:pointer;
}
.storefront-primary-navigation{ background:var(--rc-bg); border-top:1px solid var(--rc-line); }
.storefront-primary-navigation .col-full{ display:flex; align-items:center; padding:0; }
.main-navigation .menu{ display:flex; align-items:center; flex-wrap:wrap; }
.main-navigation a{
  color:var(--rc-ink-dim); font-size:15px; font-weight:500; padding:14px 14px; display:block;
}
.main-navigation a:hover{ color:var(--rc-ink); }
.main-navigation li.current_page_item > a,.main-navigation li.current-menu-item > a{
  color:var(--rc-ink); border-bottom:2px solid var(--rc-accent);
}
#site-header-cart.site-header-cart{ margin-left:auto; display:flex; align-items:center; gap:14px; }
#site-header-cart.site-header-cart .cart-contents{
  font-family:var(--rc-mono); font-size:11px; color:var(--rc-ink-faint); letter-spacing:.04em; text-transform:uppercase;
}
#site-header-cart .amount{ color:var(--rc-ink); }
.storefront-handheld-footer-bar{ background:var(--rc-bg); border-top:1px solid var(--rc-line); }

.rc-subnav{ background:var(--rc-surface-alt); border-bottom:1px solid var(--rc-line); }
.rc-subnav-inner{ display:flex; align-items:center; gap:2px; flex-wrap:wrap; padding:8px 0; }
.rc-subnav a{
  font-family:var(--rc-mono); font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--rc-ink-faint);
  padding:8px 12px; white-space:nowrap;
}
.rc-subnav a:hover{ color:var(--rc-ink); }
.rc-subnav-sep{ width:1px; height:14px; background:var(--rc-line); margin:0 6px; display:inline-block; }

/* Theme toggle */
.rc-theme-toggle{
  background:none; border:1.5px solid var(--rc-line); color:var(--rc-ink); width:36px; height:36px;
  border-radius:999px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:15px;
  clip-path:none; padding:0;
}
.rc-theme-toggle:hover{ background:var(--rc-surface-alt); color:var(--rc-ink); }
:root[data-theme="dark"] .rc-theme-toggle .rc-icon-sun{ display:inline; }
:root[data-theme="dark"] .rc-theme-toggle .rc-icon-moon{ display:none; }
:root:not([data-theme="dark"]) .rc-theme-toggle .rc-icon-sun{ display:none; }
:root:not([data-theme="dark"]) .rc-theme-toggle .rc-icon-moon{ display:inline; }

/* ===== Buttons (site-wide) ===== */
.button,button,input[type="submit"],
a.add_to_cart_button,a.button,.single_add_to_cart_button{
  background:var(--rc-ink); color:var(--rc-bg); border:none; border-radius:0;
  font-family:var(--rc-display); font-weight:700; font-size:14px; letter-spacing:0;
  padding:13px 24px; cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,0 100%);
  transition:background .15s ease,color .15s ease;
}
.button:hover,button:hover,input[type="submit"]:hover,a.add_to_cart_button:hover,a.button:hover,.single_add_to_cart_button:hover{
  background:var(--rc-accent); color:var(--rc-accent-ink);
}
.button.alt,.checkout-button,.single_add_to_cart_button{
  background:var(--rc-accent); color:var(--rc-accent-ink);
}
.button.alt:hover,.checkout-button:hover,.single_add_to_cart_button:hover{ background:var(--rc-accent-dark); }
#masthead a.button{ background:var(--rc-ink); color:var(--rc-bg); }
.rc-theme-toggle, .rc-theme-toggle:hover{ clip-path:none; }

/* pill CTAs inside product cards */
ul.products a.add_to_cart_button{
  border-radius:999px; clip-path:none; font-size:13px; padding:10px 18px;
  background:var(--rc-ink); color:var(--rc-bg);
}
ul.products a.add_to_cart_button:hover{ background:var(--rc-accent); color:var(--rc-accent-ink); }

/* ===== Shop / category product grid ===== */
ul.products{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:18px; list-style:none; margin:0 0 40px; padding:0; }
ul.products li.product{
  background:var(--rc-surface); border:1px solid var(--rc-line); padding:16px; display:flex; flex-direction:column; gap:12px;
  transition:transform .2s ease, box-shadow .2s ease; position:relative;
}
ul.products li.product:hover{ transform:translateY(-4px); box-shadow:0 18px 34px rgba(17,17,16,.12); }
ul.products li.product a.woocommerce-loop-product__link{ display:flex; flex-direction:column; gap:12px; }
ul.products li.product img{
  aspect-ratio:1/1; object-fit:cover; background:var(--rc-surface-alt); width:100%; height:auto;
}
ul.products li.product .woocommerce-loop-product__title{
  font-size:15px; font-weight:700; letter-spacing:-0.01em; margin:0; color:var(--rc-ink);
}
ul.products li.product .price{ font-size:16px; font-weight:700; color:var(--rc-ink); margin-top:auto; }
ul.products li.product .price del{ color:var(--rc-ink-faint); font-weight:400; }
ul.products li.product .price ins{ text-decoration:none; }
ul.products li.product .onsale{
  position:absolute; top:10px; left:10px; background:var(--rc-accent); color:var(--rc-accent-ink);
  font-family:var(--rc-mono); font-size:10px; letter-spacing:.06em; padding:4px 8px; text-transform:uppercase; border-radius:0;
}
ul.products li.product .star-rating{ display:none; }

/* ===== Category / archive header ===== */
.woocommerce-products-header{ padding:44px 0 24px; }
.woocommerce-products-header__title.page-title{
  font-size:clamp(28px,4vw,52px); font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:-0.035em;
  color:var(--rc-ink); margin-bottom:14px;
}
.term-description{
  font-size:15px; line-height:1.7; color:var(--rc-ink-dim); max-width:78ch; margin-bottom:8px;
}
.term-description b{ color:var(--rc-ink); font-weight:700; }
.term-description a{ color:var(--rc-ink); border-bottom:2px solid var(--rc-accent); }
.storefront-breadcrumb{ background:var(--rc-surface-alt); font-family:var(--rc-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--rc-ink-faint); }
.storefront-breadcrumb a{ color:var(--rc-ink-dim); }
.woocommerce-ordering select{ font-family:var(--rc-display); border:1.5px solid var(--rc-line); background:var(--rc-surface); color:var(--rc-ink); }

/* Full-width shop/PDP layout, matching the Ripcord mockup — no default Storefront sidebar */
body.woocommerce-page #secondary,body.single-product #secondary,body.home #secondary{ display:none; }
body.woocommerce-page #primary,body.single-product #primary,body.home #primary{ width:100%; float:none; }
body.woocommerce-page .content-area,body.single-product .content-area,body.home .content-area{ width:100%; }
body.home #content > .col-full{ padding:0; max-width:none; }
body.home article{ margin:0; }
body.home .entry-content{ margin:0; }
body.home .entry-header{ display:none; }
body.home #primary{ padding:0; }

/* ===== Single product ===== */
.product_title{
  font-size:clamp(26px,3.2vw,42px); font-weight:900; font-style:italic; letter-spacing:-0.035em; text-transform:uppercase;
}
div.product p.price,div.product span.price{ font-size:26px; font-weight:800; color:var(--rc-ink); }
div.product p.price ins{ text-decoration:none; }
.woocommerce-product-details__short-description{ color:var(--rc-ink-dim); font-size:15px; line-height:1.6; }
table.shop_attributes{ border-collapse:collapse; width:100%; margin:18px 0; }
table.shop_attributes th{
  font-family:var(--rc-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--rc-ink-faint);
  text-align:left; padding:10px 12px; background:var(--rc-surface-alt); border:1px solid var(--rc-line); font-weight:500;
}
table.shop_attributes td{ padding:10px 12px; border:1px solid var(--rc-line); font-weight:700; color:var(--rc-ink); }
.woocommerce-tabs ul.tabs{ border-bottom:1px solid var(--rc-line); }
.woocommerce-tabs ul.tabs li a{ font-family:var(--rc-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--rc-ink-faint); }
.woocommerce-tabs ul.tabs li.active a{ color:var(--rc-ink); border-bottom:2px solid var(--rc-accent); }
.quantity input.qty{ border:1.5px solid var(--rc-line); font-family:var(--rc-mono); background:var(--rc-surface); color:var(--rc-ink); }
.emoto-pdp .badge-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.emoto-pdp .badge{
  background:var(--rc-surface-alt); border:1px solid var(--rc-line); padding:8px 12px; font-size:12px; color:var(--rc-ink);
}
.emoto-pdp .badge b{ display:block; font-size:14px; }
.emoto-pdp .badge span{ font-family:var(--rc-mono); font-size:9.5px; color:var(--rc-ink-faint); text-transform:uppercase; }
.emoto-pdp .hero-media img{ max-width:100%; height:auto; }

.related.products > h2,.upsells.products > h2{
  font-size:clamp(22px,3vw,34px); font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:-0.03em;
}

/* ===== Cart / checkout — keep functional, restyle chrome only ===== */
.woocommerce-cart table.shop_table,.woocommerce-checkout table.shop_table{ border-color:var(--rc-line); }
.woocommerce-cart .product-name a,.woocommerce-checkout .product-name a{ color:var(--rc-ink); font-weight:700; }
#payment #place_order{ width:100%; }

/* ===== Footer ===== */
#colophon.site-footer{ background:var(--rc-invert-bg); color:var(--rc-invert-ink); padding-top:36px; }
#colophon .footer-widgets{ max-width:1440px; margin:0 auto; padding:0 clamp(16px,3vw,40px); }
#colophon .widget-title{
  font-family:var(--rc-mono); font-size:10.5px; letter-spacing:.1em; color:var(--rc-accent); text-transform:uppercase; margin-bottom:12px;
}
#colophon .widget a{ color:var(--rc-invert-ink-dim); font-size:13.5px; display:block; padding:4px 0; }
#colophon .widget a:hover{ color:var(--rc-invert-ink); }
.site-info{ font-family:var(--rc-mono); font-size:10.5px; color:var(--rc-invert-ink-dim); letter-spacing:.06em; border-top:1px solid var(--rc-invert-line); padding:18px 0; max-width:1440px; margin:0 auto; }

/* ===== Homepage custom sections (rc-*) ===== */
.rc-page{ max-width:1440px; margin:0 auto; padding:0 clamp(16px,3vw,40px); font-family:var(--rc-display); color:var(--rc-ink); background:var(--rc-bg); }
.rc-mono{ font-family:var(--rc-mono); }
.rc-eyebrow{ font-family:var(--rc-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--rc-ink-faint); }
.rc-eyebrow-accent{ color:#8a9a00; }
:root[data-theme="dark"] .rc-eyebrow-accent{ color:var(--rc-accent); }
.rc-hero-title{ font-size:clamp(52px,11vw,164px); line-height:.86; letter-spacing:-0.045em; font-weight:800; margin:0; color:var(--rc-ink); }
.rc-btn{
  display:inline-block; font-weight:700; font-size:15px; padding:15px 26px; cursor:pointer; border:none;
  clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,0 100%);
}
.rc-btn-accent{ background:var(--rc-accent); color:var(--rc-accent-ink); }
.rc-btn-accent:hover{ background:var(--rc-accent-dark); }
.rc-btn-dark{ background:var(--rc-ink); color:var(--rc-bg); }
.rc-btn-dark:hover{ background:var(--rc-ink-dim); }
.rc-btn-outline{ border:1.5px solid var(--rc-line); color:var(--rc-ink); padding:14.5px 24px; background:transparent; }
.rc-btn-outline:hover{ border-color:var(--rc-ink); }
.rc-panel-invert{ background:var(--rc-invert-bg); color:var(--rc-invert-ink); }
.rc-card{ background:var(--rc-surface); border:1px solid var(--rc-line); padding:16px; display:flex; flex-direction:column; gap:12px; transition:transform .2s ease, box-shadow .2s ease; color:var(--rc-ink); }
.rc-card:hover{ transform:translateY(-4px); box-shadow:0 18px 34px rgba(17,17,16,.1); }
.rc-card img{ aspect-ratio:1/1; object-fit:cover; width:100%; }
.rc-tag{ font-family:var(--rc-mono); font-size:10px; background:var(--rc-accent); color:var(--rc-accent-ink); padding:4px 7px; text-transform:uppercase; }
.rc-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:18px; }
.rc-section{ padding:clamp(48px,7vw,96px) 0 0; }
.rc-h2{ font-size:clamp(28px,4vw,52px); font-weight:900; font-style:italic; letter-spacing:-0.035em; text-transform:uppercase; margin:0; color:var(--rc-ink); }
.rc-pill{ border:1.5px solid var(--rc-line); font-size:13px; font-weight:600; padding:9px 16px; border-radius:999px; display:inline-block; color:var(--rc-ink); }
.rc-pill:hover{ border-color:var(--rc-ink); background:var(--rc-ink); color:var(--rc-bg); }
.rc-copy{ color:var(--rc-ink-dim); line-height:1.65; font-size:15px; }
.rc-stat{ display:flex; align-items:baseline; gap:6px; }
.rc-stat b{ font-size:22px; font-weight:800; color:var(--rc-ink); }
.rc-stat span{ font-family:var(--rc-mono); font-size:11px; color:var(--rc-ink-faint); text-transform:uppercase; letter-spacing:.04em; }

@media (max-width:860px){
  #masthead .site-branding{ flex-wrap:wrap; }
  .main-navigation .menu{ display:flex; flex-wrap:wrap; }
}
