/* Navigation, touch controls and beginner-friendly management screens. */
:root { --header-height:88px; --muted:#68705f; }
html { scroll-padding-top:calc(var(--header-height) + 22px); }
body { overflow-wrap:break-word; }
.site-header { position:sticky; top:0; z-index:60; height:var(--header-height); gap:20px; box-shadow:0 1px 0 #292c2706; }
.site-header .brand { min-width:0; }
.site-header .brand>span { overflow-wrap:anywhere; }
.site-header nav { gap:23px; }
.site-header nav a { font-size:12px; white-space:nowrap; }
.site-header nav a.active:after { bottom:18px; }
.header-actions { gap:10px; flex-shrink:0; }
.header-actions .icon-button { width:44px; height:44px; }
.header-actions .bag-button { background:var(--olive); color:white; min-height:44px; padding:10px 13px; gap:9px; border-radius:3px; font-size:12px; white-space:nowrap; }
.header-actions .bag-word { display:inline; }
.bag-button #bag-count { background:#ffffff25; color:white; min-width:24px; width:auto; height:24px; padding:0 6px; font-size:11px; }
.bag-count { font-variant-numeric:tabular-nums; }
.mobile-menu-search,.customer-dock,.admin-section-switch { display:none; }
body[data-page=catalog] .customer-dock a:first-child,body[data-page=live] .customer-dock a:nth-child(2){background:#e9ece2;color:var(--olive-dark)}
.button,.button.small { min-height:44px; font-size:12px; }
.icon-button,.favourite-button,.product-card-bottom button { min-width:44px; min-height:44px; }
.favourite-button { background:#faf9f4ef; }
.favourite-button svg { width:18px; height:18px; }
.product-card h3 { font-size:14px; line-height:1.5; }
.product-card-bottom { font-size:11px; }
.product-card-meta { font-size:9px; }
.product-card-meta>span+span { font-size:8px; }
.category-tabs button { min-height:44px; font-size:12px; }
.catalog-meta { font-size:11px; }
.catalog-meta>span+span { font-size:8px; }
.category-tabs { min-width:0; }
.collection-toolbar { align-items:center; }
label { font-size:13px; }
.stack-form { gap:20px; }
.stack-form input,.stack-form select,.stack-form textarea { min-height:46px; font-size:14px; }
.checkbox-label { font-size:12px; gap:12px; cursor:pointer; }
.checkbox-label input { width:19px; height:19px; min-height:0; }
.option-buttons span { min-height:44px; min-width:44px; font-size:12px; }
.product-detail-copy legend { font-size:13px; }
.detail-description { font-size:14px; }
.detail-note p,.form-footnote { font-size:11px; }
.availability { font-size:12px; }
.bag-item h3 { font-size:14px; }
.bag-item p,.bag-item-controls label,.bag-item-controls button { font-size:12px; }
.bag-item-controls input { min-height:44px; font-size:14px; width:65px; }
.bag-item-controls button { min-height:44px; }
.bag-info p,.checkout-intro { font-size:13px; }
.drawer,.editor-dialog { padding:28px; }
.drawer>.dialog-heading,.editor-dialog>.dialog-heading { position:sticky; top:-28px; z-index:5; background:var(--paper); padding-top:12px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.drawer .dialog-heading h2,.editor-dialog .dialog-heading h2 { font-size:34px; }
.drawer .dialog-heading .icon-button,.editor-dialog .dialog-heading .icon-button { background:var(--cream); border-radius:50%; }
.room-info { flex-wrap:wrap; align-items:flex-start; }
.room-info>div { min-width:180px; }
.room-info #reconnect-live { min-height:44px; font-size:12px; }
.chat-message strong,.host-message strong { font-size:12px; }
.chat-message p,.host-message p { font-size:13px; }
.chat-message time { font-size:10px; }
.chat-form>label { font-size:12px; }
.chat-form>input,.chat-compose input { min-height:44px; font-size:13px; }
.chat-form small { font-size:11px; }
.chat-empty p { font-size:12px; }
.live-help { font-size:13px; }
.pinned-card h3 { font-size:14px; }
.pinned-card .eyebrow { font-size:9px; }
.pinned-card .button { font-size:12px; }
.admin-sidebar { position:sticky; top:var(--header-height); align-self:start; height:calc(100dvh - var(--header-height)); overflow-y:auto; }
.admin-sidebar h2 { font-size:32px; }
.admin-sidebar h2>span { font-size:11px; line-height:1.6; }
.admin-sidebar nav button { font-size:13px; min-height:48px; }
.admin-sidebar-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.admin-sidebar-actions .text-link,.admin-sidebar-actions .text-button { min-height:44px; display:inline-flex; align-items:center; font-size:12px; margin:0; }
.admin-content { min-width:0; }
.admin-heading { margin-bottom:10px; }
.admin-heading h1 { font-size:42px; }
.admin-page-help { font-size:14px; color:var(--muted); margin-bottom:28px; max-width:760px; }
.studio-intro>span { font-size:10px; }
.studio-intro p { font-size:13px; }
.studio-card p { font-size:13px; }
.stat-grid>div>span { font-size:13px; }
.stat-grid small { font-size:11px; }
.stat-grid .stat-word { font-size:32px; }
.panel-toolbar { align-items:center; flex-wrap:wrap; }
.panel-toolbar input,.panel-toolbar select,.panel-toolbar>.search-input input { font-size:13px; min-height:44px; }
.panel-toolbar .search-input { min-width:0; }
.admin-table { font-size:12px; }
.admin-table th { font-size:10px; }
.admin-table td { white-space:normal; }
.table-product strong { font-size:13px; }
.table-product small { font-size:10px; }
.row-actions button { min-height:44px; font-size:12px; padding:8px 12px; }
.row-actions [data-edit-product] { border:1px solid #c9cbbf; background:var(--cream); }
.status-pill { font-size:11px; padding:5px 10px; }
.recent-order { font-size:13px; }
.recent-order small { font-size:11px; }
.card-heading .text-link { font-size:12px; min-height:44px; align-items:center; }
.order-contact { font-size:12px; overflow-wrap:anywhere; }
.tracking-items>div { font-size:13px; }
.tracking-items small { font-size:11px; }
.admin-order-card select { font-size:13px; min-height:44px; }
.order-details p { font-size:13px; }
.order-details strong { font-size:12px; }
.admin-order-card>.text-link { font-size:12px; min-height:44px; }
.editor-dialog .stack-form label { font-size:13px; }
.editor-dialog .stack-form input,.editor-dialog .stack-form select,.editor-dialog .stack-form textarea { font-size:14px; }
.broadcast-status { font-size:13px; }
.broadcast-details summary,.broadcast-details p { font-size:12px; }
.broadcast-actions .button { font-size:12px; min-height:46px; }
.spotlight-panel select,#pin-button { font-size:13px; min-height:44px; }
.spotlight-panel .text-link { font-size:12px; min-height:44px; }
.host-message button { min-height:44px; font-size:11px; }
.schedule-card form input { min-height:44px; font-size:14px; }
.schedule-card form .button { font-size:13px; }
.studio-notice,.studio-notice button { font-size:12px; }
.studio-notice button { min-height:44px; }
.admin-steps { display:flex; flex-wrap:wrap; gap:12px; }
.admin-steps button { display:flex; align-items:center; gap:10px; padding:12px 16px; min-height:48px; background:var(--paper); border:1px solid var(--line); text-align:left; font-size:12px; flex:1; min-width:160px; }
.admin-steps b { font-family:var(--serif); font-size:24px; color:var(--olive); }
@media(max-width:1100px) { .brand>span{font-size:27px}.site-header{padding-left:24px;padding-right:24px}.site-header nav{gap:17px}.site-header nav a{font-size:11px}.header-actions{gap:5px} }
@media(max-width:1000px) {
 :root{--header-height:78px}
 .site-header { gap:14px; }
 .site-header .menu-toggle { display:inline-flex; }
 .site-header nav { position:absolute; top:100%; left:0; right:0; height:auto; display:none; padding:18px 24px 24px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 12px 20px #292c2715; max-height:calc(100dvh - var(--header-height)); overflow-y:auto; }
 .site-header nav.menu-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .site-header nav a,.site-header nav .mobile-menu-search { display:flex; align-items:center; justify-content:flex-start; gap:10px; min-height:50px; font-size:14px; padding:12px 14px; border-bottom:1px solid var(--line); }
 .site-header nav a.active { background:var(--cream); }
 .site-header nav a.active:after { display:none; }
 .mobile-menu-search { background:none; text-align:left; }
 .mobile-menu-search svg { margin-left:auto; width:19px; }
 body.navigation-open { overflow:hidden; }
 .product-grid { gap:28px 18px; }
 .category-tabs button { font-size:11px; }
 .catalog-meta>span+span { max-width:260px; text-align:right; }
 #admin-workspace { grid-template-columns:185px minmax(0,1fr); }
 .admin-sidebar { padding:28px 18px; }
 .admin-sidebar h2 { font-size:29px; }
 .admin-sidebar nav button { font-size:12px; gap:8px; }
 .admin-content { padding:30px 24px; }
}
@media(max-width:760px) {
 :root { --header-height:72px; }
 body:not([data-page=admin]) { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
 .site-header { height:var(--header-height); padding:0 18px; }
 .brand>span { font-size:27px; }
 .brand img { width:36px; height:36px; }
 .brand small { font-size:6px; letter-spacing:.8px; }
 .header-actions .bag-button { padding:9px 11px; font-size:12px; gap:7px; }
 .customer-dock { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:7px; position:fixed; bottom:0; left:0; right:0; z-index:55; padding:8px 12px calc(8px + env(safe-area-inset-bottom)); background:#faf9f6f5; border-top:1px solid var(--line); box-shadow:0 -4px 20px #292c2708; backdrop-filter:blur(12px); }
 .customer-dock a,.customer-dock button { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; min-height:48px; font-size:11px; border-radius:3px; background:none; }
 .customer-dock svg { width:19px; height:19px; }
 .customer-dock button { background:var(--olive); color:white; }
 .customer-dock .bag-count { background:#ffffff26; border-radius:50%; min-width:22px; height:22px; display:grid; place-items:center; font-size:11px; padding:0 5px; }
 body[data-page=admin] .customer-dock { display:none; }
 .toast { bottom:calc(85px + env(safe-area-inset-bottom)); font-size:13px; width:calc(100% - 32px); text-align:center; }
 body[data-page=admin] .toast { bottom:20px; }
 .live-layout { grid-template-columns:minmax(0,1fr); }
 .video-stage { aspect-ratio:4/3; }
 .offline-content h2 { font-size:34px; }
 .offline-content>p { font-size:12px; }
 .offline-mark { font-size:58px; margin:16px 0 10px; }
 .live-status { font-size:9px; }
 .live-help { font-size:12px; }
 .live-collection .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .chat-panel { height:480px; }
 .chat-compose input,.chat-form>input { font-size:16px; }
 #admin-workspace { grid-template-columns:minmax(0,1fr); }
 .admin-sidebar { position:sticky; top:var(--header-height); z-index:35; height:auto; overflow:visible; padding:12px 22px 8px; background:#f2f3ebf5; backdrop-filter:blur(12px); box-shadow:0 3px 12px #292c2706; }
 .admin-sidebar>h2,.admin-sidebar>.eyebrow,.admin-sidebar #admin-nav { display:none; }
 .admin-section-switch { display:flex; flex-direction:column; gap:5px; font-size:11px; color:var(--muted); }
 .admin-section-switch select { min-height:44px; width:100%; font-size:16px; padding:8px 12px; background:var(--paper); color:var(--ink); }
 .admin-sidebar-actions { justify-content:space-between; gap:12px; }
 .admin-sidebar-actions .text-link,.admin-sidebar-actions .text-button { min-height:36px; font-size:12px; border:0; }
 .admin-content { padding:28px 22px 40px; }
 .admin-heading h1 { font-size:38px; }
 .admin-page-help { font-size:13px; margin-bottom:24px; }
 .panel-toolbar { gap:12px; }
 .panel-toolbar>.search-input { flex-basis:100%; max-width:none; }
 .panel-toolbar>label:has(select) { flex:1; }
 .panel-toolbar>label>select { width:100%; }
 .table-wrap { overflow:visible; border:0; margin:0; }
 .admin-table,.admin-table tbody { display:block; width:100%; white-space:normal; }
 .admin-table thead { display:none; }
 .admin-table tr { display:grid; grid-template-columns:1fr 1fr; gap:13px 16px; padding:18px; border:1px solid var(--line); background:#fcfbf8; margin-bottom:16px; }
 .admin-table td { display:block; border:0; padding:0; font-size:13px; min-width:0; }
 .admin-table td:before { content:attr(data-label); display:block; color:var(--muted); font-size:11px; margin-bottom:5px; }
 .admin-table td:first-child,.admin-table td:last-child,.admin-table td[colspan] { grid-column:1/-1; }
 .admin-table td:first-child:before,.admin-table td:last-child:before { display:none; }
 .table-product { min-width:0; max-width:none; gap:14px; }
 .table-product>.product-photo { width:64px; }
 .table-product strong { font-size:14px; max-width:none; }
 .table-product small { font-size:11px; }
 .row-actions { border-top:1px solid var(--line); padding-top:12px; gap:12px; }
 .row-actions button { flex:1; font-size:13px; }
 .admin-table .archived-row { opacity:.7; }
 .admin-order-card .card-heading { align-items:flex-start; flex-wrap:wrap; }
 .admin-order-card .card-heading>label { flex-basis:100%; }
 .admin-order-card .card-heading>label>select { width:100%; font-size:16px; }
 .broadcast-layout>aside { grid-template-columns:1fr; }
 .schedule-card { grid-template-columns:1fr; }
 .settings-layout { grid-template-columns:1fr; }
 .admin-content input,.admin-content select,.admin-content textarea { font-size:16px; }
}
@media(max-width:600px) {
 .header-actions #search-toggle { display:none; }
 .site-header { padding:0 14px; gap:10px; }
 .brand { gap:8px; }
 .brand>span { font-size:25px; }
 .brand small { display:none; }
 .brand img { width:34px; height:34px; }
 .header-actions { gap:4px; }
 .header-actions .bag-button { padding:8px 10px; }
 .header-actions .bag-button svg { width:18px; height:18px; }
 .hero h1 { font-size:clamp(56px,18vw,74px); }
 .hero-copy>p { font-size:14px; line-height:1.85; }
 .hero-buttons { flex-wrap:wrap; gap:18px; }
 .hero-buttons .button,.hero-buttons .text-link { font-size:12px; }
 .benefit-strip>span { font-size:10px; white-space:normal; line-height:1.5; justify-content:flex-start; }
 .section-heading h2 { font-size:38px; }
 .section-heading>p { font-size:13px; }
 .product-grid { gap:26px 14px; }
 .product-card h3,.live-collection .product-card h3 { font-size:13px; }
 .product-card-meta { font-size:8px; gap:4px; }
 .product-card-meta>span+span { font-size:7px; }
 .product-card-bottom { font-size:10px; align-items:center; }
 .product-card-bottom>span { white-space:normal; max-width:none; line-height:1.7; }
 .product-card-bottom button { min-width:32px; width:32px; height:44px; }
 .product-card-bottom svg { width:18px; height:18px; }
 .quick-view { min-height:40px; font-size:10px; }
 .product-tag { font-size:6px; padding:5px 7px; max-width:calc(100% - 57px); }
 .favourite-button { right:5px; top:5px; }
 .catalog-meta>span+span { display:none; }
 .catalog-meta { font-size:12px; }
 .sort-label select { font-size:12px; min-height:44px; width:145px; }
 .catalog-filters input,.catalog-filters select { font-size:16px; min-width:0; }
 .catalog-filters label { font-size:12px; }
 .live-promo-copy>p:not(.eyebrow),.story>p:not(.eyebrow) { font-size:14px; }
 .how-to li p { font-size:13px; }
 .how-to h3 { font-size:14px; }
 .footer-top>div>a { font-size:12px; min-height:35px; }
 .footer-bottom a,.footer-bottom button { min-height:36px; display:inline-flex; align-items:center; font-size:11px; }
 .drawer,.editor-dialog { padding:24px 20px; max-width:100vw; }
 .drawer>.dialog-heading,.editor-dialog>.dialog-heading { top:-24px; }
 .product-dialog { max-width:calc(100vw - 20px); }
 .product-detail-visual .product-detail-image { max-height:250px; }
 .product-detail-copy { padding:26px 22px; }
 .product-detail-copy h2 { font-size:34px; }
 .product-detail-copy fieldset { margin:22px 0; }
 .product-detail-copy .button { font-size:13px; }
 .detail-description { font-size:14px; }
 .product-detail-copy .dialog-close { min-width:44px; }
 .stack-form input,.stack-form select,.stack-form textarea,.editor-dialog .stack-form input,.editor-dialog .stack-form select,.editor-dialog .stack-form textarea { font-size:16px; }
 .form-grid { grid-template-columns:minmax(0,1fr); }
 .bag-item { grid-template-columns:70px minmax(0,1fr); gap:14px; }
 .bag-item .product-photo { width:70px; }
 .bag-item h3 { font-size:13px; }
 .bag-item p { font-size:11px; }
 .bag-item-controls input { width:54px; }
 .bag-item-controls { flex-wrap:wrap; gap:6px; }
 .bag-bottom .button { font-size:13px; }
 .search-dialog input { font-size:16px; }
 .search-dialog .button { font-size:11px; }
 .search-dialog .search-input>svg { display:none; }
 .order-progress { font-size:10px; }
 .order-tracking-heading .eyebrow { font-size:10px; }
 .orders-page>.muted,.order-tracking-card>.muted { font-size:13px; }
 .track-card .search-input { flex-wrap:wrap; padding:8px; }
 .track-card .search-input input { font-size:16px; flex-basis:100%; }
 .track-card .search-input .button { width:100%; font-size:12px; }
 .room-info h2 { font-size:29px; }
 .room-info p { font-size:12px; }
 .room-info .eyebrow { font-size:10px; }
 .offline-content h2 { font-size:30px; }
 .offline-content>p { margin:12px 0 18px; }
 .video-stage { aspect-ratio:4/5; }
 .offline-content .button { font-size:12px; }
 .pinned-card .button { font-size:12px; }
 .auth-card>p:not(.eyebrow) { font-size:14px; }
 .auth-card form label { font-size:13px; }
 .auth-card form small { font-size:12px; }
 .studio-card { padding:20px; }
 .studio-card h2 { font-size:30px; }
 .admin-heading h1 { font-size:36px; }
 .stat-grid>div>span { font-size:13px; }
 .stat-grid small { font-size:11px; }
 .card-heading h2 { font-size:28px; }
 .recent-order { flex-wrap:wrap; gap:12px; }
 .recent-order small { font-size:10px; }
 .schedule-card form input { font-size:16px; }
 .broadcast-actions .button { flex:1; }
 .upload-row { align-items:flex-start; }
 .upload-row>div>small { font-size:11px; }
}
@media(max-width:360px) {
 .site-header { padding:0 10px; gap:5px; }
 .brand { gap:6px; }
 .brand img { width:29px; height:29px; }
 .brand>span { font-size:22px; }
 .header-actions .bag-button { padding:8px; gap:5px; font-size:11px; }
 .header-actions .bag-button svg { display:none; }
 .header-actions .icon-button { width:42px; min-width:42px; }
 .customer-dock { padding-left:8px; padding-right:8px; gap:4px; }
 .customer-dock a,.customer-dock button { font-size:10px; gap:5px; }
 .section-heading h2 { font-size:33px; }
 .product-grid { gap:24px 12px; }
 .product-card h3 { font-size:12px; }
 .quick-view { font-size:9px; }
 .favourite-button { min-width:38px; min-height:38px; }
 .product-tag { font-size:5px; padding:4px 5px; }
 .product-card-meta { font-size:7px; }
 .admin-content { padding:24px 16px; }
 .admin-sidebar { padding-left:16px; padding-right:16px; }
 .offline-content h2 { font-size:27px; }
 .offline-mark { font-size:48px; }
}
.connection-status{font-size:13px;color:var(--olive);margin:14px 0}.connection-status:empty{display:none}
