/* Skin City Tattoo V41 / Exclusive Offers — deliberately scoped, no framework. */
:root{--sct-gold:#d6c4a8;--sct-cream:#eeeae4;--sct-muted:#a7a094;--sct-edge:rgba(214,196,168,.26)}
.sct-offer-teaser,.sct-offer-overlay{font:14px/1.6 Arial,Helvetica,sans-serif;color:var(--sct-cream);box-sizing:border-box}
.sct-offer-teaser *,.sct-offer-overlay *{box-sizing:border-box}
.sct-offer-teaser button,.sct-offer-overlay button,.sct-offer-overlay input{font:inherit}
.sct-offer-teaser[hidden],.sct-offer-overlay[hidden]{display:none!important}
.sct-offer-teaser{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:290;width:min(600px,calc(100vw - 40px));padding:0;background:#151410;border:1px solid rgba(214,196,168,.45);box-shadow:0 26px 80px #000a;isolation:isolate;animation:sct-center-in .55s cubic-bezier(.2,.75,.2,1) both}
.sct-offer-teaser::before{content:"";pointer-events:none;position:absolute;inset:5px;border:1px solid rgba(214,196,168,.07)}
.sct-teaser-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(214,196,168,.18);padding:11px 16px 9px 22px}
.sct-eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--sct-gold);font-weight:600}
.sct-teaser-close,.sct-close{appearance:none;border:0;background:transparent;color:var(--sct-muted);width:36px;height:36px;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}
.sct-teaser-close:hover,.sct-close:hover{color:white}
.sct-teaser-inner{padding:35px 39px 37px}
.sct-teaser-line{font:400 clamp(33px,3.2vw,46px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.02em;margin:0 0 12px;color:#f2eae0}
.sct-teaser-line em{font-style:normal;color:var(--sct-gold)}
.sct-teaser-description{color:#b2aba0;font-size:12px;line-height:1.7;margin:0 0 21px}
.sct-teaser-action{width:100%;min-height:49px;background:var(--sct-gold);color:#15120f;border:1px solid var(--sct-gold);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:space-between;padding:0 16px;cursor:pointer;transition:background .2s,color .2s}
.sct-teaser-action:hover{background:#f0dfc8}
.sct-teaser-note{font-size:10px;letter-spacing:.09em;color:#868178;margin-top:10px;text-align:center}
.sct-offer-overlay{position:fixed;z-index:5000;inset:0;overflow-y:auto;background:rgba(5,5,5,.82);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);display:flex;justify-content:center;align-items:flex-start;padding:clamp(17px,4vw,65px) 16px;animation:sct-fade .25s ease both}
.sct-modal{position:relative;width:min(980px,100%);max-height:none;background:linear-gradient(125deg,#211e19 0%,#151412 55%,#121212 100%);border:1px solid rgba(214,196,168,.39);box-shadow:0 32px 110px #000b;overflow:hidden}
.sct-modal:before{content:"";position:absolute;left:-180px;top:-250px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(185,143,86,.12),transparent 64%);pointer-events:none}
.sct-modal-top{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(21px,4.6vw,46px) 17px;border-bottom:1px solid rgba(214,196,168,.16)}
.sct-wordmark{font-weight:700;letter-spacing:.23em;font-size:12px;color:#f0e9df}.sct-wordmark small{display:block;font-size:8px;letter-spacing:.24em;color:#a99e8f;font-weight:400;margin-top:4px}
.sct-modal-body{padding:26px clamp(21px,4.6vw,46px) 36px}
.sct-steps{display:flex;gap:21px;align-items:center;margin-bottom:22px;color:#77716b;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.sct-steps strong{color:var(--sct-gold);font-weight:600}.sct-steps i{width:25px;height:1px;background:#5b5145}
.sct-title{font:400 clamp(36px,5vw,62px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.035em;color:#f3eee8;margin:0 0 13px}.sct-title em{font-style:normal;color:var(--sct-gold)}
.sct-intro{color:#aca79d;max-width:560px;font-size:13px;line-height:1.75;margin:0 0 27px}
.sct-artist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sct-artist{position:relative;padding:0;text-align:left;color:var(--sct-cream);background:#1a1917;border:1px solid rgba(214,196,168,.20);cursor:pointer;transition:border .22s,transform .22s,background .22s;min-width:0;overflow:hidden}
.sct-artist:hover,.sct-artist:focus-visible{border-color:var(--sct-gold);transform:translateY(-2px);outline:none}
.sct-artist[aria-pressed=true]{border-color:var(--sct-gold);background:#2a251d;box-shadow:inset 0 0 0 1px rgba(214,196,168,.35)}
.sct-artist-img{height:140px;background:#2a2926;overflow:hidden;position:relative}.sct-artist-img::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0008)}.sct-artist-img img{height:100%;width:100%;display:block;object-fit:cover;filter:saturate(.68)}
.sct-artist-discount{position:absolute;right:10px;top:10px;background:rgba(18,17,15,.94);color:var(--sct-gold);font:400 23px/1 Georgia,serif;padding:8px 9px;border:1px solid #75654c}
.sct-artist-info{padding:14px 14px 17px}.sct-artist-name{font:400 21px/1.15 Georgia,serif;color:#eeeae4;display:block}.sct-artist-date{display:block;margin-top:8px;font-size:10px;letter-spacing:.025em;color:#b6a99a}.sct-artist-pick{font-size:9px;color:#d6c4a8;text-transform:uppercase;letter-spacing:.11em;display:block;margin-top:11px}
.sct-bottom{border-top:1px solid rgba(214,196,168,.16);margin-top:24px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.sct-footnote{max-width:570px;font-size:11px;color:#a7a098;line-height:1.65;margin:0}.sct-button{border:1px solid var(--sct-gold);background:var(--sct-gold);color:#16130f;min-height:50px;min-width:190px;padding:13px 18px;font-weight:700;letter-spacing:.12em;font-size:10px;text-transform:uppercase;cursor:pointer}.sct-button:hover{background:#efddc3}.sct-button:disabled{opacity:.45;cursor:not-allowed}.sct-back{background:none;border:0;color:#d8c6ad;padding:12px 0;font-size:12px;cursor:pointer}
.sct-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.sct-ticket{border:1px solid #665944;background:linear-gradient(140deg,#2e2921,#1b1917);padding:26px;position:relative}.sct-ticket:after{content:"SCT";position:absolute;right:18px;bottom:6px;color:#ffffff08;font:400 92px/1 Georgia,serif;pointer-events:none}.sct-ticket .sct-ticket-percent{font:400 85px/1 Georgia,serif;color:#e6cda4;margin:24px 0 9px}.sct-ticket p{font-size:12px;color:#b9b0a1;margin:4px 0}.sct-ticket h3{font:400 30px/1.15 Georgia,serif;margin:15px 0;color:white}.sct-ticket hr{border:0;border-top:1px solid #6b5b47;margin:23px 0}
.sct-form label{display:block;font-size:10px;letter-spacing:.1em;color:#d3c2ab;text-transform:uppercase;margin-bottom:16px}.sct-form input[type=text],.sct-form input[type=email]{display:block;width:100%;margin-top:7px;background:#22211e;border:1px solid #5b554a;color:#fff;padding:13px 14px;min-height:48px;border-radius:0;font-size:14px;letter-spacing:normal}.sct-form input:focus-visible{outline:1px solid #d6c4a8;outline-offset:2px}
.sct-check{display:flex!important;align-items:flex-start;gap:10px;letter-spacing:normal!important;font-size:12px!important;line-height:1.6;text-transform:none!important;color:#b9b2a8!important}.sct-check input{width:18px;height:18px;accent-color:#d6c4a8;flex:0 0 auto;margin-top:2px}.sct-form a{color:#ebd4ad;text-decoration:underline;text-underline-offset:3px}.sct-warning{border-left:2px solid #a68b60;padding-left:12px;color:#b3aa9d;font-size:11px;line-height:1.7;margin:19px 0}.sct-feedback{font-size:12px;min-height:18px;color:#f0bdac;margin:11px 0}.sct-success{text-align:center;max-width:570px;margin:25px auto;padding:25px 0 30px}.sct-success-mark{color:#d6c4a8;font:400 68px Georgia,serif}.sct-success p{color:#c8beb1;line-height:1.8}
.sct-offer-overlay button:focus-visible,.sct-offer-teaser button:focus-visible{outline:2px solid #f4e1c4;outline-offset:4px}
@keyframes sct-center-in{from{opacity:0;transform:translate(-50%,calc(-50% + 22px))}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes sct-float-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes sct-fade{from{opacity:0}to{opacity:1}}
@media(max-width:720px){.sct-offer-teaser{left:12px;right:12px;top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:auto;transform:none;animation:sct-float-in .55s ease both}.sct-teaser-inner{padding:16px 21px 20px}.sct-teaser-line{font-size:26px}.sct-offer-overlay{padding:0;align-items:stretch}.sct-modal{width:100%;min-height:100dvh;border:0;border-top:2px solid #937c5a}.sct-modal-body{padding:24px 20px 45px}.sct-modal-top{padding:16px 20px}.sct-artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sct-artist-img{height:115px}.sct-artist-info{padding:11px 10px 13px}.sct-artist-discount{font-size:18px;padding:6px}.sct-artist-name{font-size:19px}.sct-bottom{flex-direction:column;align-items:stretch}.sct-form-layout{grid-template-columns:1fr}.sct-ticket{padding:19px}.sct-ticket .sct-ticket-percent{font-size:61px;margin:12px 0}.sct-button{width:100%}.sct-steps{font-size:8px;gap:10px}}
@media(max-width:360px){.sct-artist-grid{grid-template-columns:1fr}.sct-artist{display:grid;grid-template-columns:90px 1fr}.sct-artist-img{height:100%}.sct-artist-discount{right:10px}}
@media(prefers-reduced-motion:reduce){.sct-offer-teaser,.sct-offer-overlay{animation:none}.sct-artist{transition:none}}

/* Mobile fix 2 — single native touch-scrolling surface (the overlay itself).
   No nested scroll containers; footer action stays reachable after artist selection. */
.sct-mobile-next{display:none}
@media(max-width:720px){
  .sct-offer-overlay{
    display:block;
    position:fixed;
    inset:0;
    width:100%;
    height:100vh;
    height:100dvh;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    touch-action:pan-y;
    padding:0;
  }
  .sct-modal{
    display:block;
    position:relative;
    width:100%;
    height:auto;
    min-height:100vh;
    min-height:100dvh;
    max-height:none;
    overflow:visible;
  }
  .sct-modal-body{
    overflow:visible;
    padding-bottom:calc(48px + env(safe-area-inset-bottom,0px));
  }
  .sct-modal.sct-select-view .sct-modal-body{
    padding-bottom:calc(114px + env(safe-area-inset-bottom,0px));
  }
  .sct-mobile-next:not([hidden]){
    display:block;
    position:fixed;
    z-index:10;
    left:0;
    right:0;
    bottom:0;
    padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));
    background:rgba(21,20,18,.97);
    border-top:1px solid rgba(214,196,168,.45);
    box-shadow:0 -9px 35px rgba(0,0,0,.45);
  }
  .sct-mobile-next .sct-button{
    width:100%;
    min-height:52px;
  }
  .sct-artist{touch-action:manipulation}
}
