.packs-page { background:#0b0b0b; color:#fff; }
.btn{border:1px solid #ff4b1b !important}
.packs-page .wrap { width:min(1280px,calc(100% - 40px)); }
.packs-hero { min-height:100vh; padding:150px 0 55px; box-sizing:border-box; border-bottom:1px solid rgba(17,17,17,.13); background:radial-gradient(ellipse at 95% 40%,#ff4b1b22,transparent 55%),#080808; display:flex; align-items:center; }
.packs-hero__topline { display:flex; justify-content:space-between; gap:20px; font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:#ff4b1b; }
.packs-hero__grid { display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:65px; margin:50px 0; }
.packs-hero__count { color:#ff4b1b; font-size:18px; margin:0; }
.packs-page h1 { font-size:clamp(54px,6.8vw,108px); line-height:.95; letter-spacing:-.065em; text-transform:uppercase; margin:24px 0; }
.packs-page h1 span { color:transparent; -webkit-text-stroke:1px #fff; }
.packs-page p { line-height:1.75; }
.packs-hero__intro > p:first-child { font-size:21px; }
.packs-hero__note { color:#bbb; font-size:14px; }
.packs-hero__facts { display:flex; flex-wrap:wrap; gap:24px; border-top:1px solid #ffffff30; padding-top:25px; font-size:12px; }
.packs-hero__facts b { color:#ff4b1b; margin-right:8px; }
.packs-page .btn { display:inline-flex; padding:18px 25px; border-radius:50px; background:#ff4b1b; color:#111; font-size:12px; font-weight:800; text-transform:uppercase; margin-top:16px; }
.packs-page .btn:hover { background:#fff; color:#111; }
.packs-picker { padding:70px 0 0; }
.packs-choices:not([hidden]) { display:flex; flex-wrap:wrap; gap:12px; }
.packs-choices button { padding:16px 22px; background:transparent; color:inherit; border:1px solid #777; border-radius:50px; font:inherit; cursor:pointer; }
.packs-choices button[aria-pressed="true"] { background:#ff4b1b; color:#111; border-color:#ff4b1b; }
.packs-choices button:hover {border:1px solid #ff4b1b !important; color:#ff4b1b}
.packs-intro { padding:65px 0 40px; }
.packs-intro__grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }
.packs-page h2 { font-size:clamp(30px,3vw,48px); line-height:1.05; letter-spacing:-.045em; }
.packs-intro h2 { text-transform:uppercase; }
.packs-list { padding-bottom:90px; }
.pack-card { position:relative; border-top:1px solid #ffffff40; padding:45px 0; scroll-margin-top:110px; transition:box-shadow .25s; }
.pack-card.is-selected { box-shadow:inset 4px 0 #ff4b1b; padding-left:24px; }
.pack-card__header { display:flex; justify-content:space-between; gap:30px; }
.pack-card__number,.eyebrow { color:#ff4b1b; text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:.1em; }
.pack-card__header h2 { margin:18px 0 12px; }
.pack-card__price { white-space:nowrap; display:flex; flex-direction:column; justify-content:center; }
.pack-card__price strong { font-size:clamp(32px,4vw,64px); letter-spacing:-.05em; }
.pack-card__price span { font-size:13px; color:#bbb; }
.pack-card__badge { display:inline-block; padding:8px 14px; color:#111; background:#ff4b1b; margin-bottom:24px; font-size:12px; font-weight:800; }
.pack-card__body { display:grid; grid-template-columns:1.3fr 1fr; gap:70px; margin-top:20px; align-items:start; }
.pack-details summary { display:flex; justify-content:space-between; cursor:pointer; padding:20px 0; border-block:1px solid #ffffff30; font-weight:700; list-style:none; }
.pack-details summary::-webkit-details-marker { display:none; }
.pack-details[open] summary span { transform:rotate(45deg); }
.pack-features { list-style:none; padding:0; }
.pack-features li { padding:12px 0 12px 24px; position:relative; border-bottom:1px solid #ffffff20; font-size:14px; line-height:1.6; }
.pack-features li:before { content:'✓'; position:absolute; left:0; color:#ff4b1b; }
.pack-delay { display:grid; gap:8px; }
.pack-delay span,.pack-delay small { color:#bbb; }
.pack-delay strong { font-size:24px; }
.pack-card__summary p,.pack-card__lead { color:#bbb; font-size:15px; }
.pack-link { display:block; margin-top:15px; text-decoration:underline; }
.packs-trust { display:grid; grid-template-columns:1fr 1fr; gap:55px; margin-top:70px; align-items:center; }
.packs-trust__visual img { width:100%; aspect-ratio:1; object-fit:cover; }
.packs-trust__logos { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.packs-trust__logos > div { display:grid; gap:8px; }
.packs-trust__logos svg { width:28px; height:28px; stroke:#ff4b1b; fill:none; stroke-width:1.5; }
.packs-google,.packs-wp { color:#ff4b1b; font-size:28px; font-weight:800; }
.packs-booking { background:#ff4b1b; color:#111; padding:80px 0; }
.packs-booking__grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.packs-booking .eyebrow { color:#111; }
.packs-booking .btn { background:#111; color:#fff; }
.packs-page :is(a,button,summary):focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media(max-width:760px) {
.packs-hero { padding-top:125px; }
.packs-hero__grid,.packs-intro__grid,.pack-card__body,.packs-trust,.packs-booking__grid { grid-template-columns:1fr; gap:28px; }
.packs-hero__topline > span { display:none; }
.pack-card__header { flex-direction:column; }
.packs-trust__visual img { aspect-ratio:2; }
.packs-page h1 { font-size:clamp(45px,10vw,72px); }
}
@media(prefers-reduced-motion:reduce) { .pack-card { transition:none; } }

/* Présentation en cartes, typographie et contrastes de la V2. */
.packs-page { background:#fff; color:#111; }
.packs-page .eyebrow::before { display:none; }
.packs-page h1 { font:1000 clamp(4rem,7.6vw,8rem)/.82 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.075em; }
.packs-page h1 span { -webkit-text-stroke:2px #ff4b1b; }
.packs-hero { color:#fff; }
.packs-hero__grid { grid-template-columns:1.2fr 1fr; }
.packs-page :is(.packs-intro,.packs-trust,.packs-booking) h2 { font:700 clamp(3rem,5vw,6.8rem)/.87 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.065em; text-transform:uppercase; margin:20px 0 35px; }
.packs-page :is(.packs-intro,.packs-trust) h2 span { color:transparent; -webkit-text-stroke:1px #ff4b1b; }
.packs-page .packs-booking h2 span { color:transparent; -webkit-text-stroke:1px #111; }
.packs-picker { padding-top:85px; }
.packs-intro { padding:50px 0; }
.packs-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:start; }
.pack-card { padding:32px; border:1px solid #d6d6d6; background:#fff; color:#111; border-radius:4px; min-width:0; }
.pack-card.is-selected { padding:32px; box-shadow:0 0 0 2px #ff4b1b; }
.pack-card--featured { border:2px solid #ff4b1b; }
.pack-card__badge { margin:-32px -32px 28px; display:block; padding:12px 20px; text-align:center; }
.pack-card__header { display:flex; flex-direction:column; gap:24px; }
.packs-page .pack-card h2 { font:800 clamp(26px,2.4vw,36px)/1.05 Inter,ui-sans-serif,system-ui,sans-serif; text-transform:uppercase; letter-spacing:-.055em; min-height:76px; }
.pack-card__header p { font-size:15px; min-height:53px; }
.pack-card__price { padding:24px 0; border-block:1px solid #11111122; }
.pack-card__price strong { font-size:clamp(38px,3.8vw,56px); }
.pack-card__price span,.pack-delay span,.pack-delay small,.pack-card__summary p,.pack-card__lead { color:#555; }
.pack-card__body { display:flex; flex-direction:column-reverse; gap:28px; margin-top:28px; }
.pack-card__body > * { width:100%; }
.pack-card__summary p { min-height:105px; }
.pack-card__summary .btn { display:flex; width:100%; justify-content:center; box-sizing:border-box; padding-inline:12px; font-size:11px; letter-spacing:.06em; }
.packs-page .pack-card .btn:hover { background:#111; color:#fff; }
.pack-details summary { border-color:#11111122; font-size:14px; }
.pack-features li { border-color:#11111122; }
.pack-link { font-size:12px; color:#111; }
.pack-link:hover { color:#ff4b1b; }
.packs-trust { margin-top:110px; }
.packs-booking .btn:hover { background:#fff; color:#111; }
@media(max-width:1000px) { .packs-cards { grid-template-columns:1fr; max-width:680px; margin:auto; } .pack-card__header p,.packs-page .pack-card h2,.pack-card__summary p { min-height:0; } }
@media(max-width:760px) { .packs-hero__grid { grid-template-columns:1fr; } .packs-page h1 { font-size:clamp(52px,11vw,80px); } .packs-page h1 span { -webkit-text-stroke-width:1px; } .pack-card,.pack-card.is-selected { padding:26px; } .pack-card__badge { margin:-26px -26px 24px; } }
html[data-theme="light"] .packs-page .packs-hero h1 span { color:transparent; -webkit-text-stroke-color:#ff4b1b; }
.packs-hero__eyebrow { font-size:.76rem; font-weight:800; letter-spacing:.16em; line-height:1.6; }
.packs-page .agf2-latest { --agf2-orange:#ff4b1b; padding:clamp(80px,9vw,130px) 0; }
.packs-page .agf2-latest h2 { font:700 clamp(3rem,6vw,6.8rem)/.87 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.065em; text-transform:uppercase; overflow-wrap:anywhere; }
.packs-page .agf2-latest h2 span { color:transparent; -webkit-text-stroke:1px #ff4b1b; }
.packs-page .agf2-kicker { color:#ff4b1b; font-size:.76rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
/* Surtitres et points clés, dans la charte commune. */
.packs-hero__grid { margin-top:18px; }
.packs-hero h1 { margin-top:0; }
html[data-theme] body .packs-page .eyebrow { color:#ff4b1b; }
.packs-booking .eyebrow { display:inline-block; background:#111; padding:8px 12px; }
.packs-trust__logos > a { display:grid; gap:8px; color:inherit; }
.packs-trust__logos > a:hover strong { color:#ff4b1b; }
/* Espacements resserrés entre surtitres et titres. */
.packs-page .packs-intro__kicker { margin-bottom:22px; }
.packs-page .packs-intro h2 { margin-top:0; }
.packs-page .agf2-latest .agf2-kicker { margin-bottom:0; }
.packs-page .agf2-latest h2 { margin-top:12px; }
html[data-theme] body .packs-page .packs-booking .eyebrow { color:#111; background:transparent; padding:0; }

.packs-page #pack-choice-title { margin:0 0 22px; }


