/* A quiet, comparative layout for the public offers page only. */
body[data-route='/tarifs'] .cta-block .btn { max-width: 100%; white-space: normal; padding-inline: 16px; }
body[data-route='/tarifs'] .cta-block { border-radius: 6px; padding: 48px 24px; }
body[data-route='/tarifs'] .cta-block::before { display: none; }
body[data-route='/tarifs'] .section--pricing-hero {
    padding: 124px 0 64px;
}

body[data-route='/tarifs'] .section-header {
    text-align: left;
    max-width: none;
    margin: 0 0 28px;
}

body[data-route='/tarifs'] .pricing-editorial-intro {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    column-gap: 72px;
    align-items: end;
    margin-bottom: 34px;
}

body[data-route='/tarifs'] .pricing-editorial-intro .section-label {
    grid-column: 1 / -1;
    margin-bottom: 12px;
}

body[data-route='/tarifs'] .section-title {
    font-size: clamp(2.5rem, 4.3vw, 3.5rem);
    line-height: 1.1;
    letter-spacing: -.025em;
    margin: 0;
}

body[data-route='/tarifs'] .pricing-intro {
    max-width: 540px;
    margin: 14px 0 0;
    text-align: left;
    color: #c0bab0;
    font-size: 1rem;
    line-height: 1.65;
}

body[data-route='/tarifs'] .pricing-editorial-intro .pricing-intro {
    max-width: 420px;
    margin-bottom: 4px;
}

body[data-route='/tarifs'] .pricing-billing-heading {
    display: flex;
    align-items: baseline;
    gap: 20px;
    margin-bottom: 12px;
}

body[data-route='/tarifs'] .pricing-billing-heading h2 {
    font-family: inherit;
    font-size: .9rem;
    font-weight: 600;
    color: #f0ece4;
}

body[data-route='/tarifs'] .pricing-billing-heading p {
    font-size: .85rem;
    color: #b7b0a5;
}

body[data-route='/tarifs'] .pricing-billing-options {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 16px;
    align-items: start;
}

body[data-route='/tarifs'] .billing-selector {
    max-width: none;
    width: 100%;
    margin: 0;
    gap: 8px;
}

body[data-route='/tarifs'] .pricing-billing-primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-route='/tarifs'] .billing-choice {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-column: auto;
    align-items: center;
    gap: 2px 8px;
    padding: 12px 14px;
    min-height: 74px;
    border: 1px solid #4b453b;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
}

body[data-route='/tarifs'] .billing-choice.is-selected {
    border-color: #c8a96e;
    background: #1c1915;
    box-shadow: none;
}

body[data-route='/tarifs'] .billing-choice:hover {
    border-color: #c8a96e;
    background: #19181a;
}

body[data-route='/tarifs'] .billing-choice-title {
    font-size: .87rem;
    line-height: 1.4;
}

body[data-route='/tarifs'] .billing-choice-detail {
    grid-column: 1;
    font-size: .8rem;
    line-height: 1.5;
    color: #b7b0a5;
}

body[data-route='/tarifs'] .billing-choice .billing-choice-saving {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    margin: 0;
    padding: 0;
    color: #d4b981;
    background: none;
    font-size: .8rem;
}

body[data-route='/tarifs'] .pricing-prepaid {
    min-width: 0;
    border-bottom: 1px solid #4b453b;
}

body[data-route='/tarifs'] .pricing-prepaid summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 74px;
    padding: 12px 10px;
    list-style: none;
    cursor: pointer;
}

body[data-route='/tarifs'] .pricing-prepaid summary::-webkit-details-marker { display: none; }
body[data-route='/tarifs'] .pricing-prepaid summary strong {
    display: block;
    color: #f0ece4;
    font-size: .9rem;
    font-weight: 500;
}

body[data-route='/tarifs'] .pricing-prepaid summary span span {
    display: block;
    color: #b7b0a5;
    font-size: .8rem;
    margin-top: 3px;
}

body[data-route='/tarifs'] .pricing-prepaid-arrow { color: #c8a96e; font-size: 1.3rem; }
body[data-route='/tarifs'] .pricing-prepaid[open] .pricing-prepaid-arrow { transform: rotate(180deg); }
body[data-route='/tarifs'] .pricing-billing-prepaid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 2px 0 12px;
}

body[data-route='/tarifs'] .pricing-billing-prepaid .billing-choice {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 10px;
    gap: 4px;
}

body[data-route='/tarifs'] .pricing-billing-prepaid .billing-choice-saving { align-self: flex-start; }
body[data-route='/tarifs'] .billing-selection-note {
    margin: 10px 0 24px;
    padding: 0;
    text-align: left;
    font-size: .8rem;
    color: #b7b0a5;
}

