:root{--gold:#ffc400;--bg:#000;--text:#fff;--muted:#c8c8c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Raleway,Arial,sans-serif}.site-header{position:sticky;top:0;z-index:20;height:90px;background:#000;display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.logo{width:92px;height:72px;color:var(--gold);text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Georgia,serif;font-weight:700;line-height:.9}.logo small{font-size:10px}.logo em{font-size:7px;font-style:normal;margin-top:5px}.buy-cta{background:var(--gold);color:#000;text-decoration:none;border-radius:999px;padding:20px 38px;font-size:18px;white-space:nowrap}.hero{min-height:570px;display:grid;grid-template-columns:44% 56%;align-items:center;padding:2vw 6vw;background:radial-gradient(circle at 22% 45%,rgba(255,180,0,.2),transparent 25%)}.hero-image{height:470px}.placeholder-image,.cards-placeholder,.video-placeholder,.product-image{border:1px solid #2b2b2b;background:linear-gradient(135deg,#151515,#050505);display:flex;align-items:center;justify-content:center;color:#777;letter-spacing:.2em}.hero-copy h1{font-size:52px;line-height:1.15;margin:0 0 28px;font-weight:800}.hero-copy h1 span,.hero-copy strong,.challenge h2,.features strong,.quote span{color:var(--gold)}.hero-copy p{font-size:28px;line-height:1.45;max-width:760px}.gold-line{width:95px;height:4px;background:var(--gold);margin:25px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);max-width:1450px;margin:auto;padding:40px 4vw 55px}.steps article{text-align:center;padding:0 55px;border-right:1px solid #555}.steps article:last-child{border-right:0}.steps .icon,.challenge .icon{width:110px;height:110px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:48px;margin:0 auto 8px}.steps b{display:block;color:var(--gold);font-size:50px}.steps h2{font-size:28px}.steps p,.challenge p,.features span{color:#eee;font-size:21px;line-height:1.35}.challenge{max-width:1300px;margin:0 auto 70px;border:2px solid #b38a00;border-radius:18px;display:grid;grid-template-columns:160px 1fr 380px;align-items:center;padding:20px 30px}.challenge h2{font-size:31px}.cards-placeholder{height:190px}.marquee{background:#fff;color:#000;overflow:hidden;white-space:nowrap;padding:16px 0;font-weight:800;font-size:58px}.marquee div{display:inline-block;animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.video-section{padding:80px 5vw 30px}.video-placeholder{height:520px;max-width:1000px;margin:auto;border-radius:20px}.features{max-width:1300px;margin:35px auto 0;display:grid;grid-template-columns:repeat(4,1fr)}.features div{text-align:center;padding:15px 25px;border-right:1px solid #555}.features div:last-child{border-right:0}.features strong,.features span{display:block}.feature-icon{width:64px;height:64px;object-fit:contain;display:block;margin:0 auto 14px}.quote{padding:100px 6vw 120px;text-align:center;background:radial-gradient(circle at left,rgba(255,180,0,.18),transparent 20%),radial-gradient(circle at right,rgba(255,180,0,.18),transparent 20%)}.quote blockquote{font-family:Georgia,serif;font-size:52px;max-width:850px;margin:auto}.quote cite{display:block;color:var(--gold);font-size:22px;margin-top:30px}.site-footer{border-top:1px solid #252525;padding:60px 4vw 35px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;color:var(--gold)}.site-footer div{display:flex;flex-direction:column;gap:8px}.site-footer div:nth-child(2),.site-footer div:nth-child(3){text-align:center}.site-footer a{color:var(--gold);text-decoration:none}.copyright{grid-column:1/-1;text-align:center;margin-top:40px}.order-page,.simple-page{min-height:60vh;padding:80px 6vw}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.product-card{border:1px solid #333;padding:30px;border-radius:18px}

/* Image produit : 100% largeur et proportions conservées */
.product-image{
  width:100%;
  height:auto;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  overflow:visible;
  letter-spacing:normal;
}
.product-image img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.product-card form{margin-top:28px;padding-top:20px;border-top:1px solid var(--gold)}.product-card button,.order-page button{background:var(--gold);border:0;border-radius:999px;padding:16px 25px;font-weight:700;cursor:pointer}.contact-wrap{max-width:760px;margin:0 auto}.contact-form{margin-top:30px;display:grid;gap:18px}.contact-form label{display:grid;gap:8px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;background:#0d0d0d;color:#fff;border:1px solid #3a3a3a;border-radius:10px;padding:14px 16px;font:inherit}.contact-form textarea{min-height:180px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold)}.contact-form button{justify-self:start;background:var(--gold);color:#000;border:0;border-radius:999px;padding:15px 28px;font-weight:700;cursor:pointer}.contact-status{margin:20px 0;padding:14px 16px;border-radius:10px}.contact-status.ok{border:1px solid #3b7d45;background:#102615}.contact-status.error{border:1px solid #8c3a3a;background:#2a1010}.inline{display:inline-block;margin-top:25px}@media(max-width:800px){.site-header{height:72px;padding:0 18px}.logo{width:70px;height:55px;font-size:12px}.buy-cta{padding:12px 18px;font-size:13px}.hero{grid-template-columns:1fr;padding:30px 22px}.hero-image{height:340px}.hero-copy h1{font-size:35px}.hero-copy p{font-size:20px}.steps{grid-template-columns:1fr}.steps article{border-right:0;border-bottom:1px solid #333;padding:35px 10px}.challenge{grid-template-columns:1fr;margin:20px;border-radius:14px;text-align:center}.challenge .icon{margin-bottom:15px}.cards-placeholder{margin-top:15px}.marquee{font-size:36px}.video-placeholder{height:300px}.features{grid-template-columns:1fr}.features div{border-right:0;border-bottom:1px solid #333}.quote blockquote{font-size:34px}.site-footer{grid-template-columns:1fr;text-align:center}.copyright{grid-column:auto}.product-grid{grid-template-columns:1fr}}

.hero-image img,.cards-placeholder img{width:100%;height:100%;object-fit:cover;display:block}.media-filled{padding:0;overflow:hidden}.book-video{width:100%;height:auto;display:block;background:#000}

.legal-page{padding-top:70px;padding-bottom:100px}.legal-content{max-width:1050px;margin:0 auto}.legal-content h1{color:var(--gold);font-size:clamp(34px,4vw,58px);margin:0 0 36px}.legal-text{font-size:18px;line-height:1.75;color:#e5e5e5;white-space:normal}.legal-empty{color:#999;font-style:italic}.legal-text a{color:var(--gold)}


/* Cartes défi : effet de relief avec débordement volontaire */

.challenge{
  position:relative;
  overflow:visible;
  min-height:175px;
  padding-right:430px;
}

.challenge .cards-placeholder{
  position:absolute;
  z-index:10;
  right:55px;
  top:-62px;
  width:370px;
  height:255px;
  margin:0;
  background:transparent;
  border:0;
  overflow:visible;
  pointer-events:none;
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.42));
}

.challenge .cards-placeholder img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

@media(max-width:1000px){
  .challenge{padding-right:300px}
  .challenge .cards-placeholder{right:20px;width:290px;height:220px;top:-42px}
}

@media(max-width:800px){
  .challenge{
    display:block;
    padding:28px 22px 0;
    min-height:0;
  }
  .challenge .cards-placeholder{
    position:relative;
    right:auto;
    top:auto;
    width:min(340px,92%);
    height:auto;
    aspect-ratio:1.55/1;
    margin:18px auto -48px;
  }
}


/* Correctifs vidéo + bloc cartes défi */

.video-section{padding:80px 5vw 30px}

.video-container{position:relative;width:min(100%,1000px);aspect-ratio:16/9;margin:0 auto;border:1px solid #333;border-radius:20px;overflow:hidden;background:#000}

.video-container iframe,.video-container video{display:block;width:100%;height:100%;border:0;object-fit:contain}

.video-container .video-placeholder{width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0}

.challenge{position:relative;max-width:1300px;margin:25px auto 70px;border:1px solid var(--gold);border-radius:18px;display:grid;grid-template-columns:160px 1fr 380px;align-items:center;min-height:125px;padding:12px 30px;overflow:visible}

.challenge .icon{width:100px;height:100px;margin:0 auto;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:45px}

.challenge h2{font-size:31px;line-height:1.1;margin:0 0 12px}

.challenge p{margin:0}

.challenge .cards-placeholder{position:absolute;z-index:10;right:55px;top:-75px;width:370px;height:255px;margin:0;background:transparent;border:0;overflow:visible;pointer-events:none;filter:drop-shadow(0 16px 18px rgba(0,0,0,.42))}

.challenge .cards-placeholder img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}

@media(max-width:1000px){.challenge{grid-template-columns:130px 1fr 290px}.challenge .cards-placeholder{right:20px;top:-55px;width:290px;height:220px}}

@media(max-width:800px){.video-section{padding:50px 20px 25px}.challenge{display:block;margin:30px 20px 75px;padding:25px 22px 15px;min-height:0;text-align:center}.challenge .icon{margin:0 auto 18px}.challenge .cards-placeholder{position:relative;right:auto;top:auto;width:min(340px,92%);height:auto;aspect-ratio:1.55/1;margin:20px auto -60px}}


/* =========================================================
   PICTO GAUCHE — BLOC CARTES DÉFI
   ========================================================= */

.challenge .icon {
  overflow:hidden;
}

.challenge .icon .challenge-icon-image,
.challenge-icon-image {
  width:72%;
  height:72%;
  object-fit:contain;
  object-position:center;
  display:block;
  margin:auto;
}

/* =========================================================
   PAGE COMMANDER — IMAGE PRODUIT ENTIÈRE ET RESPONSIVE
   ========================================================= */

.product-card .product-image {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    display: block;
    overflow: visible;

    background: transparent;
    border: 0;
}

.product-card .product-image img {
    display: block;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    max-height: none !important;

    object-fit: contain !important;
    object-position: center;
}

/* Page de commande structurée */
.checkout-page{max-width:1500px;margin:0 auto;padding:36px 30px 80px}.checkout-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.checkout-title span{color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.16em}.checkout-title h1{font-size:34px;margin:6px 0 0}.secure-pill{background:var(--gold);color:#000;border-radius:999px;padding:15px 24px;font-size:13px;font-weight:800}.checkout-layout{display:grid;grid-template-columns:minmax(380px,.85fr) minmax(520px,1.35fr);background:#f7f7f5;color:#151515;border-radius:16px;overflow:hidden;box-shadow:0 20px 65px rgba(0,0,0,.35)}.checkout-summary{padding:34px;background:#f1f1ef;border-right:1px solid #d8d8d5}.checkout-card,.checkout-benefits{background:#fff;border:1px solid #ddd;border-radius:13px;padding:25px;margin-bottom:20px}.checkout-card h2{font-size:17px;text-transform:uppercase;margin:0 0 22px}.summary-product{display:grid;grid-template-columns:130px 1fr auto;gap:18px;align-items:center;padding-bottom:22px;border-bottom:1px solid #ddd}.summary-image{height:135px;border:1px solid #ddd;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#888;font-size:11px;overflow:hidden}.summary-image img{width:100%;height:100%;object-fit:contain}.summary-copy h3{font-size:16px;margin:0 0 7px}.summary-copy p{font-size:14px;color:#555;margin:0 0 16px}.summary-copy label{font-size:13px;font-weight:700}.quantity-control{display:grid;grid-template-columns:36px 45px 36px;width:max-content;margin-top:7px;border:1px solid #d7d7d7;border-radius:8px;overflow:hidden}.quantity-control button{border:0;background:#f6f6f6;font-size:20px;cursor:pointer}.quantity-control input{width:45px;border:0;text-align:center;background:#fff;font-weight:700;appearance:textfield}.product-total{align-self:end;padding-bottom:7px}.price-lines{padding:17px 0 10px;border-bottom:1px solid #ddd}.price-lines div,.grand-total{display:flex;justify-content:space-between;gap:15px;padding:8px 0}.grand-total{font-size:20px;padding:22px 0 0}.relay-selected{display:flex;gap:16px;align-items:flex-start}.relay-selected .pin{display:grid;place-items:center;background:#fff4ca;color:#000;border-radius:50%;width:46px;height:46px}.relay-selected p{margin:6px 0;line-height:1.5}.secondary-button{border:1px solid #222;background:#fff;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.checkout-benefits p{display:grid;grid-template-columns:30px 1fr;column-gap:10px;margin:16px 0}.checkout-benefits p span{grid-row:1/3;background:#fff1c2;color:#8b6900;border-radius:50%;width:26px;height:26px;display:grid;place-items:center}.checkout-benefits small{color:#555;margin-top:3px}.checkout-form-panel{padding:38px 45px;background:#fff}.form-section{padding-bottom:28px;margin-bottom:29px;border-bottom:1px solid #e4e4e4}.form-section h2{font-size:18px;margin:0 0 8px;text-transform:uppercase}.form-section h2>span{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:10px;border-radius:50%;background:#111;color:#fff}.form-section>p{color:#666;margin:0 0 20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}.field-grid label{font-size:13px;font-weight:700;color:#444}.field-grid label.wide{grid-column:1/-1}.field-grid input,.relay-search input{width:100%;height:50px;margin-top:7px;padding:0 14px;border:1px solid #ccd0d4;border-radius:8px;background:#fff;color:#111;font:inherit}.field-grid input:focus,.relay-search input:focus{outline:2px solid rgba(255,196,0,.3);border-color:#d8a600}.delivery-options{display:grid;gap:12px}.delivery-option{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid #d8d8d8;border-radius:10px;padding:17px;cursor:pointer}.delivery-option.selected{border:2px solid #e2ad00;background:#fffaf0}.delivery-option input{accent-color:#111;width:18px;height:18px}.delivery-option span{display:grid;gap:4px}.delivery-option small{color:#666}.relay-search{display:grid;grid-template-columns:1fr 1.2fr auto;gap:10px}.relay-search input{margin:0}.relay-search button,.payment-button{border:0;background:var(--gold);color:#000;border-radius:9px;padding:0 20px;font-weight:800;cursor:pointer}.relay-message{margin:16px 0;color:#555}.relay-results{display:grid;gap:9px;max-height:350px;overflow:auto}.relay-result{display:grid!important;gap:4px!important;text-align:left!important;background:#fff!important;color:#111!important;border:1px solid #ccc!important;border-radius:9px!important;padding:13px!important}.relay-result span{font-size:13px;color:#555}.relay-result.selected{border:2px solid #e2ad00!important;background:#fffaf0!important}.final-section{border:0;margin:0;padding:0}.terms{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px}.terms a{color:#111}.payment-button{width:100%;min-height:62px;font-size:19px}.payment-button:disabled{opacity:.7}.stripe-note{text-align:center!important;margin:16px 0 0!important;font-size:13px}.stripe-note strong{font-size:18px;color:#333}.checkout-empty{text-align:center;padding:80px}.checkout-empty a{color:var(--gold)}
@media(max-width:980px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{border-right:0;border-bottom:1px solid #ddd}.checkout-form-panel{padding:30px}.checkout-title{align-items:flex-start}.secure-pill{padding:12px 15px}}
@media(max-width:620px){.checkout-page{padding:22px 12px 55px}.checkout-title h1{font-size:25px}.secure-pill{font-size:10px}.checkout-summary,.checkout-form-panel{padding:19px}.summary-product{grid-template-columns:90px 1fr}.product-total{grid-column:2}.summary-image{height:105px}.field-grid,.relay-search{grid-template-columns:1fr}.field-grid label.wide{grid-column:auto}.delivery-option{grid-template-columns:auto 1fr}.delivery-option b{grid-column:2}.checkout-card{padding:18px}}

/* Alignement du slogan sous le logo, notamment sur smartphone. */
.logo em{
  width:max-content;
  max-width:none;
  text-align:center;
  white-space:nowrap;
  align-self:center;
}
