/*
Theme Name: STARLED
Theme URI: https://starlediluminacion.com
Author: Paginas EA
Description: Custom dark showroom theme for STARLED Iluminación, built from the STARLED Design System.
Version: 1.0.0
Text Domain: starled
Requires PHP: 7.4
*/

@import url("https://fonts.googleapis.com/css2?family=Marcellus&family=Outfit:wght@300;400;500;600;700&display=swap");

/* ===== TOKENS ===== */
:root{
/* Base neutrals — warm-black scale */
--ink-0:#121211; --ink-1:#181816; --ink-2:#201F1C; --ink-3:#2A2825;
--line-1:#2E2C27; --line-2:#403C35;
--paper-0:#F4F1EA; --paper-1:#EAE6DD;
--fg-1:#F2EFE8; --fg-2:#B9B3A7; --fg-3:#807A6E;
/* Accent — warm amber (LED warm-white) */
--amber-200:#F6DCAC; --amber-300:#F0C87E; --amber-400:#EBB65B; --amber-500:#E2A33C; --amber-600:#C4882B; --amber-700:#8F6220;
/* Semantic status */
--success:#8FAE85; --danger:#C96A5A; --warning:#EBB65B;
/* Semantic aliases */
--surface-page:var(--ink-0);
--surface-card:var(--ink-1);
--surface-raised:var(--ink-2);
--surface-inverse:var(--paper-0);
--text-heading:var(--fg-1);
--text-body:var(--fg-2);
--text-muted:var(--fg-3);
--text-inverse:var(--ink-0);
--text-accent:var(--amber-500);
--border-subtle:var(--line-1);
--border-strong:var(--line-2);
--accent:var(--amber-500);
--accent-hover:var(--amber-400);
--on-accent:#141310;
--price:var(--fg-1);
--price-sale:var(--amber-500);
--price-old:var(--fg-3);

--font-display:'Marcellus',Georgia,serif;
--font-sans:'Outfit','Helvetica Neue',Arial,sans-serif;
--text-xs:12px; --text-sm:13px; --text-base:15px; --text-md:17px;
--text-lg:22px; --text-xl:28px; --text-2xl:36px; --text-3xl:48px; --text-display:64px;
--leading-tight:1.1; --leading-snug:1.3; --leading-body:1.6;
--tracking-eyebrow:.22em; --tracking-wide:.08em; --tracking-normal:0;
--weight-light:300; --weight-regular:400; --weight-medium:500; --weight-semibold:600;

--space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
--space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
--container:1280px; --gutter:24px;
--section-pad:96px;

--radius-0:0; --radius-sm:2px; --radius-pill:999px;
--shadow-card:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.35);
--shadow-pop:0 24px 64px rgba(0,0,0,.5);
--glow-warm:0 0 60px rgba(226,163,60,.18);
--glow-strong:0 0 90px rgba(226,163,60,.30);
--dur-fast:150ms; --dur-base:250ms; --dur-slow:450ms;
--ease-out:cubic-bezier(.22,.61,.36,1);
--overlay-scrim:linear-gradient(180deg,rgba(18,18,17,0) 30%,rgba(18,18,17,.85) 100%);
}

/* ===== BASE ===== */
*{box-sizing:border-box;}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--text-heading);line-height:var(--leading-tight);margin:0;}
a{color:var(--fg-1);text-decoration:none;transition:color var(--dur-fast) var(--ease-out);}
a:hover{color:var(--accent);}
img{max-width:100%;display:block;}
::selection{background:var(--amber-700);color:var(--fg-1);}
button{font-family:var(--font-sans);}

.starled-wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.starled-section{padding-top:var(--section-pad);}
@media (max-width:768px){.starled-section{padding-top:56px;}}

.starled-eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--accent);}
.starled-eyebrow.muted{color:var(--text-muted);}

.starled-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap;}
.starled-section-head h2{font-size:var(--text-2xl);}
.starled-section-head .starled-eyebrow{margin-bottom:10px;display:block;}

