.picture-3x2-offer { display:flex; gap:8px 14px; flex-wrap:wrap; align-items:center; padding:12px 14px; margin:18px 0; border-radius:8px; background:#f8f2e7; color:#24211d; font-size:14px; line-height:1.5; }
.picture-3x2-offer strong { color:#d91621; white-space:nowrap; }
.picture-3x2-modal { box-sizing:border-box; width:min(660px,calc(100% - 40px)); max-width:660px; max-height:90dvh; margin:auto; padding:32px; border:0; border-radius:16px; background:#fff; color:#201f1c; font-family:inherit; box-shadow:0 24px 80px #0003; overflow:auto; }
.picture-3x2-modal:not([open]) { display:none; }
.picture-3x2-modal[open] { animation:picture-promo-enter .25s ease-out; }
.picture-3x2-modal::backdrop { background:rgb(0 0 0 / .48); }
html.picture-3x2-open { overflow:hidden; }
.picture-3x2-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:40px; height:40px; min-width:0; min-height:0; padding:0; border:0; border-radius:50%; background:#f4f3f0; color:#282521; font-family:inherit; font-size:28px; font-weight:400; line-height:1; cursor:pointer; }
.picture-3x2-eyebrow { margin:0 40px 9px 0; color:#d91621; font-size:11px; letter-spacing:.12em; font-weight:700; }
.picture-3x2-modal h2 { margin:0; padding:0; color:inherit; font-size:27px; font-weight:600; line-height:1.2; }
.picture-3x2-message { margin:12px 0 22px; font-size:16px; line-height:1.5; }
.picture-3x2-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.picture-3x2-slot { min-width:0; }
.picture-3x2-slot-image { display:grid; place-items:center; width:100%; aspect-ratio:1; overflow:hidden; border-radius:8px; background:#f5f5f3; }
.picture-3x2-slot-image > img { width:100%; height:100%; object-fit:contain; }
.picture-3x2-slot.is-empty .picture-3x2-slot-image { background:#fcfbf8; border:1px dashed #c9c3b9; box-sizing:border-box; }
.picture-3x2-slot.is-gift.is-empty .picture-3x2-slot-image { background:#fff6f1; border-color:#d91621; }
.picture-3x2-plus { color:#aaa197; font-size:36px; font-weight:300; line-height:1; }
.picture-3x2-slot-name { display:block; margin:9px 0 5px; font-size:13px; line-height:1.35; overflow-wrap:anywhere; }
.picture-3x2-slot-label { display:block; font-size:11px; color:#77716a; line-height:1.4; }
.picture-3x2-slot.is-gift .picture-3x2-slot-label { color:#d91621; font-weight:700; }
.picture-3x2-savings { background:#f8f2e7; padding:10px 12px; margin:20px 0 0; font-size:13px; border-radius:6px; }
.picture-3x2-actions { display:flex; gap:12px; margin:24px 0 0; }
.picture-3x2-actions a { flex:1; display:flex; justify-content:center; align-items:center; padding:14px 12px; min-height:48px; box-sizing:border-box; text-align:center; text-decoration:none; border-radius:7px; font-size:14px; font-weight:600; line-height:1.3; }
.picture-3x2-primary { color:#fff !important; background:#d91621; border:1px solid #d91621; }
.picture-3x2-secondary { color:#282521 !important; background:#fff; border:1px solid #ccc7bf; }
.picture-3x2-actions a:focus-visible,.picture-3x2-close:focus-visible { outline:2px solid #24211d; outline-offset:3px; }
.picture-3x2-terms { margin:15px 0 0; font-size:11px; line-height:1.5; color:#77716a; text-align:center; }
@keyframes picture-promo-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:640px) {
  html.picture-3x2-open { scrollbar-gutter:auto; }
  .picture-3x2-modal { position:fixed; inset:auto 0 0; width:100vw; max-width:100vw; margin:0; padding:28px 20px max(24px,env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; max-height:92dvh; }
  .picture-3x2-modal[open] { animation:picture-promo-sheet .28s ease-out; }
  .picture-3x2-modal h2 { font-size:24px; }
  .picture-3x2-message { font-size:15px; margin:12px 0 20px; }
  .picture-3x2-slots { gap:9px; }
  .picture-3x2-slot-name { font-size:12px; }
  .picture-3x2-actions { gap:9px; }
  .picture-3x2-actions a { font-size:13px; }
}
@keyframes picture-promo-sheet { from { transform:translateY(100%); } to { transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .picture-3x2-modal[open] { animation:none; } }
