.draft-strip { display:flex; gap:14px; align-items:center; padding:12px 5vw; background:#fff4e2; color:#312719; font:12px/1.6 'Montserrat',sans-serif; }
.email-cart-open { overflow:hidden; }
.draft-strip strong { font-size:10px; letter-spacing:.08em; }
.counter-phones { border-top:1px solid #dededb; margin-top:24px; padding-top:18px; }
.site-subpage .party-page .counter-phones > p { margin:0 0 12px; font-size:12px; font-weight:600; }
.counter-phones > div { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.counter-phones a { display:flex; flex-direction:column; gap:5px; padding:14px; background:#f5f5f3; border-left:3px solid #e00001; text-decoration:none !important; }
.counter-phones span { font-size:10px; font-weight:600; }
.counter-phones strong { font-size:19px; line-height:1.4; letter-spacing:-.03em; }
.counter-phones small { font-size:9px; line-height:1.8; color:#515151; }
.cart-entry { background:#1a1919; color:#fff; padding-top:38px; }
.site-subpage .party-page .cart-entry .container { display:grid; grid-template-columns:1.6fr 1fr; gap:28px 40px; }
.site-subpage .party-page .cart-entry :is(h2,p) { color:#fff; }
.site-subpage .party-page .cart-entry .page-kicker { color:#c2c2bf; }
.site-subpage .party-page .cart-entry h2 { margin:0 0 15px; }
.site-subpage .party-page .cart-entry-note { font-size:12px; color:#c2c2bf; }
.cart-entry-action { display:flex; flex-direction:column; justify-content:center; gap:14px; align-items:flex-start; }
.cart-entry-action > span { font-size:13px; font-weight:600; }
.site-subpage .party-page .cart-entry-action .button { background:#fff; border-color:#fff; color:#1a1919; }
.cart-entry-action small { font-size:11px; color:#c2c2bf; }
.cart-matrix { grid-column:1/-1; border-top:1px solid #ffffff55; }
.cart-matrix summary { display:flex; justify-content:space-between; align-items:center; list-style:none; padding:18px 0; cursor:pointer; font-size:13px; font-weight:600; }
.cart-matrix summary::-webkit-details-marker { display:none; }
.cart-matrix-scroll { overflow-x:auto; }
.site-subpage .party-page .cart-matrix table { color:#fff; min-width:600px; }
.site-subpage .party-page .cart-matrix :is(th,td) { border-color:#ffffff44; padding:12px; font-size:12px; vertical-align:top; }
.site-subpage .party-page .cart-matrix > p { font-size:11px; padding:15px 0; color:#c2c2bf; }
.cart-dock { position:fixed; right:24px; bottom:20px; z-index:60; display:flex; align-items:center; gap:18px; background:#1a1919; color:#fff; border:1px solid #fff6; padding:16px 20px; box-shadow:0 8px 30px #0003; font:600 12px/1.5 'Montserrat',sans-serif; cursor:pointer; }
.cart-dock [data-cart-dock-total] { font-size:17px; }
.cart-dock.is-updated { animation:cart-pop 220ms ease-out; }
.cart-dock[hidden] { display:none !important; }
.email-cart-dialog { width:min(1100px,calc(100% - 48px)); max-width:none; height:auto; max-height:92dvh; margin:auto; padding:0; border:0; border-radius:0; background:#fff; color:#1a1919; font-family:'Montserrat',sans-serif; overflow:auto; }
.email-cart-dialog::backdrop { background:#000a; }
.cart-dialog-head { display:flex; justify-content:space-between; gap:24px; padding:24px 30px; border-bottom:1px solid #ddd; position:sticky; top:0; background:#fff; z-index:2; }
.cart-dialog-head > div > span { font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.cart-dialog-head h2 { margin:7px 0 0; font-size:26px; line-height:1.3; }
.cart-close { width:44px; height:44px; border:1px solid #1a1919; background:#fff; font:28px/1 'Montserrat',sans-serif; cursor:pointer; flex:0 0 44px; }
.cart-dialog-body { display:grid; grid-template-columns:.9fr 1.1fr; }
.email-cart-dialog [hidden] { display:none !important; }
.cart-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; list-style:none; margin:0; padding:16px 30px; background:#f5f5f3; border-bottom:1px solid #ddd; }
.cart-progress li { display:flex; align-items:center; gap:9px; font-size:11px; line-height:1.5; color:#5a5a5a; }
.cart-progress li > span { display:grid; place-items:center; width:24px; height:24px; flex:0 0 24px; border:1px solid #999; border-radius:50%; }
.cart-progress li[aria-current="step"] { color:#1a1919; font-weight:700; }
.cart-progress li[aria-current="step"] > span { color:#fff; background:#1a1919; border-color:#1a1919; }
.cart-review-note { font-size:12px; line-height:1.9; color:#515151; }
.cart-send-note { padding:14px; border-left:3px solid #b00000; background:#fff4e2; font-size:11px; line-height:1.9; }
.cart-send-note p { margin:8px 0 0; }
@media(max-width:580px) { .cart-progress { padding:14px 18px; gap:6px; } .cart-progress li { flex-direction:column; align-items:flex-start; font-size:9px; gap:6px; } }
.cart-view-switch { display:flex; gap:8px; padding:14px 30px; border-bottom:1px solid #ddd; }
.cart-view-switch button { padding:10px 14px; background:#fff; border:1px solid #999; font:600 11px/1.5 'Montserrat',sans-serif; cursor:pointer; }
.cart-view-switch button[aria-pressed="true"] { background:#1a1919; border-color:#1a1919; color:#fff; }
.cart-view-switch [data-selection-number] { display:inline-block; min-width:15px; margin-left:6px; }
.cart-catalogue { padding:20px 30px 0; }
.cart-catalogue-intro { max-width:800px; font-size:12px; line-height:1.9; margin:0 0 20px; }
.cart-catalogue-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cart-catalogue-card { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:center; gap:14px; padding:16px; border:1px solid #ddd; background:#fff; }
.cart-catalogue-card img { width:100px; height:86px; object-fit:contain; }
.cart-catalogue-card h3 { font-size:12px; line-height:1.6; margin:0 0 6px; }
.cart-catalogue-card p { display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-size:10px; line-height:1.6; margin:0; color:#555; }
.cart-catalogue-card p strong { color:#1a1919; font-size:13px; }
.cart-catalogue-controls { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; margin-top:12px; }
.cart-catalogue-controls label { display:flex; flex-direction:column; gap:4px; font-size:9px; }
.cart-catalogue-controls input { width:56px; min-height:36px; box-sizing:border-box; border:1px solid #999; border-radius:0; padding:6px; font:13px/1.5 'Montserrat',sans-serif; }
.cart-catalogue-controls button { min-height:36px; border:1px solid #1a1919; background:#fff; padding:8px 12px; font:600 10px/1.5 'Montserrat',sans-serif; cursor:pointer; }
.cart-catalogue-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; position:sticky; bottom:0; background:#fff; border-top:1px solid #999; padding:16px 0; margin-top:20px; box-shadow:0 -8px 12px #fff; }
.cart-catalogue-footer > div { display:flex; flex-direction:column; gap:5px; font-size:11px; }
.cart-catalogue-footer strong { font-size:21px; }
.cart-catalogue-footer button { min-height:44px; padding:12px 18px; background:#1a1919; color:#fff; border:1px solid #1a1919; font:600 11px/1.5 'Montserrat',sans-serif; cursor:pointer; }
.cart-catalogue-footer button:disabled { color:#555; background:#dededb; border-color:#dededb; cursor:not-allowed; }
@media(max-width:760px) { .cart-catalogue-grid { grid-template-columns:1fr; } }
@media(max-width:580px) { .cart-view-switch { padding:12px 18px; gap:6px; } .cart-view-switch button { padding:10px; font-size:10px; } .cart-catalogue { padding:18px 18px 0; } .cart-catalogue-card { grid-template-columns:76px minmax(0,1fr); padding:12px; gap:12px; } .cart-catalogue-card img { width:76px; height:76px; } .cart-catalogue-controls input { font-size:16px; } .cart-catalogue-footer { gap:12px; } .cart-catalogue-footer button { padding:12px; font-size:10px; } }
.cart-selection { padding:28px; background:#f5f5f3; }
.cart-selection h3,.cart-details h3 { font-size:17px; line-height:1.5; margin:0 0 20px; font-weight:700; }
.cart-item { display:grid; grid-template-columns:84px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid #d7d7d4; }
.cart-item img { width:84px; height:76px; object-fit:contain; background:#fff; }
.cart-item h4 { font-size:13px; line-height:1.6; margin:0 0 4px; }
.cart-item-meta { font-size:10px; line-height:1.8; color:#555; }
.cart-item-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.cart-item-controls button { width:30px; height:30px; background:#fff; border:1px solid #999; cursor:pointer; font:18px/1 'Montserrat',sans-serif; }
.cart-item-controls [data-remove-product] { width:auto; border:0; background:none; text-decoration:underline; text-underline-offset:3px; font-size:10px; margin-left:4px; }
.cart-item-controls output { min-width:20px; text-align:center; font-size:12px; }
.cart-item-price { margin-left:auto; font-size:14px; font-weight:700; }
.cart-totals { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:22px 0 10px; font-size:12px; }
.cart-extras { border:0; border-top:1px solid #d7d7d4; padding:22px 0 0; margin:24px 0 0; min-width:0; }
.cart-extras legend { padding:0 10px 0 0; font-size:15px; font-weight:700; }
.cart-extra-row { display:grid; grid-template-columns:1fr 78px; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid #dededb; }
.cart-extra-row > label:first-child { display:flex; gap:9px; align-items:center; font-size:11px; line-height:1.7; }
.cart-extra-row input[type="checkbox"] { flex:0 0 17px; width:17px; height:17px; accent-color:#b00000; }
.cart-extra-quantity { display:flex; flex-direction:column; gap:4px; font-size:9px; color:#555; }
.cart-extra-quantity input { width:100%; box-sizing:border-box; padding:7px; border:1px solid #aaa; border-radius:0; font:12px/1.5 'Montserrat',sans-serif; background:#fff; }
.cart-extra-quantity input:disabled { background:#e8e8e5; border-color:#ddd; }
.cart-extras > p { font-size:10px; line-height:1.9; color:#555; margin-top:13px; }
.cart-totals strong { font-size:26px; letter-spacing:-.035em; }
.cart-price-note,.cart-delivery-note { font-size:11px; line-height:1.9; color:#515151; margin:10px 0; }
.cart-delivery-note { border-left:3px solid #e00001; padding-left:12px; }
.cart-empty { font-size:13px; line-height:1.9; padding:20px 0; }
.cart-details { padding:28px; }
.cart-mode { display:flex; gap:20px; margin-bottom:18px; font-size:12px; }
.cart-mode label { display:flex; gap:7px; align-items:center; }
.cart-mode input,.cart-privacy input { accent-color:#b00000; }
.cart-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cart-form-grid label { display:flex; flex-direction:column; gap:7px; font-size:11px; line-height:1.6; font-weight:600; }
.cart-form-grid :is(input,select,textarea) { width:100%; min-width:0; box-sizing:border-box; padding:11px 10px; border:1px solid #aaa; border-radius:0; background:#fff; color:#1a1919; font:13px/1.6 'Montserrat',sans-serif; }
.cart-form-grid .cart-full { grid-column:1/-1; }
.cart-time-note,.cart-security-note { font-size:11px; line-height:1.9; margin:12px 0 24px; color:#555; }
.cart-security-note { border-left:3px solid #e00001; padding-left:12px; }
.cart-privacy { display:flex; gap:10px; align-items:flex-start; margin:20px 0 14px; font-size:10px; line-height:1.9; }
.cart-privacy input { flex:0 0 17px; width:17px; height:17px; margin-top:2px; }
.cart-privacy a { text-decoration:underline; text-underline-offset:3px; }
.cart-submit,.cart-edit { width:100%; min-height:46px; padding:12px 15px; border:1px solid #1a1919; background:#1a1919; color:#fff; font:700 12px/1.6 'Montserrat',sans-serif; cursor:pointer; }
.cart-submit:disabled { background:#dededb; border-color:#dededb; color:#555; cursor:not-allowed; opacity:1; }
.cart-draft-note { font-size:10px; line-height:1.9; color:#666; margin-top:12px; }
.cart-form-status { color:#a00000; font-size:12px; line-height:1.8; }
.cart-envelope { font-size:11px; line-height:1.9; margin:0 0 18px; }
.cart-envelope > div { display:flex; gap:14px; padding:6px 0; border-bottom:1px solid #ddd; }
.cart-envelope dt { min-width:90px; color:#555; }
.cart-envelope dd { margin:0; overflow-wrap:anywhere; }
[data-email-preview] { white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.9 'Montserrat',sans-serif; background:#f5f5f3; padding:18px; }
.cart-preview-actions { display:grid; gap:10px; margin-top:20px; }
.cart-edit { background:#fff; color:#1a1919; }
@keyframes cart-pop { 50% { transform:translateY(-4px); } }
@media(max-width:760px) { .cart-dialog-body { grid-template-columns:1fr; } .site-subpage .party-page .cart-entry .container { grid-template-columns:1fr; } }
@media(max-width:580px) { .counter-phones > div { gap:8px; } .counter-phones a { padding:12px 9px; } .counter-phones strong { font-size:17px; } .email-cart-dialog { width:calc(100% - 20px); max-height:94dvh; } .cart-dialog-head { padding:18px; } .cart-dialog-head h2 { font-size:23px; } .cart-selection,.cart-details { padding:20px; } .cart-form-grid { gap:12px; } .cart-form-grid :is(input,select,textarea) { font-size:16px; } .cart-mode { gap:14px; font-size:11px; } .cart-dock { left:12px; right:12px; bottom:12px; padding:13px 14px; gap:10px; justify-content:space-between; font-size:10px; } .cart-dock [data-cart-dock-total] { font-size:15px; } .draft-strip { font-size:10px; padding:9px 24px; gap:9px; } }
@media(prefers-reduced-motion:reduce) { .cart-dock.is-updated { animation:none; } }
.cart-inline-section { padding:28px 0 44px; }
.email-cart-inline { position:static; width:100%; max-height:none; max-width:none; margin:0; overflow:visible; border:1px solid #d7d7d4; box-sizing:border-box; scroll-margin-top:110px; }
.email-cart-inline .cart-dialog-head { position:static; }
.site-subpage .party-page .cart-header-count { font-size:11px; line-height:1.8; margin:7px 0 0; color:#555; }
.cart-browse { align-self:center; background:#fff; color:#1a1919; border:1px solid #1a1919; padding:11px 14px; font:600 11px/1.5 'Montserrat',sans-serif; cursor:pointer; }
.cart-inline-section .cart-matrix { border-top:1px solid #bbb; margin-top:22px; color:#1a1919; }
.site-subpage .party-page .cart-inline-section .cart-matrix :is(table,th,td) { color:#1a1919; border-color:#ccc; }
.site-subpage .party-page .cart-inline-section .cart-matrix > p { color:#555; }
.partybox-grid { scroll-margin-top:110px; }
@media(max-width:580px) { .email-cart-inline { width:100%; max-height:none; } .email-cart-inline .cart-dialog-head { gap:12px; } .cart-browse { padding:10px; font-size:9px; } }

.cart-send-controls { margin:22px 0 12px; }
.cart-review-confirm { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.8; }
.cart-review-confirm input { width:18px; height:18px; flex:0 0 18px; margin-top:3px; accent-color:#a00000; }
.cart-send-status { font-size:12px; line-height:1.9; color:#8c1600; margin:12px 0; }
.cart-technical-note { font-size:11px; line-height:1.9; color:#555; margin-top:12px; }
.cart-receipt { padding:22px; margin-top:24px; background:#edf5ee; border-left:4px solid #246448; }
.cart-receipt h3 { font-size:20px; line-height:1.5; }
.cart-receipt p { font-size:13px; line-height:1.9; margin:12px 0; }
.cart-receipt code { display:block; overflow-wrap:anywhere; font-size:12px; margin:12px 0; }
.cart-fax { display:none !important; }
.cart-health-consent { display:flex; align-items:flex-start; gap:9px; font-size:10px; line-height:1.8; }
.cart-health-consent input { flex:0 0 17px; width:17px; height:17px; margin-top:2px; }
.site-subpage .party-page .cart-review-note,.site-subpage .party-page .cart-technical-note { font-size:12px; line-height:1.9; }
@media(max-width:580px) { .counter-phones strong { font-size:16px; } .cart-receipt { padding:18px; } }