body[data-route='/tarifs'] .promo-banner {
    background: #1c1915;
    border: 1px solid #665439;
    box-shadow: none;
    border-radius: 6px;
}

body[data-route='/tarifs'] .pricing-packs-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: none;
    gap: 14px;
    margin: 0;
}

body[data-route='/tarifs'] .pricing-pack-card {
    padding: 24px 20px 20px;
    border: 1px solid #39362f;
    border-radius: 6px;
    background: #131316;
    box-shadow: none;
    transition: border-color .2s;
}

body[data-route='/tarifs'] .pricing-pack-card:hover {
    transform: none;
    border-color: #71634b;
    box-shadow: none;
}

body[data-route='/tarifs'] .pricing-pack-card--featured { border-color: #a88a54; }
body[data-route='/tarifs'] .pricing-pack-header {
    position: relative;
    min-height: 106px;
    margin: 0;
    padding-top: 20px;
}

body[data-route='/tarifs'] .pricing-pack-badge {
    position: absolute;
    top: -7px;
    left: 0;
    transform: none;
    padding: 0;
    border-radius: 0;
    background: none;
    color: #c8a96e;
    font-size: .71rem;
    line-height: 1.5;
    letter-spacing: .06em;
}

body[data-route='/tarifs'] .pricing-pack-name {
    font-size: 1.65rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 8px;
}

body[data-route='/tarifs'] .pricing-pack-desc {
    color: #bfb8ab;
    font-size: .86rem;
    line-height: 1.55;
}

body[data-route='/tarifs'] .pricing-pack-price {
    flex: 0 0 auto;
    justify-content: flex-start;
    gap: 9px;
    margin: 18px 0;
    padding: 0;
    border: 0;
}

body[data-route='/tarifs'] .pricing-pack-amount .price-amount {
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1;
}

body[data-route='/tarifs'] .pricing-pack-amount .price-period {
    margin-top: 5px;
    font-size: .85rem;
    color: #bfb8ab;
}

body[data-route='/tarifs'] .pricing-charge,
body[data-route='/tarifs'] .pricing-billing-note {
    font-size: .81rem;
    line-height: 1.55;
    color: #bfb8ab;
}

body[data-route='/tarifs'] .pricing-pack-capacity {
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid #39362f;
}

body[data-route='/tarifs'] .pricing-capacity { font-size: .83rem; margin-bottom: 12px; color: #bfb8ab; }
body[data-route='/tarifs'] .pricing-capacity strong { font-size: 1.06rem; font-weight: 500; }
body[data-route='/tarifs'] .pricing-pack-credits { gap: 3px 12px; margin: 0 0 22px; }
body[data-route='/tarifs'] .pricing-pack-credit { padding: 0; background: none; border-radius: 0; font-size: .84rem; }
body[data-route='/tarifs'] .pricing-pack-card > .btn { min-height: 48px; font-size: .9rem; }
body[data-route='/tarifs'] .pricing-card-note { margin-top: 10px; font-size: .77rem; }

body[data-route='/tarifs'] .pricing-reassurance { margin-top: 24px; }
body[data-route='/tarifs'] .trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    max-width: none;
}

body[data-route='/tarifs'] .trust-strip li { padding: 0; border: 0; border-radius: 0; background: none; font-size: .81rem; line-height: 1.6; color: #b7b0a5; }
body[data-route='/tarifs'] .pricing-payment-methods { justify-content: flex-start; flex-wrap: wrap; margin: 18px 0 0; gap: 10px; }
body[data-route='/tarifs'] .pricing-payment-label { font-size: .8rem; color: #b7b0a5; margin-right: 4px; }
body[data-route='/tarifs'] .payment-badge { border-radius: 4px; padding: 5px 10px; font-size: .8rem; }
body[data-route='/tarifs'] .pricing-terms-note {
    max-width: none;
    margin: 24px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid #39362f;
    text-align: left;
    font-size: .85rem;
    line-height: 1.75;
    color: #bfb8ab;
}

body[data-route='/tarifs'] .pricing-terms-note p { max-width: 1000px; }
body[data-route='/tarifs'] .pricing-all-included {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    max-width: none;
    margin: 46px 0 0;
    padding-top: 34px;
    border-top: 1px solid #39362f;
    text-align: left;
}

body[data-route='/tarifs'] .pricing-all-included h2 {
    font-family: var(--font-serif);
    font-size: 1.85rem;
    font-weight: 400;
    line-height: 1.3;
    color: #f0ece4;
}

body[data-route='/tarifs'] .pricing-included-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
body[data-route='/tarifs'] .pricing-included-item { padding: 0; align-items: flex-start; background: none; border: 0; border-radius: 0; font-size: .88rem; line-height: 1.55; }
body[data-route='/tarifs'] .section--packs { padding: 54px 0 64px; border-top: 1px solid #39362f; background: #131316; }
body[data-route='/tarifs'] .section--packs .section-header { margin-bottom: 20px; }
body[data-route='/tarifs'] .pricing-unit-shared { color: #bfb8ab; font-size: .88rem; line-height: 1.65; margin-bottom: 28px; }
body[data-route='/tarifs'] .pricing-unit-list { display: block; max-width: none; }
body[data-route='/tarifs'] .pricing-unit-list .plan-card {
    display: grid;
    grid-template-columns: 1.1fr .85fr 1.05fr .8fr;
    align-items: center;
    gap: 24px;
    padding: 26px 0;
    border: 0;
    border-top: 1px solid #494239;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

body[data-route='/tarifs'] .pricing-unit-list .plan-header { margin: 0; }
body[data-route='/tarifs'] .pricing-unit-list .plan-icon { display: none; }
body[data-route='/tarifs'] .pricing-unit-list .plan-name { font-size: 1.6rem; font-weight: 400; }
body[data-route='/tarifs'] .pricing-unit-list .plan-desc { font-size: .86rem; color: #bfb8ab; }
body[data-route='/tarifs'] .pricing-unit-list .plan-price { flex-wrap: wrap; padding: 0; margin: 0; border: 0; gap: 4px; }
body[data-route='/tarifs'] .pricing-unit-list .price-amount { font-size: 2rem; font-weight: 400; }
body[data-route='/tarifs'] .pricing-unit-list .price-period { flex-basis: 100%; margin: 4px 0 0; font-size: .85rem; color: #bfb8ab; }
body[data-route='/tarifs'] .pricing-unit-list .plan-features { margin: 0; gap: 6px; }
body[data-route='/tarifs'] .pricing-unit-list .plan-features li { font-size: .85rem; line-height: 1.55; }
body[data-route='/tarifs'] .pricing-unit-list .btn { white-space: normal; min-height: 48px; font-size: .85rem; padding: 12px; }
body[data-route='/tarifs'] .section--faq { padding: 64px 0; background: #0b0b0f; }
body[data-route='/tarifs'] .section--faq .container { display: grid; grid-template-columns: 1fr 1.5fr; gap: 56px; }
body[data-route='/tarifs'] .section--faq .section-title { font-size: 2.5rem; }
body[data-route='/tarifs'] .faq-list { width: 100%; max-width: none; margin: 0; }
body[data-route='/tarifs'] .faq-question { gap: 20px; min-height: 54px; line-height: 1.5; font-size: .98rem; }
body[data-route='/tarifs'] .faq-answer p { font-size: .94rem; line-height: 1.75; }
body[data-route='/tarifs'] .faq-item.open .faq-answer { max-height: none; }
body[data-route='/tarifs'] .faq-item.open .faq-icon { transform: none; }
body[data-route='/tarifs'] .billing-choice:focus-visible,
body[data-route='/tarifs'] .pricing-prepaid summary:focus-visible,
body[data-route='/tarifs'] .faq-question:focus-visible { outline: 2px solid #d4b981; outline-offset: 4px; }

@media (max-width: 1100px) {
    body[data-route='/tarifs'] .pricing-packs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    body[data-route='/tarifs'] .pricing-pack-header { min-height: 94px; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-card { grid-template-columns: 1fr .75fr 1fr; gap: 22px; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-card > .btn { grid-column: 3; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-features { grid-column: 3; grid-row: 1; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-header { grid-row: 1 / 3; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-price { grid-row: 1 / 3; }
    body[data-route='/tarifs'] .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
    body[data-route='/tarifs'] .pricing-editorial-intro { gap: 0 30px; }
    body[data-route='/tarifs'] .pricing-billing-options { grid-template-columns: 1fr; gap: 4px; }
    body[data-route='/tarifs'] .pricing-prepaid summary { min-height: 58px; padding-left: 0; }
    body[data-route='/tarifs'] .pricing-prepaid summary strong { font-size: .88rem; }
    body[data-route='/tarifs'] .pricing-all-included { grid-template-columns: 1fr; gap: 24px; }
    body[data-route='/tarifs'] .section--faq .container { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 600px) {
    body[data-route='/tarifs'] .section--pricing-hero { padding: 106px 0 42px; }
    body[data-route='/tarifs'] .pricing-editorial-intro { display: block; margin-bottom: 24px; }
    body[data-route='/tarifs'] .section-title { font-size: 2.5rem; line-height: 1.12; }
    body[data-route='/tarifs'] .pricing-intro { font-size: .94rem; line-height: 1.65; margin-top: 14px; }
    body[data-route='/tarifs'] .pricing-billing-heading { display: block; margin-bottom: 10px; }
    body[data-route='/tarifs'] .pricing-billing-heading p { margin-top: 3px; font-size: .8rem; }
    body[data-route='/tarifs'] .billing-choice { padding: 10px; grid-template-columns: 1fr auto; gap: 4px; }
    body[data-route='/tarifs'] .billing-choice-title { font-size: .82rem; }
    body[data-route='/tarifs'] .billing-choice-detail { font-size: .8rem; }
    body[data-route='/tarifs'] .pricing-billing-primary .billing-choice-saving { grid-column: 2; grid-row: 1 / 3; font-size: .8rem; }
    body[data-route='/tarifs'] .billing-selection-note { font-size: .8rem; margin: 10px 0 20px; }
    body[data-route='/tarifs'] .pricing-packs-grid { grid-template-columns: minmax(0, 1fr); max-width: none; gap: 16px; }
    body[data-route='/tarifs'] .pricing-pack-card { padding: 24px; }
    body[data-route='/tarifs'] .pricing-pack-header { min-height: 0; padding-top: 0; }
    body[data-route='/tarifs'] .pricing-pack-badge { position: static; margin-bottom: 8px; }
    body[data-route='/tarifs'] .pricing-pack-name { font-size: 1.75rem; }
    body[data-route='/tarifs'] .pricing-pack-desc { font-size: .94rem; line-height: 1.55; }
    body[data-route='/tarifs'] .pricing-pack-price { margin: 18px 0; }
    body[data-route='/tarifs'] .pricing-pack-amount .price-period { flex-basis: auto; font-size: .9rem; }
    body[data-route='/tarifs'] .pricing-pack-amount .price-amount { font-size: 2.8rem; }
    body[data-route='/tarifs'] .pricing-billing-note,
    body[data-route='/tarifs'] .pricing-charge { font-size: .87rem; }
    body[data-route='/tarifs'] .pricing-pack-capacity { padding-top: 16px; }
    body[data-route='/tarifs'] .pricing-capacity { font-size: .88rem; }
    body[data-route='/tarifs'] .pricing-pack-credit { font-size: .91rem; }
    body[data-route='/tarifs'] .trust-strip { gap: 18px; }
    body[data-route='/tarifs'] .trust-strip li { font-size: .82rem; }
    body[data-route='/tarifs'] .pricing-payment-label { flex-basis: 100%; }
    body[data-route='/tarifs'] .pricing-terms-note { font-size: .9rem; }
    body[data-route='/tarifs'] .pricing-all-included { margin-top: 30px; padding-top: 26px; }
    body[data-route='/tarifs'] .pricing-included-grid { grid-template-columns: 1fr; gap: 12px; }
    body[data-route='/tarifs'] .pricing-included-item { font-size: .93rem; }
    body[data-route='/tarifs'] .section--packs { padding: 40px 0; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-card { grid-template-columns: 1fr auto; gap: 18px; padding: 24px 0; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-header { grid-column: 1; grid-row: 1; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-price { grid-column: 2; grid-row: 1; max-width: 120px; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-features { grid-column: 1 / -1; grid-row: auto; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-card > .btn { grid-column: 1 / -1; font-size: .94rem; }
    body[data-route='/tarifs'] .pricing-unit-list .plan-features li { font-size: .91rem; }
    body[data-route='/tarifs'] .section--faq { padding: 44px 0; }
    body[data-route='/tarifs'] .section--faq .section-title { font-size: 2.25rem; }
    body[data-route='/tarifs'] .faq-question { font-size: .96rem; }
    body[data-route='/tarifs'] .faq-answer p { font-size: .94rem; }
}

@media (max-width: 370px) {
    body[data-route='/tarifs'] .pricing-billing-primary .billing-choice { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    body[data-route='/tarifs'] .pricing-billing-primary .billing-choice-saving { grid-column: 1; grid-row: auto; }
    body[data-route='/tarifs'] .trust-strip { grid-template-columns: 1fr; }
    body[data-route='/tarifs'] .pricing-billing-prepaid { gap: 5px; }
    body[data-route='/tarifs'] .pricing-billing-prepaid .billing-choice { padding: 9px 7px; }
    body[data-route='/tarifs'] .pricing-billing-prepaid .billing-choice-detail { font-size: .76rem; }
}

@media (prefers-reduced-motion: reduce) {
    body[data-route='/tarifs'] .billing-choice,
    body[data-route='/tarifs'] .pricing-pack-card,
    body[data-route='/tarifs'] .faq-answer { transition: none; }
}
