/*
Theme Name: Bird of Paradise
Theme URI: https://birdofparadise.ch
Author: EcoDreamr
Description: Theme sur-mesure pour Bird of Paradise, boutique B2C d'EcoDreamr. Boutique premium, traçable, sans greenwashing.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: birdofparadise
Requires Plugins: woocommerce
*/

/* =========================================================
   0. DESIGN TOKENS
   ========================================================= */
:root{
  --navy:#1C2951;
  --navy-light:#47517A;
  --terracotta:#E2761A;
  --terracotta-bg:#FCEFE2;
  --green:#6E9C3F;
  --green-bg:#EFF5E9;
  --sand:#EEE9DD;
  --cream:#F7F4EC;
  --cream-alt:#F4EFE4;
  --line:#E7E3D8;
  --stone:#8B8577;
  --grey-text:#585C63;
  --grey-muted:#6B6F76;
  --white:#FFFFFF;
  --font-serif:'Cormorant Garamond', serif;
  --font-sans:'Work Sans', sans-serif;
  --container:1320px;
}

/* =========================================================
   1. RESET / BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--sand);
  color:var(--navy);
  font-family:var(--font-sans);
  font-size:15px;
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--terracotta)}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;color:var(--navy);margin:0}
ul{margin:0;padding:0;list-style:none}
button,input,select,textarea{font-family:var(--font-sans)}
.container{max-width:var(--container);margin:0 auto;padding:0 40px}
.screen-reader-text{position:absolute;left:-9999px}

/* =========================================================
   2. BUTTONS
   ========================================================= */
.btn,
.button,
button.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce input.button,
a.added_to_cart{
  display:inline-block;
  padding:15px 30px;
  background:var(--navy);
  color:var(--white) !important;
  font-size:13px;
  letter-spacing:.05em;
  text-transform:uppercase;
  border:1px solid var(--navy);
  border-radius:0;
  cursor:pointer;
  font-family:var(--font-sans);
  transition:background .15s ease, color .15s ease;
}
.btn:hover,.button:hover,button.button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce input.button:hover{
  background:var(--terracotta);
  border-color:var(--terracotta);
  color:var(--white) !important;
}
.btn-outline{
  background:transparent;
  color:var(--navy) !important;
  border:1px solid var(--navy);
}
.btn-outline:hover{background:var(--navy);color:var(--white) !important}
.btn-accent{background:var(--terracotta);border-color:var(--terracotta)}
.btn-accent:hover{background:var(--navy);border-color:var(--navy)}

/* =========================================================
   3. TOP UTILITY BAR
   ========================================================= */
.bop-utility-bar{
  display:flex;justify-content:flex-end;align-items:center;gap:24px;
  padding:8px 40px;background:var(--cream);border-bottom:1px solid var(--line);
  font-size:11px;letter-spacing:.06em;color:var(--grey-muted);
}
.bop-utility-bar .bop-lang{display:flex;gap:10px}
.bop-utility-bar .bop-lang a{font-size:11px;color:#A9A398}
.bop-utility-bar .bop-lang a.current{color:var(--navy);font-weight:600}

/* =========================================================
   4. MAIN HEADER / NAV
   ========================================================= */
.bop-header{
  position:sticky;top:0;z-index:100;background:var(--white);
  border-bottom:1px solid var(--line);
}
.bop-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 40px;max-width:1600px;margin:0 auto;
}
.bop-logo{font-family:var(--font-serif);font-size:26px;letter-spacing:.04em;white-space:nowrap}
.bop-logo img{height:44px;width:auto;max-width:200px}
.bop-logo a{display:flex;align-items:baseline;gap:0}
.bop-logo .l1{color:var(--green)}
.bop-logo .l2{color:var(--terracotta)}
.bop-logo .l3{color:var(--navy)}

.bop-primary-nav ul{display:flex;gap:36px;flex-wrap:wrap}
.bop-primary-nav a{font-size:13px;letter-spacing:.03em;color:var(--navy);padding-bottom:4px}
.bop-primary-nav .current-menu-item>a,
.bop-primary-nav a:hover{border-bottom:1px solid var(--navy);color:var(--navy)}

