/* Abbey interface system: local variable fonts, readable type and consistent controls. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('assets/fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/outfit-latin.woff2') format('woff2')}
:root{--ui-font:'DM Sans',Arial,sans-serif;--ui-accent:#c4442d;--ui-accent-hover:#a83724;--ui-ink:#252e2b;--ui-muted:#626b64;--ui-border:#dfe3dc;--ui-radius:11px;--ui-focus:#245e70}
body{font-family:var(--ui-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit}
.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
[data-ui-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
:is(button,a.button):disabled{cursor:not-allowed;opacity:.48;box-shadow:none;transform:none}
button:hover:not(:disabled),a.button:hover{transform:none}
:is(.button,.quote-button,.btn,.svc-btn,.ready-designs-all){display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 20px;border-radius:var(--ui-radius);font-size:14px;font-weight:650;line-height:1.4;letter-spacing:0;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}
:is(.button,.btn,.svc-btn):active:not(:disabled){box-shadow:inset 0 2px 4px #00000016}
:is(.button.primary,.btn.primary,.abbey-service .svc-btn.primary){background:var(--ui-accent);border:1px solid var(--ui-accent);color:#fff;box-shadow:0 3px 7px #6f231a12}
:is(.button.primary,.btn.primary,.abbey-service .svc-btn.primary):hover:not(:disabled){background:var(--ui-accent-hover);border-color:var(--ui-accent-hover);box-shadow:0 4px 12px #6f231a20}
:is(.button.dark,.btn.dark,.abbey-service .svc-btn.dark){background:#263c33;border-color:#263c33;color:#fff}
:is(.button.dark,.btn.dark,.abbey-service .svc-btn.dark):hover:not(:disabled){background:#192d25;border-color:#192d25}
:is(.button.secondary,.btn,.abbey-service .svc-btn){border:1px solid var(--ui-border);background:#fff;color:var(--ui-ink)}
:is(.button.secondary,.btn:not(.primary):not(.dark):not(.subtle),.abbey-service .svc-btn:not(.primary):not(.dark)):hover:not(:disabled){background:#f0f3ee;border-color:#aeb9ab}
:is(.icon-button,.icon-btn,.svc-close){align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:12px;color:var(--ui-muted)}
.icon-button,.svc-close{display:inline-flex}
.icon-button:hover,.icon-btn:hover,.svc-close:hover{background:#edf1e9;color:var(--ui-ink)}
:is(.icon-button,.icon-btn,.svc-close) .ui-icon{width:20px;height:20px}

/* Storefront */
.store-page{--muted:#636d62;font-size:15px;line-height:1.55}
.store-page :is(h2,h3):not(.logo){font-family:var(--ui-font);font-weight:650;letter-spacing:-.035em;line-height:1.18}
.store-page .eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;line-height:1.6}
.announcement{font-size:10px;letter-spacing:1.1px;padding-block:10px}
.header{gap:24px;height:106px}
.header nav{gap:22px;font-size:13px;font-weight:550}
.header nav>a{min-height:44px;display:inline-flex;align-items:center;gap:6px}
.header nav .ui-icon{width:15px;height:15px}
.header nav a>span:not([data-ui-icon]){font-size:10px}
.header-actions{gap:8px;flex-shrink:0}
.header .store-account-link{width:44px;height:44px}
.quote-button{background:#263c33;color:#fff;border:1px solid #263c33;padding:11px 15px;font-size:13px;gap:9px}
.quote-button:hover{background:#192d25}
#cart-count{background:#fff2e6;color:#5b3928;font-size:11px;min-width:23px;height:23px;display:inline-grid;place-items:center;border-radius:50%;font-weight:700}
.hero-copy>p{font-size:17px;line-height:1.75;color:#596454}
.hero .button{padding:15px 23px;min-height:52px}
.hero-design-link{font-size:13px;font-weight:650;display:inline-flex;align-items:center;gap:9px;min-height:44px}
.hero-note{font-size:12px}
.hero-product-tag{padding:15px 18px;border-radius:14px}
.hero-product-tag small{font-size:9px;letter-spacing:1px}
.hero-product-tag strong{font-size:18px}
.round-arrow{display:grid;place-items:center}
.benefits>div{column-gap:14px}
.benefits>div>span{width:40px;height:40px;border-radius:12px;background:#edf0e6;display:grid;place-items:center}
.benefits strong{font-size:14px;font-weight:650}
.benefits small{font-size:12px;line-height:1.5;color:#67705f}
.design-invitation p,.section-heading p,.ready-designs-heading p{font-size:15px;line-height:1.75}
.ready-designs-all{background:#fff;border:1px solid #d7dcd0;color:#39483a;font-size:13px}
.ready-designs-all:hover{background:#edf1e8;border-color:#afbda7}
.ready-design-card{border-radius:18px;box-shadow:0 3px 12px #2d3c2105}
.ready-design-copy>p{font-size:11px;color:#68745e}
.ready-design-copy h3{font-size:24px}
.ready-design-copy>span{font-size:13px;line-height:1.65;color:#64705b}
.ready-design-copy strong{font-family:var(--ui-font);font-size:21px;font-weight:700;letter-spacing:-.5px}
.ready-design-copy strong small{font-size:10px}
.ready-design-copy button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border-radius:9px;background:#edf1e7;color:#3a533b;font-size:12px}
.ready-design-copy button:hover{background:#dce5d5}
.ready-design-copy button .ui-icon{width:16px;height:16px}
.ready-design-image>span{font-size:9px;font-weight:600;letter-spacing:.6px}
.ready-designs-note,.price-disclaimer{font-size:11px;color:#66715f;line-height:1.75}
.category-tabs{gap:9px;padding-block:8px 17px;scrollbar-width:thin;scrollbar-color:#c9d0c0 transparent}
.category-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 15px;border:1px solid #dfe3d8;background:#fffef9;border-radius:12px;font-weight:600;color:#58634f;flex-shrink:0}
.category-tabs button>span{font-size:12px;letter-spacing:0}
.category-tabs button .ui-icon{width:20px;height:20px}
.category-tabs button small{font-size:10px;border-radius:6px;min-width:20px;padding:2px 5px;background:#eaf0e2;color:#53654a}
.category-tabs button:hover{background:#edf2e7;border-color:#adba9f}
.category-tabs button.selected{background:#263c33;border-color:#263c33;color:#fff}
.category-tabs button.selected small{background:#ffffff20;color:#fff}
.filters{padding-right:7px}
.filter-header h3{font-size:17px}
.text-button{min-height:40px;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#5c6952}
.search-field{min-height:46px;border-radius:10px;padding:10px 12px;background:#fff;border-color:#d9dfd3;gap:9px}
.search-field .ui-icon,.search-field svg{width:18px;height:18px}
.search-field input{font-size:13px;line-height:1.5}
.filters legend{font-size:11px;letter-spacing:1.1px;font-weight:700;color:#48563f}
.filters fieldset label{font-size:13px;min-height:30px;margin:6px 0}
.filters fieldset label>span{font-size:11px;color:#657259}
.filters input[type=checkbox]{width:17px;height:17px;border-radius:5px}
.filters input[type=checkbox]:checked:after{font-size:12px;left:3px;top:-1px}
.filters .range-label{font-size:12px}
.filters .range-label strong{font-size:12px;font-weight:600}
.range-endpoints{font-size:11px}
.help-card{border:1px solid #dce2d0;border-radius:14px;padding:22px 18px}
.help-card>span,.help-card p{font-size:12px}
.help-card button{display:flex;align-items:center;justify-content:space-between;font-size:12px;min-height:44px}
.results-toolbar{min-height:46px;font-size:12px;gap:14px;margin-bottom:18px}
.results-toolbar label{font-size:11px;display:flex;align-items:center;gap:7px}
.results-toolbar select{font-size:12px;border:1px solid #dfe3d8;border-radius:9px;min-height:42px;width:142px;padding:8px 10px;background:#fffefb}
.mobile-filter{align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 14px;border:1px solid #dfe3d8;border-radius:10px;background:#fff;font-size:12px;font-weight:600}
.product-grid{gap:28px 20px}
.product-card{border:1px solid #e0e5d9;border-radius:17px;overflow:hidden;background:#fffefa;padding:0 0 18px;box-shadow:0 2px 7px #25381d04;transition:border-color .16s,box-shadow .16s}
.product-card:hover{border-color:#becbb0;box-shadow:0 6px 18px #283c210b}
.product-visual{border-radius:0;aspect-ratio:1.08;border-bottom:1px solid #e5e8df}
.product-image-button:hover img{transform:scale(1.035)}
.product-card :is(.card-category,h3,.card-meta,.card-bottom){margin-left:16px;margin-right:16px}
.card-category{font-size:10px;font-weight:600;letter-spacing:.5px;color:#69755e;margin-top:18px;line-height:1.6}
.product-card h3{margin-top:5px;margin-bottom:7px}
.card-title{font:650 19px/1.3 var(--ui-font);letter-spacing:-.55px;text-align:left;min-height:32px}
.card-title:hover{color:var(--ui-accent)}
.card-meta{font-size:12px;color:#657059;display:flex;align-items:center;gap:7px}
.card-meta .ui-icon{width:15px;height:15px}
.card-bottom{padding-top:15px;margin-top:15px;border-top:1px solid #e8ebdf;align-items:center;gap:8px}
.card-price strong{font:700 23px/1.2 var(--ui-font);letter-spacing:-.75px}
.card-price>span{font-size:10px;margin-left:4px;font-weight:600;color:#536149}
.card-price small{font-size:10px;line-height:1.5;margin-top:4px;color:#6d765f}
.card-add{width:44px;height:44px;min-width:44px;border-radius:12px;display:grid;place-items:center;background:#263c33;color:#fff;border:1px solid #263c33}
.card-add:hover{background:#405d43;border-color:#405d43}
.favorite{height:40px;width:40px;top:10px;right:10px;background:#fffffff0;border:1px solid #ffffffaa;box-shadow:0 2px 7px #1f38230c}
.favorite svg{width:18px;height:18px}
.favorite[aria-pressed=true]{color:var(--ui-accent);background:#fff1e9;border-color:#efbaab}
.card-badge{font-size:8px;font-weight:700;letter-spacing:.6px;padding:6px 9px;border-radius:6px;max-width:calc(100% - 68px)}
.card-badge.orange{background:var(--ui-accent)}
.card-view-count{font-size:10px;min-height:32px;padding:5px 10px;gap:6px;color:#445738;background:#fffffff0}
.card-view-count svg{width:14px;height:14px}
.celebration-tones button{min-height:42px;font-size:12px;padding:9px 12px;border-radius:10px}
.business-banner p{font-size:14px}
.faq summary{font-size:15px;line-height:1.6;padding-block:23px}
.faq details p{font-size:14px;line-height:1.8}
.footer-top p,.footer-top>a:not(.logo){font-size:13px}
.footer-bottom{font-size:10px;line-height:1.8;flex-wrap:wrap}
.footer-bottom>span:nth-child(2){max-width:470px}
.footer-top>a:not(.logo){display:inline-flex;align-items:center;gap:6px;min-height:44px}
.footer-top .ui-icon{width:16px;height:16px}
.detail-copy h2{font-size:32px;line-height:1.12;letter-spacing:-1.1px}
.detail-copy p{font-size:14px;line-height:1.75}
.detail-specs small{font-size:10px;line-height:1.6}
.detail-specs strong{font-size:13px;font-weight:600}
.detail-price{font-family:var(--ui-font);font-size:32px;font-weight:700}
.detail-copy .detail-price-note,.source-link{font-size:11px}
.detail-copy .button{font-size:14px;min-height:48px}
.gallery-arrow{width:40px;height:44px;display:grid;place-items:center;box-shadow:0 2px 8px #1e381c0a}
.gallery-expand-toggle{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:11px;border-radius:10px}
.gallery-expand-toggle .ui-icon{width:16px;height:16px}
.product-gallery-heading{font-size:10px;letter-spacing:1px}
.product-gallery-caption{font-size:12px}
.product-gallery-caption small,.gallery-source-note{font-size:10px;color:#657158}
.gallery-thumbnails button{min-height:44px;border-radius:9px}
.gallery-thumbnails span{font-size:9px}
.quantity-row button:not(.remove-item){width:40px;height:40px;border-radius:10px;display:inline-grid;place-items:center;background:#fff}
.quantity-row span{font-size:14px;min-width:20px;text-align:center;font-variant-numeric:tabular-nums}
.remove-item,.cart-note,.quote-form p{font-size:12px;line-height:1.7}
.cart-total strong{font-family:var(--ui-font);font-size:25px;font-weight:700}
.cart-item h3{font-size:17px}.cart-item p{font-size:13px}
.edit-design{display:inline-flex;align-items:center;gap:6px;min-height:40px}
.edit-design .ui-icon{width:16px;height:16px}
.cart-dialog .button{font-size:14px}
.guide-step p,.guide-dialog>p{font-size:14px;line-height:1.75}

/* Operations panel */
.admin-page{--ink:#26313c;--muted:#636f7d;--line:#e0e5e9;--paper:#f5f7f8;--purple:#b7442e;--side:#1b2732;--ui-ink:#26313c;--ui-border:#dce2e7;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.6}
.admin-page :is(h1,h2,h3,h4){font-family:var(--ui-font);font-weight:650;letter-spacing:-.035em}
.admin-page h1{font-size:32px;line-height:1.2}.admin-page h2{font-size:25px}.admin-page h3{font-size:18px}
.admin-page .sidebar{padding:28px 18px 18px}
.admin-page .workspace{margin:26px 0 22px;border-radius:12px;background:#26333f;border-color:#36424d}
.admin-page .workspace strong{font-size:12px;font-weight:600}.admin-page .workspace small{font-size:10px;color:#b0bdc9;line-height:1.45}
.admin-page .nav-label{font-size:10px;color:#a2b0bd;letter-spacing:1.25px;padding:4px 13px 10px}
.admin-page nav>a{font-size:13px;min-height:46px;padding:12px;border-radius:10px;gap:12px;color:#c4cdd5}
.admin-page nav>a svg{width:20px;height:20px}
.admin-page nav>a:hover{background:#2b3946;color:#fff}
.admin-page nav>a.active{background:#fff0e9;color:#88321f;box-shadow:inset 3px 0 #ee9a76;font-weight:700}
.admin-page .sidebar-bottom>a{font-size:12px;color:#b5c3cf}
.admin-page .profile strong{font-size:12px}.admin-page .profile small{font-size:10px;color:#a9b8c6}
.admin-page .profile button{display:grid;place-items:center;width:38px;min-width:38px;height:40px;border-radius:9px}
.admin-page .profile button:hover{background:#354653;color:white}
.admin-page .breadcrumb{font-size:12px;color:#646f7a}.admin-page .breadcrumb strong{font-weight:600;color:#374551}
.admin-page .connection,.admin-page .availability{font-size:11px;color:#596774}
.admin-page .availability input{width:17px;height:17px;accent-color:var(--ui-accent)}
.admin-page .page-heading{align-items:flex-start;margin-bottom:28px;flex-wrap:wrap}
.admin-page .page-heading .eyebrow{font-size:10px;font-weight:700;color:#687887;letter-spacing:1.3px;margin-bottom:10px}
.admin-page .page-heading p{font-size:14px;color:#65727e;line-height:1.65;max-width:650px}
.admin-page .heading-actions{flex-wrap:wrap}
.admin-page .btn{font-size:13px;min-height:44px;padding:11px 17px;gap:9px}
.admin-page .btn.small{font-size:12px;min-height:38px;padding:8px 12px}
.admin-page .btn.small .ui-icon{width:16px;height:16px}
.admin-page .btn.subtle{background:#fbefe8;color:#923721;border-color:#f1d7c8}
.admin-page .btn.subtle:hover{background:#f6dfd0;border-color:#dfb49b}
.admin-page .btn.danger{color:#a33232}
.admin-page .link-button{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#a33b28;min-height:32px}
.admin-page .link-button .ui-icon{width:16px;height:16px}
.admin-page .icon-btn{place-items:center;padding:10px}
.admin-page .icon-btn:not(.mobile-only){display:inline-flex}
.admin-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:14px;line-height:1.5;border-radius:10px;border-color:#d5dce2;padding:11px 13px;color:#283745;min-height:44px}
.admin-page :is(input,select,textarea):focus{border-color:#839c9d;box-shadow:0 0 0 3px #245e7012}
.admin-page label{font-size:13px;gap:8px;color:#43515d}
.admin-page .select-compact{font-size:12px;min-width:156px}
.admin-page .stats{gap:18px}
.admin-page .stat{border-color:#e0e6ea;border-radius:16px;padding:22px;box-shadow:0 2px 6px #172f3b03;transition:border-color .16s,box-shadow .16s}
.admin-page .stat:hover{border-color:#b4c5c8;box-shadow:0 5px 14px #172f3b09}
.admin-page .stat .stat-icon{width:42px;height:42px;border-radius:12px;background:#faf0e9;color:#ac5336;margin-bottom:20px}
.admin-page .stat:nth-child(2) .stat-icon{color:#897131;background:#f9f3df}
.admin-page .stat:nth-child(3) .stat-icon{color:#317762;background:#eaf3ed}
.admin-page .stat:nth-child(4) .stat-icon{color:#536c91;background:#edf2f8}
.admin-page .stat-label{font-size:12px;color:#536471;font-weight:550}
.admin-page .stat-value{font-family:var(--ui-font);font-weight:700;font-size:34px;letter-spacing:-1.3px;color:#243642;line-height:1.25;margin:9px 0}
.admin-page .stat-note{font-size:11px;color:#657482;line-height:1.5;display:block}
.admin-page .stat-arrow{color:#7b8c99;right:20px;top:23px}
.admin-page .stat-arrow .ui-icon{width:17px;height:17px}
.admin-page .card{border-radius:16px;box-shadow:0 2px 6px #172f3b03}
.admin-page .card-head p{font-size:13px;line-height:1.65}
.admin-page .card-head h3{font-size:18px}
.admin-page .toolbar{gap:16px;flex-wrap:wrap}
.admin-page .toolbar .search{font-size:13px;width:285px}
.admin-page .tabs{gap:4px;padding:4px;background:#eaf0f1;border:1px solid #e0e7e9;border-radius:12px;max-width:100%}
.admin-page .tabs button{font-size:12px;font-weight:550;min-height:40px;padding:9px 13px;border-radius:8px;color:#536775;white-space:nowrap}
.admin-page .tabs button:hover{background:#f6f9f9;color:#293f4d}
.admin-page .tabs button.active{background:#fff;color:#9e3b25;box-shadow:0 1px 5px #24415212;font-weight:700}
.admin-page table{font-size:13px}
.admin-page th{font-size:10px;font-weight:700;letter-spacing:1px;color:#607583;padding:16px 22px;background:#f9fbfc}
.admin-page td{padding:19px 22px;color:#4e606d}
.admin-page td strong{font-size:13px;color:#283e4a}
.admin-page td small{font-size:11px;color:#657885;line-height:1.5}
.admin-page tbody tr:hover{background:#fafcfc}
.admin-page .badge{font-size:10px;padding:5px 9px;border-radius:7px;color:#655084;background:#f1edf7}
.admin-page .badge:is(.confirmado,.listo,.entregado){background:#edf6f0;color:#276a4e}
.admin-page .badge:is(.solicitud,.preparando){background:#fff4de;color:#865d17}
.admin-page .badge:is(.enviado,.transito,.recolectado,.reparto){background:#eef4fc;color:#356792}
.admin-page .badge:is(.cancelado,.incidencia){background:#fff0ed;color:#a33e35}
.admin-page .empty{padding:50px 26px}
.admin-page .empty-icon{height:60px;width:60px;border-radius:18px;background:#edf3f3;color:#627f85;margin-bottom:18px}
.admin-page .empty h3{font-size:19px;color:#394f5a}
.admin-page .empty p{font-size:14px;line-height:1.8;max-width:400px;color:#677985}
.admin-page .pagination{font-size:12px;color:#617480;gap:12px;flex-wrap:wrap}
.admin-page .pagination>div{display:flex;align-items:center;gap:8px}
.admin-page .pagination .btn{min-width:38px}
.admin-page .note-card{font-size:13px;line-height:1.75;color:#647580;background:#eef3f4;border-color:#dce7e9}
.admin-page .attention strong,.admin-page .integration strong{font-size:14px;color:#344955}
.admin-page .attention small,.admin-page .integration p{font-size:12px;line-height:1.55}
.admin-page .attention-icon{background:#f8efe8;color:#a95a3f;width:40px;height:40px;flex-shrink:0}
.admin-page .chart-footer,.admin-page .rank-label{font-size:12px;color:#647784}
.admin-page .rank-fill,.admin-page .bar{background:#9eb5aa}
.admin-page .bar-wrap:last-child .bar{background:#45695b}
.admin-page .admin-footer{font-size:10px;color:#687b87}
.admin-page .muted,.admin-page .form-error{font-size:13px;line-height:1.65}
.admin-page .audience-status{font-size:11px}
.admin-page .chat-list-title{font-size:12px;color:#627885}
.admin-page .chat-list-top strong{font-size:14px}.admin-page .chat-list p{font-size:13px}
.admin-page .chat-list-top time{font-size:10px;color:#627684}
.admin-page .chat-list button.selected{background:#fff7f1;border-left-color:#c66b46}
.admin-page .order-main label,.admin-page .order-line-create label{font-size:12px}
.admin-page .order-main label>input,.admin-page .order-main label>select,.admin-page .order-main label>textarea{font-size:14px}
.admin-page .order-dialog-header .heading-actions .btn{font-size:12px;padding:9px 12px}
.admin-page .secure-note,.admin-page .back-link{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}
.admin-page .login-card p{font-size:14px;color:#65727e}

/* Account, order tracking and live support */
.abbey-service{font-family:var(--ui-font);line-height:1.6}
.abbey-service .svc-btn{font-size:14px;min-height:46px;gap:10px;padding:12px 18px;border-radius:11px}
.abbey-service .svc-btn.small{font-size:12px;min-height:40px;padding:9px 13px}
.abbey-service :is(h2,h3),.customer-page :is(h1,h2,h3){font-family:var(--ui-font);font-weight:650;letter-spacing:-.035em}
.abbey-service label,.svc-chat-intro label{font-size:13px;font-weight:600;color:#394a49}
.abbey-service input,.abbey-service textarea,.abbey-service select{font-family:var(--ui-font);font-size:15px;border-color:#d7e0d9;border-radius:10px;min-height:46px;padding:12px}
.abbey-service :is(input,textarea,select):focus{border-color:#88a39a;box-shadow:0 0 0 3px #245e7012}
.abbey-service input[type=checkbox]{min-height:0;width:18px;height:18px;accent-color:var(--ui-accent)}
.svc-muted,.svc-chat-intro p{color:#64716d;font-size:14px;line-height:1.7}
.svc-chat-window{border:1px solid #dce4db;border-radius:20px;box-shadow:0 15px 50px #20312d23}
.svc-chat-launch{font-size:14px;font-weight:650;border-radius:15px;background:#263c33;box-shadow:0 5px 20px #172e3226;min-height:52px}
.svc-chat-launch:hover{background:#192d25}
.svc-chat-launch svg{width:22px;height:22px}
.svc-chat-head{border-bottom:1px solid #e7e8df}
.svc-chat-head strong{font-family:var(--ui-font);font-size:16px;font-weight:700;letter-spacing:-.3px}
.svc-chat-head small{font-size:12px;color:#697569}
.svc-chat-intro input,.svc-chat-intro textarea{font-size:14px;padding:12px}
.svc-chat-footer{font-size:11px;color:#64715f}
.svc-chat-footer a{color:#566954}
.svc-message p{font-size:14px;line-height:1.65;color:#465647;background:#eef3ec}
.svc-message.customer p{color:#744c38;background:#fff0e6}
.svc-message small{font-size:10px;color:#747b70}
.svc-chat-intro>p{font-size:14px;color:#64716d}
.svc-chat-compose button{width:44px;min-width:44px;height:44px;display:grid;place-items:center;background:var(--ui-accent);border-radius:11px}
.svc-chat-compose button:hover{background:var(--ui-accent-hover)}
.svc-cookie{border-radius:18px;border:1px solid #dfe5dc;box-shadow:0 8px 30px #23322c16}
.svc-cookie p{font-size:13px;line-height:1.7;color:#5e6d62}
.svc-cookie-actions button{min-height:44px;font-size:12px!important}
.customer-page .customer-logo{font-family:Outfit,var(--ui-font)}
.customer-page .customer-card{border-radius:16px;border-color:#e0e6dd}
.customer-page .customer-nav a:not(.customer-logo),.customer-page .account-header p{font-size:13px}
.customer-page .account-story p{font-size:16px;line-height:1.8}
.customer-page .account-tabs a{font-size:14px;min-height:44px}
.customer-page .account-form-card form>label,.customer-page .account-profile>label,.customer-page .account-password form>label{font-size:13px}
.customer-page .account-form-card input{font-size:15px}
.customer-page .account-order-bottom .svc-btn{font-size:12px}
.customer-page .customer-empty p{font-size:14px;line-height:1.75}
.customer-page .customer-footer{font-size:11px;color:#6c786d}
.customer-page .customer-progress-title h2{font-size:23px}

/* The 3D scene stays unchanged; only its surrounding controls use the UI system. */
.config-dialog .button{min-height:44px;font-size:13px;border-radius:10px}
.config-dialog .config-top .eyebrow{font-size:9px}
.config-dialog .config-top h2{font-size:24px}
.config-dialog .config-view-tools button{min-width:36px;height:36px;border-radius:9px}
.config-dialog .config-view-tools button[data-view],.config-dialog #design-dimensions{font-size:11px}
.config-dialog .design-library-toolbar button{min-height:36px;font-size:11px;padding:5px 8px;border-radius:8px}
.config-dialog .config-export-row button{min-height:40px;font-size:11px;border-radius:9px}
.config-dialog .design-steps button{min-height:44px;font-family:var(--ui-font)}
.config-dialog .shape-grid label>span{font-size:12px;border-radius:11px}
.config-dialog .character-filters button{min-height:34px;font-size:10px;padding:7px 10px}
.config-dialog .character-modes button{min-height:40px;font-size:12px}
.config-dialog .inflation-buttons button{min-height:34px;font-size:10px;border-radius:8px}
.config-dialog .config-view-tools .ui-icon{width:18px;height:18px}
.config-dialog .config-price-row>span,.config-dialog .config-hint{font-size:11px;line-height:1.6}

@media(min-width:1100px){.catalog-layout{grid-template-columns:218px minmax(0,1fr);gap:30px}}
@media(max-width:1150px){.header{gap:16px}.header nav{gap:14px;font-size:12px}.quote-button{padding:11px 12px}.header-actions{gap:4px}.admin-page .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ready-design-copy>div{flex-wrap:wrap}}
@media(max-width:900px){.header nav{gap:14px}.header nav>a{font-size:12px}.benefits strong{font-size:12px}.benefits small{font-size:11px}.card-title{font-size:18px}.ready-design-copy h3{font-size:22px}.admin-page .page-heading h1{font-size:28px}.admin-page .toolbar{align-items:flex-start}.admin-page .toolbar .search{width:100%}.admin-page .stat{padding:20px}.admin-page .topbar-actions{gap:12px}}
@media(max-width:740px){.hero-copy>p{font-size:15px}.header .store-account-link{width:42px;height:42px;min-width:42px}.hero-note{font-size:11px}.benefits>div>span{width:34px;height:34px}.category-tabs button{min-height:44px;padding:10px 13px}.category-tabs button>span{font-size:12px}.product-grid{gap:16px 12px}.product-card{border-radius:13px;padding-bottom:14px}.product-card :is(.card-category,h3,.card-meta,.card-bottom){margin-left:12px;margin-right:12px}.card-title{font-size:16px;letter-spacing:-.4px;line-height:1.35}.card-category{font-size:9px;margin-top:13px;letter-spacing:.15px}.card-meta{font-size:11px;gap:5px}.card-price strong{font-size:21px}.card-price>span{font-size:9px}.card-price small{font-size:9px}.card-bottom{padding-top:12px;margin-top:12px}.card-add{width:40px;min-width:40px;height:40px;border-radius:11px}.card-badge{font-size:7px;padding:5px 6px;top:9px;left:9px;max-width:calc(100% - 60px)}.favorite{width:38px;height:38px;right:8px;top:8px}.card-view-count{font-size:9px;left:8px;min-height:30px}.results-toolbar{flex-wrap:wrap;gap:10px}.results-toolbar>span{font-size:12px;width:100%}.results-toolbar label{margin-left:auto}.mobile-filter{display:inline-flex}.results-toolbar select{width:136px}.detail-copy h2{font-size:28px}.gallery-expand-toggle{font-size:10px}.product-gallery-heading{font-size:9px}.gallery-arrow{width:36px;height:44px}.gallery-thumbnails span{font-size:8px}.product-gallery-caption{font-size:11px;align-items:flex-start}.product-gallery-caption small{font-size:9px}.gallery-source-note{font-size:10px}.detail-copy .button{font-size:13px}.faq summary{font-size:14px}.footer-top{gap:16px}.footer-top>a:not(.logo){font-size:12px}.store-page .eyebrow{font-size:10px}.admin-page .main-shell{margin-left:0}.admin-page .sidebar{width:252px}.admin-page .mobile-only{display:inline-flex}.admin-page .topbar{height:68px;gap:8px;padding:0 14px}.admin-page .topbar .breadcrumb{font-size:11px}.admin-page .breadcrumb span{margin:0 5px}.admin-page .availability{font-size:10px;max-width:119px;gap:7px;line-height:1.4}.admin-page .connection{display:none}.admin-page .stat{padding:18px 15px}.admin-page .stat-label{font-size:12px}.admin-page .stat-value{font-size:29px}.admin-page .stat-note{font-size:11px}.admin-page .stats{gap:12px}.admin-page .stat-arrow{right:14px;top:20px}.admin-page .stat .stat-icon{width:38px;height:38px;margin-bottom:18px}.admin-page main#content{padding:24px 16px}.admin-page .page-heading h1{font-size:27px}.admin-page .page-heading p{font-size:13px}.admin-page .heading-actions{width:100%}.admin-page .tabs{flex-wrap:nowrap;overflow-x:auto}.admin-page .tabs button{font-size:12px;padding:8px 12px;flex-shrink:0}.admin-page .card-head h3{font-size:17px}.admin-page .card-head p{font-size:12px}.admin-page .empty{padding:38px 20px}.admin-page .empty p{font-size:13px}.admin-page .pagination{padding:15px 17px}.admin-page .order-dialog-header .heading-actions .btn{font-size:11px}.abbey-service input,.abbey-service textarea,.abbey-service select,.svc-chat-intro input,.svc-chat-intro textarea,.customer-page .account-form-card input{font-size:16px}.svc-chat-launch{font-size:13px;min-height:50px}.svc-chat-window{border-radius:18px}.customer-page .account-story h1{font-size:40px}.customer-page .account-story p{font-size:15px}}
@media(max-width:420px){.header{gap:8px}.header-actions{gap:2px}.header .icon-button{width:38px;min-width:38px;height:42px}.quote-button{font-size:11px;gap:6px;padding:10px}.quote-button svg{width:17px;height:17px}.card-title{font-size:15px}.card-price strong{font-size:19px}.card-price>span{display:block;margin:2px 0}.card-price small{max-width:105px}.card-bottom{gap:4px}.product-card :is(.card-category,h3,.card-meta,.card-bottom){margin-left:10px;margin-right:10px}.card-badge{letter-spacing:0;font-size:6px}.category-tabs{gap:7px}.benefits strong{font-size:12px}.benefits small{font-size:10px}.admin-page .breadcrumb{max-width:138px}.admin-page .breadcrumb strong{display:block}.admin-page .breadcrumb span{display:none}.admin-page .page-heading .eyebrow{font-size:9px}.admin-page .stat-note{font-size:10px}.admin-page .stat-label{font-size:11px}.admin-page .stat-value{font-size:28px}.admin-page .stat-arrow{right:12px}.admin-page .heading-actions .btn{font-size:12px}.admin-page .pagination{font-size:11px}.admin-page .pagination .btn{min-width:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.ui-icon{color:inherit}.admin-page .sidebar,.admin-page .topbar{display:none!important}.admin-page .main-shell{margin-left:0}}

@media(min-width:701px) and (max-width:740px){.admin-page .sidebar{transform:translateX(-100%);transition:transform .2s}.admin-page.nav-open .sidebar{transform:translateX(0)}.admin-page .nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#14253080;z-index:24}}

.quote-form input{min-height:46px;border-radius:10px;font-size:14px;background:#fff;border-color:#d9dfd3}.quote-form>label{font-size:13px}.copy-quote{font-size:12px;min-height:44px}.quote-form .button.secondary{background:#fff;color:#304734;border-color:#c6d3bf;box-shadow:none}.quote-form .button.secondary:hover{background:#edf3e7;border-color:#a4b898}@media(max-width:740px){.quote-form input{font-size:16px}.card-add{width:44px;min-width:44px;height:44px}}