/* ===== BUTTON ===== */
.starled-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 30px;font-family:var(--font-sans);font-size:12px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius-0);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);text-align:center;}
.starled-btn.sm{padding:9px 18px;font-size:11px;}
.starled-btn.lg{padding:17px 38px;font-size:13px;}
.starled-btn.full{display:flex;width:100%;}
.starled-btn.primary{background:var(--accent);color:var(--on-accent);}
.starled-btn.primary:hover{background:var(--accent-hover);color:var(--on-accent);}
.starled-btn.secondary{background:transparent;color:var(--fg-1);border-color:var(--line-2);}
.starled-btn.secondary:hover{background:var(--surface-raised);border-color:var(--border-strong);color:var(--fg-1);}
.starled-btn.ghost{background:transparent;color:var(--fg-1);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--line-2);}
.starled-btn.ghost:hover{color:var(--accent);text-decoration-color:var(--accent);}
.starled-btn:disabled{opacity:.45;cursor:not-allowed;}

/* ===== ICON BUTTON ===== */
.starled-iconbtn{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-0);color:var(--fg-1);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);}
.starled-iconbtn:hover{color:var(--accent);border-color:var(--border-strong);}
.starled-iconbtn .starled-count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:var(--weight-semibold);display:flex;align-items:center;justify-content:center;}
.starled-iconbtn svg{width:20px;height:20px;}

/* ===== BADGE ===== */
.starled-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);font-size:11px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;}
.starled-badge.solid{background:var(--accent);color:var(--on-accent);border:1px solid transparent;}
.starled-badge.outline{background:transparent;color:var(--fg-1);border:1px solid var(--line-2);}
.starled-badge.sale{background:var(--danger);color:var(--fg-1);border:1px solid transparent;}
.starled-badge.muted{background:var(--surface-raised);color:var(--fg-2);border:1px solid transparent;}

/* ===== INPUT / SELECT ===== */
.starled-field{display:flex;flex-direction:column;gap:8px;font-family:var(--font-sans);}
.starled-field.full{width:100%;}
.starled-field-label{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);}
.starled-input,.starled-select,.starled-textarea{box-sizing:border-box;width:100%;padding:12px 14px;background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--radius-0);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--text-base);outline:none;transition:border-color var(--dur-fast) var(--ease-out);}
.starled-input:focus,.starled-select:focus,.starled-textarea:focus{border-color:var(--accent);}
.starled-select-wrap{position:relative;display:block;}
.starled-select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;min-width:180px;}
.starled-select-wrap:after{content:'';position:absolute;right:16px;top:50%;margin-top:-5px;width:7px;height:7px;border-right:1px solid var(--fg-2);border-bottom:1px solid var(--fg-2);transform:rotate(45deg);pointer-events:none;}
.starled-textarea{resize:vertical;}

/* ===== RATING ===== */
.starled-rating{display:inline-flex;align-items:center;gap:8px;}
.starled-rating .stars{font-size:14px;letter-spacing:2px;line-height:1;}
.starled-rating .stars .on{color:var(--accent);}
.starled-rating .stars .off{color:var(--line-2);}
.starled-rating .count{font-size:var(--text-sm);color:var(--text-muted);}

/* ===== QUANTITY STEPPER ===== */
.starled-qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--radius-0);}
.starled-qty button{width:40px;height:44px;background:transparent;border:none;color:var(--fg-2);font-size:18px;cursor:pointer;line-height:1;}
.starled-qty input{width:36px;text-align:center;font-family:var(--font-sans);font-size:var(--text-base);color:var(--fg-1);background:transparent;border:none;outline:none;}

/* ===== BREADCRUMBS ===== */
.starled-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:var(--text-sm);margin:20px 0 36px;}
.starled-breadcrumbs a{color:var(--text-muted);}
.starled-breadcrumbs .sep{color:var(--line-2);}
.starled-breadcrumbs .current{color:var(--fg-1);}

/* ===== ACCORDION ===== */
.starled-accordion{border-top:1px solid var(--border-subtle);}
.starled-accordion-item{border-bottom:1px solid var(--border-subtle);}
.starled-accordion-item button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 2px;background:transparent;border:none;cursor:pointer;color:var(--fg-1);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;text-align:left;transition:color var(--dur-fast) var(--ease-out);}
.starled-accordion-item.open button{color:var(--accent);}
.starled-accordion-item .chevron{width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform var(--dur-base) var(--ease-out);flex-shrink:0;}
.starled-accordion-item.open .chevron{transform:rotate(-135deg);}
.starled-accordion-item .panel{display:none;padding:0 2px 20px;color:var(--text-body);font-size:var(--text-base);line-height:var(--leading-body);}
.starled-accordion-item.open .panel{display:block;}

