/*
Theme Name: SHO MOKU Editorial
Theme URI: https://www.shomoku.com/
Author: SHO MOKU SPA
Description: A multilingual, editorial spa theme for Gutenberg-native pages.
Version: 1.0.5
Requires at least: 6.3
Tested up to: 7.1.3
Requires PHP: 7.4
Text Domain: shomoku-editorial
*/
:root{--bg:#f8f4ec;--surface:#fffdf8;--surface-2:#f1eadd;--line:#e3d8c4;--line-strong:#cdbb98;--ink:#1c1813;--ink-2:#463c30;--muted:#665a49;--accent:#7a5c24;--gold:#c2a368;--dark:#1c1813;--dark-2:#29231c;--on-dark:#efe6d6;--on-dark-2:#c9bca6;--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif TC","Noto Serif JP",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI","PingFang HK","Microsoft JhengHei","Noto Sans TC",sans-serif;--wrap:1160px;--header-h:82px;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:100px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.8 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--ink)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}p{margin:0 0 1.25em}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400;line-height:1.14;letter-spacing:-.025em;margin:0 0 .7em}h1{font-size:clamp(2.8rem,7vw,6.8rem)}h2{font-size:clamp(2.1rem,4.6vw,4rem)}h3{font-size:clamp(1.45rem,2.4vw,2.2rem)}ul,ol{padding-left:1.35em}.wrap{width:min(100% - 48px,var(--wrap));margin-inline:auto}.narrow{max-width:760px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-60px;padding:12px 18px;background:var(--dark);color:white;z-index:999}.skip:focus{top:10px}.hdr{height:var(--header-h);position:sticky;top:0;z-index:50;background:rgba(248,244,236,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center;gap:clamp(12px,2vw,30px)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;flex-shrink:0}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--accent);font-family:var(--serif);font-size:1.3rem}.brand b{display:block;font:500 .95rem/1.2 var(--serif);letter-spacing:.11em}.brand small{display:block;font-size:.58rem;letter-spacing:.24em;color:var(--muted)}.nav{margin-left:auto}.menu-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(8px,1.3vw,22px)}.nav .menu-list a,.langs .menu-list a{color:var(--ink-2);font-size:.79rem;letter-spacing:.04em;text-decoration:none;white-space:nowrap}.nav .menu-list a{padding:10px 0;position:relative}.nav .menu-list a:after{content:"";height:1px;background:var(--gold);position:absolute;left:0;right:100%;bottom:4px;transition:right .25s}.nav .menu-list a:hover:after,.nav .current-menu-item>a:after{right:0}.langs .menu-list{gap:10px}.langs .menu-list a{font-size:.7rem}.header-contact{border:1px solid var(--gold);padding:9px 15px;color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;white-space:nowrap}.header-contact span{color:var(--accent);margin-left:12px}.menu-btn{display:none}.site-main{min-height:55vh}.article{max-width:760px;margin-inline:auto}.book{padding:clamp(24px,4vw,50px);background:var(--surface);border:1px solid var(--line)}.single-content,.archive-content{padding-block:clamp(48px,8vw,110px)}.entry-content>*{max-width:var(--wp--style--global--content-size,760px);margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:var(--wp--style--global--wide-size,1160px)}.entry-content>.alignfull{max-width:none}.entry-content>.wp-block-group,.entry-content>.wp-block-cover,.entry-content>.wp-block-columns,.entry-content>.wp-block-image,.entry-content>.wp-block-gallery,.entry-content>.wp-block-media-text{margin-block:clamp(38px,7vw,96px)}.entry-content>.wp-block-group.alignfull{padding-inline:max(24px,calc((100vw - var(--wrap))/2))}.entry-content h1{max-width:1000px}.entry-content h2{margin-top:.2em}.entry-content p{max-width:74ch}.wp-block-image img,.wp-block-gallery img{height:auto}.wp-block-image a{display:block}.wp-block-image figcaption{font-size:.78rem;color:var(--muted);letter-spacing:.04em}.wp-block-button__link,.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:var(--accent);border:1px solid var(--accent);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;transition:background .2s,color .2s,border-color .2s}.wp-block-button__link:hover,.btn:hover{background:var(--dark);border-color:var(--dark);color:#fff}.btn-dark{background:var(--dark);border-color:var(--dark)}.btn-line{background:transparent;color:var(--ink)}.btn-sm{padding:10px 15px}.btn-block{width:100%}.eyebrow,.k,.meta,.badge{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;font-weight:600}.lead{font:1.18rem/1.85 var(--serif);color:var(--ink-2);max-width:58ch}.muted,.note{color:var(--muted)}.serif{font-family:var(--serif)}.sec{padding-block:clamp(70px,10vw,145px)}.sec-alt{background:var(--surface-2)}.sec-head{max-width:680px;margin:0 auto clamp(34px,6vw,76px);text-align:center}.sec-head:after{content:"";display:block;width:54px;height:1px;background:var(--gold);margin:24px auto 0}.sec-head h2{margin-bottom:.35em}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,7vw,100px)}.split>*{min-width:0}.split>.figure,.split>.wp-block-image{margin:0}.split img{width:100%;object-fit:cover}.hero{position:relative;min-height:min(780px,calc(100svh - var(--header-h)));display:flex;align-items:end;overflow:hidden;background:var(--dark);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,10,.82),rgba(15,13,10,.38) 54%,rgba(15,13,10,.06)),linear-gradient(0deg,rgba(15,13,10,.42),transparent 60%);z-index:1;pointer-events:none}.hero-photo{position:absolute!important;inset:0;width:100%;height:100%;margin:0!important;max-width:none!important}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero .wrap,.hero>.wp-block-group__inner-container{position:relative;z-index:2;width:min(100% - 48px,var(--wrap));margin:0 auto;padding-block:clamp(72px,12vw,158px)}.hero h1{max-width:820px;color:#fff;font-size:clamp(3.5rem,9vw,8.5rem);line-height:.99;letter-spacing:-.04em}.hero p{max-width:570px;color:rgba(255,255,255,.82)}.hero .eyebrow{color:var(--gold)}.hero-actions,.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero .btn-line{border-color:rgba(255,255,255,.65);color:#fff}.hero-mark{display:none}.hero:after{content:"";position:absolute;z-index:2;bottom:0;left:0;width:min(42vw,480px);height:1px;background:var(--gold)}.cards,.menu-grid,.team,.gal,.facts,.prices,.related{display:grid;gap:1px;background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}.card,.mi,.tm,.post-card,.price,.facts>*{background:var(--bg);padding:clamp(22px,3.2vw,44px)}.card,.mi,.tm,.post-card{transition:background .25s}.card:hover,.mi:hover,.post-card:hover{background:var(--surface)}.card h3,.mi h3,.post-card h3{font-size:1.55rem}.mi .num,.num{font:clamp(2rem,4vw,3.5rem)/1 var(--serif);color:var(--gold);display:block;margin-bottom:22px}.mi img,.card img,.tm-img img,.post-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:23px}.tm-img{overflow:hidden}.tm-img img{aspect-ratio:4/5}.tm-b{padding-top:20px}.tm-b h3{margin-bottom:.25em}.role{color:var(--accent);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.gal{grid-template-columns:repeat(4,minmax(0,1fr));background:none;border:0;gap:12px}.gal .wp-block-image{margin:0;overflow:hidden}.gal img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .6s}.gal .wp-block-image:hover img{transform:scale(1.04)}.figure img{width:100%;height:auto}.tx,.prose{max-width:760px;margin-inline:auto}.tx-h,.tx h2{margin-top:2em}.tx-b{border-left:1px solid var(--gold);padding-left:24px}.px{display:grid;grid-template-columns:1fr auto;gap:12px;border-bottom:1px solid var(--line-strong);padding:18px 0}.price,.prices .price{display:flex;justify-content:space-between;gap:20px}.price strong,.px strong{font:1.3rem var(--serif);color:var(--accent)}.tbl{width:100%;border-collapse:collapse;text-align:left}.tbl th,.tbl td{padding:15px 17px;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{background:var(--surface-2);font-family:var(--serif);font-weight:500}.faq{border-top:1px solid var(--line-strong)}.faq details,.entry-content details{border-bottom:1px solid var(--line-strong);padding:18px 0}.faq summary,.entry-content summary{cursor:pointer;font:1.18rem var(--serif);list-style:none;display:flex;justify-content:space-between;gap:18px}.faq summary:after,.entry-content summary:after{content:"+";color:var(--accent)}.faq details[open] summary:after,.entry-content details[open] summary:after{content:"−"}.faq details p{margin:16px 0 0}.team-mini{display:flex;align-items:center;gap:16px}.team-mini img{width:80px;height:80px;object-fit:cover;border-radius:50%}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts>*{margin:0}.facts dt{font:1.12rem var(--serif);color:var(--accent)}.facts dd{margin:6px 0 0}.contact,.contact-grid,.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,80px)}.contact-grid,.booking-grid{align-items:start}.contact-grid .map{padding:30px;border:1px solid var(--line-strong)}.band,.cta-box{background:var(--dark);color:var(--on-dark);padding:clamp(36px,7vw,82px)}.band h2,.cta-box h2{color:var(--on-dark)}.band a,.cta-box a{color:var(--gold)}.book,.shomoku-booking{background:var(--surface);padding:clamp(24px,4vw,50px);border:1px solid var(--line)}.shomoku-booking{display:grid;gap:16px}.shomoku-booking h2{font-size:2rem}.shomoku-booking label{display:grid;gap:6px;font-size:.8rem;color:var(--ink-2)}.shomoku-booking input,.shomoku-booking textarea{width:100%;border:1px solid var(--line-strong);background:var(--bg);padding:12px;color:var(--ink);border-radius:0}.shomoku-booking input:focus,.shomoku-booking textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.booking-datetime{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-disclaimer,.booking-status{font-size:.8rem;color:var(--muted);margin:0}.booking-status:not(:empty){color:#8c3c2d}.form{display:grid;gap:15px}.form-msg{min-height:1.4em}.contact-grid .dl{display:grid;grid-template-columns:1fr 2fr;gap:12px}.dl>div{display:contents}.dl dt,.dl dd{padding:12px 0;border-bottom:1px solid var(--line)}.dl dt{color:var(--accent)}.map{margin-top:22px}.map iframe{width:100%;min-height:360px;border:0}.post-card a{color:inherit;text-decoration:none}.post-card .meta{margin-bottom:12px}.post-featured-image{margin:0 auto 46px;max-width:1000px}.post-featured-image img{width:100%;max-height:65vh;object-fit:cover}.crumbs{font-size:.75rem;color:var(--muted)}.toc{padding:24px;background:var(--surface-2);border-left:1px solid var(--gold)}.acts .btn{font-size:.68rem}.alt{background:var(--dark);color:var(--on-dark)}.alt h2,.alt h3{color:var(--on-dark)}.alt p{color:var(--on-dark-2)}.full{width:100%}.ftr{background:var(--dark);color:var(--on-dark);padding-top:clamp(64px,9vw,116px)}.ftr-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:50px;padding-bottom:56px}.ftr .brand{color:var(--on-dark)}.ftr .brand small,.footer-brand p{color:var(--on-dark-2)}.footer-brand p{font-size:.85rem;margin:24px 0 5px}.footer-brand>a:not(.brand){color:var(--gold)}.footer-nav .menu-list{display:grid;align-items:start;gap:8px}.footer-nav a,.footer-widgets a{color:var(--on-dark-2);text-decoration:none}.footer-nav a:hover,.footer-widgets a:hover{color:var(--gold)}.footer-widget-title{font-size:1.2rem;color:var(--gold)}.ftr-bot{border-top:1px solid rgba(194,163,104,.3);padding-block:18px 24px;display:flex;justify-content:space-between;gap:20px;color:var(--on-dark-2);font-size:.68rem}.ftr-bot span:last-child{max-width:520px;text-align:right}.archive-title a{color:var(--ink);text-decoration:none}.wp-block-separator{border:0;border-top:1px solid var(--gold);max-width:90px;margin-block:2rem}.wp-block-quote{border-left:1px solid var(--gold);padding-left:1.5rem;font:1.35rem/1.55 var(--serif);margin:2rem auto}.wp-block-cover{min-height:420px}.wp-block-cover h2,.wp-block-cover h1{color:white}.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse}.wp-block-table th,.wp-block-table td{padding:12px;border-bottom:1px solid var(--line)}.wp-block-gallery.has-nested-images figure.wp-block-image{flex-grow:0}.lightbox-dialog{border:0;padding:0;max-width:min(94vw,1400px);max-height:92vh;background:transparent;overflow:visible}.lightbox-dialog::backdrop{background:rgba(15,13,10,.92)}.lightbox-dialog img{max-height:88vh;max-width:90vw;object-fit:contain}.lightbox-close{position:fixed;right:22px;top:16px;border:1px solid rgba(255,255,255,.7);background:var(--dark);color:white;width:44px;height:44px;font-size:1.5rem;cursor:pointer}.lightbox-caption{color:white;text-align:center;font-size:.8rem;margin-top:10px}@media(max-width:960px){:root{--header-h:72px}.header-inner{gap:12px}.menu-btn{order:3;margin-left:auto;display:flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line-strong);background:transparent}.menu-btn span:not(.sr-only){width:18px;height:1px;background:var(--ink)}.nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:18px 24px 26px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 18px 28px #1c18131c}.hdr.is-open .nav{display:block}.nav .menu-list{display:grid;gap:0}.nav .menu-list a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.langs{margin-left:auto}.header-contact{display:none}.split{gap:34px}.cards,.menu-grid,.team,.related{grid-template-columns:repeat(2,minmax(0,1fr))}.gal{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.wrap{width:min(100% - 36px,var(--wrap))}.brand-mark{width:36px;height:36px}.brand b{font-size:.8rem}.brand small{font-size:.5rem}.langs .menu-list{gap:6px}.langs .menu-list a{font-size:.65rem}.hero{min-height:680px;min-height:min(780px,calc(100svh - var(--header-h)))}.hero .wrap,.hero>.wp-block-group__inner-container{width:calc(100% - 36px)}.hero h1{font-size:clamp(3.3rem,15vw,5rem)}.sec{padding-block:70px}.split,.contact,.contact-grid,.booking-grid{grid-template-columns:1fr}.split{gap:28px}.cards,.menu-grid,.team,.related{grid-template-columns:1fr}.gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card,.mi,.tm,.post-card{padding:24px}.facts{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr 1fr;gap:36px 20px}.footer-brand{grid-column:1/-1}.ftr-bot{display:grid}.ftr-bot span:last-child{text-align:left}.booking-datetime{grid-template-columns:1fr 1fr}.entry-content>.alignfull{margin-left:-18px;margin-right:-18px}.wp-block-columns{gap:24px}.wp-block-cover{min-height:340px}.contact-grid .dl{grid-template-columns:1fr 1.5fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Native block integration: all editorial sections remain editable. */
.entry-content>.wp-block-group{max-width:none;margin:0}.entry-content :where(.is-layout-flow)>*{margin-block-start:0}.entry-content .wrap{max-width:var(--wrap)}.entry-content .wrap.narrow{max-width:760px}.entry-content .wp-block-group p{margin-bottom:1.25em}.hero>.hero-photo{z-index:0}.hero>.wrap{z-index:2}.hero h1{font-size:clamp(3.2rem,6.4vw,6.6rem);max-width:900px;line-height:1.15}.hero .facts{display:flex;flex-wrap:wrap;gap:12px 24px;background:none;border:0;padding:0;list-style:none;font-size:.78rem;color:var(--on-dark-2);margin-top:34px}.hero .facts>li{padding:0;background:none}.hero .facts>li:before{content:'·';color:var(--gold);margin-right:10px}.hero .lead{font-family:var(--sans);font-size:1rem;max-width:560px}.wp-block-button.btn{padding:0;background:none;border:0}.wp-block-button.btn-line .wp-block-button__link{background:transparent;color:var(--ink);border-color:var(--line-strong)}.hero .wp-block-button.btn-line .wp-block-button__link{color:white;border-color:#ffffff88}.wp-block-button.btn-dark .wp-block-button__link{background:var(--dark);border-color:var(--dark)}.hero .wp-block-button.btn-dark .wp-block-button__link{background:var(--gold);border-color:var(--gold);color:var(--dark)}.phero{padding:85px 0 65px;border-bottom:1px solid var(--line-strong);background:var(--surface-2)}.phero h1{font-size:clamp(2.8rem,5.7vw,5.5rem);max-width:1000px}.phero .lead{margin-bottom:0}.article{padding:60px 0 90px;max-width:none}.article .wrap.narrow{max-width:820px}.article h2{font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.4;margin-top:1.7em}.article p{line-height:1.95}.article .wp-block-image{margin:0 0 36px}.article .cards{margin-top:24px}.article .cards h3{font-size:1.2rem;line-height:1.6}.article .card{padding:24px}.mi h3 .alt,.tx h2 .alt{display:block;background:none;color:var(--muted);font:400 .72rem/1.6 var(--sans);letter-spacing:.06em;margin-top:8px}.mi .px{display:block;border:0;margin:0;padding:0;font-size:.85rem}.mi .px p{margin-bottom:4px}.mi .px b{font-family:var(--serif);font-size:1.3rem;color:var(--accent)}.mi .more{font-size:.8rem}.sub-h{font-size:1.7rem;margin:56px 0 20px}.sub-h small{font:400 .75rem var(--sans);color:var(--muted)}.tbl{margin-top:24px}.tbl table{width:100%}.team-mini{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.team-mini>.wp-block-group{min-width:0}.team-mini .wp-block-image{margin:0}.team-mini img{border-radius:0;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.team-mini p{font-size:.8rem;margin-top:15px}.team-mini a{color:var(--ink);text-decoration:none}.tm{padding:0}.tm>.wp-block-image{margin:0}.tm>.wp-block-image img{width:100%;aspect-ratio:3/4;object-fit:cover}.tm-b{padding:28px}.tm h2{font-size:1.7rem}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;font-size:.65rem;letter-spacing:.02em}.tags li{border:1px solid var(--line-strong);padding:3px 8px}.tx{padding:24px 0 55px;border-bottom:1px solid var(--line-strong);margin-bottom:26px}.tx h2{font-size:2.2rem}.tx .px{list-style:none;grid-template-columns:1fr 1fr}.tx .px b{color:var(--accent)}.tx-b{border:0;padding:0;margin-top:25px}.book{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.book-aside{padding-top:20px}.shomoku-booking select{width:100%;border:1px solid var(--line-strong);padding:12px;background:var(--bg);color:var(--ink)}.dl{display:grid;grid-template-columns:1fr 2fr;gap:0 20px}.dl dt,.dl dd{padding:16px 0;margin:0;border-bottom:1px solid var(--line)}.dl dt{color:var(--accent);font-size:.8rem}.dl dd{font-size:.9rem}.contact .map{padding:28px;background:var(--surface-2);border:1px solid var(--line-strong)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;list-style-position:inside;padding:0}.steps li{border-top:1px solid var(--gold);padding-top:25px}.prices{margin-top:35px}.price{display:block}.amt{font-family:var(--serif);font-size:2.2rem;color:var(--accent)}.ticks{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;gap:12px;font-size:.85rem}.ticks li{border-top:1px solid var(--line-strong);padding-top:12px}.band .card{background:var(--dark);color:var(--on-dark);border:0}.band .card h3{color:var(--on-dark)}.band .card p{color:var(--on-dark-2)}.band .cards{border-color:#c2a36844;background:#c2a36844}.cta-box h3{color:var(--on-dark)}.disclaimer{font-size:.8rem;color:var(--muted);border-left:1px solid var(--gold);padding-left:18px;margin-top:35px}.ftr .menu-list{font-size:.82rem}
@media(max-width:800px){.team-mini{grid-template-columns:repeat(3,1fr)}.book{grid-template-columns:1fr;gap:25px}.steps{grid-template-columns:repeat(2,1fr)}.phero{padding:55px 0 40px}.hero h1{font-size:clamp(3rem,9vw,5.5rem)}}
@media(max-width:500px){.team-mini{grid-template-columns:repeat(2,1fr)}.hero .wrap{padding-block:70px}.hero h1{font-size:clamp(2.8rem,11vw,4rem)}.hero .facts{display:grid;gap:6px}.hero .lead{font-size:.9rem}.hero .wp-block-button__link{font-size:.65rem;padding:12px 16px}.book{padding:22px}.shomoku-booking{padding:22px}.steps{grid-template-columns:1fr}.contact .dl{grid-template-columns:1fr}.contact .dl dt{border:0;padding-bottom:0}.contact .dl dd{padding-top:4px}.phero h1{font-size:2.8rem}.mi h3{font-size:1.4rem}.tx h2{font-size:1.9rem}}

.wp-block-button__link,.btn{border-radius:0}.wp-block-post-template.is-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.wp-block-post-template h3{font-size:1.5rem;line-height:1.4}.wp-block-post-excerpt__more-link{font-size:.8rem;color:var(--accent)}.gal img,.team .wp-block-image img{cursor:zoom-in}@media(max-width:800px){.wp-block-post-template.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.wp-block-post-template.is-layout-grid{grid-template-columns:1fr}.hero-photo img{object-position:35% center}}

/* Original shomoku.com logo: unchanged circular 尚沐 mark and wordmark. */
.brand{gap:10px}
.brand>svg{width:40px;height:40px;flex-shrink:0;display:block}
.brand b{font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.14em;line-height:1.1;white-space:nowrap}
.brand small{font-size:.7rem;letter-spacing:.32em;line-height:1.4}
.brand .custom-logo{display:block;width:auto;max-width:245px;max-height:56px;object-fit:contain}
@media(max-width:640px){.brand>svg{width:34px;height:34px}.brand b{font-size:.92rem;letter-spacing:.1em}.brand small{font-size:.62rem;letter-spacing:.12em}.brand .custom-logo{max-width:200px;max-height:46px}}
@media(max-width:380px){.hdr .brand small{display:none}.hdr .brand b{font-size:.86rem;letter-spacing:.06em}}

/* Footer sitemap: native, editable language menus. */
/* Additive footer styles: all selectors are scoped to the replacement footer. */
.footer-sitemap {
  --fs-bg: var(--dark, #1c1813);
  --fs-text: var(--on-dark, #efe6d6);
  --fs-muted: var(--on-dark-2, #c9bca6);
  --fs-gold: var(--gold, #c2a368);
  background: var(--fs-bg);
  color: var(--fs-text);
  padding: clamp(42px, 6vw, 78px) 0 0;
  border-top: 1px solid rgba(194, 163, 104, .3);
}
.footer-sitemap,
.footer-sitemap * { box-sizing: border-box; }
.footer-sitemap__inner { width: min(100% - 48px, var(--wrap, 1160px)); margin-inline: auto; }
.footer-sitemap__title {
  margin: 0 0 32px;
  color: var(--fs-gold);
  font: 500 clamp(1.25rem, 2vw, 1.55rem)/1.3 var(--serif, Georgia, serif);
  letter-spacing: .04em;
}
.footer-sitemap__grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr 1.15fr;
  gap: clamp(24px, 4vw, 54px);
  padding-bottom: clamp(36px, 5vw, 60px);
}
.footer-sitemap__column { min-width: 0; }
.footer-sitemap__column h3 {
  margin: 0 0 18px;
  color: var(--fs-gold);
  font: 500 1rem/1.4 var(--serif, Georgia, serif);
  letter-spacing: .025em;
}
.footer-sitemap .brand { color: var(--fs-text); text-decoration: none; }
.footer-sitemap .brand small { color: var(--fs-muted); }
.footer-sitemap__intro,
.footer-sitemap__visit p {
  margin: 18px 0 0;
  color: var(--fs-muted);
  font-size: .88rem;
  line-height: 1.75;
}
.footer-sitemap__visit p + p { margin-top: 12px; }
.footer-sitemap__visit p span { color: var(--fs-text); font-size: .75rem; letter-spacing: .06em; }
.footer-sitemap nav .menu-list {
  display: grid;
  justify-items: start;
  align-items: start;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-sitemap nav .menu-list li { margin: 0; padding: 0; }
.footer-sitemap nav .menu-list a,
.footer-sitemap__visit a,
.footer-sitemap__languages a {
  color: var(--fs-muted);
  font-size: .86rem;
  line-height: 1.55;
  text-decoration: none;
  text-underline-offset: 4px;
}
.footer-sitemap nav .menu-list a:hover,
.footer-sitemap__visit a:hover,
.footer-sitemap__languages a:hover { color: var(--fs-gold); text-decoration: underline; }
.footer-sitemap :focus-visible { outline: 2px solid var(--fs-gold); outline-offset: 4px; border-radius: 1px; }
.footer-sitemap__bottom {
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr) auto;
  align-items: center;
  gap: 18px 28px;
  border-top: 1px solid rgba(194, 163, 104, .3);
  padding: 18px 0 22px;
  color: var(--fs-muted);
  font-size: .75rem;
}
.footer-sitemap__bottom > span { white-space: nowrap; }
.footer-sitemap__bottom p { margin: 0; line-height: 1.6; }
.footer-sitemap__languages { justify-self: end; }
.footer-sitemap__languages .menu-list { display: none; }
.footer-sitemap__languages:not(.menu-list) { display: flex; gap: 14px; }
.footer-sitemap__languages a[aria-current="page"] { color: var(--fs-text); text-decoration: underline; }
@media (max-width: 960px) {
  .footer-sitemap__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 30px; }
  .footer-sitemap__bottom { grid-template-columns: 1fr auto; }
  .footer-sitemap__bottom p { grid-column: 1; grid-row: 2; }
  .footer-sitemap__languages { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 600px) {
  .footer-sitemap__inner { width: min(100% - 36px, var(--wrap, 1160px)); }
  .footer-sitemap__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .footer-sitemap__column h3 { margin-bottom: 12px; }
  .footer-sitemap__bottom { grid-template-columns: 1fr; gap: 12px; }
  .footer-sitemap__bottom p,
  .footer-sitemap__languages { grid-column: 1; grid-row: auto; }
  .footer-sitemap__languages { justify-self: start; flex-wrap: wrap; }
}

/* Click-to-load Google Maps component. */
/* Click-to-load Google Maps, scoped to the reusable shortcode component. */
.shomoku-map { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.shomoku-map .shomoku-map-address { margin:0 0 1rem; }
.shomoku-map .shomoku-map-frame { position:relative; width:100%; }
.shomoku-map .shomoku-map-frame > iframe { display:block; width:100%; height:360px; min-height:360px; border:0; }
.shomoku-map .shomoku-map-load { cursor:pointer; }
.shomoku-map .shomoku-map-load:disabled { cursor:wait; opacity:.75; }
.shomoku-map .shomoku-map-status { margin:.75rem 1rem 0; color:var(--muted,#665a49); font-size:.85rem; }
.shomoku-map .shomoku-map-status:empty { display:none; }
.shomoku-map .shomoku-map-privacy { margin:.75rem 0; color:var(--muted,#665a49); font-size:.85rem; }
.shomoku-map .shomoku-map-external { display:inline-flex; margin:.5rem; }
.shomoku-map.is-loading,.shomoku-map.is-loaded { padding:0; }
.shomoku-map.is-loading .shomoku-map-address,.shomoku-map.is-loaded .shomoku-map-address,
.shomoku-map.is-loading .shomoku-map-privacy,.shomoku-map.is-loaded .shomoku-map-privacy { display:none; }
@media(max-width:650px){ .shomoku-map { min-height:320px; } .shomoku-map .shomoku-map-frame > iframe { height:320px; min-height:320px; } }


/* Wumei pricing cards — isolated to the three localized pricing sections. */
body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .prices {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 1000px;
  margin-inline: auto;
  padding: 0;
  border: 0;
  background: transparent;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .prices > .price {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  min-width: 0;
  padding: 34px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  text-align: left;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .prices > .price.hl {
  border-color: var(--gold);
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price .badge {
  position: absolute;
  top: -13px;
  right: 20px;
  margin: 0;
  padding: 5px 10px;
  background: var(--surface-2);
  color: var(--accent);
  font-size: .64rem;
  line-height: 1.4;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price h3 {
  min-height: 2.5em;
  margin: 0 0 8px;
  color: var(--ink);
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  line-height: 1.25;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price .amt {
  margin: 0 0 18px;
  color: var(--accent);
  font: 600 clamp(1.8rem, 3vw, 2.35rem)/1.2 var(--serif);
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price ul {
  flex: 1 0 auto;
  margin: 0 0 26px;
  padding-left: 1.25em;
  color: var(--ink-2);
  line-height: 1.75;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price li {
  padding-left: .15em;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price li + li {
  margin-top: 8px;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price > .wp-block-buttons {
  display: flex;
  width: 100%;
  margin-top: auto;
  padding: 0;
  border: 0;
  background: transparent;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price > .wp-block-buttons > .wp-block-button.btn-block {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price .wp-block-button__link {
  display: flex;
  width: 100%;
  min-height: 48px;
  height: auto;
  align-items: center;
  justify-content: center;
  padding: 13px 18px;
  border: 1px solid var(--accent);
  border-radius: 0;
  background: var(--accent);
  color: var(--surface);
  font: 600 .72rem/1.45 var(--sans);
  letter-spacing: .08em;
  text-align: center;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s;
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price .btn-line .wp-block-button__link {
  border-color: var(--line-strong);
  background: transparent;
  color: var(--ink);
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price .wp-block-button__link:hover {
  border-color: var(--dark);
  background: var(--dark);
  color: var(--on-dark);
}

body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price .wp-block-button__link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

@media (max-width: 700px) {
  body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .prices {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .prices > .price {
    padding: 28px 24px;
  }

  body:is(.page-id-45,.page-id-60,.page-id-75) #pricing .price h3 {
    min-height: 0;
  }
}


/* Wumei consultation CTA: retain the dark band and use readable white text. */
body:is(.page-id-45,.page-id-60,.page-id-75) #booking .wp-block-button__link,
body:is(.page-id-45,.page-id-60,.page-id-75) #booking .wp-block-button__link:visited,
body:is(.page-id-45,.page-id-60,.page-id-75) #booking .wp-block-button__link:hover,
body:is(.page-id-45,.page-id-60,.page-id-75) #booking .wp-block-button__link:focus-visible { color:#fff; }
body:is(.page-id-45,.page-id-60,.page-id-75) #pricing { scroll-margin-top:120px; }
