@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root { --ink:#182f3d; --navy:#102c3a; --red:#cf2634; --red-dark:#a71928; --cream:#f7f2e9; --paper:#fffdfa; --sand:#e9ddcc; --muted:#65727a; --line:#ded6ca; --green:#287a59; --shadow:0 12px 32px rgba(24,47,61,.10); --radius:16px; }
* { box-sizing:border-box; margin:0; padding:0; }
body { min-height:100vh; display:grid; grid-template-rows:auto 1fr auto; background:var(--cream); color:var(--ink); font-family:'DM Sans',Arial,sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; } h1,h2,h3 { font-family:'Playfair Display',Georgia,serif; line-height:1.15; } h1 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.035em; } h2 { font-size:1.7rem; } h3 { font-size:1.2rem; }
.container { width:min(100%,1240px); margin:0 auto; padding-inline:28px; } main.container { padding-block:48px 68px; }

.navbar { position:sticky; top:0; z-index:100; background:rgba(16,44,58,.98); box-shadow:0 2px 16px rgba(0,0,0,.13); }
.navbar .container { height:72px; display:flex; align-items:center; gap:26px; }.logo { color:#fff; font-family:'Playfair Display',Georgia,serif; font-size:1.55rem; font-weight:700; letter-spacing:-.04em; text-decoration:none; white-space:nowrap; }.shop-logo { display:block; width:auto; height:auto; max-width:180px; max-height:52px; object-fit:contain; }.admin-logo .shop-logo { max-width:150px; max-height:42px; }
.nav-links { display:flex; align-items:center; gap:4px; margin-left:auto; }.nav-link { border:0; border-radius:999px; color:rgba(255,255,255,.78); background:transparent; cursor:pointer; font:600 .9rem inherit; line-height:1.55; padding:9px 14px; text-decoration:none; transition:.18s; white-space:nowrap; }.nav-link:hover,.nav-link.active { color:#fff; background:rgba(255,255,255,.13); }
.nav-dropdown { position:relative; }.nav-dropdown-toggle { display:flex; align-items:center; gap:5px; font-family:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; }.nav-dropdown-arrow,.lang-arrow { font-size:.65rem; }.nav-dropdown-menu,.lang-dropdown { display:none; position:absolute; top:calc(100% + 15px); background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); overflow:hidden; min-width:180px; z-index:200; }.nav-dropdown-menu { left:0; }.lang-dropdown { right:0; min-width:155px; }.nav-dropdown-menu.show,.lang-dropdown.show,.cart-popup.show { display:block; }.nav-dropdown-item,.lang-option { display:flex; align-items:center; gap:9px; color:var(--ink); font-size:.92rem; padding:11px 15px; text-decoration:none; }.nav-dropdown-item:hover,.lang-option:hover,.nav-dropdown-item.active,.lang-option.active { color:var(--red); background:#fff5f3; }
.nav-right { display:flex; align-items:center; gap:8px; }.lang-wrapper,.cart-icon-wrapper { position:relative; }.lang-toggle,.cart-icon-btn,.mobile-toggle { border:0; color:#fff; background:transparent; cursor:pointer; }.lang-toggle { display:flex; align-items:center; gap:5px; padding:7px; border-radius:8px; }.lang-toggle:hover,.cart-icon-btn:hover,.mobile-toggle:hover { background:rgba(255,255,255,.12); }.lang-toggle img { border-radius:2px; }.cart-icon-btn { padding:8px; position:relative; }.cart-icon { font-size:1.25rem; }.cart-badge { position:absolute; right:0; top:1px; min-width:17px; padding:1px 5px; border-radius:999px; background:var(--red); color:#fff; font-size:.65rem; font-weight:700; }.cart-popup { display:none; position:absolute; top:calc(100% + 14px); right:0; width:320px; padding:8px; background:var(--paper); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }.cart-popup-header,.cart-popup-total { display:flex; justify-content:space-between; padding:10px 8px; }.cart-popup-item { display:flex; justify-content:space-between; gap:14px; padding:9px 8px; color:var(--muted); font-size:.86rem; border-top:1px solid #eee7dc; }.cart-popup-total { margin-top:4px; border-top:1px solid var(--line); }.cart-popup-btn { display:block; border-radius:8px; padding:10px; margin-top:6px; background:var(--navy); color:#fff; text-align:center; font-size:.88rem; font-weight:700; text-decoration:none; }.cart-popup-btn-checkout { background:var(--red); }.mobile-toggle { display:none; font-size:1.4rem; padding:7px; border-radius:8px; }.mobile-menu { display:none; }

.page-eyebrow { margin-bottom:8px; color:var(--red); font-size:.76rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.page-intro { max-width:620px; margin-top:12px; color:var(--muted); font-size:1.05rem; }.notice { margin:22px 0; padding:13px 17px; border:1px solid #e7c878; border-radius:10px; background:#fff7de; color:#765411; text-align:center; }.toast { position:fixed; top:92px; left:50%; z-index:999; max-width:calc(100vw - 32px); padding:12px 20px; border-radius:10px; transform:translateX(-50%); box-shadow:var(--shadow); }.toast.success { background:#e8f5ed;color:#17593d; }.toast.error { background:#fff0ef;color:#8e1822; }.toast.info { background:#edf5f7;color:#17566b; }
.home-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:45px; align-items:center; min-height:440px; overflow:hidden; padding:clamp(34px,6vw,78px); border-radius:22px; background:var(--navy); color:#fff; }.home-hero::before { position:absolute; inset:0; background:radial-gradient(circle at 88% 15%,rgba(207,38,52,.95) 0 13%,transparent 13.2%),radial-gradient(circle at 92% 22%,rgba(255,255,255,.11) 0 26%,transparent 26.2%); content:''; }.home-hero > * { position:relative; }.home-hero .page-intro { color:rgba(255,255,255,.78); font-size:1.14rem; }.home-actions { display:flex; align-items:center; gap:20px; margin-top:30px; }.text-link { color:#fff; font-size:.92rem; font-weight:700; text-underline-offset:5px; }.text-link span { color:#f7b9ae; font-size:1.2rem; }.home-mark { display:flex; width:210px; height:210px; align-items:center; justify-content:center; justify-self:end; border:1px solid rgba(255,255,255,.42); border-radius:50%; background:rgba(255,255,255,.08); transform:rotate(-8deg); }.home-mark span { color:#fff; font-family:'Playfair Display',Georgia,serif; font-size:8rem; font-weight:700; line-height:1; }.home-mark small { margin:65px 0 0 -28px; color:#f8c4ba; font-size:.7rem; font-weight:700; letter-spacing:.12em; line-height:1.2; text-transform:uppercase; }.home-promises { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px; }.home-promises article { padding:23px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); }.home-promises span { display:block; margin-bottom:16px; color:var(--red); font-size:1.35rem; }.home-promises h2 { font-size:1.2rem; }.home-promises p { margin-top:7px; color:var(--muted); font-size:.91rem; }
.btn { display:inline-flex; min-height:44px; align-items:center; justify-content:center; border:1px solid var(--navy); border-radius:8px; padding:10px 18px; background:var(--navy); color:#fff; cursor:pointer; font-family:inherit; font-size:.9rem; font-weight:700; text-decoration:none; transition:transform .18s,background .18s,border-color .18s; }.btn:hover { background:#20495c; border-color:#20495c; transform:translateY(-1px); }.btn-success { border-color:var(--red); background:var(--red); }.btn-success:hover { border-color:var(--red-dark); background:var(--red-dark); }.btn-danger { border-color:#a51c29; background:#a51c29; }.btn-danger:hover { border-color:#81131e; background:#81131e; }.btn-back { border-color:var(--line); background:transparent; color:var(--ink); }.btn-block { display:flex; width:100%; }.btn-sm { min-height:40px; padding:8px 12px; font-size:.83rem; }

.products-search { display:flex; max-width:620px; gap:8px; margin:30px 0 12px; }.products-search input { width:100%; min-height:48px; border:1px solid var(--line); border-radius:8px; padding:0 15px; background:var(--paper); color:var(--ink); font:inherit; outline-color:var(--red); }.products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }.product-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); box-shadow:0 3px 9px rgba(24,47,61,.04); transition:transform .2s,box-shadow .2s; }.product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }.product-media { display:flex; height:265px; align-items:center; justify-content:center; overflow:hidden; background:#ede5da; color:#9c8d7e; font-size:3rem; }.product-media img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }.product-info { display:flex; flex:1; flex-direction:column; padding:20px; }.product-info .ref { color:var(--muted); font-size:.75rem; font-weight:700; letter-spacing:.08em; }.product-info h3 { margin-top:5px; }.product-info .price { margin-top:15px; color:var(--red); font-size:1.3rem; font-weight:700; }.product-actions { display:grid; grid-template-columns:1fr 1.25fr; gap:8px; margin-top:auto; padding-top:18px; }.product-actions form { display:flex; }.product-actions form .btn { width:100%; }

.product-detail,.table-container,.form-container,.account-section,.stat-card { border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); box-shadow:0 3px 9px rgba(24,47,61,.035); }.product-detail { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding:34px; margin-top:22px; }.product-detail img { width:100%; border-radius:12px; }.product-detail .price { color:var(--red); font-size:1.5rem; font-weight:700; margin:15px 0; }.product-detail .description,.stat-label { color:var(--muted); }.table-container { padding:22px; margin-top:18px; overflow-x:auto; }.form-container { max-width:540px; padding:32px; margin:40px auto; }.form-container h1 { margin-bottom:20px; text-align:center; }.form-group { position:relative; margin-bottom:16px; }.form-group label { display:block; margin-bottom:6px; font-size:.9rem; font-weight:700; }.form-group input,.form-group select,.form-group textarea { width:100%; border:1px solid var(--line); border-radius:8px; padding:11px 12px; background:#fff; color:var(--ink); font:inherit; outline-color:var(--red); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.form-row > .form-group { margin-bottom:0; }
.cart-item { display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid #e9e2d8; }.cart-item img,.cart-product-placeholder { width:82px; height:82px; flex:none; border-radius:10px; object-fit:contain; background:#ede5da; }.cart-product-placeholder { display:flex; align-items:center; justify-content:center; font-size:2rem; }.cart-item .info { flex:1; }.cart-item .info h3 { margin-bottom:3px; }.cart-price { color:var(--red); font-weight:700; }.cart-line-total { margin-top:5px; color:var(--muted); font-size:.86rem; }.cart-delivery-hint { margin:10px 0 0; color:var(--muted); font-size:.86rem; }.qty-control { display:flex; align-items:center; gap:6px; }.qty { width:42px; height:34px; border:1px solid var(--line); border-radius:7px; padding:5px 2px; background:var(--paper); color:var(--ink); text-align:center; font:600 .95rem inherit; }.qty-btn { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--ink); cursor:pointer; font:600 1.05rem/1 inherit; transition:.18s; }.qty-btn:hover { border-color:var(--red); background:#fff5f3; color:var(--red); }.qty-btn:focus-visible,.qty:focus-visible { outline:2px solid var(--red); outline-offset:2px; }.cart-total { margin-left:auto; max-width:420px; padding:24px 0 4px; text-align:right; font-size:1.28rem; }.cart-actions,.page-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:16px; flex-wrap:wrap; }.checkout-grid,.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:20px; }.checkout-grid h2 { margin-bottom:8px; }.order-summary-line { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid #e9e2d8; }.delivery-option { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #e9e2d8; cursor:pointer; }.delivery-option:last-child { border:0; }.delivery-option > div { width:100%; }.delivery-option-price { float:right; color:var(--red); font-weight:700; }.delivery-date { padding:12px; border-radius:10px; background:#e9f5ee; color:#17593d; text-align:center; }.address-radio { display:flex; align-items:flex-start; gap:10px; margin-bottom:9px; padding:13px; border:1px solid var(--line); border-radius:10px; cursor:pointer; }.address-radio:hover,.address-radio.address-default { border-color:#b6896b; background:#fffaf3; }.new-address-fields { padding:14px; border-radius:10px; background:#f7f2e9; }

table { width:100%; border-collapse:collapse; } th,td { padding:12px; text-align:left; border-bottom:1px solid #e9e2d8; } th { color:var(--muted); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }.status-badge { font-size:.85rem; font-weight:700; }.status-badge.pending { color:#93690c; }.status-badge.validated,.status-badge.delivered { color:#17623f; }.status-badge.shipped,.status-badge.in-transit { color:#1b6080; }.status-badge.canceled { color:#a51c29; }.account-section { padding:26px; margin-top:20px; }.account-section-header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:15px; }.account-details { display:flex; flex-direction:column; gap:10px; }.detail-row { display:flex; gap:15px; }.detail-label { min-width:130px; color:var(--muted); font-weight:700; }.address-card { position:relative; margin-bottom:10px; padding:16px; border:1px solid var(--line); border-radius:10px; }.address-default { border-color:#b6896b; background:#fffaf3; }.default-badge { position:absolute; top:10px; right:10px; border-radius:999px; padding:2px 8px; background:var(--navy); color:#fff; font-size:.73rem; }.address-actions { display:flex; gap:8px; margin-top:10px; }.btn-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); cursor:pointer; }.btn-icon:hover { border-color:var(--red); color:var(--red); }.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:26px 0 32px; }.stat-card { padding:21px; text-align:center; }.stat-value { font-family:'Playfair Display',Georgia,serif; font-size:2rem; }.dashboard-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }.admin-navbar { position:sticky; top:0; z-index:100; background:#241923; box-shadow:0 2px 16px rgba(0,0,0,.16); }.admin-topbar { display:flex; height:62px; align-items:center; justify-content:space-between; }.admin-logo { display:flex; align-items:center; gap:10px; font-size:1.35rem; }.admin-badge { border-radius:999px; padding:3px 8px; background:#cf2634; color:#fff; font-family:'DM Sans',Arial,sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.admin-nav-right { display:flex; align-items:center; gap:12px; }.admin-shop-link { color:rgba(255,255,255,.78); font-size:.84rem; font-weight:700; text-decoration:none; }.admin-shop-link:hover { color:#fff; }.admin-nav-row { border-top:1px solid rgba(255,255,255,.10); background:#30222e; }.admin-nav-links { display:flex; align-items:center; gap:3px; min-height:48px; overflow-x:auto; scrollbar-width:none; }.admin-nav-links::-webkit-scrollbar { display:none; }.admin-nav-link { position:relative; flex:none; border-radius:7px; padding:8px 11px; color:rgba(255,255,255,.72); font-size:.82rem; font-weight:700; text-decoration:none; transition:.18s; white-space:nowrap; }.admin-nav-link:hover { color:#fff; background:rgba(255,255,255,.10); }.admin-nav-link.active { color:#fff; background:rgba(207,38,52,.18); }.admin-nav-link.active::after { position:absolute; right:11px; bottom:-8px; left:11px; height:2px; border-radius:3px; background:#ef5a64; content:''; }.footer { background:var(--navy); color:rgba(255,255,255,.78); padding:24px 0; text-align:center; font-size:.88rem; }

@media (max-width:900px) { .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.checkout-grid,.dashboard-grid,.detail-grid,.product-detail { grid-template-columns:1fr; }.stats-grid { grid-template-columns:repeat(2,1fr); }.home-hero { grid-template-columns:1fr 190px; min-height:380px; }.home-mark { width:170px; height:170px; }.home-mark span { font-size:6rem; }.nav-links { display:none; }.mobile-toggle { display:block; }.navbar .container { height:64px; }.nav-right { margin-left:auto; }.mobile-menu { max-height:0; overflow:hidden; background:#173b4b; transition:max-height .25s,padding .25s; }.mobile-menu.show { display:block; max-height:600px; padding:6px 28px 16px; }.mobile-menu a { display:block; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.13); color:#fff; font-weight:600; text-decoration:none; }.mobile-nav-group { padding:10px 0; border-bottom:1px solid rgba(255,255,255,.13); }.mobile-nav-group-label { display:block; padding-bottom:4px; color:#b9cad1; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.mobile-nav-subitem { display:block; padding:8px 0 8px 14px; color:#fff; text-decoration:none; }.admin-nav-row { display:none; }.admin-topbar { height:58px; }.product-media { height:235px; } }
@media (min-width:761px) and (max-width:900px) { .admin-nav-row { display:block; }.admin-nav-links { min-height:46px; gap:2px; padding-inline:18px; overflow:visible !important; white-space:nowrap; }.admin-nav-link { padding:8px 10px; font-size:.78rem; }.admin-mobile-toggle { display:none; }.admin-topbar { height:58px; }.admin-logo { min-width:0; max-width:62%; overflow:hidden; text-overflow:ellipsis; }.admin-logo .admin-badge { flex:none; } }
@media (max-width:560px) { .container { padding-inline:18px; } main.container { padding-block:30px 45px; }.logo { font-size:1.28rem; }.lang-wrapper { display:none; }.home-hero { grid-template-columns:1fr; min-height:0; padding:35px 25px; }.home-mark { display:none; }.home-actions { align-items:stretch; flex-direction:column; gap:13px; }.home-promises { grid-template-columns:1fr; }.products-grid { grid-template-columns:1fr; gap:18px; }.product-media { height:245px; }.products-search { display:grid; grid-template-columns:1fr; }.products-search .btn { width:100%; }.product-actions { grid-template-columns:1fr; }.product-detail,.table-container,.account-section { padding:18px; }.form-container { padding:23px 18px; margin:22px auto; }.form-row { grid-template-columns:1fr; }.cart-item { align-items:flex-start; flex-wrap:wrap; }.cart-item .info { min-width:calc(100% - 100px); }.cart-total { text-align:left; }.cart-actions .btn { width:100%; }.stats-grid { grid-template-columns:1fr; }.detail-row { flex-direction:column; gap:2px; }.delivery-option-price { float:none; display:block; margin-top:3px; }.mobile-menu.show { padding-inline:18px; } }
@media (max-width:760px) { .admin-navbar .admin-topbar { min-height:58px; height:auto; padding-block:9px; }.admin-logo { min-width:0; max-width:75%; overflow:hidden; text-overflow:ellipsis; }.admin-logo .shop-logo { max-width:120px; max-height:36px; }.admin-logo .admin-badge { flex:none; }.admin-shop-link { display:none; }.admin-mobile-menu { display:none; max-height:calc(100dvh - 58px); overflow-y:auto; overscroll-behavior:contain; padding:0 18px; }.admin-mobile-menu.show { display:block; max-height:calc(100dvh - 58px); padding:4px 18px 14px; }.admin-mobile-nav-group { padding:8px 0; }.admin-mobile-nav-group a { padding:9px 0 9px 14px; } }
@media (max-width:760px) and (orientation:landscape) { .admin-mobile-menu.show { max-height:calc(100dvh - 58px); }.admin-mobile-nav-group { padding-block:5px; }.admin-mobile-nav-group a { padding-block:6px; } }
.order-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:18px 0 4px; padding:0; list-style:none; }
.order-progress li { position:relative; padding-top:26px; color:var(--muted); font-size:.75rem; line-height:1.25; text-align:center; }
.order-progress li::before { position:absolute; top:0; left:50%; width:12px; height:12px; border:2px solid var(--line); border-radius:50%; background:var(--paper); content:''; transform:translateX(-50%); }
.order-progress li:not(:last-child)::after { position:absolute; top:5px; left:calc(50% + 8px); width:calc(100% - 16px); height:2px; background:var(--line); content:''; }
.order-progress li.is-complete,.order-progress li.is-current { color:var(--ink); font-weight:700; }
.order-progress li.is-complete::before,.order-progress li.is-current::before { border-color:var(--red); background:var(--red); }
.order-progress li.is-complete:not(:last-child)::after { background:var(--red); }
@media (max-width:560px) { .order-progress { gap:3px; }.order-progress li { font-size:.68rem; } }
@media (max-width:900px), (hover:none) and (pointer:coarse) and (orientation:portrait) { .admin-page .table-container { max-width:100%; overflow:visible; padding:14px; }.admin-page table { display:block; width:100%; max-width:100%; table-layout:fixed; }.admin-page table thead { display:none; }.admin-page table tbody,.admin-page table tfoot { display:block; width:100%; }.admin-page table tr { display:block; margin-bottom:12px; padding:8px 12px; border:1px solid var(--line); border-radius:11px; background:#fffdf9; }.admin-page table tfoot tr { margin-top:10px; background:#f7f2e9; }.admin-page table td { display:grid; grid-template-columns:minmax(82px,36%) minmax(0,1fr); gap:8px; align-items:start; width:100%; min-width:0; padding:9px 0; text-align:left !important; white-space:normal !important; overflow-wrap:anywhere; }.admin-page table td::before { content:attr(data-label); color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.admin-page table td[colspan] { display:block; }.admin-page table td[colspan]::before { display:none; }.admin-page table td form,.admin-page table td .btn { max-width:100%; }.admin-page table td input:not([type="checkbox"]),.admin-page table td select { width:100%; min-width:0; }.admin-page table td input[type="checkbox"] { width:20px; height:20px; }.admin-page table td:has(.btn),.admin-page table td:has(button) { align-items:center; }.admin-page table td:has(.btn)::before,.admin-page table td:has(button)::before { padding-top:8px; }.admin-page table tfoot td { font-weight:700; }.admin-page table tfoot td[colspan] { display:block; text-align:right !important; }.admin-page table tfoot td[colspan]::before { display:none; } }
@media (max-width:900px), (hover:none) and (pointer:coarse) and (orientation:portrait) { .admin-users-table td:last-child { display:block; padding-top:14px; }.admin-users-table td:last-child::before { display:block; margin-bottom:8px; }.admin-users-table td:last-child form { display:block !important; margin:0 0 8px; }.admin-users-table td:last-child form:last-child { margin-bottom:0; }.admin-users-table td:last-child .btn { width:100%; min-height:42px; }.admin-products-form { padding-bottom:0 !important; }.admin-products-table td { grid-template-columns:1fr; gap:6px; }.admin-products-table td::before { display:block; }.admin-products-table td:nth-child(2),.admin-products-table td:nth-child(3) { grid-template-columns:1fr auto; align-items:center; }.admin-products-table td:nth-child(2)::before,.admin-products-table td:nth-child(3)::before { margin:0; }.admin-products-table td input[type="date"],.admin-products-table td input[type="number"] { width:100%; min-height:44px; }.admin-products-form .admin-actions { position:sticky; bottom:0; z-index:5; margin:0 -14px; padding:12px 14px; background:rgba(255,253,249,.96); box-shadow:0 -5px 14px rgba(24,47,61,.08); }.admin-products-form .admin-actions .btn { width:100%; min-height:46px; } }
@media (max-width:900px), (hover:none) and (pointer:coarse) and (orientation:portrait) { .admin-users-table,.admin-products-table { width:100% !important; min-width:0 !important; }.admin-users-table tbody,.admin-products-table tbody,.admin-users-table tr,.admin-products-table tr,.admin-users-table td,.admin-products-table td { min-width:0 !important; max-width:100% !important; }.admin-users-table td:last-child .btn { max-width:100%; white-space:normal; overflow-wrap:anywhere; }.admin-products-table td input,.admin-products-table td select,.admin-products-table td form { min-width:0 !important; max-width:100% !important; box-sizing:border-box; }.admin-products-table td input[type="date"] { display:block; font-size:.9rem; } }
@media (max-width:900px), (hover:none) and (pointer:coarse) and (orientation:portrait) { body.admin-page { max-width:100%; overflow-x:hidden; }.admin-page main.container { max-width:100%; overflow-x:hidden; }.admin-page .table-container,.admin-users-table,.admin-products-table { max-width:100% !important; overflow-x:clip !important; }.admin-users-table td,.admin-products-table td { overflow:hidden; }.admin-users-table td > *,.admin-products-table td > * { max-width:100%; } }

@media (max-width:900px), (hover:none) and (pointer:coarse) and (orientation:portrait) {
    html:has(body.admin-page) { width:100%; max-width:100vw; overflow-x:hidden; }
    body.admin-page,
    body.admin-page main.container,
    body.admin-page .table-container,
    body.admin-page .admin-products-form,
    body.admin-page table,
    body.admin-page tbody,
    body.admin-page tr,
    body.admin-page td { width:100%; min-width:0; }
    body.admin-page main.container { padding-inline:18px; }
    body.admin-page .admin-users-table td > *,
    body.admin-page .admin-products-table td > *,
    body.admin-page .admin-users-table td form,
    body.admin-page .admin-products-table td input,
    body.admin-page .admin-products-table td select { width:auto; max-width:100%; min-width:0; overflow-wrap:anywhere; word-break:break-word; }
    body.admin-page .admin-products-table td input:not([type="checkbox"]),
    body.admin-page .admin-products-table td select { width:100%; }
    body.admin-page .admin-users-table td:last-child form,
    body.admin-page .admin-users-table td:last-child .btn { width:100%; }
}

@media (max-width:1200px) and (hover:none), (max-width:1200px) and (pointer:coarse) {
    body.admin-page .admin-users-table,
    body.admin-page .admin-products-table { display:block; width:100%; max-width:100%; table-layout:fixed; }
    body.admin-page .admin-users-table thead,
    body.admin-page .admin-products-table thead { display:none; }
    body.admin-page .admin-users-table tbody,
    body.admin-page .admin-products-table tbody { display:block; width:100%; }
    body.admin-page .admin-users-table tr,
    body.admin-page .admin-products-table tr { display:block; width:100%; max-width:100%; margin-bottom:12px; padding:8px 12px; border:1px solid var(--line); border-radius:11px; background:#fffdf9; }
    body.admin-page .admin-users-table td,
    body.admin-page .admin-products-table td { display:grid; grid-template-columns:minmax(82px,36%) minmax(0,1fr); gap:8px; align-items:start; width:100%; max-width:100%; min-width:0; padding:9px 0; text-align:left !important; white-space:normal !important; overflow-wrap:anywhere; }
    body.admin-page .admin-users-table td::before,
    body.admin-page .admin-products-table td::before { content:attr(data-label); color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
    body.admin-page .admin-users-table td:last-child,
    body.admin-page .admin-products-table td { grid-template-columns:1fr; gap:6px; }
    body.admin-page .admin-users-table td:last-child::before,
    body.admin-page .admin-products-table td::before { display:block; }
    body.admin-page .admin-users-table td:last-child form,
    body.admin-page .admin-users-table td:last-child .btn,
    body.admin-page .admin-products-table td input:not([type="checkbox"]),
    body.admin-page .admin-products-table td select { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
    body.admin-page .admin-users-table td:last-child form { display:block !important; margin:0 0 8px; }
    body.admin-page .admin-users-table td:last-child form:last-child { margin-bottom:0; }
    body.admin-page .admin-users-table td:last-child .btn { min-height:42px; white-space:normal; }
    body.admin-page .admin-products-table td:nth-child(2),
    body.admin-page .admin-products-table td:nth-child(3) { grid-template-columns:1fr auto; align-items:center; }
    body.admin-page .admin-products-table td:nth-child(2)::before,
    body.admin-page .admin-products-table td:nth-child(3)::before { display:block; }
    body.admin-page .admin-products-table td input[type="checkbox"] { width:20px; height:20px; }
}

/* Mail-order message popup */
.admin-customer-select-label { display:block; margin:0 0 8px; color:var(--muted); font-size:.76rem; font-weight:700; }
.admin-customer-select-label select { display:block; width:100%; min-width:0; margin-top:4px; padding:8px 9px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:.82rem; }
.mail-order-message-meta { display:flex; flex-direction:column; gap:2px; margin:-8px 0 18px; color:var(--muted); font-size:.86rem; }
.mail-order-message-meta strong { color:var(--ink); font-size:.95rem; }
.mail-order-message-body { max-height:52vh; overflow:auto; padding:16px; border:1px solid var(--line); border-radius:10px; background:#fffdf9; color:var(--ink); white-space:normal; overflow-wrap:anywhere; }
.mail-order-message-empty { color:var(--muted); font-style:italic; }
.mail-order-message-open { margin-bottom:8px; }
@media (max-width:560px) { .mail-order-message-body { max-height:58vh; padding:13px; font-size:.92rem; } }

/* Procurement */
.procurement-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.procurement-heading .btn { flex:none; }
.procurement-settings h2,.procurement-overview h2,.procurement-create h2 { font-size:1.45rem; }
.procurement-help { margin:10px 0 18px; color:var(--muted); font-size:.88rem; }
.procurement-supplier-form { display:flex; align-items:flex-end; gap:12px; max-width:640px; }
.procurement-supplier-form .form-group { flex:1; margin:0; }
.procurement-item-meta { display:block; margin-top:4px; color:var(--muted); font-size:.76rem; }
.procurement-shortage { color:var(--red); }
.procurement-covered { color:var(--green); font-weight:700; }
.procurement-create { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.8fr); align-items:center; gap:28px; margin-top:20px; }
.procurement-create-form .btn { width:100%; }
.procurement-create-form .btn:disabled { cursor:not-allowed; opacity:.5; transform:none; }
@media (max-width:760px) { .procurement-heading { flex-direction:column; gap:16px; }.procurement-create { grid-template-columns:1fr; gap:16px; }.procurement-supplier-form { flex-direction:column; align-items:stretch; }.procurement-supplier-form .form-group { width:100%; } }

/* Logout */
.logout-page { display:grid; min-height:clamp(380px,58vh,620px); place-items:center; }
.logout-card { position:relative; width:min(100%,620px); overflow:hidden; padding:46px 44px 34px; border:1px solid var(--line); border-radius:24px; background:radial-gradient(ellipse at 50% 0%,#f7e9e1,transparent 65%),var(--paper); box-shadow:var(--shadow); text-align:center; }
.logout-icon { display:grid; width:76px; height:76px; place-items:center; margin:0 auto 24px; border:1px solid #e8d5cc; border-radius:24px; background:var(--paper); color:var(--red); box-shadow:0 7px 18px rgba(24,47,61,.05); }
.logout-icon svg { width:34px; height:34px; }
.logout-card h1 { margin:0; font-size:clamp(2rem,4vw,3rem); }
.logout-intro { max-width:440px; margin:16px auto 0; color:var(--muted); }
.logout-cart-note { margin:18px 0 0; padding:12px 15px; border:1px solid #e7c878; border-radius:10px; background:#fff7de; color:#765411; font-size:.88rem; }
.logout-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:28px; }
.logout-actions .btn { min-height:50px; font-family:inherit; font-size:.94rem; font-weight:700; }
.logout-cancel:hover { border-color:#c9bca9; background:var(--cream); color:var(--ink); }
.logout-actions .btn:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.logout-footnote { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; }
@media (max-width:560px) { .logout-page { min-height:0; padding-block:10px; }.logout-card { padding:32px 22px 25px; border-radius:20px; }.logout-icon { width:66px; height:66px; margin-bottom:20px; border-radius:20px; }.logout-intro { font-size:.94rem; }.logout-actions { grid-template-columns:1fr; gap:10px; margin-top:24px; }.logout-footnote { margin-top:22px; } }

/* Account */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.shop-chat-launcher { position:fixed; right:22px; bottom:22px; z-index:900; display:grid; width:54px; height:54px; place-items:center; border:0; border-radius:50%; background:var(--red); color:#fff; box-shadow:0 8px 24px rgba(24,47,61,.25); cursor:pointer; font-size:1.45rem; }
.shop-chat { position:fixed; right:22px; bottom:88px; z-index:900; display:flex; width:min(390px,calc(100vw - 28px)); height:min(610px,calc(100vh - 120px)); flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 16px 45px rgba(24,47,61,.24); }
.shop-chat[hidden] { display:none; }
.shop-chat-header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background:var(--navy); color:#fff; }
.shop-chat-close { border:0; background:transparent; color:#fff; cursor:pointer; font-size:1.6rem; line-height:1; }
.shop-chat-messages { display:flex; flex:1; flex-direction:column; gap:10px; overflow-y:auto; padding:15px; background:#f7f2e9; }
.shop-chat-message { max-width:88%; padding:10px 12px; border-radius:12px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.9rem; line-height:1.45; }
.shop-chat-message.assistant { align-self:flex-start; background:#fffdfa; color:var(--ink); }
.shop-chat-message.user { align-self:flex-end; background:var(--navy); color:#fff; }
.shop-chat-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:12px; border-top:1px solid var(--line); background:var(--paper); }
.shop-chat-form textarea { width:100%; min-height:44px; max-height:120px; resize:vertical; border:1px solid var(--line); border-radius:8px; padding:10px; background:#fff; color:var(--ink); font:inherit; font-size:.9rem; }
.shop-chat-form .btn { align-self:end; min-height:44px; padding-inline:13px; }
@media (max-width:560px) { .shop-chat-launcher { right:16px; bottom:16px; }.shop-chat { right:14px; bottom:80px; width:calc(100vw - 28px); height:min(600px,calc(100vh - 100px)); } }

/* Account */
.account-hero { display:flex; align-items:center; gap:20px; margin-bottom:24px; padding:27px 30px; border-radius:var(--radius); background:linear-gradient(125deg,#1d3546,#294b5d 62%,#8f2d36); color:#fff; box-shadow:0 12px 30px rgba(24,47,61,.18); }.account-avatar { display:grid; flex:0 0 68px; width:68px; height:68px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(255,255,255,.13); font-family:'Playfair Display',Georgia,serif; font-size:1.7rem; font-weight:700; }.account-hero-copy { flex:1; }.account-hero .page-eyebrow { margin:0 0 4px; color:#f6c9a8; }.account-hero h1 { margin:0; color:#fff; }.account-hero-copy > p:last-child { margin:5px 0 0; color:rgba(255,255,255,.76); }.account-hero-actions { display:flex; gap:9px; }.btn-light { background:#fff; color:var(--navy); }.btn-light:hover { background:#f8e9da; }.btn-outline-light { border:1px solid rgba(255,255,255,.55); background:transparent; color:#fff; }.btn-outline-light:hover { border-color:#fff; background:rgba(255,255,255,.12); }.account-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:20px; align-items:start; }.account-grid .account-section { margin-top:0; }.account-section { padding:25px; }.account-section-header h2 { margin:1px 0 0; font-size:1.4rem; }.section-kicker { margin:0; color:var(--red); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.account-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--line); }.account-detail-grid .detail-row { display:block; min-height:78px; padding:14px 15px; background:#fffdf9; }.account-detail-grid .detail-row-wide { grid-column:span 2; }.detail-label { display:block; min-width:0; margin-bottom:5px; color:var(--muted); font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.detail-row > span:last-child { overflow-wrap:anywhere; font-weight:650; }.addresses-heading { display:flex; justify-content:space-between; align-items:center; margin:2px 0 13px; color:var(--muted); font-size:.86rem; }.addresses-heading span { color:var(--ink); font-weight:700; }.address-card-grid { display:grid; gap:10px; }.address-card { margin:0; padding:18px 17px 15px; border-radius:12px; background:#fffdf9; transition:.18s ease; }.address-card:hover { transform:translateY(-1px); box-shadow:0 7px 16px rgba(24,47,61,.07); }.address-card-label { margin:0 42px 7px 0; font-size:1rem; font-weight:800; }.address-card address { margin:0; color:var(--muted); font-size:.9rem; font-style:normal; line-height:1.55; }.address-actions { margin-top:13px; }.account-empty-state { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:22px; border:1px dashed #d4c4b5; border-radius:12px; background:#fffaf4; color:var(--muted); }.account-empty-state span { color:var(--red); font-size:1.35rem; }.account-empty-state p { margin:0; }
@media (max-width:760px) { .account-hero { align-items:flex-start; flex-wrap:wrap; padding:24px; }.account-hero-actions { width:100%; }.account-hero-actions .btn { flex:1; text-align:center; }.account-grid { grid-template-columns:1fr; }.account-detail-grid .detail-row-wide { grid-column:auto; } }

/* Checkout responsive layout */
.checkout-heading { max-width:760px; margin-bottom:26px; }.checkout-heading h1 { margin-top:2px; }.checkout-intro { max-width:620px; margin-top:10px; color:var(--muted); font-size:1.04rem; }.checkout-error { margin:0 0 20px; padding:13px 16px; border:1px solid #e7b5b0; border-radius:10px; background:#fff0ef; color:#8e1822; }.checkout-form .checkout-grid { grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:24px; align-items:start; }.checkout-column { display:grid; gap:20px; min-width:0; }.checkout-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); box-shadow:0 3px 9px rgba(24,47,61,.035); }.checkout-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:17px; }.checkout-card-heading h2 { margin-top:2px; font-size:1.45rem; }.checkout-card-heading .section-kicker { margin-bottom:5px; }.checkout-edit-link { color:#28647b; font-size:.84rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; }.checkout-edit-link:hover { color:var(--red); }.checkout-summary-list { margin-top:2px; }.checkout-summary-list .order-summary-line { align-items:center; min-height:55px; }.order-summary-line > span { min-width:0; }.order-summary-line small { display:block; margin-top:2px; color:var(--muted); font-size:.82rem; }.order-summary-line > strong { flex:none; color:var(--ink); font-size:.9rem; }.order-summary-delivery { color:var(--muted); }.order-summary-total { display:flex; justify-content:space-between; gap:16px; padding-top:18px; font-size:1.22rem; }.order-summary-total strong { color:var(--red); }.checkout-card .delivery-options { display:grid; gap:10px; }.checkout-card .delivery-option { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:13px; min-height:70px; margin:0; padding:14px; border:1px solid var(--line); border-radius:11px; background:#fffdf9; transition:border-color .18s,background .18s,box-shadow .18s; }.checkout-card .delivery-option:hover,.checkout-card .delivery-option:has(input:checked) { border-color:#b6896b; background:#fffaf3; box-shadow:0 4px 12px rgba(24,47,61,.05); }.delivery-option input { width:20px; height:20px; margin-top:2px; accent-color:var(--red); }.delivery-option-copy { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; min-width:0; }.delivery-option-copy strong { line-height:1.35; }.delivery-option-copy small { grid-column:1 / -1; color:var(--muted); font-size:.82rem; line-height:1.4; }.delivery-option-price { float:none; margin:0; color:var(--ink); font-weight:800; white-space:nowrap; }.delivery-option-price.is-free { color:var(--green); }.address-options { display:grid; gap:10px; }.address-radio { align-items:flex-start; margin:0; min-height:54px; padding:13px 14px; }.address-radio input { width:20px; height:20px; flex:none; margin-top:1px; accent-color:var(--red); }.new-address-fields { margin-top:2px; padding:16px; }.new-address-fields .form-group:last-child { margin-bottom:0; }.address-form-row { grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr); gap:12px; }.checkout-card .form-group { margin-bottom:15px; }.checkout-card .form-group:last-child { margin-bottom:0; }.checkout-card input,.checkout-card select,.checkout-card textarea { min-height:46px; }.checkout-card textarea { resize:vertical; min-height:100px; }.optional-label { color:var(--muted); font-family:'DM Sans',Arial,sans-serif; font-size:.78rem; font-weight:500; }.checkout-help { margin:-6px 0 17px; color:var(--muted); font-size:.84rem; }.checkout-notes-card { position:sticky; top:92px; }.checkout-submit { min-height:52px; font-size:1rem; }.checkout-submit-loading { display:none; }.checkout-submit.is-loading { cursor:wait; opacity:.78; }.checkout-submit.is-loading .checkout-submit-label { display:none; }.checkout-submit.is-loading .checkout-submit-loading { display:inline; }.checkout-secure-note { margin:12px 0 0; color:var(--muted); font-size:.78rem; text-align:center; }

@media (min-width:901px) and (max-width:1199px) { .container { padding-inline:24px; }.checkout-form .checkout-grid { grid-template-columns:minmax(0,1fr) minmax(300px,.88fr); gap:18px; }.checkout-card { padding:20px; } }
.checkout-card input.autofill-field[readonly] { color:var(--muted); background:#f1eee9; cursor:not-allowed; }.field-hint { display:block; margin-top:5px; color:var(--muted); font-size:.76rem; }
@media (max-width:900px) { .checkout-form .checkout-grid { grid-template-columns:1fr; }.checkout-notes-card { position:static; }.checkout-column { gap:18px; }.checkout-card { padding:22px; } }
@media (max-width:560px) { .checkout-heading { margin-bottom:20px; }.checkout-heading h1 { font-size:clamp(1.9rem,9vw,2.55rem); }.checkout-intro { font-size:.94rem; }.checkout-card { padding:18px; border-radius:13px; }.checkout-card-heading { margin-bottom:14px; }.checkout-card-heading h2 { font-size:1.28rem; }.checkout-edit-link { font-size:.79rem; }.checkout-summary-list .order-summary-line { min-height:52px; }.order-summary-line { gap:10px; }.order-summary-line > strong { font-size:.84rem; }.order-summary-total { padding-top:15px; font-size:1.08rem; }.checkout-card .delivery-option { min-height:66px; padding:13px 12px; }.delivery-option-copy { gap:3px 8px; font-size:.93rem; }.delivery-option-copy small { font-size:.77rem; }.address-form-row { grid-template-columns:1fr 1.45fr; }.new-address-fields { padding:13px; }.checkout-submit { min-height:54px; }.checkout-secure-note { font-size:.74rem; } }
@media (max-width:360px) { .container { padding-inline:14px; } main.container { padding-block:24px 38px; }.checkout-card { padding:15px; }.checkout-card-heading { gap:8px; }.checkout-card-heading h2 { font-size:1.17rem; }.checkout-card-heading .section-kicker { font-size:.65rem; }.checkout-edit-link { max-width:90px; text-align:right; }.delivery-option-copy { grid-template-columns:1fr; }.delivery-option-price { justify-self:start; }.address-form-row { grid-template-columns:1fr; } }

/* Shop branding settings */
.settings-card { overflow:visible; }.logo-preview { display:flex; min-height:130px; align-items:center; justify-content:center; margin:14px 0 22px; padding:20px; border-radius:12px; background:var(--navy); }.logo-preview img { display:block; width:auto; height:auto; max-width:100%; max-height:105px; object-fit:contain; }.form-help { margin-top:6px; color:var(--muted); font-size:.88rem; }.settings-logo-empty { margin:14px 0 22px; }.remove-logo-form { margin-top:12px; }

/* Dialogs on account page */
.modal { position:fixed; z-index:1000; inset:0; display:none; align-items:center; justify-content:center; overflow-y:auto; padding:24px; background:rgba(20,31,40,.58); backdrop-filter:blur(4px); }.modal-content { width:min(100%,560px); max-height:calc(100vh - 48px); overflow-y:auto; padding:27px; border:1px solid rgba(255,255,255,.45); border-radius:16px; background:var(--paper); box-shadow:0 24px 65px rgba(0,0,0,.3); }.modal-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:22px; }.modal-header h3 { margin:0; font-size:1.35rem; }.modal-close { width:34px; height:34px; border:0; border-radius:50%; background:#f1e8df; color:var(--ink); font-size:1.5rem; line-height:1; cursor:pointer; }.modal-close:hover { background:#ead5d0; color:var(--red); }.modal .form-group:last-of-type { margin-bottom:22px; } @media (max-width:560px) { .modal { align-items:flex-start; padding:14px; }.modal-content { max-height:calc(100vh - 28px); padding:23px 18px; } }

/* Reviewed mail order imports. */
.mail-draft { padding:24px; margin-bottom:24px; overflow-wrap:anywhere; }
.mail-draft-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.mail-draft h2 { margin:0 0 12px; }
.mail-draft details { margin:16px 0; }
.mail-draft summary { cursor:pointer; margin-bottom:12px; }
.mail-review-form fieldset { border:1px solid var(--line); border-radius:10px; padding:18px; margin:20px 0; min-width:0; }
.mail-review-form legend { padding:0 8px; font-weight:700; }
.mail-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.mail-review-form label { display:block; min-width:0; }
.mail-review-form input,.mail-review-form select,.mail-review-form textarea { width:100%; min-width:0; box-sizing:border-box; padding:10px; margin:6px 0; border:1px solid var(--line); border-radius:6px; font:inherit; }
.mail-review-form small { display:block; }
.mail-item-row { display:grid; grid-template-columns:minmax(0,1fr) 100px; gap:16px; }
.mail-draft-actions { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
.mail-draft button:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:600px) { .mail-draft { padding:16px; } .mail-review-grid { grid-template-columns:minmax(0,1fr); } .mail-item-row { grid-template-columns:minmax(0,1fr) 70px; gap:8px; } .mail-review-form fieldset { padding:12px; } .mail-draft .btn { white-space:normal; max-width:100%; } }

.order-status-filters{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.order-transfer-error{color:#a32323;max-width:32rem;overflow-wrap:anywhere}.order-status-timeline{padding-left:24px}.order-status-timeline li{padding:10px 0}.order-status-timeline time{color:#666}

.mail-review-workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:24px;align-items:start;margin-top:20px}
.mail-original-panel,.mail-data-panel{min-width:0}
.mail-original-panel{position:sticky;top:130px;background:#fffdf9;border:1px solid var(--line);border-radius:10px;padding:18px}
.mail-original-panel h3,.mail-transfer-summary h3{margin-top:0}
.mail-original-panel .mail-order-message-body{max-height:65vh;border:0;padding:0}
.mail-field-error{display:block;color:#a32323;font-size:.86rem;margin:4px 0}
.mail-review-form [aria-invalid="true"]{border:2px solid #b43131;background:#fff7f5}
.mail-transfer-summary{border:1px solid var(--line);border-radius:10px;background:#fffdf9;padding:18px;margin-top:20px}
.mail-summary-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.mail-summary-details dt{font-weight:700;margin-bottom:6px}.mail-summary-details dd{margin:0}.mail-summary-details small{display:block;color:var(--muted);margin-top:4px}
.mail-summary-items{padding-left:20px}.mail-summary-items li{margin:8px 0}
.mail-draft-explanation{padding:12px;border-left:3px solid var(--red);background:#f8f3ea}
.mail-unsaved-notice[hidden]{display:none}
@media(max-width:1000px){.mail-review-workspace{grid-template-columns:minmax(0,1fr)}.mail-original-panel{position:static}.mail-original-panel .mail-order-message-body{max-height:35vh}}
@media(max-width:600px){.mail-summary-details{grid-template-columns:minmax(0,1fr)}.mail-original-panel,.mail-transfer-summary{padding:12px}}

/* Clique logo in the shop header. */
.navbar .logo { display:flex; align-items:center; gap:12px; min-width:0; }
.navbar .shop-logo { flex:none; width:54px; height:54px; padding:4px; border-radius:6px; background:#fffdfa; object-fit:contain; }
.shop-brand-name { white-space:nowrap; }
.admin-logo .shop-logo { padding:3px; border-radius:5px; background:#fffdfa; }
.home-hero::before { content:none; }
@media (max-width:900px) { .navbar .shop-logo { width:46px; height:46px; } }
@media (max-width:560px) { .navbar .logo { gap:8px; } .navbar .shop-logo { width:42px; height:42px; } .shop-brand-name { font-size:1.05rem; } }
@media (max-width:360px) { .navbar .shop-logo { width:36px; height:36px; } .shop-brand-name { font-size:.95rem; } .navbar .logo { gap:6px; } }

/* Simple homepage introduction. */
.home-hero.home-intro { display:block; min-height:0; padding:20px 0 30px; border-radius:0; overflow:visible; background:transparent; color:var(--ink); }
.home-intro h1 { max-width:800px; }
.home-hero.home-intro .page-intro { max-width:660px; color:var(--muted); font-size:1.05rem; }
.home-intro .home-actions { margin-top:24px; }
.home-intro .text-link { color:var(--ink); }
@media (max-width:560px) { .home-hero.home-intro { padding:8px 0 20px; } }

/* Practical order information on the public homepage. */
.home-order-information { margin-top:24px; padding-top:28px; border-top:1px solid var(--line); }
.home-order-information > h2 { margin-bottom:22px; font-size:1.6rem; }
.home-order-info-row { display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; padding:20px 0; border-top:1px solid var(--line); }
.home-order-info-row h3 { margin:0; font-size:1.2rem; }
.home-order-info-row p { max-width:720px; margin:0 0 8px; }
.home-order-info-row p:last-child { margin-bottom:0; }
.home-order-info-note { color:var(--muted); font-size:.94rem; }
@media (max-width:560px) { .home-order-information { margin-top:12px; padding-top:24px; } .home-order-information > h2 { font-size:1.4rem; } .home-order-info-row { grid-template-columns:minmax(0,1fr); gap:10px; padding:18px 0; } }

/* Public catalogue: clear images, prices and a single primary action. */
.products-catalog .page-intro { color:var(--ink); font-size:1rem; }
.products-catalog .products-search { align-items:flex-end; gap:12px; margin:26px 0 28px; }
.products-search-field { flex:1; min-width:0; }
.products-search-field label { display:block; margin-bottom:7px; font-size:.9rem; font-weight:600; }
.products-catalog .products-search input { display:block; border-color:#a99d90; }
.products-catalog .products-search .btn { min-height:48px; }
.products-catalog .products-grid { gap:28px; }
.products-catalog .product-card { border-radius:8px; box-shadow:none; transition:none; }
.products-catalog .product-card:hover { transform:none; box-shadow:none; }
.products-catalog .product-media { height:300px; padding:18px; background:var(--paper); border-bottom:1px solid var(--line); }
.products-catalog .product-media img { object-fit:contain; mix-blend-mode:normal; }
.products-catalog .product-info { padding:20px; }
.products-catalog .product-info .ref { color:#4f5a60; letter-spacing:0; font-weight:500; }
.products-catalog .product-info h3 { margin-top:6px; font-size:1.35rem; }
.products-catalog .product-info .price { color:var(--ink); font-size:1.5rem; margin-top:12px; }
.products-catalog .product-actions { grid-template-columns:auto minmax(0,1fr); align-items:center; gap:18px; padding-top:20px; }
.products-catalog .btn { font-family:inherit; font-size:.9rem; font-weight:600; min-height:44px; }
.product-details-link { color:var(--ink); font-size:.9rem; text-underline-offset:4px; text-decoration-thickness:1px; padding:10px 0; }
.product-details-link:hover { color:var(--red); }
.products-catalog :is(a,button,input):focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.products-catalog button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.products-empty { margin:32px 0; color:var(--ink); }
@media (max-width:900px) { .products-catalog .product-media { height:280px; } }
@media (max-width:560px) { .products-catalog .products-search { gap:10px; } .products-catalog .products-grid { gap:22px; } .products-catalog .product-media { height:290px; } .products-catalog .product-actions { grid-template-columns:auto minmax(0,1fr); gap:14px; } }

/* Consistent public account and order lookup forms. */
.shop-public-form { max-width:560px; margin:16px auto 24px; padding:30px; border-radius:8px; box-shadow:none; }
.shop-public-form h1 { text-align:left; margin-bottom:12px; font-size:clamp(1.8rem,4vw,2.4rem); }
.shop-form-intro { margin:0 0 26px; color:var(--ink); }
.shop-public-form .form-group { margin-bottom:20px; }
.shop-public-form .form-group label { font-size:.95rem; font-weight:600; }
.shop-public-form .form-group :is(input,select,textarea) { min-height:48px; border-color:#a99d90; }
.shop-public-form input[readonly] { background:var(--cream); }
.shop-public-form .btn { min-height:48px; font-family:inherit; font-size:.95rem; font-weight:600; }
.shop-public-form a:not(.btn) { color:var(--ink); text-underline-offset:4px; }
.shop-public-form a:not(.btn):hover { color:var(--red); }
.shop-public-form :is(a,button,input,select):focus-visible { outline:3px solid var(--red); outline-offset:3px; }
.shop-form-error { margin:0 0 22px; padding:12px 14px; border:1px solid #b43131; border-radius:6px; background:#fff0ef; color:#8e1822; }
.shop-form-recovery { margin:-4px 0 24px; font-size:.9rem; }
.shop-form-footer { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); font-size:.95rem; }
.shop-form-hint { display:block; margin-top:7px; color:var(--ink); font-size:.85rem; }
.shop-password-field { position:relative; }
.shop-password-field input { padding-right:56px; }
.shop-password-field .password-toggle { position:absolute; right:4px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:40px; border:0; border-radius:5px; background:transparent; color:var(--ink); cursor:pointer; }
.password-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.password-eye-slash { display:none; }
.password-toggle[aria-pressed="true"] .password-eye-slash { display:block; }
.shop-password-strength { margin-top:10px; }
.shop-password-strength-track { height:6px; background:var(--line); border-radius:3px; overflow:hidden; }
#password-strength-bar { height:100%; width:0; background:#b43131; }
#password-strength-text { display:block; margin-top:5px; color:var(--ink); }
.shop-order-lookup { max-width:620px; }
.shop-lookup-result { padding:18px; margin:0 0 24px; border-radius:6px; box-shadow:none; }
.shop-lookup-result h2 { font-size:1.4rem; margin-bottom:16px; }
.shop-lookup-result p { margin-bottom:8px; }
.shop-lookup-tracking { margin-top:18px; padding:14px; background:var(--cream); border-left:3px solid var(--navy); }
.shop-tracking-link { font-weight:600; }
.shop-public-form .center-actions { display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width:560px) { .shop-public-form { padding:22px 18px; margin:8px auto 16px; } .shop-public-form h1 { font-size:1.8rem; } .shop-form-intro { font-size:.95rem; } .shop-public-form .center-actions .btn { width:100%; } }

/* Product detail and cart follow the public catalogue. */
.shop-product-detail { border-radius:8px; box-shadow:none; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:28px; gap:36px; }
.shop-product-image { display:grid; place-items:center; min-width:0; height:400px; padding:20px; background:var(--paper); }
.shop-product-image img { width:100%; height:100%; max-height:360px; object-fit:contain; border-radius:0; }
.shop-product-copy { min-width:0; }
.shop-product-copy .ref,.shop-cart-ref { color:#4f5a60; font-size:.85rem; }
.shop-product-copy h1 { margin-top:8px; font-size:clamp(1.8rem,3vw,2.6rem); }
.shop-product-copy .price { color:var(--ink); font-size:1.8rem; margin:18px 0; }
.shop-product-copy .description { color:var(--ink); }
.shop-product-purchase { margin-top:26px; }
.shop-product-quantity { max-width:110px; min-height:48px; }
.shop-product-back { display:inline-block; padding:12px 0; margin-top:14px; color:var(--ink); text-underline-offset:4px; }
.shop-product-back:hover { color:var(--red); }
.shop-cart-panel { border-radius:8px; box-shadow:none; padding:24px; }
.shop-cart .cart-item { align-items:center; gap:20px; }
.shop-cart .cart-item img,.shop-cart .cart-product-placeholder { width:100px; height:110px; background:var(--paper); border-radius:0; object-fit:contain; }
.shop-cart .cart-item h3 { font-size:1.25rem; }
.shop-cart-ref { margin-top:4px; }
.shop-cart .cart-price { color:var(--ink); margin-top:5px; }
.shop-cart .cart-line-total { color:var(--ink); }
.shop-cart-item-actions { display:flex; align-items:center; gap:14px; }
.shop-cart .qty { width:56px; height:44px; border-color:#a99d90; }
.shop-cart .qty-btn { width:36px; height:44px; border-radius:6px; font-family:inherit; }
.shop-cart-remove { width:40px; height:44px; background:transparent; border:1px solid var(--line); border-radius:6px; color:var(--red-dark); cursor:pointer; font-size:1.5rem; }
.shop-cart .cart-total { max-width:560px; text-align:left; padding-top:24px; }
.shop-cart-subtotal { display:flex; justify-content:space-between; gap:16px; font-size:1.3rem; }
.shop-cart-summary-help,.shop-cart .cart-delivery-hint { color:var(--ink); font-size:.9rem; margin-top:12px; }
.shop-cart .cart-actions { justify-content:flex-start; margin-top:22px; }
.shop-cart-empty { padding:20px 0; color:var(--ink); }
.shop-cart-closed { padding:14px; margin-top:16px; border:1px solid #b43131; border-radius:6px; color:#8e1822; background:#fff0ef; font-size:.95rem; }
:is(.shop-product-detail,.shop-cart) .btn { font-family:inherit; font-size:.95rem; font-weight:600; min-height:48px; }
:is(.shop-product-detail,.shop-cart) :is(a,button,input):focus-visible,.shop-product-back:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
:is(.shop-product-detail,.shop-cart) button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
@media (max-width:900px) { .shop-product-detail { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .shop-product-detail,.shop-cart-panel { padding:18px; } .shop-product-detail { gap:20px; } .shop-product-image { height:300px; padding:10px; } .shop-product-image img { max-height:280px; } .shop-product-purchase .btn { width:100%; } .shop-cart .cart-item { gap:12px; } .shop-cart .cart-item img,.shop-cart .cart-product-placeholder { width:76px; height:88px; } .shop-cart .cart-item .info { min-width:0; flex:1; } .shop-cart-item-actions { width:100%; justify-content:flex-end; } .shop-cart .cart-total { width:100%; } .shop-cart-subtotal { flex-wrap:wrap; font-size:1.15rem; } .shop-cart .cart-actions .btn { width:100%; } }

/* Final checkout and confirmation share the quieter public form style. */
.shop-checkout .checkout-card { border-radius:8px; box-shadow:none; }
.shop-checkout .section-kicker { color:#4f5a60; letter-spacing:0; text-transform:none; font-size:.85rem; font-weight:600; }
.shop-checkout .checkout-intro,.shop-checkout .checkout-help { color:var(--ink); }
.shop-checkout .checkout-edit-link { color:var(--ink); }
.shop-checkout .checkout-card :is(input,select,textarea) { border-color:#a99d90; }
.shop-checkout .btn { font-family:inherit; font-size:.95rem; font-weight:600; }
.shop-checkout .order-summary-total strong { color:var(--ink); }
.checkout-total-note { margin-top:14px; color:var(--ink); font-size:.88rem; line-height:1.5; }
.shop-checkout .delivery-date { margin-top:16px; background:var(--cream); color:var(--ink); border-radius:6px; text-align:left; }
.checkout-review-customer { margin:18px 0 12px; }
.checkout-review-address { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.checkout-review-address h3 { font-size:1rem; margin-bottom:8px; }
.checkout-review-address address { font-style:normal; overflow-wrap:anywhere; }
.checkout-review-date { margin-top:18px; }
.checkout-review-note { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.checkout-review-note p { margin-top:6px; overflow-wrap:anywhere; }
.checkout-guest-note { margin-bottom:18px; font-size:.95rem; }
.shop-checkout :is(a,button,input,select,textarea):focus-visible,.shop-order-confirmation :is(a,button):focus-visible { outline:3px solid var(--red); outline-offset:3px; }
.shop-order-confirmation { max-width:660px; padding:30px; margin:16px auto 24px; border-radius:8px; box-shadow:none; }
.shop-order-confirmation h1 { text-align:left; font-size:clamp(1.8rem,4vw,2.4rem); margin-bottom:16px; }
.confirmation-intro { margin-bottom:22px; }
.confirmation-reference { padding:18px; background:var(--cream); border:1px solid var(--line); border-radius:6px; }
.confirmation-reference span { display:block; font-size:.9rem; }
.confirmation-reference strong { display:block; font-size:1.5rem; margin-top:5px; overflow-wrap:anywhere; }
.confirmation-details { margin:20px 0; }
.confirmation-details > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.confirmation-details dt { font-weight:600; }.confirmation-details dd { margin:0; overflow-wrap:anywhere; }
.confirmation-next-step { padding-top:12px; }.confirmation-next-step h2 { font-size:1.35rem; margin-bottom:12px; }
.confirmation-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.confirmation-actions .btn { font-family:inherit; font-size:.95rem; font-weight:600; min-height:48px; }
@media (max-width:560px) { .shop-order-confirmation { padding:22px 18px; margin:8px auto 16px; } .confirmation-details > div { grid-template-columns:1fr; gap:5px; } .confirmation-actions .btn { width:100%; } }