/* ===== PRODUCT CARD ===== */
.starled-product-card{position:relative;display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-0);transition:border-color var(--dur-base) var(--ease-out);font-family:var(--font-sans);}
.starled-product-card:hover{border-color:var(--border-strong);}
.starled-product-card .thumb{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--surface-raised);display:block;}
.starled-product-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out);}
.starled-product-card:hover .thumb img{transform:scale(1.03);}
.starled-product-card .thumb .placeholder{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%, rgba(226,163,60,.22), rgba(226,163,60,.05) 45%, transparent 70%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;}
.starled-product-card .thumb .placeholder span{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);}
.starled-product-card .badge-slot{position:absolute;top:12px;left:12px;}
.starled-product-card .add-bar{position:absolute;left:0;right:0;bottom:0;padding:12px 0;background:var(--accent);color:var(--on-accent);border:none;font-family:var(--font-sans);font-size:12px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transform:translateY(100%);transition:transform var(--dur-base) var(--ease-out);width:100%;text-align:center;}
.starled-product-card:hover .add-bar{transform:translateY(0);}
.starled-product-card .info{display:flex;flex-direction:column;gap:6px;padding:16px 16px 18px;}
.starled-product-card .cat{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);}
.starled-product-card .name{font-size:var(--text-base);color:var(--fg-1);line-height:var(--leading-snug);}
.starled-product-card .price-row{display:flex;align-items:baseline;gap:10px;margin-top:2px;}
.starled-product-card .price{font-family:var(--font-display);font-size:var(--text-md);color:var(--price);}
.starled-product-card .price.sale{color:var(--price-sale);}
.starled-product-card .price-old{font-size:var(--text-sm);color:var(--price-old);text-decoration:line-through;}
.starled-product-card .price.consult,
.starled-pdp-price .price.consult{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;}

.starled-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.starled-product-grid.cols-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:768px){.starled-product-grid,.starled-product-grid.cols-3{grid-template-columns:repeat(2,1fr);gap:12px;}}

/* ===== CATEGORY CARD ===== */
.starled-category-card{position:relative;height:280px;overflow:hidden;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-0);cursor:pointer;font-family:var(--font-sans);transition:border-color var(--dur-base) var(--ease-out);display:block;}
.starled-category-card:hover{border-color:var(--border-strong);}
.starled-category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out);}
.starled-category-card:hover img{transform:scale(1.03);}
.starled-category-card .scrim{position:absolute;inset:0;background:var(--overlay-scrim);}
.starled-category-card .body{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;display:flex;flex-direction:column;gap:4px;}
.starled-category-card .title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--fg-1);line-height:var(--leading-tight);}
.starled-category-card .count{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);transition:color var(--dur-fast) var(--ease-out);}
.starled-category-card:hover .count{color:var(--accent);}

.starled-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.starled-category-grid.cols-3{grid-template-columns:repeat(3,1fr);gap:20px;}
.starled-category-grid.cols-3 .starled-category-card{height:240px;}
@media (max-width:768px){
  .starled-category-grid{grid-template-columns:repeat(2,1fr);}
  .starled-category-grid.cols-3{grid-template-columns:repeat(2,1fr);gap:12px;}
}

/* ===== HEADER / CHROME ===== */
.starled-topbar{background:var(--ink-2);border-bottom:1px solid var(--border-subtle);text-align:center;padding:8px 0;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2);}
.starled-header-wrap{position:sticky;top:0;z-index:50;}
.starled-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 40px;height:76px;background:rgba(18,18,17,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-subtle);}
.starled-wordmark{display:flex;align-items:baseline;gap:10px;cursor:pointer;}
.starled-wordmark .word{font-family:var(--font-display);font-size:26px;letter-spacing:.12em;color:var(--fg-1);}
.starled-wordmark .sub{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);}
.starled-nav{display:flex;gap:32px;}
.starled-nav a{font-size:13px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2);}
.starled-nav a.active,.starled-nav a:hover{color:var(--accent);}
.starled-header-actions{display:flex;gap:4px;}
.starled-menu-toggle{display:none;}

/* Mobile drawer: search -> Menú/Categorías tabs -> panel content.
   Matches the client's reference (xstore.8theme.com mobile menu). */
.starled-mobile-nav{display:none;position:absolute;left:0;right:0;max-height:calc(100vh - 60px);overflow-y:auto;background:var(--ink-1);border-bottom:1px solid var(--border-strong);flex-direction:column;box-shadow:var(--shadow-pop);}
.starled-mobile-nav.open{display:flex;}

