/*
Theme Name: Dyene
Theme URI: https://dyene.co.uk
Author: Krishna Deo
Author URI: mailto:mkd3759@gmail.com
Description: Custom WooCommerce theme for Dyene — sarees, blouses, lehengas and accessories, UK online store. Full cart, checkout and payment support via WooCommerce.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dyene
Tags: e-commerce, custom-colors, custom-logo, custom-menu, featured-images
*/

:root{
  --maroon:#5C1A2E;
  --maroon-deep:#3F0F1F;
  --gold:#C9A15E;
  --gold-soft:#E4CFA0;
  --ivory:#FBF6EE;
  --teal:#16504B;
  --ink:#2A1B1F;
  --line:rgba(92,26,46,0.15);
}
*{box-sizing:border-box;}
body{
  background:var(--ivory);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-weight:300;
  line-height:1.6;
  margin:0;
}
h1,h2,h3,h4,.display{
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  letter-spacing:0.01em;
  color:var(--maroon);
}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.eyebrow{
  font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:0.28em;
  font-size:11px;color:var(--gold);font-weight:500;display:block;margin-bottom:10px;
}

/* Announcement */
.announce{
  background:var(--maroon-deep);color:var(--gold-soft);text-align:center;
  font-size:12.5px;letter-spacing:0.08em;padding:9px 12px;text-transform:uppercase;
}
.announce span{opacity:0.55;margin:0 10px;}

/* Header */
.site-header{background:var(--ivory);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto;gap:20px;}
.logo,.site-title{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;color:var(--maroon);letter-spacing:0.04em;}
.logo em{font-style:normal;color:var(--gold);}
.custom-logo{max-height:56px;width:auto;}
nav.main-nav{flex:1;display:flex;justify-content:center;}
nav.main-nav ul{display:flex;gap:34px;flex-wrap:wrap;justify-content:center;}
nav.main-nav a{font-size:13.5px;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink);position:relative;padding-bottom:4px;}
nav.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .25s ease;}
nav.main-nav a:hover::after{width:100%;}
.nav-icons{display:flex;gap:14px;align-items:center;font-size:13px;letter-spacing:.04em;}
.nav-icons a{border:1px solid var(--line);padding:8px 14px;border-radius:2px;white-space:nowrap;}

