@import url("../../shared/css/base.css");
/* Storefront layout and page-specific components */
body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-body)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 32px),var(--container));margin:auto}.header{position:sticky;top:0;z-index:30;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header-inner{min-height:72px;display:grid;grid-template-columns:180px 1fr auto;gap:20px;align-items:center}.logo{font-size:var(--font-size-xl);font-weight:400;line-height:1.3}.logo span{color:var(--color-accent)}.search input,.field input,.field select,.field textarea{width:100%;border:1px solid var(--color-border);border-radius:11px;background:var(--color-page);outline:0}.search input{height:44px;padding:0 15px}.field input,.field select{height:44px;padding:0 12px}.field textarea{min-height:100px;padding:10px 12px;resize:vertical}.field label{display:block;font-size:var(--font-size-sm);font-weight:400;margin-bottom:6px}.actions{display:flex;gap:8px}.icon-btn,.outline-btn{height:42px;padding:0 13px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.nav{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.nav-inner{min-height:46px;display:flex;align-items:center;gap:24px;overflow:auto}.nav a{font-size:var(--font-size-sm);white-space:nowrap}.page{padding:28px 0 60px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.page-head h1{font-size:var(--font-size-2xl)}.page-head p,.muted{color:var(--color-muted);font-size:var(--font-size-sm)}.btn{min-height:44px;padding:0 18px;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-weight:400}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}.btn-dark{background:var(--color-primary);color:#fff}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.product-image{aspect-ratio:1;background:var(--color-page);display:grid;place-items:center;font-size:62px}.product-body{padding:14px}.product-body small{color:var(--color-muted)}.product-body h3{font-size:var(--font-size-base);min-height:52px;margin:5px 0 10px;line-height:1.7}.product-bottom{display:flex;align-items:center;justify-content:space-between}.price{font-weight:400}.add{width:39px;height:39px;border:1px solid var(--color-accent);border-radius:10px;background:var(--color-accent);color:#fff;transition:var(--transition)}.add:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.cart-layout,.checkout-layout,.account-layout{display:grid;grid-template-columns:1fr 350px;gap:22px}.cart-item{padding:16px;display:grid;grid-template-columns:78px 1fr auto;gap:14px;align-items:center;border-bottom:1px solid var(--color-border)}.cart-item:last-child{border:0}.cart-item h3{font-size:var(--font-size-base)}.qty{margin-top:8px;display:flex;align-items:center;gap:7px}.qty button{width:30px;height:30px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:7px}.summary{padding:19px;height:max-content}.summary h2{font-size:var(--font-size-lg);margin-bottom:14px}.summary-row{display:flex;justify-content:space-between;padding:9px 0;font-size:var(--font-size-sm)}.summary-total{border-top:1px solid var(--color-border);margin-top:8px;padding-top:14px;font-size:var(--font-size-md);font-weight:400}.summary .btn{width:100%;margin-top:16px}.form-card{padding:20px}.form-card h2{font-size:var(--font-size-lg);margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.full{grid-column:1/-1}.payment{padding:14px;border:1px solid var(--color-border);border-radius:11px;margin-top:10px}.success-box{max-width:650px;margin:60px auto;text-align:center;padding:45px}.success-icon{width:70px;height:70px;border-radius:50%;background:#dcfce7;color:var(--color-success);display:grid;place-items:center;margin:0 auto 18px;font-size:30px}.success-box h1{font-size:var(--font-size-2xl)}.success-box p{color:var(--color-muted);margin:10px 0 22px}.auth{min-height:calc(100vh - 73px);display:grid;place-items:center;padding:30px 15px}.auth-card{width:min(100%,430px);padding:26px}.auth-card h1{font-size:var(--font-size-xl);margin-bottom:5px}.auth-card>p{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:20px}.auth-card .field{margin-bottom:13px}.auth-card .btn{width:100%}.account-menu{padding:10px;height:max-content}.account-menu a{display:block;padding:11px 12px;border-radius:9px;font-size:var(--font-size-sm)}.account-menu a.active{background:var(--color-surface-muted);font-weight:400}.order{padding:16px;margin-bottom:10px}.order-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.badge{display:inline-flex;padding:4px 9px;border-radius:20px;background:#eff6ff;color:var(--color-accent);font-size:var(--font-size-xs);font-weight:400}.footer{margin-top:40px;padding:42px 0;background:var(--color-primary);color:#fff}.footer p{color:#94a3b8;font-size:var(--font-size-sm);margin-top:7px}
@media(max-width:1024px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.cart-layout,.checkout-layout,.account-layout{grid-template-columns:1fr}.summary{order:2}}@media(max-width:700px){.header-inner{grid-template-columns:1fr auto;padding:11px 0}.search{grid-column:1/-1;grid-row:2}.nav{display:none}.page{padding-top:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.cart-item{grid-template-columns:62px 1fr}.cart-item>.price{grid-column:2}.product-grid{gap:9px}.product-body{padding:11px}.actions .account-label{display:none}}
/* Product detail */
.breadcrumb{padding:20px 0;color:var(--color-muted);font-size:var(--font-size-sm)}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-bottom:60px}.gallery{display:block}.main-image{aspect-ratio:1;background:var(--color-page);border-radius:var(--radius-lg);display:grid;place-items:center;font-size:120px}.category{color:var(--color-accent);font-size:var(--font-size-sm)}.title{font-size:var(--font-size-2xl);line-height:var(--line-height-heading);margin:8px 0}.desc{color:var(--color-muted)}.price-lg{font-size:var(--font-size-lg);font-weight:400}.old{text-decoration:line-through;color:var(--color-muted);margin-inline-start:8px}.stock{color:var(--color-success);margin:16px 0}.buy{display:grid;grid-template-columns:120px 1fr;gap:8px}.qty-box{display:grid;grid-template-columns:38px 1fr 38px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.qty-box button,.qty-box input{border:0;background:var(--color-surface);text-align:center}.payment-title{margin-top:var(--space-6)}
@media(max-width:700px){.product-detail{grid-template-columns:1fr;gap:24px}.main-image{font-size:86px}.title{font-size:23px}}

/* Home */
.store-hero{width:100%;padding:0;overflow:hidden}
.store-hero__inner{width:100%;min-height:360px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:32px;padding:48px max(32px,calc((100vw - var(--container))/2 + 16px));background:var(--color-page);border:0;border-radius:0}
.store-hero__eyebrow{display:block;margin-bottom:8px;color:var(--color-accent);font-size:12px}
.store-hero h1{font-size:36px;line-height:1.55;margin-bottom:12px}
.store-hero p{max-width:580px;color:var(--color-muted);margin-bottom:20px}
.store-hero__visual{display:grid;place-items:center;font-size:96px;color:var(--color-accent)}
.home-section{padding:var(--space-8) 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}
.section-head h2{margin-bottom:2px;font-size:var(--font-size-xl)}
.section-head p,.section-head a{margin:0;color:var(--color-muted);font-size:var(--font-size-sm)}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3)}
.category-card{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--transition)}
.category-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}
.category-card i{font-size:24px;color:var(--color-accent)}
.product-image i{font-size:54px;color:var(--color-muted)}
@media(max-width:900px){.category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.store-hero{padding:0}.store-hero__inner{min-height:auto;grid-template-columns:1fr;padding:24px 20px}.store-hero h1{font-size:25px}.store-hero__visual{display:none}.home-section{padding:var(--space-6) 0}.section-head h2{font-size:20px}.category-grid{grid-template-columns:repeat(3,1fr);gap:8px}.category-card{min-height:92px;font-size:var(--font-size-sm)}.category-card i{font-size:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image{font-size:0}.product-image i{font-size:38px}.product-bottom{align-items:end;gap:6px}.price{font-size:var(--font-size-sm)}.add{flex:0 0 36px;width:36px;height:36px}}

/* Mobile storefront hardening */
.category-grid{width:100%}.category-card{min-width:0;text-align:center}.category-card span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){
 .header-inner{row-gap:12px}.search input{height:48px}
 .home-section{padding:22px 0}
 .category-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
 .category-card{display:flex!important;min-height:88px!important;padding:10px 4px!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;background:var(--color-surface)!important}
 .category-card i{display:block;font-size:20px}.category-card span{font-size:var(--font-size-xs)}
 .section-head{margin-bottom:14px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .product-card{min-width:0}.product-image{aspect-ratio:1.05}.product-body h3{min-height:58px;line-height:1.8}
}

.price-stack{display:flex;flex-direction:column;gap:1px;min-width:0}.price-stack del{color:var(--color-muted);font-size:var(--font-size-xs)}.product-card{display:flex;flex-direction:column}.product-body{display:flex;flex:1;flex-direction:column}.product-bottom{margin-top:auto}
@media(max-width:700px){.price-stack .price{white-space:nowrap}.price-stack del{font-size:var(--font-size-xs)}}

.product-image{overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition)}.product-card:hover .product-image img{transform:scale(1.025)}

.product-placeholder{font-size:54px;color:var(--color-muted)}
.main-image{overflow:hidden}
.main-image img{width:100%;height:100%;object-fit:cover;display:block}
.product-price-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stock.is-out-of-stock,.stock-label.is-out-of-stock{color:var(--color-danger)}
.stock.is-in-stock,.stock-label.is-in-stock{color:var(--color-success)}
.stock-label{margin-top:2px;font-size:var(--font-size-xs)}
.add:disabled,.qty-box button:disabled{opacity:.5;cursor:not-allowed}
.product-description{margin-top:28px;padding-top:22px;border-top:1px solid var(--color-border)}
.product-description h2{font-size:var(--font-size-lg);margin-bottom:8px}
.product-description p{margin:0;color:var(--color-muted);white-space:normal}

.cart-link{position:relative}
.cart-count{position:absolute;inset-block-start:-7px;inset-inline-start:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--color-accent);color:#fff;display:grid;place-items:center;font-size:10px;line-height:1}
.cart-item__image{width:78px;aspect-ratio:1;border-radius:10px;background:var(--color-page);overflow:hidden;display:grid;place-items:center}
.cart-item__image img{width:100%;height:100%;object-fit:cover}
.empty-cart{padding:48px 24px;text-align:center}
.empty-cart>i{font-size:44px;color:var(--color-muted);margin-bottom:14px}
.empty-cart .btn{margin-top:10px}
.cart-notice{position:fixed;left:50%;right:auto;top:18px;bottom:auto;z-index:9999;transform:translateX(-50%) translateY(-20px);opacity:0;pointer-events:none;background:var(--color-primary);color:#fff;padding:10px 14px;border-radius:10px;font-size:var(--font-size-sm);transition:var(--transition);white-space:nowrap}
.cart-notice.is-visible{transform:translateX(-50%) translateY(0);opacity:1}
.cart-notice.is-error{background:var(--color-danger)}
@media(max-width:700px){.cart-item__image{width:62px}.cart-notice{max-width:calc(100vw - 24px);white-space:normal;text-align:center}}

.checkout-error{margin-bottom:18px;padding:12px 14px;border-color:#fecaca;background:#fef2f2;color:var(--color-danger)}
.checkout-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}
.checkout-item:last-of-type{margin-bottom:8px}
.checkout-item span{min-width:0}
.checkout-item strong{white-space:nowrap}
.checkout-submit{width:100%;margin-top:16px}
.checkout-note{margin:10px 0 0;color:var(--color-muted);font-size:var(--font-size-xs);line-height:1.7}

.empty-results{padding:48px 24px;text-align:center}
.empty-results>i{font-size:42px;color:var(--color-muted);margin-bottom:12px}
.empty-results .btn{margin-top:12px}

/* Product purchase controls */
.product-detail .buy{
    margin-top:20px;
    display:grid;
    grid-template-columns:132px minmax(180px,1fr);
    gap:10px;
    align-items:stretch;
    max-width:460px;
}
.product-detail .qty-box{
    direction:ltr;
    min-width:0;
    height:46px;
    display:grid;
    grid-template-columns:42px minmax(44px,1fr) 42px;
    border:1px solid var(--color-border);
    border-radius:11px;
    overflow:hidden;
    background:var(--color-surface);
}
.product-detail .qty-box button,
.product-detail .qty-box input{
    min-width:0;
    width:100%;
    height:100%;
    border:0;
    background:var(--color-surface);
    text-align:center;
}
.product-detail .qty-box button{
    font-size:18px;
    line-height:1;
}
.product-detail .qty-box button:hover:not(:disabled){
    background:var(--color-surface-muted);
}
.product-detail .qty-box input{
    border-inline:1px solid var(--color-border);
    font-weight:400;
    color:var(--color-text);
    outline:0;
}
.product-detail #add{
    width:100%;
    min-width:0;
    height:46px;
    padding:0 20px;
    border-radius:11px;
    white-space:nowrap;
    font-size:var(--font-size-base);
    font-weight:400;
}
.product-detail .stock{
    margin-bottom:0;
}
@media(max-width:700px){
    .product-detail .buy{
        grid-template-columns:124px minmax(0,1fr);
        max-width:none;
        width:100%;
    }
    .product-detail #add{
        padding-inline:14px;
    }
}
@media(max-width:420px){
    .product-detail .buy{
        grid-template-columns:1fr;
    }
    .product-detail .qty-box{
        width:100%;
    }
}

