@font-face{font-family:"Averia Serif Libre";src:url("assets/fonts/averia-italic.woff2") format("woff2"),url("assets/fonts/averia-italic.ttf") format("truetype");font-style:italic;font-weight:400;font-display:swap}
/* A pocket-sized club card beneath the purchase controls. */
.newsletter.gift-card{touch-action:pan-y;width:min(360px,calc(100vw - 40px));container-type:inline-size;--card-rest-angle:-7deg;max-width:calc(100% - 40px);margin:22px auto 0;position:relative;z-index:3;text-align:left;color:#42383d;contain:layout style}
.gift-card__tilt{position:relative;rotate:var(--card-rest-angle);perspective:900px;transform:perspective(900px) rotateX(0deg) rotateY(0deg);will-change:transform;transition:transform .72s cubic-bezier(.16,1,.3,1)}
.gift-card__turn{--card-depth:4px;position:relative;aspect-ratio:85.6/53.98;transform-style:preserve-3d;background:#e5ebed;border-radius:8px;box-shadow:0 8px 18px rgba(15,55,74,.09),0 3px 7px rgba(15,55,74,.06);transition:box-shadow .24s ease}
.gift-card:hover .gift-card__turn,.gift-card:focus-visible .gift-card__turn{box-shadow:0 11px 24px rgba(15,55,74,.12),0 4px 9px rgba(15,55,74,.07)}
.gift-card.is-grabbing .gift-card__turn{transition-duration:.16s}
/* A subtle laminated core joins the printed faces without changing their artwork. */
.gift-card__edge{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.gift-card__edge span{position:absolute;inset:0;border-radius:8px;background:linear-gradient(120deg,#f7f9f5,#c5d0cb);transform:translateZ(calc(var(--card-depth) * var(--layer) / 8));pointer-events:none}
.gift-card__face{position:absolute;inset:0;border:0;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 2px 5px rgba(0,0,0,.04);overflow:visible;isolation:isolate}
.gift-card__front{transform:translateZ(calc(var(--card-depth) / 2));background:#74c8be url("assets/newsletter/club-background.svg?v=niceboys-face-2") center/100% 100% no-repeat;padding:0}
/* Light, etched lines, dots and holographic mark adapted from the supplied
   tarjeta-socio-interactiva.html. Variables stay on this small effects layer. */
.gift-card__effects{--shine-x:50%;--shine-y:50%;--edge-left:0;--edge-right:0;--edge-top:0;--edge-bottom:0;--texture-shine:0;--dot-shine:0;--dot-grid-x:17px;--dot-grid-y:17px;--dot-offset-x:0px;--dot-offset-y:0px;position:absolute;inset:0;overflow:hidden;border-radius:inherit;z-index:2;pointer-events:none;contain:layout paint style}
.gift-card__effects:after{content:"";position:absolute;inset:0;opacity:.26;background:radial-gradient(ellipse 58% 72% at var(--shine-x) var(--shine-y),#ffffff57,#ffffff1f 34%,transparent 68%),linear-gradient(90deg,transparent,#ffffff14,transparent);mix-blend-mode:soft-light;pointer-events:none}
.gift-card__etch,.gift-card__glow,.gift-card__holo{position:absolute;inset:0;pointer-events:none}
.gift-card__etch{background:linear-gradient(115deg,transparent 0%,#ffffff66 42%,transparent 78%),repeating-linear-gradient(135deg,rgba(255,255,255,calc(.3 + var(--texture-shine)*.3)) 0 1px,transparent 1px 14px),repeating-linear-gradient(18deg,transparent 0 18px,rgba(255,255,255,calc(.1 + var(--texture-shine)*.2)) 18px 19px,transparent 19px 34px);mix-blend-mode:overlay;mask-image:radial-gradient(circle 83.33cqw at var(--shine-x) var(--shine-y),rgba(0,0,0,calc(.2 + var(--texture-shine)*.8)) 10%,#00000026 80%);-webkit-mask-image:radial-gradient(circle 83.33cqw at var(--shine-x) var(--shine-y),rgba(0,0,0,calc(.2 + var(--texture-shine)*.8)) 10%,#00000026 80%)}
.gift-card__glow{background:linear-gradient(90deg,rgba(255,255,255,calc(var(--edge-left)*.32)),transparent 22%),linear-gradient(270deg,rgba(255,255,255,calc(var(--edge-right)*.32)),transparent 22%),linear-gradient(180deg,rgba(255,255,255,calc(var(--edge-top)*.22)),transparent 18%),linear-gradient(0deg,rgba(255,255,255,calc(var(--edge-bottom)*.22)),transparent 18%),radial-gradient(ellipse 72% 92% at var(--shine-x) var(--shine-y),#ffffff29,#ffffff0f 42%,transparent 78%);mix-blend-mode:soft-light}
.gift-card__glow:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#ffffffd9 0 .95px,transparent 1.35px),radial-gradient(circle,#ffffff8c 0 .7px,transparent 1.05px);background-position:0 0,10px 8px;background-size:17px 17px,28px 28px;mix-blend-mode:overlay;mask-image:radial-gradient(circle 83.33cqw at var(--shine-x) var(--shine-y),rgba(0,0,0,calc(.2 + var(--dot-shine)*.8)) 10%,#0000001a 80%);-webkit-mask-image:radial-gradient(circle 83.33cqw at var(--shine-x) var(--shine-y),rgba(0,0,0,calc(.2 + var(--dot-shine)*.8)) 10%,#0000001a 80%)}
.gift-card__holo{background:url("assets/newsletter/club-hologram.svg?v=niceboys-face-2") center/100% 100% no-repeat;opacity:calc(var(--texture-shine)*.8);transition:opacity .18s ease;mask-image:radial-gradient(ellipse 90% 100% at var(--shine-x) var(--shine-y),#000 15%,#00000088 60%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 100% at var(--shine-x) var(--shine-y),#000 15%,#00000088 60%,transparent 100%)}
.gift-card.is-grabbing .gift-card__tilt{transition-duration:.13s;transition-timing-function:cubic-bezier(.22,.9,.25,1)}
.gift-card__top{cursor:grab;touch-action:none;user-select:none}
.gift-card.is-grabbing,.gift-card.is-grabbing .gift-card__top{cursor:grabbing}
.gift-card img{pointer-events:none;-webkit-user-drag:none}
.gift-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.gift-card__top img{display:block;width:32.31cqw;height:auto;opacity:.93}
.gift-card__top span{font-size:2.72cqw;letter-spacing:.58cqw;color:#66505e}
.gift-card h2{font-size:7.48cqw;letter-spacing:-.17cqw;line-height:1.2;margin:4.76cqw 0 0;color:#463544}
.gift-card__intro{font-size:3.74cqw;margin:1.36cqw 0 0;color:#69505e}
.newsletter__form{position:absolute;z-index:3;top:55.51%;left:5.475%;right:5.475%;width:auto;margin:0}
.newsletter__row{display:flex;align-items:center;border-bottom:1px solid #27272755}
.newsletter__row:focus-within{border-bottom-color:#272727}
.newsletter__field{flex:1;min-width:0}
.newsletter__field input{display:block;width:100%;height:10.2cqw;padding:1.36cqw 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:4.08cqw;font-style:italic;outline:none}
.newsletter__field input::placeholder{color:#272727;opacity:1}
.newsletter__submit{display:grid;place-items:center;flex-shrink:0;width:11.56cqw;height:11.56cqw;padding:2.72cqw;color:#272727;border-radius:50%}
.newsletter__submit svg{width:6.12cqw;height:6.12cqw;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.newsletter__submit:hover{background:#fff4ec66}
.newsletter__submit:disabled{opacity:.4;cursor:wait}
.gift-card__bottom{display:flex;justify-content:space-between;position:absolute;left:6.46cqw;right:6.46cqw;bottom:5.1cqw;font-size:2.38cqw;letter-spacing:.44cqw;color:#705464}
/* Consent replaces the email field after the first arrow click. */
.newsletter__extras{flex:1;min-width:0;padding:3px 0;color:var(--ink)}
.newsletter__extras[hidden],.newsletter__field[hidden]{display:none}
.newsletter__consent{display:flex;align-items:start;gap:7px;font-size:clamp(10px,2.95cqw,12px);line-height:1.25;color:var(--ink);cursor:pointer}
.newsletter__consent input{flex-shrink:0;width:12px;height:12px;margin:1px 0 0;accent-color:var(--ink)}
.newsletter__consent input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.newsletter__consent-actions{display:flex;align-items:center;gap:5px;margin-left:19px}
.newsletter__privacy{padding:3px 0;font-size:clamp(9px,2.5cqw,10px);color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.newsletter__edit{display:grid;place-items:center;width:22px;height:22px;padding:3px;border-radius:50%}
.newsletter__edit:hover{background:#fff4ec66}
.newsletter__edit svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
/* Feedback must not move the bottom-anchored card before its kickflip. */
.newsletter__status{position:absolute;top:100%;left:0;right:0;font-size:11px;line-height:1.4;margin:12px -10px 0;text-align:center;color:#796e64}
.newsletter__status:empty,.gift-card.is-complete .newsletter__status{display:none}
.gift-card__thanks[hidden],.gift-card__signup[hidden]{display:none}
.gift-card__thanks{position:absolute;inset:0;z-index:0}
.gift-card__confirmation-artwork{position:absolute;inset:0;width:100%;height:100%;border-radius:8px;pointer-events:none}
.gift-card__thanks .gift-card__smile{display:block;width:11.56cqw;height:11.56cqw;margin:4.42cqw auto 0;fill:none;stroke:#638a78;stroke-width:2;stroke-linecap:round}
.gift-card__thanks h2{font-size:6.8cqw;margin:2.38cqw 0 0;outline:none}
.gift-card__thanks p{font-size:3.4cqw;margin:1.7cqw 0 0;color:#7b6069}
.gift-card__back{transform:rotateX(180deg) translateZ(calc(var(--card-depth) / 2));background:#74c8be url("assets/newsletter/club-background.svg?v=niceboys-face-2") center/100% 100% no-repeat}
.gift-card.is-flipping .gift-card__tilt{will-change:transform}
.newsletter-privacy-dialog h2{font-size:25px}
.newsletter-privacy-dialog a{text-decoration:underline;text-underline-offset:3px}
.newsletter__trap{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
@media(min-width:720px){body:has(.gift-card) .shop{padding-bottom:18px}.newsletter.gift-card{margin-left:auto;margin-right:4%}.newsletter.gift-card{--card-rest-angle:-12deg}}

@media(max-width:719px){
  .newsletter.gift-card{margin-top:27px;margin-bottom:12px;width:min(340px,calc(100vw - 40px))}
  .newsletter__field input{font-size:16px;transform:scale(.86);transform-origin:left center;width:116.28%;letter-spacing:0}
  body:has(.gift-card) .stage{--stage-height:clamp(310px,calc(100svh - 385px),555px)}
}
@media(prefers-reduced-motion:reduce){.gift-card__tilt{transform:none!important}.newsletter__extras,.gift-card__holo,.gift-card__etch{transition:none}}

@media(min-width:720px) and (max-height:780px){
  body:has(.gift-card) .stage{--stage-height:clamp(84px,calc(100svh - 580px),300px)}
  body:has(.gift-card) .header{height:70px}
  body:has(.gift-card) .product-details{margin-top:8px}
  body:has(.gift-card) .pagination{margin-bottom:8px}
  body:has(.gift-card) .product-heading h2{font-size:18px}
  body:has(.gift-card) .product-options{margin-top:5px}
  body:has(.gift-card) .size-options button{height:36px}
  .newsletter.gift-card{width:min(320px,calc(100vw - 40px));margin-top:14px}
}

.gift-card__welcome .gift-card__emoticon{font-family:'Averia Serif Libre',Georgia,serif;font-weight:400;font-size:.9em;letter-spacing:0}

.gift-card__turn{cursor:grab}.gift-card__face{user-select:none}.newsletter__field input{user-select:text;cursor:text}

/* The uploaded 360 × 227 artwork keeps its original layout and vector type. */
.gift-card__signup{position:absolute;inset:0}
.gift-card__artwork,.gift-card__copy{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gift-card__artwork{z-index:0}
.gift-card__copy{z-index:1;overflow:visible}
.gift-card__copy text{font-family:"Averia Serif Libre",Georgia,serif;font-weight:400;font-size:15px;font-style:italic;fill:#272727}
.gift-card__signup .gift-card__drag{position:absolute;inset:0 0 auto;height:48%;z-index:3;touch-action:none}

/* Anchor the club card to the hero, keeping the central purchase controls clear. */
@media(min-width:1024px){
  .newsletter.gift-card{position:absolute;right:clamp(28px,2vw,40px);bottom:14px;margin:0}
}
@media(min-width:1024px) and (max-height:780px){
  body:has(.gift-card) .stage{--stage-height:clamp(200px,calc(100svh - 360px),480px)}
}

/* The card floats above the footer rule; the shirt canvas stays clipped in the shop. */
@media(min-width:720px){body:has(.gift-card) main{z-index:2}}
@media(max-width:719px){
  body:has(.gift-card) .shop{padding-bottom:0}
  body:has(.gift-card) main{padding-bottom:15px}
}

/* The card approaches the camera while its shadow stays on the page. */
.gift-card:before{content:"";position:absolute;inset:0;border-radius:8px;rotate:var(--card-rest-angle);pointer-events:none;background:radial-gradient(ellipse,rgba(39,39,39,.16),transparent 72%);box-shadow:0 8px 22px rgba(39,39,39,.07);opacity:0}
.gift-card.is-flipping:before{animation:gift-card-kickflip-shadow 1600ms linear both}
.gift-card.is-flipping .gift-card__turn{box-shadow:none}
.gift-card.is-flipping .newsletter__status{display:none}
/* Allow the card over the footer, while containing temporary projected overflow. */
main:has(.gift-card.is-flipping){overflow:clip;overflow-clip-margin:52px}
@media(max-width:719px){main:has(.gift-card.is-flipping){overflow-clip-margin:47px}}
@keyframes gift-card-kickflip-shadow{
  0%{opacity:.5;transform:scale(.98)}
  38.75%{opacity:.18;transform:scale(.93);box-shadow:0 15px 32px rgba(39,39,39,.05)}
  77.5%{opacity:.65;transform:scale(.98)}
  88%{opacity:.4;transform:scale(.97)}
  100%{opacity:0;transform:scale(.98)}
}
@media(prefers-reduced-motion:reduce){.gift-card.is-flipping:before{animation:none}}
