/* =====================================================
   PG LUXURY — DESIGN SYSTEM (WooCommerce / Storefront)
   Adapté depuis la version Shopify — mêmes tokens, mêmes intentions
   ===================================================== */

/* =========================
   1) DESIGN TOKENS
   ========================= */
body.pg-luxury{
  --pg-bg: #fbfaf8;
  --pg-surface: #ffffff;
  --pg-ink: #0b0b0b;
  --pg-muted: rgba(11,11,11,.62);
  --pg-line: rgba(11,11,11,.10);

  --pg-gold: #D4AF37;
  --pg-gold-2: #F1D06A;

  --pg-radius: 18px;
  --pg-radius-sm: 14px;

  --pg-shadow: 0 10px 30px rgba(0,0,0,.06);
  --pg-shadow-2: 0 18px 60px rgba(0,0,0,.12);

  --pg-ease: cubic-bezier(.2,.7,.2,1);
  --pg-t: 220ms var(--pg-ease);

  background: var(--pg-bg);
}

/* =========================
   2) SÉCURITÉ RESPONSIVE GLOBALE
   ========================= */
body.pg-luxury{
  overflow-x: hidden;
}
body.pg-luxury *{
  box-sizing: border-box;
}
body.pg-luxury img, body.pg-luxury video, body.pg-luxury svg, body.pg-luxury iframe{
  max-width: 100%;
  height: auto;
}

/* =========================
   3) BASE PREMIUM (contenu principal)
   ========================= */
body.pg-luxury .content-area,
body.pg-luxury #content{
  padding: 44px 0 90px;
}

body.pg-luxury .site-content .col-full{
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

@media (max-width: 768px){
  body.pg-luxury .content-area, body.pg-luxury #content{
    padding: 18px 0 60px;
  }
  body.pg-luxury .site-content .col-full{
    padding-left: 14px;
    padding-right: 14px;
  }
}

body.pg-luxury h1, body.pg-luxury h2, body.pg-luxury h3{
  letter-spacing: .3px;
}
body.pg-luxury h1{
  font-weight: 900;
  letter-spacing: .9px;
  margin: 0 0 22px;
  text-transform: uppercase;
}

/* =========================
   4) BOUTONS / CHAMPS
   ========================= */
body.pg-luxury .button,
body.pg-luxury button[type="submit"],
body.pg-luxury input[type="submit"],
body.pg-luxury .wc-proceed-to-checkout .checkout-button,
body.pg-luxury #place_order{
  border-radius: var(--pg-radius-sm) !important;
  font-weight: 850 !important;
  letter-spacing: .25px !important;
  background: linear-gradient(180deg, var(--pg-gold-2), var(--pg-gold)) !important;
  color: #0b0b0b !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.12) !important;
  transition: transform var(--pg-t), box-shadow var(--pg-t), filter var(--pg-t) !important;
  text-shadow: none !important;
}
body.pg-luxury .button:hover,
body.pg-luxury button[type="submit"]:hover,
body.pg-luxury #place_order:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 48px rgba(0,0,0,.16) !important;
  filter: saturate(1.05);
}
body.pg-luxury input, body.pg-luxury select, body.pg-luxury textarea{
  border-radius: 12px !important;
  border: 1px solid var(--pg-line) !important;
  background: #fff !important;
}
body.pg-luxury input:focus, body.pg-luxury select:focus, body.pg-luxury textarea:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(212,175,55,.18) !important;
  border-color: rgba(212,175,55,.55) !important;
}

/* =========================
   5) BOUTIQUE / CATALOGUE (archive-product)
   ========================= */
body.pg-luxury.woocommerce-shop,
body.pg-luxury.tax-product_cat{
  background: var(--pg-bg);
}

body.pg-luxury ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin: 0 !important;
}
@media (max-width: 989px){
  body.pg-luxury ul.products{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}
@media (max-width: 749px){
  body.pg-luxury ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}
@media (max-width: 480px){
  body.pg-luxury ul.products{
    grid-template-columns: 1fr !important;
  }
}

body.pg-luxury ul.products li.product{
  background: var(--pg-surface) !important;
  border: 1px solid rgba(11,11,11,.10) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: var(--pg-shadow) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
  position: relative;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

body.pg-luxury ul.products li.product::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(212,175,55,.60), transparent);
  pointer-events:none;
  opacity:.9;
  z-index: 2;
}

body.pg-luxury ul.products li.product:hover{
  transform: translateY(-6px);
  box-shadow: var(--pg-shadow-2) !important;
  border-color: rgba(11,11,11,.16) !important;
}

body.pg-luxury ul.products li.product img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  background: #f6f6f6;
  transition: transform .25s ease;
}

body.pg-luxury ul.products li.product .woocommerce-loop-product__title{
  font-weight: 800 !important;
  letter-spacing: .25px !important;
  padding: 16px 20px 0 !important;
  margin: 0 !important;
}

body.pg-luxury ul.products li.product .price{
  font-weight: 950 !important;
  padding: 6px 20px 20px !important;
  margin-top: auto !important;
}

body.pg-luxury ul.products li.product .button{
  margin: 0 20px 20px !important;
}

/* =========================
   6) PAGE PRODUIT (single-product)
   ========================= */
body.pg-luxury.single-product #primary{
  padding-top: 48px;
}

body.pg-luxury.single-product .product_title{
  font-weight: 950 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin: 0 0 10px !important;
}
body.pg-luxury.single-product .price{
  font-weight: 950 !important;
  font-size: 22px !important;
  margin: 0 0 18px !important;
}

body.pg-luxury.single-product .woocommerce-product-gallery{
  background: #f6f6f6 !important;
  border: 1px solid rgba(11,11,11,.10) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 44px rgba(0,0,0,.10) !important;
}
body.pg-luxury.single-product .woocommerce-product-gallery img{
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* =========================
   7) NOTICE ACOMPTE (plugin PG Booking Deposits)
   ========================= */
body.pg-luxury .pgbd-balance-notice{
  background: var(--pg-bg) !important;
  border: 1px solid rgba(11,11,11,.10) !important;
  border-radius: var(--pg-radius-sm) !important;
}

/* =========================
   8) PAGE CONTACT / FORMULAIRES
   ========================= */
body.pg-luxury .wpcf7-form,
body.pg-luxury .contact-form{
  max-width: 760px !important;
  margin: 0 auto !important;
  background: #fff !important;
  border: 1px solid rgba(11,11,11,.10) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 44px rgba(0,0,0,.08) !important;
  padding: 18px 18px 20px !important;
}

/* =========================
   9) COULEURS SÛRES
   ========================= */
body.pg-luxury{
  color: var(--pg-ink);
}
body.pg-luxury h1, body.pg-luxury h2, body.pg-luxury h3,
body.pg-luxury h4, body.pg-luxury h5, body.pg-luxury h6{
  color: #0b0b0b;
}
body.pg-luxury p, body.pg-luxury li, body.pg-luxury small, body.pg-luxury span{
  color: var(--pg-muted);
}
