/* One square photo and a natural-height buying area, on desktop and mobile. */
body.castle-layout .products{align-items:start;row-gap:30px}
body.castle-layout .product-card{position:relative;display:block;align-self:start;overflow:visible;padding:0 9px 12px;border:1px solid #dab386;border-radius:3px 3px 13px 13px;background:#fff0d7;color:#402237;box-shadow:0 6px 0 #30162644,0 12px 23px #180a242b}
body.castle-layout .castle-crown{position:relative;height:48px;display:flex;align-items:center;gap:7px;margin:0 -9px;padding:0 48px 0 12px;border-bottom:1px solid #e2bd95;background:linear-gradient(90deg,#f5dbb5,#fff0d7 55%,#f3d5a9)}
.castle-roof{position:absolute;left:-1px;right:-1px;bottom:100%;height:14px;display:flex;justify-content:space-between;pointer-events:none}
.castle-roof i{width:17%;height:14px;background:#f5ddb8;border:1px solid #dab386;border-bottom:0;border-radius:2px 2px 0 0;box-shadow:inset 0 3px #fff2d9}
.castle-roof i:first-child,.castle-roof i:last-child{height:19px;align-self:end;width:19%;background:#efc994}
.castle-window{font-size:18px;color:#bc6933;filter:drop-shadow(0 0 4px #ffae56);flex-shrink:0}
body.castle-layout .castle-crown .badge{position:static;transform:none;box-shadow:none;border:0;background:transparent;color:#80513e;font-size:8px;line-height:1.3;letter-spacing:.55px;padding:0;max-width:none;white-space:normal}
body.castle-layout .castle-crown .favorite{position:absolute;right:2px;top:2px;width:44px;height:44px;background:transparent;border:0;border-radius:8px;display:grid;place-items:center}
body.castle-layout .castle-crown .favorite svg{width:18px;height:18px}
body.castle-layout .castle-crown .favorite:hover,body.castle-layout .castle-crown .favorite[aria-pressed=true]{background:#edc69d}
body.castle-layout .product-picture{width:100%;height:auto;aspect-ratio:1;margin-top:9px;border:0;border-radius:0;background:white;overflow:hidden}
body.castle-layout .product-picture>a{display:block;position:static;width:100%;height:100%;border-radius:0;overflow:hidden;background:white}
body.castle-layout .product-picture img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain;object-position:center;padding:0;border-radius:0;mix-blend-mode:normal;transform:none}
body.castle-layout .product-card:hover .product-picture img{transform:none}
body.castle-layout .product-copy{display:block;flex:none;padding:12px 2px 0}
body.castle-layout .product-copy small{display:block;font-size:10px;line-height:1.3;letter-spacing:.6px;color:#986152}
body.castle-layout .product-copy h3{height:auto;min-height:0;max-height:none;font-size:15px;line-height:1.4;margin:5px 0 9px;overflow:visible;overflow-wrap:anywhere;-webkit-line-clamp:unset}
body.castle-layout .price-row{display:flex;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:3px 7px;margin:0;font-size:21px;line-height:1.25;color:#65372d}
body.castle-layout .price-row span{font-size:9px;color:#87675e}
body.castle-layout .add{width:100%;margin:10px 0 0;min-height:48px;font-size:13px;line-height:1.25;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:10px;background:linear-gradient(#ffbc70,#ffa14c);border:1px solid #d48b4c;border-bottom:3px solid #b36536;color:#422431;border-radius:8px}
body.castle-layout .add:hover{background:#ffca86;box-shadow:0 3px 12px #d4783933}
body.castle-layout .add:active{transform:translateY(2px)}
body.castle-layout .add:disabled{opacity:.6;cursor:not-allowed}
body.castle-layout .product-card :focus-visible{outline:3px solid #91498a;outline-offset:2px}
body.castle-layout .products{margin-top:36px}
body.castle-layout .detail-image,body.castle-layout .detail-image img{border-radius:0;object-fit:contain}
@media(max-width:760px){body.castle-layout .products{gap:30px 12px}body.castle-layout .product-card{padding:0 7px 9px}body.castle-layout .castle-crown{height:44px;margin:0 -7px;padding-left:8px;gap:4px}body.castle-layout .castle-crown .favorite{top:0;right:0}body.castle-layout .castle-crown .badge{font-size:6px;letter-spacing:.3px}body.castle-layout .castle-window{font-size:15px}body.castle-layout .product-picture{margin-top:7px}body.castle-layout .product-copy{padding:9px 2px 0}body.castle-layout .product-copy small{font-size:8px}body.castle-layout .product-copy h3{font-size:13px;line-height:1.4;margin:4px 0 8px;min-height:0}body.castle-layout .price-row{font-size:19px;gap:2px 5px}body.castle-layout .price-row span{font-size:8px}body.castle-layout .add{font-size:12px;padding:9px 7px;min-height:48px;margin-top:9px}}
@media(max-width:350px){body.castle-layout .product-copy h3{font-size:12px}body.castle-layout .add{font-size:11px}body.castle-layout .castle-window{display:none}}

/* The castle is a Halloween illustration, separate from the untouched square photograph. */
body.castle-layout .product-card{border:0;padding:0 10px 12px;border-radius:0 0 13px 13px;background:linear-gradient(to bottom,transparent 0 74px,#332039 74px);box-shadow:none;color:#ffe9cd;filter:drop-shadow(0 7px 7px #170d2433);transition:transform .2s,filter .2s}
body.castle-layout .product-card:after{content:'';position:absolute;inset:112px 0 0;border:1px solid #b682645c;border-top:0;border-radius:0 0 13px 13px;pointer-events:none}
body.castle-layout .product-card:hover{box-shadow:none;transform:translateY(-3px);filter:drop-shadow(0 7px 12px #ff9b3320)}
body.castle-layout .castle-crown{height:144px;margin:0 -10px;padding:114px 47px 0 12px;gap:0;border:0;background:transparent;align-items:center}
.haunted-castle-art{position:absolute;left:0;bottom:29px;display:block;width:100%;height:auto;max-height:116px;pointer-events:none;overflow:visible}
body.castle-layout .castle-crown .badge{font-size:8px;letter-spacing:1px;line-height:1.4;color:#e5b892;font-weight:600}
body.castle-layout .castle-crown .favorite{top:auto;bottom:-6px;right:1px;color:#ebc398;border-radius:50%;background:transparent;z-index:2}
body.castle-layout .castle-crown .favorite:hover,body.castle-layout .castle-crown .favorite[aria-pressed=true]{color:#ffd698;background:#684254}
body.castle-layout .castle-crown .favorite[aria-pressed=true] svg{fill:#ffb16a;stroke:#ffb16a}
body.castle-layout .product-picture{margin-top:7px;box-shadow:0 0 0 2px #b7815d,0 0 0 4px #211729;border:0;background:white}
body.castle-layout .product-copy{padding:13px 2px 0;background:transparent}
body.castle-layout .product-copy small{color:#d8a58d;font-size:9px;letter-spacing:1px}
body.castle-layout .product-copy h3,body.castle-layout .product-copy h3 a{color:#fff0d9}
body.castle-layout .price-row{color:#ffcf94}
body.castle-layout .price-row span{color:#d0adaf}
body.castle-layout .add{position:relative;border:1px solid #ffcc8e;border-bottom:3px solid #a95631;color:#45212d;background:linear-gradient(110deg,#ffc882,#ffa956 66%,#f69743);box-shadow:inset 0 1px #ffe2b7,0 2px 9px #ffa44317;border-radius:7px}
body.castle-layout .add:hover{background:linear-gradient(110deg,#ffdcaa,#ffba6b);box-shadow:0 0 14px #ffaa473b}
body.castle-layout .halloween-bag-icon{width:23px;height:23px;display:block;flex-shrink:0}
body.castle-layout .halloween-bag-icon svg{width:100%;height:100%}
body.castle-layout .product-card :focus-visible{outline-color:#ffcd80}
body.castle-layout .products{margin-top:22px;row-gap:19px}
.castle-lit-window{animation:castleCandle 4.8s ease-in-out infinite alternate}
.castle-lit-window:nth-child(even){animation-delay:-2s}
@keyframes castleCandle{from{opacity:.7}to{opacity:1}}
@media(max-width:760px){body.castle-layout .products{gap:16px 12px}body.castle-layout .product-card{padding:0 8px 10px;background:linear-gradient(to bottom,transparent 0 40px,#332039 40px)}body.castle-layout .product-card:after{top:75px}body.castle-layout .castle-crown{height:90px;margin:0 -8px;padding:60px 40px 0 9px}.haunted-castle-art{bottom:28px;max-height:74px}body.castle-layout .castle-crown .badge{font-size:6px;letter-spacing:.55px}body.castle-layout .castle-crown .favorite{top:auto;bottom:-6px;right:-2px}body.castle-layout .castle-crown .favorite svg{width:16px;height:16px}body.castle-layout .product-copy{padding-top:11px}body.castle-layout .product-copy small{font-size:8px;letter-spacing:.6px}body.castle-layout .halloween-bag-icon{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){.castle-lit-window{animation:none}}

/* Final painted facade and a shared buying baseline for every row. */
body.castle-layout .products{align-items:stretch;gap:24px}
body.castle-layout .product-card{display:flex;flex-direction:column;align-self:stretch;background:#302033;padding:0 10px 12px;border:1px solid #ba855e66;border-radius:14px;overflow:hidden;filter:none;box-shadow:0 5px 20px #1a0e252e}
body.castle-layout .product-card:after{display:none}
body.castle-layout .product-card:hover{filter:none;box-shadow:0 6px 25px #ffac3526;border-color:#dfa66d}
body.castle-layout .castle-crown{height:auto;min-height:0;aspect-ratio:1.5;margin:0 -10px;padding:0;display:block;overflow:hidden;background:#291929;flex-shrink:0}
.castle-facade{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
body.castle-layout .castle-crown .badge{position:absolute;bottom:5px;left:9px;right:36px;font-size:7px;line-height:1.3;color:#f3c999;letter-spacing:.65px;padding:0;text-shadow:0 1px 4px #190d19}
body.castle-layout .castle-crown .favorite{bottom:-7px;right:-2px;color:#f9d29c;background:transparent}
.castle-candle-halo{position:absolute;left:9%;top:39%;width:11%;height:20%;border-radius:50%;background:radial-gradient(ellipse,#ffc27529,transparent 70%);pointer-events:none;animation:castleCandle 4.8s ease-in-out infinite alternate}
body.castle-layout .product-picture{flex-shrink:0;margin-top:5px}
body.castle-layout .product-copy{flex:1;display:flex;flex-direction:column;padding-top:12px;min-width:0}
body.castle-layout .product-copy h3{min-height:2.8em;height:2.8em;line-height:1.4;margin:5px 0 9px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;flex-shrink:0}
body.castle-layout .price-row{margin-top:auto;min-height:27px;align-items:baseline;justify-content:flex-start;flex-wrap:nowrap}
body.castle-layout .price-row b{white-space:nowrap}
body.castle-layout .price-row span{margin-left:auto;line-height:1.2;text-align:right}
body.castle-layout .add{flex-shrink:0}
@media(max-width:760px){body.castle-layout .products{gap:18px 12px}body.castle-layout .product-card{padding:0 8px 10px;background:#302033;border-radius:10px}body.castle-layout .castle-crown{height:auto;aspect-ratio:1.5;margin:0 -8px;padding:0}body.castle-layout .castle-crown .badge{font-size:5.5px;left:6px;right:34px;bottom:6px;letter-spacing:.3px}body.castle-layout .product-copy h3{min-height:2.8em;height:2.8em;margin:4px 0 8px}body.castle-layout .price-row{font-size:18px;min-height:25px;gap:3px}body.castle-layout .price-row span{font-size:7px;max-width:40px}}
@media(prefers-reduced-motion:reduce){.castle-candle-halo{animation:none}}
body.castle-layout .product-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:13px;height:13px;line-height:13px;flex-shrink:0}
body.castle-layout .add{height:48px;min-height:48px;line-height:1.2}
@media(max-width:350px){body.castle-layout .halloween-bag-icon{width:17px;height:17px}body.castle-layout .price-row{font-size:16px}body.castle-layout .price-row span{font-size:6px;max-width:30px}}
body.castle-layout .castle-crown .badge{top:auto}
@supports(grid-template-rows:subgrid){
 body.castle-layout .products>.product-card{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
 body.castle-layout .products>.product-card>.product-copy{display:contents}
 body.castle-layout .products>.product-card .product-copy small{height:13px;min-height:13px;margin:12px 2px 0}
 body.castle-layout .products>.product-card .product-copy h3{height:auto;min-height:0;margin:5px 2px 9px}
 body.castle-layout .products>.product-card .price-row{margin:0 2px;min-height:27px}
 body.castle-layout .products>.product-card .add{width:calc(100% - 4px);margin:10px 2px 0}
}
