/* Shared homepage modules use the same two visible-section tones as the store. */
.home-module{padding-block:68px;background:var(--home-module-background,#fffaf0);border-block:0}
.home-module-inner{display:grid;gap:30px;align-items:center}
.home-module-copy{min-width:0}
.home-module-copy>h2{font-size:clamp(32px,4vw,52px);color:#17374d;margin-bottom:20px;overflow-wrap:anywhere}
.home-module-copy>.button{margin-top:20px}
.home-rich-text,.home-module-intro{font-size:15px;line-height:1.9;color:#53636b;overflow-wrap:anywhere}
.home-rich-text p:last-child,.home-module-intro p:last-child{margin-bottom:0}
.home-rich-text h2,.home-module-intro h2{font-size:30px;margin-block:24px 16px}
.home-rich-text h3,.home-module-intro h3{font-size:21px;margin-block:22px 13px}
.home-module-intro{margin-block:12px 24px;max-width:820px}
.home-rich-text ul,.home-rich-text ol,.home-module-intro ul,.home-module-intro ol{padding-left:24px}
.home-module-image_text .home-module-inner{grid-template-columns:1fr 1fr;gap:60px}
.home-module-image_text.image-right .home-module-media{order:2}
.home-module-media{margin:0;min-width:0}
.home-module-media img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;background:transparent}
.home-module-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-module-gallery figure{margin:0;min-width:0}
.home-module-gallery img{display:block;width:100%;height:280px;object-fit:contain;background:transparent}
.home-module video{display:block;width:100%;max-height:680px;aspect-ratio:16/9;object-fit:contain;background:#112b3e;border:1px solid #d6c59f;border-radius:6px}
.home-module-banner{background:var(--home-module-background,#fffaf0);color:#17374d}
.home-module-banner .home-module-inner{grid-template-columns:1fr 1fr}
.home-module-banner .home-module-copy>h2{color:#17374d}
.home-module-banner .home-rich-text{color:#53636b}
.home-module-banner .home-module-copy>.button{background:#daba6e;color:#17374d;border-color:#daba6e}
.home-module-rich_text .home-module-inner,.home-module-video .home-module-inner,.home-module-image_gallery .home-module-inner{max-width:1100px}
.home-admin{margin-block:32px;border-top:3px solid #bb9246;max-width:1280px}
.home-admin .home-admin-heading,.home-admin .home-module-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.home-admin .home-admin-heading>h2{font-size:36px;margin-bottom:15px}
.home-admin .home-admin-heading .link-button{font-size:12px}
.home-admin>.muted-copy,.home-admin>.form-status{font-size:12px}
.home-admin .home-admin-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.home-admin .home-admin-actions .link-button{font-size:11px;min-height:38px}
.home-admin .home-admin-add{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding-block:20px}
.home-admin .home-admin-add>select{max-width:280px}
.home-admin .home-admin-add>.button{min-height:47px;padding:12px 18px;font-size:12px}
.home-admin .home-admin-modules{display:grid;gap:17px}
.home-admin .home-module-editor{padding:20px;border:1px solid #d8c9a7;border-radius:7px;background:#fffdf7;min-width:0}
.home-admin .home-module-editor-heading>strong{font-size:16px;color:#244658}
.home-admin .home-module-editor-heading>.checkbox-label{font-size:12px;margin:0}
.home-admin .home-module-fields>summary{font-size:13px;font-weight:650;min-height:48px;padding-block:12px;color:#805f2c}
.home-admin .home-module-fields>summary::after{content:' +';padding-left:12px}
.home-admin .home-module-fields[open]>summary::after{content:' −'}
.home-admin .home-config-fields{padding-top:17px;border-top:1px solid #e0d2b3}
.home-admin .home-config-fields label{font-size:12px}
.home-admin .home-config-fields label>input,.home-admin .home-config-fields label>select{display:block;margin-top:8px}
.home-admin .home-config-fields input,.home-admin .home-config-fields select{font-size:14px}
.home-admin .home-config-fields>.review-note,.home-admin .home-config-fields>.muted-copy{font-size:11px}
.home-admin .home-rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:9px;border:1px solid #c8b88f;border-bottom:0;border-radius:5px 5px 0 0;background:#eee4cd}
.home-admin .home-rich-toolbar>button{border:1px solid #baa578;border-radius:3px;min-height:36px;padding:6px 10px;background:#fffdf5;color:#234356;font-size:11px}
.home-admin .home-rich-toolbar>input{min-height:36px;width:210px;min-width:0;max-width:100%;padding:6px 8px;font-size:12px}
.home-admin .home-rich-editor{padding:14px;min-height:130px;max-height:360px;overflow:auto;border:1px solid #c8b88f;border-radius:0 0 5px 5px;background:#fff;font-size:14px;line-height:1.8;color:#304b58;overflow-wrap:anywhere}
.home-admin .home-rich-editor:focus-visible{outline:3px solid #ab8037;outline-offset:3px}
.home-admin .home-rich-editor[contenteditable=false]{background:#f0eee7}
.home-admin .home-rich-editor p{margin-block:0 14px}
.home-admin .home-rich-editor h2{font-size:27px;line-height:1.3}
.home-admin .home-rich-editor h3{font-size:20px}
.home-admin .home-rich-editor ul,.home-admin .home-rich-editor ol{padding-left:23px}
.home-admin .home-image-fields{padding:16px;border:1px solid #dac9a3;border-radius:5px;background:#f8f0df;margin-top:22px}
.home-admin .home-image-fields>legend{padding-inline:6px;font-size:12px;font-weight:650;color:#685533}
.home-admin .home-media-picker{border:1px solid #cebd97;border-radius:5px;background:#fffdf7;margin-block:12px}
.home-admin .home-media-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px;min-height:78px;font-size:12px}
.home-admin .home-media-current{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.home-admin .home-media-current>span:last-child{font-size:11px;line-height:1.5;overflow-wrap:anywhere;min-width:0}
.home-admin .home-media-thumb{display:grid;place-items:center;width:86px;height:62px;flex:0 0 86px;overflow:hidden;border:1px solid #dacdad;border-radius:3px;background:#efe6d4;font-size:10px;color:#77684a;text-align:center}
.home-admin .home-media-thumb>img{display:block;width:100%;height:100%;object-fit:contain;background:#fffdf8}
.home-admin .home-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:10px;max-height:370px;overflow-y:auto;padding:12px;border-top:1px solid #dacdad;overscroll-behavior:contain}
.home-admin .home-media-grid:empty{display:none}
.home-admin .home-media-choice{display:flex;flex-direction:column;gap:8px;align-items:center;padding:10px;border:1px solid #cebd95;background:#fffdf5;border-radius:4px;min-width:0;text-align:left;color:#2d4c5f}
.home-admin .home-media-choice>.home-media-thumb{width:100%;height:85px;flex-basis:85px}
.home-admin .home-media-choice>span:not(.home-media-thumb){font-size:10px;line-height:1.5;overflow-wrap:anywhere;align-self:stretch}
.home-admin .home-media-choice>small{font-size:9px;color:#88662c;align-self:flex-start;min-height:13px}
.home-admin .home-media-choice[aria-pressed=true]{background:#fff0c6;border-color:#a6792d;box-shadow:inset 0 0 0 1px #a6792d}
.home-admin .home-gallery-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.home-admin .home-gallery-row{min-width:0}
.home-admin .home-gallery-row>.link-button{font-size:11px}
.home-admin #HomepageSave{margin-top:23px}
.home-admin #HomepageConflict{margin-top:24px}
.home-admin #HomepageConflict pre{max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;background:#fff9e8;padding:14px}
.home-admin #HomepageConflict .button{font-size:12px;min-height:44px;padding:11px 15px}
.home-admin .home-admin-preview{margin-top:35px;padding-top:25px;border-top:1px solid #d5c39b}
.home-admin .home-admin-preview h3{font-size:22px}
.home-admin .home-admin-preview .muted-copy{font-size:11px}
.home-admin .home-preview-canvas{border:1px solid #c8b487;border-radius:6px;background:#fbf8ef;overflow:visible;max-height:none;height:auto;position:relative;min-width:0}
.home-admin .home-preview-canvas:focus-visible{outline:3px solid #9a742c;outline-offset:4px}
.home-admin .home-preview-canvas .page-width{width:calc(100% - 46px)}
.home-admin .home-preview-canvas .page-width[data-home-module]{width:100%;padding-inline:23px}
.home-admin .home-preview-canvas .section-space{padding-block:45px}
.home-admin .home-preview-canvas .commerce-hero{grid-template-columns:1fr 1fr;gap:25px;padding-block:35px}
.home-admin .home-preview-canvas .commerce-hero h1{font-size:34px}
.home-admin .home-preview-canvas .hero-image{min-height:450px;--product-image-height:320px}
.home-admin .home-preview-canvas .hero-image img{max-height:320px}
.home-admin .home-preview-canvas .hero-image [data-guide-hero-slot]{display:none}
.home-admin .home-preview-canvas .marketing-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-admin .home-preview-canvas a{cursor:default}
@media(max-width:900px){.home-module-image_text .home-module-inner{gap:30px}.home-module-gallery{gap:14px}.home-module-gallery img{height:210px}.home-admin .home-gallery-fields{grid-template-columns:1fr}}
@media(max-width:760px){.home-module{padding-block:42px}.home-module-image_text .home-module-inner,.home-module-banner .home-module-inner{grid-template-columns:1fr}.home-module-image_text.image-right .home-module-media{order:0}.home-module-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-module-gallery img{height:180px}.home-rich-text,.home-module-intro{font-size:14px}.home-admin{padding:19px}.home-admin .home-admin-heading>h2{font-size:30px}.home-admin .home-module-editor{padding:15px}.home-admin .home-rich-toolbar>input{width:100%}.home-admin .home-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-admin .home-preview-canvas .commerce-hero{grid-template-columns:1fr}.home-admin .home-preview-canvas .hero-image{min-height:280px}.home-admin .home-preview-canvas .hero-image img{max-height:180px}.home-admin .home-preview-canvas .marketing-case-grid{grid-template-columns:1fr}.home-admin .home-preview-canvas .page-width{width:calc(100% - 30px)}}
@media(max-width:760px){.home-admin .home-preview-canvas .page-width[data-home-module]{width:100%;padding-inline:15px}}
@media(max-width:760px){.home-admin .home-preview-canvas .hero-image{--product-image-height:180px}}
.home-admin .home-preview-canvas .commerce-hero .hero-image{min-height:0;padding:0;aspect-ratio:4/5}
.home-admin .home-preview-canvas .commerce-hero .hero-image>img[data-product-gallery-main]{height:100%;max-height:none;width:100%;max-width:none;object-fit:var(--site-image-fit,contain)}
.home-admin .home-preview-canvas .information-section{max-width:none}

/* 0.23 shared rich content: explicit authored inline formatting remains authoritative. */
.home-rich-text,.home-module-intro{font-size:18px;line-height:1.6;color:var(--site-text,#263f4d);overflow-wrap:anywhere;min-width:0}
.home-rich-text>:first-child,.home-module-intro>:first-child{margin-top:0}
.home-rich-text>:last-child,.home-module-intro>:last-child{margin-bottom:0}
.home-rich-text:empty,.home-module-intro:empty{display:none}
.home-rich-text :is(h1,h2,h3,h4,h5,h6),.home-module-intro :is(h1,h2,h3,h4,h5,h6){line-height:1.3;color:var(--site-heading,#17374d);overflow-wrap:anywhere}
.home-rich-text h1,.home-module-intro h1{font-size:clamp(32px,5vw,48px)}
.home-rich-text h4,.home-module-intro h4{font-size:22px}
.home-rich-text :is(h5,h6),.home-module-intro :is(h5,h6){font-size:20px}
.home-rich-text :is(blockquote,pre),.home-module-intro :is(blockquote,pre){margin:20px 0;padding:14px 18px;background:var(--site-surface,#fffaf0);border-left:3px solid var(--site-border,#cbbd98)}
.home-rich-text pre,.home-module-intro pre{white-space:pre-wrap;overflow-wrap:anywhere}
.home-rich-text code,.home-module-intro code{font:inherit;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.home-rich-text table,.home-module-intro table,.home-rich-editor table,.home-rich-source-preview table{width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed}
.home-rich-text :is(td,th),.home-module-intro :is(td,th),.home-rich-editor :is(td,th),.home-rich-source-preview :is(td,th){border:1px solid var(--site-border,#cbbd98);padding:10px;overflow-wrap:anywhere}
.home-rich-text hr,.home-module-intro hr{border:0;border-top:1px solid var(--site-border,#cbbd98);margin-block:24px}
.home-module-copy>h2,.home-module-banner .home-module-copy>h2{color:var(--site-heading,#17374d)}
.home-module-banner .home-rich-text{color:var(--site-text,#263f4d)}
.home-module-rich_text.is-titleless{padding-block:24px}
.home-module-free_html .home-module-inner{display:block;min-width:0}
.home-free-html{min-width:0;max-width:100%;overflow-wrap:anywhere;font-size:18px;line-height:1.6;color:var(--site-text,#263f4d)}
.home-free-html img{display:block;max-width:100%;height:auto}
.home-free-html table{max-width:100%;width:100%;table-layout:fixed;border-collapse:collapse}
.home-free-html :is(td,th){overflow-wrap:anywhere;border:1px solid var(--site-border,#cbbd98);padding:10px}
.home-free-html :is(h1,h2,h3,h4,h5,h6){font-size:inherit;line-height:1.3;color:inherit}
.home-free-html a{overflow-wrap:anywhere}
.home-admin .home-free-fields{display:grid;gap:14px;min-width:0}
.home-admin .home-free-fields>label{display:grid;gap:8px}
.home-admin .home-free-source{width:100%;min-height:160px;max-height:440px;resize:vertical;overflow:auto;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#18394c;background:#fff;border:1px solid #bca676;padding:12px}
.home-admin .home-free-source-preview{min-height:60px;max-width:100%;overflow:auto;padding:16px;border:1px solid #d2c39e;background:#fff}
.home-admin .home-free-media{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.home-admin .home-free-media>strong{flex-basis:100%;font-size:13px}
.home-admin .home-free-media>.link-button{min-height:38px;font-size:12px}

/* One responsive pixel canvas; no tile gutters, frames, or added crop outside fit. */
.home-module-mosaic .home-module-inner{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.home-module-mosaic.is-titleless:has(.home-module-inner>.home-mosaic-canvas:only-child){padding-block:0}
.home-mosaic-canvas{position:relative;width:100%;min-width:0;overflow:hidden;padding:0;border:0;box-shadow:none;isolation:isolate;flex:none}
.home-mosaic-tile{position:absolute;margin:0;padding:0;border:0;box-shadow:none;overflow:hidden;min-width:0;line-height:0}
.home-mosaic-tile>img{display:block;width:100%;height:100%;max-width:none;max-height:none;border:0;margin:0;padding:0;box-shadow:none;background:transparent}
.home-mosaic-tile>img[hidden]{display:none}
.home-mosaic-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:12px;font-size:18px;line-height:1.5;overflow-wrap:anywhere;color:var(--site-text,#263f4d);background:var(--site-surface,#fffaf0)}

/* Scoped operations controls; source is text until the same sanitizer builds its preview. */
.home-admin .home-rich-modes{display:flex;gap:8px;flex-wrap:wrap;margin-block:8px}
.home-admin .home-rich-modes>button,.home-admin .home-rich-toolbar>button{min-height:44px;border:1px solid #baa578;border-radius:4px;padding:8px 12px;font-size:13px;color:#234356;background:#fffdf5}
.home-admin .home-rich-toolbar>input,.home-admin .home-rich-toolbar>select{width:auto;max-width:100%;min-width:0;min-height:44px;font-size:14px;padding:8px}
.home-admin .home-rich-toolbar>input[type=number]{width:88px}
.home-admin .home-rich-toolbar>input[type=text]{width:170px}
.home-admin .home-rich-toolbar[hidden],.home-admin .home-rich-editor[hidden],.home-admin .home-rich-source[hidden],.home-admin .home-rich-source-preview[hidden],.home-admin .home-rich-modes>button[hidden]{display:none}
.home-admin .home-rich-source{display:block;width:100%;min-height:180px;max-height:500px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;color:#18394c;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;border:1px solid #bca676;padding:12px}
.home-admin .home-rich-source-preview{margin-top:12px;padding:16px;border:1px solid #d2c39e;min-height:60px;background:#fff;color:#263f4d;font-size:18px;line-height:1.6;overflow:auto;overflow-wrap:anywhere}
.home-admin .home-rich-source-preview>:first-child{margin-top:0}
.home-admin .home-rich-source-preview>:last-child{margin-bottom:0}
.home-admin .home-rich-notice{font-size:13px;line-height:1.5;color:#53636b;margin-block:8px}
.home-admin .home-rich-notice:empty{display:none}
.home-admin .home-rich-notice.is-error{color:#943921}
.home-admin .home-mosaic-editor{border:1px solid #cdbb93;padding:18px;margin-top:24px;min-width:0}
.home-admin .home-mosaic-editor>legend{font-weight:650;font-size:15px;padding-inline:6px;color:#314d5a}
.home-admin .home-mosaic-dimensions,.home-admin .home-mosaic-coordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.home-admin .home-mosaic-dimensions>label,.home-admin .home-mosaic-coordinates>label{min-width:0}
.home-admin .home-mosaic-presets{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-block:20px}
.home-admin .home-mosaic-presets>.button,.home-admin .home-mosaic-editor>.button{font-size:13px;padding:10px 15px;min-height:44px}
.home-admin .home-mosaic-tiles{display:grid;gap:18px;margin-bottom:18px}
.home-admin .home-mosaic-tile-editor{min-width:0;padding:16px;border:1px solid #ded0ac;background:#fffaf0}
.home-admin .home-mosaic-tile-editor .home-image-fields{margin-block:12px}
.home-admin .home-mosaic-tile-editor .link-button{min-height:44px;font-size:12px}
@media(max-width:760px){
 .home-rich-text,.home-module-intro{font-size:18px}
 .home-admin .home-mosaic-dimensions,.home-admin .home-mosaic-coordinates{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-admin .home-mosaic-dimensions>label:last-child{grid-column:1/-1}
 .home-admin .home-mosaic-editor,.home-admin .home-mosaic-tile-editor{padding:12px}
 .home-admin .home-rich-toolbar>input[type=text]{width:100%}
}
@media(max-width:390px){.home-admin .home-mosaic-dimensions,.home-admin .home-mosaic-coordinates{grid-template-columns:1fr}}

/* Rich descendants inherit authored parent typography instead of generic store
   paragraph/table rules. Explicit inline styles still win; normal root text is 18px. */
body:not(.admin-workspace) #App :is(.home-rich-text,.home-module-intro) :is(p,div,span,ul,ol,li,table,thead,tbody,tfoot,tr,th,td,caption,blockquote,pre,code,a,strong,em,b,i,u,s),
body.admin-workspace #App .home-preview-canvas :is(.home-rich-text,.home-module-intro) :is(p,div,span,ul,ol,li,table,thead,tbody,tfoot,tr,th,td,caption,blockquote,pre,code,a,strong,em,b,i,u,s),
body.admin-workspace #App :is(.home-rich-source-preview,.home-rich-editor) :is(p,div,span,ul,ol,li,table,thead,tbody,tfoot,tr,th,td,caption,blockquote,pre,code,a,strong,em,b,i,u,s){
 font-size:inherit;line-height:inherit;color:inherit;
}
/* A theme heading color must not erase an authored ancestor's text color. */
body:not(.admin-workspace) #App :is(.home-rich-text,.home-module-intro) :is(h1,h2,h3,h4,h5,h6),
body.admin-workspace #App .home-preview-canvas :is(.home-rich-text,.home-module-intro) :is(h1,h2,h3,h4,h5,h6),
body.admin-workspace #App :is(.home-rich-source-preview,.home-rich-editor) :is(h1,h2,h3,h4,h5,h6){color:inherit}
