/* =====================================================================
   TramaLuz — Funnel (page de vente) — mobile-first, style "référence"
   ===================================================================== */
.funnel{--deal:#2E7D5B;overflow-x:hidden}

/* Distraction-free header when the funnel is the page */
body.tramaluz-funnel .site-header{background:#FBF6EE}
body.tramaluz-funnel .main-nav{display:none}
body.tramaluz-funnel .nav-toggle{display:none}
body.tramaluz-funnel .header-inner{justify-content:space-between}
body.tramaluz-funnel .site-header::after{content:"🔒 Paiement 100% sécurisé";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.8rem;font-weight:700;color:var(--sage-d);white-space:nowrap;pointer-events:none}
@media (max-width:680px){ body.tramaluz-funnel .site-header::after{display:none} }

/* ---------- HERO ---------- */
.fn-hero{background:linear-gradient(180deg,#FFFDF9,#FBF6EE);padding:20px 0 26px;border-bottom:1px solid var(--border)}
.fn-hero-grid{display:grid;grid-template-columns:1fr;gap:24px}

.fn-gallery{position:relative}
.fn-main-img{position:relative;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-md)}
.fn-main-img img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.fn-savepill{position:absolute;top:14px;right:14px;background:var(--terra);color:#fff;font-weight:800;font-size:.95rem;padding:9px 14px;border-radius:999px;box-shadow:0 8px 18px rgba(197,106,78,.35)}
.fn-thumbs{display:flex;gap:9px;margin-top:11px;overflow-x:auto;padding-bottom:4px}
.fn-thumb{flex:0 0 auto;width:64px;height:64px;border-radius:11px;overflow:hidden;border:2px solid var(--border);background:#fff;cursor:pointer;padding:0}
.fn-thumb img{width:100%;height:100%;object-fit:cover}
.fn-thumb.is-active{border-color:var(--terra)}
.fn-gallery-trust{display:none}

/* Offer column */
.fn-offer .eyebrow{margin-bottom:10px}
.fn-title{font-size:clamp(1.6rem,6vw,2.4rem);line-height:1.14;margin:0 0 10px}
.fn-rating{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;color:var(--muted);font-size:.92rem}
.fn-rating .stars{font-size:1.02rem}

.fn-priceline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.fn-now{font-family:var(--serif);font-weight:700;color:var(--deal);font-size:2.2rem;line-height:1}
.fn-now .woocommerce-Price-amount{color:var(--deal)}
.fn-was{color:var(--muted);text-decoration:line-through;font-size:1.15rem}
.fn-badge-save{background:#EAF4EE;color:var(--deal);font-weight:800;font-size:.8rem;padding:5px 11px;border-radius:999px}

.fn-bullets{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.fn-bullets li{display:flex;align-items:flex-start;gap:10px;font-weight:600;color:#463c34;font-size:1rem}
.fn-bullets svg{color:var(--sage-d);flex:none;margin-top:1px}

.fn-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.fn-tags span{background:#F3E7D6;color:#6b5f54;font-weight:700;font-size:.78rem;padding:6px 12px;border-radius:999px}

.fn-timer{display:flex;align-items:center;gap:9px;background:#FBEAE1;border:1px solid #F0CDBD;color:var(--terra-d);font-weight:700;padding:11px 16px;border-radius:12px;margin-bottom:16px;font-size:.96rem}
.fn-timer svg{flex:none}
.fn-clock{font-variant-numeric:tabular-nums;background:var(--terra-d);color:#fff;padding:3px 8px;border-radius:7px;margin-left:2px}

/* Offer stack */
.fn-offers{display:grid;gap:13px;margin-bottom:16px}
.fn-o{position:relative;display:block;background:#fff;border:2px solid var(--border-2);border-radius:16px;padding:15px 16px;cursor:pointer;transition:border-color .15s ease, box-shadow .15s ease, background .15s ease}
.fn-o.has-badge{margin-top:13px}
.fn-o:hover{border-color:var(--terra)}
.fn-o.is-sel{border-color:var(--terra);background:#FFFBF7;box-shadow:0 10px 26px rgba(197,106,78,.14)}
.fn-o input{position:absolute;opacity:0;pointer-events:none}
.fn-o-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.fn-o-radio{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-2);flex:none;display:inline-block;position:relative;transition:.15s}
.fn-o.is-sel .fn-o-radio{border-color:var(--terra);background:var(--terra)}
.fn-o.is-sel .fn-o-radio::after{content:"";position:absolute;inset:5px;background:#fff;border-radius:50%}
.fn-o-label{font-weight:800;color:var(--ink);font-size:1.02rem;line-height:1.25}
.fn-o-price{text-align:right;white-space:nowrap}
.fn-o-old{display:block;color:var(--muted);text-decoration:line-through;font-size:.8rem}
.fn-o-now{display:block;font-family:var(--serif);font-weight:700;color:var(--deal);font-size:1.3rem}
.fn-o-badge{position:absolute;top:-12px;left:14px;background:var(--terra);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;box-shadow:0 6px 14px rgba(197,106,78,.3)}
.fn-o.has-badge.is-sel .fn-o-badge{background:var(--terra-d)}
.fn-o-gifts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-2)}
.fn-o-gifts img{width:44px;height:44px;border-radius:8px;object-fit:cover;border:1px solid var(--border);background:var(--cream-2)}
.fn-o-gift-txt{font-style:normal;color:var(--sage-d);font-weight:700;font-size:.85rem}

.fn-buy{width:100%;font-size:1.12rem;padding:18px 22px;gap:.6em;background:var(--terra)}
.fn-buy .fn-buy-price{font-style:normal;font-weight:800;margin-left:auto;background:rgba(255,255,255,.22);padding:4px 12px;border-radius:999px}
.fn-buy .fn-buy-price .woocommerce-Price-amount{color:#fff}
.fn-secure-line{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:.85rem;margin:12px 0 0}
.fn-secure-line svg{color:var(--sage-d);flex:none}

.fn-pay{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:16px 0 8px}
.fn-pay span{background:#fff;border:1px solid var(--border);border-radius:7px;padding:6px 10px;font-size:.72rem;font-weight:800;color:#6b5f54}
.fn-guarantee{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--sage-d);font-weight:700;font-size:.9rem;margin:0}

/* ---------- REASSURANCE STRIP ---------- */
.fn-strip{background:var(--ink);color:#EADFD2}
.fn-strip .wrap{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;padding:16px 24px}
.fn-strip span{display:flex;align-items:center;gap:9px;font-weight:600;font-size:.9rem}
.fn-strip svg{color:var(--mustard);flex:none}

/* ---------- DESCRIPTION ---------- */
.fn-desc-sec{padding:44px 0}
.fn-desc-wrap{max-width:820px}
.fn-desc-wrap h2{text-align:center;margin-bottom:18px}
.fn-desc{position:relative;max-height:170px;overflow:hidden;color:#4d443c;transition:max-height .3s ease}
.fn-desc.is-open{max-height:1600px}
.fn-desc:not(.is-open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,var(--cream))}
.fn-showmore{display:block;margin:14px auto 0;background:none;border:0;color:var(--terra-d);font-weight:800;cursor:pointer;font-size:1rem}
.fn-showmore::after{content:" ↓"}
.fn-showmore.is-open::after{content:" ↑"}

/* ---------- WHAT'S INSIDE ---------- */
.fn-inside-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.fn-inside-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);text-align:center;padding-bottom:16px}
.fn-inside-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--cream-2)}
.fn-inside-card h3{font-size:1.05rem;margin:14px 0 2px}
.fn-inside-card span{color:var(--terra-d);font-weight:700;font-size:.86rem}

/* ---------- REVIEWS ---------- */
.fn-rev-head{display:grid;grid-template-columns:1fr;gap:22px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);margin-bottom:30px}
.fn-rev-score{text-align:center}
.fn-rev-score .n{font-family:var(--serif);font-size:3rem;font-weight:700;color:var(--ink);line-height:1}
.fn-rev-score .stars{font-size:1.2rem}
.fn-rev-score .c{color:var(--muted);font-size:.9rem;margin-top:4px}
.fn-rev-bars{display:grid;gap:7px}
.fn-bar{display:flex;align-items:center;gap:10px;font-size:.85rem}
.fn-bar .s{width:26px;color:var(--muted);font-weight:700}
.fn-bar .track{flex:1;height:9px;background:var(--cream-2);border-radius:999px;overflow:hidden}
.fn-bar .fill{display:block;height:100%;background:var(--star);border-radius:999px}
.fn-bar .p{width:38px;text-align:right;color:var(--muted)}
.fn-review-photo{width:100%;border-radius:12px;aspect-ratio:16/10;object-fit:cover;background:var(--cream-2)}

/* ---------- RECAP ---------- */
.fn-recap .cta-band .btn-primary{background:#fff;color:var(--terra-d)}
.fn-recap .cta-band .btn-primary:hover{background:#FBF3EA}

/* ---------- STICKY MOBILE BAR ---------- */
.fn-sticky{position:fixed;left:0;right:0;bottom:0;z-index:300;background:rgba(255,255,255,.98);border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(80,55,35,.12);display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .25s ease}
.fn-sticky.is-visible{transform:translateY(0)}
.fn-sticky-info{display:flex;flex-direction:column;line-height:1.1}
.fn-sticky-title{font-size:.88rem;color:var(--ink)}
.fn-sticky-price{font-family:var(--serif);font-weight:700;color:var(--deal);font-size:1.2rem}
.fn-sticky-price .woocommerce-Price-amount{color:var(--deal)}
.fn-sticky-btn{margin-left:auto;padding:14px 26px;font-size:1rem;white-space:nowrap}

/* Cart/checkout gift tags */
.tl-gift-tag{display:inline-block;background:#EAF0E2;color:var(--sage-d);font-weight:700;font-size:.72rem;padding:3px 9px;border-radius:999px;margin-left:6px;vertical-align:middle}
.tl-gift-free{color:var(--sage-d);font-weight:800}

/* ---------- DESKTOP ---------- */
@media (min-width:900px){
	.fn-hero{padding:40px 0 48px}
	.fn-hero-grid{grid-template-columns:1fr 1fr;gap:46px;align-items:start}
	.fn-gallery{position:sticky;top:96px}
	.fn-gallery-trust{display:flex;gap:22px;justify-content:center;margin-top:14px}
	.fn-gallery-trust span{display:flex;align-items:center;gap:8px;color:var(--sage-d);font-weight:700;font-size:.86rem}
	.fn-gallery-trust svg{flex:none}
	.fn-title{font-size:clamp(2rem,3vw,2.7rem)}
	.fn-thumb{width:78px;height:78px}
	.fn-inside-grid{grid-template-columns:repeat(3,1fr);gap:24px}
	.fn-rev-head{grid-template-columns:220px 1fr;gap:40px;padding:30px 34px}
	.fn-sticky{display:none}
}
@media (max-width:899px){ body.tramaluz-funnel{padding-bottom:74px} }
@media (max-width:420px){
	.fn-o-head{grid-template-columns:auto 1fr}
	.fn-o-price{grid-column:2;text-align:left;margin-top:2px}
	.fn-o-now{font-size:1.12rem}
	.fn-now{font-size:1.9rem}
}
