/* Compléments du design pour le vrai site (pages, articles, formulaires, extensions). */
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--accent);color:var(--accent-ink);padding:8px 14px;border-radius:10px;font-weight:700}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
img{max-width:100%;height:auto}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Ticker avec liens */
.tk-track a{color:var(--text-2)}
.tk-track a:hover{color:var(--accent)}
.tk-track a::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:12px;vertical-align:middle}

/* Pages */
.pg{padding-top:34px}
.wrap.narrow{max-width:820px}
.page-head{margin-bottom:22px;display:grid;gap:10px;justify-items:start}
.page-head h1{font-size:clamp(26px,4vw,38px);line-height:1.15;letter-spacing:-.03em;font-weight:800;text-wrap:balance}
.page-head .meta{color:var(--text-3);font-size:13.5px}
.lead-p{font-size:16px;color:var(--text-2);max-width:68ch;margin-bottom:20px}
.entry{font-size:16.5px;line-height:1.7;color:var(--text)}
.entry>*+*{margin-top:1em}
.entry h2{font-size:22px;letter-spacing:-.02em;margin-top:1.6em;line-height:1.25}
.entry h3{font-size:18px;margin-top:1.4em}
.entry ul,.entry ol{padding-left:1.3em}
.entry li+li{margin-top:.35em}
.entry a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.entry a.btn-p,.entry a.btn-g,.entry .pcard a,.entry .sector a,.entry .subs a,.entry .price,.entry .ncard,.entry .tv,.entry .more{text-decoration:none}
.entry a.btn-p,.entry a.btn-p:hover,.entry a.btn-p:visited{color:var(--accent-ink)}
.entry blockquote{border-left:3px solid var(--accent);padding-left:16px;color:var(--text-2)}
.entry img{border-radius:16px}
.entry table{width:100%;border-collapse:collapse}
.entry td,.entry th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.entry .a224-facts{list-style:none;padding:14px 16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:16px}
.hero-img{width:100%;border-radius:20px;margin-bottom:22px;aspect-ratio:16/9;object-fit:cover}
.a224-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:18px 0 26px}
.a224-cards>div{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px;display:grid;gap:4px}
.a224-cards b{font-size:16px}
.a224-cards span{color:var(--text-2);font-size:14px;line-height:1.45}
.empty,.empty-box{color:var(--text-2);font-size:15px}
.empty-box{border:1px dashed var(--line-strong);border-radius:20px;padding:22px;display:grid;gap:12px;justify-items:start;background:var(--bg-soft)}
.share{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:26px;font-size:14px;color:var(--text-2)}
.share a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:600;color:var(--text)}
.share a:hover{border-color:var(--accent);color:var(--accent)}
.btn-p,.btn-g{display:inline-flex;align-items:center;justify-content:center;gap:8px}

