.speedE-smart-upsells { box-sizing: border-box; margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #d8e1e5; border-radius: 12px; background: #f7fafb; color: #182b35; font: inherit; clear: both; }
.speedE-smart-upsells h2 { margin: 0 0 1rem; color: inherit; font-size: 1.3em; line-height: 1.4; }
.speedE-smart-upsells h3 { margin: 0 0 .6rem; font-size: 1em; color: inherit; }
.speedE-smart-upsells p { margin: .5rem 0 1rem; }
.speedE-smart-upsells .speedE-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 1rem; }
.speedE-smart-upsells .speedE-card { display: flex; flex-direction: column; gap: .5rem; padding: 1rem; background: #fff; border: 1px solid #d8e1e5; border-radius: 8px; overflow-wrap: anywhere; }
.speedE-smart-upsells .speedE-link { display: inline-block; margin-top: auto; padding: .7rem 0; color: #07566e; text-decoration: underline; text-underline-offset: 3px; }
.speedE-smart-upsells .speedE-link:focus-visible { outline: 2px solid #07566e; outline-offset: 4px; }
.speedE-smart-upsells .speedE-progress { display: block; width: 100%; height: 12px; accent-color: #08788c; margin-bottom: .7rem; }
.speedE-smart-upsells small { font-size: .85em; }
@media (max-width: 480px) { .speedE-smart-upsells { padding: 1rem; } }
.speedE-smart-upsells.speedE-seasonal { background: #24192f; border-color: #4b3656; color: #fff3e3; }
.speedE-seasonal .speedE-seasonal-image { width: 100%; height: auto; max-height: 420px; object-fit: contain; border-radius: 10px; }
.speedE-seasonal .speedE-seasonal-link { display: inline-block; align-self: start; padding: .8rem 1.1rem; border: 1px solid #ffb15b; border-radius: 6px; background: #ffb15b; color: #251a21; font: inherit; font-weight: 700; line-height: 1.4; text-decoration: none; cursor: pointer; }
.speedE-seasonal .speedE-seasonal-link:focus-visible { outline: 3px solid #fff3e3; outline-offset: 4px; }
.speedE-seasonal.speedE-seasonal-banner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.speedE-seasonal .speedE-seasonal-header { display: block; width: 100%; height: auto; object-fit: contain; }
.speedE-seasonal.speedE-seasonal-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 1.5rem; }
.speedE-seasonal .speedE-card { background: #352442; border-color: #614771; color: inherit; }
.speedE-seasonal .speedE-card h3, .speedE-seasonal h3 { color: inherit; }
.speedE-seasonal.speedE-seasonal-gift { border-left: 5px solid #ffb15b; }
.speedE-seasonal.speedE-seasonal-gift a:not(.speedE-seasonal-link) { color: #ffcf92; }
.speedE-seasonal small { letter-spacing: .05em; }
@media (max-width: 640px) { .speedE-seasonal.speedE-seasonal-hero { grid-template-columns: 1fr; } .speedE-seasonal .speedE-seasonal-image { max-height: 300px; } }

/* Paid Cart Add-Ons only: SpeedE visual reference, native WooCommerce products. */
.speedE-smart-upsells.speedE-paid-cart{position:relative;overflow:hidden;background:#0e1016;color:#fff;border:1px solid #292e3c;border-radius:12px;padding:28px 24px 24px;font-family:Arial,Helvetica,sans-serif}
.speedE-paid-cart::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(to right,#ffc220 0%,#ffc220 34%,#ff8a1e 34%,#ff8a1e 67%,#21d4e4 67%)}
.speedE-smart-upsells.speedE-paid-cart h2{color:#fff;font-weight:900;letter-spacing:-.5px;font-size:clamp(22px,2.5vw,30px);line-height:1.2;margin-bottom:12px}
.speedE-paid-cart>p{color:#c9cdd6;font-size:15px;line-height:1.6;margin-bottom:22px}
.speedE-paid-cart .speedE-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px}
.speedE-paid-cart .speedE-card{background:#fff;color:#0e1016;border:1px solid #e3e6ec;border-radius:10px;padding:18px;gap:10px}
.speedE-paid-cart .speedE-card img{display:block;width:100%;max-width:180px;height:132px;object-fit:contain;align-self:center;margin:0 auto 6px;border-radius:6px;background:#f3f4f7}
.speedE-paid-cart .speedE-card h3{font-size:16px;line-height:1.4;font-weight:700;margin:0}
.speedE-paid-cart .speedE-card h3 a{color:#0e1016;text-decoration:none}
.speedE-paid-cart .speedE-card h3 a:hover{text-decoration:underline}
.speedE-paid-cart .speedE-card>div{font-size:18px;font-weight:700;color:#0e1016}
.speedE-paid-cart .speedE-card p,.speedE-paid-cart .speedE-card small{color:#525a68;font-size:13px;line-height:1.5}
.speedE-paid-cart .speedE-card .speedE-paid-add,.speedE-paid-cart .speedE-card .speedE-link{box-sizing:border-box;display:block;width:100%;margin-top:auto;padding:13px 12px;border:1px solid #ffc220;border-radius:7px;background:#ffc220;color:#0e1016;font:700 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.5px;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer}
.speedE-paid-cart .speedE-card .speedE-paid-add:hover,.speedE-paid-cart .speedE-card .speedE-link:hover{background:#ffcf50;border-color:#ffcf50;color:#0e1016}
.speedE-paid-cart button:focus-visible,.speedE-paid-cart a:focus-visible{outline:3px solid #21d4e4;outline-offset:3px}
.speedE-cart-promo-flash{box-sizing:border-box;margin:1rem 0 1.5rem;padding:24px;border:1px solid #292e3c;border-radius:12px;background:#0e1016;color:#fff;font-family:Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.speedE-cart-promo-flash:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(to right,#ffc220 0 34%,#ff8a1e 34% 67%,#21d4e4 67%)}.speedE-cart-promo-flash h2{margin:0 0 8px;color:#fff;font-size:clamp(21px,3vw,30px);line-height:1.2;font-weight:900}.speedE-cart-promo-flash p{margin:6px 0;color:#c9cdd6;line-height:1.5}.speedE-cart-promo-progress{height:14px;margin:18px 0 8px;border-radius:999px;background:#2a2f3a;overflow:hidden}.speedE-cart-promo-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffc220,#ff8a1e)}.speedE-cart-promo-amount{font-weight:700;color:#21d4e4!important}.speedE-cart-promo-flash[aria-label]{clear:both}
@media(max-width:620px){.speedE-smart-upsells.speedE-paid-cart{padding:25px 16px 16px}.speedE-paid-cart .speedE-grid{grid-template-columns:1fr}.speedE-paid-cart .speedE-card img{height:120px}}
