/*
Theme Name: Elvara Collective
Theme URI: https://elvaracollective.com/
Author: Elvara Collective
Description: Minimal commerce theme for ELVARA LIFESTYLE LTD.
Version: 1.0.0
Text Domain: elvara
*/

:root{--ink:#171713;--muted:#68645d;--paper:#fff;--line:#ececec;--accent:#111;--soft:#f7f4ee}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}.topbar{display:none}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(28px,5vw,76px);background:#fff;border-bottom:1px solid #efefef;position:sticky;top:0;z-index:50}.clone-brand{font-size:19px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;line-height:1}.brand-mark,.brand-sub,.brand-name{display:none}.nav{display:flex;gap:30px;align-items:center;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.nav .cart{border:1px solid #111;padding:12px 19px;letter-spacing:.08em}.search-mark{font-size:20px;line-height:1;transform:translateY(-1px)}.hero-reference{height:500px;min-height:500px;max-height:500px;display:grid;place-items:center;background-image:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.42)),var(--hero-img);background-size:cover;background-position:center 36%;text-align:center;color:#fff}.hero-center{transform:translateY(8px)}.hero-center h1{margin:0 0 14px;font-size:clamp(34px,3.4vw,54px);line-height:1;font-weight:800;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase}.hero-center p{margin:0 0 26px;font-size:13px;line-height:1.6;letter-spacing:.04em;color:#f2f2f2}.button{display:inline-flex;align-items:center;justify-content:center;min-width:118px;padding:14px 28px;background:#111;color:#fff;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.1em;border:0}.button-light{background:#fff;color:#111}.shop-strip{padding:92px clamp(28px,5vw,76px) 80px;background:#fff}.shop-strip h2{text-align:center;font-size:13px;font-weight:400;margin:0 0 66px;color:#222}.shop-sort-spacer{height:0}.section{padding:clamp(44px,7vw,86px) clamp(28px,5vw,76px)}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-title h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);font-weight:400;margin:0}.section-title p{max-width:520px;color:var(--muted);line-height:1.7}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 28px;margin:0!important;padding:0!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;text-align:left}.woocommerce ul.products li.product a img{width:100%;aspect-ratio:3/4;object-fit:cover;margin:0 0 16px!important;background:#f5f5f5}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;font-weight:500!important;line-height:1.45!important;padding:0!important;margin:0 0 8px!important;color:#1c1c1c}.woocommerce ul.products li.product .price{font-size:13px!important;color:#111!important;font-weight:600!important}.woocommerce ul.products li.product .button{display:none!important}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.product-card{background:#fff}.product-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.product-card .info{padding:14px 0}.product-card h3{font-size:14px;font-weight:500;line-height:1.35;margin:0 0 8px}.price{color:#111;font-weight:600}.band{background:#171713;color:#f7f1e8;display:grid;grid-template-columns:1fr 1fr;gap:40px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#b8a58d;margin-bottom:18px}.band h2{font-family:Georgia,serif;font-size:44px;font-weight:400;margin:0}.band p,.band li{color:#d7d0c5;line-height:1.8}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.policy-card{border:1px solid var(--line);padding:24px;background:#fff}.policy-card h3{margin-top:0;font-size:16px}.footer{background:#11110e;color:#f2eee7;padding:44px clamp(28px,5vw,76px)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}.footer a,.footer p{color:#c9c1b5;font-size:14px;line-height:1.7}.page-wrap{max-width:960px;margin:0 auto;padding:64px 24px}.page-wrap h1{font-family:Georgia,serif;font-size:48px;font-weight:400}.woocommerce div.product div.images img{border:1px solid var(--line)}@media(max-width:900px){.site-header{height:auto;position:static;align-items:flex-start;gap:18px;flex-direction:column;padding-top:22px;padding-bottom:22px}.nav{flex-wrap:wrap;gap:14px}.hero-reference{height:520px;min-height:520px;max-height:520px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.products{grid-template-columns:repeat(2,1fr)}.band,.footer-grid,.policy-grid{grid-template-columns:1fr}}@media(max-width:520px){.woocommerce ul.products,.products{grid-template-columns:1fr}.hero-center h1{font-size:40px}.section,.shop-strip{padding-left:18px;padding-right:18px}.nav .cart{padding:10px 14px}}

/* Mobile commerce polish */
@media(max-width:640px){
  .site-header{
    display:block;
    height:auto;
    padding:22px 18px 18px;
    position:static;
    overflow:hidden;
  }
  .clone-brand{
    display:block;
    font-size:20px;
    letter-spacing:.24em;
    margin-bottom:22px;
  }
  .nav{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px 16px;
    width:100%;
    white-space:normal;
    font-size:11px;
    letter-spacing:.08em;
    align-items:center;
  }
  .nav a{
    min-width:0;
    line-height:1.2;
  }
  .search-mark{
    display:none;
  }
  .nav .cart{
    grid-column:auto;
    padding:9px 8px;
    text-align:center;
    justify-self:stretch;
  }
  .hero-reference{
    height:520px;
    min-height:520px;
    max-height:520px;
    background-position:center top;
  }
  .hero-center{
    width:100%;
    padding:0 22px;
    transform:translateY(12px);
  }
  .hero-center h1{
    font-size:38px;
    letter-spacing:.18em;
    text-indent:.18em;
    margin-bottom:14px;
  }
  .hero-center p{
    max-width:310px;
    margin:0 auto 24px;
    font-size:12px;
    line-height:1.45;
    white-space:normal;
  }
  .button-light{
    min-width:120px;
    padding:14px 22px;
  }
  .shop-strip{
    padding:58px 18px 54px;
  }
  .shop-strip h2{
    margin-bottom:34px;
    font-size:13px;
  }
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:30px 14px!important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:12px!important;
    line-height:1.35!important;
  }
  .woocommerce ul.products li.product .price{
    font-size:12px!important;
  }
  .woocommerce ul.products li.product a img{
    margin-bottom:12px!important;
  }
  .band{
    padding:46px 18px;
  }
  .band h2{
    font-size:32px;
    line-height:1.15;
  }
  .footer{
    padding:36px 18px;
  }
}
@media(max-width:360px){
  .nav{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hero-center h1{font-size:32px;}
  .hero-reference{height:500px;min-height:500px;max-height:500px;}
}

/* Mobile overflow and WooCommerce grid hardening */
@media(max-width:640px){
  html,body{max-width:100%;overflow-x:hidden;}
  .site-header{width:100%;}
  .nav{
    grid-template-columns:repeat(3,1fr)!important;
    column-gap:10px!important;
    row-gap:16px!important;
  }
  .nav a{
    display:block;
    width:100%;
    text-align:left;
    overflow:visible;
  }
  .nav .cart{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:10px 0!important;
    text-align:center!important;
    overflow:hidden!important;
  }
  .woocommerce .products ul,
  .woocommerce ul.products{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:30px 14px!important;
    clear:both!important;
  }
  .woocommerce ul.products:before,
  .woocommerce ul.products:after{
    content:none!important;
    display:none!important;
  }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product{
    float:none!important;
    clear:none!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
  }
  .woocommerce ul.products li.product a{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .woocommerce ul.products li.product a img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:3/4!important;
    object-fit:cover!important;
    display:block!important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}
@media(max-width:360px){
  .nav{grid-template-columns:repeat(2,1fr)!important;}
}

@media(max-width:640px){
  .nav a[aria-label="Search"],
  .nav .search-mark{
    display:none!important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    min-height:34px;
  }
}

/* Reference mobile layout: match nextechui mobile rhythm */
@media(max-width:640px){
  body{background:#fff!important;}
  .site-header{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    height:70px!important;
    padding:0 25px!important;
    border-bottom:0!important;
    background:#fff!important;
  }
  .clone-brand{
    display:block!important;
    margin:0!important;
    font-size:19px!important;
    line-height:1!important;
    letter-spacing:.24em!important;
    font-weight:800!important;
  }
  .site-header .nav{
    display:none!important;
  }
  .hero-reference{
    height:380px!important;
    min-height:380px!important;
    max-height:380px!important;
    background-size:cover!important;
    background-position:center center!important;
    display:grid!important;
    place-items:center!important;
  }
  .hero-center{
    transform:none!important;
    width:100%!important;
    padding:0 24px!important;
  }
  .hero-center h1{
    font-size:30px!important;
    letter-spacing:.18em!important;
    text-indent:.18em!important;
    margin:0 0 18px!important;
  }
  .hero-center p{
    max-width:320px!important;
    margin:0 auto 42px!important;
    font-size:14px!important;
    line-height:1.45!important;
    color:#f2f2f2!important;
  }
  .button-light{
    min-width:146px!important;
    height:58px!important;
    padding:0 24px!important;
    font-size:12px!important;
    letter-spacing:.12em!important;
  }
  .shop-strip{
    padding:116px 24px 72px!important;
    background:#fff!important;
  }
  .shop-strip h2{
    font-size:16px!important;
    font-weight:400!important;
    margin:0 0 208px!important;
    text-align:center!important;
  }
  .woocommerce .products ul,
  .woocommerce ul.products{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:54px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product{
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .woocommerce ul.products li.product a img{
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:3/4!important;
    height:auto!important;
    object-fit:cover!important;
    margin:0 0 18px!important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:14px!important;
    line-height:1.4!important;
    text-align:left!important;
    min-height:0!important;
    margin-bottom:8px!important;
  }
  .woocommerce ul.products li.product .price{
    font-size:14px!important;
    text-align:left!important;
  }
}
@media(max-width:360px){
  .site-header{padding:0 20px!important;}
  .hero-center h1{font-size:27px!important;}
  .hero-center p{font-size:13px!important;}
  .shop-strip{padding-left:20px!important;padding-right:20px!important;}
}

@media(max-width:640px){
  .site-header{
    text-align:left!important;
  }
  .clone-brand{
    width:auto!important;
    max-width:none!important;
    text-align:left!important;
    margin-right:auto!important;
  }
  .hero-center p{
    max-width:260px!important;
    font-size:12px!important;
    overflow-wrap:normal!important;
  }
}
