/* ====== STACK 3D TOURNIQUET — Shared carousel ====== */
.stack3d{position:relative;max-width:1200px;margin:30px auto 0;padding:30px 80px 0;overflow:hidden}
.stack3d-track{position:relative;perspective:1200px;height:620px;touch-action:pan-y}
.stack3d-card{position:absolute;top:50%;left:50%;width:380px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:34px 30px;display:flex;flex-direction:column;transition:transform 0.55s cubic-bezier(0.4,0,0.2,1),opacity 0.4s ease,box-shadow 0.4s ease,border-color 0.4s ease;cursor:pointer;box-shadow:0 20px 50px rgba(0,0,0,0.08);will-change:transform,opacity;backface-visibility:hidden;transform:translate(-50%,-50%);color:var(--text);text-decoration:none}
.stack3d-card.is-prev{transform:translate(-50%,-50%) translateX(-175px) scale(0.62) rotateY(40deg) translateZ(-120px);opacity:0.55;z-index:1}
.stack3d-card.is-active{transform:translate(-50%,-50%) scale(1.08) translateZ(0);opacity:1;z-index:3;background:rgba(0,192,127,0.04);border:2px solid var(--accent);box-shadow:0 30px 80px rgba(0,192,127,0.18);cursor:default}
.stack3d-card.is-next{transform:translate(-50%,-50%) translateX(175px) scale(0.62) rotateY(-40deg) translateZ(-120px);opacity:0.55;z-index:1}
.stack3d-card.is-hidden{transform:translate(-50%,-50%) scale(0.4) translateZ(-300px);opacity:0;z-index:0;pointer-events:none}
.stack3d-card.is-prev *,.stack3d-card.is-next *{pointer-events:none}
.stack3d-card.is-prev,.stack3d-card.is-next{pointer-events:auto}
.stack3d-card.gold-card.is-active{background:rgba(255,184,0,0.05);border:2px solid #FFB800;box-shadow:0 30px 80px rgba(255,184,0,0.18)}
.stack3d-badge{position:absolute;top:-12px;right:20px;background:var(--accent);color:#fff;padding:5px 14px;border-radius:100px;font-size:0.7rem;font-weight:700;letter-spacing:0.1em;z-index:4;box-shadow:0 6px 20px rgba(0,192,127,0.35)}
.stack3d-badge.gold{background:#FFB800;color:#1a1a1a;box-shadow:0 6px 20px rgba(255,184,0,0.4)}
.stack3d-card.is-active{background:linear-gradient(155deg, rgba(0,192,127,0.06) 0%, rgba(0,192,127,0.015) 60%, var(--surface) 100%)}
.stack3d-card.gold-card.is-active{background:linear-gradient(155deg, rgba(255,184,0,0.07) 0%, rgba(255,184,0,0.02) 60%, var(--surface) 100%)}
.stack3d-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text);z-index:5;transition:all 0.2s;cursor:pointer;padding:0}
.stack3d-arrow:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-50%) scale(1.08)}
.stack3d-arrow.prev{left:0}
.stack3d-arrow.next{right:0}
.stack3d-arrow svg{width:22px;height:22px}
.stack3d-dots{display:flex;gap:10px;justify-content:center;margin-top:18px;padding-bottom:30px;flex-wrap:wrap}
.stack3d-dot{width:10px;height:10px;border-radius:50%;background:rgba(0,0,0,0.15);border:none;cursor:pointer;transition:all 0.3s;padding:0}
.stack3d-dot.active{background:var(--accent);transform:scale(1.3);box-shadow:0 0 14px rgba(0,192,127,0.5)}
.stack3d-hint{display:none;text-align:center;font-size:0.72rem;color:var(--text-2);letter-spacing:0.08em;text-transform:uppercase;margin:0;padding:0 16px 30px}
/* === Inner content styling (tarifs-card variant used across all service pages) === */
.stack3d-card .tarifs-card__name{font-size:1.15rem;font-weight:700;margin-bottom:10px;letter-spacing:-0.01em;line-height:1.3;color:var(--text)}
.stack3d-card .tarifs-card__price-label{font-size:0.72rem;color:var(--text-3,rgba(0,0,0,0.45));text-transform:uppercase;letter-spacing:0.14em;margin-bottom:6px;font-weight:600}
.stack3d-card .tarifs-card__price{font-family:var(--font-d);font-size:2.6rem;font-weight:800;margin-bottom:24px;letter-spacing:-0.02em;line-height:1;color:var(--text)}
.stack3d-card .tarifs-card__separator{height:1px;background:linear-gradient(90deg, transparent, var(--border) 30%, var(--border) 70%, transparent);margin-bottom:22px}
.stack3d-card .tarifs-card__features{list-style:none;display:flex;flex-direction:column;gap:13px;margin:0 0 26px;padding:0;flex:1}
.stack3d-card .tarifs-card__feature{font-size:0.9rem;line-height:1.5;color:var(--text-2);display:flex;align-items:flex-start;gap:11px}
.stack3d-card .tarifs-card__feature::before{content:"\2713";color:#fff;background:var(--accent);width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:0.68rem;font-weight:700;flex-shrink:0;margin-top:1px;line-height:1}
.stack3d-card.gold-card .tarifs-card__feature::before{background:#FFB800;color:#1a1a1a}
.stack3d-card .tarifs-card__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 18px;font-size:0.92rem;font-weight:700;letter-spacing:0.01em;border-radius:12px;background:linear-gradient(135deg, var(--accent) 0%, #00a06b 100%);color:#fff;text-decoration:none;border:none;cursor:pointer;font-family:inherit;width:100%;transition:transform 0.25s, box-shadow 0.25s;text-align:center;line-height:1}
.stack3d-card .tarifs-card__cta::after{content:"";width:18px;height:18px;flex-shrink:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 5l7 7-7 7'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform 0.3s;display:inline-block}
.stack3d-card .tarifs-card__cta:hover{transform:scale(1.02);box-shadow:0 14px 32px rgba(0,192,127,0.3)}
.stack3d-card .tarifs-card__cta:hover::after{transform:translateX(4px)}
.stack3d-card.gold-card .tarifs-card__cta{background:linear-gradient(135deg, #FFB800 0%, #e09f00 100%);color:#1a1a1a}
.stack3d-card.gold-card .tarifs-card__cta::after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 5l7 7-7 7'/></svg>")}
.stack3d-card.gold-card .tarifs-card__cta:hover{box-shadow:0 14px 32px rgba(255,184,0,0.35)}
.stack3d-card.gold-card.is-active{background:linear-gradient(155deg, rgba(255,184,0,0.07) 0%, rgba(255,184,0,0.02) 60%, var(--surface) 100%) !important;border-color:#FFB800}
@media(max-width:1199px){
    .stack3d{padding:20px 24px 0}
    .stack3d-track{height:600px}
    .stack3d-card{width:340px;padding:28px 24px}
    .stack3d-card.is-prev{transform:translate(-50%,-50%) translateX(-150px) scale(0.62) rotateY(40deg) translateZ(-120px);opacity:0.55}
    .stack3d-card.is-active{transform:translate(-50%,-50%) scale(1.08) translateZ(0)}
    .stack3d-card.is-next{transform:translate(-50%,-50%) translateX(150px) scale(0.62) rotateY(-40deg) translateZ(-120px);opacity:0.55}
    .stack3d-arrow{width:44px;height:44px}
    .stack3d-hint{display:block}
}
@media(max-width:767px){
    .stack3d{padding:24px 12px 0;perspective:1300px;overflow:visible}
    .stack3d-track{height:560px}
    .stack3d-card{width:250px;padding:22px 20px}
    .stack3d-card.is-prev{transform:translate(-50%,-50%) translateX(-145px) scale(0.66) rotateY(35deg) translateZ(-90px);opacity:0.6}
    .stack3d-card.is-next{transform:translate(-50%,-50%) translateX(145px) scale(0.66) rotateY(-35deg) translateZ(-90px);opacity:0.6}
    .stack3d-card.is-active{transform:translate(-50%,-50%) scale(1.06) translateZ(10px)}
    .stack3d-arrow{display:none}
    .stack3d-dots{margin-top:8px;padding-bottom:20px}
    .stack3d-hint{display:block;padding:0 16px 22px}
}
@media(max-width:380px){
    .stack3d-track{height:580px}
    .stack3d-card{width:220px;padding:22px 18px}
    .stack3d-card.is-prev{transform:translate(-50%,-50%) translateX(-125px) scale(0.62) rotateY(35deg) translateZ(-90px);opacity:0.55}
    .stack3d-card.is-next{transform:translate(-50%,-50%) translateX(125px) scale(0.62) rotateY(-35deg) translateZ(-90px);opacity:0.55}
}
@media(max-width:767px){
    .stack3d-card .tarifs-card__name{font-size:1.02rem;margin-bottom:8px}
    .stack3d-card .tarifs-card__price-label{font-size:0.66rem;margin-bottom:4px}
    .stack3d-card .tarifs-card__price{font-size:1.95rem;margin-bottom:16px}
    .stack3d-card .tarifs-card__separator{margin-bottom:16px}
    .stack3d-card .tarifs-card__features{gap:9px;margin-bottom:18px}
    .stack3d-card .tarifs-card__feature{font-size:0.8rem;line-height:1.4;gap:9px}
    .stack3d-card .tarifs-card__feature::before{width:15px;height:15px;font-size:0.58rem;margin-top:2px}
    .stack3d-card .tarifs-card__cta{padding:12px 14px;font-size:0.85rem;border-radius:10px}
}
