/* Elite Ladies Club V4.0.6 — full-site spacing, no dangling short text, quieter images.
   Applies to presentation only. Preserves page data, admin forms, pricing rules, membership and bookings. */
/* Chinese headlines and paragraphs: avoid one or two words stranded on a final line.
   Chromium/modern browsers use pretty wrapping; legacy engines degrade to normal flow. */
body.v26-app :is(h1,h2,h3,h4){text-wrap:balance;overflow-wrap:break-word;word-break:normal}
body.v26-app :is(p,li,figcaption,small){text-wrap:pretty;overflow-wrap:break-word}
body.v26-app :is(.eyebrow,.v27-price-label,.elc396-card-category){text-wrap:nowrap;white-space:normal;letter-spacing:.07em}
/* Prevent single-character wraps in the small, predictable Chinese labels and CTAs on wide screens only. */
@media(min-width:1050px){
 html[lang="zh-cn"] body.v26-app .v27-price-card h3,
 html[lang="zh-cn"] body.v26-app .elc394-price-story-link,
 html[lang="zh-cn"] body.v26-app .elc402-hub-nav a,
 html[lang="zh-cn"] body.v26-app .elc405-tier .eyebrow{white-space:nowrap;overflow-wrap:normal}
}
/* Make headings fit where a row genuinely has enough room; do not shrink readable mobile copy. */
body.v26-app .section-title h2{font-size:clamp(24px,2.3vw,35px)!important;line-height:1.3!important;margin-bottom:12px}
body.v26-app .page-head h1{font-size:clamp(23px,2.15vw,33px)!important;line-height:1.3!important;max-width:1100px}
body.v26-app .page-head p{max-width:1100px!important;font-size:14px;line-height:1.65}
body.v26-app .page-head{padding-block:17px 15px!important}
body.v26-app .elc405-membership-hero{max-width:1120px}
body.v26-app .elc405-membership-hero h2{font-size:clamp(23px,2.3vw,32px)}
body.v26-app .elc405-membership-path h3,body.v26-app .elc405-two-col h3{font-size:clamp(18px,1.55vw,24px)}
body.v26-app .elc405-tier-text{padding:15px 17px 17px;gap:7px}
body.v26-app .elc405-tier h3{font-size:clamp(18px,1.36vw,22px)}
body.v26-app .elc405-tier ul{gap:6px;margin-bottom:12px}
body.v26-app .elc403-us h2,body.v26-app .elc401-journey h2{font-size:clamp(22px,2.15vw,31px)}
body.v26-app .elc404-events-hero h1{font-size:clamp(24px,2.45vw,35px)}
body.v26-app .elc404-section-title h2{font-size:clamp(20px,2vw,28px)}
body.v26-app .v390-section-copy h2{font-size:clamp(22px,2.5vw,34px);line-height:1.32}
body.v26-app .v390-detail-description{font-size:16px;line-height:1.85}
/* Re-use available width: card content and actions should not force an extra line. */
body.v26-app .elc404-promo-text,body.v26-app .elc404-scene>div{padding:12px 13px}
body.v26-app .elc404-promo-text{gap:7px}
body.v26-app .elc404-promo-text h3{font-size:clamp(15px,1.25vw,17px);line-height:1.42}
body.v26-app .elc404-scene h3{font-size:clamp(15px,1.3vw,17px);line-height:1.42}
body.v26-app .elc404-related-card{gap:10px;padding:9px}
body.v26-app .elc404-related-card strong{font-size:clamp(13px,1.1vw,15px);line-height:1.45}
body.v26-app .elc401-service>div{padding:13px;gap:7px}
body.v26-app .elc401-service h3{font-size:clamp(16px,1.28vw,20px)}
body.v26-app .v330-guide-card .copy{padding:12px}
body.v26-app .v330-guide-card h2{font-size:clamp(15px,1.25vw,19px);line-height:1.45}
body.v26-app .v27-price-card h3{font-size:clamp(15px,1.25vw,18px);line-height:1.36}
body.v26-app .v27-price-card .elc394-price-story-link{min-height:26px}
body.v26-app .elc403-aside h2{font-size:clamp(17px,1.55vw,22px)}
body.v26-app .elc403-us-card h3{font-size:clamp(14px,1.17vw,16px)}
body.v26-app .elc396-card-text h3{font-size:clamp(15px,1.3vw,19px);line-height:1.4}
body.v26-app .elc396-story-card{padding:12px 11px 15px}
body.v26-app .elc396-card-text{gap:6px}
/* Compact desktop navigation, footer links, short badges. Wrap whole link items, never individual glyphs. */
body.v26-app .topbar .menu a,body.v26-app .site-footer nav a{white-space:nowrap;overflow-wrap:normal}
body.v26-app .site-footer nav{display:flex;flex-wrap:wrap;column-gap:15px;row-gap:8px}
body.v26-app .elc402-hub-nav a{min-width:0;letter-spacing:0}
body.v26-app .btn{word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
/* Hero panels should invite reading without dominating the viewport. */
body.v26-app .hero{min-height:330px!important}
body.v26-app .hero .hero-content{padding-block:37px;max-width:min(720px,calc(100% - 34px))}
body.v26-app .v26-home .v26-hero-image{min-height:245px!important;max-height:345px}
body.v26-app .v26-home .nationwide-feature .nationwide-photo img{max-height:220px!important}
body.v26-app .nationwide-hero{min-height:285px!important}
body.v26-app .v390-section{padding-block:clamp(20px,2.7vw,39px)}
/* Image limits by intent: detail 260–340, normal cards ~105–145, inset story images <=240. */
body.v26-app .v390-section-inner img{width:100%;max-width:470px;max-height:275px;object-fit:contain;justify-self:center}
body.v26-app .v390-detail-image,body.v26-app .v392-event-detail .v390-detail-image{display:block;width:min(100%,640px);max-height:340px;height:auto;aspect-ratio:auto;object-fit:contain;margin-inline:auto}
body.v26-app .v390-card img{max-height:145px;aspect-ratio:16/9;object-fit:contain;object-position:center}
body.v26-app .v390-card>div{padding:16px}
body.v26-app .v330-service-hero img{width:100%;max-width:440px;max-height:275px;height:auto;aspect-ratio:auto;object-fit:contain;justify-self:center}
body.v26-app .v330-article-sections>img{display:block;width:min(100%,600px)!important;height:auto!important;max-height:270px!important;object-fit:contain!important;margin:0 auto 20px}
body.v26-app .elc401-service img{max-height:138px!important;height:138px;object-fit:cover;object-position:center 39%}
body.v26-app .elc401-ritual-card img{height:110px!important;max-height:110px;object-fit:cover}
body.v26-app .v330-guide-card img{max-height:120px!important;aspect-ratio:16/9;object-fit:contain;background:#e8ded0}
body.v26-app .elc402-guides .v330-guide-card img{max-height:120px!important}
body.v26-app .elc401-step img{width:clamp(140px,20vw,190px);height:145px;max-width:34%;object-fit:contain}
body.v26-app .elc404-promo-card img{height:120px!important;max-height:120px!important;object-position:center 40%}
body.v26-app .elc404-scene img{height:110px!important;max-height:110px!important}
body.v26-app .elc404-service-mini{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;min-height:116px}
body.v26-app .elc404-service-mini img{display:block;width:108px;height:116px;min-height:0;max-height:116px;object-fit:contain;object-position:center;background:#2b201c}
body.v26-app .elc404-service-mini p{min-width:0;padding:10px 12px}
body.v26-app .elc403-aside img{height:156px;max-height:156px;object-fit:cover}
body.v26-app .elc403-us-card img{height:108px;max-height:108px;object-fit:cover}
body.v26-app .elc405-tier>img{height:132px!important;min-height:132px!important;max-height:132px!important;flex-basis:132px!important;object-position:center 43%}
body.v26-app .elc310-article-hero{max-width:280px;margin:20px auto 22px}
body.v26-app .elc310-article-hero img{max-height:290px!important;width:100%;object-fit:contain}
body.v26-app .elc394-scene-photo{max-width:280px;margin:18px auto 13px}
body.v26-app .elc394-scene-photo img{max-height:240px!important;max-width:100%;height:auto;object-fit:contain}
body.v26-app .elc396-article-cover{max-width:250px}
body.v26-app .elc396-scene-image img{max-height:265px;object-fit:contain}
body.v26-app .v392-events .v392-event-picture img{height:145px!important;max-height:145px}
body.v26-app .city-detail-photo img{max-width:520px;max-height:325px!important;object-fit:contain!important;width:100%;height:auto!important}
@media(max-width:760px){body.v26-app .elc402-city-paper .city-detail-grid{grid-template-columns:minmax(0,100%)!important;gap:17px!important}body.v26-app .elc402-city-paper .city-detail-grid>div{width:auto!important;max-width:100%!important;min-width:0!important}}
body.v26-app .journey-card img{height:128px!important;object-fit:cover}
body.v26-app .elc310-public-feature img{max-height:260px!important;object-fit:contain}
body.v26-app .elc310-contact-layout>img{max-height:320px!important;height:auto!important;object-fit:contain}
/* Compact picture rows without painful asymmetric blank space. */
body.v26-app .elc404-scene-grid,body.v26-app .elc401-services-grid{gap:11px}
body.v26-app .elc404-related-grid{gap:11px}
body.v26-app .elc401-service p,body.v26-app .elc404-scene p{line-height:1.7}
/* Portrait on phone is still readable; text wrapping wins over arbitrary one-line styling. */
@media(max-width:760px){
 body.v26-app .hero{min-height:285px!important}
 body.v26-app .hero .hero-content{padding-block:25px}
 body.v26-app .page-head h1{font-size:clamp(21px,5.4vw,28px)!important}
 body.v26-app .v390-section-inner img{max-height:220px}
 body.v26-app .v390-detail-image{max-height:270px}
 body.v26-app .v330-service-hero img{max-height:245px}
 body.v26-app .elc401-step img{width:125px;height:130px;max-width:39%}
 body.v26-app .elc405-tier>img{height:135px!important;min-height:135px!important;max-height:135px!important;flex-basis:135px!important}
 body.v26-app .elc403-aside img{max-height:170px}
 body.v26-app .elc394-scene-photo img{max-height:200px!important}
 body.v26-app .elc396-scene-image img{max-height:200px}
 body.v26-app .elc310-contact-layout>img{max-height:240px!important}
}
@media(max-width:480px){
 body.v26-app .elc404-promo-card img{max-height:110px!important}
 body.v26-app .elc404-scene img{max-height:95px!important}
 body.v26-app .elc404-service-mini{grid-template-columns:94px minmax(0,1fr);min-height:108px}
 body.v26-app .elc404-service-mini img{width:94px;height:108px;min-height:0;max-height:108px;object-fit:contain}
 body.v26-app .elc403-aside img{max-height:170px;height:100%}
 body.v26-app .elc401-service img{height:125px;max-height:125px!important}
 body.v26-app .elc401-ritual-card img{height:95px!important;max-height:95px}
 body.v26-app .v27-price-card .elc310-price-image{height:86px!important;max-height:86px!important}
 body.v26-app .elc310-article-hero{max-width:225px}
 body.v26-app .elc394-scene-photo{max-width:220px}
 body.v26-app .elc396-article-cover{max-width:215px}
}
@media(prefers-reduced-motion:reduce){body.v26-app .elc396-story-card{transition:none}}
