/* Shared storefront and operations design system. */
:root{--radius:16px;--shadow:0 10px 32px rgba(19,48,70,.09)}
body{line-height:1.5}h1,h2{font-family:'DM Sans',sans-serif;letter-spacing:-.035em}button,a,input,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #078cc7;outline-offset:3px}button:disabled{cursor:wait;opacity:.65}.skip-link{position:fixed;top:-80px;left:16px;z-index:200;background:white;color:#07558a;padding:12px;border-radius:8px}.skip-link:focus{top:12px}
.intro h1{font-size:clamp(30px,4vw,44px);line-height:1.15}.layout{padding-top:28px;gap:28px}.shop-quick-menu{margin:18px 0}.shop-quick-menu button,.shop-needs button{min-height:44px}.shop-needs-heading{font:700 15px 'DM Sans',sans-serif;margin:20px 0 10px}.shop-needs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tools{padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px}.search{min-width:180px;box-shadow:none}.results-line{margin-top:18px}.product-card{box-shadow:0 3px 12px rgba(19,48,70,.035)}.product-card h3{font-size:16px}.product-card .product-add-button{min-height:46px;border-radius:10px}.product-details-button{min-height:40px}.price strong{font-size:25px}.stock{font-size:12px}.product-image img{object-fit:contain!important}.order-panel{box-shadow:var(--shadow)}.order-title-block h2{font-size:26px}.order-form input,.order-form textarea{font-size:16px;min-height:46px}.order-form label{font-size:13px}.order-form{gap:14px}.choice-options span{min-height:46px}.contact-hint,.contact-purpose{line-height:1.45}.order-optional summary{cursor:pointer;color:var(--forest);font-size:13px;font-weight:600}.order-optional textarea{margin-top:8px}.checkout-progress{list-style:none;padding:0;display:flex;gap:5px;margin:16px 0 8px}.checkout-progress li{flex:1;padding:8px 4px;background:#edf2f6;border-radius:8px;text-align:center;font-size:11px;font-weight:700;color:#60798a}.checkout-progress li[aria-current]{background:#07558a;color:white}.checkout-progress li.complete{background:#e1f6ed;color:#14674d}.checkout-next{font-size:13px;color:var(--muted);margin:8px 0 16px}.payment-selection-hint{padding:12px;background:#edf7fc;border-radius:10px;color:#21485f;font-size:13px;margin:0;line-height:1.55}.payment-dialog{padding:24px!important;border-radius:20px!important;width:min(560px,calc(100vw - 24px))!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto;overscroll-behavior:contain}.payment-dialog h2{font-size:27px!important;line-height:1.2;padding:0 48px 0 0!important;background:none!important;border:0!important;margin:0 0 18px!important}.payment-dialog .payment-close,.payment-dialog #closeFinalOrder{position:absolute;right:16px;top:16px;width:40px;height:40px;background:#edf4f8;color:#07558a;border-radius:50%;display:grid!important;place-items:center;border:0}.payment-dialog{position:relative}.payment-dialog input{font-size:16px;min-height:46px}.final-customer-summary{border:1px solid var(--line);border-radius:12px;padding:14px;font-size:14px;background:#fafcfe}.final-customer-summary p{margin:5px 0}.final-product-list{padding:0;list-style:none;margin:18px 0}.final-product-list li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.final-product-list small{display:block;color:var(--muted);font-size:12px}.final-product-list strong{white-space:nowrap}.coupon-disclosure{border:1px solid var(--line);border-radius:12px;padding:12px;font-size:14px}.coupon-disclosure summary{cursor:pointer;color:var(--forest);font-weight:600}.checkout-coupon{border:0!important;padding:12px 0 0!important;margin:0!important}.checkout-coupon input{margin:8px 0}.checkout-coupon button{min-height:44px}.final-grand-total{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:16px;font-size:16px}.final-grand-total strong{font-size:26px;color:var(--forest);white-space:nowrap}#confirmFinalOrder{margin-top:18px;width:100%;min-height:52px;font-weight:700;font-size:16px;border-radius:12px}.payment-overlay{padding:16px!important}body.has-checkout-modal{overflow:hidden}.modal-background-hidden{visibility:hidden!important}.order-total .grand-total{padding:16px;border-radius:12px}.order-total .grand-total strong{font-size:28px}.mobile-summary{box-shadow:0 -5px 24px rgba(19,48,70,.12);padding-bottom:max(12px,env(safe-area-inset-bottom))}.mobile-summary button{min-height:46px}
.management-center{border-radius:18px;box-shadow:var(--shadow)}.management-menu-search{display:block;margin:16px 0 12px;font-weight:700;font-size:13px}.management-menu-search input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:16px}.management-menu-group>strong{font-size:14px!important;color:#064a7b!important;letter-spacing:.04em;margin-top:20px}.management-menu-group button{min-height:42px;text-align:left;border-radius:8px}.management-menu-group button:hover{background:#e4f4ff!important}.management-menu-group button.active{background:#07558a!important;color:#fff!important;border-left:4px solid #69c337}.management-location{font-size:12px;color:var(--muted);margin:8px 0}.management-location strong{color:var(--forest)}.management-guide{padding:12px 16px;border:1px solid #c5e4f3;background:#f0f9ff;border-radius:12px;margin-bottom:16px;font-size:14px}.management-guide p{margin:0}.management-home-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.management-home-actions button{border:1px solid var(--line);background:white;border-radius:9px;padding:10px 16px;font-weight:700;color:#07558a}.automation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.automation-card{border:1px solid var(--line);border-radius:14px;background:white;padding:16px}.automation-card h4{margin:0 0 8px}.automation-card p{font-size:13px}.automation-card .automation-state{font-weight:700;color:#07558a}.automation-card[data-health='ready']{border-left:4px solid #269562}.automation-card[data-health='pending']{border-left:4px solid #d99526}.automation-card button{min-height:44px}.management-table-wrap{border:1px solid var(--line);border-radius:12px}.management-table-wrap th{background:#eaf4fa}.management-table-wrap tr:nth-child(even){background:#f7fafc}.management-controls,.management-toolbar{gap:12px}.management-controls input,.management-toolbar input,.management-toolbar select,.management-mobile-menu select{min-height:44px;font-size:16px}.management-kpi{box-shadow:none;border:1px solid var(--line);border-radius:12px}.management-kpi strong{font-size:26px}.management-main{min-width:0}#managementMenuEmpty{font-size:13px;color:var(--muted)}
@media(max-width:760px){.layout{padding:20px 12px 120px}.tools{padding:12px}.tools .search{width:100%;flex-basis:100%}.filters{gap:6px}.filters button{padding:0 12px;min-height:42px}.shop-needs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.shop-needs button{white-space:nowrap;flex:0 0 auto}.shop-quick-menu{gap:6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.shop-quick-menu button{padding:9px 6px;font-size:12px}.product-grid{gap:10px}.card-body{padding:12px}.price-row{flex-wrap:wrap}.price strong{font-size:23px}.order-panel{padding:18px!important;max-width:100vw}.order-heading{margin-bottom:12px}.payment-overlay{align-items:center!important}.payment-dialog{padding:20px!important}.payment-dialog h2{font-size:25px!important}.final-product-list li{font-size:13px}.final-grand-total strong{font-size:24px}.management-controls{display:grid;grid-template-columns:1fr 1fr}.management-toolbar{display:grid;grid-template-columns:1fr 1fr}.management-toolbar label:first-child{grid-column:1/-1}.automation-grid{grid-template-columns:1fr}.management-home-actions button{flex:1 1 40%}.management-menu-search{margin:12px 0}.management-header h3{font-size:24px}.management-kpi strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.management-menu-search,.management-home-actions,.management-location,.checkout-progress{display:none!important}}

/* Contact actions share one grid so no button occupies another action's cell. */
.topbar { display:grid; grid-template-columns:auto minmax(0,680px) auto; justify-content:space-between; align-items:center; gap:16px; }
.topbar .brand, .topbar .cart-shortcut { grid-row:1; }
.topbar .brand { grid-column:1; min-width:0; }
.topbar .cart-shortcut { grid-column:3; }
.topbar .header-contact { grid-column:2; grid-row:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; min-width:0; gap:8px; align-items:stretch; }
.topbar .header-contact .header-phone { grid-column:1/-1; grid-row:1; justify-self:center; font-size:20px; line-height:1.3; }
.topbar .header-contact .header-instagram { grid-column:1; grid-row:2; }
.topbar .header-contact > .header-share:not(.header-instagram) { grid-column:2; grid-row:2; }
.topbar .header-contact #cleanAssistantEntry { grid-column:3; grid-row:2; min-width:0; }
.topbar .header-contact .header-share, .topbar .header-contact .clean-launcher { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:56px; margin:0; padding:10px; gap:8px; border-radius:12px; font-size:14px; font-weight:700; line-height:1.35; text-align:center; white-space:normal; }
.topbar .header-contact .header-share span, .topbar .header-contact .clean-launcher span { min-width:0; overflow-wrap:anywhere; }
.topbar .header-contact .header-share svg { width:24px; height:24px; flex-shrink:0; }
.topbar .header-contact .header-instagram { background:#fff; color:#262626; border:1px solid #d4e3ec; }
.topbar .header-contact .header-instagram:hover { background:#f0f6fa; }
.topbar .header-contact .clean-launcher { text-align:left; border:1px solid #78c8eb; box-shadow:none; }
.topbar .header-contact .clean-launcher strong { font-size:13px; line-height:1.3; }
.topbar .header-contact .clean-launcher small { font-size:12px; margin-top:2px; }
.topbar .header-contact .clean-launcher img { width:30px; height:36px; }
.topbar .header-contact a:focus-visible, .topbar .header-contact button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.order-panel { top:144px; max-height:calc(100dvh - 162px); }
.site-footer > * { min-width:0; max-width:100%; }
.site-footer .business-contact { width:100%; text-align:center; }
.footer-socials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:440px; margin:20px auto 0; }
.site-footer .footer-socials a { display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 14px; border:1px solid #ffffff80; border-radius:12px; color:white; font-weight:700; text-decoration:none; }
.site-footer .footer-socials a:hover { background:#ffffff18; }
@media(max-width:1120px) {
 .topbar { grid-template-columns:minmax(0,1fr) auto; padding:10px 16px; gap:10px; }
 .topbar .cart-shortcut { grid-column:2; grid-row:1; }
 .topbar .header-contact { grid-column:1/-1; grid-row:2; max-width:680px; justify-self:center; }
 .order-panel { top:204px; max-height:calc(100dvh - 222px); }
}
@media(max-width:820px) {
 .topbar { padding:10px 12px; gap:10px; }
 .topbar .header-contact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .topbar .header-contact .header-phone { grid-column:1/-1; grid-row:1; justify-self:center; font-size:clamp(17px,4.5vw,22px); }
 .topbar .header-contact .header-instagram { grid-column:1; grid-row:2; }
 .topbar .header-contact > .header-share:not(.header-instagram) { grid-column:2; grid-row:2; }
 .topbar .header-contact #cleanAssistantEntry { grid-column:1/-1; grid-row:3; }
 .topbar .header-contact .header-share, .topbar .header-contact .clean-launcher { min-height:48px; font-size:13px; padding:8px; }
 .topbar .header-contact .clean-launcher { justify-content:center; }
 .topbar .header-contact .clean-launcher strong { font-size:14px; }
 .order-panel { top:auto; max-height:92dvh; }
 .site-footer { padding:24px 16px; gap:20px; }
 .site-footer .footer-phone { font-size:clamp(19px,4.5vw,28px); white-space:nowrap; }
 .site-footer .business-contact { padding:20px 0 0; }
}
@media(max-width:360px) {
 .topbar .brand strong { font-size:14px; letter-spacing:.08em; }
 .topbar .brand small { font-size:9px; letter-spacing:.04em; }
 .topbar .brand { gap:6px; }
 .topbar .header-contact .header-share { font-size:12px; gap:6px; }
 .topbar .header-contact .header-share svg { width:22px; height:22px; }
 .footer-socials { gap:8px; }
 .site-footer .footer-socials a { font-size:13px; padding:8px; }
}
