/* IQONN 360 — composants multi-pages (complète styles.css, mêmes tokens) */
.nav-links a[aria-current="page"],.nav-drawer a[aria-current="page"]{color:var(--navy);background:var(--bg-soft);}
.footer-nav a[aria-current="page"]{color:var(--navy);}

/* Fil d'Ariane */
.breadcrumb{padding:1.5rem 0 0;}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:0.35rem;font-size:0.8rem;color:var(--muted);}
.breadcrumb li{display:flex;align-items:center;gap:0.35rem;}
.breadcrumb li+li::before{content:"/";opacity:0.5;}
.breadcrumb a:hover{color:var(--cobalt);}
.breadcrumb [aria-current="page"]{color:var(--navy);font-weight:500;}

/* En-tête de page intérieure */
.page-hero{position:relative;padding:2.5rem 0 2.5rem;overflow:hidden;}
.page-hero .hero-glow{inset:-40% 10% auto;}
.page-hero-inner{position:relative;z-index:1;max-width:760px;}
.page-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.3rem,6vw,3.6rem);line-height:1.08;letter-spacing:-0.02em;margin-bottom:1rem;}
.page-hero h1 em{font-style:italic;color:var(--cobalt);}
.page-hero .lede{font-size:1.125rem;margin-bottom:1.75rem;}
.page-hero .hero-actions{justify-content:flex-start;}
@media (max-width:480px){.page-hero .hero-actions{margin-inline:0;}}

/* Grille des visites (réutilise .visit-card) */
.visit-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;}
@media (min-width:640px){.visit-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:960px){.visit-grid{grid-template-columns:repeat(3,1fr);}}
.visit-card{transition:box-shadow 0.2s,transform 0.25s;}
.visit-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.visit-card.has-photo .visit-media{height:200px;}
.visit-media .stack-badge{position:absolute;left:0.9rem;top:0.9rem;z-index:1;}
.visit-card .visit-cta{margin-top:auto;}
.visit-card a.visit-link::after{content:"";position:absolute;inset:0;}
.visit-card{position:relative;}

/* Scène de visite (fiche) */
.tour-stage{position:relative;border-radius:28px;overflow:hidden;min-height:clamp(320px,52vw,560px);background:var(--navy);box-shadow:var(--shadow-lg);display:grid;place-items:center;}
.tour-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tour-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,33,72,0.25),rgba(14,33,72,0.65));}
.tour-stage .explore-stage-center{z-index:2;}
.tour-stage .explore-badge{position:absolute;left:1.25rem;top:1.25rem;z-index:2;color:var(--white);}
.tour-meta{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:1.25rem;}
@media (min-width:768px){.tour-meta{grid-template-columns:repeat(4,1fr);}}
.tour-meta div{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem;}
.tour-meta dt{font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin-bottom:0.25rem;}
.tour-meta dd{margin:0;font-weight:600;}

/* Bloc texte éditorial */
.prose{max-width:42em;}
.prose h2{font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,3.5vw,2.3rem);line-height:1.2;margin:0 0 0.85rem;}
.prose p{color:var(--muted);margin:0 0 1rem;}
.prose ul{margin:0 0 1rem;display:grid;gap:0.5rem;}
.prose li{position:relative;padding-left:1.35rem;color:var(--muted);}
.prose li::before{content:"";position:absolute;left:0;top:0.62em;width:7px;height:7px;border-radius:50%;background:var(--cobalt);}
.prose strong{color:var(--navy);}
.split{display:grid;gap:2rem;}
@media (min-width:900px){.split{grid-template-columns:1.2fr 0.8fr;align-items:start;}}
.aside-card{background:var(--navy);color:var(--white);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow-lg);position:sticky;top:calc(var(--header-h) + 1rem);}
.aside-card h2,.aside-card h3{font-family:var(--display);font-weight:400;font-size:1.6rem;line-height:1.2;margin-bottom:0.65rem;}
.aside-card p{color:rgba(255,255,255,0.75);font-size:0.95rem;margin-bottom:1.25rem;}
.aside-card .btn{width:100%;margin-top:0.5rem;}
.aside-card .btn-primary{background:var(--white);color:var(--navy);box-shadow:none;}
.aside-card .btn-primary:hover{background:var(--bg-soft);}
.btn-wa{background:#1FA855;color:var(--white);}
.btn-wa:hover{background:#178a45;}
.btn-wa svg{width:18px;height:18px;}

/* Deux villes */
.city-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;}
@media (min-width:768px){.city-grid{grid-template-columns:1fr 1fr;}}
.city-card{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow);transition:box-shadow 0.2s,transform 0.25s;}
.city-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.city-card .eyebrow{margin-bottom:0.5rem;}
.city-card h3{font-family:var(--display);font-weight:400;font-size:2rem;line-height:1.1;margin-bottom:0.5rem;}
.city-card p{color:var(--muted);font-size:0.95rem;margin-bottom:1rem;}
.city-card a.city-link{font-weight:600;color:var(--cobalt);}
.city-card a.city-link::after{content:"";position:absolute;inset:0;}

