/*
Theme Name: Rainbow Wholesale
Template: storefront
Description: Storefront child theme for Rainbow Wholesale: wholesale and closeout focused home page, buyer-friendly product pages.
Version: 1.0.0
Text Domain: rainbow-storefront
*/

:root{
  --rb-ink:#1b1f3b; --rb-muted:#5d6175; --rb-bg:#fbf8f6; --rb-card:#fff; --rb-line:#ece6e1; --rb-chip:#f3eee9;
  --rb-accent:#d6336c; --rb-accent-dark:#b02457; --rb-closeout:#e8590c; --rb-good:#0f8a6c;
  --rb-radius:14px; --rb-shadow:0 1px 2px rgba(27,31,59,.06),0 8px 24px rgba(27,31,59,.06);
  --rb-head:"Poppins",system-ui,sans-serif; --rb-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body{background:var(--rb-bg);color:var(--rb-ink);font-family:var(--rb-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.site-title,.widget-title,.product_title,.woocommerce-loop-product__title{font-family:var(--rb-head);color:var(--rb-ink);letter-spacing:-.01em}
a{color:var(--rb-accent)} a:hover{color:var(--rb-accent-dark)}
button,.button,input[type=submit],.wc-block-components-button,.added_to_cart{background:var(--rb-accent);border-color:var(--rb-accent);color:#fff;border-radius:999px;font-weight:600;padding:.75em 1.5em}
button:hover,.button:hover,input[type=submit]:hover{background:var(--rb-accent-dark);border-color:var(--rb-accent-dark);color:#fff}
.button.alt,button.alt,.single_add_to_cart_button{background:var(--rb-ink)!important;border-color:var(--rb-ink)!important}
.button.alt:hover,.single_add_to_cart_button:hover{background:#000!important}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{border:1px solid var(--rb-line);border-radius:10px;background:#fff;box-shadow:none}

/* Top bar */
.rb-topbar{background:var(--rb-ink);color:#e9e8f2;font-size:.82rem}
.rb-topbar .col-full{display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap;padding-top:.45em;padding-bottom:.45em}
.rb-topbar a{color:#fff;text-decoration:none;font-weight:600}
.rb-topbar__deal{color:#ffd8c2}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--rb-line);padding-top:1.4em}
.site-header .site-branding .site-title a{color:var(--rb-ink);font-weight:700;font-size:1.6rem}
.site-header .site-branding .site-title a::before{content:"";display:inline-block;width:.9em;height:.9em;border-radius:50%;margin-right:.35em;vertical-align:-.08em;background:conic-gradient(#ff5c8a,#ffb347,#ffe66d,#6ee7b7,#60a5fa,#a78bfa,#ff5c8a)}
.site-header .site-branding .site-description{color:var(--rb-muted)}
.main-navigation ul.menu>li>a,.main-navigation ul.nav-menu>li>a{color:var(--rb-ink);font-weight:600;font-size:.92rem;padding:1em .85em}
.main-navigation ul.menu>li.rb-nav-closeout>a{color:var(--rb-closeout)}
.storefront-primary-navigation{background:#fff}
.site-header-cart .cart-contents{color:var(--rb-ink)}
.storefront-handheld-footer-bar{background:#fff}

/* Product cards */
ul.products li.product{background:var(--rb-card);border:1px solid var(--rb-line);border-radius:var(--rb-radius);padding:12px 12px 16px;box-shadow:var(--rb-shadow);transition:transform .15s ease,box-shadow .15s ease;text-align:left}
ul.products li.product:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(27,31,59,.08),0 14px 32px rgba(27,31,59,.1)}
ul.products li.product img{border-radius:10px;aspect-ratio:1/1;object-fit:contain;background:#fff;margin-bottom:.7em}
ul.products li.product .woocommerce-loop-product__title{font-size:.92rem;font-weight:600;line-height:1.35;min-height:3.8em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
ul.products li.product .price{color:var(--rb-ink);font-weight:700;font-size:1.05rem;margin-bottom:0}
ul.products li.product .button{padding:.55em 1.1em;font-size:.85rem;margin-top:.6em}
.onsale{border:0;background:var(--rb-closeout);color:#fff;border-radius:4px}

/* Single product */
.single-product div.product .product_title{font-size:1.8rem;line-height:1.2}
.single-product div.product p.price{color:var(--rb-ink);font-size:1.6rem;font-weight:700;margin-bottom:.1em}
.single-product div.product .woocommerce-product-gallery{background:#fff;border-radius:var(--rb-radius);border:1px solid var(--rb-line);padding:12px}
.woocommerce-tabs{background:#fff;border-radius:var(--rb-radius);border:1px solid var(--rb-line);padding:1.5em}
.woocommerce-breadcrumb{background:transparent;font-size:.85rem}

/* Archive header */
.woocommerce-products-header{background:#fff;border:1px solid var(--rb-line);border-radius:var(--rb-radius);padding:1.6em 1.8em;margin-bottom:2em}
.woocommerce-products-header .page-title{margin-bottom:.3em}
.term-description{color:var(--rb-muted);max-width:75ch}
.term-description p:last-child{margin-bottom:0}

/* Home */
.rb-home .site-main{margin-bottom:0}
.rb-home .entry-header,.rb-home .hentry .entry-header{display:none}
.rb-section{margin:0 0 3.5em}
.rb-section__head{display:flex;align-items:end;justify-content:space-between;gap:1em;margin-bottom:1.2em}
.rb-section__head h2{margin:0;font-size:1.6rem}
.rb-section__head p{margin:.3em 0 0;color:var(--rb-muted)}
.rb-section__more{font-weight:600;white-space:nowrap}
.rb-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5em;align-items:center;background:#fff;border:1px solid var(--rb-line);border-radius:24px;padding:3em;margin:1.5em 0 2em;box-shadow:var(--rb-shadow);position:relative;overflow:hidden}
.rb-hero::after{content:"";position:absolute;inset:auto -10% -55% 40%;height:120%;background:radial-gradient(closest-side,rgba(214,51,108,.12),transparent),radial-gradient(closest-side at 70% 30%,rgba(96,165,250,.12),transparent);pointer-events:none}
.rb-hero__eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rb-accent);background:#fdeef3;border-radius:999px;padding:.35em .9em;margin-bottom:1em}
.rb-hero h1{font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.08;margin:0 0 .45em;font-weight:700}
.rb-hero p{font-size:1.1rem;color:var(--rb-muted);max-width:52ch}
.rb-cta{display:flex;flex-wrap:wrap;gap:.7em;margin-top:1.4em}
.rb-cta .button.rb-ghost{background:transparent;color:var(--rb-ink);border:2px solid var(--rb-ink)}
.rb-cta .button.rb-ghost:hover{background:var(--rb-ink);color:#fff}
.rb-cta .button.rb-closeout{background:var(--rb-closeout);border-color:var(--rb-closeout)}
.rb-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1}
.rb-hero__grid a{display:block;background:#fff;border:1px solid var(--rb-line);border-radius:16px;padding:10px;aspect-ratio:1/1}
.rb-hero__grid img{width:100%;height:100%;object-fit:contain}
.rb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1em;margin:0 0 3em}
.rb-stat{background:#fff;border:1px solid var(--rb-line);border-radius:var(--rb-radius);padding:1.1em 1.2em}
.rb-stat strong{display:block;font-family:var(--rb-head);font-size:1.5rem;line-height:1.1}
.rb-stat span{color:var(--rb-muted);font-size:.9rem}
.rb-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.rb-cat{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid var(--rb-line);border-radius:var(--rb-radius);padding:14px;text-decoration:none;color:var(--rb-ink);transition:border-color .15s,transform .15s}
.rb-cat:hover{border-color:var(--rb-accent);transform:translateY(-2px);color:var(--rb-ink)}
.rb-cat img{width:100%;aspect-ratio:1/1;object-fit:contain;margin-bottom:.6em}
.rb-cat strong{font-family:var(--rb-head);font-size:1rem}
.rb-cat span{font-size:.82rem;color:var(--rb-muted)}
.rb-closeout-band{background:linear-gradient(135deg,#fff4ec,#fff);border:1px solid #ffd8c2;border-radius:24px;padding:2em}
.rb-closeout-band .rb-section__head h2{color:var(--rb-closeout)}
.rb-brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.rb-brand{display:block;background:#fff;border:1px solid var(--rb-line);border-radius:var(--rb-radius);padding:1.2em;text-decoration:none;color:var(--rb-ink)}
.rb-brand:hover{border-color:var(--rb-accent);color:var(--rb-ink)}
.rb-brand strong{font-family:var(--rb-head);font-size:1.15rem;display:block}
.rb-brand span{font-size:.85rem;color:var(--rb-muted)}
.rb-brand em{display:inline-block;font-style:normal;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--rb-accent);margin-bottom:.4em}
.rb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:step}
.rb-step{background:#fff;border:1px solid var(--rb-line);border-radius:var(--rb-radius);padding:1.4em}
.rb-step::before{counter-increment:step;content:counter(step);display:inline-grid;place-items:center;width:2em;height:2em;border-radius:50%;background:var(--rb-ink);color:#fff;font-weight:700;margin-bottom:.7em}
.rb-step h3{font-size:1.1rem;margin:0 0 .3em}
.rb-step p{margin:0;color:var(--rb-muted)}
.rb-step--lot{background:#fff4ec;border-color:#ffd8c2}
.rb-step--lot::before{background:var(--rb-closeout)}
.rb-offer-band{display:grid;grid-template-columns:1fr auto;gap:1.5em;align-items:center;background:var(--rb-ink);color:#fff;border-radius:24px;padding:2.2em 2.5em}
.rb-offer-band h2{color:#fff;margin:0 0 .3em}
.rb-offer-band p{margin:0;color:#cfd0e0}
.rb-offer-band .button{background:#fff;color:var(--rb-ink);border-color:#fff}
.rb-faq details{background:#fff;border:1px solid var(--rb-line);border-radius:12px;padding:1em 1.2em;margin-bottom:.6em}
.rb-faq summary{font-weight:600;cursor:pointer}
.rb-faq details p{margin:.7em 0 0;color:var(--rb-muted)}
.rb-seo{color:var(--rb-muted);font-size:.95rem;columns:2 320px;column-gap:2.5em}
.rb-seo h2{column-span:all;font-size:1.3rem;color:var(--rb-ink)}

/* Footer */
.site-footer{background:var(--rb-ink)!important;color:#cfd0e0!important}
.site-footer a:not(.button){color:#fff!important;text-decoration:none}
.site-footer a:not(.button):hover{text-decoration:underline}
.site-footer .widget-title,.site-footer h3{color:#fff;border:0}
.rb-footer{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2em;padding:2.5em 0 1em}
.rb-footer h3{font-size:1rem;margin-bottom:.8em}
.rb-footer ul{list-style:none;margin:0;padding:0}
.rb-footer li{margin:.3em 0}
.rb-footer p{margin:0 0 .6em}
.site-info{color:#9a9cb4;border-top:1px solid rgba(255,255,255,.08);padding:1.2em 0}

@media (max-width:900px){
  .rb-hero{grid-template-columns:1fr;padding:2em}
  .rb-stats{grid-template-columns:repeat(2,1fr)}
  .rb-steps{grid-template-columns:1fr}
  .rb-offer-band{grid-template-columns:1fr}
  .rb-footer{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  h1,.entry-title,.page-title{font-size:2rem}
  .single-product div.product .product_title{font-size:1.5rem}
  .site-header .site-branding .site-title a{font-size:1.3rem}
  .rb-hero__grid{display:none}
  .rb-footer{grid-template-columns:1fr}
  .rb-section__head{flex-direction:column;align-items:start}
}

/* Wholesale-only store notice */
.woocommerce-store-notice,p.demo_store{background:var(--rb-ink)!important;color:#fff;font-size:.9rem}
.woocommerce-store-notice a{color:#ffd8c2}