/* Grille de cartes (articles, recherche) */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.ncard{transition:box-shadow .2s,transform .2s}
.ncard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.ncard .thumb{background-size:cover;background-position:center;background-color:var(--surface-2)}
.ncard .thumb.ph{background:linear-gradient(135deg,var(--accent),var(--accent-strong) 60%,var(--gold))}
.ncard h3{font-size:15.5px;line-height:1.35;font-weight:700;letter-spacing:-.01em}
.ncard.lead h3{font-size:20px}
.ncard p{font-size:13.5px;color:var(--text-2)}
.ncard .src{font-size:12px;color:var(--text-3);font-weight:600}
.pager,.nav-links{display:flex;gap:10px;justify-content:center;margin-top:24px;flex-wrap:wrap}
.pager a,.nav-links a,.nav-links span{border:1px solid var(--line);border-radius:12px;padding:8px 14px;font-weight:600;background:var(--surface)}
.nav-links .current{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.a224-sform{display:flex;gap:8px;max-width:620px;width:100%}
.a224-sform input{flex:1;min-width:0;border:1.5px solid var(--line-strong);border-radius:14px;padding:11px 14px;background:var(--surface);color:var(--text);font:inherit}
.a224-sform button{background:var(--accent);color:var(--accent-ink);border-radius:14px;padding:0 18px;font-weight:700}

/* Partenaires : emplacement libre */
.pcard.empty{border-style:dashed;background:var(--bg-soft)}
.pcard.empty .pav{background:var(--accent-soft);color:var(--accent)}
.pcard.empty .foot span:last-child{font-size:13px;font-weight:700;color:var(--accent)}
.pcard .pav .ic{width:22px;height:22px}

/* Secteurs : en-tête cliquable */
.sector a.sh2{color:inherit}
.sector a.sh2:hover h3{color:var(--accent)}

/* Station */
.station-hero{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:18px;margin-bottom:22px}
.station-hero .rlogo{width:64px;height:64px;border-radius:18px;font-size:18px}
.station-hero b{display:block;font-size:18px}
.station-hero span{color:var(--text-2);font-size:14px}
.station-hero .pbtn{margin-left:auto}
.pbtn.big{width:58px;height:58px}
.video{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000;margin-bottom:22px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.soon{border:1px dashed var(--line-strong);border-radius:20px;padding:30px;text-align:center;color:var(--text-2);margin-bottom:22px;background:var(--bg-soft)}

/* Bandeau d'appel */
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--line);border-radius:24px;padding:22px 24px}
.cta-band h2{font-size:20px;letter-spacing:-.02em}
.cta-band p{color:var(--text-2);font-size:14px;margin-top:4px}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Change, météo, villes, contact */
.fx-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:12px}
.conv{display:grid;gap:8px}
.conv label{font-size:13px;font-weight:600;color:var(--text-2)}
.conv input,.conv select{border:1px solid var(--line-strong);border-radius:12px;padding:10px 12px;background:var(--bg-soft);color:var(--text);font:inherit;font-size:16px}
.conv output{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:6px;color:var(--accent)}
.fx-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;font-variant-numeric:tabular-nums}
.fx-table th,.fx-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14.5px}
.fx-table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}
.weather-grid,.contact-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:12px}
.contact-cards .w p{color:var(--text-2);font-size:14px}
.big-num{font-size:20px!important;font-weight:800;color:var(--text)!important}
.cities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.cities-grid .subs{display:flex;flex-wrap:wrap;gap:6px}

/* Prix cliquables */
a.price{transition:border-color .2s,background .2s}
a.price:hover{border-color:var(--accent);background:var(--accent-soft)}

/* Publicité */
.a224-ad{margin:22px auto;text-align:center;min-height:90px}
.a224-ad>span{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}
.a224-ad-300{max-width:336px}

/* Recherche du site sur mobile */
.hsearch{display:none}
@media (max-width:720px){.hsearch{display:grid;margin-left:auto}.hsearch+.theme-btn{margin-left:0}}
@media (max-width:820px){
  .fx-page{grid-template-columns:1fr}
  .station-hero{flex-wrap:wrap}
}

/* Directorist : alignement sur le design */
.directorist-content-active .directorist-btn-primary,.directorist-btn.directorist-btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;border-radius:12px!important}
.directorist-listing-single{border-radius:18px!important;border-color:var(--line)!important}
.directorist-archive-contents,.directorist-search-contents{font-family:inherit}
.ncard .tag{align-self:flex-start}
@media (max-width:720px){.pcard.empty~.pcard.empty{display:none}}