/* Cart refinement */
.cart-page-head{
    align-items:center;
}
.cart-page-head__actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.cart-page-head__actions .outline-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    white-space:nowrap;
}
.cart-layout{
    align-items:start;
}
.cart-layout>section.card{
    overflow:hidden;
}
.cart-item{
    grid-template-columns:84px minmax(0,1fr) auto;
    gap:18px;
    padding:20px;
}
.cart-item__image{
    width:84px;
}
.cart-item__content{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:12px;
}
.cart-item__content h3{
    margin:0 0 2px;
    line-height:1.7;
}
.cart-item__controls{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.cart-qty{
    direction:ltr;
    height:36px;
    display:grid;
    grid-template-columns:36px 42px 36px;
    border:1px solid var(--color-border);
    border-radius:9px;
    overflow:hidden;
    background:var(--color-surface);
}
.cart-qty button,
.cart-qty strong{
    display:grid;
    place-items:center;
    border:0;
    background:var(--color-surface);
}
.cart-qty button{
    width:36px;
    height:36px;
    font-size:17px;
}
.cart-qty button:hover{
    background:var(--color-surface-muted);
}
.cart-qty strong{
    border-inline:1px solid var(--color-border);
    font-weight:400;
}
.cart-remove{
    min-height:36px;
    padding:0 11px;
    border:1px solid #fecaca;
    border-radius:9px;
    background:#fff;
    display:inline-flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
}
.cart-item__total{
    min-width:120px;
    text-align:left;
    align-self:center;
}
.cart-item__total small,
.cart-item__total strong{
    display:block;
}
.cart-item__total .price{
    margin-top:3px;
    white-space:nowrap;
}
.cart-summary{
    position:sticky;
    top:96px;
}
.cart-summary .summary-row{
    align-items:center;
}
.cart-summary .summary-total{
    font-size:var(--font-size-lg);
}
@media(max-width:900px){
    .cart-summary{
        position:static;
    }
}
@media(max-width:700px){
    .cart-page-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .cart-page-head__actions{
        width:100%;
    }
    .cart-page-head__actions .outline-btn{
        width:100%;
    }
    .cart-item{
        grid-template-columns:64px minmax(0,1fr);
        gap:12px;
        padding:14px;
    }
    .cart-item__image{
        width:64px;
    }
    .cart-item__total{
        grid-column:2;
        min-width:0;
        text-align:right;
    }
    .cart-item__controls{
        gap:8px;
    }
}
@media(max-width:420px){
    .cart-item__controls{
        align-items:stretch;
        flex-direction:column;
    }
    .cart-qty{
        width:max-content;
    }
    .cart-remove{
        width:max-content;
    }
}

/* Sticky footer layout */
html,
body{
    min-height:100%;
}
body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}
body>main{
    flex:1 0 auto;
}
.header,
.nav,
.footer{
    flex:0 0 auto;
}
.footer{
    margin-top:auto;
}