.starled-mobile-search{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-subtle);}
.starled-mobile-search input{flex:1;box-sizing:border-box;padding:10px 14px;background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--radius-0);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--text-base);outline:none;}
.starled-mobile-search button{flex-shrink:0;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line-2);color:var(--fg-1);cursor:pointer;}

.starled-mobile-tabs{display:flex;border-bottom:1px solid var(--border-subtle);}
.starled-mobile-tabs .tab{flex:1;padding:14px 0;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--fg-3);font-family:var(--font-sans);font-size:13px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;}
.starled-mobile-tabs .tab.active{color:var(--fg-1);border-bottom-color:var(--accent);}

.starled-mobile-panel{display:flex;flex-direction:column;}
.starled-mobile-panel a{padding:15px 20px;border-top:1px solid var(--border-subtle);font-size:13px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-1);}
.starled-mobile-panel a.active{color:var(--accent);}
.starled-mobile-icon-row{display:flex;align-items:center;gap:12px;}
.starled-mobile-icon-row svg{width:18px;height:18px;}

.starled-mobile-cat-item{border-top:1px solid var(--border-subtle);}
.starled-mobile-cat-row{display:flex;align-items:center;justify-content:space-between;}
.starled-mobile-cat-row a{flex:1;border-top:none;padding:15px 20px;}
.starled-mobile-cat-row button{flex-shrink:0;width:48px;height:48px;background:transparent;border:none;color:var(--fg-2);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.starled-mobile-cat-row .chevron{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform var(--dur-base) var(--ease-out);}
.starled-mobile-cat-item.open .starled-mobile-cat-row .chevron{transform:rotate(-135deg);}
.starled-mobile-cat-children{display:none;flex-direction:column;background:var(--ink-0);}
.starled-mobile-cat-item.open .starled-mobile-cat-children{display:flex;}
.starled-mobile-cat-children a{padding:12px 20px 12px 36px;border-top:1px solid var(--border-subtle);font-size:12px;color:var(--fg-3);text-transform:none;letter-spacing:0;}

@media (max-width:768px){
  .starled-header{padding:0 12px;height:60px;gap:12px;}
  .starled-nav{display:none;}
  .starled-menu-toggle{display:inline-flex;}
  .starled-wordmark .word{font-size:20px;}
  .starled-wordmark .sub{display:none;}
  .starled-topbar{padding:7px 12px;font-size:10px;}
  .starled-header-actions .desktop-only{display:none;}
}

/* ===== VALUE PROPS ===== */
.starled-valueprops{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);}
.starled-valueprops .cell{background:var(--ink-1);padding:32px 28px;display:flex;flex-direction:column;gap:12px;}
.starled-valueprops .cell svg{width:24px;height:24px;color:var(--accent);}
.starled-valueprops .cell .t{font-family:var(--font-display);font-size:var(--text-md);color:var(--fg-1);}
.starled-valueprops .cell .d{font-size:var(--text-sm);color:var(--fg-3);line-height:var(--leading-body);}
@media (max-width:768px){.starled-valueprops{grid-template-columns:1fr;}.starled-valueprops .cell{padding:22px 20px;}}

/* ===== FOOTER ===== */
.starled-footer{margin-top:96px;border-top:1px solid var(--border-subtle);}
.starled-footer-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-subtle);border-bottom:1px solid var(--border-subtle);}
.starled-footer-trust .cell{background:var(--ink-0);padding:28px 32px;display:flex;gap:16px;align-items:center;}
.starled-footer-trust .cell svg{width:26px;height:26px;color:var(--accent);flex-shrink:0;}
.starled-footer-trust .cell .t{font-size:12px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-1);}
.starled-footer-trust .cell .d{font-size:var(--text-sm);color:var(--fg-3);margin-top:4px;}
.starled-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 40px;}
.starled-footer-bottom nav{display:flex;gap:24px;}
.starled-footer-bottom nav a{font-size:var(--text-sm);color:var(--fg-3);}
.starled-footer-bottom .copy{font-size:var(--text-sm);color:var(--fg-3);}
@media (max-width:768px){
  .starled-footer-trust{grid-template-columns:1fr;}
  .starled-footer-trust .cell{padding:20px;}
  .starled-footer-bottom{flex-direction:column;padding:24px 20px;}
}