/* Vidéos */
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:26px}
.vcard{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface)}
.vthumb{width:100%;aspect-ratio:16/9;display:grid;place-items:center;position:relative;color:#fff}
.vthumb .playc{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center}
.vthumb .playc svg{width:20px;height:20px;fill:#fff;margin-left:3px}
.vthumb .vname{position:absolute;left:14px;bottom:10px;font-weight:800;font-size:15px}
.vframe{width:100%;aspect-ratio:16/9;border:0;display:block;background:#000}
.vmeta{padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13.5px}
.vmeta a{color:var(--accent);font-weight:600;font-size:12.5px}
.entry .vmeta a{text-decoration:none;white-space:nowrap}
.a224-ad.paid img{display:block;margin:0 auto;border-radius:12px;max-width:100%}
.act-form .full{grid-column:1/-1}
/* Fiche annuaire */
.crumbs{font-size:13px;color:var(--text-3);margin-bottom:12px}
.crumbs a{color:var(--accent);font-weight:600}
.listing-head{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.listing-head h1{font-size:clamp(24px,4vw,34px);letter-spacing:-.03em;line-height:1.15}
.listing-head .meta{color:var(--text-3);font-size:14px;margin:4px 0 6px}
.lav{width:76px;height:76px;border-radius:20px;flex:none;background:var(--surface-2) center/cover;display:grid;place-items:center;font-weight:800;font-size:22px;color:var(--accent-ink)}
.lav.ph{background:var(--accent)}
.listing-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.listing-info{display:grid;grid-template-columns:120px 1fr;gap:8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:18px;font-size:15px}
.listing-info dt{color:var(--text-3);font-weight:600}
.listing-info a{color:var(--accent);font-weight:600}
.a224-momo{border:2px solid var(--accent,#0a6e5c);border-radius:16px;padding:16px 18px;margin:16px 0}
@media (max-width:520px){.listing-info{grid-template-columns:1fr}.listing-info dt{margin-top:6px}}

/* Panier, paiement, compte (WooCommerce) dans le gabarit Allô 224 */
.woocommerce .col2-set{display:grid;grid-template-columns:1fr;gap:18px;width:100%}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none;max-width:none}
.woocommerce .col2-set::before,.woocommerce .col2-set::after{display:none}
.woocommerce h3,#order_review_heading{font-size:19px;letter-spacing:-.01em;margin:6px 0 12px}
.woocommerce form .form-row{display:grid;gap:6px;margin:0 0 12px;padding:0}
.woocommerce form .form-row label{font-size:14px;font-weight:600;color:var(--text-2)}
.woocommerce form .form-row .required{color:#d23c3c;text-decoration:none}
.woocommerce input.input-text,.woocommerce select,.woocommerce textarea,.woocommerce .select2-container .select2-selection{width:100%;border:1.5px solid var(--line-strong)!important;border-radius:12px!important;padding:10px 12px;background:var(--surface);color:var(--text);font:inherit;font-size:16px;min-height:46px}
.woocommerce .select2-container .select2-selection__rendered{line-height:24px!important;padding:0!important;color:var(--text)!important}
.woocommerce .select2-container .select2-selection__arrow{top:10px!important}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;font-size:15px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.woocommerce table.shop_table tfoot tr:last-child th,.woocommerce table.shop_table tfoot tr:last-child td{font-size:17px;font-weight:800}
.woocommerce-checkout #payment{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:6px 14px 14px;margin-top:16px}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}
.woocommerce-checkout #payment ul.payment_methods li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.woocommerce-checkout #payment div.payment_box{background:transparent;color:var(--text-2);font-size:14px;margin:8px 0 0;padding:0}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,#place_order{background:var(--accent)!important;color:var(--accent-ink)!important;border:0;border-radius:14px!important;padding:13px 22px!important;font:inherit;font-weight:700!important;cursor:pointer;text-decoration:none}
#place_order{width:100%;font-size:17px!important;margin-top:12px}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notices-wrapper>div{list-style:none;background:var(--accent-soft);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:12px 16px;margin:0 0 16px;font-size:15px}
.woocommerce-error{border-left-color:#d23c3c;background:#fdf0f0}
.woocommerce-message .button,.woocommerce-info .button{float:right;padding:6px 14px!important;font-size:14px}
.woocommerce-form-coupon-toggle,.woocommerce-form-coupon{display:none!important}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{font-size:13.5px;color:var(--text-2)}
.woocommerce .cart-empty{font-size:16px}
.woocommerce .return-to-shop .button{display:inline-block}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.woocommerce-MyAccount-navigation a{display:block;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600;font-size:14px;text-decoration:none}
.woocommerce-MyAccount-navigation .is-active a{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

/* ===== Page Publicité ===== */
.pub{--pub-dark:#06352c;--pub-dark2:#0a4d40}
.pub .wrap{max-width:1160px}
.pub-kick{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:12px}
.pub-btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;padding:14px 24px;border-radius:14px;text-decoration:none;transition:transform .15s,background .2s}
.pub-btn:hover{transform:translateY(-1px)}
.pub-btn.gold{background:#e2b552;color:#2a1d04}
.pub-btn.gold:hover{background:#f0c766}
.pub-btn.line{border:2px solid rgba(255,255,255,.45);color:#fff}
.pub-btn.line:hover{border-color:#e2b552;color:#f0cf86}
.pub-acts{display:flex;flex-wrap:wrap;gap:12px}
.pub-acts.center{justify-content:center}
.pub-hero{background:linear-gradient(115deg,#04281f 0%,var(--pub-dark) 45%,#0a6e5c 100%);color:#fff;padding:64px 0 0;overflow:hidden}
.pub-hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end}
.pub-hero .pub-kick{color:#f0cf86}
.pub-hero h1{color:#fff;font-size:clamp(32px,5vw,50px);font-weight:800;letter-spacing:-.03em;line-height:1.08}
.pub-hero h1 em{font-style:normal;color:#f0c766}
.pub-hero p{font-size:18px;line-height:1.6;color:#d4e8e2;margin:18px 0 28px;max-width:560px}
.pub-hero .pub-acts{margin-bottom:60px}
.pub-phone{justify-self:center;width:270px;background:#fff;border-radius:34px 34px 0 0;padding:16px 14px 0;box-shadow:0 -12px 50px rgba(0,0,0,.35);border:6px solid #0f1d1a;border-bottom:0;display:grid;gap:9px;color:#0f1d1a}
.pub-phone .ph-top{display:flex;align-items:center;gap:7px;font-size:13px}
.pub-phone .ph-top i{width:20px;height:20px;border-radius:7px;background:#0a6e5c}
.pub-phone .ph-ad{background:#e2b552;color:#2a1d04;font-weight:800;font-size:13px;text-align:center;padding:14px 6px;border-radius:10px;outline:2px dashed #0a6e5c;outline-offset:2px}
.pub-phone .ph-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.pub-phone .ph-tiles span{height:38px;border-radius:10px;background:#e3f2ee}
.pub-phone .ph-card{height:62px;border-radius:12px;background:#f2f6f5}
.pub-phone .ph-card.s{height:40px}
.pub-phone .ph-player{display:flex;align-items:center;gap:8px;background:#0f1d1a;border-radius:14px 14px 0 0;padding:10px}
.pub-phone .ph-player i{width:26px;height:26px;border-radius:8px;background:#0a6e5c}
.pub-phone .ph-player b{flex:1;height:8px;border-radius:4px;background:#3a4a46}
.pub-phone .ph-player u{width:26px;height:26px;border-radius:50%;background:#e2b552}
.pub-stats{background:#0f1d1a;color:#fff;padding:26px 0}
.pub-stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.pub-stats strong{display:block;font-size:20px;color:#f0c766;letter-spacing:-.01em}
.pub-stats span{font-size:13px;color:#b9c9c4}
.pub-sec{padding:64px 0}
.pub-sec.alt{background:var(--bg-soft)}
.pub-head{max-width:700px;margin-bottom:32px}
.pub-head h2{font-size:clamp(26px,3.4vw,34px);letter-spacing:-.025em;line-height:1.15}
.pub-head p{font-size:16px;line-height:1.7;color:var(--text-2);margin-top:12px}
.pub-tags{display:flex;flex-wrap:wrap;gap:10px}
.pub-tags span{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold);font-weight:600;font-size:14px;padding:10px 16px;border-radius:10px}
.pub-kit{display:grid;grid-template-columns:220px 1fr;gap:44px;align-items:center;background:linear-gradient(120deg,#04281f,#0a4d40);border-radius:24px;padding:40px 44px;color:#fff;position:relative;overflow:hidden}
.pub-kit::before{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;border:48px solid rgba(226,181,82,.13)}
.pub-kit .pub-kick{color:#f0cf86}
.pub-kit h3{color:#fff;font-size:clamp(23px,3vw,30px);margin-bottom:12px;letter-spacing:-.02em}
.pub-kit p{color:#cfe2dc;line-height:1.7;font-size:15.5px}
.kit-cover{position:relative;height:280px}
.kit-cover b{position:absolute;left:10px;top:0;width:198px;height:280px;border-radius:8px;background:#fbf8ef;box-shadow:10px 10px 0 #e2b552,0 14px 34px rgba(0,0,0,.4);padding:18px 16px;display:flex;flex-direction:column;transition:transform .3s}
.pub-kit:hover .kit-cover b{transform:translateY(-6px) rotate(-2deg)}
.kit-cover em{font-style:normal;font-weight:800;font-size:17px;color:#0f1d1a}
.kit-cover em span{color:#0a6e5c}
.kit-cover small{margin-top:14px;font-weight:800;font-size:9px;letter-spacing:1.5px;color:#7a5711}
.kit-cover i{display:block;width:54px;height:54px;border-radius:50%;border:12px solid #0a6e5c;margin:22px 0 0}
.kit-cover strong{margin-top:auto;font-size:19px;line-height:1.15;color:#0f1d1a;letter-spacing:-.02em}
.kit-cover strong u{text-decoration:none;color:#0a6e5c}
.kit-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.kit-meta span{border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:5px 12px;font-size:12.5px}
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pub-f{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.pub-f .mk{background:var(--surface-2);padding:20px;height:160px;display:flex;justify-content:center}
.pub-f .pg{background:var(--bg);border-radius:12px;height:100%;width:100%;padding:9px;display:grid;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.pub-f .pg b{display:block;background:var(--line);border-radius:5px}
.pub-f .mk-top .pg{grid-template-rows:30px 1fr 1fr}.pub-f .mk-top .pg b:first-child{background:#e2b552;outline:2px solid #0a6e5c}.pub-f .mk-top .pg b:last-child{display:none}
.pub-f .mk-list .pg{grid-template-rows:repeat(4,1fr)}.pub-f .mk-list .pg b:first-child{background:#e2b552;outline:2px solid #0a6e5c}
.pub-f .mk-banner .pg{grid-template-rows:24px 1fr 1fr}.pub-f .mk-banner .pg b:first-child{background:#e2b552;outline:2px solid #0a6e5c}.pub-f .mk-banner .pg b:last-child{display:none}
.pub-f .mk-box .pg{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.pub-f .mk-box .pg b:first-child{grid-row:1/3}.pub-f .mk-box .pg b:nth-child(2){background:#e2b552;outline:2px solid #0a6e5c}.pub-f .mk-box .pg b:last-child{display:none}
.pub-f .mk-radio .pg{width:110px;grid-template-rows:repeat(4,1fr)}.pub-f .mk-radio .pg b:first-child{background:#e2b552;outline:2px solid #0a6e5c}
.pub-f .mk-play .pg{grid-template-rows:1fr;place-items:stretch}.pub-f .mk-play .pg b:first-child{background:linear-gradient(135deg,#0a6e5c,#e2b552)}.pub-f .mk-play .pg b:not(:first-child){display:none}
.pub-f .bd{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.pub-f .num{font-size:12px;font-weight:800;color:var(--gold-ink);letter-spacing:.1em}
.pub-f h3{font-size:20px;margin:6px 0 8px;letter-spacing:-.015em}
.pub-f p{font-size:14.5px;line-height:1.6;color:var(--text-2);margin-bottom:12px}
.pub-f ul{list-style:none;padding:0;margin:0 0 14px;font-size:13.5px}
.pub-f li{padding:3px 0 3px 18px;position:relative}
.pub-f li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;background:var(--gold);border-radius:2px}
.pub-price{font-weight:800;font-size:16px;color:var(--accent);margin:auto 0 8px}
.pub-f a{font-weight:700;font-size:14.5px;color:var(--text);text-decoration:none}
.pub-f a:hover{color:var(--accent)}
.pub-note{font-size:13px;color:var(--text-3);margin-top:22px}
.pub-note a{color:var(--accent)}
.pub-steps{display:grid;grid-template-columns:repeat(3,1fr);counter-reset:st}
.pub-steps>div{counter-increment:st;padding:0 26px 0 0;position:relative}
.pub-steps>div::before{content:counter(st);display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#e2b552;color:#2a1d04;font-weight:800;font-size:22px;margin-bottom:16px;position:relative;z-index:1}
.pub-steps>div::after{content:"";position:absolute;top:26px;left:52px;right:0;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 14px)}
.pub-steps>div:last-child::after{display:none}
.pub-steps h3{font-size:18px;margin-bottom:8px}
.pub-steps p{font-size:14.5px;line-height:1.6;color:var(--text-2)}
.pub-faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:0 20px}
.pub-faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:16px;padding:18px 30px 18px 0;position:relative}
.pub-faq summary::-webkit-details-marker{display:none}
.pub-faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:24px;color:var(--gold-ink)}
.pub-faq details[open] summary::after{content:"–"}
.pub-faq details p{padding:0 0 18px;color:var(--text-2);line-height:1.7;font-size:15px}
.pub-cta{background:linear-gradient(115deg,#04281f,var(--pub-dark) 50%,#0a6e5c);color:#fff;padding:64px 0;text-align:center}
.pub-cta .pub-kick{color:#f0cf86}
.pub-cta h2{color:#fff;font-size:clamp(26px,3.4vw,34px);letter-spacing:-.025em}
.pub-cta p{color:#cfe2dc;margin:14px auto 26px;max-width:620px;font-size:16px;line-height:1.7}
.pub-cta small{display:block;margin-top:18px;color:#a9c5bd;font-size:13px}
.pub-cta small a{color:#f0cf86}
@media (max-width:900px){
  .pub-hero-in,.pub-grid,.pub-steps{grid-template-columns:1fr}
  .pub-phone{display:none}
  .pub-hero{padding-bottom:4px}
  .pub-stats-in{grid-template-columns:1fr 1fr}
  .pub-stats strong{font-size:16.5px}
  .pub-steps>div{padding:0 0 24px}
  .pub-steps>div::after{display:none}
  .pub-kit{grid-template-columns:1fr;padding:30px 22px;gap:24px}
  .kit-cover{width:230px;margin:0 auto}
  .pub-sec{padding:48px 0}
}
.tv-latest{font-size:19px;margin:6px 0 4px;letter-spacing:-.015em}

/* ===== Pages pratiques ===== */
.pr-cities{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.pr-cities a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600;font-size:14px;text-decoration:none;color:var(--text);background:var(--surface)}
.pr-cities a.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.pr-today{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px;margin-bottom:24px}
.pr-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.pr-head h2{font-size:20px;margin:0}
.pr-head span{color:var(--text-3);font-size:14px}
.pr-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.pr-cell{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:4px;text-align:center}
.pr-cell span{font-size:12.5px;color:var(--text-2);font-weight:600}
.pr-cell b{font-size:24px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pr-cell.muted b{color:var(--text-3);font-size:20px}
.pr-cell.next{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.pr-cell.next span,.pr-cell.next em{color:var(--accent-ink)}
.pr-cell em{font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.pr-week-t{font-size:19px;margin:0 0 10px}
.pr-table-wrap{overflow-x:auto}
.pr-table td,.pr-table th{text-align:center!important}
.pr-table td:first-child,.pr-table th:first-child{text-align:left!important}
.hol-next{background:linear-gradient(115deg,#04281f,#0a6e5c);color:#fff;border-radius:22px;padding:20px 22px;display:grid;gap:4px;margin-bottom:22px}
.hol-next span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f0cf86}
.hol-next b{font-size:24px;letter-spacing:-.02em}
.hol-next em{font-style:normal;color:#d4e8e2}
.hol-table{margin-bottom:22px}
.hol-table tr.past td{color:var(--text-3)}
.hol-table tr.past b{font-weight:600}
.entry .tag,.hol-table .tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--gold-soft);color:var(--gold-ink);vertical-align:middle}
.sos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:6px 0 24px}
.entry a.sos{display:grid;gap:4px;background:var(--surface);border:1px solid var(--line);border-left:5px solid #d23c3c;border-radius:18px;padding:16px;text-decoration:none;color:var(--text)}
.sos b{font-size:34px;letter-spacing:-.03em;color:#d23c3c;line-height:1}
.sos span{font-weight:700;font-size:15.5px}
.sos small{color:var(--text-2);font-size:13px;line-height:1.45}
.entry a.sos.warn{border-left-color:var(--gold)}
.sos.warn b{color:var(--gold-ink)}
.box-note{background:var(--accent-soft);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:18px 0;font-size:15px}
.ussd{margin-bottom:22px}
.ussd h2{display:flex;align-items:center;gap:10px}
.ussd h2 i{width:16px;height:16px;border-radius:5px;display:inline-block}
.ussd-list{display:grid;gap:8px}
.entry a.ussd-row{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--text)}
.ussd-row code{font-size:18px;font-weight:800;min-width:118px;color:var(--accent);background:none}
.gn-flag{display:flex;width:120px;height:80px;border-radius:10px;overflow:hidden;margin:4px 0 18px;box-shadow:var(--shadow)}
.gn-flag i{flex:1}
.gn-facts th{width:38%;font-size:14px!important;text-transform:none!important;letter-spacing:0!important;color:var(--text-2)!important}
.gn-facts td{font-weight:600}
.feed-list{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:8px}
.feed-list li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:3px}
.entry .feed-list a{font-weight:700;text-decoration:none;color:var(--text)}
.entry .feed-list a:hover{color:var(--accent)}
.feed-list span{font-size:12.5px;color:var(--text-3)}
@media (max-width:720px){.pr-grid{grid-template-columns:repeat(3,1fr)}.pr-cell b{font-size:20px}.ussd-row code{min-width:96px;font-size:16px}}

/* Sport : classement, résultats, calendrier */
.sp-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.sp-nav a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600;font-size:14px;background:var(--surface)}
.sp-nav a:hover{border-color:var(--accent);color:var(--accent)}
.sp-h{font-size:22px;letter-spacing:-.02em;margin:28px 0 12px;scroll-margin-top:90px}
.sp-sum{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.sp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.sp-table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums;min-width:560px}
.sp-table th,.sp-table td{padding:9px 8px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
.sp-table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-weight:700}
.sp-table .tl{text-align:left}
.sp-table tbody tr:last-child td{border-bottom:0}
.sp-table tr.up td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.sp-table tr.down td:first-child{box-shadow:inset 3px 0 0 #b5303a}
.sp-table small{color:#b5303a;font-weight:600}
.sp-table .frm i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;font-style:normal;font-size:11px;font-weight:700;margin-left:2px;color:#fff}
.sp-table .fV{background:#15803d}.sp-table .fN{background:#9ca3af}.sp-table .fD{background:#b5303a}
.sp-note{font-size:13.5px;color:var(--text-3);margin:10px 0 0;line-height:1.55}
.sp-note .lg{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
.sp-note .lg.up{background:var(--accent)}.sp-note .lg.down{background:#b5303a}
.sp-day{border:1px solid var(--line);border-radius:16px;background:var(--surface);margin:0 0 10px;overflow:hidden}
.sp-day summary{cursor:pointer;padding:12px 16px;font-weight:700;list-style:none}
.sp-day summary::-webkit-details-marker{display:none}
.sp-day summary::after{content:"+";float:right;color:var(--text-3)}
.sp-day[open] summary::after{content:"–"}
.sp-match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px 12px;padding:11px 16px;border-top:1px solid var(--line)}
.sp-box .sp-match{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin:0 0 8px}
.sp-t{font-weight:600;font-size:15px;min-width:0;overflow-wrap:anywhere}
.sp-t.h{text-align:right}
.sp-t.win{font-weight:800}
.sp-score{font-size:17px;letter-spacing:.02em;font-variant-numeric:tabular-nums;background:var(--bg-soft);border-radius:8px;padding:3px 10px}
.sp-vs{font-size:13px;color:var(--text-3);font-weight:700;padding:3px 8px}
.sp-vs.rep{color:#b5303a}
.sp-meta{grid-column:1/-1;text-align:center;font-size:12.5px;color:var(--text-3)}
.sp-box{margin:6px 0 26px}
.sp-box h2{font-size:20px;margin:22px 0 10px}
.sp-comps{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.entry .sp-comp{display:grid;gap:4px;border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:var(--surface);text-decoration:none;color:var(--text)}
.entry .sp-comp:hover{border-color:var(--accent)}
.sp-comp span{font-size:14px;color:var(--text-2)}
.sp-comp em{font-style:normal;font-size:13px;color:var(--accent);font-weight:600}
@media (max-width:560px){.sp-t{font-size:14px}.sp-match{padding:10px 12px}}

/* Annonces */
.ann-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.ann-gal a{display:block;border-radius:10px;overflow:hidden;background:var(--line);aspect-ratio:4/3}.ann-gal a.main{grid-column:1/-1;aspect-ratio:16/10}.ann-gal img{width:100%;height:100%;object-fit:cover;display:block}.ann-price{font-size:26px;font-weight:800;color:var(--accent);margin:6px 0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ann-safe{font-size:13.5px;color:var(--text-2);background:var(--soft,rgba(0,0,0,.03));border-left:3px solid #e2b552;padding:10px 14px;border-radius:8px;margin:18px 0}
.ann-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.ann-top .lead-p{margin:0}.ann-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:10px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}.ann-filters label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700;color:var(--text-2);min-width:0}.ann-filters input,.ann-filters select{font:inherit;font-weight:500;font-size:14px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg,#fff);color:inherit;width:100%;min-width:0}.ann-filters .btn-p{height:40px}@media(max-width:860px){.ann-filters{grid-template-columns:1fr 1fr}.ann-filters .f-q{grid-column:1/-1}.ann-filters .btn-p{grid-column:1/-1}}.ann-count{font-size:13px;color:var(--text-2);margin:14px 2px 10px}.ann-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}@media(max-width:520px){.ann-grid{grid-template-columns:1fr 1fr;gap:10px}.ann-card .pr{font-size:15px}.ann-card .tt{font-size:14px}}.ann-filters input,.ann-filters select{height:42px}a.ann-card,a.ann-card:hover{text-decoration:none!important}.ann-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);color:inherit;text-decoration:none}.ann-card .ph{aspect-ratio:4/3;background:var(--line) center/cover no-repeat;position:relative}.ann-card .ph .tag{position:absolute;left:8px;top:8px}.ann-card .bd{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}.ann-card .pr{font-size:17px;color:var(--accent)}.ann-card .tt{font-weight:700;line-height:1.3;color:var(--text)}.ann-card .mt{font-size:12.5px;color:var(--text-2)}.ann-empty{padding:30px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--text-2)}.ann-pages{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.ann-pages a,.ann-pages span{padding:6px 12px;border:1px solid var(--line);border-radius:8px}.ann-pages span{background:var(--accent);color:#fff;border-color:var(--accent)}
.ann-login{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:22px}.ann-login h2{margin:0 0 8px;font-size:20px}
.page-head{grid-template-columns:minmax(0,1fr)}.a224-sform button{flex:none;white-space:nowrap}
.a224-sform button{min-height:46px}@media(max-width:520px){.pr-table th,.pr-table td{padding-left:4px!important;padding-right:4px!important;font-size:13.5px;white-space:nowrap}.pr-table th{font-size:10.5px}}
