/* LOCAL INDEX v28: Clarity, rhythm and meaningful space.
   A progressive enhancement layer; no new photographic asset or false artwork. */
:root { --li28-ink:#203730; --li28-muted:#4f6257; --li28-border:#d5ddd4; --li28-paper:#fcfbf7; --li28-accent:#244a3d; --li28-max:1160px; }
html { text-size-adjust:100%; scroll-padding-top:82px; }
body { line-height:1.68; text-rendering:optimizeLegibility; }
a { text-underline-offset:3px; }
:where(a,button,input,select,summary):focus-visible { outline:3px solid #b96e30!important; outline-offset:3px!important; }
:where(input,button,select) { font:inherit; }
:where(p,li,td) {overflow-wrap:break-word;}
/* Preserve deep reading material but constrain the line length, paragraph rhythm and scan hierarchy. */
.detail-grid article > :where(.detail-section,.li26-section,.li27-section) > p,
.detail-grid article .li26-section > p,
.li27-detail-columns p, .li26-section > p, .li27-offer-card p { max-width:74ch;line-height:1.85; }
.detail-grid article :where(h2,h3), .li27-page :where(h2,h3),.li26-section h2 { letter-spacing:-.028em;line-height:1.38; }
.detail-section .eyebrow{font-size:.77rem;letter-spacing:.06em;line-height:1.55;font-weight:750;}
.detail-section h2{font-size:clamp(1.38rem,2.1vw,1.85rem);line-height:1.38;margin-block:5px 14px;}
.detail-section > p, .detail-section .fineprint{font-size:.94rem;line-height:1.8;}
.detail-grid{column-gap:clamp(18px,3vw,36px);}
.detail-section {scroll-margin-top:95px;}
.detail-section :is(a,button){text-decoration-thickness:1px;}
.country-field-card,.country-price-card{line-height:1.72;}
.country-field-card strong{font-size:1.06rem;line-height:1.48;}
.country-field-card span:last-child{line-height:1.8;font-size:.92rem;}
.country-field-section .country-field-grid {grid-template-columns:repeat(auto-fit,minmax(235px,1fr));}
.li26-section{margin-block:16px 22px;padding:clamp(18px,2.1vw,28px);box-shadow:none;}
.li26-section h2{font-size:clamp(1.28rem,1.9vw,1.65rem);}
.li26-uk-history>div{padding:18px 17px;}
.li26-uk-history strong{font-size:1.35rem;}
.li26-comparison-wrap{border-radius:16px;border:1px solid var(--li28-border);}
.li26-compare th,.li26-compare td{padding:14px;line-height:1.68;}
.li26-compare th{font-size:.85rem;}
/* Country hero: have the actual store image do the work; avoid huge empty coloured panels. */
.li25-country-top{padding-block:clamp(30px,4vw,50px)!important;}
.li25-country-top .country-head{gap:clamp(18px,3.5vw,45px)!important;align-items:center;}
.li25-country-top .country-head h1{font-size:clamp(2.8rem,4.6vw,4.8rem)!important;letter-spacing:-.06em;line-height:1.15!important;margin-block:9px 16px;}
.li25-country-top .country-head p{font-size:clamp(.97rem,1.24vw,1.1rem);line-height:1.85;max-width:53ch;}
.li25-country-top .country-head .large-flag{font-size:2.45rem!important;margin-top:13px!important;}
.li25-country-top .country-photo-wrap{height:clamp(190px,22vw,285px)!important;position:relative;overflow:hidden;}
.li25-country-top .country-photo-feature{border:1px solid #b8b8a822;}
.li28-country-photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:25px;text-align:center;font-size:.97rem;font-weight:750;color:#39554b;background:linear-gradient(125deg,#dfebe3,#efece1);line-height:1.6;}
.li25-country-top[data-country-theme=uk] .li28-country-photo-placeholder{background:repeating-linear-gradient(90deg,#ede2d1 0 64px,#e4d5bf 65px 66px);color:#584231;}
.country-photo-wrap img:not([hidden]){position:relative;z-index:1;}
.li25-country-top .li25-country-nav{gap:7px;}
.li25-country-top .li25-country-nav a{font-size:.85rem;line-height:1.35;min-height:42px;}
.li25-country-top .li25-atlas-promo{margin-top:16px;padding:15px 20px;border-radius:18px;gap:10px;}
/* Homepage: one navigation strip, one photo-led entry, no floating link duplicate. */
.li25-home-hero{min-height:0!important;grid-template-columns:minmax(0,48%) minmax(0,52%)}
.li25-home-hero .hero-copy{padding-block:clamp(34px,4vw,62px)!important;}
.li25-home-hero h1{font-size:clamp(2.45rem,4.25vw,4.45rem)!important;line-height:1.25;max-width:18ch;letter-spacing:-.055em;}
.li25-home-hero .hero-claim{font-size:clamp(1.08rem,1.5vw,1.2rem);line-height:1.65;}
.li25-home-hero .hero-description{font-size:1rem;line-height:1.85;max-width:52ch;}
.li25-hero-photos{min-height:445px!important;}
.li25-journey-links{margin-top:0;gap:9px;padding-block:11px;}
.li25-journey-links a{min-height:44px;font-size:.9rem;padding-inline:15px;}
#destinations>.heading,#brands>.heading{margin-bottom:18px;}
#destinations .heading h2,#brands .heading h2{font-size:clamp(1.5rem,2.9vw,2.3rem);letter-spacing:-.035em;line-height:1.25;}
#destinations .heading .eyebrow,#brands .heading .eyebrow{font-size:.77rem;}
.li25-destination .destination-copy {line-height:1.55;}
/* WORLD: start with the 23 real guides rather than a wall of 249 placeholder cards. */
.li26-world{background:#f9f7f0!important;color:var(--li28-ink);font-size:16px;}
.li26-world header{background:#fffdf8;min-height:70px;padding:14px clamp(18px,4vw,55px)!important;}
.li26-world header a:focus-visible{border-radius:5px;}
.li26-world main.li28-world-main{max-width:1160px;padding:30px clamp(18px,4vw,40px) 88px;}
.li28-world-main>h1{font-size:clamp(2.0rem,3.5vw,3.4rem);letter-spacing:-.05em;line-height:1.3;max-width:26ch;margin:12px 0 10px;}
.li28-world-main>.li26-world-lead{font-size:1.05rem;line-height:1.85;margin:0 0 13px;color:#364b40;}
.li28-world-main>.li28-world-caveat{font-size:.82rem;color:#5f6c62;line-height:1.65;margin:4px 0 20px;max-width:77ch;}
.li28-world-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:660px;margin:20px 0 20px;}
.li28-stat{display:flex;align-items:center;gap:12px;padding:13px 17px;border:1px solid #d7dfd5;border-radius:18px;background:#fff;box-shadow:0 5px 16px #15352409;}
.li28-stat strong{font-size:clamp(1.7rem,2.8vw,2.5rem);letter-spacing:-.06em;line-height:1.2;color:#25513d;font-variant-numeric:tabular-nums;}
.li28-stat span{font-size:.91rem;color:#43554b;font-weight:700;}
.li28-world-main .li26-controls{margin:17px 0 8px;align-items:stretch;gap:10px;}
.li28-world-main .li26-controls input{flex:1 1 350px;min-height:52px;font-size:1rem;border:1.5px solid #a4b6a6;box-shadow:none;}
.li28-world-main .li26-filter{align-items:center;gap:6px;}
.li28-world-main .li26-filter button{font-size:.85rem;padding:10px 13px;}
.li28-search-tip{font-size:.82rem;color:#496051;line-height:1.7;margin:4px 0 12px;}
.li28-world-main p[role=status]{margin:0 0 12px;font-size:.95rem;}
.li28-world-main .li26-world-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px;align-items:stretch;}
.li28-world-main .li26-world-card{min-height:110px;gap:8px;padding:16px 18px;background:#fff;border-color:#d5dfd2;border-radius:16px;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.li28-world-main .li26-world-card.is-live{border-color:#b4cbb8;border-top:4px solid #2b664c;padding-top:13px;}
.li28-world-main .li26-world-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #173d2710;border-color:#719b81;}
.li28-world-main .li26-world-flag{font-size:1.65rem;line-height:1.05;}
.li28-world-main .li26-world-name{font-size:1rem;letter-spacing:-.018em;line-height:1.45;}
.li28-world-main .li26-world-card a{font-size:.89rem;color:#185539;line-height:1.5;}
.li28-world-main .li26-world-state{font-size:.88rem;}
/* Catalog: no fictitious product art. Make searchable, honest cards instead. */
.li27-shell{max-width:1160px;padding-block:clamp(27px,3vw,48px);}
.li27-breadcrumb{font-size:.87rem;line-height:1.6;margin-bottom:23px;}
.li27-kicker{font-size:.72rem;letter-spacing:.08em;color:var(--li28-muted);}
.li27-catalog h1,.li27-compare-page h1,.li27-offers h1,.li27-page h1{font-size:clamp(1.9rem,3.25vw,3.15rem);letter-spacing:-.045em;line-height:1.25;margin-bottom:14px;}
.li27-lede{font-size:1.06rem;max-width:64ch;line-height:1.84;}
.li27-note{font-size:.88rem;line-height:1.75;max-width:83ch;}
.li27-catalog-hero{padding:clamp(22px,3vw,36px);margin-bottom:22px;border:1px solid #d6ded4;background:linear-gradient(117deg,#f0f2e9,#fcf7ef);}
.li27-catalog-hero p{margin-block:10px;}
.li27-catalog-filters button{font-weight:720;font-size:.92rem;}
.li27-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:12px;}
.li27-catalog-card{border-radius:17px;box-shadow:none;display:flex;flex-direction:column;}
.li27-catalog-card:hover{box-shadow:0 13px 30px #173e2c15;transform:translateY(-2px);}
.li28-catalog-brandline{display:flex;align-items:center;padding:13px 17px;background:#eef2ed;border-bottom:1px solid #d4ded3;min-height:48px;}
.li28-catalog-brandline b{font-size:.79rem;letter-spacing:.03em;font-weight:850;color:#345a47;}
.li27-catalog-info{padding:17px;gap:7px;flex:1;}
.li27-catalog-info small{font-size:.81rem;line-height:1.45;}
.li27-catalog-info strong{font-size:1.09rem;line-height:1.48;letter-spacing:-.02em;}
.li27-catalog-info span{font-size:.94rem;margin-top:auto;line-height:1.5;}
/* Product detail: compact verifiable information panel rather than 420px of placeholder decoration. */
.li27-product-layout{grid-template-columns:minmax(0,1.24fr) minmax(260px,.76fr);gap:clamp(18px,3vw,36px);align-items:start;}
.li27-page .li27-lede{max-width:62ch;}
.li27-page .li27-facts{margin:18px 0;}
.li27-fact-pill{font-size:.83rem;line-height:1.6;border-radius:12px;}
.li27-price-block{margin:19px 0;padding:20px 23px;border-radius:18px;}
.li27-price{font-size:clamp(1.6rem,2.8vw,2.1rem);}
.li28-product-source{background:#eef3ed;border:1px solid #cbd9ca;border-radius:22px;padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:14px;box-shadow:none;color:#243a2e;}
.li28-source-kicker{color:#526b58;font-size:.77rem;font-weight:850;letter-spacing:.045em;}
.li28-product-source h2{font-size:clamp(1.18rem,1.7vw,1.45rem);margin:0;line-height:1.4;letter-spacing:-.03em;}
.li28-product-source p{font-size:.94rem;line-height:1.85;margin:0;}
.li28-product-source small{font-size:.83rem;color:#53675c;line-height:1.65;}
.li28-external-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:12px;background:#244d3c;color:#fff!important;text-decoration:none!important;font-size:.91rem;font-weight:800;}
.li28-external-button:hover{background:#173f2c;}
.li27-detail-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:22px;}
.li27-detail-columns>section{padding:22px;border-radius:16px;}
.li27-more{margin-top:20px;}
/* Compare product tables: legible rows, no unstyled default blue text, stable mobile overflow. */
.li27-compare-group{margin-block:25px;}
.li27-compare-group h2{font-size:clamp(1.25rem,2vw,1.75rem);margin-bottom:10px;}
.li27-compare-scroll{border-radius:16px;max-width:100%;scrollbar-color:#a9b9aa #f2f4ef;}
.li27-compare-scroll table{min-width:680px;table-layout:auto;}
.li27-compare-scroll th,.li27-compare-scroll td{font-size:.92rem;line-height:1.68;padding:14px 18px;}
.li27-compare-scroll th[scope=row]{min-width:185px;max-width:265px;}
.li27-compare-scroll th[scope=row] a,.li27-compare-scroll td a{color:#17563b;overflow-wrap:anywhere;}
.li27-compare-scroll th[scope=row] small{margin-top:4px;line-height:1.4;}
.li27-compare-scroll tbody tr:nth-child(even){background:#fafaf6;}
.li27-offers-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px;}
.li27-offer-card{padding:23px 22px;border-radius:18px;}
.li27-offer-card h2{font-size:1.13rem;line-height:1.5;}
.li27-offer-card a{color:#125437;font-weight:800;}
.li27-offer-caution{font-size:.82rem;line-height:1.7;}
/* Shop reading, body & cards */
.li28-shop-main .detail-top{padding-block:clamp(30px,4vw,52px);}
.li28-shop-main .detail-head h1{font-size:clamp(2.1rem,3.5vw,3.65rem);line-height:1.15;}
.li28-shop-main .detail-head p{font-size:1rem;line-height:1.8;max-width:58ch;}
.li28-shop-main .li27-shop-products{gap:12px;}
.li28-shop-main .li27-shop-product{border-radius:16px;}
.li28-shop-main .li26-section h2{line-height:1.36;}
/* Every layout adjusts to touch screens; neither text nor action must overlap. */
@media(max-width:920px){
 .li25-home-hero{grid-template-columns:1fr;}
 .li25-hero-photos{min-height:340px!important;}
 .li27-product-layout{grid-template-columns:1fr;}
 .li28-product-source{order:-1;}
}
@media(max-width:720px){
 html{scroll-padding-top:68px;}
 .li28-world-main>h1{font-size:clamp(1.92rem,7.3vw,2.65rem);line-height:1.32;}
 .li28-world-overview{gap:9px;}
 .li28-stat{padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
 .li28-world-main .li26-world-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 .li28-world-main .li26-world-card{padding:12px;min-height:126px;}
 .li28-world-main .li26-world-name{font-size:.94rem;overflow-wrap:anywhere;}
 .li28-world-main .li26-world-card a{font-size:.82rem;}
 .li25-home-hero .hero-copy{padding:35px 21px 26px!important;}
 .li25-home-hero h1{font-size:clamp(2.2rem,8.7vw,3.1rem)!important;}
 .li25-home-hero .hero-description{font-size:.98rem;}
 .li25-home-hero .hero-cta{display:flex;gap:10px;flex-wrap:wrap;}
 .li25-hero-photos{min-height:320px!important;}
 .li25-country-top .country-head h1{font-size:clamp(2.6rem,9vw,3.7rem)!important;}
 .li25-country-top .country-photo-wrap{height:215px!important;}
 .li25-country-top .li25-country-nav{gap:7px;}
 .li27-shell{padding-inline:18px;}
 .li27-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 .li27-catalog-card{min-width:0;}
 .li27-catalog-info{padding:12px;}
 .li27-catalog-info strong{font-size:.98rem;overflow-wrap:anywhere;}
 .li27-catalog-info span{font-size:.87rem;}
 .li27-compare-page .li27-note,.li27-offers .li27-note{font-size:.85rem;}
 .li27-compare-scroll:after{content:'↔';position:absolute;pointer-events:none;opacity:0;}
 .li27-product-layout{gap:16px;}
 .li28-product-source{order:0;padding:18px;}
 .li27-detail-columns{grid-template-columns:1fr;}
 .li27-actions a{width:100%;}
 .detail-grid article>section{scroll-margin-top:80px;}
}
@media(max-width:410px){.li28-world-main .li26-world-grid{grid-template-columns:1fr 1fr}.li27-catalog-grid{grid-template-columns:1fr}.li25-hero-photos{min-height:270px!important}.li25-home-hero h1{font-size:2.2rem!important}}
@media(prefers-reduced-motion:reduce){.li28-world-main .li26-world-card,.li27-catalog-card,.li25-journey-links a{transition:none!important;transform:none!important}}
/* Dark mode: do not blindly force cream-on-cream or white-on-white typography. */
:root[data-theme=dark] .li28-product-source{background:#243d32;border-color:#587362;color:#eef5eb;}
:root[data-theme=dark] .li28-product-source p,:root[data-theme=dark] .li28-product-source small,:root[data-theme=dark] .li28-source-kicker{color:#d9e7d8;}
:root[data-theme=dark] .li28-catalog-brandline{background:#294437;border-color:#577565;}
:root[data-theme=dark] .li28-catalog-brandline b{color:#e4f2e3;}
/* Final QA pass: a compact, credited image gallery AFTER useful product filters. */
.li27-catalog .li28-photo-gallery{margin:10px 0 28px;gap:12px;}
.li28-gallery-title{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.35;margin:24px 0 12px;letter-spacing:-.025em;}
.li27-catalog .li27-real-photo-frame{height:clamp(130px,15vw,190px);}
.li27-catalog .li27-real-photo figcaption{font-size:.82rem;line-height:1.6;}
.li27-compare-scroll td:nth-child(3),.li27-compare-scroll th:nth-child(3){min-width:155px;white-space:nowrap;}
.li27-compare-scroll td:nth-child(4),.li27-compare-scroll th:nth-child(4){min-width:170px;}
.li27-compare-scroll td:nth-child(4) a{white-space:nowrap;}
.li28-swipe-hint{font-size:.82rem;color:var(--li28-muted);margin:0 0 9px;display:none;}
@media(max-width:720px){.li28-swipe-hint{display:block}.li27-catalog .li28-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.li27-catalog .li27-real-photo-frame{height:145px}.li27-catalog .li27-real-photo figcaption{font-size:.7rem;overflow-wrap:anywhere;}}
@media(max-width:410px){.li27-catalog .li28-photo-gallery{grid-template-columns:1fr}.li27-catalog .li27-real-photo-frame{height:175px}}
/* Dynamic result count must communicate what the number represents. */
#li27-count{font-weight:800;color:var(--li28-ink);font-variant-numeric:tabular-nums;margin:0;}
html[lang=ja] #li27-count::after{content:' 件の商品を表示';font-size:.86rem;font-weight:500;}
html[lang=en] #li27-count::after{content:' products shown';font-size:.86rem;font-weight:500;}
html[lang=es] #li27-count::after{content:' productos visibles';font-size:.86rem;font-weight:500;}
.li27-compare-scroll th,.li27-compare-scroll td{font-size:.96rem;}