/* ===== HERO (HOME) ===== */
.starled-hero{position:relative;height:560px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--border-subtle);}
.starled-hero .glow{position:absolute;inset:0;background:radial-gradient(ellipse 900px 500px at 68% 45%,rgba(226,163,60,.26),rgba(226,163,60,.06) 55%,transparent 75%);}
.starled-hero .content{position:relative;width:100%;}
.starled-hero .inner{max-width:560px;display:flex;flex-direction:column;gap:24px;align-items:flex-start;}
.starled-hero h1{font-size:var(--text-display);}
.starled-hero p{margin:0;color:var(--fg-2);max-width:440px;}
.starled-hero .actions{display:flex;gap:16px;}

/* Ambient glow pulse (evokes a lamp breathing in a dark room — on-brand
   for a lighting company) + a gentle staggered entrance for the hero text.
   Restrained per the design system's motion rules: no bounces, no
   parallax. Respects prefers-reduced-motion. */
@media (prefers-reduced-motion: no-preference){
  .starled-hero .glow{animation:starled-glow-pulse 5s ease-in-out infinite;}
  .starled-hero .inner > *{opacity:0;animation:starled-fade-up .6s var(--ease-out) forwards;}
  .starled-hero .inner > .starled-eyebrow{animation-delay:.05s;}
  .starled-hero .inner > h1{animation-delay:.15s;}
  .starled-hero .inner > p{animation-delay:.3s;}
  .starled-hero .inner > .actions{animation-delay:.45s;}
}
@keyframes starled-glow-pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.7;transform:scale(1.08);}
}
@keyframes starled-fade-up{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:translateY(0);}
}

@media (max-width:768px){
  .starled-hero{height:460px;}
  .starled-hero h1{font-size:40px;}
}

/* ===== CATALOG / ARCHIVE ===== */
.starled-catalog-head{display:flex;align-items:flex-end;justify-content:space-between;margin:20px 0 36px;flex-wrap:wrap;gap:16px;}
.starled-catalog-head h1{font-size:var(--text-3xl);}
.starled-catalog-meta{display:flex;align-items:center;gap:16px;}
.starled-catalog-meta .count{font-size:var(--text-sm);color:var(--fg-3);}
.starled-catalog-layout{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start;}
.starled-catalog-sidebar{display:flex;flex-direction:column;gap:28px;position:sticky;top:96px;}
.starled-catalog-sidebar .label{font-size:12px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-3);margin-bottom:14px;}
.starled-catalog-sidebar .cat-list a{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--fg-2);}
.starled-catalog-sidebar .cat-list a.active{color:var(--accent);}
.starled-catalog-sidebar .cat-list a span.count{color:var(--fg-3);}
.starled-catalog-sidebar .cat-list.sub{padding-left:16px;border-left:1px solid var(--border-subtle);margin:2px 0 6px;}
.starled-catalog-sidebar .cat-list.sub a{font-size:var(--text-sm);color:var(--fg-3);padding:8px 0;}
.starled-catalog-sidebar .cat-list.sub a.active{color:var(--accent);}
.starled-catalog-sidebar .filter-tags{display:flex;flex-wrap:wrap;gap:8px;}
.starled-filter-toggle{display:none;font-size:12px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.starled-catalog-sidebar-label{font-size:12px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-3);margin-bottom:14px;}
.starled-subcat-section{margin-bottom:48px;}
/* Swipeable single row, not a wrapping grid — native touch/trackpad
   momentum scroll, no JS carousel library needed. */
.starled-category-grid.subcats{
  display:flex;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
  scrollbar-width:thin;
  scrollbar-color:var(--line-2) transparent;
}
.starled-category-grid.subcats::-webkit-scrollbar{height:6px;}
.starled-category-grid.subcats::-webkit-scrollbar-thumb{background:var(--line-2);}
.starled-category-grid.subcats::-webkit-scrollbar-track{background:transparent;}
.starled-category-grid.subcats .starled-category-card{flex:0 0 220px;height:200px;scroll-snap-align:start;}
@media (max-width:768px){
  .starled-catalog-layout{grid-template-columns:1fr;gap:24px;}
  .starled-catalog-sidebar{display:none;position:static;}
  .starled-catalog-sidebar.open{display:flex;}
  .starled-filter-toggle{display:inline-block;}
  .starled-category-grid.subcats .starled-category-card{flex:0 0 160px;height:160px;}
}