/* Solutions */
.solution-list{display:grid;gap:1.25rem;}
.solution{display:grid;gap:1.25rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:0.65rem;box-shadow:var(--shadow);scroll-margin-top:calc(var(--header-h) + 16px);}
@media (min-width:860px){.solution{grid-template-columns:0.9fr 1.1fr;align-items:center;}.solution:nth-child(even) .solution-media{order:2;}}
.solution-media{border-radius:16px;overflow:hidden;aspect-ratio:16/10;}
.solution-media img{width:100%;height:100%;object-fit:cover;}
.solution-body{padding:0.75rem 1rem 1.25rem;}
.solution-body h2{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.15;margin-bottom:0.6rem;}
.solution-body p{color:var(--muted);margin-bottom:0.85rem;}
.solution-body ul{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1rem;}
.solution-body li{font-size:0.8rem;font-weight:600;padding:0.35rem 0.75rem;border-radius:999px;background:var(--bg-soft);color:var(--navy);}
.text-link{font-weight:600;color:var(--cobalt);}
.text-link:hover{text-decoration:underline;}

/* Bandeau CTA */
.cta-band{background:var(--navy);color:var(--white);border-radius:calc(var(--radius) + 8px);padding:2.5rem 2rem;text-align:center;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;inset:-40% 20% auto;height:80%;background:radial-gradient(ellipse at center,rgba(37,87,214,0.35),transparent 70%);pointer-events:none;}
.cta-band>*{position:relative;}
.cta-band h2{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.15;margin-bottom:0.75rem;}
.cta-band p{color:rgba(255,255,255,0.75);max-width:34em;margin:0 auto 1.5rem;}
.cta-band .hero-actions{justify-content:center;}
.cta-band .btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.35);}
.cta-band .btn-ghost:hover{border-color:var(--white);color:var(--white);}

/* Contact direct */
.direct-grid{display:grid;gap:1rem;grid-template-columns:1fr;max-width:720px;margin:0 auto 2rem;}
@media (min-width:560px){.direct-grid{grid-template-columns:repeat(3,1fr);}}
.direct-card{display:flex;flex-direction:column;align-items:center;gap:0.5rem;text-align:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1rem;box-shadow:var(--shadow);transition:border-color 0.15s,transform 0.2s;min-height:44px;}
.direct-card:hover{border-color:var(--cobalt);transform:translateY(-2px);}
.direct-card svg{width:28px;height:28px;}
.direct-card strong{font-size:1rem;}
.direct-card span{font-size:0.85rem;color:var(--muted);}
.direct-card .wa-ico{color:#1FA855;}
.direct-card .mail-ico{color:var(--cobalt);}

/* WhatsApp flottant */
.wa-float{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:0.6rem;}
.wa-fab{width:58px;height:58px;border-radius:50%;background:#1FA855;color:var(--white);display:grid;place-items:center;box-shadow:0 12px 32px rgba(31,168,85,0.38);transition:transform 0.2s,background 0.2s;}
.wa-fab:hover{background:#178a45;transform:scale(1.05);}
.wa-fab svg{width:30px;height:30px;}
.wa-menu{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:0.5rem;display:flex;flex-direction:column;gap:0.25rem;min-width:220px;}
.wa-menu[hidden]{display:none;}
.wa-menu p{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);padding:0.5rem 0.75rem 0.25rem;margin:0;}
.wa-menu a{display:flex;align-items:center;gap:0.65rem;padding:0.7rem 0.75rem;border-radius:var(--radius-sm);font-weight:600;font-size:0.95rem;min-height:44px;}
.wa-menu a:hover{background:var(--bg-soft);}
.wa-flag{font-size:1.25rem;line-height:1;}
body.is-modal-open .wa-float{display:none;}

/* Pied de page multi-colonnes */
.footer-grid{display:grid;gap:2rem;grid-template-columns:1fr 1fr;padding-bottom:2rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;}
@media (min-width:860px){.footer-grid{grid-template-columns:1.4fr repeat(3,1fr);}}
.footer-brand{grid-column:1/-1;}
@media (min-width:860px){.footer-brand{grid-column:auto;}}
.footer-brand p{color:var(--muted);font-size:0.9rem;margin-top:0.6rem;max-width:22em;}
.footer-col h2{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--navy);margin-bottom:0.85rem;}
.footer-col ul{display:grid;gap:0.5rem;}
.footer-col a{font-size:0.9rem;color:var(--muted);}
.footer-col a:hover{color:var(--cobalt);}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.5rem;font-size:0.8rem;color:var(--muted);}
.footer-bottom a:hover{color:var(--cobalt);}

/* Aperçu : bandeau */
.preview-note{background:#FFF7E0;border-bottom:1px solid #F2DFA6;color:#6B5310;font-size:0.8rem;text-align:center;padding:0.5rem 1rem;}

/* Page 404 */
.notfound{text-align:center;padding:5rem 0;}