/* Hamburger button — hidden on desktop */
.menu-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:34px;height:34px;background:transparent;border:none;cursor:pointer;padding:0;
}
.menu-toggle span{display:block;width:100%;height:1.5px;background:var(--maroon);transition:transform .25s ease, opacity .25s ease;}
.menu-toggle.is-active span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.menu-toggle.is-active span:nth-child(2){opacity:0;}
.menu-toggle.is-active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* Tablet & mobile: collapse nav into slide-down menu behind the hamburger icon */
@media(max-width:900px){
  .menu-toggle{display:flex;}
  nav.main-nav{
    display:block;flex:none;
    position:absolute;top:100%;left:0;right:0;
    background:var(--ivory);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  nav.main-nav.nav-open{max-height:520px;}
  nav.main-nav ul{flex-direction:column;gap:0;padding:8px 32px 20px;}
  nav.main-nav li{border-bottom:1px solid var(--line);}
  nav.main-nav a{display:block;padding:14px 0;}
  .nav-icons a{padding:7px 10px;font-size:12px;}
}
@media(max-width:520px){
  .nav-row{padding:14px 18px;}
  .logo,.site-title{font-size:26px;}
  .nav-icons a{font-size:11px;padding:6px 8px;}
}
body.nav-lock{overflow:hidden;}

/* Paisley divider */
.paisley-row{display:flex;justify-content:center;padding:6px 0;background:var(--maroon);}
.paisley-row svg{height:22px;opacity:0.85;}

/* Hero */
.hero{
  background:
    radial-gradient(ellipse at 20% 20%, rgba(201,161,94,0.18), transparent 55%),
    radial-gradient(ellipse at 85% 80%, rgba(22,80,75,0.25), transparent 55%),
    var(--maroon);
  color:var(--ivory);position:relative;padding:110px 32px 90px;text-align:center;overflow:hidden;
}
.hero .eyebrow{color:var(--gold-soft);}
.hero h1{font-size:clamp(44px,7vw,84px);color:var(--ivory);margin:18px 0 20px;line-height:1.05;}
.hero h1 span{color:var(--gold);font-style:italic;}
.hero p.sub{max-width:520px;margin:0 auto 34px;color:rgba(251,246,238,0.78);font-size:16px;}
.btn{display:inline-block;padding:15px 38px;border:1px solid var(--gold);color:var(--gold);text-transform:uppercase;letter-spacing:0.14em;font-size:12.5px;transition:all .25s ease;border-radius:2px;background:transparent;cursor:pointer;}
.btn:hover{background:var(--gold);color:var(--maroon-deep);}
.btn.solid{background:var(--gold);color:var(--maroon-deep);border-color:var(--gold);}
.btn.solid:hover{background:transparent;color:var(--gold);}
.hero-strip{display:flex;justify-content:center;gap:44px;margin-top:56px;flex-wrap:wrap;}
.hero-strip div{text-align:center;color:var(--gold-soft);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.hero-strip div strong{display:block;font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--ivory);font-weight:600;text-transform:none;letter-spacing:0;}

/* Sections */
.section-pad{padding:90px 0 40px;}
.section-head{text-align:center;margin-bottom:50px;}
.section-head h2{font-size:38px;color:var(--maroon);}

/* Category cards (Shop by category — 4 static branded cards) */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.cat-card{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:4px;cursor:pointer;}
.cat-card .swatch{position:absolute;inset:0;transition:transform .5s ease;}
.cat-card .label{position:absolute;left:0;right:0;bottom:0;padding:22px 18px;background:linear-gradient(to top, rgba(42,27,31,0.85), transparent);color:var(--ivory);}
.cat-card .label h3{color:var(--ivory);font-size:22px;font-weight:600;margin:2px 0 0;}
.cat-card .label span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);}
.cat-card:hover .swatch{transform:scale(1.04);}
.sw1{background:linear-gradient(160deg,#7A2740,#3F0F1F 70%);}
.sw2{background:linear-gradient(160deg,#16504B,#0B2E2A 70%);}
.sw3{background:linear-gradient(160deg,#C9A15E,#8A6B32 70%);}
.sw4{background:linear-gradient(160deg,#2A1B1F,#5C1A2E 70%);}

/* WooCommerce product grid — flexbox (avoids CSS-grid auto-placement quirks
   that were skipping the first column on some archive pages) */
.woocommerce ul.products{display:flex !important;flex-wrap:wrap;gap:32px 24px !important;margin:0 0 30px;}
.woocommerce ul.products li.product{
  flex:0 0 calc(25% - 18px) !important;
  max-width:calc(25% - 18px) !important;
  width:auto !important;
  min-width:0 !important;
  float:none !important;
  margin:0 !important;
  list-style:none;text-align:left;display:flex;flex-direction:column;
}
@media(max-width:1000px){
  .woocommerce ul.products li.product{flex:0 0 calc(33.333% - 16px) !important;max-width:calc(33.333% - 16px) !important;}
}
@media(max-width:700px){
  .woocommerce ul.products li.product{flex:0 0 calc(50% - 12px) !important;max-width:calc(50% - 12px) !important;}
}
.woocommerce ul.products li.product img{border-radius:4px;aspect-ratio:3/4;object-fit:cover;margin-bottom:14px;width:100% !important;height:auto !important;max-width:100% !important;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px;font-weight:500;font-family:'Jost',sans-serif;color:var(--ink);margin:0 0 6px;line-height:1.4;overflow-wrap:break-word;}
.woocommerce ul.products li.product .price{font-size:14px;color:var(--maroon);margin-top:auto;}
.woocommerce ul.products li.product .price del{color:#999;opacity:1;font-size:12.5px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button{
  margin-top:12px;display:block;width:100%;text-align:center;padding:11px 16px;border:1px solid var(--maroon);color:var(--maroon);
  text-transform:uppercase;letter-spacing:.06em;font-size:11px;border-radius:2px;background:transparent;white-space:nowrap;
}
.woocommerce ul.products li.product .button:hover{background:var(--maroon);color:var(--ivory);}
.woocommerce span.onsale{
  background:var(--gold) !important;color:var(--maroon-deep) !important;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  min-height:auto;min-width:auto;padding:5px 10px;border-radius:2px;line-height:1;font-weight:500;top:12px;left:12px;right:auto;
}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--gold);}

/* Buttons everywhere (checkout / cart / single product) */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button, .woocommerce-page button.button{
  background:var(--maroon) !important;color:var(--ivory) !important;border-radius:2px !important;
  text-transform:uppercase;letter-spacing:.08em;font-size:12.5px !important;padding:13px 28px !important;border:none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--maroon-deep) !important;
}
.woocommerce a.added_to_cart{color:var(--maroon) !important;text-decoration:underline;}
.woocommerce .checkout-button, .woocommerce a.checkout-button{background:var(--gold) !important;color:var(--maroon-deep) !important;}

/* Content wrapper for WooCommerce auto-templates */
#primary.content-area{max-width:1180px;margin:0 auto;padding:60px 32px;}
.woocommerce table.shop_table{border-color:var(--line);}
.woocommerce-message, .woocommerce-info{border-top-color:var(--maroon) !important;}
.woocommerce-message::before, .woocommerce-info::before{color:var(--maroon) !important;}

/* Banner strip */
.banner-strip{display:grid;grid-template-columns:1fr 1fr;}
.banner-strip .panel{padding:90px 48px;color:var(--ivory);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;}
.banner-strip .panel:nth-child(1){background:linear-gradient(135deg,var(--maroon),var(--maroon-deep));}
.banner-strip .panel:nth-child(2){background:linear-gradient(135deg,var(--teal),#0B2E2A);}
.banner-strip h3{color:var(--ivory);font-size:32px;margin:14px 0 22px;}
@media(max-width:800px){.banner-strip{grid-template-columns:1fr;}}

/* About */
.about-section{background:var(--maroon);color:var(--ivory);padding:100px 32px;}
.about-inner{max-width:900px;margin:0 auto;text-align:center;}
.about-section h2{color:var(--ivory);font-size:38px;margin:14px 0 26px;}
.about-section p{color:rgba(251,246,238,0.85);font-size:16.5px;max-width:640px;margin:0 auto 18px;}
.signature{margin-top:36px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:var(--gold);}
.signature span{display:block;font-family:'Jost',sans-serif;font-style:normal;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);margin-top:6px;}

/* Testimonials */
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:900px){.t-grid{grid-template-columns:1fr;}}
.t-card{background:#fff;border:1px solid var(--line);padding:32px 28px;border-radius:4px;}
.t-card .stars{color:var(--gold);letter-spacing:2px;margin-bottom:14px;}
.t-card p{font-size:14.5px;color:#4a3a3f;margin-bottom:18px;}
.t-card .who{font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--maroon);font-size:17px;}

/* Footer */
.site-footer{background:var(--maroon-deep);color:rgba(251,246,238,0.75);padding:70px 32px 30px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;max-width:1180px;margin:0 auto;padding-bottom:44px;border-bottom:1px solid rgba(251,246,238,0.12);}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;}}
.site-footer h5{color:var(--gold-soft);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;}
.site-footer .logo{color:var(--ivory);margin-bottom:14px;}
.site-footer p.desc{font-size:13.5px;line-height:1.7;max-width:280px;}
.site-footer li{margin-bottom:10px;font-size:13.5px;}
.site-footer li a:hover{color:var(--gold);}
.foot-bottom{max-width:1180px;margin:26px auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(251,246,238,0.45);}

/* Generic page content */
.page-content{max-width:800px;margin:0 auto;padding:80px 32px;}
.page-content h1{font-size:40px;margin-bottom:22px;}

/* Small inner-page hero (About / Contact) */
.page-hero{
  background:
    radial-gradient(ellipse at 20% 20%, rgba(201,161,94,0.18), transparent 55%),
    radial-gradient(ellipse at 85% 80%, rgba(22,80,75,0.25), transparent 55%),
    var(--maroon);
  color:var(--ivory);padding:80px 32px 64px;text-align:center;
}
.page-hero .eyebrow{color:var(--gold-soft);}
.page-hero h1{color:var(--ivory);font-size:clamp(34px,6vw,58px);margin:14px 0 16px;}
.page-hero p.sub{max-width:560px;margin:0 auto;color:rgba(251,246,238,0.8);font-size:15.5px;}

/* About Us story text */
.about-story{max-width:760px;margin:0 auto;}
.about-story p{font-size:16px;color:#4a3a3f;margin-bottom:18px;line-height:1.75;}

/* Values grid */
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.value-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:28px 22px;}
.value-card h3{font-size:20px;margin-bottom:10px;}
.value-card p{font-size:14px;color:#4a3a3f;line-height:1.6;}

/* Legal pages (Terms, Returns) */
.legal-content{max-width:760px;margin:0 auto;}
.legal-content h2{font-size:21px;margin:34px 0 12px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p{font-size:15px;color:#4a3a3f;line-height:1.75;margin-bottom:8px;}
.legal-content a{color:var(--maroon);border-bottom:1px solid var(--line);}
.legal-content ol{padding-left:20px;margin:10px 0;}
.legal-content ol li{font-size:15px;color:#4a3a3f;line-height:1.75;margin-bottom:8px;}
.contact-wrap{padding:80px 32px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1000px;margin:0 auto;}
.contact-form-box{background:#fff;border:1px solid var(--line);border-radius:6px;padding:36px;}
.contact-form-box input:focus,.contact-form-box textarea:focus{outline:1.5px solid var(--gold);}

/* ================= Responsive: tablet ================= */
@media(max-width:900px){
  .hero{padding:80px 24px 60px;}
  .hero-strip{gap:28px;}
  .section-pad{padding:60px 0 20px;}
  .about-section{padding:70px 24px;}
  .banner-strip .panel{padding:60px 32px;min-height:260px;}
  .foot-grid{gap:32px;}
}

@media(max-width:900px){
  .value-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;gap:36px;}
}

/* ================= Responsive: mobile ================= */
@media(max-width:600px){
  .wrap,#primary.content-area,.page-content{padding-left:18px;padding-right:18px;}
  .contact-wrap{padding:50px 18px;}
  .page-hero{padding:56px 20px 46px;}
  .value-grid{grid-template-columns:1fr;}
  .hero{padding:60px 18px 46px;}
  .hero h1{font-size:clamp(34px,10vw,54px);}
  .hero-strip{gap:20px 26px;}
  .hero-strip div strong{font-size:21px;}
  .section-head h2{font-size:28px;}
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .woocommerce ul.products{gap:16px !important;}
  .t-grid{grid-template-columns:1fr;}
  .banner-strip{grid-template-columns:1fr;}
  .banner-strip .panel{padding:50px 24px;min-height:220px;}
  .about-section h2{font-size:28px;}
  .foot-grid{grid-template-columns:1fr;gap:30px;text-align:left;}
  .foot-bottom{flex-direction:column;text-align:center;}
  .announce{font-size:10.5px;padding:8px 10px;}
  .announce span{margin:0 6px;}
}

@media(max-width:400px){
  .cat-grid{grid-template-columns:1fr;}
}
