/* XplorCaribbean 2.0 — nouvelle enveloppe visuelle, moteur existant conservé */
body.home-page{background:linear-gradient(180deg,rgba(229,247,243,.36),rgba(244,238,219,.68)),url('/assets/xplor-2/caribbean-marine-background.jpg') center top/cover fixed}
body.home-page .hero{min-height:auto;background:transparent!important;padding:12px 16px 0}
body.home-page .hero-background{display:none}
body.home-page .hero::before{background:linear-gradient(180deg,rgba(3,46,62,.1),rgba(3,46,62,.02) 58%,transparent)}
body.home-page .hero::after{display:none}
body.home-page .hero-inner{max-width:1480px;padding:0 0 22px;display:flex;flex-direction:column}
body.home-page .topbar{min-height:74px;padding:8px 22px;border:1px solid rgba(255,255,255,.76);border-radius:22px 22px 0 0;background:linear-gradient(90deg,rgba(246,252,248,.9),rgba(204,237,238,.76),rgba(246,252,248,.9));box-shadow:0 18px 42px rgba(4,55,64,.16),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(16px)}
body.home-page .hero-copy{margin:26px auto 0;color:#163e4c;text-shadow:none}
body.home-page .hero-logo{width:300px;height:auto;filter:none}
body.home-page .hero-copy h1{margin-top:8px;font:500 clamp(28px,3.2vw,48px)/1.03 Georgia,"Times New Roman",serif;letter-spacing:-.035em;color:#173f4c;text-shadow:none}
body.home-page .hero-copy p{margin-top:10px;color:#617c78;font-size:10px;letter-spacing:.26em;text-shadow:none}
body.home-page .search-panel{max-width:1060px;margin:24px auto 0;grid-template-columns:minmax(220px,1.15fr) minmax(280px,1.8fr) minmax(150px,.7fr) 64px;border:1px solid rgba(255,255,255,.86);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 16px 42px rgba(11,53,58,.15);backdrop-filter:blur(14px)}
.gps-button{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #bfd8d2;border-radius:50%;color:#176f73;background:#eef8f5;font-size:18px}
.gps-button[data-state="active"]{color:#fff;background:#3f977e;border-color:#3f977e;box-shadow:0 0 0 4px rgba(63,151,126,.14)}
.gps-button[data-state="loading"]{animation:gpsPulse 1s ease-in-out infinite alternate}
@keyframes gpsPulse{to{transform:scale(1.08);box-shadow:0 0 0 6px rgba(63,151,126,.12)}}
.gps-status{min-height:17px;margin:9px auto 0;color:#617a76;font-size:11px;text-align:center}
body.home-page .hero-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;max-width:none;margin:20px auto 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
body.home-page .hero-category{position:relative;height:clamp(520px,68vh,780px);min-width:0;overflow:hidden;padding:0;border:0;border-radius:0;background:#113d45;color:#fff;box-shadow:0 14px 36px rgba(9,43,43,.22);isolation:isolate}
body.home-page .hero-category:last-child{border-bottom-right-radius:44px}
body.home-page .hero-category::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(3,31,34,.08),transparent 52%,rgba(3,28,31,.48));pointer-events:none}
body.home-page .hero-category>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
body.home-page .hero-category:hover{border-color:rgba(255,255,255,.9);background:#113d45;color:#fff;transform:none}
body.home-page .hero-category:hover>img{transform:scale(1.015)}
body.home-page .category-kicker{position:absolute;z-index:2;top:18px;left:18px;right:18px;color:#fff;font-size:9px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.55)}
body.home-page .hero-category .category-tile-label{position:absolute;z-index:2;left:14px;right:14px;bottom:72px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:110px;padding:0;text-align:center;white-space:normal;color:#fff}
body.home-page .hero-category .category-tile-label::before{content:"";display:block;width:38px;height:1px;margin:0 auto 15px;background:#e0c27c;box-shadow:0 0 12px rgba(224,194,124,.5)}
body.home-page .hero-category .category-tile-label b{display:block;font:600 clamp(28px,2.7vw,42px)/.96 Georgia,"Times New Roman",serif;letter-spacing:-.04em;text-shadow:0 4px 22px rgba(1,24,27,.72)}
body.home-page .hero-category .category-tile-label i{display:none!important}
.event-spotlight{position:relative;min-height:380px;max-width:1480px;margin:5px auto 28px;display:flex;align-items:center;overflow:hidden;border:0;border-radius:0 0 44px 0;color:#fff;text-decoration:none;background:linear-gradient(90deg,rgba(5,35,40,.92),rgba(5,35,40,.56) 48%,rgba(5,35,40,.04) 82%),url('/assets/xplor-2/route-du-rhum.jpg') center 54%/cover;box-shadow:0 26px 62px rgba(15,52,54,.24)}
.event-spotlight::after{display:none}
.event-spotlight-copy{position:relative;z-index:1;max-width:610px;padding:44px 54px}
.event-spotlight-copy img{display:block;width:210px;height:auto;margin-bottom:24px}
.event-spotlight-copy h2{margin:0 0 12px;font:600 clamp(40px,4.3vw,62px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.045em}
.event-spotlight-copy p{max-width:430px;margin:0;color:#f1f5ef;font-size:13px;line-height:1.6}
.event-spotlight>span{position:absolute;z-index:2;right:28px;bottom:26px;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.66);border-radius:50%;font-size:20px;background:rgba(6,38,41,.2);backdrop-filter:blur(8px)}
body.home-page .home-section,body.home-page .section,body.home-page footer{background-color:rgba(250,249,244,.9);backdrop-filter:blur(7px)}
body.home-page .activity-card,body.home-page .place-entry,body.home-page .trail-card{box-shadow:0 14px 36px rgba(11,51,54,.1)}
body.results-view .hero-categories{grid-template-columns:repeat(4,minmax(0,1fr));padding:6px}
body.results-view .hero-category{height:150px;border-radius:13px}
body.results-view .hero-category .category-kicker{font-size:7px;top:10px;left:10px}
body.results-view .hero-category .category-tile-label b{font-size:22px}
body.results-view .hero-category .category-tile-label i{display:none}
body.results-view .gps-status{color:#dceceb}
@media(max-width:900px){
 body.home-page .hero-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;overflow:visible}
 body.home-page .hero-category{height:clamp(430px,60vh,620px)}
 body.home-page .hero-category .category-tile-label b{font-size:clamp(23px,3.9vw,34px)}
 body.home-page .search-panel{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 body.home-page .hero{padding:6px 0 0}
 body.home-page .hero-inner{padding-bottom:12px}
 body.home-page .topbar{min-height:64px;border-radius:16px 16px 0 0;padding:7px 10px}
 body.home-page .hero-copy{margin-top:20px}
 body.home-page .hero-copy h1{font-size:29px;max-width:310px}
 body.home-page .search-panel{margin-top:20px}
 body.home-page .gps-status{padding:0 16px;font-size:9px}
 body.home-page .hero-categories{display:flex;overflow-x:auto;gap:5px;padding:0;border-radius:0;scroll-snap-type:x mandatory;scrollbar-width:none}
 body.home-page .hero-categories::-webkit-scrollbar{display:none}
 body.home-page .hero-category{flex:0 0 82vw;height:auto;aspect-ratio:1/2;scroll-snap-align:start;border-radius:0}
 body.home-page .hero-category:last-child{border-bottom-right-radius:30px}
 body.home-page .hero-category>img{transform:none!important}
 body.home-page .hero-category:nth-child(1)>img{object-position:center 92%}
 body.home-page .hero-category:nth-child(2)>img{object-position:center 68%}
 body.home-page .hero-category:nth-child(3)>img{object-position:center 62%}
 body.home-page .hero-category:nth-child(4)>img{object-position:center 66%}
 body.home-page .hero-category .category-tile-label b{font-size:clamp(35px,10vw,46px)}
 body.home-page .hero-category .category-tile-label i{top:calc(50% + 145px)}
 .event-spotlight{min-height:340px;margin:5px 0 20px;border-radius:0 0 30px 0;background-position:61% center}
 .event-spotlight-copy{padding:30px 25px;max-width:310px}
 .event-spotlight-copy img{width:165px;margin-bottom:22px}
 .event-spotlight-copy h2{font-size:40px}
 .event-spotlight-copy p{max-width:250px;font-size:10px}
 .event-spotlight>span{right:20px;bottom:18px;width:37px;height:37px}
 body.results-view .hero-categories{display:none}
}

/* Accueil fidèle à la maquette : quatre univers et l'espace événement. */
body.home-page:not(.results-view) .hero-inner{min-height:0!important}
body.home-page:not(.results-view) .hero-copy,
body.home-page:not(.results-view) #searchForm,
body.home-page:not(.results-view) .gps-status,
body.home-page:not(.results-view) #featured,
body.home-page:not(.results-view) .weather-section,
body.home-page:not(.results-view) .categories-section,
body.home-page:not(.results-view) .results-section,
body.home-page:not(.results-view) .places-section,
body.home-page:not(.results-view) .trail-section,
body.home-page:not(.results-view) .community-section,
body.home-page:not(.results-view) .heart-universes{display:none!important}
body.home-page:not(.results-view) .hero-categories{margin-top:12px;padding-top:0!important}

/* Pages d'univers : une grande photo à gauche, le contenu à droite. */
body.results-view .hero{min-height:0!important;background:transparent!important;padding:12px 16px 0}
body.results-view .hero-inner{min-height:0!important;padding:0 0 12px}
body.results-view .hero-copy,
body.results-view #searchForm,
body.results-view .gps-status,
body.results-view .hero-categories,
body.results-view .event-spotlight,
body.results-view .weather-section,
body.results-view .categories-section,
body.results-view .places-section,
body.results-view .trail-section,
body.results-view .community-section{display:none!important}
body.results-view .results-view-heading{max-width:1400px;padding:38px 34px 14px}
body.results-view .results-view-heading h2{font:500 clamp(34px,4vw,58px)/1 Georgia,"Times New Roman",serif;color:#173f4c;letter-spacing:-.045em}
body.results-view .results-section{padding:18px 0 56px;background:rgba(241,246,240,.82);border:0}
body.results-view .results-section .section-head{display:none}
body.results-view .results-toolbar{margin-bottom:15px}
body.results-view .cards{grid-template-columns:1fr;gap:14px}
body.results-view .activity-card{display:grid;grid-template-columns:minmax(330px,38%) minmax(0,1fr);min-height:320px;border-radius:0;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(23,62,59,.1)}
body.results-view .activity-card:last-child{border-bottom-right-radius:38px}
body.results-view .activity-visual{height:100%;min-height:320px}
body.results-view .activity-visual img{height:100%;object-fit:cover;object-position:center}
body.results-view .activity-body{padding:28px 32px;justify-content:center}
body.results-view .activity-body h3{font:500 clamp(25px,2.5vw,36px)/1.06 Georgia,"Times New Roman",serif;color:#173f4c}
body.results-view .activity-desc{max-width:850px;font-size:15px;line-height:1.7;color:#536b68}
body.results-view .card-actions{max-width:520px}
body.results-view .personal-actions{margin-top:16px}

.heart-universes{max-width:1440px;margin:0 auto;padding:48px 28px 62px;background:rgba(248,248,241,.88)}
.heart-universes-heading{text-align:center;margin-bottom:22px}
.heart-universes-heading span{display:block;margin-bottom:7px;color:#8d7c56;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.heart-universes-heading h2{margin:0;font:500 clamp(30px,3.2vw,44px)/1 Georgia,"Times New Roman",serif;color:#173f4c}
.heart-universes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.heart-universe{position:relative;display:block;min-height:390px;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:16px;color:#fff;text-decoration:none;box-shadow:0 14px 36px rgba(9,43,43,.18)}
.heart-universe::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,31,34,.04),transparent 48%,rgba(3,28,31,.58))}
.heart-universe>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .35s ease}
.heart-universe:hover>img{transform:scale(1.018)}
.heart-universe>span{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;text-align:center}
.heart-universe small{position:absolute;top:17px;left:17px;right:17px;text-align:left;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.heart-universe strong{font:600 clamp(25px,2.4vw,38px)/.98 Georgia,"Times New Roman",serif;text-shadow:0 3px 18px rgba(0,0,0,.6)}
.heart-universe strong::before{content:"";display:block;width:36px;height:1px;margin:0 auto 13px;background:#e0c27c}
.heart-universe em{position:absolute;left:18px;right:18px;bottom:22px;color:rgba(255,255,255,.9);font-size:11px;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

body.home-page footer{margin:0;padding:58px 0 34px;background:linear-gradient(135deg,#062f39,#0a4d57 62%,#0b5960);color:#eff8f4;backdrop-filter:none}
body.home-page footer .footer-inner{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);align-items:start;gap:50px}
body.home-page footer .footer-brand{font:500 clamp(28px,3vw,42px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.035em;color:#fff}
body.home-page footer .footer-sub{margin-top:10px;color:#c2dddd;font-size:14px}
body.home-page footer .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin-top:28px}
body.home-page footer .footer-links a,body.home-page footer .footer-links button{min-height:30px;padding:0;border:0;background:transparent;color:#f2f8f5;font-size:13px;font-weight:650;text-align:left;text-decoration:none}
body.home-page footer .footer-links a:hover,body.home-page footer .footer-links button:hover{text-decoration:underline;text-underline-offset:5px}
body.home-page footer .footer-note{max-width:390px;margin-top:3px;padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.07);color:#d2e5e2;font-size:12px;line-height:1.75;text-align:left}
body.home-page footer .footer-note a{color:#fff}

@media(max-width:760px){
 body.results-view .hero{padding:6px 0 0}
 body.results-view .results-view-heading{padding:26px 17px 12px}
 body.results-view .activity-card{grid-template-columns:1fr;min-height:0;border-radius:18px}
 body.results-view .activity-visual{height:auto;min-height:0;aspect-ratio:16/10}
 body.results-view .activity-body{padding:20px 18px}
 body.results-view .activity-body h3{font-size:28px}
 .heart-universes{padding:38px 7px 48px}
 .heart-universes-grid{display:flex;overflow-x:auto;gap:7px;scroll-snap-type:x mandatory;scrollbar-width:none}
 .heart-universes-grid::-webkit-scrollbar{display:none}
 .heart-universe{flex:0 0 78vw;min-height:430px;scroll-snap-align:start}
 .heart-universe strong{font-size:36px}
 body.home-page footer{padding:42px 0 28px}
 body.home-page footer .footer-inner{grid-template-columns:1fr;gap:28px}
 body.home-page footer .footer-links{grid-template-columns:1fr 1fr;gap:11px 18px}
 body.home-page footer .footer-note{max-width:none;margin:0}
}

/* Proposition 2.1 — harmonie globale, proportions et identité éditoriale. */
:root{
 --xplor-max:1480px;
 --xplor-gutter:clamp(14px,2.2vw,34px);
 --xplor-gap:clamp(5px,.65vw,10px);
 --xplor-ink:#123b47;
 --xplor-muted:#617773;
 --xplor-gold:#d8b86d;
 --xplor-paper:#f6f2e7;
 --xplor-display:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,"Times New Roman",serif;
 --xplor-sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
}
body.home-page{color:var(--xplor-ink);font-family:var(--xplor-sans);font-size:15px;line-height:1.6}
body.home-page h1,body.home-page h2,body.home-page h3,body.home-page .category-tile-label b,body.home-page .footer-brand{font-family:var(--xplor-display)}
body.home-page .hero{padding:var(--xplor-gutter) var(--xplor-gutter) 0}
body.home-page .hero-inner{width:100%;max-width:var(--xplor-max);margin-inline:auto;padding-bottom:clamp(16px,2vw,28px)}

/* En-tête : logo réellement centré, mêmes axes à toutes les largeurs. */
body.home-page .topbar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:82px;padding:10px clamp(14px,2vw,30px);border:1px solid rgba(255,255,255,.72);border-radius:0 0 28px 0;background:linear-gradient(100deg,rgba(248,252,248,.94),rgba(218,241,239,.86) 52%,rgba(248,252,248,.94));box-shadow:0 16px 42px rgba(4,55,64,.13);backdrop-filter:blur(16px)}
body.home-page .brand{grid-column:2;grid-row:1;justify-self:center;display:flex;align-items:center;justify-content:center}
body.home-page .brand img{width:clamp(220px,19vw,280px);height:62px;object-fit:contain}
body.home-page .header-nav{grid-column:1;grid-row:1;justify-self:start;justify-content:flex-start;gap:clamp(12px,1.5vw,24px)}
body.home-page .header-nav a,body.home-page .header-nav button{font-family:var(--xplor-sans);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
body.home-page .top-actions{grid-column:3;grid-row:1;justify-self:end}
body.home-page .weather-pill{font-family:var(--xplor-sans);letter-spacing:.02em}

/* Les quatre univers partagent une seule proportion et une seule ligne de base. */
body.home-page .hero-categories{gap:var(--xplor-gap);margin-top:clamp(12px,1.3vw,20px)}
body.home-page .hero-category{height:clamp(640px,78vh,900px);box-shadow:0 18px 42px rgba(8,47,51,.17)}
body.home-page .category-kicker{top:22px;left:18px;right:18px;text-align:center;font-family:var(--xplor-sans);font-size:9px;letter-spacing:.17em}
body.home-page .hero-category .category-tile-label{left:18px;right:18px;bottom:clamp(42px,5.5vw,78px);min-height:0}
body.home-page .hero-category .category-tile-label::before{width:44px;margin-bottom:17px;background:var(--xplor-gold)}
body.home-page .hero-category .category-tile-label b{max-width:100%;font-size:clamp(30px,2.65vw,44px);font-weight:500;line-height:.98;letter-spacing:-.045em;text-wrap:balance}

/* Publicité : un bandeau horizontal plus compact, lisible et centré sur l’événement. */
.event-spotlight{width:calc(100% - (var(--xplor-gutter) * 2));max-width:var(--xplor-max);min-height:clamp(245px,22vw,320px);margin:var(--xplor-gap) auto clamp(44px,5vw,72px);align-items:flex-end;border-radius:0 0 44px 0;background-position:center 56%;box-shadow:0 20px 48px rgba(11,48,51,.18)}
.event-spotlight-copy{max-width:560px;padding:clamp(26px,3.2vw,48px)}
.event-spotlight-copy img{width:clamp(145px,14vw,195px);margin-bottom:clamp(12px,1.5vw,20px)}
.event-spotlight-copy h2{margin-bottom:8px;font-family:var(--xplor-display);font-size:clamp(34px,3.5vw,52px);font-weight:500;line-height:.98;letter-spacing:-.05em}
.event-spotlight-copy p{max-width:440px;font-family:var(--xplor-sans);font-size:clamp(11px,.9vw,13px);line-height:1.55}
.event-spotlight>span{right:clamp(18px,2vw,30px);bottom:clamp(18px,2vw,30px);width:40px;height:40px}

/* Pages d’univers : même grille et rythme vertical que l’accueil. */
body.results-view .hero{padding:var(--xplor-gutter) var(--xplor-gutter) 0}
body.results-view .hero-inner{padding-bottom:clamp(12px,1.5vw,20px)}
body.results-view .results-view-heading{position:relative;width:100%;max-width:var(--xplor-max);margin:0 auto;padding:clamp(38px,5vw,72px) var(--xplor-gutter) clamp(24px,3vw,40px);text-align:center}
body.results-view .results-view-heading h2{margin:0;font-family:var(--xplor-display);font-size:clamp(38px,4.3vw,64px);font-weight:500;line-height:1;letter-spacing:-.045em;text-wrap:balance}
body.results-view .results-view-heading a{display:inline-block;margin-top:18px;color:#357379;font-size:11px;font-weight:750;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}
body.home-page .shell{width:100%;max-width:var(--xplor-max);margin-inline:auto;padding-inline:var(--xplor-gutter)}
body.results-view .results-section{padding:0 0 clamp(54px,7vw,92px);background:rgba(241,246,240,.78)}
body.results-view .results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;margin-bottom:var(--xplor-gap);padding:10px 18px;background:rgba(255,255,255,.72);color:var(--xplor-muted);font-size:12px}
body.results-view .cards{gap:clamp(8px,1vw,14px)}
body.results-view .activity-card{grid-template-columns:minmax(360px,42%) minmax(0,1fr);min-height:360px;border:0;background:rgba(255,255,255,.97);box-shadow:0 14px 34px rgba(23,62,59,.09)}
body.results-view .activity-card:last-child{border-bottom-right-radius:44px;overflow:hidden}
body.results-view .activity-visual{min-height:360px}
body.results-view .activity-body{padding:clamp(30px,4.2vw,64px)}
body.results-view .activity-body h3{margin-bottom:12px;font-family:var(--xplor-display);font-size:clamp(29px,2.75vw,42px);font-weight:500;line-height:1.04;letter-spacing:-.035em}
body.results-view .activity-desc{max-width:760px;color:var(--xplor-muted);font-family:var(--xplor-sans);font-size:15px;line-height:1.75}
body.results-view .card-actions{gap:10px;margin-top:20px}

/* Coups de cœur : la même famille visuelle que les quatre univers. */
.heart-universes{width:calc(100% - (var(--xplor-gutter) * 2));max-width:var(--xplor-max);margin:0 auto;padding:clamp(46px,5vw,72px) 0 clamp(58px,7vw,96px);background:transparent}
.heart-universes-heading{margin-bottom:clamp(24px,3vw,38px);text-align:center}
.heart-universes-heading span{margin-bottom:10px;color:#89754d;font-family:var(--xplor-sans);font-size:9px;letter-spacing:.2em}
.heart-universes-heading h2{font-family:var(--xplor-display);font-size:clamp(36px,4vw,58px);font-weight:500;letter-spacing:-.04em}
.heart-universes-grid{gap:var(--xplor-gap)}
.heart-universe{min-height:clamp(420px,38vw,560px);border:0;border-radius:0;box-shadow:0 16px 38px rgba(9,43,43,.16)}
.heart-universe:last-child{border-bottom-right-radius:44px}
.heart-universe>span{justify-content:flex-end;padding:24px 22px 62px}
.heart-universe small{top:22px;left:18px;right:18px;text-align:center;font-family:var(--xplor-sans);font-size:8px;letter-spacing:.17em}
.heart-universe strong{font-family:var(--xplor-display);font-size:clamp(28px,2.6vw,42px);font-weight:500;line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.heart-universe strong::before{width:42px;margin-bottom:16px;background:var(--xplor-gold)}
.heart-universe em{bottom:24px;font-family:var(--xplor-sans);font-size:9px;letter-spacing:.15em}

/* Pied de page compact : marque, navigation et mentions sur une seule bande. */
body.home-page footer{padding:clamp(24px,2.4vw,36px) 0 clamp(20px,2vw,30px)}
body.home-page footer .footer-inner{max-width:var(--xplor-max);padding-inline:var(--xplor-gutter);grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:center;gap:clamp(24px,3vw,44px)}
body.home-page footer .footer-inner>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand links" "sub links";align-items:center;column-gap:clamp(28px,3.5vw,56px);row-gap:5px}
body.home-page footer .footer-brand{grid-area:brand;display:flex;align-items:center;gap:12px}
body.home-page footer .footer-brand img{display:block;width:clamp(160px,14vw,205px);height:auto}
body.home-page footer .footer-brand span{padding-left:12px;border-left:1px solid rgba(255,255,255,.3);color:#d3e7e3;font-family:var(--xplor-sans);font-size:8px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
body.home-page footer .footer-sub{grid-area:sub;margin:0;font-family:var(--xplor-sans);font-size:11px;letter-spacing:.01em}
body.home-page footer .footer-links{grid-area:links;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;margin:0}
body.home-page footer .footer-links a,body.home-page footer .footer-links button{min-height:22px;font-family:var(--xplor-sans);font-size:10px;font-weight:600;line-height:1.3}
body.home-page footer .footer-note{max-width:320px;margin:0;padding:15px 17px;border:1px solid rgba(255,255,255,.16);border-radius:0 0 20px 0;font-family:var(--xplor-sans);font-size:9px;line-height:1.55}

@media(max-width:1100px){
 body.home-page .header-nav{gap:11px}
 body.home-page .header-nav a,body.home-page .header-nav button{font-size:9px}
 body.home-page .brand img{width:210px}
 body.home-page .weather-pill{display:none}
 body.home-page .hero-category{height:clamp(620px,78vh,820px)}
 body.results-view .activity-card{grid-template-columns:minmax(330px,40%) minmax(0,1fr)}
}

@media(max-width:900px){
 body.home-page footer .footer-inner{grid-template-columns:1fr;gap:20px}
 body.home-page footer .footer-note{max-width:none}
}

@media(max-width:760px){
 :root{--xplor-gutter:10px;--xplor-gap:5px}
 body.home-page .hero{padding-top:8px}
 body.home-page .topbar{display:flex;justify-content:center;min-height:68px;padding:8px 58px 8px 12px;border-radius:0 0 22px 0}
 body.home-page .brand{margin:auto}
 body.home-page .brand img{width:190px;height:50px}
 body.home-page .header-nav{display:none}
 body.home-page .top-actions{position:absolute;right:10px;top:50%;transform:translateY(-50%);gap:5px}
 body.home-page .top-actions .language-label{display:none}
 body.home-page .fav-pill{font-size:24px}
 body.home-page .hero-categories{padding:0}
 body.home-page .hero-category{flex-basis:84vw;height:auto;aspect-ratio:10/19}
 body.home-page .category-kicker{top:19px;font-size:8px}
 body.home-page .hero-category .category-tile-label{bottom:48px}
 body.home-page .hero-category .category-tile-label b{font-size:clamp(36px,10.5vw,48px)}
 .event-spotlight{min-height:260px;margin-bottom:42px;border-radius:0 0 30px 0;background-position:61% center}
 .event-spotlight-copy{max-width:76%;padding:24px 20px}
 .event-spotlight-copy img{width:140px;margin-bottom:14px}
 .event-spotlight-copy h2{font-size:34px;margin-bottom:7px}
 .event-spotlight-copy p{max-width:245px;font-size:10px;line-height:1.5}
 .event-spotlight>span{right:16px;bottom:16px;width:34px;height:34px;font-size:16px}
 body.results-view .hero{padding:8px var(--xplor-gutter) 0}
 body.results-view .results-view-heading{padding:34px 16px 24px}
 body.results-view .results-view-heading h2{font-size:38px}
 body.results-view .results-toolbar{align-items:flex-start;flex-direction:column;gap:5px;padding:13px 15px}
 body.results-view .activity-card{display:block;min-height:0;border-radius:0}
 body.results-view .activity-card:last-child{border-bottom-right-radius:30px}
 body.results-view .activity-visual{min-height:0;aspect-ratio:4/3}
 body.results-view .activity-body{padding:24px 20px 28px}
 body.results-view .activity-body h3{font-size:31px}
 body.results-view .activity-desc{font-size:14px;line-height:1.7}
 .heart-universes{padding-top:42px}
 .heart-universes-heading{padding-inline:12px}
 .heart-universes-grid{gap:var(--xplor-gap)}
 .heart-universe{flex-basis:84vw;min-height:470px;border-radius:0}
 .heart-universe:last-child{border-bottom-right-radius:30px}
 .heart-universe strong{font-size:38px}
 body.home-page footer{padding:26px 0 22px}
 body.home-page footer .footer-inner{grid-template-columns:1fr;gap:22px}
 body.home-page footer .footer-inner>div:first-child{display:block}
 body.home-page footer .footer-brand{align-items:flex-start;flex-direction:column;gap:12px}
 body.home-page footer .footer-brand img{width:180px}
 body.home-page footer .footer-brand span{padding:0;border:0}
 body.home-page footer .footer-sub{margin-top:8px}
 body.home-page footer .footer-links{grid-template-columns:1fr 1fr;gap:9px 18px;margin-top:18px}
 body.home-page footer .footer-note{border-radius:0 0 22px 0}
}
