/* Original Thai Suite art direction. Research and award references: DESIGN-RESEARCH.md. */
@font-face { font-family:PlexThai; src:url('assets/fonts/IBMPlexSansThai-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:PlexThai; src:url('assets/fonts/IBMPlexSansThai-SemiBold.ttf') format('truetype'); font-weight:600; font-display:swap; }
@font-face { font-family:PlexThai; src:url('assets/fonts/IBMPlexSansThai-Bold.ttf') format('truetype'); font-weight:700 900; font-display:swap; }
:root { --font-sans:PlexThai,'Leelawadee UI',sans-serif; --ink:#18221c; --paper:#f8f7f2; --line:#d7d9d0; }
body { font-family:var(--font-sans); background:var(--paper); color:var(--ink); }
h1,h2,h3,h4,button,input,select { font-family:inherit; }
h1,h2 { text-wrap:balance; }
.container { max-width:1440px; padding-inline:48px; }
.eco-topbar { background:#19251e; color:#fff; border:0; }
.eco-topbar-inner { min-height:38px; }
.eco-topbar-inner > span { font-size:10px; letter-spacing:1.8px; }
.eco-pill { font-size:12px; min-height:38px; color:#d8e4d8; }
.eco-pill.active-eater,.eco-pill.active-ez,.eco-pill.active-ap,.eco-pill.active-sw { background:#d0ee72; color:#1c281b; box-shadow:none; }
.eco-pill:hover { color:#fff; background:#3a4e3f; }
.site-navbar { background:var(--paper); border-bottom:1px solid var(--ink); }
.navbar-inner { min-height:88px; }
.brand-logo-wrap { font-size:28px; font-weight:700; letter-spacing:-1.4px; }
.brand-icon { width:38px; height:38px; border-radius:50%; background:#193b28 !important; color:white; font-size:15px; }
.suite-thaieater .brand-icon { background:#d7471b !important; }.suite-thaiez .brand-icon { background:#2459ef !important; }.suite-thaisoftware .brand-icon { background:#6245cf !important; }
.nav-links a { font-size:14px; font-weight:600; }.nav-links { gap:28px; }
.btn-grad,.btn-chip { border-radius:3px; font-size:15px; font-weight:600; min-height:48px; padding:12px 20px; }
.btn-grad { background:#1c2e23 !important; color:white; }.btn-grad:hover { background:#314e3b !important; }
.navbar-inner > .btn-grad { border-radius:30px; font-size:14px; }
.eyebrow { letter-spacing:1px; font-size:12px; font-weight:600; }
.edition-line { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border-bottom:1px solid var(--ink); font-size:11px; letter-spacing:1.2px; font-weight:600; }
.suite-hero { padding:0; }
.editorial-food { background:var(--paper); }
.food-hero-card { grid-template-columns:1fr 1.05fr; background:none; border-radius:0; min-height:570px; overflow:visible; padding:30px 0; gap:36px; }
.editorial-food .hero-copy { padding:14px 0; display:flex; flex-direction:column; }
.editorial-food .hero-copy > .eyebrow { font-size:15px; letter-spacing:0; margin:0 0 12px; color:#b53b19; }
.editorial-food h1 { font-size:clamp(66px,6.75vw,102px); font-weight:700; line-height:1.12; letter-spacing:-4px; margin:0 0 35px; }
.word-highlight { color:#ce431e; }
.hero-bottom { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:22px; border-top:1px solid #bac1b4; }
.hero-bottom p { color:#485141; font-size:16px; line-height:1.8; }
.round-link { width:72px; height:72px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; background:#d9f073; color:#18251c; font:44px Arial,sans-serif; text-decoration:none; transition:transform .2s; }
.round-link:hover { transform:rotate(-12deg); }
.hero-photo { overflow:hidden; border-radius:3px; }
.hero-photo > img { min-height:100%; height:100%; aspect-ratio:auto; }
.photo-stamp { top:22px; right:22px; border-radius:50%; background:#edf49c; width:98px; height:98px; font:700 18px/1.15 Arial,sans-serif; transform:rotate(10deg); }.photo-stamp b { font-size:9px; margin-top:5px; }
.photo-caption { background:#fff8e9; border-radius:0; left:0; bottom:0; padding:17px 22px; }.photo-caption span { font-size:10px; letter-spacing:1.2px; }.photo-caption strong { font-size:19px; }
.editorial-band { display:flex; justify-content:space-around; align-items:center; gap:20px; padding:19px 24px; background:#d94a22; color:#fff6df; font-size:18px; font-weight:600; }.editorial-band a { text-decoration:none; }.editorial-band i { font-style:normal; font-size:28px; }
.catalog-section { padding:70px 0; }.catalog-heading { align-items:center; margin-bottom:30px; }.catalog-heading h2 { font-size:48px; font-weight:600; line-height:1.25; letter-spacing:-1.8px; }.catalog-heading .eyebrow { margin-bottom:14px; color:#59634e; }.catalog-heading p:not(.eyebrow) { margin-top:14px; font-size:15px; }
#catalogCount { border:1px solid #33452b; padding:11px 15px; border-radius:50%; font-size:14px; min-width:64px; text-align:center; }
.catalog-toolbar { border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding-block:18px; margin-bottom:36px; }
.catalog-filters .btn-chip { background:transparent; border:0; border-radius:2px; font-size:14px; padding:9px 16px; }.catalog-filters .is-active { background:#243d2c; color:white; }.catalog-filters .btn-chip:not(.is-active):hover { background:#e8ecd9; }
.catalog-search { background:transparent; border:0; border-left:1px solid #bec6b5; border-radius:0; max-width:340px; }.catalog-search input { font-size:14px; }
#grid20Restaurants { grid-template-columns:repeat(12,minmax(0,1fr)); gap:38px 28px; }
.discovery-card { grid-column:span 4; border:0; border-radius:0; background:transparent; overflow:visible; }
.discovery-card:nth-child(1) { grid-column:span 7; }.discovery-card:nth-child(2) { grid-column:span 5; }
.discovery-card:hover { box-shadow:none; transform:none; }
.discovery-photo { border-radius:3px; aspect-ratio:1.5; }.discovery-card:nth-child(-n+2) .discovery-photo { aspect-ratio:auto; height:310px; }
.rating-pill { left:14px; right:auto; bottom:14px; border-radius:0; background:#f2f5ca; color:#1e2f18; padding:7px 12px; }
.discovery-body { position:relative; padding:19px 0 0; }.entry-index { font:400 12px/1.5 Arial,sans-serif; color:#5b6755; }.discovery-body .entry-index { position:absolute; top:19px; right:0; }.discovery-body .card-kicker { padding-right:28px; display:block; font-size:14px; color:#5c664f; }.discovery-body h3 { font-size:24px; font-weight:600; letter-spacing:-.7px; margin:6px 0 8px; }.discovery-card:nth-child(-n+2) h3 { font-size:29px; }.card-location { font-size:13px; }.featured-menu { border-top:0; margin-top:6px; font-size:14px; }.featured-menu strong { font-size:20px; }
.discovery-actions { border-top:1px solid #9da993; border-bottom:1px solid #9da993; padding:7px 0; }.discovery-actions > a { font-size:15px; padding-left:0; }.discovery-actions > a > span { background:#d8ec89; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; }.discovery-actions > button { border-color:#b7c1ad; font-size:13px; }
.preview-disclosure { border-radius:0; border-color:#263c29; max-width:1344px; background:transparent; }.preview-disclosure > summary { padding:23px 26px; font-size:18px; }.preview-disclosure > summary span { font-size:14px; }
/* The website collection has an electric blue identity and a two-column gallery. */
.editorial-studio { background:#f3f2ed; }.editorial-studio .edition-line { color:#204edf; border-color:#b2b9cc; }.studio-layout { grid-template-columns:1fr 1fr; gap:68px; padding-block:44px; }.studio-layout .hero-copy { padding:0; }.editorial-studio .eyebrow { color:#2850ba; font-size:15px; letter-spacing:0; }.studio-hero h1 { color:#1646da; font-size:clamp(70px,7.1vw,108px); font-weight:700; line-height:1.13; letter-spacing:-4px; margin:12px 0 25px; }.studio-outline { color:#1d2b30; }.studio-hero .hero-description { font-size:17px; color:#505956; }.studio-hero .hero-actions { gap:24px; margin-top:30px; }.studio-hero .btn-grad { background:#174de0 !important; }.studio-hero .btn-grad span { margin-left:20px; font-size:20px; }.studio-hero .text-link { color:#1c3a70; }
.studio-art { padding:14px 14px 50px; margin-right:24px; background:#214ee4; transform:rotate(2deg); }.studio-art > img { border-radius:0; aspect-ratio:1.13; }.art-browser { display:flex; justify-content:space-between; color:#fff; font-size:10px; letter-spacing:1px; padding:2px 0 14px; }.art-browser span:last-child { font-size:20px; line-height:1; }.studio-note { bottom:-24px; left:-35px; transform:rotate(-5deg); background:#d4f76c; color:#213a17; border:0; border-radius:0; box-shadow:none; padding:18px 25px; }.studio-note > span { color:#364b28; font-size:12px; }.studio-note strong { font-size:62px; letter-spacing:-3px; line-height:1.15; }.studio-note strong span { font-size:30px; }.art-side-label { position:absolute; bottom:13px; right:14px; color:#fff; font-size:9px; letter-spacing:1px; }.studio-bottomline { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #879ab3; padding:24px 0; }.studio-bottomline strong { font-size:22px; font-weight:600; color:#1b3f95; }.studio-bottomline > span { font-size:13px; color:#5c6670; }
.suite-thaiez .catalog-section { background:#fff; }.suite-thaiez .catalog-filters .is-active { background:#174de0; }.suite-thaiez #catalogCount { border-color:#174de0; color:#174de0; }
#grid20Landing { grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 36px; }.template-card { border:0; border-radius:0; background:transparent; }.template-preview { padding:28px; background:color-mix(in srgb,var(--card-color) 17%,white); border-radius:2px; transition:background .2s; }.template-preview:hover { background:color-mix(in srgb,var(--card-color) 25%,white); }.template-browser { padding:12px; border-radius:0; }.template-browser span { font-size:10px; }.template-shot { min-height:225px; }.template-shot > div { padding:22px; }.template-shot strong { font-size:27px; letter-spacing:-.7px; }.template-shot span { font-size:11px; }.template-shot b { font-size:11px; padding:8px 10px; }.template-lines { border-radius:0; padding:25px; }.template-info { padding:20px 0 16px; min-height:100px; gap:16px; }.template-info > div { flex:1; }.template-info h3 { font-size:22px; font-weight:600; letter-spacing:-.5px; }.template-info .entry-index { align-self:flex-start; margin-top:6px; }.template-card .discovery-actions > a > span { background:#dfe8ff; }.template-card .color-dot { width:17px; height:17px; }
/* Tools: a graphic launcher, then a practical list rather than repeated cards. */
.editorial-software { background:#ede9ff; }.software-heading { display:grid; grid-template-columns:1.6fr 1fr; gap:44px; text-align:left; padding:44px 0 36px; align-items:end; }.software-heading h1 { font-size:clamp(48px,5.7vw,82px); line-height:1.22; letter-spacing:-3px; margin:0; }.software-heading h1 em { color:#6145c4; }.software-heading .eyebrow { font-size:15px; letter-spacing:0; color:#655182; }.software-intro { display:flex; flex-direction:column; align-items:start; gap:16px; padding:0 0 8px 30px; border-left:1px solid #c6bcdd; }.toolkit-symbol { font-size:66px; line-height:1; color:#6145c4; }.software-intro p { font-size:23px !important; color:#312749 !important; }.software-intro .text-link { font-size:14px; }
.app-launchers { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0; }.app-launcher { padding:25px; border-radius:0; border:1px solid #201c2c; border-right:0; background:#dbc9fa; min-height:260px; box-shadow:none; color:#21192f; gap:5px; }.app-launcher:last-child { border-right:1px solid #201c2c; }.app-launcher:hover { transform:none; box-shadow:inset 0 -7px #21192f; }.launcher-2 { background:#f3ab86; }.launcher-3 { background:#dbee78; }.launcher-4 { background:#a8d8f0; }.launcher-index { font-size:12px !important; color:#3b304f !important; margin-bottom:20px; }.app-launcher .ui-icon { width:34px; height:34px; margin-bottom:16px; }.app-launcher strong { font-size:28px; font-weight:600; letter-spacing:-1px; }.app-launcher > span:not(.launcher-index) { font-size:14px; color:#4f425c; }.launcher-arrow { position:absolute; right:20px; top:24px; width:34px; height:34px; border:1px solid #21192f; border-radius:50%; display:grid; place-items:center; font:25px Arial,sans-serif; }.software-price { margin:0; padding:23px 0 30px; font-size:13px; color:#554269; }
#twelve-software-catalog { padding:60px 0 !important; }#twelve-software-catalog h2 { font-size:42px !important; font-weight:600 !important; letter-spacing:-1.4px; }#grid12Software { display:block; border-top:1px solid #242b21; }.software-row { display:grid; grid-template-columns:45px 1fr 1.25fr 170px; align-items:center; gap:30px; padding:28px 0; border-bottom:1px solid #c2c9b9; }.software-number { font-size:13px; color:#6b725e; }.software-row-title h3 { font-size:27px; font-weight:600; letter-spacing:-.8px; }.software-row-title p { font-size:14px; margin-top:6px; color:#4d5944; }.software-row-description p { font-size:14px; color:#47583c; line-height:1.8; }.software-row-description span { display:block; margin-top:8px; font-size:12px; color:#677459; }.software-row-action { display:grid; justify-items:end; gap:12px; }.software-row-action strong { font-size:20px; font-weight:600; }.software-row-action button { border:1px solid #aebaa1; border-radius:3px; background:transparent; padding:10px 13px; font-size:13px; min-height:44px; }.software-row-action button:hover { background:#e0ebca; }
/* POS: hierarchy and an uncluttered working surface. */
.pos-hero { background:#dceeaf; padding:35px 0 0; border-color:#96ae76; }.workspace-heading h1 { font-size:48px; font-weight:600; letter-spacing:-1.8px; line-height:1.2; }.workspace-heading h1 em { color:#356539; font-style:normal; }.workspace-heading p:not(.eyebrow) { margin-top:16px; font-size:15px; }.workspace-heading .eyebrow { color:#455938; }.pos-status { font-size:12px; margin:24px 0; }.tab-index { display:inline-block; margin-right:10px; font-size:12px; opacity:.7; }#posModuleTabs .btn-chip { font-size:15px; padding:16px 24px; border-radius:0; }#posModuleTabs .is-active { color:#203e23; box-shadow:inset 0 3px #203e23; }#pos-master-suite { background:#f5f6f0; padding-block:30px 60px !important; }.live-stage-window { border-radius:4px; border-color:#b5c4a8 !important; }.window-dots { display:none; }.window-topbar { padding:13px 17px; border-color:#b5c4a8; }.window-url { background:none; border:0; font-size:12px; text-align:left; padding:0; color:inherit; }.suite-thaiap .window-topbar { background:#e3ead8 !important; color:#284221 !important; }.suite-thaiap .window-topbar button { color:#203c20 !important; background:white !important; min-height:36px; }.suite-thaiap .window-url { color:#405633 !important; }
/* Customer sites: editorial cover, simple menu rows and a clear checkout. */
.demo-page:not(.admin-page) .demo-hero { background:color-mix(in srgb,var(--demo-color) 13%,#fffdf3); border-color:#bdc7b3; }.demo-hero-layout { padding-block:42px; gap:60px; }.demo-hero h1 { font-size:clamp(40px,4.5vw,65px); font-weight:600; line-height:1.1; letter-spacing:-2.5px; }.demo-hero-label { font-size:14px; font-weight:600; }.demo-hero img { border-radius:3px; max-height:380px; aspect-ratio:1.2; }.demo-columns { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:40px; padding-block:45px; }.demo-panel { border-radius:4px; border-color:#c4ceb9; padding:28px; }.demo-columns > section:first-child { padding:0; border:0; background:none; }.demo-panel h2 { font-size:30px; font-weight:600; letter-spacing:-1px; }.demo-menu-grid { grid-template-columns:1fr; gap:0; }.demo-menu-item { border:0; border-radius:0; border-top:1px solid #bdc8b0; background:none; padding:23px 0; gap:16px; }.demo-menu-item > strong { font-size:18px; font-weight:600; }.demo-menu-item .demo-item-actions > strong { color:#2c4026 !important; font-size:23px; font-weight:600; }.demo-menu-item .btn-chip { background:#edf2de; border-color:#b8c4a6; border-radius:3px; font-size:14px; }.demo-services li { padding-block:22px; border-color:#bfc9b2; }.demo-services li strong { font-size:17px; font-weight:600; }.demo-panel label { font-size:14px; font-weight:600; }.input-modern,.select-modern { border-radius:3px; }
/* Admin: strong numerals, joined sections, restrained working controls. */
.admin-page { grid-template-columns:234px minmax(0,1fr); background:#f6f6ee; }.admin-sidebar { border-right:1px solid #bac8ab; background:#edf0e3; padding:28px 18px; }.admin-brand { font-size:27px; }.admin-brand-mark { border-radius:3px; background:#c9ed64; }.admin-sidebar nav a { border-radius:2px; font-size:15px; padding:13px 12px; }.admin-sidebar nav .sidebar-current { background:#d1eb84; color:#1f3418; box-shadow:inset 3px 0 #25401b; }.sidebar-note { border-radius:0; background:transparent; border-top:1px solid #bcc8ae; padding:20px 10px 0; font-size:13px; }.sidebar-label { font-size:11px; letter-spacing:.4px; color:#647355; }.admin-main { padding-inline:40px; }.admin-topline { border-bottom:1px solid #bdc8af; }.workspace-tag { border-radius:2px; background:#d8ecaa; }.admin-heading { padding:34px 0; }.admin-heading .eyebrow { font-size:11px; letter-spacing:.7px; }.admin-heading h1 { font-size:44px; font-weight:600; letter-spacing:-1.6px; line-height:1.25; }.admin-heading p:last-child { font-size:15px; }.admin-heading .btn-grad { border-radius:2px; }.admin-stats { gap:0; border:1px solid #92a479; background:#f9faf4; }.stat-card { border:0; border-right:1px solid #a9b997; border-radius:0; padding:24px; background:none; gap:16px; }.stat-card:last-child { border-right:0; }.stat-mint { background:#d2ec8a; }.stat-peach { background:#f7dcc5; }.stat-card strong { font-size:43px; line-height:1.1; font-weight:600; letter-spacing:-1.6px; }.stat-card small { font-size:12px; }.stat-card > span { font-size:14px; }.admin-section-heading { margin:34px 0 18px; }.admin-section-heading h2 { font-size:26px; font-weight:600; }.admin-section-heading > span { font-size:13px; color:#60704f; }.workspace-sites { gap:0; border-block:1px solid #aebc9d; }.workspace-site { border:0; border-right:1px solid #b9c6aa; border-radius:0; background:transparent; padding:24px; }.workspace-site:last-child { border-right:0; }.workspace-site:hover { transform:none; background:#edf1e2; }.workspace-site > span { border-radius:50%; font-size:15px; }.workspace-site strong { font-size:23px; font-weight:600; letter-spacing:-.6px; }.workspace-site small { font-size:14px; }.admin-guide { gap:28px; }.admin-guide article { border:0; border-radius:0; padding:24px 0; background:none; }.admin-guide h2 { font-size:27px; font-weight:600; }.admin-guide .eyebrow { font-size:11px; color:#64744f; }.admin-panel { border-radius:3px; border-color:#bbc8a9; }.admin-page .demo-menu-item { border-top:1px solid #bdc9ae; }.admin-page .input-modern,.admin-page .select-modern { font-size:16px; border-color:#b6c6a3; }.menu-save .btn-grad { background:#d2e999 !important; color:#203319; border:0; }.admin-page .demo-record { border-radius:3px; border-color:#b8c5aa; background:#fafbf6; }.admin-empty { padding:52px 24px; }.admin-empty h3 { font-size:25px; font-weight:600; }
.mega-footer { background:#1c2b20; padding-block:40px; }.mega-footer strong { font-weight:600; }.mega-footer a { font-size:13px; }
@media (max-width:1100px) {
 .container { padding-inline:30px; }.navbar-inner { gap:18px; }.nav-links { gap:16px; }.brand-logo-wrap { font-size:24px; }.food-hero-card { min-height:490px; gap:28px; }.editorial-food h1 { font-size:76px; }.studio-layout { gap:42px; }.studio-hero h1 { font-size:80px; }.studio-note { left:-20px; }.software-heading h1 { font-size:62px; }.app-launcher { padding:20px; }.app-launcher strong { font-size:24px; }.software-row { grid-template-columns:30px 1fr 1.2fr 150px; gap:22px; }.software-row-title h3 { font-size:24px; }.admin-page { grid-template-columns:200px minmax(0,1fr); }.admin-main { padding-inline:26px; }.admin-heading h1 { font-size:36px; }.admin-stats,.workspace-sites { grid-template-columns:repeat(2,minmax(0,1fr)); }.stat-card:nth-child(2) { border-right:0; }.stat-card:nth-child(-n+2) { border-bottom:1px solid #a9b997; }.workspace-site:nth-child(2) { border-right:0; }.workspace-site:nth-child(-n+2) { border-bottom:1px solid #b9c6aa; }.template-shot strong { font-size:23px; }.template-preview { padding:20px; }
}
@media (max-width:720px) {
 .container { padding-inline:20px; }.eco-topbar-inner > span { display:none; }.eco-pill { min-height:36px; font-size:11px; padding-inline:8px; }.navbar-inner { min-height:74px; padding-block:14px; gap:14px; }.brand-logo-wrap { font-size:22px; gap:8px; }.brand-icon { width:32px; height:32px; font-size:13px; }.navbar-inner > .btn-grad { min-height:40px; font-size:12px; padding:9px 13px; }.nav-links { gap:8px; }.nav-links a { font-size:12px; }.edition-line { font-size:9px; letter-spacing:.4px; padding-block:15px; gap:12px; }.edition-line span:last-child { text-align:right; }
 .food-hero-card { grid-template-columns:1fr; gap:25px; padding:25px 0; }.editorial-food .hero-copy { padding:0; }.editorial-food .hero-copy > .eyebrow { font-size:14px; }.editorial-food h1 { font-size:69px; letter-spacing:-2.8px; margin-bottom:25px; }.hero-bottom { padding-top:17px; }.hero-bottom p { font-size:14px; }.round-link { width:58px; height:58px; font-size:36px; }.hero-photo { aspect-ratio:1.35; }.photo-stamp { width:80px; height:80px; font-size:16px; top:15px; right:15px; }.photo-stamp b { font-size:8px; }.photo-caption { padding:12px 16px; }.photo-caption strong { font-size:16px; }.editorial-band { font-size:13px; padding:15px 12px; gap:10px; flex-wrap:wrap; }.editorial-band i { font-size:20px; }.editorial-band > span:nth-child(3),.editorial-band > i:nth-child(4) { display:none; }
 .catalog-section { padding:42px 0; }.catalog-heading { gap:15px; align-items:start; }.catalog-heading h2 { font-size:35px; letter-spacing:-1px; }.catalog-heading .eyebrow { font-size:10px; }.catalog-heading p:not(.eyebrow) { font-size:13px; margin-top:11px; }#catalogCount { font-size:12px; min-width:56px; padding:10px; }.catalog-toolbar { padding-block:13px; margin-bottom:26px; }.catalog-filters .btn-chip { font-size:12px; padding:10px 12px; }.catalog-filters { gap:5px; }.catalog-search { border-left:0; border-top:1px solid #c6ceba; padding:7px 0 0; max-width:none; }.catalog-search input { font-size:14px; }#grid20Restaurants { display:grid; grid-template-columns:1fr; gap:30px; }.discovery-card,.discovery-card:nth-child(1),.discovery-card:nth-child(2) { grid-column:auto; }.discovery-card:nth-child(-n+2) .discovery-photo { height:auto; aspect-ratio:1.5; }.discovery-body h3,.discovery-card:nth-child(-n+2) h3 { font-size:25px; }.discovery-body .card-kicker { font-size:13px; }.featured-menu { font-size:13px; }.featured-menu strong { font-size:19px; }.discovery-actions > a { font-size:14px; }.preview-disclosure > summary { font-size:16px; padding:18px; }.preview-disclosure > summary span { font-size:12px; }
 .studio-layout { grid-template-columns:1fr; padding:25px 0 48px; gap:40px; }.studio-hero h1 { font-size:76px; letter-spacing:-3px; }.studio-hero .eyebrow { font-size:14px; }.studio-hero .hero-description { font-size:15px; }.studio-hero .hero-actions { margin-top:22px; gap:20px; }.studio-hero .btn-grad { font-size:14px; padding:12px 17px; }.studio-art { margin:0 12px 0 8px; padding:12px 12px 40px; }.studio-art > img { aspect-ratio:1.35; }.studio-note { left:-8px; padding:13px 18px; bottom:-22px; }.studio-note strong { font-size:49px; }.studio-note > span { font-size:10px; }.art-side-label { font-size:7px; }.studio-bottomline { display:block; padding:21px 0; }.studio-bottomline strong { font-size:21px; }.studio-bottomline > span { display:block; margin-top:9px; font-size:12px; }#grid20Landing { grid-template-columns:1fr; gap:32px; }.template-preview { padding:20px; }.template-shot { min-height:180px; }.template-shot > div { padding:15px; }.template-shot strong { font-size:20px; }.template-shot span { font-size:9px; }.template-shot b { font-size:9px; }.template-info h3 { font-size:22px; }.template-info { min-height:95px; padding-block:17px; }
 .software-heading { grid-template-columns:1fr; gap:25px; padding-block:30px; }.software-heading h1 { font-size:49px; letter-spacing:-1.7px; }.software-heading .eyebrow { font-size:14px; }.software-intro { padding:17px 0 0; border-left:0; border-top:1px solid #bdb2d5; display:grid; grid-template-columns:50px 1fr; gap:12px 17px; align-items:center; }.toolkit-symbol { font-size:50px; }.software-intro p { font-size:19px !important; }.software-intro .text-link { grid-column:2; font-size:13px; justify-self:start; }.app-launchers { grid-template-columns:1fr 1fr; }.app-launcher { min-height:210px; padding:18px; border:1px solid #201c2c; }.app-launcher:nth-child(odd) { border-right:0; }.app-launcher:nth-child(-n+2) { border-bottom:0; }.app-launcher strong { font-size:23px; }.app-launcher > span:not(.launcher-index) { font-size:12px; }.launcher-arrow { width:28px; height:28px; font-size:21px; right:15px; top:17px; }.app-launcher .ui-icon { width:30px; height:30px; margin-bottom:10px; }.launcher-index { font-size:10px !important; margin-bottom:17px; }.software-price { font-size:12px; padding-block:19px 25px; }#twelve-software-catalog { padding-block:40px !important; }#twelve-software-catalog h2 { font-size:32px !important; letter-spacing:-1px; }.software-row { grid-template-columns:25px minmax(0,1fr); gap:15px; padding-block:23px; }.software-number { align-self:start; margin-top:6px; }.software-row-description,.software-row-action { grid-column:2; }.software-row-title h3 { font-size:28px; }.software-row-description p { font-size:14px; }.software-row-description span { font-size:12px; }.software-row-action { display:flex; align-items:center; justify-content:space-between; gap:12px; }.software-row-action strong { font-size:18px; }.software-row-action button { font-size:12px; }
 .pos-hero { padding-top:26px; }.workspace-heading h1 { font-size:38px; letter-spacing:-1.2px; }.workspace-heading p:not(.eyebrow) { font-size:14px; }.workspace-heading { gap:20px; }.pos-status { margin-block:22px; font-size:11px; }#posModuleTabs .btn-chip { font-size:12px; padding:12px 10px; text-align:left; }.tab-index { display:block; margin:0 0 5px; font-size:10px; }#posModuleTabs { gap:0 !important; }#posModuleTabs button { flex:1; }.window-topbar { padding:12px; }.window-url { font-size:10px; }
 .demo-hero-layout { padding-block:30px; gap:25px; }.demo-hero h1 { font-size:43px; letter-spacing:-1.5px; }.demo-hero-label { font-size:13px; }.demo-hero img { aspect-ratio:1.4; }.demo-columns { grid-template-columns:minmax(0,1fr); gap:30px; padding-block:30px; }.demo-panel { padding:22px; }.demo-panel h2 { font-size:27px; }.demo-menu-item > strong { font-size:17px; }.demo-menu-item .demo-item-actions > strong { font-size:21px; }
 .admin-page { display:block; }.admin-sidebar { padding:18px 20px 0; border-right:0; }.admin-brand { font-size:25px; }.admin-brand-mark { width:40px; height:42px; }.admin-sidebar nav a { font-size:12px; padding:12px 10px; }.admin-sidebar nav .sidebar-current { box-shadow:inset 0 -3px #25401b; }.admin-main { padding-inline:20px; }.admin-heading { padding-block:27px; }.admin-heading h1 { font-size:34px; letter-spacing:-1px; }.admin-heading p:last-child { font-size:14px; }.admin-heading .eyebrow { font-size:9px; }.admin-topline { font-size:12px; }.stat-card { padding:19px 16px; gap:12px; }.stat-card strong { font-size:33px; letter-spacing:-1px; }.stat-card > span { font-size:12px; }.stat-card small { font-size:10px; }.admin-section-heading h2 { font-size:24px; }.admin-section-heading > span { font-size:11px; }.workspace-site { padding:21px 16px; }.workspace-site strong { font-size:21px; }.workspace-site p { font-size:12px; }.workspace-site small { font-size:12px; }.workspace-site > span { margin-bottom:15px; }.admin-guide { gap:0; }.admin-guide article + article { border-top:1px solid #b9c6aa; }.admin-guide h2 { font-size:25px; }.admin-panel { padding:20px; }
}
@media (prefers-reduced-motion:reduce) { .studio-art,.studio-note,.photo-stamp { transform:none; } }

/* Collection refresh. Scope keeps existing POS and software class contracts intact. */
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) {
  --color-text:#182629; --color-text-secondary:#4f5d61; --color-surface:#fff;
  --color-border:#dce3df; --color-input-border:#788885; --color-focus:#174bd2;
  --color-page:#fffcf5; --color-action:#b83b16; --color-soft:#fff0cf;
  background:var(--color-page); color:var(--color-text); line-height:1.75;
}
.suite-thaiez { --color-page:#faf9ff; --color-action:#244ad9; --color-soft:#efecff; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) :is(h1,h2,h3,h4,p,span,a,button,label,small,input,select,strong,em) { letter-spacing:normal; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) :is(p,li,label) { line-height:1.75; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) .container { max-width:1320px; padding-inline:32px; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) :is(h1,h2,h3,h4) { line-height:1.4; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--color-focus); outline-offset:4px; box-shadow:0 0 0 3px white; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) :is(button,input,select) { font-size:1rem; min-height:44px; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) :is(.input-modern,.select-modern) { border:1px solid var(--color-input-border); border-radius:10px; background:white; color:var(--color-text); }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) img:not(.ui-icon):not(.brand-lockup) { outline:1px solid #0000001a; outline-offset:-1px; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) :is(a,button) { -webkit-tap-highlight-color:transparent; }
:is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) :is(h2,h3,section,[id]) { scroll-margin-block-start:120px; }
.collection-hero { padding-block:42px 0; }
.preview-intro { font-size:.875rem; font-weight:600; color:var(--color-action); }
.suite-thaieater .discovery-body h3 a { display:inline-flex; align-items:center; min-height:44px; }
.storefront-nav .storefront-brand { min-height:44px; }
.cover-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:48px; align-items:center; }
.cover-copy { padding-block:24px; min-width:0; }
.cover-kicker { font-weight:600; font-size:.9375rem; color:var(--color-action); display:flex; align-items:center; gap:10px; }
.cover-kicker > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#f9d75c; color:#563600; font-size:24px; }
.cover-copy h1 { font-size:clamp(3.1rem,5.1vw,4.7rem); line-height:1.4; margin-block:14px 20px; font-weight:700; }
.cover-copy h1 em { color:var(--color-action); font-style:normal; }
.cover-description { font-size:1.125rem; color:var(--color-text-secondary); max-width:36em; margin-bottom:28px; }
.cover-button,.storefront-action { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:52px; padding:13px 24px; border:1px solid transparent; border-radius:12px; background:var(--color-action); color:#fff; font:600 1rem/1.6 var(--font-sans); text-decoration:none; cursor:pointer; }
.cover-button > span,.storefront-action > span { font-size:1.5rem; line-height:1; }
.cover-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.cover-secondary { display:inline-flex; min-height:44px; align-items:center; color:var(--color-action); text-decoration:underline; text-underline-offset:5px; font-weight:600; }
.cover-proof { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:28px; font-size:.8125rem; color:var(--color-text-secondary); }
.cover-proof > span { display:flex; align-items:center; gap:6px; }
.cover-proof b { color:var(--color-text); font-size:1.25rem; }
.cover-media { position:relative; align-self:stretch; min-height:430px; border-radius:28px; overflow:hidden; background:#ffdb83; }
.cover-media > img { width:100%; height:100%; object-fit:cover; display:block; }
.cover-seal { position:absolute; inset:22px 22px auto auto; display:grid; place-content:center; width:95px; height:95px; border-radius:50%; background:#e6f394; color:#284326; font-size:1.25rem; font-weight:700; text-align:center; transform:rotate(9deg); }
.cover-caption { position:absolute; inset:auto 20px 20px; width:max-content; max-width:calc(100% - 40px); padding:12px 20px; border-radius:16px; background:#fffdf2; color:var(--color-text); }
.cover-caption span { display:block; font-size:.75rem; color:var(--color-text-secondary); }.cover-caption strong { font-size:1rem; }
.cover-ribbon { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding:20px 28px; margin-top:32px; background:#fce39a; border-radius:18px; color:#50380e; font-size:.9375rem; font-weight:600; }
.cover-ribbon span { display:flex; gap:24px; align-items:center; }.cover-ribbon b { color:#a5411d; font-size:1.35rem; }.cover-ribbon a { display:inline-flex; align-items:center; min-height:44px; color:#6c3515; text-underline-offset:5px; }
.ez-cover { background:linear-gradient(125deg,#f0edff,#faf9ff 60%); }
.ez-cover .cover-kicker > span { background:#dff298; color:#31482c; }
.ez-media { background:#d5ccff; padding:14px 14px 60px; border-radius:24px; min-height:440px; overflow:visible; border:1px solid #c4b5f2; }
.ez-media > img { height:calc(100% - 30px); min-height:300px; border-radius:12px; aspect-ratio:1.4; object-fit:cover; }
.cover-browser { display:flex; justify-content:space-between; gap:12px; color:#514479; font-size:.75rem; padding:0 4px 14px; }
.ez-sticker { position:absolute; inset:auto 24px 22px auto; padding:16px 22px; background:#e5f5a6; border-radius:12px; border:1px solid #c4d784; box-shadow:0 5px 0 #28283a0a; transform:rotate(-3deg); color:#253b29; }
.ez-sticker span { display:block; font-size:.75rem; }.ez-sticker strong { font-size:1.25rem; }.ez-cover .cover-ribbon { background:#244ad9; color:white; }.ez-cover .cover-ribbon a { color:white; }.ez-cover .cover-ribbon b { color:#ddf493; }
:is(.suite-thaieater,.suite-thaiez) .catalog-section { padding-block:72px; background:var(--color-page); }
:is(.suite-thaieater,.suite-thaiez) .catalog-heading { display:flex; align-items:end; gap:24px; margin-bottom:28px; }
:is(.suite-thaieater,.suite-thaiez) .catalog-heading h2 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.5; margin:0; font-weight:700; }
:is(.suite-thaieater,.suite-thaiez) .catalog-heading .eyebrow { color:var(--color-action); font-size:.875rem; margin-bottom:8px; }
:is(.suite-thaieater,.suite-thaiez) .catalog-heading p:not(.eyebrow) { color:var(--color-text-secondary); font-size:1rem; margin-top:10px; }
:is(.suite-thaieater,.suite-thaiez) #catalogCount { background:var(--color-soft); color:var(--color-action); border:0; border-radius:10px; white-space:nowrap; font-size:.875rem; padding:10px 16px; }
:is(.suite-thaieater,.suite-thaiez) .catalog-toolbar { border:0; padding:0; margin-bottom:32px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
:is(.suite-thaieater,.suite-thaiez) .catalog-filters { display:flex; flex-wrap:wrap; gap:8px; }
:is(.suite-thaieater,.suite-thaiez) .catalog-filters .btn-chip { min-height:44px; border:1px solid var(--color-input-border); background:white; color:var(--color-text-secondary); padding:10px 15px; border-radius:24px; font-size:.875rem; transform:none; }
:is(.suite-thaieater,.suite-thaiez) .catalog-filters .btn-chip.is-active { background:var(--color-action); border-color:var(--color-action); color:white; box-shadow:none; }
:is(.suite-thaieater,.suite-thaiez) .catalog-filters .btn-chip.is-active::before { content:'✓'; font-weight:700; }
:is(.suite-thaieater,.suite-thaiez) .catalog-search { flex:1 1 270px; max-width:350px; min-width:0; background:white; border:1px solid var(--color-input-border); border-radius:12px; padding:4px 14px; }
:is(.suite-thaieater,.suite-thaiez) .catalog-search input { font-size:1rem; width:100%; min-width:0; color:var(--color-text); background:transparent; }
:is(.suite-thaieater,.suite-thaiez) .catalog-search:focus-within { outline:3px solid var(--color-focus); outline-offset:3px; }
.suite-thaieater #grid20Restaurants { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.suite-thaieater .discovery-card,.suite-thaieater .discovery-card:nth-child(-n+2) { grid-column:auto; background:white; border-radius:20px; overflow:hidden; box-shadow:0 2px 8px #1e312b08; border:1px solid var(--color-border); display:flex; flex-direction:column; }
.suite-thaieater .discovery-photo,.suite-thaieater .discovery-card:nth-child(-n+2) .discovery-photo { height:auto; aspect-ratio:1.65; border-radius:0; }
.suite-thaieater .rating-pill { background:#fff; border-radius:20px; color:#4e4219; font-size:.8125rem; padding:5px 10px; bottom:12px; left:12px; }
.suite-thaieater .discovery-body { padding:22px 22px 16px; flex:1; }.suite-thaieater .entry-index { display:none; }
.suite-thaieater .discovery-body .card-kicker { display:inline-block; color:#725414; background:#fff3cf; border-radius:6px; font-size:.75rem; padding:3px 9px; }
.suite-thaieater .discovery-body h3,.suite-thaieater .discovery-card:nth-child(-n+2) h3 { font-size:1.25rem; font-weight:600; margin-block:10px 6px; }
.suite-thaieater .card-location { font-size:.8125rem; color:var(--color-text-secondary); }
.suite-thaieater .featured-menu { margin-top:16px; padding-top:14px; border-top:1px solid var(--color-border); font-size:.875rem; gap:12px; }.suite-thaieater .featured-menu strong { font-size:1.125rem; color:var(--color-action); white-space:nowrap; }
:is(.suite-thaieater,.suite-thaiez) .discovery-actions { border:0; border-top:1px solid var(--color-border); padding:12px 18px; gap:10px; background:white; }
:is(.suite-thaieater,.suite-thaiez) .discovery-actions > a { font-size:.875rem; min-height:44px; color:var(--color-action); gap:8px; padding:0; }
:is(.suite-thaieater,.suite-thaiez) .discovery-actions > a > span { background:transparent; width:22px; height:22px; }
:is(.suite-thaieater,.suite-thaiez) .discovery-actions > button { min-height:44px; min-width:44px; padding:8px 12px; font-size:.8125rem; border:1px solid #89958e; border-radius:9px; background:white; color:var(--color-text-secondary); }
.suite-thaiez #grid20Landing { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.suite-thaiez .template-card { border:1px solid #dadfea; border-radius:20px; overflow:hidden; background:white; display:flex; flex-direction:column; }
.suite-thaiez .template-preview { padding:20px; background:color-mix(in srgb,var(--card-color) 13%,#f5f6ff); border-radius:0; }
.suite-thaiez .template-browser { padding:8px; border-radius:7px 7px 0 0; background:white; color:#4f5d61; }.suite-thaiez .template-browser span { font-size:.625rem; }
.suite-thaiez .template-shot { min-height:170px; background:color-mix(in srgb,var(--card-color) 10%,white); grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); color:#182629; }
.suite-thaiez .template-shot > div { padding:14px; color:#182629; }.suite-thaiez .template-shot span { font-size:.6875rem; color:#35474b; }.suite-thaiez .template-shot strong { font-size:1rem; color:#182629; }.suite-thaiez .template-shot b { color:#fff; background:#253a42; font-size:.625rem; padding:6px 9px; }
.suite-thaiez .template-shot img { min-width:0; height:100%; width:100%; object-fit:cover; }
.suite-thaiez .template-lines { background:white; border-radius:0 0 7px 7px; padding:12px; }.suite-thaiez .template-lines i { background:#e1e6e3; }
.suite-thaiez .template-info { padding:20px; min-height:125px; flex:1; align-items:start; gap:10px; }.suite-thaiez .template-info h3 { font-size:1.125rem; margin-top:6px; }.suite-thaiez .template-info .card-kicker { font-size:.8125rem; color:var(--color-text-secondary); }.suite-thaiez .template-info .entry-index { font-size:.75rem; margin-top:1px; color:#5a6980; }.suite-thaiez .color-dot { flex-shrink:0; margin-top:4px; border:1px solid #0002; }
:is(.suite-thaieater,.suite-thaiez) .preview-disclosure { max-width:1256px; margin-inline:auto; margin-block:0 64px; border:1px solid #a4b3ad; border-radius:18px; background:white; }
:is(.suite-thaieater,.suite-thaiez) .preview-disclosure > summary { padding:22px 24px; font-size:1.125rem; min-height:60px; flex-wrap:wrap; gap:10px; }.preview-disclosure > summary span { margin-left:auto; }
:is(.suite-thaieater,.suite-thaiez) :is(#stageHeroBanner,#ezStageHero) { background:var(--color-soft) !important; color:var(--color-text) !important; }
:is(.suite-thaieater,.suite-thaiez) :is(#stageRating,#stageCuisine,#ezStageCat,#ezStagePromo,#stageHeroBanner > div > div > span) { color:var(--color-text) !important; background:white !important; }
:is(.suite-thaieater,.suite-thaiez) .window-topbar { background:#eef2ef !important; color:var(--color-text) !important; }.suite-thaieater #stageThemeLabel,.suite-thaiez #ezStagePalette { color:var(--color-text) !important; }
:is(.suite-thaieater,.suite-thaiez) .demo-menu-item .demo-item-actions > strong { color:var(--color-action) !important; }
:is(.suite-thaieater,.suite-thaiez) .btn-grad { background:var(--color-action) !important; color:white; border-radius:10px; box-shadow:none; }
.suite-thaiez #ezStageServices > div { flex-wrap:wrap; gap:12px; }.suite-thaiez #ezStageServices span { color:#244075 !important; }
.collection-pricing { padding-block:72px; background:#eeeaff; border-top:1px solid #d9d0f0; }
.pricing-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; }.pricing-layout h2 { font-size:clamp(2rem,3.2vw,3rem); margin-block:14px 20px; }.pricing-layout > div > p { color:#435171; }.pricing-layout ul { margin-top:28px; padding-left:22px; color:#344562; }.pricing-layout li { margin-block:12px; }
.pricing-card { background:white; padding:32px; border:1px solid #d4cbea; border-radius:24px; }.pricing-card > span { font-size:.875rem; color:#435171; }.pricing-amount { font-size:3.75rem; color:#244ad9 !important; font-weight:700; line-height:1.3 !important; margin-block:10px; }.pricing-amount small { font-size:1.25rem; }
.pricing-card .domain-builder { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:24px 0 0; background:none; border:0; box-shadow:none; }.domain-builder label { font-size:.875rem; font-weight:600; }.domain-builder label small { display:block; font-size:.75rem; font-weight:400; color:#526080; }.pricing-card .cover-button { width:100%; margin-top:8px; }
.form-note { font-size:.8125rem; color:var(--color-text-secondary); margin-top:16px; line-height:1.75; }.pricing-card > p:not(.pricing-amount) { font-size:.875rem; }

/* Standalone businesses retain catalog hues, with category-specific composition. */
:is(.demo-storefront,.demo-business) { --color-action:var(--demo-action); --color-page:#fffdf8; --color-soft:color-mix(in srgb,var(--demo-color) 10%,white); background:var(--color-page); }
.standalone-notice { background:#f5edcf; color:#544518; text-align:center; padding:8px 20px; font-size:.75rem; line-height:1.7; }
.storefront-nav { min-height:100px; gap:24px; padding-block:20px; }.storefront-brand { display:flex; align-items:center; gap:12px; max-width:55%; text-decoration:none !important; }.storefront-brand strong { font-size:1.125rem; line-height:1.4; }.storefront-mark { width:42px; height:42px; display:grid; place-items:center; flex-shrink:0; background:var(--color-soft); color:var(--color-action); border-radius:13px; font-size:1.5rem; }
.storefront-nav nav { display:flex; align-items:center; gap:24px; }.storefront-nav nav a { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; font-weight:600; color:var(--color-text); text-underline-offset:4px; }.storefront-nav .storefront-nav-action { border:1px solid var(--color-action); padding:10px 16px; border-radius:10px; color:var(--color-action); text-decoration:none; }
:is(.demo-storefront,.demo-business) .demo-hero { color:var(--color-text); background:var(--color-soft); border:0; }
:is(.demo-storefront,.demo-business) .demo-hero-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); padding-block:48px; gap:56px; }
:is(.demo-storefront,.demo-business) .demo-hero-layout > div { background:none; padding:0; border-radius:0; }
:is(.demo-storefront,.demo-business) .demo-hero h1 { font-size:clamp(2.25rem,4vw,3.5rem); line-height:1.22; font-weight:700; margin-block:20px; overflow-wrap:break-word; }
:is(.demo-storefront,.demo-business) .demo-hero-label { font-size:.875rem; color:var(--color-action); display:flex; align-items:center; gap:10px; }.demo-hero-label > span { font-size:1.5rem; }
.storefront-description { font-size:1.0625rem; color:var(--color-text-secondary); max-width:36em; }.storefront-detail { font-size:.8125rem; margin-block:20px; color:var(--color-text-secondary); }.storefront-domain { font-size:.75rem; margin-top:16px; color:var(--color-text-secondary); overflow-wrap:anywhere; }
:is(.demo-storefront,.demo-business) .demo-hero-layout > .storefront-image { position:relative; padding:0; border-radius:24px; overflow:hidden; }
:is(.demo-storefront,.demo-business) .storefront-image img { display:block; border-radius:24px; aspect-ratio:1.3; width:100%; height:100%; max-height:450px; object-fit:cover; }
.storefront-image-label { position:absolute; bottom:20px; left:20px; max-width:calc(100% - 40px); background:white; border-radius:10px; padding:10px 16px; font-size:.8125rem; font-weight:600; color:var(--color-text); }
.storefront-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-block:26px; border-bottom:1px solid var(--color-border); }.storefront-features span { display:flex; align-items:center; justify-content:center; gap:14px; font-size:.875rem; font-weight:600; }.storefront-features b { color:var(--color-action); font-size:.8125rem; background:var(--color-soft); padding:6px 10px; border-radius:50%; }
:is(.demo-storefront,.demo-business) .demo-columns { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:48px; padding-block:64px 80px; }
:is(.demo-storefront,.demo-business) .demo-panel { border-radius:20px; padding:28px; border:1px solid var(--color-border); }
:is(.demo-storefront,.demo-business) .demo-columns > section:first-child { background:none; padding:0; border:0; }
:is(.demo-storefront,.demo-business) .demo-panel h2 { font-size:1.75rem; font-weight:600; }.section-intro { margin-bottom:28px; }.section-intro h2 { margin-block:8px; }.section-intro > p:last-child { color:var(--color-text-secondary); font-size:.9375rem; }.section-intro .eyebrow,.cart-panel > .eyebrow,.lead-panel > .eyebrow { font-size:.8125rem; color:var(--color-action); }
.demo-storefront .demo-menu-grid { display:grid; grid-template-columns:1fr; gap:14px; }.demo-storefront .demo-menu-item { padding:22px; border:1px solid var(--color-border); border-radius:16px; background:white; gap:14px; }.demo-storefront .demo-menu-item > strong { font-size:1.125rem; }.demo-storefront .demo-menu-item .demo-item-actions > strong { font-size:1.25rem; color:var(--color-action) !important; }
:is(.demo-storefront,.demo-business) .btn-chip { min-height:44px; padding:9px 14px; border:1px solid var(--color-action); border-radius:9px; color:var(--color-action); font-size:.875rem; background:var(--color-soft); }
:is(.demo-storefront,.demo-business) .demo-primary { width:100%; background:var(--color-action) !important; color:white; box-shadow:none; border-radius:10px; }
.demo-storefront .cart-panel { position:sticky; top:24px; background:white; }.demo-storefront #stageCartItems { border:0; background:var(--color-soft); border-radius:12px; padding:16px; margin-bottom:22px; font-size:.875rem; }.demo-storefront #stageCartItems > div { gap:10px; }.demo-storefront #stageCartItems .btn-chip { font-size:.75rem; background:white; }
:is(.demo-storefront,.demo-business) .demo-panel label { font-size:.875rem; gap:8px; margin-block:18px; }.demo-storefront #stageCartTotal { font-size:1.75rem; color:var(--color-action); }.demo-storefront .cart-panel > .demo-item-actions { margin-block:24px 16px; }
.demo-business .demo-services { display:grid; gap:18px; }.demo-business .service-card { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:10px 16px; padding:24px; border:1px solid var(--color-border); border-radius:16px; background:white; }.service-index { font-size:.875rem; color:var(--color-action); background:var(--color-soft); border-radius:50%; width:38px; height:38px; display:grid; place-items:center; }.service-card h3 { font-size:1.0625rem; align-self:center; font-weight:600; }.service-card > p { grid-column:2 / -1; font-size:.8125rem; color:var(--color-text-secondary); }.service-card > strong { grid-column:2; color:var(--color-action); font-size:1.25rem; }.service-card a { grid-column:2 / -1; display:flex; align-items:center; justify-content:space-between; min-height:44px; color:var(--color-action); text-underline-offset:5px; font-size:.875rem; border-top:1px solid var(--color-border); margin-top:8px; padding-top:12px; }.lead-panel { background:white; }.lead-panel > p:not(.eyebrow):not(.form-note) { font-size:.875rem; color:var(--color-text-secondary); }
.storefront-footer { background:var(--color-soft); border-top:1px solid var(--color-border); padding-block:36px; }.storefront-footer > .container { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; }.storefront-footer strong { font-size:1.25rem; }.storefront-footer p { font-size:.8125rem; color:var(--color-text-secondary); margin-top:8px; }.storefront-footer nav { display:flex; flex-wrap:wrap; gap:24px; align-items:start; }.storefront-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--color-action); text-underline-offset:5px; font-size:.875rem; }.storefront-footer-note { width:100%; border-top:1px solid #0002; padding-top:20px; }
.demo-storefront[data-category="cafe"] .storefront-image { border-radius:140px 140px 24px 24px; }.demo-storefront[data-category="cafe"] .storefront-image img { border-radius:inherit; }.demo-storefront[data-category="inter"] .demo-hero { background:#f2f6ea; }.demo-business[data-category="beauty"] .storefront-image { border-radius:140px 140px 24px 24px; }.demo-business[data-category="beauty"] .storefront-image img { border-radius:inherit; }.demo-business[data-category="home"] .demo-hero-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); }.demo-business[data-category="retail"] .storefront-image { box-shadow:12px 12px 0 color-mix(in srgb,var(--demo-color) 18%,white); }.demo-business[data-category="pro"] .demo-hero { border-bottom:6px solid var(--demo-color); }
.demo-page .skip-link { position:fixed; top:-100px; left:16px; z-index:300; background:white; padding:12px; border:2px solid currentColor; }.demo-page .skip-link:focus { top:10px; }
:is(.demo-storefront,.demo-business) :is(#stageCartTotal,.service-card > strong) { font-variant-numeric:tabular-nums; }
@media (hover:hover) {
  :is(.suite-thaieater,.suite-thaiez) .discovery-card:hover,:is(.suite-thaieater,.suite-thaiez) .template-card:hover { border-color:#a3b0ac; box-shadow:0 8px 24px #1826290d; }
  :is(.cover-button,.storefront-action):hover { filter:brightness(.9); }
}
@media (prefers-reduced-motion:no-preference) {
  :is(.cover-button,.storefront-action) { transition:filter 150ms ease-out,scale 150ms ease-out; }
  :is(.cover-button,.storefront-action):not(:disabled):active { scale:.96; }
}
@media (max-width:1100px) {
  .cover-layout { gap:28px; }.cover-copy h1 { font-size:3.5rem; }.cover-media { min-height:390px; }
  .suite-thaieater #grid20Restaurants,.suite-thaiez #grid20Landing { grid-template-columns:repeat(2,minmax(0,1fr)); }.pricing-layout { gap:40px; }
}
@media (max-width:760px) {
  :is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) .container { padding-inline:20px; }
  .collection-hero { padding-top:12px; }.cover-layout { grid-template-columns:minmax(0,1fr); gap:26px; }.cover-copy { padding-block:18px 0; }.cover-kicker { font-size:.8125rem; }.cover-copy h1 { font-size:clamp(2.65rem,10vw,3.5rem); line-height:1.4; margin-block:12px; }.cover-description { font-size:1rem; margin-bottom:22px; }.cover-proof { margin-top:20px; gap:10px 18px; font-size:.75rem; }.cover-proof b { font-size:1rem; }
  .cover-media { min-height:0; height:300px; border-radius:20px; }.cover-seal { width:74px; height:74px; font-size:1rem; top:16px; right:16px; }.cover-caption { inset:auto 14px 14px; padding:10px 14px; }.cover-caption strong { font-size:.875rem; }.cover-caption span { font-size:.6875rem; }
  .ez-media { height:auto; min-height:300px; padding:12px 12px 54px; border-radius:20px; }.ez-media > img { min-height:0; height:auto; aspect-ratio:1.45; }.cover-browser { font-size:.625rem; padding-bottom:10px; }.ez-sticker { bottom:14px; right:18px; padding:12px 16px; }.ez-sticker strong { font-size:1rem; }.ez-sticker span { font-size:.6875rem; }
  .cover-ribbon { gap:10px 20px; padding:16px 18px; margin-top:24px; font-size:.8125rem; }.cover-ribbon span { gap:10px; }.cover-ribbon a { width:100%; border-top:1px solid #0002; padding-top:8px; }.ez-cover .cover-ribbon { gap:12px; }.ez-cover .cover-ribbon > b { display:none; }.ez-cover .cover-ribbon a { border-color:#ffffff50; }.cover-actions { gap:12px; }.cover-secondary { font-size:.875rem; }
  :is(.suite-thaieater,.suite-thaiez) .catalog-section { padding-block:44px; }:is(.suite-thaieater,.suite-thaiez) .catalog-heading { gap:14px; align-items:start; }:is(.suite-thaieater,.suite-thaiez) .catalog-heading h2 { font-size:1.75rem; }:is(.suite-thaieater,.suite-thaiez) .catalog-heading .eyebrow { font-size:.75rem; }:is(.suite-thaieater,.suite-thaiez) .catalog-heading p:not(.eyebrow) { font-size:.875rem; }:is(.suite-thaieater,.suite-thaiez) #catalogCount { font-size:.75rem; padding:8px 10px; min-width:0; }
  :is(.suite-thaieater,.suite-thaiez) .catalog-toolbar { gap:16px; }:is(.suite-thaieater,.suite-thaiez) .catalog-search { flex-basis:100%; max-width:none; }:is(.suite-thaieater,.suite-thaiez) .catalog-filters .btn-chip { font-size:.8125rem; padding:10px 14px; }
  .suite-thaieater #grid20Restaurants,.suite-thaiez #grid20Landing { grid-template-columns:minmax(0,1fr); gap:24px; }.suite-thaieater .discovery-body { padding:20px; }.suite-thaiez .template-shot { min-height:190px; }.suite-thaiez .template-shot strong { font-size:1.125rem; }.suite-thaiez .template-info { min-height:100px; }
  :is(.suite-thaieater,.suite-thaiez) .preview-disclosure { margin-inline:20px; margin-bottom:40px; }:is(.suite-thaieater,.suite-thaiez) .preview-disclosure > summary { font-size:1rem; padding:18px; }:is(.suite-thaieater,.suite-thaiez) .preview-disclosure > summary span { margin:0; font-size:.75rem; }:is(.suite-thaieater,.suite-thaiez) .preview-disclosure .container { padding-inline:14px; }:is(.suite-thaieater,.suite-thaiez) .preview-disclosure .demo-preview-columns { padding:18px !important; }:is(.suite-thaieater,.suite-thaiez) .preview-disclosure select { max-width:100%; width:100% !important; font-size:1rem !important; }
  .pricing-layout { grid-template-columns:minmax(0,1fr); gap:32px; }.collection-pricing { padding-block:44px; }.pricing-card { padding:24px; }.pricing-layout h2 { font-size:2rem; }
  .storefront-nav { min-height:0; padding-block:18px; gap:14px; }.storefront-brand { max-width:100%; }.storefront-brand strong { font-size:1rem; }.storefront-nav nav { width:100%; justify-content:space-between; gap:12px; }.storefront-nav nav a { font-size:.8125rem; }
  :is(.demo-storefront,.demo-business) .demo-hero-layout,.demo-business[data-category="home"] .demo-hero-layout { grid-template-columns:minmax(0,1fr); gap:28px; padding-block:28px; }:is(.demo-storefront,.demo-business) .demo-hero h1 { font-size:2.5rem; }:is(.demo-storefront,.demo-business) .demo-hero-label { font-size:.8125rem; }.storefront-description { font-size:1rem; }.storefront-detail { margin-block:16px; }.storefront-image img { max-height:320px !important; }
  .storefront-features { grid-template-columns:minmax(0,1fr); gap:12px; padding-block:20px; }.storefront-features span { justify-content:start; font-size:.8125rem; }
  :is(.demo-storefront,.demo-business) .demo-columns { grid-template-columns:minmax(0,1fr); gap:36px; padding-block:36px 48px; }:is(.demo-storefront,.demo-business) .demo-panel { padding:22px; }:is(.demo-storefront,.demo-business) .demo-panel h2 { font-size:1.5rem; }.demo-storefront .cart-panel { position:static; }.demo-storefront .demo-menu-item { padding:18px; }.demo-storefront .demo-menu-item > strong { font-size:1rem; }.demo-business .service-card { grid-template-columns:32px minmax(0,1fr); padding:18px; gap:10px; }.service-index { width:30px; height:30px; }.service-card h3 { font-size:1rem; }.service-card > strong { grid-column:2; }.storefront-footer nav { gap:16px; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) *, :is(.suite-thaieater,.suite-thaiez,.demo-storefront,.demo-business) *::before { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
