/* Roman's Custom Apparel — Mobile-first request cart. This stylesheet intentionally leaves approved art alone. */
:root{--cart-paper:#fffaf3;--cart-ink:#26191a;--cart-red:#9f1632}
.cart-nav-link{position:relative;display:flex!important;justify-content:center;align-items:center;gap:6px;background:rgba(186,26,55,.18)}
.cart-count{display:inline-grid;place-items:center;border-radius:50px;min-width:25px;height:25px;padding:0 5px;font-size:12px;font-weight:900;background:#d5ad70;color:#17100c}
.cart-floating{position:fixed;z-index:99;right:12px;bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:11px;padding:10px 15px;background:#bf1837;color:white;border:2px solid #f2d29c;border-radius:100px;text-decoration:none;font-weight:900;font-size:14px;box-shadow:0 6px 25px #000a;min-height:51px}
.cart-floating:focus-visible,.cart-nav-link:focus-visible{outline:3px solid #fff;outline-offset:3px}
.cart-floating .cart-count{background:#f2d29c}
.cart-toast{position:fixed;bottom:calc(81px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(440px,calc(100vw - 28px));width:max-content;background:#163b27;border:1px solid #92d4a5;color:white;padding:11px 16px;border-radius:12px;box-shadow:0 8px 28px #000b;font-size:14px;font-weight:850;z-index:105;text-align:center}
.cart-toast[hidden]{display:none}
.cart-select-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.5fr);gap:10px;margin:14px 0 8px}
.cart-field{display:flex;flex-direction:column;gap:5px;text-align:left;color:#4a3534;font-size:12px;font-weight:850}
.cart-field input,.cart-field select,.cart-field textarea{min-height:46px;width:100%;border:1px solid #a99589;border-radius:9px;background:#fff;color:#201618;padding:10px 11px;font:inherit;font-size:16px;max-width:100%;box-sizing:border-box}
.cart-field textarea{min-height:90px;resize:vertical}
.cart-add{width:100%;background:#b71330!important;color:#fff!important;border:1px solid #aa1531!important;margin-top:7px;font-size:14px!important;min-height:52px}
.cart-note{color:#675956;font-size:12px;line-height:1.45;margin-top:7px}
.cart-shell{max-width:850px;margin:0 auto 40px}
.cart-page-intro{text-align:left;margin:12px 0 22px}
.cart-list{display:grid;gap:13px}
.cart-item{background:#f9f5ed;color:#241a1b;border:1px solid #d5ad70;border-radius:17px;overflow:hidden;box-shadow:0 10px 24px #0005}
.cart-item-main{display:grid;grid-template-columns:82px minmax(0,1fr);gap:13px;padding:15px}
.cart-thumb{width:82px;height:98px;object-fit:contain;background:#ebe4dc;border-radius:10px}
.cart-item h3{font-size:17px;color:#28191d;line-height:1.2;margin:0 0 6px;overflow-wrap:anywhere}
.cart-item .cart-sub{font-size:13px;margin:0 0 5px;color:#4d3c3d;line-height:1.45;overflow-wrap:anywhere}
.cart-item-details{margin:0;padding:0 15px 14px;font-size:13px;line-height:1.6;color:#413033}
.cart-item-tools{border-top:1px solid #dfd3c5;padding:11px 15px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:13px;align-items:center}
.cart-qty{display:flex;align-items:center;gap:11px;font-weight:800}
.cart-qty button{border-radius:9px;border:1px solid #987c79;background:white;min-width:43px;min-height:43px;color:#331e21;font-size:23px;font-weight:900;cursor:pointer}
.cart-remove{background:white;border:1px solid #b02340;color:#952039;padding:11px 14px;border-radius:9px;min-height:44px;font-size:13px;font-weight:900;cursor:pointer}
.cart-restore{margin-top:10px;color:white;border:1px solid #d5ad70;background:#39202a;border-radius:10px;padding:11px 15px;min-height:44px;cursor:pointer}
.cart-empty{padding:25px;background:#24161c;border:1px solid #d5ad70;border-radius:18px;text-align:center}
.cart-empty p{color:#eee0d2}
.cart-request-form{background:#25151c;border:1px solid #d5ad70;border-radius:18px;padding:19px;margin-top:21px}
.cart-request-form h2{font-size:23px;margin:0 0 7px}
.cart-request-form p{font-size:14px;color:#e6d8ce}
.cart-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:17px 0}
.cart-request-grid .cart-field{color:#f2d29c}
.cart-request-grid .cart-field.wide{grid-column:1/-1}
.cart-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:16px 0;line-height:1.6}
.cart-check input{width:20px;height:20px;flex:0 0 20px;accent-color:#cc2844;margin-top:2px}
.cart-submit{display:block;width:100%;min-height:54px;background:#c51935;color:white;border:1px solid #ff607b;border-radius:13px;font-size:16px;font-weight:900;cursor:pointer}
.cart-submit:disabled{opacity:.6;cursor:not-allowed}
.cart-status{border-radius:11px;background:#130e13;border:1px solid #d4a86d;padding:12px;margin-top:12px;color:#faeee4;font-size:13px;line-height:1.5}
.cart-status[hidden]{display:none}
.cart-backup{margin:13px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.cart-backup button,.cart-backup a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5ad70;border-radius:10px;background:#321b25;color:#fff4e6;min-height:44px;padding:9px 13px;font-size:13px;font-weight:850;text-decoration:none;cursor:pointer}
.cart-custom-form{background:#23151b;border:1px solid #d5ad70;border-radius:18px;padding:20px;margin:24px 0}
.cart-custom-form h2{font-size:24px}
.cart-custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.cart-custom-grid .cart-field{color:#f2d29c}
.cart-custom-grid .cart-field.wide{grid-column:1/-1}
.cart-custom-form .cart-add{border-radius:13px;cursor:pointer}
.cart-step{background:#26171d;border:1px solid #d5ad70;border-radius:12px;padding:12px;margin:12px 0;color:#f6dfbc}
.cart-theme-chosen{display:flex;align-items:center;gap:13px;padding:9px 12px;background:#1f1219;border:1px solid #d1ae7b;border-radius:11px;margin:10px 0}
.cart-theme-chosen img{width:70px;height:70px;object-fit:contain;background:#100e10;border-radius:8px}
.birthday-card[data-birthday-selected=true]{border:2px solid #f2d29c}
@media(max-width:620px){.cart-request-grid,.cart-custom-grid{grid-template-columns:1fr}.cart-request-grid .cart-field.wide,.cart-custom-grid .cart-field.wide{grid-column:auto}.cart-floating{right:10px;bottom:max(9px,env(safe-area-inset-bottom));font-size:13px;min-height:50px}.cart-select-row{grid-template-columns:minmax(0,1fr) 92px}.cart-request-form{padding:16px}}
@media(prefers-reduced-motion:reduce){.cart-floating,.cart-toast{transition:none}}
/* Explicit hidden states must win over button/card display rules. */
.cart-submit[hidden],.cart-request-form[hidden],.cart-empty[hidden],.cart-floating[hidden],#cartSuccess[hidden]{display:none!important}
