/* Tarifs OOZWEB — surfaces ivoire, lavande et repères turquoise.
 * Inspiration : https://uiverse.io/Yaya12085/splendid-firefox-37
 * MIT License — Copyright (c) 2026 Yaya12085 (Yaya Mohamed)
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

/* Résumé des tarifs sur l’accueil. Détails dans styles-tarifs-page.css. */
#tarifs { --pricing-line:var(--line); --pricing-muted:var(--muted); position:relative; isolation:isolate; color:var(--text); background:radial-gradient(ellipse at 100% 0,#dce5ff7a,transparent 46%),radial-gradient(ellipse at 0 60%,#eee8ff70,transparent 42%),var(--paper); }
.pricing-icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.pricing-header { display:block; max-width:var(--max); margin:0 auto 34px; text-align:left; }
.pricing-header .section-title { max-width:none; margin:0; }
.pricing-header__summary { margin-top:16px; color:var(--muted); font-size:16px; line-height:1.7; }
.pricing-summary-count--mobile { display:none; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; max-width:var(--max); margin-inline:auto; }
.pricing-plan { display:flex; flex-direction:column; min-width:0; border:7px solid #fff; border-radius:25px; color:var(--text); background:linear-gradient(140deg,#eef2ff,#f0edff); box-shadow:0 14px 34px #4b58a713; overflow:hidden; }
.pricing-plan--essentiel { background:radial-gradient(ellipse at 100% 0,#c7dcff70,transparent 60%),linear-gradient(140deg,#eef1ff,#eae8ff); }
.pricing-plan--boutique { background:radial-gradient(ellipse at 100% 0,#bde9ec60,transparent 60%),linear-gradient(140deg,#eef4ff,#e9eefb); }
.pricing-card-body { padding:24px 25px 0; }
.pricing-plan-meta { display:flex; align-items:center; gap:8px; min-height:24px; margin-bottom:16px; }
.pricing-plan-symbol { flex:none; width:22px; height:22px; fill:none; stroke:var(--accent); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.pricing-kind { font-size:10px; line-height:1.5; font-weight:650; letter-spacing:.065em; text-transform:uppercase; }
.pricing-name { min-height:2.4em; margin:0 0 8px; font-family:var(--font-display); font-size:clamp(27px,2.15vw,32px); font-weight:700; line-height:1.2; letter-spacing:-.05em; }
.pricing-label { min-height:3.4em; margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.pricing-purchase { margin-top:20px; }
.pricing-price-caption { display:block; color:var(--muted); font-size:11px; line-height:1.6; }
.pricing-price { margin:4px 0 8px; color:var(--text); font-size:39px; font-weight:650; line-height:1.15; letter-spacing:-.05em; font-variant-numeric:lining-nums tabular-nums; white-space:nowrap; }
.pricing-price span { font-size:26px; }
.pricing-price-note { display:block; color:var(--muted); font-size:11px; line-height:1.6; }
.pricing-price-exclusions { min-height:3.2em; margin-top:2px; }
.pricing-scope { order:1; display:grid; gap:12px; margin:0; padding:22px 25px 25px; }
.pricing-scope > span { display:flex; align-items:baseline; flex-wrap:wrap; gap:0 4px; min-width:0; padding-left:22px; position:relative; color:var(--muted); font-size:13px; line-height:1.65; }
.pricing-scope > span::before { content:'✓'; position:absolute; left:0; top:0; color:var(--accent); font-weight:650; }
.pricing-scope strong { color:var(--text); font-size:inherit; font-weight:650; }
.pricing-scope small { font-size:inherit; }
.pricing-card-footer { order:2; display:grid; gap:9px; margin-top:auto; padding:0 25px 18px; }
.pricing-card-footer .btn-primary { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-width:0; min-height:48px; padding:12px; border-radius:9px; font-size:13px; text-align:center; }
.pricing-footer-note { min-height:3.2em; margin:0; color:var(--muted); font-size:11px; line-height:1.6; text-align:center; }
.pricing-plan-more { order:3; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:65px; margin:0 25px; padding-block:15px; border-top:1px solid var(--line); color:var(--text); font-size:13px; font-weight:600; line-height:1.6; text-decoration:none; }
.pricing-plan-more > span { flex:none; color:var(--accent); font-size:19px; }
.pricing-plan-more:hover { color:var(--accent); }
.pricing-plan-more:focus-visible,.pricing-services-list a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:5px; }
.pricing-home-note { max-width:var(--max); margin:20px auto 0; color:var(--muted); font-size:12px; line-height:1.8; }
.pricing-home-note a { color:var(--accent); text-underline-offset:3px; }
.pricing-services-preview { max-width:var(--max); margin:42px auto 0; display:grid; grid-template-columns:.9fr 1.35fr; gap:44px; padding:32px; border:1px solid var(--line); border-radius:24px; background:#ffffffb8; }
.pricing-services-intro .section-subtitle { margin-bottom:13px; }
.pricing-services-intro h3 { font-size:clamp(27px,2.5vw,36px); line-height:1.16; }
.pricing-services-intro h3 em { color:var(--accent); }
.pricing-services-intro p { max-width:390px; margin-top:16px; color:var(--muted); font-size:14px; line-height:1.8; }
.pricing-services-intro .btn-primary { margin-top:22px; min-height:48px; padding:12px 17px; font-size:13px; }
.pricing-services-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:center; gap:0 28px; list-style:none; }
.pricing-services-list li { min-width:0; border-bottom:1px solid var(--line); }
.pricing-services-list a { display:grid; grid-template-columns:23px minmax(0,1fr) 14px; align-items:center; gap:10px; min-height:82px; padding-block:16px; color:var(--text); font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; }
.pricing-services-list a:hover { color:var(--accent); }
.pricing-services-list svg { width:23px; height:23px; fill:none; stroke:var(--accent); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.pricing-services-list a > span:last-child { color:var(--accent); }
@media(min-width:1101px) { .pricing-name { min-height:0; } }
@media(min-width:761px) and (max-width:1099px) {
 .pricing-grid { gap:16px; }
 .pricing-plan { border-width:5px; border-radius:22px; }
 .pricing-card-body { padding:22px 18px 0; }
 .pricing-kind { font-size:9px; }
 .pricing-name { font-size:27px; }
 .pricing-label { font-size:13px; }
 .pricing-scope { padding-inline:18px; font-size:12px; }
 .pricing-scope > span { font-size:12px; }
 .pricing-card-footer { padding-inline:18px; }
 .pricing-card-footer .btn-primary { font-size:12px; }
 .pricing-plan-more { margin-inline:18px; font-size:12px; }
 .pricing-services-preview { gap:28px; padding:28px; }
 .pricing-services-list { gap:0 18px; }
 .pricing-services-list a { font-size:13px; }
}
@media(max-width:760px) {
 .pricing-header { margin-bottom:26px; }
 .pricing-header__summary { font-size:13px; }
 .pricing-summary-count--desktop { display:none; }
 .pricing-summary-count--mobile { display:inline; }
 .pricing-grid { grid-template-columns:1fr; gap:22px; }
 .pricing-plan { border-width:6px; border-radius:24px; }
 .pricing-name { min-height:0; font-size:31px; }
 .pricing-label { min-height:0; font-size:14px; }
 .pricing-price-exclusions { min-height:0; }
 .pricing-scope { gap:11px; }
 .pricing-footer-note { min-height:0; }
 .pricing-services-preview { margin-top:32px; grid-template-columns:1fr; gap:22px; padding:25px; border-radius:21px; }
 .pricing-services-intro h3 { font-size:29px; }
 .pricing-services-list { grid-template-columns:1fr; }
 .pricing-services-list a { min-height:62px; padding-block:13px; }
}
@media(max-width:359px) {
 .pricing-card-body { padding-inline:19px; }
 .pricing-scope,.pricing-card-footer { padding-inline:19px; }
 .pricing-plan-more { margin-inline:19px; }
 .pricing-services-preview { padding:22px 19px; }
 .pricing-services-intro .btn-primary { width:100%; gap:8px; padding-inline:10px; font-size:12px; }
}