.bop-header-actions{display:flex;gap:22px;align-items:center;font-size:13px}
.bop-header-actions a{color:var(--navy)}
.bop-cart-count{background:var(--terracotta);color:#fff;font-size:10px;border-radius:50%;padding:1px 6px;margin-left:4px}

.bop-mobile-toggle{display:none;background:none;border:none;font-size:22px;color:var(--navy);cursor:pointer}
.bop-mobile-nav{display:none}

@media (max-width:960px){
  .bop-primary-nav{display:none}
  .bop-mobile-toggle{display:block}
  .bop-header-actions .bop-actions-text{display:none}
  .bop-header-inner{padding:16px 20px}
  .container{padding:0 20px}
  .bop-mobile-nav.is-open{display:block;padding:0 20px 20px;border-top:1px solid var(--line)}
  .bop-mobile-nav ul{display:flex;flex-direction:column;gap:14px;padding-top:16px}
  .bop-mobile-nav a{font-size:14px;color:var(--navy)}
}

/* =========================================================
   5. HERO / GENERIC SECTIONS
   ========================================================= */
.bop-breadcrumb{padding:20px 40px 0;font-size:12px;color:var(--stone);max-width:1600px;margin:0 auto}

.bop-hero{
  display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch;max-width:1600px;margin:0 auto;
}
.bop-hero-content{padding:100px 64px;display:flex;flex-direction:column;justify-content:center;gap:26px}
.bop-hero-eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:600}
.bop-hero-title{font-size:52px;line-height:1.1}
.bop-hero-text{font-size:15px;line-height:1.7;color:var(--grey-text);max-width:440px}
.bop-hero-actions{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap}
.bop-hero-media{
  background:repeating-linear-gradient(135deg,var(--cream-alt),var(--cream-alt) 12px,#E6DFCF 12px,#E6DFCF 24px);
  min-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.bop-hero-media img{width:100%;height:100%;object-fit:cover}

@media (max-width:960px){
  .bop-hero{grid-template-columns:1fr}
  .bop-hero-content{padding:50px 24px}
  .bop-hero-title{font-size:32px}
}

/* trust strip */
.bop-trust-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1600px;margin:0 auto;
}
.bop-trust-item{padding:30px 40px;text-align:center;border-right:1px solid var(--line)}
.bop-trust-item:last-child{border-right:none}
.bop-trust-item .t{font-family:var(--font-serif);font-size:15px;font-weight:600}
.bop-trust-item .s{font-size:12px;color:var(--stone);margin-top:6px}
@media (max-width:960px){.bop-trust-strip{grid-template-columns:1fr 1fr}}

/* section headers */
.bop-section{padding:90px 64px;max-width:1600px;margin:0 auto}
.bop-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px;flex-wrap:wrap;gap:12px}
.bop-section-head h2,.bop-section-head h3{font-size:32px}
.bop-section-head .bop-link{font-size:13px;letter-spacing:.04em;color:var(--navy);border-bottom:1px solid var(--navy);padding-bottom:2px}
@media (max-width:960px){.bop-section{padding:50px 24px}}

/* category grid */
.bop-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.bop-cat-card .bop-cat-img{
  height:220px;background:repeating-linear-gradient(45deg,var(--cream-alt),var(--cream-alt) 10px,#E6DFCF 10px,#E6DFCF 20px);
  overflow:hidden;
}
.bop-cat-card .bop-cat-img img{width:100%;height:100%;object-fit:cover}
.bop-cat-card .bop-cat-label{padding-top:14px;font-size:14px;font-weight:500}
@media (max-width:960px){.bop-cat-grid{grid-template-columns:1fr 1fr}}

/* product grid (used on shop, home, related) */
.bop-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.bop-product-grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){.bop-product-grid,.bop-product-grid.cols-3{grid-template-columns:1fr 1fr;gap:14px}}

/* brand story block */
.bop-story{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--cream);max-width:1600px;margin:0 auto}
.bop-story-media{
  background:repeating-linear-gradient(135deg,#E9E3D5,#E9E3D5 12px,#E0D8C4 12px,#E0D8C4 24px);
  min-height:420px;overflow:hidden;
}
.bop-story-media img{width:100%;height:100%;object-fit:cover}
.bop-story-content{padding:90px 70px;display:flex;flex-direction:column;justify-content:center;gap:22px}
.bop-story-content .eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);font-weight:600}
.bop-story-content h3{font-size:34px;line-height:1.2}
.bop-story-content p{font-size:14px;line-height:1.8;color:var(--grey-text);max-width:460px;margin:0}
@media (max-width:960px){.bop-story{grid-template-columns:1fr}.bop-story-content{padding:50px 24px}}