.cart-item__unit-price{
    margin-top:6px;
    display:flex;
    align-items:center;
    gap:7px;
    font-size:var(--font-size-sm);
}
.cart-item__unit-price span{
    color:var(--color-muted);
}
.cart-item__unit-price strong{
    font-weight:400;
    white-space:nowrap;
}

.cart-item__meta{
    display:block;
    margin-top:2px;
    white-space:nowrap;
}


.logo{display:inline-flex;align-items:center;min-width:0}
.logo img{display:block;max-width:160px;max-height:48px;width:auto;height:auto;object-fit:contain}
@media(max-width:700px){.logo img{max-width:130px;max-height:42px}}


.footer-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}
.footer-brand{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-size-xl);line-height:1.3}
.footer-brand img{display:block;max-width:180px;max-height:56px;width:auto;height:auto;object-fit:contain}
.footer-socials{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.footer-socials a{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:#fff;background:rgba(255,255,255,.06);font-size:16px;transition:var(--transition)}
.footer-socials a:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.footer-rights{margin:0!important;color:#94a3b8!important;font-size:var(--font-size-sm)!important;text-align:center}
@media(max-width:700px){
  .footer-inner{gap:16px}
  .footer-brand img{max-width:150px;max-height:48px}
  .footer-socials{gap:8px}
  .footer-socials a{width:38px;height:38px}
}


/* Mobile header refinement */
@media(max-width:700px){
  .header{position:sticky;top:0}
  .header-inner{
    min-height:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand actions"
      "search search";
    align-items:center;
    column-gap:12px;
    row-gap:12px;
    padding:10px 0 12px;
  }
  .header .logo{
    grid-area:brand;
    justify-self:start;
    min-width:0;
    max-width:100%;
    padding:0;
  }
  .header .logo img{
    max-width:118px;
    max-height:42px;
  }
  .header .actions{
    grid-area:actions;
    justify-self:end;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
  }
  .header .icon-btn{
    width:44px;
    height:44px;
    min-width:44px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:11px;
  }
  .header .icon-btn .icon{
    font-size:17px;
  }
  .header .search{
    grid-area:search;
    width:100%;
    min-width:0;
    margin:0;
  }
  .header .search input{
    width:100%;
    min-width:0;
    height:46px;
    padding-inline:14px;
    border-radius:11px;
  }
  .header .account-label{display:none}
  .header .cart-count{
    inset-block-start:-5px;
    inset-inline-start:-5px;
  }
}
@media(max-width:380px){
  .header .logo img{max-width:104px}
  .header .icon-btn{width:42px;height:42px;min-width:42px}
}


/* Mobile hero refinement */
@media(max-width:700px){
  .store-hero{padding:0}
  .store-hero__inner{
    min-height:auto;
    grid-template-columns:1fr;
    gap:16px;
    padding:22px 20px 20px;
    border-radius:0;
    align-items:start;
  }
  .store-hero__content{min-width:0}
  .store-hero__eyebrow{
    margin-bottom:8px;
    font-size:11px;
    line-height:1.6;
  }
  .store-hero h1{
    max-width:100%;
    margin:0 0 10px;
    font-size:27px;
    line-height:1.45;
    text-wrap:balance;
  }
  .store-hero p{
    max-width:100%;
    margin:0 0 16px;
    font-size:14px;
    line-height:1.9;
  }
  .store-hero .btn{
    min-height:42px;
    padding-inline:16px;
    font-size:14px;
  }
}
@media(max-width:420px){
  .store-hero__inner{padding:20px 16px 18px}
  .store-hero h1{font-size:24px;line-height:1.5}
  .store-hero p{font-size:13px}
}


/* Configurable hero visual */
.store-hero__inner--single{grid-template-columns:1fr}
.store-hero__inner--single .store-hero__content{max-width:760px}
.store-hero__visual--image{align-self:stretch;min-height:260px;overflow:hidden;border-radius:var(--radius-lg)}
.store-hero__visual--image img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block}
@media(max-width:700px){
  .store-hero__inner{grid-template-columns:1fr}
  .store-hero__visual--image{
    display:block;
    order:-1;
    min-height:0;
    aspect-ratio:16/9;
    width:100%;
  }
  .store-hero__visual--image img{
    min-height:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .store-hero__content{order:0;width:100%;min-width:0}
  .store-hero__inner--single .store-hero__content{max-width:none}
}


/* Theme toggle contrast */
.theme-toggle{
  color:var(--color-text);
  background:var(--color-surface);
  border-color:var(--color-border);
}
.theme-toggle .icon{color:currentColor}
html[data-theme="dark"] .theme-toggle{
  color:var(--color-accent);
  background:var(--color-surface-muted);
  border-color:var(--color-accent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 28%,transparent);
}
html[data-theme="dark"] .theme-toggle:hover{
  background:var(--color-page);
}
html[data-theme="light"] .theme-toggle:hover{
  background:var(--color-surface-muted);
}


/* Floating contact buttons */
.floating-contact{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:90;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.floating-contact__btn{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:22px;
  box-shadow:0 8px 24px rgba(15,23,42,.22);
  border:1px solid rgba(255,255,255,.22);
  transition:transform .15s ease,box-shadow .15s ease;
}
.floating-contact__btn:hover{
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 12px 28px rgba(15,23,42,.28);
}
.floating-contact__btn--whatsapp{background:#25d366}
.floating-contact__btn--phone{background:var(--color-accent)}
@media(max-width:700px){
  .floating-contact{right:14px;bottom:14px;gap:8px}
  .floating-contact__btn{width:48px;height:48px;font-size:20px}
}


/* Hero layouts */
.store-hero__inner{position:relative}
.store-hero--centered .store-hero__inner{grid-template-columns:1fr;text-align:center;justify-items:center}
.store-hero--centered .store-hero__content{max-width:780px}
.store-hero--centered .store-hero p{margin-inline:auto}
.store-hero--centered .store-hero__visual{margin-top:8px;font-size:72px}
.store-hero--centered .store-hero__visual--image{width:min(100%,760px);min-height:220px}

.store-hero--background{position:relative;background:var(--color-primary);color:#fff}
.store-hero--background::before{content:"";position:absolute;inset:0;background:var(--hero-bg,none) center/cover no-repeat;opacity:.52}
.store-hero--background::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,23,.52),rgba(2,6,23,.16))}
.store-hero--background .store-hero__inner{grid-template-columns:1fr;min-height:460px;background:transparent;z-index:1;align-items:end;padding-bottom:56px}
.store-hero--background .store-hero__content{position:relative;z-index:2;max-width:720px}
.store-hero--background .store-hero__eyebrow,
.store-hero--background p{color:rgba(255,255,255,.82)}
.store-hero--background h1{color:#fff}
.store-hero--background .btn-primary{background:#fff;color:#111827}
.store-hero--background .btn-primary:hover{background:#f1f5f9}
.store-hero--background:not(.store-hero--has-bg)::before{display:none}

.store-hero--minimal .store-hero__inner{grid-template-columns:1fr;min-height:300px}
.store-hero--minimal .store-hero__content{max-width:900px}
.store-hero--minimal h1{font-size:clamp(38px,5vw,64px);line-height:1.3}
.store-hero--minimal .store-hero__visual{display:none}

.store-hero--banner .store-hero__inner{min-height:220px;grid-template-columns:1.6fr .4fr;padding-block:30px}
.store-hero--banner h1{font-size:30px;margin-bottom:8px}
.store-hero--banner p{margin-bottom:14px}
.store-hero--banner .store-hero__visual{font-size:66px}
.store-hero--banner .store-hero__visual--image{min-height:160px}
.store-hero--banner .store-hero__visual--image img{min-height:160px}

.store-hero--spotlight .store-hero__inner{grid-template-columns:.8fr 1.2fr;min-height:480px}
.store-hero--spotlight .store-hero__content{order:2}
.store-hero--spotlight .store-hero__visual{order:1}
.store-hero--spotlight .store-hero__visual--image{min-height:390px;border-radius:0}
.store-hero--spotlight .store-hero__visual--image img{min-height:390px}
.store-hero--spotlight h1{font-size:42px}

@media(max-width:700px){
  .store-hero--background .store-hero__inner{min-height:360px;align-items:end;padding-bottom:28px}
  .store-hero--background::after{background:rgba(2,6,23,.38)}
  .store-hero--minimal .store-hero__inner{min-height:260px}
  .store-hero--minimal h1{font-size:34px}
  .store-hero--banner .store-hero__inner{min-height:auto;padding-block:22px}
  .store-hero--spotlight .store-hero__inner{grid-template-columns:1fr;min-height:auto}
  .store-hero--spotlight .store-hero__content{order:2}
  .store-hero--spotlight .store-hero__visual--image{display:block;order:1;min-height:0;aspect-ratio:4/3}
  .store-hero--spotlight .store-hero__visual--image img{min-height:0}
  .store-hero--spotlight h1{font-size:28px}
}


/* Product discount badge */
.product-image{position:relative}
.discount-badge{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 9px;
  border-radius:999px;
  background:#e11d48;
  color:#fff;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 3px 10px rgba(0,0,0,.14);
}
@media(max-width:700px){
  .discount-badge{
    top:8px;
    right:8px;
    min-height:26px;
    padding:4px 8px;
    font-size:11px;
  }
}


/* Mobile cart compact layout */
@media(max-width:700px){
    .cart-layout{gap:14px}
    .cart-layout>section.card{border-radius:var(--radius-lg)}
    .cart-item{
        grid-template-columns:72px minmax(0,1fr);
        grid-template-areas:
            "image content"
            "image total";
        align-items:start;
        gap:8px 12px;
        padding:14px;
    }
    .cart-item__image{grid-area:image;width:72px;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--color-page)}
    .cart-item__image img{width:100%;height:100%;object-fit:cover;display:block}
    .cart-item__content{grid-area:content;gap:9px}
    .cart-item__content h3{font-size:var(--font-size-sm);line-height:1.6;margin:0}
    .cart-item__meta{font-size:var(--font-size-xs);white-space:normal}
    .cart-item__controls{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}
    .cart-qty{height:34px;grid-template-columns:34px 38px 34px}
    .cart-qty button{width:34px;height:34px}
    .cart-remove{min-height:34px;padding:0 10px;font-size:var(--font-size-xs)}
    .cart-item__total{grid-area:total;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:right;margin-top:2px}
    .cart-item__total small,.cart-item__total strong{display:inline}
    .cart-item__total .price{margin:0;font-size:var(--font-size-sm)}
    .cart-summary{padding:16px}
}
@media(max-width:420px){
    .cart-item__controls{flex-direction:row;align-items:center}
    .cart-qty,.cart-remove{width:auto}
}

@media(max-width:700px){
 .cart-item__controls{justify-content:flex-start}
 .cart-remove{order:2}
 .cart-qty{order:1}
 .cart-item__total{justify-content:flex-start;gap:8px}
 .cart-item__total small{margin:0}
}