/* ===== SINGLE PRODUCT ===== */
.starled-pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;margin-top:32px;align-items:start;}
.starled-pdp-gallery{position:relative;aspect-ratio:1/1;background:var(--surface-card);border:1px solid var(--border-subtle);overflow:hidden;}
.starled-pdp-gallery img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;}
.starled-pdp-gallery .glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(226,163,60,.28),rgba(226,163,60,.06) 50%,transparent 72%);}
.starled-pdp-gallery .badge-slot{position:absolute;top:16px;left:16px;z-index:2;}
.starled-pdp-info{display:flex;flex-direction:column;gap:22px;}
.starled-pdp-info h1{font-size:var(--text-xl);line-height:var(--leading-snug);}
.starled-pdp-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.starled-pdp-price .price{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--price);}
.starled-pdp-price .price.sale{color:var(--price-sale);}
.starled-pdp-price .old{font-size:var(--text-md);color:var(--price-old);text-decoration:line-through;}
.starled-pdp-price .vat{font-size:var(--text-sm);color:var(--fg-3);}
.starled-pdp-addrow{display:flex;gap:16px;align-items:stretch;}
.starled-pdp-addrow .starled-btn{flex:1;}
.starled-pdp-stock{display:flex;gap:10px;align-items:center;font-size:var(--text-sm);color:var(--success);}
.starled-pdp-stock .dot{width:7px;height:7px;border-radius:999px;background:var(--success);}
.starled-related{padding-top:var(--section-pad);}
@media (max-width:768px){
  .starled-pdp{grid-template-columns:1fr;gap:28px;}
}

/* ===== CART ===== */
.starled-cart-empty{text-align:center;padding-top:120px;padding-bottom:40px;}
.starled-cart-empty h1{font-size:var(--text-2xl);margin-bottom:16px;}
.starled-cart-empty p{color:var(--fg-3);margin-bottom:28px;}
.starled-cart-layout{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start;margin-top:40px;}
.starled-cart-row{display:grid;grid-template-columns:96px 1fr auto auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--border-subtle);}
.starled-cart-row .thumb{width:96px;height:96px;background:var(--surface-raised);position:relative;overflow:hidden;}
.starled-cart-row .thumb img{width:100%;height:100%;object-fit:cover;}
.starled-cart-row .thumb .glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(226,163,60,.22),transparent 70%);}
.starled-cart-row .meta{display:flex;flex-direction:column;gap:6px;}
.starled-cart-row .meta .cat{font-size:11px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-3);}
.starled-cart-row .meta .name{color:var(--fg-1);font-size:var(--text-base);line-height:var(--leading-snug);}
.starled-cart-row .meta .remove{font-size:var(--text-sm);color:var(--fg-3);text-decoration:underline;text-underline-offset:4px;}
.starled-cart-row .line-total{font-family:var(--font-display);font-size:var(--text-md);color:var(--fg-1);min-width:90px;text-align:right;}
.starled-cart-summary{background:var(--surface-card);border:1px solid var(--border-subtle);padding:28px;display:flex;flex-direction:column;gap:18px;position:sticky;top:96px;}
.starled-cart-summary h3{font-size:var(--text-lg);}
.starled-cart-summary .row{display:flex;justify-content:space-between;font-size:var(--text-base);}
.starled-cart-summary .row .label{color:var(--fg-2);}
.starled-cart-summary .row .val{color:var(--fg-1);}
.starled-cart-summary .row .val.free{color:var(--success);}
.starled-cart-summary .hint{font-size:var(--text-sm);color:var(--fg-3);}
.starled-cart-summary .total-row{border-top:1px solid var(--border-subtle);padding-top:18px;display:flex;justify-content:space-between;align-items:baseline;}
.starled-cart-summary .total-row .label{font-size:var(--text-base);color:var(--fg-2);}
.starled-cart-summary .total-row .val{font-family:var(--font-display);font-size:var(--text-xl);color:var(--fg-1);}
@media (max-width:768px){
  .starled-cart-layout{grid-template-columns:1fr;gap:32px;}
  .starled-cart-row{grid-template-columns:64px 1fr;gap:14px;}
  .starled-cart-row .thumb{width:64px;height:64px;}
  .starled-cart-row .qty-price{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;}
  .starled-cart-summary{position:static;}
}

/* ===== CONTACT ===== */
.starled-contact{max-width:640px;margin:0 auto;padding:64px var(--gutter) 0;}
.starled-contact p.lead{color:var(--fg-2);margin-top:0;margin-bottom:36px;}
.starled-contact .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.starled-contact form{display:flex;flex-direction:column;gap:20px;}
@media (max-width:768px){.starled-contact{padding-top:40px;}.starled-contact .grid-2{grid-template-columns:1fr;}}