/* newsletter */
.bop-newsletter{padding:64px;text-align:center;background:var(--navy);max-width:1600px;margin:0 auto}
.bop-newsletter h3{font-style:italic;font-size:26px;color:#fff;margin:0 0 10px}
.bop-newsletter p{font-size:13px;color:#C8CCDA;margin:0 0 26px}
.bop-newsletter-form{display:flex;justify-content:center;max-width:420px;margin:0 auto}
.bop-newsletter-form input[type=email]{
  flex:1;padding:14px 18px;background:transparent;border:1px solid var(--navy-light);color:#fff;font-size:13px;
}
.bop-newsletter-form input[type=email]::placeholder{color:#C8CCDA}
.bop-newsletter-form button{padding:14px 26px;background:var(--terracotta);border:1px solid var(--terracotta);color:#fff;font-size:13px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.bop-newsletter-message{font-size:14px;font-weight:500;margin:0}
.bop-newsletter-message.is-success{color:#A9D084}
.bop-newsletter-message.is-error{color:#F0A98A}

/* =========================================================
   6. FOOTER
   ========================================================= */
.bop-footer{background:#fff;max-width:1600px;margin:0 auto}
.bop-footer-grid{padding:70px 64px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px}
.bop-footer-grid .bop-logo{font-size:22px;margin-bottom:14px}
.bop-footer-grid p{font-size:12px;color:var(--stone);line-height:1.7;max-width:220px}
.bop-footer-col h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:16px;font-weight:600;font-family:var(--font-sans)}
.bop-footer-col ul{display:flex;flex-direction:column;gap:10px}
.bop-footer-col a{font-size:13px;color:var(--grey-text)}
.bop-footer-bottom{padding:24px 64px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--stone);flex-wrap:wrap;gap:8px}
@media (max-width:960px){
  .bop-footer-grid{grid-template-columns:1fr 1fr;padding:50px 24px}
  .bop-footer-bottom{padding:20px 24px}
}

/* =========================================================
   7. WOOCOMMERCE OVERRIDES
   ========================================================= */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{margin:0}
.woocommerce ul.products li.product a{display:block}
.woocommerce ul.products li.product img{
  height:280px;width:100%;object-fit:cover;background:var(--cream-alt);margin-bottom:0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding-top:14px;font-size:13px;color:var(--navy);font-weight:500;font-family:var(--font-sans);
}
.woocommerce ul.products li.product .price{
  font-size:13px;color:var(--stone);margin-top:4px;display:block;
}
.woocommerce ul.products li.product .price del{color:#A9A398;opacity:.7}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--terracotta)}
.woocommerce ul.products li.product .button{
  display:none;
}
.woocommerce ul.products li.product{position:relative}
.bop-badge{position:absolute;top:12px;left:12px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#fff;padding:5px 9px;z-index:2}
.bop-badge.new{background:var(--terracotta)}
.bop-badge.traceable{background:var(--green)}

@media (max-width:960px){
  .woocommerce ul.products{grid-template-columns:1fr 1fr;gap:14px}
  .woocommerce ul.products li.product img{height:180px}
}

/* shop page layout */
.bop-shop-head{padding:0 64px 20px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;max-width:1600px;margin:0 auto}
.bop-shop-head h1{font-size:38px}
.bop-shop-head .bop-count{font-size:13px;color:var(--stone);margin-top:8px}
.bop-shop-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:0 64px 44px;max-width:1600px;margin:0 auto}
.bop-cat-pills{display:flex;gap:10px;flex-wrap:wrap}
.bop-cat-pill{padding:11px 22px;border:1px solid var(--line);color:var(--navy);font-size:13px;letter-spacing:.02em}
.bop-cat-pill.active{background:var(--navy);border-color:var(--navy);color:#fff}
.bop-shop-sort select{padding:10px 16px;border:1px solid var(--line);font-size:13px;color:var(--navy);background:#fff;font-family:var(--font-sans)}
.bop-shop-main-full{padding:0 64px 90px;max-width:1600px;margin:0 auto}
@media (max-width:960px){
  .bop-shop-toolbar{padding:0 20px 24px;flex-direction:column;align-items:flex-start}
  .bop-cat-pills{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px}
  .bop-cat-pill{white-space:nowrap}
  .bop-shop-main-full{padding:0 20px 50px}
  .bop-shop-head{padding:0 20px 16px}
}

/* single product */
.woocommerce div.product{max-width:1600px;margin:0 auto;padding:40px 64px 0;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.woocommerce div.product .woocommerce-product-gallery{width:100% !important}
.woocommerce div.product .woocommerce-product-gallery img{
  width:100%;min-height:500px;object-fit:cover;background:var(--cream-alt);
}
.bop-product-badges{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.bop-product-badges span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px}
.bop-product-badges span.cert-green{background:var(--green-bg);color:var(--green)}
.bop-product-badges span.cert-orange{background:var(--terracotta-bg);color:var(--terracotta)}
.woocommerce div.product .summary{padding-top:0}
.woocommerce div.product .summary h1.product_title{font-size:36px;margin:0 0 10px;max-width:520px}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-size:22px;color:var(--navy);font-weight:500;margin-bottom:20px;display:block;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:14px;line-height:1.8;color:var(--grey-text);max-width:460px;margin:0 0 28px;
}
.woocommerce div.product form.cart{display:flex;gap:14px;margin-bottom:36px;align-items:stretch}
.woocommerce div.product form.cart .quantity{display:flex}
.woocommerce div.product form.cart input.qty{width:70px;padding:15px 12px;border:1px solid var(--line);text-align:center;font-size:13px}
.woocommerce div.product form.cart button.single_add_to_cart_button{flex:1}

.woocommerce-tabs{border-top:1px solid var(--line);max-width:460px}
.woocommerce-tabs ul.tabs{display:none}
.woocommerce-tabs .panel{padding:18px 0;border-bottom:1px solid var(--line)}
.woocommerce-tabs .panel h2{font-size:13px;color:var(--navy);font-weight:500;margin-bottom:8px;font-family:var(--font-sans)}

.bop-related{padding:0 64px 90px;max-width:1600px;margin:0 auto}
