/* Reading rhythm and containment: only the navigation sidebar is sticky. */
.country-grid{grid-template-columns:210px minmax(0,1fr)}
.country-grid>article,.country-grid>aside{min-width:0}
.country-grid article aside.guide-callout{position:static;top:auto;z-index:auto;max-width:100%;height:auto;clear:both}
.country-grid article aside.guide-callout p{display:block!important;font-size:1rem;margin:10px 0!important;color:inherit}
.country-grid article h2{overflow-wrap:anywhere}.country-grid article h3{margin-top:32px;scroll-margin-top:110px}
.country-grid article p{max-width:75ch;margin:16px 0;line-height:1.8}
.country-grid article .guide-cover{margin:24px 0}.guide-cover img{display:block;width:100%;object-fit:cover;border-radius:16px}
.article-toc:empty{display:none}.action-list,.table-scroll{max-width:100%;overflow-x:auto}
.japan-hero{isolation:isolate}.japan-hero>img{object-position:center 52%}.japan-hero:after{background:linear-gradient(90deg,rgba(5,18,30,.78),rgba(5,18,30,.15))}
.photo-credit{display:block;font-size:.8rem!important;color:var(--muted);margin:8px 0 24px!important}
.discover-intro-layout{align-items:start}.discover-side{height:auto}.country-story .story-lede{max-width:42ch}
.country-grid .carousel-bar{align-items:center;gap:20px;flex-wrap:wrap}.carousel-controls{flex-shrink:0}
.country-grid .tiktok-grid,.japan-guide:has(.tiktok-grid) .tiktok-grid{display:flex;overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto;gap:16px;position:relative;padding:4px 2px 16px;max-width:100%;}
.country-grid .tiktok-card,.japan-guide:has(.tiktok-grid) .tiktok-card{flex:0 0 220px;max-width:220px;scroll-snap-align:none;min-width:0}
.country-grid .tiktok-media,.japan-guide:has(.tiktok-grid) .tiktok-media{aspect-ratio:9/14;height:auto;min-height:0}
.country-grid .tiktok-copy{padding:14px}.country-grid .tiktok-copy h3{font:600 1rem/1.45 'DM Sans',sans-serif;margin:8px 0 12px;min-height:0;overflow-wrap:anywhere}
.country-grid .tiktok-copy small{font-size:.75rem;overflow-wrap:anywhere}.country-grid .tiktok-rank{font-size:.7rem;pointer-events:none}.tiktok-muted{pointer-events:none}
.social-consent{padding:28px 18px;text-align:center;color:#fff;display:grid;gap:14px}.social-consent p{font-size:.9rem!important;line-height:1.5!important;margin:0!important}.social-consent strong{font-size:.8rem;letter-spacing:.1em}.social-consent button{border:1px solid #8cb2c8;background:#19374a;color:white;padding:11px;border-radius:9px;cursor:pointer;font:inherit}
.nav{height:auto;min-height:82px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:16px}.nav nav{flex-wrap:wrap;gap:16px}.nav-end{flex-wrap:wrap}.foot button{background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}
.language-page{min-height:65vh;padding-top:90px;padding-bottom:100px;max-width:1000px}.language-page .eyebrow{display:block}.coming-badge{display:inline-block;margin-top:30px;border:1px solid var(--line);border-radius:30px;padding:8px 14px;font-size:.875rem;color:var(--blue)}.language-page h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.08;letter-spacing:-.035em;margin:28px 0}.language-page p{max-width:570px;line-height:1.8;font-size:1.1rem}.language-page .btn{margin-top:22px}
.cookie-dialog{width:min(580px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:22px;padding:28px;color:var(--ink);background:var(--bg);box-shadow:0 20px 90px #0004}.cookie-dialog::backdrop{background:#09213080;backdrop-filter:blur(3px)}.cookie-heading{display:flex;align-items:center;gap:14px;font-size:.8rem;letter-spacing:.09em}.cookie-dialog h2{font-size:1.8rem;margin:20px 0 12px}.cookie-dialog p{font-size:1rem;line-height:1.65}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.cookie-actions button,#cookie-save{flex:1;min-width:125px;padding:12px 14px;border:1px solid var(--blue);color:var(--ink);background:transparent;border-radius:10px;font:600 .9rem/1.3 sans-serif;cursor:pointer}.cookie-actions button:hover,#cookie-save:hover{background:var(--blue);color:#fff}.cookie-dialog a{display:block;margin-top:16px;font-size:.875rem}.consent-row{display:flex;align-items:center;gap:16px;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0}.consent-row small{display:block;font-size:.85rem;margin-top:7px}.consent-row input{width:20px;height:20px;flex-shrink:0;accent-color:var(--blue)}
.profile-heading{padding-top:55px;padding-bottom:30px}.profile-heading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.4rem,5vw,4rem);line-height:1.12;margin:16px 0}.profile-heading p{color:var(--muted);line-height:1.7}.profile-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;padding-bottom:80px;align-items:start}.profile-overview{display:grid;gap:14px;position:sticky;top:24px}.profile-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#173c53;color:#fff;font-size:1.6rem}.profile-overview h2{margin:0}.profile-overview p{margin:0;color:var(--muted);font-size:.875rem;overflow-wrap:anywhere}.profile-budget-summary{padding:20px 0;border-block:1px solid var(--line);margin:8px 0}.profile-budget-summary span{display:block;color:var(--muted);font-size:.85rem;margin-bottom:8px}.profile-budget-summary strong{font-size:1.8rem}.profile-editor h2,.profile-settings h2{margin-top:0;font-size:1.5rem}.profile-editor h3{margin:28px 0 10px;font-size:1.2rem}.profile-editor p{line-height:1.65;color:var(--muted)}.profile-editor .field{margin-top:16px}.profile-editor input,.profile-editor select{width:100%;box-sizing:border-box}.profile-interests{margin:24px 0}.profile-interests label:has(input:checked){background:#dcebf1;color:#163c54;border-color:#236b91}.profile-save{border-top:1px solid var(--line);padding-top:22px}.profile-settings{margin-top:24px}.profile-setting-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:800px){.country-grid{grid-template-columns:minmax(0,1fr);gap:24px}.country-grid>aside{position:static}.country-grid>aside nav{max-width:100%;overflow:auto}.profile-workspace{grid-template-columns:1fr}.profile-overview{position:static}.nav nav{order:3;width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;white-space:nowrap}.nav nav a{font-size:.875rem}.nav-end{margin-left:auto}.discover-intro-layout{grid-template-columns:1fr}.country-grid .tiktok-card,.japan-guide:has(.tiktok-grid) .tiktok-card{flex-basis:200px;max-width:200px}.language-page{padding-top:52px}.cookie-dialog{padding:22px}.country-grid article h2{font-size:2.2rem}.profile-editor .fields{grid-template-columns:1fr}}
.profile-editor .profile-interests input{width:18px;height:18px;accent-color:var(--blue)}
.guide-cover img[src*="japan-kyoto"]{object-position:center 34%}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Icônes au trait (icons.js, Tabler Icons MIT) à la place des émojis */
.ico{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
button .ico,a .ico{pointer-events:none}

/* Bas de page : infos techniques (domaine, SSL, hébergement) */
.foot-note .foot-tech{display:flex;flex-wrap:wrap;justify-content:flex-start;width:100%;gap:4px 16px;margin-top:8px;font-size:.8rem;opacity:.75}
.foot-note .foot-tech>span{display:inline-flex;align-items:center;gap:5px}
.foot-note .foot-tech .ico{width:14px;height:14px}
footer .foot button[data-cookie-settings]{font:inherit!important;font-size:13.28px!important;letter-spacing:inherit!important;align-self:flex-start;padding:0;background:none;border:0;color:inherit;cursor:pointer}
footer .foot-social{display:flex;gap:10px;margin-top:14px}
footer .foot-social a{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;border:1px solid currentColor;border-radius:999px;color:inherit;text-decoration:none;font-size:.85rem;opacity:.85;transition:opacity .2s,background .2s}
footer .foot-social a:hover,footer .foot-social a:focus-visible{opacity:1;background:rgba(255,255,255,.08)}
footer .foot-social .ico{width:18px;height:18px}