/* Restyle WPForms (kept plugin) to match our tokens on the Contacto page */
.starled-contact .wpforms-container{margin:0;}
.starled-contact .wpforms-field{padding:0 0 20px;}
.starled-contact .wpforms-field-label{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;}
.starled-contact .wpforms-field input[type=text],
.starled-contact .wpforms-field input[type=email],
.starled-contact .wpforms-field textarea{box-sizing:border-box;width:100%;padding:12px 14px;background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--radius-0);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--text-base);outline:none;}
.starled-contact .wpforms-submit-container button{display:inline-flex;align-items:center;justify-content:center;padding:17px 38px;font-family:var(--font-sans);font-size:13px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius-0);cursor:pointer;background:var(--accent);color:var(--on-accent);}

/* WooCommerce default-element resets to keep our components in control */
.woocommerce ul.products{display:contents;}
.woocommerce span.onsale{display:none;}
.woocommerce div.product .woocommerce-tabs{display:none;}

/* Restyle WooCommerce's native add-to-cart form (kept for correct variation/
   stock/AJAX handling) to match our tokens instead of reimplementing it. */
.starled-pdp-addform{display:flex;flex-direction:column;gap:18px;}
.starled-pdp-addform form.cart{display:flex;flex-direction:column;gap:18px;}
.starled-pdp-addform table.variations{width:100%;border:none;}
.starled-pdp-addform table.variations tr{display:block;}
.starled-pdp-addform table.variations th,
.starled-pdp-addform table.variations td{display:block;padding:0;border:none;text-align:left;}
.starled-pdp-addform table.variations label{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;display:block;}
.starled-pdp-addform select{box-sizing:border-box;width:100%;padding:12px 40px 12px 14px;background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--radius-0);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--text-base);outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;}
.starled-pdp-addform .quantity{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--radius-0);margin-right:16px;}
.starled-pdp-addform .quantity input{width:56px;height:44px;text-align:center;font-family:var(--font-sans);font-size:var(--text-base);color:var(--fg-1);background:transparent;border:none;outline:none;}
.starled-pdp-addform .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;padding:17px 38px;font-family:var(--font-sans);font-size:13px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius-0);cursor:pointer;background:var(--accent);color:var(--on-accent);transition:background var(--dur-fast) var(--ease-out);}
.starled-pdp-addform .single_add_to_cart_button:hover{background:var(--accent-hover);}
.starled-pdp-addform .woocommerce-variation-price .price,
.starled-pdp-addform .woocommerce-variation-availability{margin:8px 0;color:var(--fg-2);font-size:var(--text-sm);}
.starled-pdp-addform .reset_variations{color:var(--text-muted);font-size:var(--text-sm);margin-left:12px;}

/* WooCommerce cart page — restyle native table into our row/summary layout */
.starled-cart-wrap table.shop_table{width:100%;border-collapse:collapse;}
.starled-cart-wrap table.shop_table thead{display:none;}
.starled-cart-wrap table.shop_table tr{display:grid;grid-template-columns:96px 1fr auto auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--border-subtle);}
.starled-cart-wrap table.shop_table td{border:none;padding:0;}
.starled-cart-wrap .product-thumbnail img{width:96px;height:96px;object-fit:cover;display:block;}
.starled-cart-wrap .product-name{color:var(--fg-1);font-size:var(--text-base);}
.starled-cart-wrap .product-name a{color:var(--fg-1);}
.starled-cart-wrap .product-remove a{font-size:var(--text-sm);color:var(--fg-3);text-decoration:underline;text-underline-offset:4px;}
.starled-cart-wrap .product-quantity input{width:56px;height:44px;text-align:center;background:transparent;border:1px solid var(--line-2);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--text-base);}
.starled-cart-wrap .product-subtotal{font-family:var(--font-display);font-size:var(--text-md);color:var(--fg-1);min-width:90px;text-align:right;}
.starled-cart-wrap .actions{display:flex;justify-content:flex-end;padding-top:20px;}
.starled-cart-wrap .coupon{display:none;}
@media (max-width:768px){
  .starled-cart-wrap table.shop_table tr{grid-template-columns:64px 1fr;}
  .starled-cart-wrap .product-thumbnail img{width:64px;height:64px;}
}
