/* ==========================================================
   Keshō — Ateliers v1.1
   ========================================================== */

.kesho-workshop-source {
  display:none !important;
}

/* Prix / réservation */
.kesho-workshop-product .summary > .price::after {
  content:" / personne";
  color:rgba(41,37,34,.58);
  font-family:var(--sans,Arial,sans-serif);
  font-size:.72rem;
  font-weight:400;
}

.kesho-workshop-product .summary .variations_form .woocommerce-variation-price .price::after {
  content:" / personne";
  color:rgba(41,37,34,.58);
  font-family:var(--sans,Arial,sans-serif);
  font-size:.72rem;
  font-weight:400;
}

/* Infos rapides */
.kesho-workshop-facts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:24px 0 26px;
  padding:18px 0;
  border-top:1px solid rgba(41,37,34,.10);
  border-bottom:1px solid rgba(41,37,34,.10);
}

.kesho-workshop-fact {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.kesho-workshop-icon {
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(220,204,186,.36);
  color:#806451;
}

.kesho-workshop-icon svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.kesho-workshop-fact > span:last-child {
  display:flex;
  flex-direction:column;
}

.kesho-workshop-fact strong {
  font-family:var(--sans,Arial,sans-serif);
  font-size:.73rem;
  font-weight:600;
  line-height:1.25;
}

.kesho-workshop-fact small {
  margin-top:3px;
  color:rgba(41,37,34,.56);
  font-family:var(--sans,Arial,sans-serif);
  font-size:.62rem;
}

/* Bloc quantité + bouton */
.kesho-workshop-product form.variations_form .woocommerce-variation-add-to-cart::before {
  content:"Nombre de participants";
  display:block;
  width:100%;
  margin:0 0 8px;
  color:#292522;
  font-family:var(--sans,Arial,sans-serif);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.kesho-workshop-product form.variations_form .woocommerce-variation-add-to-cart {
  display:flex !important;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px;
}

.kesho-workshop-product form.variations_form .quantity {
  flex:0 0 92px;
  margin:0 !important;
}

.kesho-workshop-product form.variations_form .single_add_to_cart_button {
  flex:1 1 240px;
  min-height:56px !important;
}

.kesho-workshop-product .woocommerce-variation-availability {
  width:100%;
  margin-top:8px;
  color:#806451;
  font-family:var(--sans,Arial,sans-serif);
  font-size:.74rem;
}

/* Contenu atelier */
.kesho-workshop-content {
  width:min(1240px,calc(100% - 48px));
  margin:68px auto 100px;
}

.kesho-workshop-eyebrow {
  margin:0 0 12px !important;
  color:#7a5b45 !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-size:.68rem !important;
  font-weight:600 !important;
  letter-spacing:.17em;
  line-height:1.3 !important;
  text-transform:uppercase;
}

.kesho-workshop-content h2 {
  margin:0;
  color:#292522;
  font-family:var(--serif,Georgia,serif);
  font-size:clamp(2rem,3.2vw,3.5rem);
  font-weight:400;
  line-height:1.06;
}

.kesho-workshop-content h3 {
  margin:0 0 9px;
  color:#292522;
  font-family:var(--serif,Georgia,serif);
  font-size:1.3rem;
  font-weight:400;
}

.kesho-workshop-content p {
  color:rgba(41,37,34,.72);
  font-family:var(--sans,Arial,sans-serif);
  font-size:.9rem;
  line-height:1.75;
}

.kesho-workshop-intro {
  display:grid;
  grid-template-columns:.8fr 1fr;
  gap:70px;
  align-items:start;
  padding:64px 0;
  border-top:1px solid rgba(41,37,34,.10);
}

.kesho-workshop-intro-copy p:first-child {
  margin-top:0;
}

.kesho-workshop-program {
  padding:68px 56px;
  background:rgba(231,220,206,.34);
}

.kesho-workshop-program > h2 {
  max-width:720px;
}

.kesho-workshop-steps {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin-top:44px;
  border-top:1px solid rgba(41,37,34,.12);
}

.kesho-workshop-steps article {
  min-height:225px;
  padding:26px 22px 12px;
  border-right:1px solid rgba(41,37,34,.12);
}

.kesho-workshop-steps article:last-child {
  border-right:0;
}

.kesho-workshop-steps article > span {
  display:block;
  margin-bottom:38px;
  color:#9a806b;
  font-family:var(--sans,Arial,sans-serif);
  font-size:.68rem;
}

.kesho-workshop-steps p {
  margin:0;
  font-size:.79rem;
  line-height:1.6;
}

.kesho-workshop-included {
  display:grid;
  grid-template-columns:.75fr 1fr;
  gap:70px;
  padding:72px 0;
  border-bottom:1px solid rgba(41,37,34,.10);
}

.kesho-workshop-included ul {
  margin:0;
  padding:0;
  list-style:none;
}

.kesho-workshop-included li {
  position:relative;
  padding:15px 0 15px 30px;
  border-bottom:1px solid rgba(41,37,34,.09);
  color:rgba(41,37,34,.74);
  font-family:var(--sans,Arial,sans-serif);
  font-size:.87rem;
}

.kesho-workshop-included li::before {
  content:"✓";
  position:absolute;
  left:0;
  color:#806451;
}

.kesho-workshop-practical {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding-top:64px;
}

.kesho-workshop-practical-card,
.kesho-workshop-safety-card {
  padding:40px;
  border:1px solid rgba(41,37,34,.08);
  background:rgba(255,255,255,.28);
}

.kesho-workshop-practical-card dl {
  margin:30px 0 0;
}

.kesho-workshop-practical-card dl > div {
  display:grid;
  grid-template-columns:130px 1fr;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid rgba(41,37,34,.09);
}

.kesho-workshop-practical-card dt {
  color:rgba(41,37,34,.52);
  font-family:var(--sans,Arial,sans-serif);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.kesho-workshop-practical-card dd {
  margin:0;
  color:#292522;
  font-family:var(--sans,Arial,sans-serif);
  font-size:.86rem;
}

.kesho-workshop-icon-large {
  width:48px;
  height:48px;
  margin-bottom:26px;
}

.kesho-workshop-icon-large svg {
  width:25px;
  height:25px;
}

.kesho-workshop-safety-card h2 {
  margin-bottom:26px;
}

/* Avis : espace après contenu atelier */
.kesho-workshop-content + .woocommerce-tabs,
.kesho-workshop-content + #reviews {
  margin-top:60px;
}

@media (max-width:980px) {
  .kesho-workshop-intro,
  .kesho-workshop-included {
    grid-template-columns:1fr;
    gap:28px;
  }

  .kesho-workshop-steps {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .kesho-workshop-steps article {
    border-bottom:1px solid rgba(41,37,34,.12);
  }
}

@media (max-width:700px) {
  .kesho-workshop-facts {
    grid-template-columns:1fr;
  }

  .kesho-workshop-content {
    width:calc(100% - 32px);
    margin-top:48px;
  }

  .kesho-workshop-program {
    padding:44px 22px;
  }

  .kesho-workshop-steps,
  .kesho-workshop-practical {
    grid-template-columns:1fr;
  }

  .kesho-workshop-steps article {
    min-height:0;
    padding:24px 0;
    border-right:0;
  }

  .kesho-workshop-steps article > span {
    margin-bottom:18px;
  }

  .kesho-workshop-practical-card,
  .kesho-workshop-safety-card {
    padding:28px 22px;
  }

  .kesho-workshop-practical-card dl > div {
    grid-template-columns:1fr;
    gap:5px;
  }
}


/* ==========================================================
   Keshō — Ateliers v1.2
   Réduction de l'espace entre la fiche produit et le contenu atelier
   ========================================================== */

.kesho-workshop-content{
  margin-top:28px !important;
}

/* Réduit également l'espace laissé par le conteneur produit avant les blocs atelier */
.kesho-workshop-product .product{
  margin-bottom:0 !important;
}

.kesho-workshop-product .woocommerce-tabs,
.kesho-workshop-product #reviews{
  margin-top:36px !important;
}

@media (max-width:700px){
  .kesho-workshop-content{
    margin-top:22px !important;
  }
}


/* ==========================================================
   Keshō — Ateliers v1.3
   Correction du grand vide imposé par le template produit
   ========================================================== */

/* Le thème réserve une hauteur importante à la zone produit.
   Pour un atelier sans grande galerie, on supprime cette hauteur forcée. */
body.kesho-workshop-product div.product,
body.kesho-workshop-product .product.type-product,
body.kesho-workshop-product .single-product-wrapper,
body.kesho-workshop-product .product-main,
body.kesho-workshop-product .product-container {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Notre section doit suivre immédiatement la fiche. */
body.kesho-workshop-product .kesho-workshop-content {
    margin-top: 0 !important;
    padding-top: 28px !important;
}

/* Première section : juste un espace éditorial léger. */
body.kesho-workshop-product .kesho-workshop-intro {
    padding-top: 38px !important;
}

/* Si le thème place les tabs dans un conteneur avec un clear */
body.kesho-workshop-product .woocommerce-tabs {
    clear: both;
}

@media (max-width:700px) {
    body.kesho-workshop-product .kesho-workshop-content {
        padding-top: 18px !important;
    }
    body.kesho-workshop-product .kesho-workshop-intro {
        padding-top: 28px !important;
    }
}


/* ==========================================================
   Keshō — Ateliers v1.4
   Places restantes + politique d'annulation
   ========================================================== */

.kesho-workshop-live-stock {
  display:flex;
  align-items:center;
  gap:9px;
  margin:-8px 0 24px;
  min-height:22px;
  color:#806451;
  font-family:var(--sans,Arial,sans-serif);
  font-size:.72rem;
  font-weight:500;
}

.kesho-stock-dot {
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:currentColor;
  opacity:.72;
}

.kesho-workshop-live-stock.is-low {
  color:#8a5d3b;
}

.kesho-workshop-live-stock.is-sold-out {
  color:#7a4944;
}

.kesho-workshop-live-stock.is-unselected {
  color:rgba(41,37,34,.52);
}

.kesho-workshop-cancellation {
  display:grid;
  grid-template-columns:.75fr 1fr;
  gap:70px;
  margin-top:24px;
  padding:58px 0 8px;
  border-top:1px solid rgba(41,37,34,.10);
}

.kesho-workshop-cancellation-copy p {
  margin-top:0;
  margin-bottom:14px;
}

.kesho-workshop-cancellation-copy strong {
  color:#292522;
  font-weight:600;
}

@media (max-width:980px) {
  .kesho-workshop-cancellation {
    grid-template-columns:1fr;
    gap:28px;
  }
}
