:root{
  --black:#101820;
  --currant:#8A2B2B;
  --pink:#F99FC9;
  --cream:#F3E9D8;
  --white:#fffaf4;
  --silver:#7E7E82;
  --line:rgba(16,24,32,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--black);font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font-family:inherit}.site-header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:16px clamp(18px,4vw,54px);background:rgba(243,233,216,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand-logo{display:block;width:106px;height:48px;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}nav{display:flex;gap:24px;align-items:center;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.cart-link span{display:inline-flex;min-width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:var(--currant);color:var(--cream);font-size:12px;margin-left:3px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin:0 0 12px;color:var(--currant)}.lead{font-family:Syne,sans-serif;font-size:clamp(18px,2vw,28px);line-height:1.25;max-width:760px}.button{border:1.5px solid var(--black);border-radius:999px;padding:14px 22px;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.05em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.18s ease;background:transparent}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--black);color:var(--cream)}.button.ghost{background:transparent;color:var(--black)}.button.full{width:100%;margin-top:12px}.hero-actions,.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.home-hero{min-height:calc(100vh - 81px);display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:clamp(44px,6vw,90px) clamp(18px,5vw,80px);background:var(--cream)}.hero-copy h1,.shop-hero h1,.cart-heading h1{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:clamp(66px,11vw,170px);line-height:.86;margin:10px 0;color:var(--currant);letter-spacing:-.055em}.hero-card{background:#000;min-height:560px;display:grid;place-items:center;padding:40px}.hero-card img{width:min(88%,620px);height:auto;display:block}.promo-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:16px;align-items:center;background:var(--currant);color:var(--cream);padding:28px clamp(18px,5vw,80px);text-transform:uppercase}.promo-strip strong{font-family:Oswald,sans-serif;font-size:clamp(34px,4vw,68px);letter-spacing:-.04em}.promo-strip span{font-weight:900;font-size:clamp(18px,2vw,30px)}.promo-strip small{font-family:Syne,sans-serif;font-size:18px;text-transform:none}.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:88px clamp(18px,5vw,80px);background:var(--pink)}.intro-section h2,.section-title h2,.shop-copy-block h2{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:clamp(48px,7vw,110px);line-height:.88;margin:0;letter-spacing:-.04em;color:var(--currant)}.intro-section>p,.section-title p:last-child,.shop-copy-block p{font-family:Syne,sans-serif;font-size:clamp(18px,2vw,27px);line-height:1.35;margin:0}.shade-section{padding:84px 0 96px;background:var(--cream)}.section-title{max-width:920px;margin:0 clamp(18px,5vw,80px) 34px}.center-actions{display:flex;justify-content:center;padding:0 clamp(18px,5vw,80px)}.shop-hero{padding:86px clamp(18px,5vw,80px) 60px;background:var(--pink)}.shop-hero h1{max-width:1180px}.promo-banner{margin:34px clamp(18px,5vw,80px);background:var(--currant);color:var(--cream);padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.promo-banner strong{font-family:Oswald,sans-serif;font-size:38px;text-transform:uppercase}.promo-banner span{font-family:Syne,sans-serif;font-size:18px}.shop-copy-block{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:48px clamp(18px,5vw,80px) 18px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:20px clamp(18px,5vw,80px) 70px}.product-card{background:var(--white);border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:14px}.swatch{height:260px;display:grid;place-items:stretch;padding:0;position:relative;overflow:hidden;border:0;text-align:left;cursor:pointer;background:linear-gradient(180deg,#e6ebf2 0%, #ffffff 100%);color:var(--currant)}.swatch:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,24,32,.02) 0%, rgba(16,24,32,.12) 100%);pointer-events:none}.swatch-photo{width:100%;height:100%;object-fit:contain;display:block;position:relative;z-index:1}.swatch-chip{position:absolute;left:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(255,250,244,.92);color:var(--black);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 6px 18px rgba(0,0,0,.08)}.product-info h2{font-family:Syne,sans-serif;margin:0;font-size:26px}.product-info p{margin:0;color:rgba(16,24,32,.72);line-height:1.45}.product-type{margin:0 0 6px!important;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--currant)!important}.product-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.price{font-weight:900;font-size:22px}.price span{display:block;font-size:12px;font-weight:600;color:rgba(16,24,32,.62)}.card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mini-btn{border:1px solid var(--black);background:transparent;padding:10px 12px;border-radius:999px;font-weight:900;cursor:pointer;text-transform:uppercase;font-size:11px}.mini-btn.dark{background:var(--black);color:var(--cream)}.modal{position:fixed;inset:0;background:rgba(16,24,32,.68);z-index:50;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-panel{width:min(1120px,100%);max-height:90vh;overflow:auto;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;position:relative}.modal-close{position:absolute;top:14px;right:14px;border:0;background:var(--black);color:var(--cream);width:38px;height:38px;border-radius:50%;font-size:26px;cursor:pointer;z-index:3}.modal-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:24px;background:var(--pink)}.photo-tile{aspect-ratio:1;background:linear-gradient(135deg,var(--cream),var(--shade));display:grid;place-items:center;overflow:hidden;position:relative}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.photo-tile.missing:after{content:"Replace image here";font-family:Oswald,sans-serif;text-transform:uppercase;font-size:22px;color:var(--black)}.photo-tile.missing:before{content:"";position:absolute;width:45%;height:45%;border-radius:48% 52% 44% 56%;background:var(--shade);opacity:.82}.modal-info{padding:54px 34px}.modal-info h2{font-family:Oswald,sans-serif;font-size:clamp(56px,7vw,88px);line-height:.86;text-transform:uppercase;color:var(--currant);margin:0 0 18px}.modal-desc{font-family:Syne,sans-serif;font-size:20px;line-height:1.35}.file-list{background:rgba(255,250,244,.72);border:1px solid var(--line);padding:16px;margin-top:22px}.file-list strong{display:block;margin-bottom:10px;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.file-list code{display:block;background:#fff;padding:8px 10px;margin:6px 0;font-size:12px;white-space:nowrap;overflow:auto}.toast{position:fixed;right:22px;bottom:22px;background:var(--black);color:var(--cream);padding:14px 18px;border-radius:999px;font-weight:900;z-index:80;transform:translateY(90px);transition:.2s ease}.toast.show{transform:translateY(0)}.footer{padding:30px clamp(18px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--cream);font-size:13px;border-top:1px solid var(--line)}.footer img{width:94px;height:42px;object-fit:contain}.footer p{margin:0;max-width:430px;text-align:right}.cart-page{padding:70px clamp(18px,5vw,80px)}.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}.cart-heading{max-width:760px;margin-bottom:28px}.cart-items{display:grid;gap:12px}.cart-item{background:var(--white);border:1px solid var(--line);padding:16px;display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center}.cart-thumb{width:80px;height:80px;background:currentColor;border-radius:50%}.cart-item h3{margin:0 0 6px;font-family:Syne,sans-serif}.cart-item p{margin:0}.qty-controls{display:flex;gap:8px;align-items:center}.qty-controls button{width:32px;height:32px;border-radius:50%;border:1px solid var(--black);background:transparent;font-weight:900;cursor:pointer}.cart-summary{background:var(--black);color:var(--cream);padding:24px;position:sticky;top:94px}.cart-summary h2{font-family:Oswald,sans-serif;font-size:40px;text-transform:uppercase;margin:0 0 20px}.summary-row,.summary-total{display:flex;justify-content:space-between;border-bottom:1px solid rgba(243,233,216,.18);padding:13px 0}.summary-total{font-size:24px;border-bottom:0}.checkout-note{font-size:12px;line-height:1.5;color:rgba(243,233,216,.72)}.checkout-note code{background:rgba(243,233,216,.12);padding:2px 5px}.empty{background:var(--white);padding:30px;border:1px solid var(--line)}
@media (max-width:980px){.home-hero,.intro-section,.shop-copy-block,.modal-panel,.cart-layout{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-strip{grid-template-columns:1fr 1fr}.hero-card{min-height:360px}.footer{flex-direction:column;align-items:flex-start}.footer p{text-align:left}}
@media (max-width:700px){.site-header{align-items:flex-start;gap:12px;flex-direction:column}nav{flex-wrap:wrap;gap:14px}.hero-copy h1,.shop-hero h1,.cart-heading h1{font-size:62px}.product-grid{grid-template-columns:1fr}.promo-strip{grid-template-columns:1fr}.promo-banner{flex-direction:column;align-items:flex-start}.cart-item{grid-template-columns:64px 1fr}.cart-item .qty-controls{grid-column:2}.modal-gallery{grid-template-columns:1fr}}

/* v10: compact home, hero autoplay, shade carousel, single-image product viewer */
.compact-header{padding:10px clamp(16px,4vw,42px)}
.compact-header .brand-logo{width:88px;height:38px}
.compact-header nav{font-size:12px;gap:18px}
.compact-hero{min-height:auto;grid-template-columns:.8fr 1.2fr;padding:34px clamp(18px,5vw,72px) 38px;gap:28px}
.compact-hero .hero-copy h1{font-size:clamp(48px,6.8vw,108px);line-height:.9;margin:6px 0 10px}
.compact-hero .lead{font-size:clamp(16px,1.6vw,22px);max-width:520px}
.compact-hero .hero-actions{margin-top:20px}
.hero-slider{position:relative;height:min(70vh,720px);min-height:420px;background:#000;overflow:hidden;border:1px solid var(--line)}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .85s ease, transform 6s ease;transform:scale(1.02)}
.hero-slide.active{opacity:1;transform:scale(1)}
.compact-shades{padding:42px 0 52px}
.compact-title{max-width:720px;margin-bottom:18px}
.compact-title h2{font-size:clamp(34px,4.8vw,68px)}
.compact-title p:last-child{font-size:clamp(15px,1.55vw,20px)}
.product-carousel-section{padding:6px 0 50px}
.carousel-grid{display:block;padding:16px clamp(18px,5vw,72px) 52px}
.carousel-shell{position:relative;width:100%}
.carousel-viewport{overflow:hidden;width:100%}
.carousel-track{display:flex;gap:22px;transition:transform .38s ease;will-change:transform}
.carousel-track .product-card{flex:0 0 calc((100% - 44px)/3)}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--black);background:rgba(255,250,244,.94);font-size:32px;line-height:1;cursor:pointer;font-weight:800;display:grid;place-items:center;box-shadow:0 10px 24px rgba(16,24,32,.12)}
.carousel-arrow.prev{left:-22px}.carousel-arrow.next{right:-22px}
.product-card{padding:14px;gap:10px}
.swatch{height:210px}.swatch-chip{font-size:10px;padding:7px 11px;left:12px;bottom:12px}
.product-info h2{font-size:22px}.product-info p{font-size:14px;line-height:1.35}.product-type{font-size:11px!important;margin-bottom:4px!important}
.product-card-footer{align-items:flex-end}.price{font-size:20px}.mini-btn{padding:9px 11px;font-size:10px}
.compact-shop-hero{padding:44px clamp(18px,5vw,72px) 26px}.compact-shop-hero h1{font-size:clamp(52px,8vw,118px);line-height:.88}.compact-shop-hero .lead{font-size:clamp(16px,1.6vw,22px)}
.compact-promo{margin:22px clamp(18px,5vw,72px);padding:17px 20px}.compact-promo strong{font-size:28px}.compact-promo span{font-size:15px}
.compact-footer{padding:18px clamp(18px,5vw,72px)}
.modal-panel-single{width:min(1040px,96vw);max-height:90vh;grid-template-columns:1.2fr .8fr;overflow:hidden}
.modal-gallery-single{position:relative;min-height:620px;background:var(--pink);padding:30px;display:grid;place-items:center}
.modal-single-frame{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:rgba(255,250,244,.35)}
.modal-main-img{width:100%;height:100%;max-height:620px;object-fit:contain;display:block}
.modal-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--black);background:rgba(255,250,244,.95);font-size:32px;font-weight:800;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 24px rgba(16,24,32,.12)}
.modal-prev{left:14px}.modal-next{right:14px}.modal-count{position:absolute;left:24px;bottom:18px;background:var(--black);color:var(--cream);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900}
.compact-modal-info{padding:44px 30px}.compact-modal-info h2{font-size:clamp(44px,5vw,70px)}.compact-modal-info .modal-desc{font-size:17px}.compact-modal-info .modal-actions{gap:10px;margin-top:22px}
@media (max-width:980px){.compact-hero{grid-template-columns:1fr}.hero-slider{height:58vh}.carousel-track .product-card{flex-basis:calc((100% - 22px)/2)}.modal-panel-single{grid-template-columns:1fr;overflow:auto}.modal-gallery-single{min-height:520px}.carousel-arrow.prev{left:-10px}.carousel-arrow.next{right:-10px}}
@media (max-width:700px){.compact-header nav{gap:12px;font-size:11px}.compact-hero{padding-top:22px}.hero-slider{min-height:340px;height:48vh}.carousel-grid{padding-left:16px;padding-right:16px}.carousel-track .product-card{flex-basis:100%}.carousel-arrow.prev{left:4px}.carousel-arrow.next{right:4px}.swatch{height:220px}.modal-gallery-single{min-height:420px;padding:18px}.modal-arrow{width:40px;height:40px}.compact-modal-info{padding:28px 20px}}


/* v12: pink refresh, grouped carousel pages, compact game teaser */
body{background:linear-gradient(180deg,var(--cream) 0%,#FBE0EC 52%,var(--cream) 100%)}
.compact-header{background:rgba(249,159,201,.86);border-bottom:1px solid rgba(138,43,43,.18)}
.compact-hero{background:linear-gradient(135deg,var(--cream) 0%,#FAD3E6 58%,#F99FC9 100%)}
.hero-slider{border:10px solid rgba(255,250,244,.86);box-shadow:0 22px 70px rgba(138,43,43,.16)}
.compact-shades,.product-carousel-section{background:linear-gradient(180deg,#F99FC9 0%,#F3E9D8 100%)}
.compact-title{background:rgba(255,250,244,.72);border:1px solid rgba(138,43,43,.14);padding:18px 22px;margin-bottom:14px}
.carousel-grid{padding-left:clamp(34px,6vw,96px);padding-right:clamp(34px,6vw,96px)}
.carousel-shell{max-width:1280px;margin:0 auto;overflow:visible}
.carousel-viewport{overflow:hidden;width:100%;padding:0}
.carousel-track{display:flex;gap:0;transition:transform .42s cubic-bezier(.2,.8,.2,1);will-change:transform;width:100%}
.carousel-page{flex:0 0 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 2px}
.carousel-track .product-card{flex:auto;min-width:0;width:100%}
.carousel-arrow{top:36%;width:54px;height:54px;background:var(--cream);border:2px solid var(--black);box-shadow:0 12px 32px rgba(16,24,32,.16)}
.carousel-arrow.prev{left:-27px}.carousel-arrow.next{right:-27px}
.product-card{min-width:0;overflow:hidden;background:rgba(255,250,244,.92);border-color:rgba(138,43,43,.18);box-shadow:0 14px 32px rgba(138,43,43,.08)}
.product-info h2{font-size:clamp(20px,2.05vw,28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-info p{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card-footer{gap:8px}.card-actions{flex-wrap:nowrap}.mini-btn{white-space:nowrap}.price{min-width:72px}
.swatch{height:220px;background:#F99FC9}.swatch-photo{object-fit:cover;object-position:center}
.swatch-chip{background:var(--cream);color:var(--black)}
.lolo-game{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:center;padding:30px clamp(18px,5vw,72px);background:var(--pink);border-top:1px solid rgba(138,43,43,.12);border-bottom:1px solid rgba(138,43,43,.12)}
.game-copy h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(34px,5vw,72px);line-height:.88;margin:0 0 12px;letter-spacing:-.04em}
.game-copy p:last-child{font-family:Syne,sans-serif;font-size:clamp(15px,1.5vw,20px);line-height:1.35;max-width:720px;margin:0}
.game-card{background:var(--cream);border:1px solid rgba(138,43,43,.16);border-radius:26px;padding:18px;box-shadow:0 18px 42px rgba(138,43,43,.12)}
.game-topline{display:flex;justify-content:space-between;align-items:center;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.06em;color:var(--currant);margin-bottom:12px}.game-topline strong{background:#fff;padding:8px 12px;border-radius:999px;color:var(--black)}
.puzzle-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.puzzle-preview span{aspect-ratio:1;border-radius:13px;background:linear-gradient(135deg,#fffaf4,#F99FC9 55%,#8A2B2B);box-shadow:inset 0 0 0 1px rgba(16,24,32,.08)}.puzzle-preview span:nth-child(5){background:#fffaf4}.puzzle-preview span:nth-child(2n){background:linear-gradient(135deg,#fffaf4,#F3E9D8 38%,#F99FC9)}
.game-actions{display:flex;gap:10px;margin-top:14px}.game-actions button{border:1.5px solid var(--black);border-radius:999px;padding:10px 13px;background:#fffaf4;font-weight:900;text-transform:uppercase;font-size:11px}.game-actions button:first-child{background:var(--currant);color:var(--cream);border-color:var(--currant)}
@media (max-width:980px){.carousel-page{grid-template-columns:repeat(3,minmax(240px,1fr));gap:18px}.carousel-viewport{overflow:auto;scrollbar-width:none}.carousel-track{transform:none!important}.carousel-arrow{display:none}.lolo-game{grid-template-columns:1fr}.game-card{max-width:420px}.product-info h2{white-space:normal}.product-info p{-webkit-line-clamp:3}}
@media (max-width:700px){.carousel-grid{padding-left:16px;padding-right:16px}.carousel-page{grid-template-columns:1fr;min-width:100%;gap:18px}.lolo-game{padding:24px 16px}.game-card{max-width:none}.product-card-footer{flex-direction:column;align-items:flex-start}.card-actions{width:100%}.mini-btn{flex:1}.swatch{height:240px}}


/* v13: playable LO:LO shade game */
.playable-game{background:linear-gradient(135deg,#F99FC9 0%,#F6B8D6 48%,#F3E9D8 100%);padding-top:42px;padding-bottom:42px}
.playable-game .eyebrow{color:var(--currant)}
.playable-game .game-copy h2{font-size:clamp(42px,5.7vw,82px)}
.playable-game .game-copy p:last-child{max-width:620px;color:rgba(16,24,32,.84)}
.shade-game-card{max-width:420px;justify-self:end;background:rgba(255,250,244,.86);backdrop-filter:blur(8px)}
.game-stage{position:relative;display:grid;place-items:center;margin:12px 0 14px}
.game-image-frame{width:100%;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--cream);border:1px solid rgba(138,43,43,.14);box-shadow:0 18px 34px rgba(138,43,43,.13)}
.game-image-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .22s ease,transform .22s ease}
.game-image-frame img.swap-in{animation:gamePop .22s ease}
@keyframes gamePop{from{opacity:.35;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.game-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--black);background:rgba(255,250,244,.94);font-size:28px;font-weight:900;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 22px rgba(16,24,32,.12)}
.game-nav.prev{left:-14px}.game-nav.next{right:-14px}
.playable-actions button{cursor:pointer}.playable-actions button:last-child{background:var(--black);color:var(--cream);border-color:var(--black)}
.game-result{display:none;background:#fffaf4;border:1px solid rgba(138,43,43,.15);border-radius:18px;padding:14px;margin-top:14px;box-shadow:0 12px 26px rgba(138,43,43,.10)}
.game-result.show{display:block;animation:resultIn .24s ease}
@keyframes resultIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.game-result h3{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:34px;line-height:.9;color:var(--currant);margin:0 0 8px;letter-spacing:-.03em}
.game-result p{margin:0 0 10px;font-size:13px;line-height:1.35;color:rgba(16,24,32,.76)}
.game-result .eyebrow{font-size:10px;margin-bottom:8px}.game-result-actions{display:flex;gap:8px;flex-wrap:wrap}.game-result-actions .mini-btn{flex:1;min-width:120px}
@media (max-width:980px){.shade-game-card{justify-self:start}.game-image-frame{max-height:520px}.playable-game .game-copy p:last-child{max-width:100%}}
@media (max-width:700px){.playable-game{padding-top:30px;padding-bottom:30px}.game-nav.prev{left:8px}.game-nav.next{right:8px}.shade-game-card{width:100%}.game-image-frame{aspect-ratio:1/1.12}}

/* v14: photostrip booth feature */
.lolo-booth{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,430px);gap:32px;align-items:center;padding:42px clamp(18px,5vw,72px);background:linear-gradient(135deg,#F8AFD0 0%,#F3E9D8 100%);border-top:1px solid rgba(138,43,43,.12);border-bottom:1px solid rgba(138,43,43,.12)}
.booth-copy h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(40px,5.6vw,82px);line-height:.88;margin:0 0 12px;letter-spacing:-.04em}
.booth-lead{font-family:Syne,sans-serif;font-size:clamp(16px,1.65vw,23px);line-height:1.35;max-width:660px;margin:0 0 18px}
.booth-theme-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:740px}
.booth-theme{appearance:none;border:1px solid rgba(138,43,43,.18);background:rgba(255,250,244,.76);border-radius:20px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;text-align:left;cursor:pointer;transition:.18s ease;box-shadow:0 12px 26px rgba(138,43,43,.08)}
.booth-theme:hover,.booth-theme.selected{transform:translateY(-2px);border-color:var(--currant);box-shadow:0 14px 28px rgba(138,43,43,.12)}
.theme-swatch{width:18px;height:18px;border-radius:50%;flex:0 0 18px;margin-top:3px;border:1px solid rgba(16,24,32,.12)}
.theme-swatch.pink{background:#F99FC9}.theme-swatch.currant{background:#A61E28}
.booth-theme strong{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.booth-theme small{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:rgba(16,24,32,.66)}
.booth-copy-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.booth-notes{margin:16px 0 0;padding-left:18px;display:grid;gap:6px;font-size:13px;line-height:1.35;color:rgba(16,24,32,.8)}
.booth-phone-shell{position:relative;width:100%;aspect-ratio:430/932;max-height:min(78vh,920px);background:#fffaf4;border-radius:42px;padding:18px 16px 18px;border:1px solid rgba(16,24,32,.08);box-shadow:0 28px 56px rgba(138,43,43,.18);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.booth-phone-shell:before{content:'';position:absolute;top:12px;left:50%;transform:translateX(-50%);width:34%;height:28px;border-radius:0 0 18px 18px;background:#101820;opacity:.94;z-index:2}
.booth-phone-shell.theme-pink{background:linear-gradient(180deg,#FFF8FB 0%,#FEE4F1 100%)}
.booth-phone-shell.theme-currant{background:linear-gradient(180deg,#FFF7F2 0%,#F8E0D5 100%)}
.booth-phone-top{display:flex;justify-content:space-between;align-items:center;padding-top:28px;padding-inline:6px;position:relative;z-index:1}
.booth-ui-logo{width:72px;height:auto;display:block}
.booth-status-pill{padding:8px 12px;border-radius:999px;background:rgba(255,250,244,.84);border:1px solid rgba(16,24,32,.08);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.booth-phone-stage{position:relative;display:grid;align-items:center;justify-items:center;overflow:hidden}
.booth-screen{display:none;position:absolute;inset:0;align-items:center;justify-items:center}
.booth-screen.active{display:grid}
.booth-screen-live{padding:18px 6px 10px}
#boothVideo,.booth-fallback{width:100%;height:100%;border-radius:32px;overflow:hidden;background:#dcd7d2;box-shadow:inset 0 0 0 1px rgba(16,24,32,.08)}
#boothVideo{object-fit:cover;transform:scaleX(-1)}
.booth-fallback{display:grid;place-items:center;padding:24px;font-family:Syne,sans-serif;font-size:16px;line-height:1.35;text-align:center;color:rgba(16,24,32,.62);position:absolute;inset:18px 6px 10px}
.booth-countdown{position:absolute;inset:0;display:grid;place-items:center;font-family:Oswald,sans-serif;font-size:150px;line-height:1;color:#fffaf4;text-shadow:0 10px 28px rgba(0,0,0,.32);pointer-events:none;z-index:3}
.booth-flash{position:absolute;inset:18px 6px 10px;background:#fff;border-radius:32px;opacity:0;pointer-events:none;z-index:4}.booth-flash.show{animation:boothFlash .18s ease}
@keyframes boothFlash{from{opacity:.95}to{opacity:0}}
.booth-live-label{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);padding:10px 14px;border-radius:999px;background:rgba(255,250,244,.9);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;z-index:2}
.booth-screen-print{padding:24px 0 12px;align-content:center;gap:18px}
.printer-slot{width:84%;height:24px;border-radius:999px;background:#101820;box-shadow:inset 0 6px 12px rgba(255,255,255,.14), 0 10px 24px rgba(16,24,32,.16)}
.printing-strip{width:150px;background:#fffaf4;border:5px solid #101820;padding:8px;display:grid;gap:8px;animation:printOut 1.15s ease-in-out infinite alternate;box-shadow:0 18px 40px rgba(16,24,32,.14)}
.printing-strip span{height:110px;background:linear-gradient(135deg,#FFF0F7,#EAB0C8 55%,#D4B692)}
.printing-strip.bw span{background:linear-gradient(135deg,#F5F3EF,#A5A7AA 55%,#6C6D71)}
@keyframes printOut{from{transform:translateY(-6px)}to{transform:translateY(16px)}}
.booth-screen-print p{margin:0;font-family:Syne,sans-serif;font-size:18px;color:var(--currant)}
.booth-screen-result{padding:12px 6px 0}
.result-preview-wrap{width:100%;height:100%;overflow:auto;border-radius:28px;background:rgba(255,250,244,.7);box-shadow:inset 0 0 0 1px rgba(16,24,32,.06)}
#boothCanvas{display:block;width:100%;height:auto;background:transparent}
.booth-bottom-actions{display:grid;gap:12px;align-content:start;padding-top:10px;position:relative;z-index:1}
#boothCaptureBtn,#boothPrimaryAction{justify-self:start}
.booth-result-actions{display:grid;gap:10px;padding:14px;border-radius:22px;background:rgba(255,250,244,.85);border:1px solid rgba(16,24,32,.08)}
.booth-match-copy{margin:0;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--currant)}
.booth-result-btns{display:flex;gap:8px;flex-wrap:wrap}.booth-result-btns .mini-btn{flex:1;min-width:110px}
@media (max-width:1120px){.lolo-booth{grid-template-columns:1fr}.booth-phone-shell{max-width:430px;justify-self:start}}
@media (max-width:700px){.lolo-booth{padding:26px 16px;gap:22px}.booth-copy h2{font-size:56px}.booth-theme-row{grid-template-columns:1fr}.booth-phone-shell{max-width:none;width:100%;aspect-ratio:390/844;border-radius:34px}.booth-countdown{font-size:120px}.booth-result-btns{flex-direction:column}.booth-live-label{font-size:10px;padding:8px 12px}.booth-status-pill{font-size:11px}}

/* v15 layout: popup invite + full-screen photo booth page */
.booth-popup{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(16,24,32,.46);backdrop-filter:blur(8px)}
.booth-popup.show{display:flex}.booth-popup-card{position:relative;width:min(760px,100%);display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;background:linear-gradient(135deg,#FFF9F3 0%,#F99FC9 100%);border:1px solid rgba(16,24,32,.12);box-shadow:0 30px 80px rgba(16,24,32,.24);padding:24px;border-radius:32px}.popup-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(16,24,32,.18);background:#fffaf4;font-size:26px;line-height:1;cursor:pointer}.popup-mini-strip{width:138px;background:#fffaf4;border:4px solid #101820;padding:8px;display:grid;gap:7px;margin:auto}.popup-mini-strip span{height:78px;background:linear-gradient(135deg,#F3E9D8,#F99FC9 55%,#8A2B2B)}.booth-popup h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:52px;line-height:.9;margin:0 0 10px;letter-spacing:-.04em}.booth-popup p{font-family:Syne,sans-serif;line-height:1.35;margin:0}.popup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.booth-teaser-section{margin:34px clamp(18px,5vw,80px);padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#F99FC9,#F3E9D8);border:1px solid rgba(16,24,32,.1)}.booth-teaser-copy h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(36px,5vw,72px);line-height:.9;margin:0 0 10px;letter-spacing:-.04em}.booth-teaser-copy p:last-child{font-family:Syne,sans-serif;font-size:18px;max-width:760px;margin:0}.booth-page-body{background:#F3E9D8}.booth-nav-header{position:sticky}.booth-fullpage{min-height:calc(100vh - 70px)}.booth-intro-panel{padding:32px clamp(18px,5vw,72px) 24px;background:linear-gradient(135deg,#F99FC9 0%,#F3E9D8 100%)}.booth-intro-panel h1{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(48px,8vw,116px);line-height:.86;margin:0 0 12px;letter-spacing:-.055em}.booth-intro-panel>p{font-family:Syne,sans-serif;font-size:clamp(16px,1.7vw,24px);max-width:900px;margin:0 0 18px;line-height:1.35}.fullpage-theme-row{max-width:820px}.booth-step-line{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.booth-step-line span{padding:8px 12px;border-radius:999px;background:rgba(255,250,244,.74);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.booth-workspace{min-height:calc(100vh - 320px);padding:24px clamp(16px,4vw,54px) 40px;display:grid;grid-template-columns:minmax(320px,1fr) minmax(340px,520px);gap:24px;align-items:stretch}.booth-workspace.theme-pink{background:linear-gradient(135deg,#F8AFD0 0%,#F3E9D8 100%)}.booth-workspace.theme-currant{background:linear-gradient(135deg,#A61E28 0%,#F3E9D8 100%)}.booth-camera-panel,.booth-output-panel{border:1px solid rgba(16,24,32,.1);background:rgba(255,250,244,.74);border-radius:34px;padding:18px;box-shadow:0 24px 54px rgba(16,24,32,.12)}.booth-camera-panel{display:grid;grid-template-rows:auto 1fr auto;gap:14px;min-height:560px}.booth-camera-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}.booth-camera-topline img{width:86px;height:auto}.booth-camera-topline span{padding:8px 12px;border-radius:999px;background:#fffaf4;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.booth-camera-frame{position:relative;min-height:440px;border-radius:28px;overflow:hidden;background:#101820;display:grid;place-items:center}.booth-camera-frame #boothVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.booth-camera-frame .booth-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:28px;text-align:center;background:linear-gradient(135deg,#D9DEE8,#fffaf4);font-family:Syne,sans-serif;font-size:20px;color:rgba(16,24,32,.7)}.booth-camera-frame .booth-countdown{position:absolute;inset:0;display:grid;place-items:center;font-family:Oswald,sans-serif;font-size:clamp(100px,16vw,220px);color:#fffaf4;text-shadow:0 10px 30px rgba(16,24,32,.36);z-index:3}.booth-camera-frame .booth-flash{position:absolute;inset:0;background:#fff;opacity:0;z-index:4;pointer-events:none}.booth-camera-frame .booth-flash.show{animation:boothFlash .18s ease}.booth-live-label{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:10px 14px;border-radius:999px;background:rgba(255,250,244,.92);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;z-index:2}.booth-main-actions{display:flex;gap:10px;flex-wrap:wrap}.booth-output-panel{position:relative;display:grid;grid-template-rows:1fr auto;gap:14px;min-height:680px}.booth-output-panel .booth-screen{position:relative;display:none;min-height:460px;align-items:center;justify-items:center}.booth-output-panel .booth-screen.active{display:grid}.empty-result{display:grid;gap:14px;place-items:center;color:rgba(16,24,32,.7);font-family:Syne,sans-serif}.booth-output-panel canvas{max-width:100%;max-height:70vh;object-fit:contain;border-radius:16px;box-shadow:0 16px 40px rgba(16,24,32,.16)}.booth-output-panel .printer-slot{width:80%;height:24px;border-radius:999px;background:#101820;box-shadow:inset 0 6px 14px rgba(255,255,255,.12),0 10px 24px rgba(16,24,32,.15)}.booth-output-panel .printing-strip{width:150px;background:#fffaf4;border:5px solid #101820;padding:8px;display:grid;gap:8px;animation:printOut 1.15s ease-in-out infinite alternate;box-shadow:0 18px 40px rgba(16,24,32,.14)}.booth-output-panel .printing-strip span{height:86px;background:linear-gradient(135deg,#FFF0F7,#EAB0C8 55%,#D4B692)}.booth-output-panel .printing-strip.bw span{background:linear-gradient(135deg,#F5F3EF,#A5A7AA 55%,#6C6D71)}.booth-output-panel .booth-screen-print{gap:18px;align-content:center}.booth-output-panel .booth-screen-print p{font-family:Syne,sans-serif;color:var(--currant);font-size:18px}.full-result-actions{display:grid;gap:14px;padding:14px;border-radius:24px;background:rgba(255,250,244,.86);border:1px solid rgba(16,24,32,.08)}.shade-reveal-box h3{margin:0 0 6px;font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:32px}.shade-reveal-box p{margin:0 0 12px;font-family:Syne,sans-serif;line-height:1.35}.reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reason-grid button{border:1px solid rgba(16,24,32,.18);background:#fffaf4;border-radius:999px;padding:11px 10px;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.05em;cursor:pointer}.reason-grid button.selected{background:var(--currant);color:#fffaf4}.reveal-result{margin-top:12px;padding:12px;border-radius:18px;background:rgba(249,159,201,.35)}.reveal-result p{font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;font-size:13px}.reveal-result small{display:block;line-height:1.35;color:rgba(16,24,32,.72)}.booth-result-btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booth-result-btns .mini-btn{white-space:nowrap}.booth-theme{appearance:none;border:1px solid rgba(138,43,43,.18);background:rgba(255,250,244,.76);border-radius:20px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;text-align:left;cursor:pointer;transition:.18s ease;box-shadow:0 12px 26px rgba(138,43,43,.08)}.booth-theme.selected{border-color:var(--currant);box-shadow:0 14px 28px rgba(138,43,43,.15);transform:translateY(-1px)}.theme-swatch{width:18px;height:18px;border-radius:50%;flex:0 0 18px;margin-top:3px;border:1px solid rgba(16,24,32,.12)}.theme-swatch.pink{background:#F99FC9}.theme-swatch.currant{background:#A61E28}.booth-theme strong{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.06em}.booth-theme small{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:rgba(16,24,32,.66)}
@keyframes boothFlash{from{opacity:.95}to{opacity:0}}@keyframes printOut{from{transform:translateY(-6px)}to{transform:translateY(16px)}}
@media(max-width:980px){.booth-workspace{grid-template-columns:1fr}.booth-camera-frame{min-height:min(58vh,620px)}.booth-output-panel{min-height:auto}.booth-output-panel canvas{max-height:78vh}.booth-popup-card{grid-template-columns:1fr;text-align:left}.booth-teaser-section{align-items:flex-start;flex-direction:column}.booth-result-btns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.booth-intro-panel{padding:24px 16px}.booth-workspace{padding:16px;gap:16px}.booth-intro-panel h1{font-size:56px}.booth-theme-row{grid-template-columns:1fr}.booth-step-line{display:none}.booth-camera-panel,.booth-output-panel{border-radius:24px;padding:12px}.booth-camera-frame{min-height:52vh;border-radius:20px}.booth-main-actions .button{flex:1}.reason-grid{grid-template-columns:1fr}.booth-result-btns{grid-template-columns:1fr}.booth-popup{padding:14px}.booth-popup h2{font-size:42px}.popup-mini-strip{width:114px}.popup-mini-strip span{height:62px}}

/* v16 tarot daily draw */
.daily-draw-teaser{margin:34px clamp(18px,5vw,80px);padding:32px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:26px;align-items:center;background:linear-gradient(135deg,#FFF8F2 0%,#F99FC9 54%,#F3E9D8 100%);border:1px solid rgba(16,24,32,.1);box-shadow:0 24px 48px rgba(138,43,43,.08)}
.daily-draw-copy h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(38px,6vw,84px);line-height:.9;letter-spacing:-.045em;margin:0 0 12px}
.daily-draw-copy p:last-of-type{font-family:Syne,sans-serif;font-size:18px;line-height:1.35;max-width:760px;margin:0}
.daily-draw-preview{display:grid;gap:16px;justify-items:center;padding:18px;border-radius:32px;background:rgba(255,250,244,.64);border:1px solid rgba(16,24,32,.08)}
.preview-stack{position:relative;width:min(100%,250px);height:280px}
.preview-stack span{position:absolute;inset:0;border-radius:28px;border:2px solid rgba(16,24,32,.16);background:linear-gradient(180deg,#FFF9F3 0%,#F3E9D8 100%);box-shadow:0 18px 30px rgba(16,24,32,.08)}
.preview-stack span:nth-child(1){transform:rotate(-8deg) translate(-14px,18px)}
.preview-stack span:nth-child(2){transform:rotate(7deg) translate(12px,10px)}
.preview-stack span:nth-child(3){display:grid;place-items:center;border-color:rgba(138,43,43,.4);background:radial-gradient(circle at 50% 20%,rgba(249,159,201,.55),rgba(255,250,244,1) 45%,#F3E9D8 100%)}
.preview-stack span:nth-child(3)::before,.preview-stack span:nth-child(3)::after{content:"";position:absolute;border-radius:50%;border:1.5px solid rgba(138,43,43,.28)}
.preview-stack span:nth-child(3)::before{width:128px;height:128px}
.preview-stack span:nth-child(3)::after{width:190px;height:190px}
.preview-stack span:nth-child(3)::marker{display:none}
.preview-stack span:nth-child(3):after{box-shadow:0 0 0 12px rgba(255,250,244,.34) inset}
.preview-copy{text-align:center}
.preview-copy strong{display:block;font-family:Oswald,sans-serif;text-transform:uppercase;font-size:28px;line-height:1;letter-spacing:-.03em;color:var(--currant);margin-bottom:8px}
.preview-copy p{margin:0;font-family:Syne,sans-serif;line-height:1.35}

.daily-popup{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(16,24,32,.44);backdrop-filter:blur(8px)}
.daily-popup.show{display:flex}
.daily-popup-card{position:relative;width:min(760px,100%);display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;background:linear-gradient(135deg,#FFF9F3 0%,#F7D0E4 52%,#F3E9D8 100%);border:1px solid rgba(16,24,32,.12);box-shadow:0 30px 80px rgba(16,24,32,.24);padding:24px;border-radius:32px}
.popup-card-preview{width:148px;height:228px;margin:auto;border-radius:28px;border:2px solid rgba(16,24,32,.12);background:radial-gradient(circle at 50% 18%,rgba(249,159,201,.58),rgba(255,250,244,1) 44%,#F3E9D8 100%);position:relative;overflow:hidden}
.popup-card-preview::before,.popup-card-preview::after{content:"";position:absolute;inset:26px;border-radius:50%;border:1.5px solid rgba(138,43,43,.25)}
.popup-card-preview::after{inset:12px 12px auto 12px;height:calc(100% - 24px)}
.popup-card-preview span{position:absolute;inset:0;display:grid;place-items:center;font-family:Oswald,sans-serif;font-size:42px;color:var(--currant);letter-spacing:-.04em}
.daily-popup h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:52px;line-height:.9;margin:0 0 10px;letter-spacing:-.04em}
.daily-popup p{font-family:Syne,sans-serif;line-height:1.35;margin:0}

.tarot-page{padding-bottom:60px}
.tarot-hero{padding:56px clamp(18px,5vw,80px) 34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:28px;align-items:end;background:linear-gradient(135deg,#FFF9F3 0%,#F7D0E4 48%,#F3E9D8 100%)}
.tarot-hero h1{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:clamp(70px,11vw,168px);line-height:.84;letter-spacing:-.06em;color:var(--currant);margin:8px 0 10px}
.tarot-hero-note{padding:22px;border-radius:28px;background:rgba(255,250,244,.72);border:1px solid rgba(16,24,32,.1)}
.tarot-hero-note strong{display:block;font-family:Oswald,sans-serif;font-size:40px;text-transform:uppercase;line-height:.92;letter-spacing:-.035em;color:var(--currant);margin-bottom:8px}
.tarot-hero-note p:last-child{margin:0;font-family:Syne,sans-serif;line-height:1.35}

.tarot-experience{padding:28px clamp(18px,5vw,80px);display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.tarot-draw-panel,.tarot-result-panel{background:rgba(255,250,244,.68);border:1px solid rgba(16,24,32,.1);border-radius:34px;box-shadow:0 22px 48px rgba(16,24,32,.08)}
.tarot-draw-panel{padding:24px}
.tarot-result-panel{padding:24px;min-height:760px}
.tarot-panel-top h2,.tarot-stage h3{font-family:Oswald,sans-serif;text-transform:uppercase;line-height:.92;letter-spacing:-.04em;color:var(--currant);margin:0 0 10px}
.tarot-panel-top h2{font-size:clamp(38px,5vw,68px)}
.tarot-panel-top p:last-child{font-family:Syne,sans-serif;font-size:17px;line-height:1.35;margin:0}
.tarot-card-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.tarot-pick-card{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;perspective:1200px;transition:.2s ease}
.tarot-pick-card.is-dimmed{opacity:.34;transform:scale(.96)}
.tarot-pick-card:disabled{cursor:default}
.tarot-card-inner{position:relative;aspect-ratio:3/4.75;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.8,.2,1)}
.tarot-pick-card.is-revealed .tarot-card-inner{transform:rotateY(180deg)}
.tarot-card-face{position:absolute;inset:0;border-radius:28px;overflow:hidden;backface-visibility:hidden;box-shadow:0 24px 36px rgba(16,24,32,.14)}
.tarot-card-back{display:grid;place-items:center;background:radial-gradient(circle at 50% 18%,rgba(249,159,201,.6),rgba(255,250,244,1) 42%,#F3E9D8 100%);border:2px solid rgba(16,24,32,.08)}
.tarot-back-shell{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:16px;text-align:center}
.tarot-back-mark{font-family:Oswald,sans-serif;font-size:46px;line-height:1;color:var(--currant);letter-spacing:-.05em}
.tarot-back-shell small{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:rgba(16,24,32,.62)}
.tarot-back-ring,.tarot-back-ring::before,.tarot-back-ring::after{content:"";position:absolute;border-radius:50%;border:1.5px solid rgba(138,43,43,.22)}
.tarot-back-ring{width:128px;height:128px}
.tarot-back-ring::before{inset:-28px}
.tarot-back-ring::after{inset:-58px}
.tarot-back-stars{position:absolute;inset:0;pointer-events:none}
.tarot-back-stars span{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(138,43,43,.44)}
.tarot-back-stars span:nth-child(1){top:22%;left:26%}.tarot-back-stars span:nth-child(2){top:28%;right:24%}.tarot-back-stars span:nth-child(3){bottom:22%;left:50%;transform:translateX(-50%)}
.tarot-card-front{transform:rotateY(180deg);background:linear-gradient(180deg,#fffaf4 0%,#f7efe5 100%);border:2px solid rgba(16,24,32,.06)}
.tarot-front-shell{width:100%;height:100%;padding:14px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;background:radial-gradient(circle at 50% 8%,rgba(249,159,201,.22) 0%,rgba(255,250,244,1) 38%,#F3E9D8 100%)}
.tarot-front-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.tarot-front-top p,.tarot-front-top span{margin:0;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.tarot-front-top p{max-width:60%;color:var(--currant)}
.tarot-front-top span{padding:6px 8px;border-radius:999px;background:rgba(255,250,244,.72);border:1px solid rgba(16,24,32,.08);text-align:right}
.tarot-front-image-wrap{position:relative;border-radius:22px;padding:14px;background:rgba(255,250,244,.65);border:1px solid rgba(16,24,32,.08);display:grid;place-items:center;overflow:hidden}
.tarot-front-image-wrap::before,.tarot-front-image-wrap::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(138,43,43,.14)}
.tarot-front-image-wrap::before{width:80%;height:54%;top:8%;left:10%}
.tarot-front-image-wrap::after{width:48%;height:48%;right:8%;bottom:10%}
.tarot-front-image-wrap img{width:100%;height:100%;max-height:250px;object-fit:contain;display:block;position:relative;z-index:2}
.tarot-front-bottom{display:grid;gap:6px;text-align:center}
.tarot-front-bottom strong{font-family:Oswald,sans-serif;font-size:30px;text-transform:uppercase;letter-spacing:-.04em;line-height:.9;color:var(--currant)}
.tarot-front-bottom small{font-family:Syne,sans-serif;font-size:13px;line-height:1.3;color:rgba(16,24,32,.72)}

.tarot-stage{display:none;height:100%}
.tarot-stage.is-active{display:block}
#tarotIdleState{display:none}
#tarotIdleState.is-active{display:grid;place-items:center;align-content:center;gap:14px;min-height:700px;text-align:center;color:rgba(16,24,32,.72)}
.tarot-idle-art{position:relative;width:190px;height:190px}
.tarot-idle-circle{position:absolute;inset:18px;border-radius:50%;background:radial-gradient(circle at 50% 30%,rgba(249,159,201,.6),rgba(255,250,244,1) 54%,rgba(243,233,216,.9) 100%);border:1px solid rgba(138,43,43,.18)}
.tarot-idle-circle::before,.tarot-idle-circle::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(138,43,43,.14)}
.tarot-idle-circle::before{inset:-20px}.tarot-idle-circle::after{inset:-40px}
.tarot-idle-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(138,43,43,.18) 50%,transparent 52%),linear-gradient(0deg,transparent 48%,rgba(138,43,43,.18) 50%,transparent 52%)}
.tarot-reveal-card-shell,.tarot-final-shell{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:22px;align-items:start}
.tarot-reveal-visual,.tarot-final-card{width:100%;max-width:320px;justify-self:center}
.tarot-reveal-copy h3,.tarot-final-copy h3{font-size:clamp(38px,4.6vw,68px)}
.tarot-quote{font-family:Syne,sans-serif;font-size:22px;line-height:1.35;margin:0 0 14px;color:rgba(16,24,32,.88)}
.tarot-reveal-shade,.tarot-final-reason{font-family:Syne,sans-serif;font-size:17px;line-height:1.4;margin:0}
.tarot-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.tarot-tag-row span{padding:8px 12px;border-radius:999px;background:rgba(249,159,201,.25);border:1px solid rgba(138,43,43,.16);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.tarot-pairing-box{margin:18px 0;padding:16px;border-radius:22px;background:rgba(255,250,244,.82);border:1px solid rgba(16,24,32,.08)}
.tarot-pairing-box strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--currant);margin-bottom:6px}
.tarot-pairing-box p{margin:0 0 12px;font-family:Syne,sans-serif;line-height:1.35}.tarot-pairing-box span{font-weight:800}

#tarotQuizState.is-active{display:grid;align-content:start;gap:18px;min-height:700px}
.quiz-block h3{font-size:clamp(38px,4.6vw,60px)}
.quiz-question-block{margin-top:16px}
.quiz-question-block p{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--currant)}
.quiz-pill-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quiz-pill{appearance:none;border:1px solid rgba(16,24,32,.12);background:#fffaf4;padding:14px;border-radius:22px;text-align:left;display:grid;gap:6px;cursor:pointer;transition:.18s ease}
.quiz-pill:hover{transform:translateY(-1px)}
.quiz-pill.selected{border-color:var(--currant);background:rgba(249,159,201,.2);box-shadow:0 10px 20px rgba(138,43,43,.08)}
.quiz-pill strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.quiz-pill small{font-size:13px;line-height:1.3;color:rgba(16,24,32,.7)}
#submitTarotQuiz:disabled{opacity:.4;cursor:not-allowed;transform:none}
.tarot-shop-bridge{padding:0 0 20px}

@media(max-width:1080px){
  .tarot-hero,.tarot-experience,.tarot-reveal-card-shell,.tarot-final-shell,.daily-draw-teaser,.daily-popup-card{grid-template-columns:1fr}
  .tarot-result-panel{min-height:auto}
  #tarotIdleState.is-active,#tarotQuizState.is-active{min-height:unset}
  .daily-draw-preview{justify-self:start;width:100%;max-width:340px}
}
@media(max-width:700px){
  .daily-draw-teaser,.tarot-hero,.tarot-experience{padding-left:16px;padding-right:16px}
  .daily-draw-teaser{margin-left:16px;margin-right:16px;padding:24px}
  .daily-popup{padding:14px}.daily-popup h2{font-size:42px}
  .tarot-hero h1{font-size:64px}
  .tarot-card-row{grid-template-columns:1fr}
  .quiz-pill-row{grid-template-columns:1fr}
  .tarot-draw-panel,.tarot-result-panel{padding:16px;border-radius:24px}
  .tarot-front-bottom strong{font-size:26px}
}


/* v17 card-only LO:LO draw */
[hidden]{display:none!important}
.nav-lang{border:1px solid rgba(16,24,32,.18);background:rgba(255,250,244,.7);border-radius:999px;padding:8px 10px;font-weight:900;font-size:11px;cursor:pointer}
.lang-toggle{border:1px solid rgba(16,24,32,.18);background:#fffaf4;border-radius:999px;padding:8px 12px;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.popup-lang-row{display:flex;align-items:center;justify-content:space-between;gap:10px}

.daily-draw-teaser{margin:34px clamp(18px,5vw,80px);padding:34px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:center;background:linear-gradient(135deg,#FFF8F2 0%,#F8D7E7 52%,#F3E9D8 100%);border:1px solid rgba(16,24,32,.08);box-shadow:0 24px 48px rgba(138,43,43,.08)}
.daily-draw-copy h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(38px,6vw,84px);line-height:.9;letter-spacing:-.045em;margin:0 0 12px}
.daily-draw-copy p:last-of-type{font-family:Syne,"Noto Sans Thai",sans-serif;font-size:18px;line-height:1.45;max-width:760px;margin:0}
.daily-draw-preview{display:grid;gap:16px;justify-items:center;padding:18px;border-radius:32px;background:rgba(255,250,244,.64);border:1px solid rgba(16,24,32,.08)}
.preview-stack{position:relative;width:min(100%,250px);height:280px}
.preview-stack span{position:absolute;inset:0;border-radius:28px;border:2px solid rgba(16,24,32,.14);background:linear-gradient(180deg,#FFF9F3 0%,#F3E9D8 100%);box-shadow:0 18px 30px rgba(16,24,32,.08)}
.preview-stack span:nth-child(1){transform:rotate(-8deg) translate(-14px,18px)}
.preview-stack span:nth-child(2){transform:rotate(7deg) translate(12px,10px)}
.preview-stack span:nth-child(3){border-color:rgba(138,43,43,.35);background:radial-gradient(circle at 50% 20%,rgba(249,159,201,.55),rgba(255,250,244,1) 45%,#F3E9D8 100%)}
.preview-stack span:nth-child(3)::before,.preview-stack span:nth-child(3)::after{content:"";position:absolute;border-radius:50%;border:1.5px solid rgba(138,43,43,.24)}
.preview-stack span:nth-child(3)::before{width:128px;height:128px;left:calc(50% - 64px);top:calc(50% - 64px)}
.preview-stack span:nth-child(3)::after{width:190px;height:190px;left:calc(50% - 95px);top:calc(50% - 95px)}
.preview-copy{text-align:center}.preview-copy strong{display:block;font-family:Oswald,sans-serif;text-transform:uppercase;font-size:28px;line-height:1;letter-spacing:-.03em;color:var(--currant);margin-bottom:8px}.preview-copy p{margin:0;font-family:Syne,sans-serif;line-height:1.35}

.daily-popup{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(16,24,32,.44);backdrop-filter:blur(8px)}
.daily-popup.show{display:flex}
.daily-popup-card{position:relative;width:min(720px,100%);display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;background:linear-gradient(135deg,#FFF9F3 0%,#F7D0E4 52%,#F3E9D8 100%);border:1px solid rgba(16,24,32,.12);box-shadow:0 30px 80px rgba(16,24,32,.24);padding:24px;border-radius:32px}
.popup-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(16,24,32,.18);background:#fffaf4;font-size:26px;line-height:1;cursor:pointer}
.popup-card-preview{width:138px;height:214px;margin:auto;border-radius:28px;border:2px solid rgba(16,24,32,.12);background:radial-gradient(circle at 50% 18%,rgba(249,159,201,.58),rgba(255,250,244,1) 44%,#F3E9D8 100%);position:relative;overflow:hidden;display:grid;place-items:center;font-family:Oswald,sans-serif;font-size:42px;color:var(--currant);letter-spacing:-.04em}
.popup-card-preview::before,.popup-card-preview::after{content:"";position:absolute;border-radius:50%;border:1.5px solid rgba(138,43,43,.25)}
.popup-card-preview::before{width:92px;height:92px}.popup-card-preview::after{width:148px;height:148px}
.popup-card-preview span{position:relative;z-index:2}
.daily-popup h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:52px;line-height:.9;margin:0 0 10px;letter-spacing:-.04em}
.daily-popup p{font-family:Syne,"Noto Sans Thai",sans-serif;line-height:1.4;margin:0}
.popup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

.tarot-page-v17{min-height:calc(100vh - 82px);background:linear-gradient(135deg,#F8DCE9 0%,#F3E9D8 54%,#FFF9F3 100%)}
.tarot-hero-v17{padding:46px clamp(18px,5vw,80px) 18px;display:flex;justify-content:space-between;gap:22px;align-items:flex-end;background:transparent}
.tarot-hero-v17 h1{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:clamp(62px,9vw,132px);line-height:.84;letter-spacing:-.055em;color:var(--currant);margin:8px 0 10px}
.tarot-hero-v17 .lead{font-size:clamp(17px,1.6vw,24px);max-width:760px}

.tarot-single-experience{padding:22px clamp(18px,5vw,80px) 70px}
.tarot-pick-center{max-width:980px;margin:0 auto;text-align:center;background:rgba(255,250,244,.68);border:1px solid rgba(16,24,32,.08);border-radius:42px;padding:34px;box-shadow:0 28px 60px rgba(138,43,43,.12)}
.tarot-pick-center h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(48px,8vw,108px);line-height:.86;letter-spacing:-.045em;margin:0 0 12px}
.tarot-pick-center>p:not(.eyebrow){font-family:Syne,"Noto Sans Thai",sans-serif;font-size:18px;line-height:1.4;margin:0 auto 24px;max-width:650px}
.tarot-centered-cards{display:flex!important;justify-content:center;align-items:center;gap:22px;margin:26px auto 0;max-width:840px}
.tarot-pick-card-v17{width:min(28vw,220px);min-width:160px}

.tarot-pick-card{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;perspective:1200px;transition:.24s ease}
.tarot-pick-card.is-dimmed{opacity:.18;transform:scale(.94)}
.tarot-pick-card:disabled{cursor:default}
.tarot-card-inner{position:relative;aspect-ratio:3/4.7;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.8,.2,1)}
.tarot-pick-card.is-revealed .tarot-card-inner{transform:rotateY(180deg)}
.tarot-card-face{position:absolute;inset:0;border-radius:30px;overflow:hidden;backface-visibility:hidden;box-shadow:0 24px 38px rgba(16,24,32,.14)}
.tarot-card-back{display:grid;place-items:center;background:radial-gradient(circle at 50% 18%,rgba(249,159,201,.58),rgba(255,250,244,1) 42%,#F3E9D8 100%);border:2px solid rgba(16,24,32,.08)}
.tarot-back-shell{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:16px;text-align:center}
.tarot-back-mark{font-family:Oswald,sans-serif;font-size:clamp(36px,4.2vw,58px);line-height:1;color:var(--currant);letter-spacing:-.05em}
.tarot-back-shell small{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:rgba(16,24,32,.62)}
.tarot-back-ring,.tarot-back-ring::before,.tarot-back-ring::after{content:"";position:absolute;border-radius:50%;border:1.5px solid rgba(138,43,43,.22)}
.tarot-back-ring{width:46%;height:30%;min-width:92px;min-height:92px}
.tarot-back-ring::before{inset:-28px}.tarot-back-ring::after{inset:-58px}
.tarot-back-stars{position:absolute;inset:0;pointer-events:none}.tarot-back-stars span{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(138,43,43,.44)}
.tarot-back-stars span:nth-child(1){top:22%;left:26%}.tarot-back-stars span:nth-child(2){top:28%;right:24%}.tarot-back-stars span:nth-child(3){bottom:22%;left:50%;transform:translateX(-50%)}
.tarot-card-front{transform:rotateY(180deg)}

.message-card-shell{width:100%;height:100%;padding:20px;display:grid;grid-template-rows:auto 1fr auto;gap:16px;background:radial-gradient(circle at 50% 12%,rgba(249,159,201,.24),rgba(255,250,244,1) 42%,#F3E9D8 100%);border:2px solid rgba(16,24,32,.08);position:relative;overflow:hidden}
.message-card-shell::before,.message-card-shell::after{content:"";position:absolute;border-radius:50%;border:1.2px solid color-mix(in srgb, var(--card-accent) 34%, #8A2B2B);opacity:.18;pointer-events:none}
.message-card-shell::before{width:78%;height:48%;left:11%;top:18%}.message-card-shell::after{width:132%;height:72%;left:-16%;bottom:-18%}
.message-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;position:relative;z-index:1}
.message-card-top span,.message-card-top small{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--currant)}
.message-card-top span{max-width:54%;text-align:left}
.message-card-top small{padding:7px 9px;border-radius:999px;background:rgba(255,250,244,.72);border:1px solid rgba(16,24,32,.08);text-align:right}
.message-card-main{display:grid;place-items:center;text-align:center;position:relative;z-index:1}
.message-card-line{font-family:Syne,"Noto Sans Thai",sans-serif;font-weight:600;font-size:clamp(20px,2.2vw,34px);line-height:1.18;color:#101820;margin:0;max-width:92%}
.message-card-bottom{position:relative;z-index:1;display:grid;text-align:center;gap:6px}
.message-card-bottom strong{font-family:Oswald,sans-serif;font-size:clamp(30px,4vw,52px);line-height:.9;letter-spacing:-.04em;color:var(--currant)}
.message-card-bottom span{font-family:Syne,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(16,24,32,.68)}

.tarot-result-center{display:grid;grid-template-columns:minmax(300px,460px) minmax(300px,520px);gap:34px;justify-content:center;align-items:center;max-width:1120px;margin:0 auto;background:rgba(255,250,244,.62);border:1px solid rgba(16,24,32,.08);border-radius:42px;padding:34px;box-shadow:0 28px 60px rgba(138,43,43,.12)}
.tarot-large-card-wrap{width:min(100%,440px);margin:0 auto;aspect-ratio:3/4.7;animation:resultCardIn .42s ease both}
@keyframes resultCardIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.tarot-result-copy h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(42px,5.2vw,78px);line-height:.88;letter-spacing:-.04em;margin:0 0 12px}
.subtle-shade-line{font-family:Syne,"Noto Sans Thai",sans-serif;font-size:20px;line-height:1.35;margin:0 0 18px;color:rgba(16,24,32,.82)}
.subtle-shade-line strong{font-family:Syne,sans-serif;font-weight:800;color:var(--black)}
.tarot-pairing-v17{margin:18px 0;padding:18px;border-radius:24px;background:rgba(249,159,201,.18);border:1px solid rgba(138,43,43,.16)}
.tarot-pairing-v17 strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--currant);margin-bottom:8px}
.tarot-pairing-v17 p{margin:0 0 12px;font-family:Syne,"Noto Sans Thai",sans-serif;line-height:1.4;color:rgba(16,24,32,.78)}
.tarot-pairing-v17 .card-actions{justify-content:flex-start}

@media(max-width:980px){
  .daily-draw-teaser,.daily-popup-card,.tarot-result-center{grid-template-columns:1fr}
  .daily-draw-preview{max-width:340px;justify-self:start}
  .tarot-hero-v17{align-items:flex-start;flex-direction:column}
  .tarot-centered-cards{gap:14px}
  .tarot-pick-card-v17{min-width:0;width:30%}
}
@media(max-width:700px){
  .daily-draw-teaser{margin-left:16px;margin-right:16px;padding:24px;grid-template-columns:1fr}
  .daily-popup{padding:14px}.daily-popup h2{font-size:42px}
  .popup-card-preview{width:112px;height:176px}
  .tarot-hero-v17{padding:28px 16px 12px}.tarot-hero-v17 h1{font-size:62px}
  .tarot-single-experience{padding:14px 16px 46px}
  .tarot-pick-center,.tarot-result-center{padding:22px;border-radius:28px}
  .tarot-pick-center h2{font-size:54px}
  .tarot-centered-cards{gap:10px}
  .tarot-pick-card-v17{width:31%;min-width:0}
  .tarot-card-face{border-radius:22px}
  .tarot-back-mark{font-size:30px}
  .tarot-back-shell small{font-size:8px}
  .message-card-shell{padding:12px;gap:10px}
  .message-card-top span,.message-card-top small{font-size:7px}
  .message-card-line{font-size:14px;line-height:1.22}
  .message-card-bottom strong{font-size:26px}
  .message-card-bottom span{font-size:8px}
  .tarot-result-center{gap:22px}
  .tarot-large-card-wrap{max-width:310px}
  .tarot-result-copy h2{font-size:44px}
}


/* ===== V18 tarot card redesign ===== */
.tarot-pick-center{max-width:760px;padding:28px 28px 30px}
.tarot-pick-center h2{font-size:clamp(40px,6vw,82px)}
.tarot-pick-center>p:not(.eyebrow){max-width:520px}
.tarot-centered-cards{max-width:760px;gap:18px}
.tarot-pick-card-v17{width:min(26vw,190px);min-width:150px}
.tarot-back-shell-v18{background:
  radial-gradient(circle at 30% 20%, rgba(249,159,201,.30), transparent 28%),
  linear-gradient(180deg, #fffdf9 0%, #f7efe5 100%)}

.affirmation-card-shell{width:100%;height:100%;position:relative;overflow:hidden;border-radius:30px;border:1.6px solid rgba(138,43,43,.18);background:linear-gradient(145deg,#fffbf7 0%,#fff7fb 34%,#f6ede4 100%);box-shadow:inset 0 0 0 8px rgba(255,255,255,.28)}
.affirmation-bg-block{position:absolute;border-radius:14px;opacity:.9;pointer-events:none}
.affirmation-bg-a{top:24px;left:22px;width:56%;height:17%;background:linear-gradient(90deg, rgba(249,159,201,.22), rgba(255,255,255,0))}
.affirmation-bg-b{right:18px;bottom:22px;width:42%;height:22%;background:linear-gradient(135deg, rgba(255,255,255,0), color-mix(in srgb, var(--card-accent) 22%, white) 100%);transform:rotate(-6deg)}
.affirmation-gridline{position:absolute;border-radius:999px;border:1px solid color-mix(in srgb, var(--card-accent) 28%, #c98c96);opacity:.28;pointer-events:none}
.affirmation-line-a{width:74%;height:28%;left:8%;top:30%}
.affirmation-line-b{width:46%;height:18%;right:5%;top:54%}
.affirmation-header{position:absolute;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;z-index:2}
.affirmation-mini{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--currant)}
.affirmation-stamp{font-family:Montserrat,"Noto Sans Thai",sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(16,24,32,.58);padding:6px 8px;border:1px solid rgba(16,24,32,.08);background:rgba(255,255,255,.62);border-radius:999px}
.affirmation-note{position:absolute;z-index:2;color:color-mix(in srgb, var(--card-accent) 72%, #8A2B2B);font-family:"Cormorant Garamond", serif;font-size:clamp(18px,2.3vw,26px);font-style:italic;line-height:.96;letter-spacing:.01em;max-width:45%;transform:rotate(-8deg)}
.affirmation-note-top{right:16px;top:62px;text-align:right}
.affirmation-title-wrap{position:absolute;left:20px;right:20px;top:86px;z-index:2}
.affirmation-title-top,.affirmation-title-bottom{font-family:Oswald,sans-serif;text-transform:uppercase;line-height:.88;letter-spacing:-.05em;color:var(--currant)}
.affirmation-title-top{font-size:clamp(28px,4vw,48px)}
.affirmation-title-bottom{font-size:clamp(32px,4.8vw,62px);margin-top:-2px}
.affirmation-body{position:absolute;left:22px;right:22px;bottom:88px;z-index:2;margin:0;font-family:Syne,"Noto Sans Thai",sans-serif;font-size:clamp(16px,1.6vw,22px);line-height:1.34;color:#1c1f25;max-width:74%}
.affirmation-footer{position:absolute;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;gap:10px;align-items:end;z-index:2}
.affirmation-shade{font-family:Oswald,sans-serif;font-size:clamp(18px,2.1vw,28px);text-transform:uppercase;line-height:.92;letter-spacing:-.03em;color:var(--currant);max-width:58%}
.affirmation-type{font-family:Montserrat,"Noto Sans Thai",sans-serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(16,24,32,.56);text-align:right}
.affirmation-side{position:absolute;left:-34px;top:54%;transform:rotate(-90deg);transform-origin:left top;font-family:Montserrat,"Noto Sans Thai",sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(16,24,32,.52)}

.tarot-result-center{max-width:720px;grid-template-columns:1fr;gap:18px;padding:28px 24px 26px}
.tarot-large-card-wrap-v18{width:min(100%,420px);margin:0 auto;aspect-ratio:3/4.3}
.tarot-result-copy-v18{display:grid;gap:14px;max-width:520px;margin:0 auto;width:100%}
.tarot-result-mini-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.button.dark-fill{background:#101820;color:#fff;border-color:#101820}
.tarot-pairing-v18{margin:0;padding:18px 18px 16px;border-radius:26px;background:rgba(249,159,201,.16);border:1px solid rgba(138,43,43,.16)}
.tarot-pairing-v18 strong{display:block;margin-bottom:8px;font-family:Oswald,sans-serif;font-size:clamp(24px,2.8vw,34px);line-height:.94;letter-spacing:-.03em;text-transform:uppercase;color:var(--currant)}
.tarot-pairing-v18 p{margin:0 0 12px;font-family:Syne,"Noto Sans Thai",sans-serif;font-size:clamp(15px,1.5vw,18px);line-height:1.4;color:rgba(16,24,32,.82)}
.tarot-pairing-v18 .card-actions{justify-content:flex-start}

@media (max-width: 860px){
  .tarot-pick-center{padding:22px 16px 24px}
  .tarot-pick-card-v17{min-width:0;width:31%}
  .affirmation-title-wrap{top:74px}
  .affirmation-body{max-width:80%;bottom:76px}
}

@media (max-width: 640px){
  .tarot-centered-cards{gap:10px}
  .tarot-pick-card-v17{width:31%;min-width:0}
  .affirmation-card-shell{border-radius:22px}
  .affirmation-header{top:12px;left:12px;right:12px}
  .affirmation-mini{font-size:8px}
  .affirmation-stamp{font-size:7px;padding:4px 6px}
  .affirmation-note{font-size:12px;top:44px;right:12px;max-width:42%}
  .affirmation-title-wrap{left:12px;right:12px;top:58px}
  .affirmation-title-top{font-size:20px}
  .affirmation-title-bottom{font-size:22px}
  .affirmation-body{left:12px;right:12px;bottom:54px;font-size:12px;line-height:1.28;max-width:86%}
  .affirmation-footer{left:12px;right:12px;bottom:12px}
  .affirmation-shade{font-size:12px;max-width:62%}
  .affirmation-type,.affirmation-side{font-size:6px}
  .tarot-result-center{padding:18px 14px 20px}
  .tarot-large-card-wrap-v18{max-width:300px}
  .tarot-result-mini-actions{gap:8px}
  .tarot-pairing-v18 strong{font-size:20px}
  .tarot-pairing-v18 p{font-size:14px}
}

/* ===== V19 tarot simplification ===== */
.tarot-page-v19{padding-bottom:64px;background:linear-gradient(180deg,#f6e0e6 0%,#f7ece7 44%,#f6f0ea 100%)}
.tarot-hero-v19{padding:48px clamp(18px,5vw,80px) 8px;background:transparent;display:block;text-align:center}
.tarot-hero-v19 h1{font-size:clamp(64px,10vw,140px);margin:8px auto 12px;max-width:8ch}
.tarot-hero-v19 .lead{max-width:680px;margin:0 auto;color:rgba(16,24,32,.76)}
.tarot-single-experience-v19{padding:18px 16px 48px}
.tarot-pick-center-v19,.tarot-result-center-v19{background:rgba(255,250,244,.76);border:1px solid rgba(16,24,32,.08);box-shadow:0 28px 60px rgba(138,43,43,.10);border-radius:38px}
.tarot-pick-center-v19{max-width:860px;margin:0 auto;padding:28px 24px 34px;text-align:center}
.tarot-pick-heading{margin-bottom:18px}
.tarot-pick-heading h2{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:clamp(40px,8vw,86px);line-height:.88;letter-spacing:-.05em;color:var(--currant);margin:8px 0 0}
.tarot-centered-cards-v19{display:flex;justify-content:center;align-items:center;gap:28px;margin:10px auto 0;max-width:860px}
.tarot-pick-card-v19{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;transition:transform .22s ease, opacity .22s ease; width:min(28vw,220px); min-width:170px}
.tarot-pick-card-v19:hover{transform:translateY(-6px)}
.tarot-pick-card-v19.is-picked{transform:translateY(-10px) scale(1.02)}
.tarot-pick-card-v19.is-dimmed{opacity:.16;transform:scale(.96)}
.tarot-pick-card-v19:disabled{cursor:default}
.tarot-pick-card-v19 .tarot-back-shell-v19{aspect-ratio:3/4.55;border-radius:28px;background:#b82424;display:flex;align-items:center;justify-content:center;padding:18px;box-shadow:0 24px 42px rgba(16,24,32,.16);border:1.8px solid rgba(16,24,32,.12)}
.tarot-back-logo-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.tarot-back-logo-wrap img{width:min(120px,70%);height:auto;display:block;filter:brightness(0)}

.tarot-result-center-v19{max-width:1120px;margin:0 auto;padding:32px;display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:34px;align-items:center}
.tarot-large-card-wrap-v19{width:min(100%,390px);margin:0 auto;aspect-ratio:3/4.3;animation:resultCardIn .38s ease both}
.tarot-result-copy-v19{display:grid;gap:14px;max-width:560px}
.tarot-result-copy-v19 .eyebrow{margin-bottom:0}
.tarot-result-copy-v19 h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(52px,8vw,104px);line-height:.88;letter-spacing:-.05em;margin:0}
.tarot-result-lead{margin:0;font-family:Syne,sans-serif;color:rgba(16,24,32,.76);font-size:18px}
.tarot-result-mini-actions{display:flex;gap:12px;flex-wrap:wrap}

.affirmation-card-shell-v19{position:relative;width:100%;height:100%;overflow:hidden;border-radius:28px;background:#f7f0ea;border:1.5px solid rgba(16,24,32,.09);box-shadow:0 18px 36px rgba(138,43,43,.10)}
.affirmation-paper{position:absolute;border-radius:6px;pointer-events:none}
.affirmation-paper-main{left:14px;right:14px;top:14px;bottom:14px;background:linear-gradient(180deg,#fffefc 0%,#fff8fb 42%,#fff7f0 100%);box-shadow:0 8px 18px rgba(16,24,32,.08)}
.affirmation-paper-accent{width:48%;height:17%;left:18px;top:18px;background:linear-gradient(90deg,rgba(184,36,36,.12),rgba(242,198,211,.4));transform:rotate(-6deg)}
.affirmation-chip{position:absolute;top:24px;right:24px;background:#b82424;color:#fff;padding:8px 12px;border-radius:999px;font:800 10px/1 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;z-index:2}
.affirmation-script{position:absolute;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;color:color-mix(in srgb, var(--card-accent) 68%, #8A2B2B);opacity:.95;z-index:2}
.affirmation-script-top{top:56px;left:24px;font-size:34px;transform:rotate(-6deg)}
.affirmation-script-bottom{right:24px;bottom:72px;font-size:32px;transform:rotate(4deg);text-align:right}
.affirmation-title-wrap-v19{position:absolute;left:24px;right:24px;top:110px;z-index:2}
.affirmation-title-wrap-v19 .affirmation-title-top,.affirmation-title-wrap-v19 .affirmation-title-bottom{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);line-height:.88;letter-spacing:-.055em}
.affirmation-title-wrap-v19 .affirmation-title-top{font-size:clamp(30px,4.2vw,44px)}
.affirmation-title-wrap-v19 .affirmation-title-bottom{font-size:clamp(40px,5.4vw,58px);margin-top:-2px}
.affirmation-body-v19{position:absolute;left:24px;right:24px;top:208px;z-index:2;margin:0;font-family:Syne,sans-serif;font-size:clamp(17px,2vw,20px);line-height:1.38;color:#22262d;max-width:82%}
.affirmation-footer-v19{position:absolute;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;align-items:end;gap:12px;z-index:2}
.affirmation-mini-line{font-family:Syne,sans-serif;font-size:15px;line-height:1.3;color:rgba(16,24,32,.72);max-width:68%}
.affirmation-type-pill{font:800 10px/1 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(16,24,32,.12);background:#fff;padding:8px 10px;border-radius:999px;color:var(--ink)}
.affirmation-side-note{position:absolute;left:-22px;bottom:120px;transform:rotate(-90deg);transform-origin:left bottom;font:700 10px/1 Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(16,24,32,.42)}

.tarot-pairing-v19{margin-top:10px;padding:20px;border-radius:28px;background:rgba(249,159,201,.14);border:1px solid rgba(138,43,43,.16)}
.tarot-pairing-v19 strong{display:block;font-family:Oswald,sans-serif;color:var(--currant);font-size:clamp(24px,3vw,38px);line-height:.94;text-transform:uppercase;letter-spacing:-.03em;margin-bottom:8px}
.tarot-pairing-v19 p{margin:0 0 14px;font-family:Syne,sans-serif;color:rgba(16,24,32,.80);line-height:1.42}
.tarot-pairing-v19 .card-actions{justify-content:flex-start}

.daily-popup-card{grid-template-columns:170px 1fr}
.popup-card-preview{position:relative;height:220px;border-radius:24px;background:#b82424;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(16,24,32,.12),0 10px 24px rgba(16,24,32,.08)}
.popup-card-preview span{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;background-image:url('assets/brand/lolo-logo-black-transparent.png');background-repeat:no-repeat;background-position:center;background-size:110px;color:transparent}
.popup-lang-row{display:block}

@media (max-width: 920px){
  .tarot-result-center-v19{grid-template-columns:1fr;gap:24px;padding:24px 18px 22px}
  .tarot-result-copy-v19{margin:0 auto;text-align:center}
  .tarot-result-mini-actions{justify-content:center}
  .tarot-pairing-v19 .card-actions{justify-content:center}
}

@media (max-width: 640px){
  .daily-popup-card{grid-template-columns:1fr;gap:18px}
  .popup-card-preview{height:160px}
  .tarot-hero-v19{padding:28px 16px 6px}
  .tarot-pick-center-v19{padding:22px 14px 24px}
  .tarot-centered-cards-v19{gap:10px}
  .tarot-pick-card-v19{width:31%;min-width:0}
  .tarot-pick-card-v19 .tarot-back-shell-v19{border-radius:20px;padding:10px}
  .tarot-back-logo-wrap img{width:68%}
  .tarot-large-card-wrap-v19{max-width:320px}
  .affirmation-card-shell-v19{border-radius:22px}
  .affirmation-paper-main{left:10px;right:10px;top:10px;bottom:10px}
  .affirmation-paper-accent{left:12px;top:12px;height:15%}
  .affirmation-chip{top:16px;right:16px;font-size:8px;padding:6px 8px}
  .affirmation-script-top{top:42px;left:16px;font-size:20px}
  .affirmation-script-bottom{right:16px;bottom:58px;font-size:18px}
  .affirmation-title-wrap-v19{left:16px;right:16px;top:82px}
  .affirmation-title-wrap-v19 .affirmation-title-top{font-size:22px}
  .affirmation-title-wrap-v19 .affirmation-title-bottom{font-size:28px}
  .affirmation-body-v19{left:16px;right:16px;top:152px;font-size:12px;line-height:1.34;max-width:84%}
  .affirmation-footer-v19{left:16px;right:16px;bottom:14px}
  .affirmation-mini-line{font-size:10px;max-width:70%}
  .affirmation-type-pill{font-size:7px;padding:6px 7px}
  .affirmation-side-note{font-size:6px;left:-16px;bottom:90px}
}


/* ===== V20 clean LO:LO share card + stacked cards ===== */
.split-headline{display:grid;gap:.04em}
.split-headline span{display:block}
.daily-draw-copy .split-headline{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(46px,7vw,96px);line-height:.84;letter-spacing:-.05em;margin:0 0 12px}
.tarot-hero-v19 .hero-split{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(60px,9vw,132px);line-height:.84;letter-spacing:-.055em;margin:8px auto 12px;max-width:10ch}

.tarot-page-v19{background:linear-gradient(180deg,#f6dee8 0%,#fff5ee 54%,#f6f0ea 100%)}
.tarot-hero-v19{padding-top:38px}
.tarot-pick-center-v19{position:relative;overflow:visible;max-width:780px;padding:28px 24px 46px}
.tarot-pick-heading{position:relative;z-index:5;margin-bottom:8px}
.tarot-pick-heading h2{font-size:clamp(34px,6vw,64px);margin:4px 0 0}
.tarot-centered-cards-v19{position:relative;height:390px;max-width:560px;margin:0 auto 0;display:block}
.tarot-pick-card-v20{position:absolute;top:42px;left:50%;width:min(56vw,270px);min-width:220px;appearance:none;border:0;background:transparent;padding:0;cursor:pointer;transition:transform .22s ease, opacity .22s ease, z-index .22s ease;transform-origin:center center}
.tarot-pick-card-v20:nth-child(1){transform:translateX(-50%) rotate(-9deg) translate(-76px,24px);z-index:1}
.tarot-pick-card-v20:nth-child(2){transform:translateX(-50%) rotate(7deg) translate(74px,32px);z-index:2}
.tarot-pick-card-v20:nth-child(3){transform:translateX(-50%) rotate(0deg);z-index:3}
.tarot-pick-card-v20:hover{z-index:8}
.tarot-pick-card-v20:nth-child(1):hover{transform:translateX(-50%) rotate(-9deg) translate(-76px,10px)}
.tarot-pick-card-v20:nth-child(2):hover{transform:translateX(-50%) rotate(7deg) translate(74px,18px)}
.tarot-pick-card-v20:nth-child(3):hover{transform:translateX(-50%) rotate(0deg) translateY(-14px)}
.tarot-pick-card-v20.is-picked{z-index:10!important;transform:translateX(-50%) scale(1.03)!important}
.tarot-pick-card-v20.is-dimmed{opacity:.08}
.tarot-pick-card-v20 .tarot-back-shell-v20{aspect-ratio:3/4.2;border-radius:34px;display:grid;place-items:center;box-shadow:0 22px 42px rgba(16,24,32,.12);border:2px solid rgba(16,24,32,.08)}
.tarot-pick-card-v20.card-color-0 .tarot-back-shell-v20,.tarot-pick-card-v20:nth-child(1) .tarot-back-shell-v20{background:#B82424}
.tarot-pick-card-v20.card-color-1 .tarot-back-shell-v20,.tarot-pick-card-v20:nth-child(2) .tarot-back-shell-v20{background:#F39AC4}
.tarot-pick-card-v20.card-color-2 .tarot-back-shell-v20,.tarot-pick-card-v20:nth-child(3) .tarot-back-shell-v20{background:#FFF5EB}
.tarot-pick-card-v20 .tarot-back-shell-v20 img{width:38%;max-width:130px;height:auto;filter:brightness(0)}
.tarot-pick-card-v20:nth-child(1) .tarot-back-shell-v20 img{filter:brightness(0)}

.tarot-result-center-v19{grid-template-columns:minmax(0,430px) minmax(0,1fr);max-width:1080px;padding:30px;border-radius:40px;background:rgba(255,250,244,.70)}
.tarot-large-card-wrap-v20{width:min(100%,390px);margin:0 auto;aspect-ratio:3/4.6;animation:resultCardIn .38s ease both}
.share-card{width:100%;height:100%;position:relative;overflow:hidden;border-radius:30px;box-shadow:0 20px 46px rgba(16,24,32,.14);padding:28px}
.share-card-red{background:#B82424;color:#fff8f2}
.share-card-pink{background:#F39AC4;color:#101820}
.share-card-cream{background:#FFF5EB;color:#101820;border:1px solid rgba(16,24,32,.08)}
.share-logo{position:absolute;left:26px;top:24px;width:72px;z-index:4}
.share-logo img{display:block;width:100%;height:auto}
.share-top-script{position:absolute;left:28px;top:76px;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:700;font-size:clamp(28px,4vw,44px);line-height:.9;color:currentColor;opacity:.76;transform:rotate(-4deg);max-width:72%}
.share-main-text{position:absolute;left:28px;right:28px;top:168px;font-family:Oswald,sans-serif;text-transform:none;font-weight:700;font-size:clamp(36px,4.6vw,58px);line-height:.9;letter-spacing:-.035em;color:currentColor;max-width:84%}
.share-script-big{position:absolute;left:28px;bottom:156px;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:700;font-size:clamp(44px,6vw,70px);line-height:.9;color:currentColor;opacity:.68;transform:rotate(-5deg)}
.share-bottom-word{position:absolute;right:28px;bottom:72px;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:700;font-size:clamp(42px,6vw,66px);line-height:.9;color:currentColor;opacity:.7;transform:rotate(3deg)}
.share-small-note{position:absolute;left:28px;right:28px;bottom:24px;font-family:Syne,sans-serif;font-size:clamp(14px,1.8vw,18px);line-height:1.25;color:currentColor;opacity:.86}
.tarot-result-copy-v20 h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(52px,8vw,104px);line-height:.88;letter-spacing:-.05em;margin:0}
.tarot-result-copy-v20{display:grid;gap:14px;max-width:560px}
.tarot-pairing-v20{margin-top:8px;padding:20px;border-radius:28px;background:rgba(249,159,201,.14);border:1px solid rgba(138,43,43,.16)}
.tarot-pairing-v20 strong{display:block;font-family:Oswald,sans-serif;color:var(--currant);font-size:clamp(24px,3vw,38px);line-height:.94;text-transform:uppercase;letter-spacing:-.03em;margin-bottom:8px}
.tarot-pairing-v20 p{margin:0 0 14px;font-family:Syne,sans-serif;color:rgba(16,24,32,.80);line-height:1.42}
.button.dark-fill{background:#101820;color:#fff;border-color:#101820}

.daily-draw-preview .preview-stack{height:260px}
.preview-stack span:nth-child(1){background:#B82424!important;border-color:rgba(16,24,32,.08)!important;transform:rotate(-8deg) translate(-38px,26px)!important}
.preview-stack span:nth-child(2){background:#F39AC4!important;border-color:rgba(16,24,32,.08)!important;transform:rotate(8deg) translate(38px,34px)!important}
.preview-stack span:nth-child(3){background:#FFF5EB!important;border-color:rgba(138,43,43,.28)!important;transform:rotate(0deg)!important}
.preview-stack span:nth-child(3)::before,.preview-stack span:nth-child(3)::after{display:none!important}
.preview-stack span:nth-child(3)::after{display:none!important}
.preview-stack span:nth-child(3){background-image:url('assets/brand/lolo-logo-black-transparent.png')!important;background-repeat:no-repeat!important;background-position:center!important;background-size:95px!important}

.popup-card-preview{background:#B82424!important}
.popup-card-preview::before,.popup-card-preview::after{display:none!important}

@media(max-width:920px){
  .tarot-result-center-v19{grid-template-columns:1fr;gap:24px}
  .tarot-result-copy-v20{margin:0 auto;text-align:center}
  .tarot-result-mini-actions{justify-content:center}
  .tarot-pairing-v20 .card-actions{justify-content:center}
}

@media(max-width:640px){
  .tarot-hero-v19 .hero-split{font-size:56px}
  .tarot-centered-cards-v19{height:300px}
  .tarot-pick-card-v20{width:190px;min-width:0;top:36px}
  .tarot-pick-card-v20:nth-child(1){transform:translateX(-50%) rotate(-8deg) translate(-48px,22px)}
  .tarot-pick-card-v20:nth-child(2){transform:translateX(-50%) rotate(8deg) translate(48px,30px)}
  .tarot-pick-card-v20:nth-child(1):hover{transform:translateX(-50%) rotate(-8deg) translate(-48px,14px)}
  .tarot-pick-card-v20:nth-child(2):hover{transform:translateX(-50%) rotate(8deg) translate(48px,22px)}
  .tarot-pick-center-v19{padding:20px 10px 34px}
  .tarot-pick-heading h2{font-size:44px}
  .tarot-large-card-wrap-v20{max-width:330px}
  .share-card{border-radius:24px;padding:22px}
  .share-logo{width:58px;left:22px;top:20px}
  .share-top-script{left:22px;top:66px;font-size:30px}
  .share-main-text{left:22px;right:22px;top:136px;font-size:40px}
  .share-script-big{left:22px;bottom:128px;font-size:48px}
  .share-bottom-word{right:22px;bottom:64px;font-size:46px}
  .share-small-note{left:22px;right:22px;bottom:20px;font-size:13px}
  .daily-draw-copy .split-headline{font-size:48px}
}

/* ===== V21 fixes: smaller card stack, CI script font, matching export ===== */
.tarot-centered-cards-v19{height:300px!important;max-width:520px!important;margin-top:6px!important;margin-bottom:18px!important;overflow:visible!important}
.tarot-pick-card-v20{width:min(38vw,185px)!important;min-width:150px!important;top:34px!important}
.tarot-pick-card-v20 .tarot-back-shell-v20{border-radius:26px!important;aspect-ratio:3/4.15!important}
.tarot-pick-card-v20:nth-child(1){transform:translateX(-50%) rotate(-8deg) translate(-58px,18px)!important}
.tarot-pick-card-v20:nth-child(2){transform:translateX(-50%) rotate(8deg) translate(58px,24px)!important}
.tarot-pick-card-v20:nth-child(3){transform:translateX(-50%) rotate(0deg)!important}
.tarot-pick-card-v20:nth-child(1):hover{transform:translateX(-50%) rotate(-8deg) translate(-58px,8px)!important}
.tarot-pick-card-v20:nth-child(2):hover{transform:translateX(-50%) rotate(8deg) translate(58px,14px)!important}
.tarot-pick-card-v20:nth-child(3):hover{transform:translateX(-50%) rotate(0deg) translateY(-10px)!important}
.tarot-pick-card-v20.is-picked{transform:translateX(-50%) scale(1.02)!important}
.tarot-pick-center-v19{padding-bottom:30px!important}
.tarot-pick-heading{margin-bottom:0!important;z-index:10!important}
.tarot-pick-heading h2{font-size:clamp(34px,5.4vw,58px)!important}

.daily-draw-preview .preview-stack{width:190px!important;height:230px!important;margin-bottom:46px!important}
.daily-draw-preview .preview-copy{position:relative;z-index:6;margin-top:10px!important;background:rgba(255,250,244,.66);border-radius:18px;padding:10px 12px}
.daily-draw-preview .preview-copy strong{font-size:24px!important;line-height:1.05!important}
.preview-stack span{border-radius:22px!important}
.preview-stack span:nth-child(1){transform:rotate(-7deg) translate(-34px,18px)!important}
.preview-stack span:nth-child(2){transform:rotate(7deg) translate(34px,24px)!important}
.preview-stack span:nth-child(3){background-size:78px!important}

.tarot-result-center-v19{grid-template-columns:minmax(0,330px) minmax(0,1fr)!important;max-width:980px!important;gap:28px!important}
.tarot-large-card-wrap-v20{width:min(100%,300px)!important;aspect-ratio:3/4.2!important}
.share-card{border-radius:24px!important;padding:22px!important}
.share-logo{width:58px!important;left:22px!important;top:20px!important}
.share-top-script,.share-script-big,.share-bottom-word{font-family:Caveat,cursive!important;font-weight:700!important;letter-spacing:.01em!important}
.share-top-script{left:24px!important;top:72px!important;font-size:clamp(30px,4.8vw,42px)!important;line-height:.8!important;max-width:78%!important;color:currentColor!important;opacity:.72!important}
.share-main-text{left:24px!important;right:24px!important;top:152px!important;font-size:clamp(30px,4.4vw,42px)!important;line-height:.98!important;max-width:86%!important;letter-spacing:-.02em!important}
.share-script-big{left:24px!important;bottom:112px!important;font-size:clamp(42px,6vw,58px)!important;color:currentColor!important;opacity:.7!important}
.share-bottom-word{right:24px!important;bottom:64px!important;font-size:clamp(42px,6vw,58px)!important;color:currentColor!important;opacity:.7!important}
.share-small-note{left:24px!important;right:24px!important;bottom:20px!important;font-size:clamp(12px,1.8vw,15px)!important;line-height:1.22!important}
.tarot-result-copy-v20 h2{font-size:clamp(42px,6vw,76px)!important}

@media(max-width:920px){
  .tarot-result-center-v19{grid-template-columns:1fr!important;max-width:640px!important}
}
@media(max-width:640px){
  .tarot-centered-cards-v19{height:260px!important}
  .tarot-pick-card-v20{width:148px!important;min-width:0!important;top:32px!important}
  .tarot-pick-card-v20:nth-child(1){transform:translateX(-50%) rotate(-7deg) translate(-42px,18px)!important}
  .tarot-pick-card-v20:nth-child(2){transform:translateX(-50%) rotate(7deg) translate(42px,24px)!important}
  .tarot-pick-card-v20:nth-child(1):hover{transform:translateX(-50%) rotate(-7deg) translate(-42px,12px)!important}
  .tarot-pick-card-v20:nth-child(2):hover{transform:translateX(-50%) rotate(7deg) translate(42px,18px)!important}
  .daily-draw-preview .preview-stack{width:165px!important;height:205px!important;margin-bottom:40px!important}
  .tarot-large-card-wrap-v20{max-width:280px!important}
  .share-main-text{font-size:32px!important;top:132px!important}
  .share-top-script{font-size:32px!important;top:62px!important}
  .share-script-big{font-size:42px!important;bottom:102px!important}
  .share-bottom-word{font-size:42px!important;bottom:56px!important}
}


/* ===== V22 fixes: headline scale, smaller pick cards, readable share card ===== */
.tarot-hero-v19{padding-top:28px!important;padding-bottom:10px!important}
.tarot-hero-v19 .hero-split{font-size:clamp(42px,7.2vw,96px)!important;line-height:.88!important;max-width:12ch!important;margin:6px auto 10px!important}
.tarot-hero-v19 .hero-split span{display:block}
.tarot-hero-v19 .lead{max-width:760px!important;font-size:clamp(16px,2vw,24px)!important}

.tarot-pick-center-v19{padding:24px 18px 28px!important}
.tarot-pick-heading{position:relative;z-index:3;margin-bottom:10px!important}
.tarot-centered-cards-v19{height:210px!important;max-width:430px!important;margin:8px auto 18px!important}
.tarot-pick-card-v20{width:min(30vw,145px)!important;min-width:120px!important;top:10px!important}
.tarot-pick-card-v20 .tarot-back-shell-v20{aspect-ratio:3/4.25!important;border-radius:22px!important}
.tarot-pick-card-v20:nth-child(1){transform:translateX(-50%) rotate(-8deg) translate(-44px,10px)!important}
.tarot-pick-card-v20:nth-child(2){transform:translateX(-50%) rotate(8deg) translate(44px,16px)!important}
.tarot-pick-card-v20:nth-child(3){transform:translateX(-50%) rotate(0deg) translate(0,0)!important}
.tarot-pick-card-v20:nth-child(1):hover{transform:translateX(-50%) rotate(-8deg) translate(-44px,2px)!important}
.tarot-pick-card-v20:nth-child(2):hover{transform:translateX(-50%) rotate(8deg) translate(44px,8px)!important}
.tarot-pick-card-v20:nth-child(3):hover{transform:translateX(-50%) rotate(0deg) translateY(-8px)!important}
.tarot-pick-card-v20.is-picked{transform:translateX(-50%) scale(1.02)!important}
.tarot-pick-heading h2{font-size:clamp(30px,4.4vw,48px)!important;line-height:.96!important}
.tarot-pick-heading .eyebrow{margin-bottom:8px!important}

.tarot-result-center-v19{grid-template-columns:minmax(0,380px) minmax(0,1fr)!important;max-width:1040px!important;gap:32px!important}
.tarot-large-card-wrap-v20{width:min(100%,380px)!important;aspect-ratio:3/4.6!important}
.share-card{border-radius:28px!important;padding:28px 26px!important}
.share-logo{left:26px!important;top:24px!important;width:78px!important;z-index:5!important}
.share-top-script,.share-script-big,.share-bottom-word{font-family:Caveat,cursive!important;font-weight:700!important;letter-spacing:0!important}
.share-top-script{left:26px!important;top:88px!important;max-width:70%!important;font-size:44px!important;line-height:.86!important;opacity:.58!important;transform:none!important;z-index:1!important}
.share-main-text{position:absolute!important;left:26px!important;right:34px!important;top:176px!important;max-width:78%!important;font-size:40px!important;line-height:.98!important;letter-spacing:-.02em!important;z-index:3!important}
.share-script-big{left:26px!important;bottom:104px!important;font-size:52px!important;line-height:.9!important;opacity:.42!important;transform:none!important;z-index:1!important}
.share-bottom-word{right:26px!important;bottom:42px!important;font-size:56px!important;line-height:.9!important;opacity:.42!important;transform:none!important;z-index:1!important}
.share-small-note{left:26px!important;right:26px!important;bottom:18px!important;font-size:14px!important;line-height:1.2!important;opacity:.92!important;z-index:3!important;max-width:72%!important}
.share-card-red .share-top-script,.share-card-red .share-script-big,.share-card-red .share-bottom-word{color:#F6BCCF!important}
.share-card-pink .share-top-script,.share-card-pink .share-script-big,.share-card-pink .share-bottom-word{color:#8A2B2B!important}
.share-card-cream .share-top-script,.share-card-cream .share-script-big,.share-card-cream .share-bottom-word{color:#B98672!important}

@media(max-width:920px){
  .tarot-result-center-v19{grid-template-columns:1fr!important;max-width:680px!important}
  .tarot-large-card-wrap-v20{width:min(100%,380px)!important}
}
@media(max-width:640px){
  .tarot-hero-v19 .hero-split{font-size:48px!important}
  .tarot-centered-cards-v19{height:190px!important;max-width:320px!important}
  .tarot-pick-card-v20{width:118px!important;top:10px!important;min-width:0!important}
  .tarot-pick-card-v20:nth-child(1){transform:translateX(-50%) rotate(-7deg) translate(-34px,10px)!important}
  .tarot-pick-card-v20:nth-child(2){transform:translateX(-50%) rotate(7deg) translate(34px,16px)!important}
  .tarot-pick-card-v20:nth-child(1):hover{transform:translateX(-50%) rotate(-7deg) translate(-34px,4px)!important}
  .tarot-pick-card-v20:nth-child(2):hover{transform:translateX(-50%) rotate(7deg) translate(34px,10px)!important}
  .tarot-large-card-wrap-v20{width:min(100%,320px)!important;aspect-ratio:3/4.55!important}
  .share-card{padding:22px 20px!important;border-radius:24px!important}
  .share-logo{left:20px!important;top:18px!important;width:64px!important}
  .share-top-script{left:20px!important;top:70px!important;font-size:34px!important}
  .share-main-text{left:20px!important;right:24px!important;top:148px!important;max-width:80%!important;font-size:34px!important;line-height:1!important}
  .share-script-big{left:20px!important;bottom:92px!important;font-size:40px!important}
  .share-bottom-word{right:20px!important;bottom:40px!important;font-size:42px!important}
  .share-small-note{left:20px!important;right:20px!important;bottom:16px!important;font-size:12px!important;max-width:76%!important}
}


/* ===== V23 result cleanup ===== */
.tarot-result-copy-v23{display:grid;gap:18px;width:100%}
.tarot-result-main-block{display:grid;gap:14px}
.tarot-result-copy-v23 .eyebrow{margin:0;color:var(--currant)}
.tarot-result-copy-v23 h2{margin:0;font-family:Oswald,sans-serif;color:var(--currant);font-size:clamp(52px,8vw,110px);line-height:.9;letter-spacing:-.03em;text-transform:uppercase}
.tarot-result-copy-v23 .tarot-result-lead{margin:0;font-family:Syne,sans-serif;color:rgba(16,24,32,.72);font-size:clamp(18px,2vw,24px);line-height:1.35;max-width:28ch}
.tarot-primary-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.tarot-primary-actions .button{min-width:220px;justify-content:center}
.tarot-secondary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:rgba(16,24,32,.65)}
.mini-link-btn{appearance:none;border:0;background:none;padding:0;font:700 15px/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.03em;color:rgba(16,24,32,.78);cursor:pointer}
.mini-link-btn:hover{text-decoration:underline}
.mini-separator{opacity:.5}
.tarot-pairing-v23{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;margin-top:6px;padding:20px 22px;border-radius:26px;background:rgba(249,159,201,.12);border:1px solid rgba(138,43,43,.14)}
.tarot-pairing-v23 strong{display:block;margin:0 0 6px;font-family:Oswald,sans-serif;font-size:clamp(18px,2.4vw,28px);line-height:.96;letter-spacing:-.02em;text-transform:uppercase;color:var(--currant)}
.tarot-pairing-v23 p{margin:0;font-family:Syne,sans-serif;color:rgba(16,24,32,.74);line-height:1.35;max-width:46ch}
.tarot-pairing-v23 .card-actions{justify-content:flex-end;gap:10px;flex-wrap:wrap}

@media(max-width:920px){
  .tarot-result-copy-v23 h2{font-size:clamp(46px,10vw,82px)}
  .tarot-primary-actions .button{min-width:200px}
  .tarot-pairing-v23{grid-template-columns:1fr;align-items:start}
  .tarot-pairing-v23 .card-actions{justify-content:flex-start}
}
@media(max-width:640px){
  .tarot-result-copy-v23 h2{font-size:clamp(40px,12vw,62px)}
  .tarot-result-copy-v23 .tarot-result-lead{font-size:16px}
  .tarot-primary-actions{gap:10px}
  .tarot-primary-actions .button{width:100%;min-width:0}
  .tarot-secondary-actions{font-size:13px;gap:8px}
  .tarot-pairing-v23{padding:16px 16px 14px;border-radius:22px}
  .tarot-pairing-v23 strong{font-size:20px}
  .tarot-pairing-v23 p{font-size:14px}
}


/* ===== V24 daily draw cleanup + lipstick scene ===== */
.tarot-result-copy-v24{display:grid;gap:18px;width:100%}
.tarot-result-header-band{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:14px;align-items:center}
.tarot-result-copy-v24 h2{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--currant);font-size:clamp(52px,7.4vw,102px);line-height:.88;letter-spacing:-.05em;margin:0;max-width:8ch}
.tarot-result-copy-v24 .tarot-result-lead{margin:0;font-family:Syne,sans-serif;color:rgba(16,24,32,.74);font-size:clamp(18px,2vw,24px);line-height:1.33;max-width:24ch}
.tarot-product-scene{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center;isolation:isolate}
.tarot-product-scene.has-pair{min-height:320px}
.scene-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.55;z-index:0}
.orb-one{width:118px;height:118px;background:rgba(249,159,201,.24);top:18px;left:16px}
.orb-two{width:146px;height:146px;background:rgba(255,245,235,.95);bottom:14px;right:4px;border:1px solid rgba(138,43,43,.10)}
.scene-lipstick{position:absolute;display:block;width:112px;height:auto;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(16,24,32,.18));transform-origin:center center;z-index:2}
.scene-lipstick.primary{width:124px;right:18px;bottom:10px;animation:loloFloatPrimary 4.8s ease-in-out infinite}
.scene-lipstick.secondary{width:96px;left:4px;top:24px;transform:rotate(-10deg);animation:loloFloatSecondary 5.6s ease-in-out infinite}
@keyframes loloFloatPrimary{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-12px) rotate(0deg)}}
@keyframes loloFloatSecondary{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-10px) rotate(-4deg)}}
.tarot-pairing-v24{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;margin-top:4px;padding:18px 20px;border-radius:24px;background:rgba(249,159,201,.12);border:1px solid rgba(138,43,43,.12)}
.tarot-pairing-v24 strong{display:block;margin:0 0 6px;font-family:Oswald,sans-serif;font-size:clamp(18px,2.2vw,28px);line-height:.96;letter-spacing:-.02em;text-transform:uppercase;color:var(--currant)}
.tarot-pairing-v24 p{margin:0;font-family:Syne,sans-serif;color:rgba(16,24,32,.74);line-height:1.35;max-width:42ch}
.tarot-pairing-v24 .card-actions{justify-content:flex-end;gap:10px;flex-wrap:wrap}
.tarot-secondary-actions{margin-top:2px}

@media(max-width:980px){
  .tarot-result-copy-v24 h2{font-size:clamp(46px,9vw,82px)}
  .tarot-result-header-band{grid-template-columns:1fr 140px;gap:12px}
  .scene-lipstick.primary{width:108px;right:6px}
  .scene-lipstick.secondary{width:84px}
}
@media(max-width:760px){
  .tarot-result-header-band{grid-template-columns:1fr;gap:16px}
  .tarot-product-scene{order:-1;min-height:180px;max-width:260px;margin:0 auto 4px}
  .scene-lipstick.primary{width:108px;right:24px;bottom:0}
  .scene-lipstick.secondary{width:86px;left:18px;top:10px}
  .tarot-result-copy-v24 .tarot-result-lead{max-width:none}
  .tarot-pairing-v24{grid-template-columns:1fr;align-items:start}
  .tarot-pairing-v24 .card-actions{justify-content:flex-start}
}

.tarot-result-center-v19{grid-template-columns:minmax(0,360px) minmax(0,1fr)!important;max-width:1140px!important;align-items:center!important}


/* ===== V25 requested text + price + save stability tweaks ===== */
.product-type{text-transform:uppercase}
.promo-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.was-price{position:relative;display:inline-block;color:rgba(16,24,32,.55);font-weight:900}
.was-price::after{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:2px;background:#B82424;transform:rotate(-8deg)}
.price .was-price{font-size:.72em}
.button-was{margin-right:4px;color:rgba(255,250,244,.75)}
.button.ghost .button-was{color:rgba(16,24,32,.55)}
.cart-item .was-price{margin-right:6px}
.tarot-product-scene{pointer-events:none}


/* ===== V26 bilingual + 12-card draw + empowerment ===== */
html[lang="th"] body,
html[lang="th"] button,
html[lang="th"] input,
html[lang="th"] textarea{
  font-family: Montserrat, "Noto Sans Thai", sans-serif;
}
html[lang="th"] .lead,
html[lang="th"] .product-info p,
html[lang="th"] .tarot-result-lead,
html[lang="th"] .tarot-pairing-v24 p,
html[lang="th"] .empower-strip p,
html[lang="th"] .daily-draw-copy p,
html[lang="th"] .checkout-note,
html[lang="th"] .cart-item p{
  font-family: Syne, "Noto Sans Thai", sans-serif;
}
html[lang="th"] h1,
html[lang="th"] h2,
html[lang="th"] h3{
  word-break: keep-all;
}

.lang-toggle{
  border:1.5px solid rgba(16,24,32,.18);
  background:#fffaf4;
  border-radius:999px;
  padding:9px 12px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  cursor:pointer;
  color:var(--black);
}
.lang-toggle:hover{background:var(--pink)}

.empower-strip{
  margin:34px clamp(18px,5vw,80px);
  padding:24px 28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,360px);
  gap:24px;
  align-items:end;
  border:1px solid rgba(138,43,43,.14);
  background:linear-gradient(135deg, rgba(255,250,244,.9), rgba(249,159,201,.16));
  border-radius:30px;
  box-shadow:0 18px 44px rgba(138,43,43,.07);
}
.empower-strip h2{
  margin:0 0 8px;
  font-family:Oswald,sans-serif;
  color:var(--currant);
  text-transform:uppercase;
  letter-spacing:-.035em;
  font-size:clamp(34px,5vw,66px);
  line-height:.9;
}
.empower-strip p{margin:0;line-height:1.42}
.pledge-note{
  padding:16px 18px;
  border-radius:22px;
  background:#fffaf4;
  border:1px solid rgba(138,43,43,.14);
  font-weight:800;
  color:var(--currant);
}
.daily-empower{margin-top:0}

.tiny-prompt{
  margin:0 auto 22px;
  max-width:860px;
  padding:18px;
  border-radius:28px;
  background:rgba(255,250,244,.66);
  border:1px solid rgba(138,43,43,.10);
}
.tiny-prompt .eyebrow{
  margin:0 0 12px;
  text-align:center;
}
.prompt-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.prompt-chip{
  appearance:none;
  border:1.5px solid rgba(16,24,32,.12);
  background:#fffaf4;
  border-radius:999px;
  padding:12px 14px;
  cursor:pointer;
  text-align:center;
  display:grid;
  gap:4px;
  transition:.18s ease;
}
.prompt-chip strong{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.prompt-chip small{
  font-size:12px;
  color:rgba(16,24,32,.58);
  line-height:1.2;
}
.prompt-chip.selected,
.prompt-chip:hover{
  background:var(--currant);
  border-color:var(--currant);
  color:#fffaf4;
  transform:translateY(-1px);
}
.prompt-chip.selected small,
.prompt-chip:hover small{color:rgba(255,250,244,.78)}

.tarot-pick-center-v19{
  max-width:1080px!important;
}
.tarot-centered-cards-v19{
  height:auto!important;
  max-width:980px!important;
  margin:16px auto 8px!important;
  display:grid!important;
  grid-template-columns:repeat(4, minmax(100px, 1fr))!important;
  gap:16px!important;
  overflow:visible!important;
}
.tarot-pick-card-v20{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:100%!important;
  min-width:0!important;
  transform:none!important;
  transition:transform .18s ease, opacity .18s ease!important;
}
.tarot-pick-card-v20:hover{transform:translateY(-6px) rotate(-1deg)!important;z-index:4}
.tarot-pick-card-v20.is-picked{transform:translateY(-8px) scale(1.02)!important;z-index:5!important}
.tarot-pick-card-v20.is-dimmed{opacity:.12!important;transform:none!important}
.tarot-pick-card-v20 .tarot-back-shell-v20{
  aspect-ratio:3/4.2!important;
  border-radius:24px!important;
}
.tarot-pick-card-v20:nth-child(3n+1) .tarot-back-shell-v20{background:#B82424!important}
.tarot-pick-card-v20:nth-child(3n+2) .tarot-back-shell-v20{background:#F39AC4!important}
.tarot-pick-card-v20:nth-child(3n+3) .tarot-back-shell-v20{background:#FFF5EB!important}
.tarot-pick-card-v20 .tarot-back-shell-v20 img{
  width:42%!important;
  max-width:92px!important;
}

html[lang="th"] .share-main-text{
  font-family: Oswald, "Noto Sans Thai", sans-serif!important;
  line-height:1.02!important;
}
html[lang="th"] .share-small-note{
  font-family: Syne, "Noto Sans Thai", sans-serif!important;
}
html[lang="th"] .tarot-result-copy-v24 h2{
  font-family: Oswald, "Noto Sans Thai", sans-serif!important;
}

@media(max-width:920px){
  .empower-strip{grid-template-columns:1fr}
  .prompt-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tarot-centered-cards-v19{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;max-width:620px!important}
}
@media(max-width:640px){
  .site-header nav{gap:8px}
  .lang-toggle{padding:7px 9px;font-size:11px}
  .empower-strip{margin:24px 16px;padding:20px}
  .prompt-options{grid-template-columns:1fr 1fr}
  .prompt-chip{border-radius:20px;padding:10px 8px}
  .prompt-chip strong{font-size:11px}
  .prompt-chip small{font-size:11px}
  .tarot-centered-cards-v19{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;max-width:360px!important}
  .tarot-pick-card-v20 .tarot-back-shell-v20{border-radius:18px!important}
  .tarot-pick-card-v20 .tarot-back-shell-v20 img{width:48%!important}
}


/* ===== V27 fixes: Thai readability + 12-card overlapped row ===== */
html[lang="th"] .daily-draw-copy .split-headline,
html[lang="th"] .tarot-hero-v19 .hero-split,
html[lang="th"] .hero-copy h1,
html[lang="th"] .shop-hero h1,
html[lang="th"] .cart-heading h1,
html[lang="th"] .intro-section h2,
html[lang="th"] .section-title h2,
html[lang="th"] .shop-copy-block h2,
html[lang="th"] .empower-strip h2,
html[lang="th"] .compact-title h2{
  font-family: "Noto Sans Thai", Montserrat, sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.03em !important;
  line-height: 0.98 !important;
}
html[lang="th"] .hero-copy h1,
html[lang="th"] .shop-hero h1,
html[lang="th"] .cart-heading h1{
  font-size: clamp(44px, 8vw, 108px) !important;
}
html[lang="th"] .daily-draw-copy .split-headline,
html[lang="th"] .tarot-hero-v19 .hero-split{
  font-size: clamp(38px, 7vw, 92px) !important;
  max-width: 11ch !important;
  margin: 4px auto 10px !important;
}
html[lang="th"] .empower-strip h2{
  font-size: clamp(34px, 6vw, 82px) !important;
}
html[lang="th"] .compact-title h2,
html[lang="th"] .section-title h2{
  font-size: clamp(30px, 4.8vw, 62px) !important;
}
html[lang="th"] .lead,
html[lang="th"] .section-title p:last-child,
html[lang="th"] .daily-draw-copy p,
html[lang="th"] .empower-strip p,
html[lang="th"] .tarot-hero p,
html[lang="th"] .tarot-pairing-copy p,
html[lang="th"] .product-info p,
html[lang="th"] .tarot-result-lead,
html[lang="th"] .checkout-note{
  font-family: "Noto Sans Thai", Syne, sans-serif !important;
  line-height: 1.35 !important;
}
html[lang="th"] .eyebrow,
html[lang="th"] .product-type{
  letter-spacing: 0 !important;
}
html[lang="th"] .site-header nav,
html[lang="th"] .button,
html[lang="th"] .mini-btn,
html[lang="th"] .mini-link-btn,
html[lang="th"] .lang-toggle{
  font-family: "Noto Sans Thai", Montserrat, sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* remove prompt spacing after block removal */
.tarot-pick-center-v19{
  max-width: 1180px !important;
  padding: 24px 18px 30px !important;
}
.tarot-pick-heading{margin-bottom: 10px !important;}
.tarot-pick-heading h2{
  font-family: Oswald, sans-serif;
  font-size: clamp(42px, 6vw, 88px);
  line-height: .9;
  letter-spacing: -.04em;
  color: var(--currant);
  margin: 0;
  text-transform: uppercase;
}
html[lang="th"] .tarot-pick-heading h2{
  font-family: "Noto Sans Thai", Montserrat, sans-serif !important;
  font-size: clamp(30px, 5vw, 72px) !important;
  text-transform: none !important;
  line-height: 1.0 !important;
  letter-spacing: -0.03em !important;
}

/* 12 cards: one overlapped row like original 3-card spread */
.tarot-centered-cards-v19{
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  flex-wrap: nowrap !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 8px auto 14px !important;
  padding: 8px 24px 18px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: none;
}
.tarot-centered-cards-v19::-webkit-scrollbar{display:none}
.tarot-pick-card-v20{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  flex: 0 0 118px !important;
  width: 118px !important;
  min-width: 118px !important;
  margin-left: -48px !important;
  transform: translateY(0) rotate(0deg) !important;
  transform-origin: bottom center !important;
}
.tarot-pick-card-v20:first-child{margin-left:0 !important}
.tarot-pick-card-v20:nth-child(odd){transform: rotate(-2deg) !important}
.tarot-pick-card-v20:nth-child(even){transform: rotate(2deg) !important}
.tarot-pick-card-v20:hover{
  transform: translateY(-8px) scale(1.03) rotate(0deg) !important;
  z-index: 40 !important;
}
.tarot-pick-card-v20.is-picked{
  transform: translateY(-12px) scale(1.04) rotate(0deg) !important;
  z-index: 55 !important;
}
.tarot-pick-card-v20.is-dimmed{
  opacity: .18 !important;
}
.tarot-pick-card-v20 .tarot-back-shell-v20{
  aspect-ratio: 3 / 4.25 !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 38px rgba(16,24,32,.14) !important;
}
.tarot-pick-card-v20 .tarot-back-shell-v20 img{
  width: 42% !important;
  max-width: 90px !important;
}
.tarot-pick-card-v20:nth-child(3n+1) .tarot-back-shell-v20{background:#B82424 !important}
.tarot-pick-card-v20:nth-child(3n+2) .tarot-back-shell-v20{background:#F39AC4 !important}
.tarot-pick-card-v20:nth-child(3n+3) .tarot-back-shell-v20{background:#FFF5EB !important}

@media (max-width: 1100px){
  .tarot-centered-cards-v19{justify-content:flex-start !important;}
}
@media (max-width: 900px){
  .tarot-pick-card-v20{
    flex-basis: 100px !important;
    width: 100px !important;
    min-width: 100px !important;
    margin-left: -42px !important;
  }
  .tarot-pick-card-v20 .tarot-back-shell-v20{border-radius: 24px !important}
}
@media (max-width: 640px){
  html[lang="th"] .daily-draw-copy .split-headline,
  html[lang="th"] .tarot-hero-v19 .hero-split{font-size: 48px !important; max-width: 9ch !important;}
  html[lang="th"] .empower-strip h2{font-size: 40px !important;}
  html[lang="th"] .compact-title h2,
  html[lang="th"] .section-title h2{font-size: 34px !important;}
  .tarot-pick-center-v19{padding: 18px 12px 24px !important;}
  .tarot-centered-cards-v19{padding: 8px 12px 16px !important;}
  .tarot-pick-card-v20{
    flex-basis: 88px !important;
    width: 88px !important;
    min-width: 88px !important;
    margin-left: -38px !important;
  }
  .tarot-pick-card-v20 .tarot-back-shell-v20{border-radius: 20px !important}
}


/* ===== V28 fixes: tighter 12-card stack ===== */
.tarot-pick-card-v20{
  margin-left: -60px !important;
}
@media (max-width: 900px){
  .tarot-pick-card-v20{ margin-left: -52px !important; }
}
@media (max-width: 640px){
  .tarot-pick-card-v20{ margin-left: -46px !important; }
}


/* ===== V30 tighter 12-card stack + mobile polish ===== */
.tarot-centered-cards-v19{
  --stack-step: 35px;
  position: relative !important;
  display: block !important;
  height: 238px !important;
  max-width: 760px !important;
  margin: 6px auto 14px !important;
  overflow: visible !important;
  isolation: isolate;
}
.tarot-pick-card-v20{
  position: absolute !important;
  left: calc(50% + (var(--offset) * var(--stack-step))) !important;
  top: var(--drop) !important;
  width: clamp(90px, 10vw, 122px) !important;
  min-width: 0 !important;
  appearance: none;
  transform: translateX(-50%) rotate(var(--tilt)) !important;
  transform-origin: center center !important;
  z-index: var(--depth) !important;
}
.tarot-pick-card-v20 .tarot-back-shell-v20{
  aspect-ratio: 3 / 4.2 !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 28px rgba(16,24,32,.14) !important;
}
.tarot-pick-card-v20:hover{
  transform: translateX(-50%) translateY(-10px) rotate(var(--tilt)) !important;
  z-index: 99 !important;
}
.tarot-pick-card-v20.is-picked{
  left: 50% !important;
  top: 10px !important;
  transform: translateX(-50%) scale(1.04) rotate(0deg) !important;
  z-index: 120 !important;
}
.tarot-pick-card-v20.is-dimmed{
  opacity: .16 !important;
  filter: saturate(.8) !important;
}
.tarot-pick-card-v20.card-color-0 .tarot-back-shell-v20{background:#B82424 !important;}
.tarot-pick-card-v20.card-color-1 .tarot-back-shell-v20{background:#F39AC4 !important;}
.tarot-pick-card-v20.card-color-2 .tarot-back-shell-v20{background:#FFF5EB !important;}
.tarot-pick-card-v20.card-color-2 .tarot-back-shell-v20 img{filter:brightness(0) !important;}
.tarot-pick-card-v20.card-color-0 .tarot-back-shell-v20 img,
.tarot-pick-card-v20.card-color-1 .tarot-back-shell-v20 img{filter:brightness(0) !important;}

@media (max-width: 640px){
  .tarot-pick-center-v19{
    padding: 20px 10px 24px !important;
  }
  .tarot-centered-cards-v19{
    --stack-step: 20px;
    height: 182px !important;
    max-width: 324px !important;
    margin-bottom: 12px !important;
  }
  .tarot-pick-card-v20{
    width: 82px !important;
  }
  .tarot-pick-card-v20 .tarot-back-shell-v20{
    border-radius: 18px !important;
  }
  .tarot-pick-heading h2{
    font-size: clamp(28px, 9vw, 42px) !important;
  }
}


/* ===== V32 price line, clickable card teaser, smoother modal, easier 12-card picking ===== */
.lead .lead-was,
.shop-hero .lead-was,
.hero-copy .lead-was{
  font-size:.82em;
  margin:0 .12em;
}
.daily-draw-preview{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
.daily-draw-preview:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 42px rgba(138,43,43,.12);
}
.daily-draw-preview:focus-visible{
  outline:3px solid var(--currant);
  outline-offset:6px;
}

/* loosen card spread a touch so each card is easier to click */
.tarot-centered-cards-v19{
  --stack-step: 41px !important;
  height: 248px !important;
  max-width: 820px !important;
}
.tarot-pick-card-v20{
  width: clamp(92px, 10vw, 124px) !important;
}
.tarot-pick-card-v20:hover{
  transform: translateX(-50%) translateY(-12px) scale(1.035) rotate(var(--tilt)) !important;
}
@media(max-width:640px){
  .tarot-centered-cards-v19{
    --stack-step: 23px !important;
    height: 184px !important;
    max-width: 356px !important;
  }
  .tarot-pick-card-v20{
    width: 78px !important;
  }
}

/* keep modal image area stable while images decode */
.modal-gallery-single{
  height: min(72vh, 620px) !important;
  min-height: 520px !important;
}
.modal-single-frame{
  height: 100% !important;
  min-height: 0 !important;
  contain: layout paint;
}
.modal-main-img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
@media(max-width:700px){
  .modal-gallery-single{
    height: min(64vh, 520px) !important;
    min-height: 380px !important;
  }
}


/* ===== V34 product modal: show full images, no cropping ===== */
.modal-panel-single{
  overflow: auto !important;
  max-height: 94vh !important;
}
.modal-gallery-single{
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.modal-single-frame{
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  background: rgba(255,250,244,.35);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.modal-main-img{
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 78vh !important;
  object-fit: contain !important;
  display: block !important;
}
@media(max-width:900px){
  .modal-panel-single{
    max-height: 96vh !important;
    overflow: auto !important;
  }
  .modal-gallery-single{
    padding: 18px !important;
  }
  .modal-main-img{
    max-height: 62vh !important;
  }
}


/* ===== V35 policy footer + stock status ===== */
.footer{align-items:flex-start}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.footer-links a{text-decoration:none;border-bottom:1px solid rgba(16,24,32,.24)}
html[lang="th"] .footer-links{text-transform:none;letter-spacing:0}
.stock-status{
  margin:4px 0 0!important;
  display:inline-flex;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px!important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  background:rgba(16,24,32,.08);
  color:rgba(16,24,32,.74)!important;
}
.stock-status.sold-out{
  background:#B82424;
  color:#fffaf4!important;
}
button:disabled{
  opacity:.45;
  cursor:not-allowed!important;
}
.policy-page{
  padding:64px clamp(18px,5vw,80px);
}
.policy-card{
  max-width:900px;
  background:rgba(255,250,244,.76);
  border:1px solid rgba(16,24,32,.10);
  border-radius:34px;
  padding:clamp(24px,4vw,44px);
  box-shadow:0 18px 44px rgba(138,43,43,.08);
}
.policy-card h1{
  font-family:Oswald,"Noto Sans Thai",sans-serif;
  font-size:clamp(48px,8vw,110px);
  line-height:.88;
  letter-spacing:-.05em;
  color:var(--currant);
  margin:0 0 18px;
  text-transform:uppercase;
}
html[lang="th"] .policy-card h1{text-transform:none;line-height:1;letter-spacing:-.03em}
.policy-card p,.policy-card li{
  font-family:Syne,"Noto Sans Thai",sans-serif;
  line-height:1.55;
  color:rgba(16,24,32,.78);
}
.policy-card ul{padding-left:22px}


/* ===== V37 LO:LO polaroid after card draw ===== */
.polaroid-studio{
  margin-top:18px;
  padding:clamp(18px,3vw,28px);
  border:1px solid rgba(16,24,32,.10);
  border-radius:30px;
  background:linear-gradient(135deg, rgba(255,250,244,.88), rgba(243,154,196,.20));
  box-shadow:0 18px 46px rgba(138,43,43,.08);
}
.polaroid-studio-copy h3{
  font-family:Oswald,"Noto Sans Thai",sans-serif;
  color:var(--currant);
  font-size:clamp(34px,5vw,66px);
  line-height:.92;
  letter-spacing:-.045em;
  text-transform:uppercase;
  margin:4px 0 8px;
}
html[lang="th"] .polaroid-studio-copy h3{
  font-family:"Noto Sans Thai",Montserrat,sans-serif;
  text-transform:none;
  line-height:1.05;
  letter-spacing:-.035em;
}
.polaroid-studio-copy p:not(.eyebrow),
.polaroid-note{
  color:rgba(16,24,32,.68);
  line-height:1.45;
}
.polaroid-actions,
.polaroid-camera-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
  align-items:center;
}
.upload-polaroid-label{cursor:pointer}
.polaroid-note{font-size:12px;margin:12px 0 0}
.polaroid-camera,
.polaroid-preview{
  margin-top:18px;
  display:grid;
  gap:14px;
  justify-items:center;
}
.polaroid-camera[hidden],
.polaroid-preview[hidden]{display:none!important}
#polaroidVideo{
  width:min(100%,380px);
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:26px;
  background:#101820;
  transform:scaleX(-1);
  box-shadow:0 18px 38px rgba(16,24,32,.14);
}
.polaroid-preview img{
  width:min(100%,360px);
  max-height:640px;
  object-fit:contain;
  border-radius:20px;
  box-shadow:0 20px 44px rgba(16,24,32,.16);
  background:#fffaf4;
}
@media(max-width:700px){
  .polaroid-actions,
  .polaroid-camera-actions{
    align-items:stretch;
  }
  .polaroid-actions .button,
  .polaroid-camera-actions .mini-btn{
    width:100%;
    justify-content:center;
  }
  #polaroidVideo,.polaroid-preview img{
    width:100%;
  }
}


/* ===== V38 tighter result + true polaroid output ===== */
.share-top-script{
  top: 112px !important;
  left: 28px !important;
  font-size: clamp(24px,3.4vw,38px) !important;
  max-width: 74% !important;
}
.share-main-text{
  top: 196px !important;
}
.polaroid-studio-compact{
  margin:14px 0 0 !important;
  padding:16px !important;
  border-radius:22px !important;
  background:rgba(255,250,244,.74) !important;
  box-shadow:none !important;
}
.polaroid-studio-compact .polaroid-studio-copy{
  display:grid;
  gap:4px;
}
.polaroid-studio-compact .polaroid-studio-copy h3{
  font-size:clamp(28px,3.8vw,44px) !important;
  line-height:.96 !important;
  margin:0 !important;
}
.polaroid-studio-compact .polaroid-studio-copy p:not(.eyebrow){
  margin:0 !important;
  font-size:14px;
}
.polaroid-studio-compact .polaroid-note{
  margin-top:8px !important;
}
.polaroid-studio-compact .polaroid-actions{
  margin-top:10px !important;
}
.polaroid-studio-compact #polaroidVideo{
  width:min(100%,310px) !important;
  aspect-ratio:1/1 !important;
  border-radius:18px !important;
}
.polaroid-studio-compact .polaroid-preview img{
  width:min(100%,310px) !important;
  max-height:360px !important;
  border-radius:12px !important;
  background:#f7f4ef !important;
}
@media(min-width:900px){
  .tarot-result-main-block{
    align-self:start;
  }
}
@media(max-width:700px){
  .share-top-script{
    top: 104px !important;
  }
  .share-main-text{
    top: 184px !important;
  }
  .polaroid-studio-compact{
    padding:14px !important;
  }
}


/* ===== V39 polaroid mood picker + clean footer ===== */
.polaroid-mood-picker{
  margin:10px 0 4px;
}
.polaroid-mood-label{
  margin:0 0 8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8A2B2B;
}
.polaroid-mood-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.polaroid-mood-btn{
  appearance:none;
  border:1px solid rgba(138,43,43,.18);
  background:#fff;
  color:#101820;
  padding:10px 12px;
  border-radius:999px;
  font:700 13px/1.1 Montserrat, Arial, sans-serif;
  cursor:pointer;
  transition:.18s ease;
}
.polaroid-mood-btn:hover{
  transform:translateY(-1px);
}
.polaroid-mood-btn.is-active{
  background:#8A2B2B;
  color:#fff;
  border-color:#8A2B2B;
  box-shadow:0 6px 16px rgba(138,43,43,.16);
}
.polaroid-studio-compact .polaroid-actions{
  margin-top:12px !important;
}
.polaroid-studio-compact #polaroidVideo,
.polaroid-studio-compact .polaroid-preview img{
  width:min(100%,330px) !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  background:#f4f0ea !important;
}
.polaroid-preview img{
  box-shadow:0 14px 24px rgba(16,24,32,.08);
}
@media(max-width:700px){
  .polaroid-mood-options{gap:6px;}
  .polaroid-mood-btn{font-size:12px;padding:9px 11px;}
}


/* ===== V40 integrated polaroid card + countdown ===== */
.polaroid-mood-picker[hidden]{display:none!important;}
.polaroid-mood-options{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.polaroid-mood-btn{
  min-width:70px;
  text-align:center;
}
.polaroid-studio-compact{
  max-width:420px;
}
.polaroid-camera{
  position:relative;
}
.polaroid-countdown{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:Oswald,"Noto Sans Thai",sans-serif;
  font-size:clamp(80px,18vw,150px);
  line-height:1;
  color:#FFF8F2;
  text-shadow:0 8px 28px rgba(0,0,0,.45);
  z-index:5;
  pointer-events:none;
}
.polaroid-countdown[hidden]{display:none!important;}
.polaroid-card-status{
  justify-items:start !important;
  gap:8px !important;
}
.polaroid-card-status p{
  margin:0;
  color:rgba(16,24,32,.66);
  font-size:13px;
  font-weight:700;
}
.share-card.has-polaroid .share-main-text{
  max-width:58% !important;
  right:auto !important;
  font-size:clamp(32px,4vw,50px) !important;
}
.share-polaroid-live{
  position:absolute;
  right:28px;
  top:365px;
  width:34%;
  max-width:190px;
  z-index:6;
  transform:rotate(5deg);
  filter:drop-shadow(0 14px 18px rgba(16,24,32,.18));
}
.share-polaroid-live img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:700px){
  .share-card.has-polaroid .share-main-text{
    max-width:57% !important;
    font-size:clamp(28px,8vw,42px) !important;
  }
  .share-polaroid-live{
    right:18px;
    top:330px;
    width:36%;
  }
}


/* ===== V41 restore visible card spread after JS fix ===== */
.tarot-centered-cards-v19{
  min-height: 210px !important;
  overflow: visible !important;
}
.tarot-pick-card-v20{
  display: block !important;
  visibility: visible !important;
  opacity: 1;
}
.tarot-pick-card-v20.is-dimmed{
  opacity: .18 !important;
}


/* ===== V42 cleaner polaroid controls, no live overlay on card ===== */
.share-polaroid-live{
  display:none !important;
}
.share-card.has-polaroid .share-main-text{
  max-width:84% !important;
  right:28px !important;
  font-size:clamp(36px,4.6vw,58px) !important;
}
.polaroid-studio-compact{
  max-width:560px !important;
  padding:18px !important;
}
.polaroid-studio-compact .polaroid-studio-copy h3{
  font-size:clamp(34px,4.4vw,56px) !important;
  line-height:.92 !important;
}
.polaroid-mood-picker{
  margin:12px 0 0 !important;
}
.polaroid-actions,
.polaroid-camera-actions{
  gap:8px !important;
}
.polaroid-card-status{
  margin-top:12px !important;
  padding-top:0 !important;
}
.polaroid-card-status p{
  display:none !important;
}
.polaroid-card-status .polaroid-camera-actions{
  justify-content:flex-start !important;
  align-items:center !important;
}
.polaroid-card-status .mini-btn{
  padding:10px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
}
@media(min-width:900px){
  .polaroid-studio-compact{
    display:block !important;
  }
}
@media(max-width:700px){
  .polaroid-card-status .polaroid-camera-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
}


/* ===== V43 preview after photo + smaller result typography ===== */
.polaroid-card-status{
  display:grid !important;
  grid-template-columns:minmax(96px, 128px) 1fr !important;
  gap:12px !important;
  align-items:center !important;
  justify-items:start !important;
}
.polaroid-card-status[hidden]{display:none !important;}
.polaroid-card-status img{
  display:block !important;
  width:124px !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  border-radius:12px !important;
  background:#f4f0ea !important;
  box-shadow:0 10px 20px rgba(16,24,32,.10) !important;
}
.polaroid-card-status .polaroid-camera-actions{
  margin-top:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
.polaroid-card-status .mini-btn{
  padding:10px 13px !important;
  font-size:12.5px !important;
  line-height:1.05 !important;
}

/* Reduce large red headings in result/card tools area */
.tarot-result-copy-v24 h2,
.tarot-result-main-block h2{
  font-size:clamp(36px, 4.8vw, 64px) !important;
  line-height:.92 !important;
  margin-bottom:8px !important;
}
.polaroid-studio-compact .polaroid-studio-copy h3{
  font-size:clamp(30px, 4vw, 48px) !important;
  line-height:.94 !important;
  margin-bottom:4px !important;
}
.tarot-pairing-copy strong,
.tarot-pairing-v24 strong{
  font-size:clamp(28px, 4vw, 44px) !important;
  line-height:.95 !important;
}
.tarot-result-lead,
.polaroid-studio-compact .polaroid-studio-copy p:not(.eyebrow){
  font-size:clamp(14px, 1.7vw, 18px) !important;
  line-height:1.35 !important;
}

html[lang="th"] .tarot-result-copy-v24 h2,
html[lang="th"] .tarot-result-main-block h2{
  font-size:clamp(32px, 4.5vw, 58px) !important;
  line-height:1 !important;
}
html[lang="th"] .polaroid-studio-compact .polaroid-studio-copy h3{
  font-size:clamp(28px, 3.8vw, 44px) !important;
  line-height:1.05 !important;
}
html[lang="th"] .tarot-pairing-copy strong,
html[lang="th"] .tarot-pairing-v24 strong{
  font-size:clamp(26px, 3.8vw, 40px) !important;
  line-height:1.05 !important;
}

@media(max-width:700px){
  .polaroid-card-status{
    grid-template-columns:96px 1fr !important;
  }
  .polaroid-card-status img{
    width:96px !important;
  }
  .polaroid-card-status .polaroid-camera-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
}


/* ===== V43b show preview thumbnail, keep web card clean ===== */
.share-polaroid-live{display:none!important}
.share-card.has-polaroid .share-main-text{
  max-width:84%!important;
  right:28px!important;
}
.polaroid-card-status{
  display:grid!important;
  grid-template-columns:minmax(96px,128px) 1fr!important;
  gap:12px!important;
  align-items:center!important;
  justify-items:start!important;
  margin-top:12px!important;
}
.polaroid-card-status[hidden]{display:none!important}
.polaroid-card-status img{
  display:block!important;
  width:124px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:12px!important;
  background:#f4f0ea!important;
  box-shadow:0 10px 20px rgba(16,24,32,.10)!important;
}
.polaroid-card-status .polaroid-camera-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:0!important;
}
.polaroid-card-status .mini-btn{
  padding:10px 13px!important;
  border-radius:999px!important;
  font-size:12.5px!important;
}
@media(max-width:700px){
  .polaroid-card-status{grid-template-columns:92px 1fr!important}
  .polaroid-card-status img{width:92px!important}
  .polaroid-card-status .polaroid-camera-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
}


/* ===== V44 simplified result + lighter polaroid UI ===== */
.tarot-result-header-band{
  grid-template-columns:1fr !important;
  gap:12px !important;
  padding-bottom:0 !important;
}
.tarot-product-scene,
.tarot-pairing-box,
.tarot-pairing-v24{
  display:none !important;
}
.tarot-result-copy-v24{
  max-width:760px !important;
  margin-inline:auto !important;
}
.polaroid-studio-compact{
  max-width:640px !important;
  margin-top:12px !important;
  padding:16px !important;
  border-radius:24px !important;
}
.polaroid-studio-compact .polaroid-studio-copy h3{
  font-size:clamp(26px, 3.4vw, 40px) !important;
  line-height:1 !important;
}
.polaroid-studio-compact .polaroid-studio-copy p:not(.eyebrow){
  font-size:14px !important;
  line-height:1.35 !important;
}
.polaroid-note{
  display:none !important;
}
.polaroid-mood-picker{
  margin:8px 0 0 !important;
}
.polaroid-mood-label{
  font-size:11px !important;
  margin-bottom:6px !important;
}
.polaroid-mood-options{
  gap:6px !important;
}
.polaroid-mood-btn{
  min-width:0 !important;
  padding:8px 12px !important;
  font-size:12px !important;
}
.polaroid-actions-minimal{
  display:flex !important;
  gap:12px !important;
  align-items:center !important;
  margin-top:10px !important;
}
.polaroid-actions-minimal .button{
  padding:12px 20px !important;
  min-height:0 !important;
  font-size:13px !important;
}
.upload-polaroid-link{
  appearance:none;
  border:0;
  background:transparent;
  color:#8A2B2B;
  font:800 12px/1 Montserrat, "Noto Sans Thai", sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:4px;
}
.polaroid-card-status{
  grid-template-columns:92px 1fr !important;
  gap:10px !important;
  margin-top:10px !important;
}
.polaroid-card-status img{
  width:92px !important;
  border-radius:10px !important;
}
.polaroid-save-actions{
  display:flex !important;
  gap:7px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}
.polaroid-save-actions .mini-btn{
  padding:9px 12px !important;
  font-size:11.5px !important;
}
.polaroid-retake-link{
  padding:0 !important;
  color:#8A2B2B !important;
  text-decoration:underline !important;
  text-underline-offset:4px !important;
  font-size:12px !important;
}
.tarot-secondary-actions{
  margin-top:12px !important;
}

@media(max-width:700px){
  .polaroid-studio-compact{
    padding:14px !important;
  }
  .polaroid-actions-minimal{
    align-items:flex-start !important;
  }
  .polaroid-actions-minimal .button{
    width:auto !important;
  }
  .polaroid-card-status{
    grid-template-columns:82px 1fr !important;
  }
  .polaroid-card-status img{
    width:82px !important;
  }
  .polaroid-save-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
}


/* ===== V45 balanced result + simpler actions ===== */
.tarot-result-center-v19{
  display:grid !important;
  grid-template-columns:minmax(300px, 380px) minmax(0, 560px) !important;
  gap:34px !important;
  align-items:start !important;
  justify-content:center !important;
  max-width:1040px !important;
  margin-inline:auto !important;
}
.tarot-result-card-area,
.tarot-result-cta-v19{
  width:100% !important;
}
.tarot-large-card-wrap-v20{
  width:min(100%, 385px) !important;
  margin:0 auto !important;
}
.tarot-result-copy-v45{
  display:grid !important;
  gap:14px !important;
  width:100% !important;
}
.tarot-result-header-band-v45{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.tarot-result-main-block{
  display:grid;
  gap:10px;
}
.tarot-result-copy-v45 h2{
  margin:0 !important;
  max-width:7ch !important;
  font-size:clamp(52px,6vw,92px) !important;
}
.tarot-result-copy-v45 .tarot-result-lead{
  margin:0 !important;
  max-width:22ch !important;
}
.tarot-primary-actions-v45{
  display:flex !important;
  gap:10px !important;
}
.tarot-primary-actions-v45 .button{
  min-height:48px !important;
  padding:12px 22px !important;
}
.polaroid-studio-v45{
  margin-top:4px !important;
  max-width:100% !important;
  padding:18px !important;
}
.polaroid-studio-v45 .polaroid-studio-copy{
  display:grid !important;
  gap:6px !important;
}
.polaroid-studio-v45 .polaroid-studio-copy h3{
  font-size:clamp(28px,4vw,46px) !important;
}
.polaroid-studio-v45 .polaroid-actions-minimal{
  margin-top:4px !important;
}
.polaroid-studio-v45 .polaroid-mood-picker{
  margin-top:4px !important;
}
.polaroid-empty-state{
  display:grid;
  grid-template-columns:108px 1fr;
  gap:14px;
  align-items:center;
  margin-top:12px;
  padding:14px;
  border:1px dashed rgba(138,43,43,.18);
  border-radius:18px;
  background:rgba(255,255,255,.45);
}
.polaroid-empty-state[hidden]{display:none !important;}
.polaroid-empty-visual{display:flex;justify-content:center;}
.polaroid-empty-card{
  position:relative;
  width:82px;
  height:94px;
  background:#FBF9F5;
  border-radius:6px;
  box-shadow:0 10px 18px rgba(16,24,32,.08);
}
.polaroid-empty-card::before{
  content:'';
  position:absolute;
  left:8px;
  right:8px;
  top:8px;
  height:56px;
  border-radius:3px;
  background:linear-gradient(135deg, rgba(138,43,43,.10), rgba(16,24,32,.05));
}
.polaroid-empty-card::after{
  content:'LO:LO';
  position:absolute;
  left:0; right:0; bottom:10px;
  text-align:center;
  font:800 11px/1 Montserrat, "Noto Sans Thai", sans-serif;
  color:#101820;
}
.polaroid-empty-copy strong{
  display:block;
  font:800 13px/1.1 Montserrat, "Noto Sans Thai", sans-serif;
  color:#101820;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.polaroid-empty-copy p{
  margin:0;
  color:rgba(16,24,32,.62);
  font:600 13px/1.35 Syne, "Noto Sans Thai", sans-serif;
}
.polaroid-camera,
.polaroid-preview{
  margin-top:12px !important;
}
.polaroid-studio-v45 #polaroidVideo,
.polaroid-studio-v45 .polaroid-preview img{
  width:min(100%, 270px) !important;
  margin-inline:auto !important;
}
.polaroid-card-status{
  grid-template-columns:96px 1fr !important;
  align-items:center !important;
}
.polaroid-card-status img{
  width:96px !important;
}
.polaroid-save-actions{
  gap:8px !important;
}
.polaroid-save-actions .mini-btn{
  min-height:40px !important;
}
.tarot-secondary-actions-v45{
  margin-top:0 !important;
}
@media (max-width: 900px){
  .tarot-result-center-v19{
    grid-template-columns:1fr !important;
    max-width:760px !important;
    gap:24px !important;
  }
  .tarot-result-card-area{order:1;}
  .tarot-result-cta-v19{order:2;}
  .tarot-large-card-wrap-v20{width:min(100%,340px)!important;}
}
@media (max-width: 640px){
  .polaroid-empty-state{
    grid-template-columns:82px 1fr;
    gap:10px;
    padding:12px;
  }
  .tarot-result-copy-v45 h2{
    font-size:clamp(44px, 14vw, 72px) !important;
  }
  .polaroid-studio-v45 .polaroid-actions-minimal{
    flex-wrap:wrap !important;
  }
  .polaroid-card-status{
    grid-template-columns:1fr !important;
  }
  .polaroid-card-status img{
    width:110px !important;
    margin-inline:0 !important;
  }
}


/* ===== V46b refined result layout ===== */
.tarot-result-center-v19{
  display:grid !important;
  grid-template-columns:minmax(280px, 380px) minmax(0, 700px) !important;
  gap:34px !important;
  align-items:start !important;
  justify-content:center !important;
  max-width:1140px !important;
  margin-inline:auto !important;
}
.tarot-result-card-stack-v46{
  display:grid;
  gap:14px;
  align-content:start;
}
.tarot-card-under-actions-v46{
  display:flex;
  justify-content:flex-start;
  padding-left:6px;
}
.tarot-result-copy-v46{
  display:grid !important;
  gap:0 !important;
  width:100% !important;
}
.tarot-result-header-band-v46{
  display:grid !important;
  grid-template-columns:minmax(220px, 280px) minmax(340px, 1fr) !important;
  gap:28px !important;
  align-items:start !important;
}
.tarot-result-main-block-v46{
  display:grid;
  gap:12px;
  align-content:start;
  padding-top:6px;
}
.tarot-result-main-block-v46 .eyebrow{
  margin:0 !important;
  font-size:14px !important;
}
.tarot-result-main-block-v46 h2{
  margin:0 !important;
  max-width:4.6ch !important;
  font-size:clamp(42px, 5.6vw, 74px) !important;
  line-height:.88 !important;
  letter-spacing:-.045em !important;
}
.tarot-result-main-block-v46 .tarot-result-lead{
  margin:0 !important;
  max-width:13ch !important;
  font-size:clamp(15px, 1.8vw, 17px) !important;
  line-height:1.38 !important;
}
.tarot-add-link-v46{
  margin-top:10px;
  justify-self:start;
  font-size:17px !important;
}
.polaroid-studio-v46{
  border:1px solid rgba(16,24,32,.08) !important;
  background:rgba(255,255,255,.42) !important;
  border-radius:30px !important;
  padding:22px !important;
  min-height:0 !important;
  display:grid !important;
  align-content:start !important;
  gap:14px !important;
}
.polaroid-studio-copy-v46{
  display:grid !important;
  gap:6px !important;
}
.polaroid-studio-copy-v46 h3{
  margin:0 !important;
  font-family:Oswald, sans-serif !important;
  text-transform:uppercase !important;
  color:var(--currant) !important;
  font-size:clamp(34px, 4.4vw, 54px) !important;
  line-height:.92 !important;
  letter-spacing:-.04em !important;
}
.polaroid-studio-copy-v46 p{
  margin:0 !important;
  font-family:Syne, "Noto Sans Thai", sans-serif !important;
  color:rgba(16,24,32,.72) !important;
  font-size:14px !important;
  line-height:1.42 !important;
  max-width:34ch !important;
}
.polaroid-actions-v46{
  margin:0 !important;
  display:flex !important;
  gap:12px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}
.polaroid-actions-v46 .button,
.polaroid-actions-v46 .upload-polaroid-link{
  min-height:48px !important;
}
.polaroid-actions-v46 .button{
  padding:14px 24px !important;
  font-size:13px !important;
}
.upload-polaroid-link{
  display:inline-flex !important;
  align-items:center !important;
}
.polaroid-mood-picker{
  margin-top:0 !important;
}
.polaroid-mood-label{
  display:block !important;
  margin:0 0 6px !important;
  font-size:11px !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:var(--currant) !important;
  font-weight:800 !important;
}
.polaroid-camera-v46,
.polaroid-card-status-v46{
  margin-top:0 !important;
}
.polaroid-studio-v46 #polaroidVideo,
.polaroid-studio-v46 .polaroid-preview img{
  width:min(100%, 230px) !important;
}
.polaroid-card-status-v46{
  display:grid !important;
  grid-template-columns:92px 1fr !important;
  gap:14px !important;
  align-items:center !important;
}
.polaroid-card-status-v46 img{
  width:92px !important;
}
.polaroid-save-actions{
  align-items:flex-start !important;
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.polaroid-save-actions .mini-btn{
  min-height:40px !important;
  padding-inline:14px !important;
}
.polaroid-save-actions .mini-link-btn{
  padding-left:2px !important;
}
.polaroid-empty-state,
.tarot-secondary-actions-v45{
  display:none !important;
}

@media (max-width: 980px){
  .tarot-result-center-v19{
    grid-template-columns:1fr !important;
    max-width:760px !important;
    gap:24px !important;
  }
  .tarot-result-card-area{order:1;}
  .tarot-result-cta-v19{order:2;}
  .tarot-large-card-wrap-v20{width:min(100%,340px)!important;}
  .tarot-result-header-band-v46{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}
@media (max-width: 640px){
  .tarot-card-under-actions-v46{
    justify-content:center;
    padding-left:0;
  }
  .tarot-result-main-block-v46 h2{
    font-size:clamp(40px, 14vw, 64px) !important;
    max-width:5.1ch !important;
  }
  .polaroid-studio-v46{
    padding:18px !important;
  }
  .polaroid-actions-v46{
    flex-wrap:wrap !important;
  }
  .polaroid-actions-v46 .button{
    width:auto !important;
  }
  .polaroid-card-status-v46{
    grid-template-columns:1fr !important;
  }
  .polaroid-card-status-v46 img{
    width:112px !important;
    margin-inline:0 !important;
  }
}


/* ===== V48 action row refinement ===== */
.tarot-result-inline-actions-v48{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  margin-top:10px;
}
.tarot-view-link-v48,
.tarot-draw-link-v48{
  font-size:17px !important;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.tarot-draw-link-v48{
  opacity:.9;
}
@media (max-width: 640px){
  .tarot-result-inline-actions-v48{
    gap:10px;
  }
}


/* ===== V49 bandwidth-safe polaroid controls ===== */
.polaroid-shot-note{
  margin:2px 0 0 !important;
  color:rgba(16,24,32,.58) !important;
  font:700 12px/1.3 Montserrat, "Noto Sans Thai", sans-serif !important;
  letter-spacing:.02em !important;
}
.polaroid-shot-note.is-empty{
  color:#8A2B2B !important;
}
.upload-polaroid-link.is-disabled,
.polaroid-retake-link.is-disabled,
.mini-link-btn.is-disabled{
  opacity:.35 !important;
  pointer-events:none !important;
}
.polaroid-actions-v46 .button:disabled,
.polaroid-camera-actions .mini-btn:disabled{
  opacity:.42 !important;
  cursor:not-allowed !important;
}


/* ===== V50 one-shot polaroid flow ===== */
.polaroid-shot-note{
  display:none !important;
}
.polaroid-mood-btn.is-disabled,
.upload-polaroid-link.is-disabled,
.polaroid-retake-link.is-disabled,
.polaroid-save-actions .mini-btn.is-disabled{
  opacity:.36 !important;
  pointer-events:auto !important;
  cursor:not-allowed !important;
}
.polaroid-mood-btn:disabled,
.polaroid-actions-v46 .button:disabled,
.polaroid-camera-actions .mini-btn:disabled{
  opacity:.40 !important;
  cursor:not-allowed !important;
}
.polaroid-mini-notice{
  position:relative;
  margin-top:4px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(138,43,43,.09);
  color:#8A2B2B;
  font:700 12px/1.35 Montserrat, "Noto Sans Thai", sans-serif;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:.18s ease;
}
.polaroid-mini-notice.show{
  opacity:1;
  transform:translateY(0);
}


/* ===== V51 share giveaway note ===== */
.polaroid-giveaway-note{
  margin-top:6px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  background:rgba(138,43,43,.08) !important;
  color:#8A2B2B !important;
  font:800 12px/1.35 Montserrat, "Noto Sans Thai", sans-serif !important;
  letter-spacing:.01em !important;
}
html[lang="th"] .polaroid-giveaway-note{
  font-family:"Noto Sans Thai", Montserrat, sans-serif !important;
  font-weight:700 !important;
}
.polaroid-shot-note{
  display:none !important;
}


/* ===== V52 soft social tag note ===== */
.polaroid-giveaway-note{
  background:rgba(255,255,255,.46) !important;
  border:1px solid rgba(138,43,43,.12) !important;
  color:rgba(16,24,32,.72) !important;
  font:700 12px/1.45 Montserrat, "Noto Sans Thai", sans-serif !important;
}
html[lang="th"] .polaroid-giveaway-note{
  font-family:"Noto Sans Thai", Montserrat, sans-serif !important;
  font-weight:600 !important;
}


/* ===== V53 brand social copy styling ===== */
.polaroid-giveaway-note{
  background:linear-gradient(135deg, rgba(255,250,244,.72), rgba(249,159,201,.18)) !important;
  border:1px solid rgba(138,43,43,.14) !important;
  color:rgba(138,43,43,.92) !important;
  font:800 12px/1.45 Montserrat, "Noto Sans Thai", sans-serif !important;
  letter-spacing:.015em !important;
}
html[lang="th"] .polaroid-giveaway-note{
  font-family:"Noto Sans Thai", Montserrat, sans-serif !important;
  font-weight:700 !important;
}


/* ===== V54 clickable social links ===== */
.polaroid-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  margin-top:6px;
}
.polaroid-social-links a{
  color:#8A2B2B !important;
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:900;
}
.polaroid-social-links a:hover{
  opacity:.72;
}


/* ===== V55 move social note after photo ===== */
.polaroid-giveaway-note-after-photo{
  margin-top:14px;
  padding:14px 16px;
  border:1.5px solid rgba(138,43,43,.14);
  border-radius:18px;
  background:#f6eded;
}
.polaroid-giveaway-note-after-photo .polaroid-social-links{
  margin-top:10px;
  gap:10px;
}
.polaroid-giveaway-note-after-photo .polaroid-social-links a{
  display:block;
}


/* ===== V57 final policy content ===== */
.policy-card{
  max-width: 980px;
}
.policy-section{
  margin-top: 22px;
}
.policy-section h2{
  font-family: Oswald, "Noto Sans Thai", sans-serif;
  text-transform: uppercase;
  color: var(--currant);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -.03em;
  margin: 0 0 16px;
}
.policy-section h3{
  font-family: Montserrat, "Noto Sans Thai", sans-serif;
  font-size: 16px;
  line-height: 1.25;
  color: #101820;
  margin: 22px 0 8px;
}
.policy-section p,
.policy-section li{
  font-family: Syne, "Noto Sans Thai", sans-serif;
  color: rgba(16,24,32,.76);
  line-height: 1.62;
  font-size: 15.5px;
}
.policy-section ul{
  padding-left: 20px;
  margin: 8px 0 12px;
}
.policy-section a{
  color: #8A2B2B;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.policy-divider{
  border: 0;
  border-top: 1px solid rgba(16,24,32,.12);
  margin: 36px 0 30px;
}
.th-policy h2,
.th-policy h3,
.th-policy p,
.th-policy li{
  font-family: "Noto Sans Thai", Montserrat, sans-serif;
}


/* ===== V59 language-specific policies + footer cleanup ===== */
html[lang="en"] .policy-lang-th{
  display:none !important;
}
html[lang="th"] .policy-lang-en{
  display:none !important;
}
.footer > p[data-i18n="everyHour"],
.footer > p{
  display:none !important;
}
.product-card-footer .price span{
  display:inline-block;
}


/* ===== V60 mobile polish: balanced layout ===== */
@media (max-width: 760px){
  :root{
    --mobile-pad: 18px;
  }
  body{
    width:100%;
    overflow-x:hidden;
  }

  /* Header */
  .site-header,
  .compact-header{
    position:sticky;
    top:0;
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:center !important;
    gap:10px !important;
    padding:12px var(--mobile-pad) 14px !important;
    text-align:center !important;
  }
  .brand-logo,
  .compact-header .brand-logo{
    width:92px !important;
    height:38px !important;
    margin:0 auto !important;
  }
  .site-header nav,
  .compact-header nav{
    width:100%;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    font-size:11px !important;
    line-height:1 !important;
  }
  .site-header nav a,
  .site-header nav button{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 10px;
    border-radius:999px;
    background:rgba(255,250,244,.56);
    border:1px solid rgba(16,24,32,.08);
  }
  .cart-link{
    gap:5px;
  }
  #cartCount{
    min-width:18px;
    height:18px;
    display:inline-grid;
    place-items:center;
  }

  /* Global sections */
  .home-hero,
  .compact-hero,
  .daily-draw-teaser,
  .empower-strip,
  .shop-hero,
  .compact-shop-hero,
  .cart-page,
  .policy-page,
  .tarot-page{
    padding-left:var(--mobile-pad) !important;
    padding-right:var(--mobile-pad) !important;
  }

  /* Home hero */
  .home-hero,
  .compact-hero{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding-top:24px !important;
    padding-bottom:26px !important;
    text-align:center !important;
  }
  .hero-copy{
    display:grid;
    justify-items:center;
  }
  .hero-copy h1,
  .compact-hero .hero-copy h1,
  .shop-hero h1,
  .cart-heading h1{
    font-size:clamp(42px, 16vw, 64px) !important;
    line-height:.9 !important;
    letter-spacing:-.045em !important;
    text-align:center !important;
    margin:6px 0 8px !important;
  }
  .hero-copy .lead,
  .compact-hero .lead,
  .shop-hero .lead,
  .compact-shop-hero .lead{
    max-width:31ch !important;
    margin-inline:auto !important;
    font-size:15px !important;
    line-height:1.45 !important;
    text-align:center !important;
  }
  .hero-actions{
    width:100%;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:16px !important;
  }
  .hero-actions .button,
  .button{
    width:100%;
    min-height:48px;
    justify-content:center;
    text-align:center;
  }
  .hero-slider{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/5 !important;
    border-radius:28px !important;
    overflow:hidden !important;
  }

  /* Daily draw teaser */
  .daily-draw-teaser{
    grid-template-columns:1fr !important;
    gap:18px !important;
    text-align:center !important;
    padding-top:26px !important;
    padding-bottom:28px !important;
  }
  .daily-draw-copy{
    display:grid;
    justify-items:center;
  }
  .daily-draw-copy h2,
  .split-headline,
  .section-title h2,
  .compact-title h2{
    font-size:clamp(34px, 12vw, 52px) !important;
    line-height:.94 !important;
    text-align:center !important;
    letter-spacing:-.035em !important;
  }
  .daily-draw-copy p,
  .section-title p,
  .compact-title p{
    max-width:32ch !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    font-size:14.5px !important;
    line-height:1.45 !important;
  }
  .daily-draw-preview{
    width:100% !important;
    min-height:220px !important;
    border-radius:28px !important;
    padding:20px !important;
  }

  /* Empower and shade sections */
  .empower-strip{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    text-align:center !important;
    padding-top:28px !important;
    padding-bottom:28px !important;
    margin:0 !important;
  }
  .empower-strip h2{
    font-size:clamp(34px, 12vw, 52px) !important;
    line-height:.95 !important;
  }
  .pledge-note{
    max-width:26ch !important;
    margin-inline:auto !important;
    text-align:center !important;
  }
  .compact-shades{
    padding-top:30px !important;
    padding-bottom:34px !important;
  }
  .carousel-grid{
    padding:12px 0 34px !important;
  }
  .carousel-track{
    gap:0 !important;
  }
  .carousel-track .product-card,
  .product-grid .product-card{
    flex:0 0 100% !important;
  }
  .carousel-arrow{
    width:38px !important;
    height:38px !important;
    font-size:26px !important;
    top:44% !important;
  }
  .carousel-arrow.prev{left:6px !important;}
  .carousel-arrow.next{right:6px !important;}

  /* Product cards */
  .product-grid{
    grid-template-columns:1fr !important;
    padding-left:var(--mobile-pad) !important;
    padding-right:var(--mobile-pad) !important;
    gap:16px !important;
  }
  .product-card{
    border-radius:28px !important;
    padding:16px !important;
    gap:12px !important;
    text-align:center !important;
  }
  .swatch{
    height:auto !important;
    aspect-ratio:1/1.05 !important;
    border-radius:22px !important;
  }
  .product-info{
    display:grid;
    justify-items:center;
    gap:4px;
  }
  .product-info h2{
    font-size:25px !important;
    line-height:1.05 !important;
    text-align:center !important;
  }
  .product-info p{
    text-align:center !important;
  }
  .product-card-footer{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:12px !important;
    text-align:center !important;
  }
  .price{
    font-size:20px !important;
    text-align:center !important;
  }
  .card-actions{
    width:100%;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .mini-btn{
    width:100%;
    min-height:42px;
    font-size:10px !important;
    padding:10px 9px !important;
    text-align:center;
  }

  /* Shop page */
  .shop-copy-block,
  .compact-shop-hero{
    text-align:center !important;
    padding-top:28px !important;
  }
  .compact-promo,
  .promo-banner{
    margin:16px var(--mobile-pad) !important;
    padding:16px !important;
    border-radius:24px !important;
    text-align:center !important;
    justify-items:center !important;
    align-items:center !important;
  }

  /* Cart */
  .cart-page{
    padding-top:28px !important;
  }
  .cart-heading{
    text-align:center !important;
    margin-inline:auto !important;
  }
  .cart-layout{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .cart-item{
    grid-template-columns:64px 1fr !important;
    gap:12px !important;
    border-radius:24px !important;
    padding:14px !important;
    align-items:center !important;
  }
  .cart-thumb{
    width:64px !important;
    height:64px !important;
  }
  .cart-item h3{
    font-size:18px !important;
    line-height:1.1 !important;
  }
  .cart-item .qty-controls{
    grid-column:1 / -1 !important;
    justify-content:center !important;
    width:100% !important;
    padding-top:8px !important;
  }
  .qty-controls button{
    width:42px !important;
    height:42px !important;
  }
  .cart-summary{
    position:static !important;
    width:100% !important;
    border-radius:26px !important;
    padding:18px !important;
  }

  /* Daily Draw page/result */
  .tarot-hero-v19{
    padding-top:28px !important;
    padding-bottom:18px !important;
    text-align:center !important;
  }
  .tarot-hero-v19 h1{
    font-size:clamp(40px, 15vw, 64px) !important;
    line-height:.92 !important;
  }
  .tarot-hero-v19 .lead{
    max-width:32ch !important;
    margin-inline:auto !important;
  }
  .tarot-single-experience,
  .tarot-single-experience-v19{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .tarot-card-row,
  .tarot-centered-cards{
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
  }
  .tarot-pick-card{
    width:min(100%, 290px) !important;
    margin-inline:auto !important;
  }
  .tarot-result-center-v19{
    grid-template-columns:1fr !important;
    max-width:100% !important;
    padding:18px !important;
    gap:18px !important;
    border-radius:30px !important;
  }
  .tarot-large-card-wrap-v20{
    width:min(100%, 300px) !important;
  }
  .tarot-result-header-band-v46{
    grid-template-columns:1fr !important;
    gap:16px !important;
    text-align:center !important;
  }
  .tarot-result-main-block-v46{
    justify-items:center !important;
    text-align:center !important;
  }
  .tarot-result-main-block-v46 h2{
    max-width:7ch !important;
    font-size:clamp(42px, 15vw, 64px) !important;
    text-align:center !important;
  }
  .tarot-result-main-block-v46 .tarot-result-lead{
    max-width:26ch !important;
    text-align:center !important;
  }
  .tarot-result-inline-actions-v48{
    justify-content:center !important;
  }
  .polaroid-studio-v46{
    border-radius:26px !important;
    padding:16px !important;
    text-align:center !important;
  }
  .polaroid-studio-copy-v46{
    justify-items:center !important;
  }
  .polaroid-studio-copy-v46 h3{
    font-size:clamp(30px, 12vw, 44px) !important;
    text-align:center !important;
  }
  .polaroid-actions-v46,
  .polaroid-mood-options,
  .polaroid-camera-actions,
  .polaroid-save-actions{
    justify-content:center !important;
  }
  .polaroid-actions-v46{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .upload-polaroid-link{
    justify-content:center !important;
    min-height:42px;
  }
  .polaroid-studio-v46 #polaroidVideo,
  .polaroid-studio-v46 .polaroid-preview img{
    width:min(100%, 240px) !important;
    margin-inline:auto !important;
  }
  .polaroid-card-status-v46{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
  }
  .polaroid-giveaway-note-after-photo{
    width:100% !important;
    box-sizing:border-box;
    text-align:center !important;
  }
  .polaroid-social-links{
    justify-content:center !important;
  }

  /* Modal */
  .modal{
    padding:10px !important;
  }
  .modal-panel-single,
  .modal-panel{
    width:100% !important;
    max-height:92vh !important;
    grid-template-columns:1fr !important;
    border-radius:28px !important;
    overflow:auto !important;
  }
  .modal-gallery-single{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:1/1.05 !important;
    padding:18px !important;
  }
  .modal-info,
  .compact-modal-info{
    text-align:center !important;
    padding:20px !important;
  }
  .modal-info h2{
    font-size:clamp(34px, 12vw, 52px) !important;
  }
  .modal-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  /* Policy pages */
  .policy-page{
    padding-top:28px !important;
    padding-bottom:36px !important;
  }
  .policy-card{
    border-radius:28px !important;
    padding:22px 18px !important;
  }
  .policy-card h1{
    font-size:clamp(40px, 14vw, 62px) !important;
    text-align:center !important;
  }
  .policy-card .eyebrow{
    text-align:center !important;
  }
  .policy-section h2{
    font-size:clamp(30px, 11vw, 44px) !important;
    text-align:center !important;
  }
  .policy-section h3{
    text-align:center !important;
  }
  .policy-section p,
  .policy-section li{
    font-size:14.5px !important;
    line-height:1.62 !important;
  }

  /* Footer */
  .footer,
  .compact-footer{
    display:grid !important;
    justify-items:center !important;
    text-align:center !important;
    gap:14px !important;
    padding:24px var(--mobile-pad) !important;
  }
  .footer img{
    margin-inline:auto !important;
  }
  .footer-links{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:10px 14px !important;
    font-size:12px !important;
  }
}

@media (max-width: 380px){
  .site-header nav a,
  .site-header nav button{
    font-size:10px !important;
    padding:8px 8px !important;
  }
  .hero-copy h1,
  .compact-hero .hero-copy h1,
  .shop-hero h1,
  .cart-heading h1{
    font-size:clamp(38px, 15vw, 56px) !important;
  }
  .card-actions{
    grid-template-columns:1fr !important;
  }
}


/* ===== V62 responsive rebuild: mobile/tablet cards + stable save UI ===== */


/* Better card text fitting on all screens */
.share-card{
  box-sizing:border-box;
}
.share-main-text{
  word-break:normal;
  overflow-wrap:break-word;
}
.share-card.msg-medium .share-main-text{font-size:clamp(32px,4.1vw,50px)!important;line-height:.92!important;}
.share-card.msg-long .share-main-text{font-size:clamp(28px,3.7vw,44px)!important;line-height:.94!important;max-width:88%!important;}
.share-card.msg-xl .share-main-text{font-size:clamp(24px,3.2vw,38px)!important;line-height:.98!important;max-width:90%!important;}

/* Tablet */
@media (min-width: 761px) and (max-width: 1100px){
  .site-header{
    padding:13px 24px !important;
  }
  .compact-header nav{
    gap:14px !important;
    font-size:11px !important;
  }
  .compact-hero,
  .home-hero{
    grid-template-columns:1fr 1fr !important;
    gap:28px !important;
    padding:40px 30px !important;
  }
  .compact-hero .hero-copy h1{
    font-size:clamp(54px,8vw,92px) !important;
  }
  .hero-slider{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/5 !important;
  }
  .tarot-result-center-v19{
    grid-template-columns:minmax(0,330px) minmax(0,1fr) !important;
    gap:24px !important;
    padding:24px !important;
  }
  .tarot-large-card-wrap-v20{
    width:min(100%,330px)!important;
  }
  .tarot-result-main-block-v46 h2{
    font-size:clamp(52px,7vw,72px)!important;
  }
  .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Phone: rebuild from scratch */
@media (max-width: 760px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  body{
    background:#F8E7EF !important;
  }

  /* Header should be compact, not a giant block */
  .site-header,
  .compact-header{
    position:sticky;
    top:0;
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:center !important;
    gap:8px !important;
    padding:10px 12px 12px !important;
    background:#F3A0C9 !important;
  }
  .brand-logo,
  .compact-header .brand-logo{
    width:66px !important;
    height:28px !important;
    margin:0 auto !important;
  }
  .site-header nav,
  .compact-header nav{
    width:100% !important;
    max-width:350px !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:7px !important;
    font-size:9.5px !important;
    line-height:1 !important;
  }
  .site-header nav a,
  .site-header nav button{
    min-height:28px !important;
    padding:7px 9px !important;
    border-radius:999px !important;
    background:rgba(255,250,244,.58) !important;
    border:1px solid rgba(138,43,43,.12) !important;
    letter-spacing:.055em !important;
    box-shadow:none !important;
  }
  .site-header nav a[data-i18n="navAllProducts"],
  .site-header nav a[data-i18n="navShopShades"]{
    display:none !important;
  }
  #cartCount{
    min-width:18px !important;
    height:18px !important;
    display:inline-grid !important;
    place-items:center !important;
  }

  /* Page rhythm */
  .home-hero,
  .compact-hero,
  .daily-draw-teaser,
  .empower-strip,
  .shop-hero,
  .compact-shop-hero,
  .cart-page,
  .policy-page,
  .tarot-page{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  /* Home */
  .home-hero,
  .compact-hero{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding-top:26px !important;
    padding-bottom:28px !important;
    text-align:center !important;
  }
  .hero-copy{
    display:grid !important;
    justify-items:center !important;
  }
  .eyebrow{
    text-align:center !important;
    font-size:12px !important;
    letter-spacing:.08em !important;
  }
  .hero-copy h1,
  .compact-hero .hero-copy h1,
  .shop-hero h1,
  .cart-heading h1{
    font-size:clamp(34px, 12.2vw, 50px) !important;
    line-height:.94 !important;
    letter-spacing:-.035em !important;
    max-width:10ch !important;
    margin:6px auto 10px !important;
    text-align:center !important;
  }
  .hero-copy .lead,
  .compact-hero .lead,
  .shop-hero .lead{
    font-size:14px !important;
    line-height:1.45 !important;
    max-width:30ch !important;
    margin:0 auto !important;
    text-align:center !important;
  }
  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:10px !important;
    margin-top:16px !important;
  }
  .hero-actions .button,
  .button{
    width:100% !important;
    min-height:44px !important;
    border-radius:999px !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .hero-slider{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1 / 1.08 !important;
    border-radius:24px !important;
    overflow:hidden !important;
  }

  /* Daily Draw hero */
  .tarot-page{
    padding-left:0 !important;
    padding-right:0 !important;
    background:#F8E7EF !important;
  }
  .tarot-hero-v19{
    padding:26px 18px 18px !important;
    text-align:center !important;
  }
  .tarot-hero-v19 h1{
    font-size:clamp(34px, 12vw, 50px) !important;
    line-height:.94 !important;
    max-width:8.8ch !important;
    margin:6px auto 12px !important;
  }
  .tarot-hero-v19 .lead{
    font-size:15px !important;
    line-height:1.4 !important;
    max-width:30ch !important;
    margin-inline:auto !important;
  }
  .tarot-single-experience-v19{
    padding:14px 14px 34px !important;
  }
  .tarot-pick-center-v19{
    width:100% !important;
    max-width:360px !important;
    box-sizing:border-box !important;
    margin:0 auto !important;
    padding:20px 14px 22px !important;
    border-radius:30px !important;
    overflow:hidden !important;
  }
  .tarot-pick-heading h2{
    font-size:clamp(32px, 10.5vw, 44px) !important;
    line-height:.95 !important;
    margin:6px 0 0 !important;
  }
  .tarot-centered-cards-v19{
    position:relative !important;
    display:block !important;
    height:250px !important;
    max-width:300px !important;
    width:100% !important;
    margin:14px auto 0 !important;
    overflow:hidden !important;
  }
  .tarot-pick-card-v20{
    position:absolute !important;
    top:18px !important;
    left:50% !important;
    width:150px !important;
    min-width:0 !important;
    max-width:150px !important;
    margin:0 !important;
  }
  .tarot-pick-card-v20:nth-child(1){
    transform:translateX(-50%) rotate(-7deg) translate(-55px, 18px) !important;
    z-index:1 !important;
  }
  .tarot-pick-card-v20:nth-child(2){
    transform:translateX(-50%) rotate(6deg) translate(55px, 22px) !important;
    z-index:2 !important;
  }
  .tarot-pick-card-v20:nth-child(3){
    transform:translateX(-50%) rotate(0deg) translate(0, 0) !important;
    z-index:3 !important;
  }
  .tarot-pick-card-v20.is-picked{
    transform:translateX(-50%) scale(1.02) !important;
    z-index:8 !important;
  }
  .tarot-pick-card-v20.is-dimmed{
    opacity:.12 !important;
  }
  .tarot-pick-card-v20 .tarot-back-shell-v20{
    border-radius:22px !important;
    box-shadow:0 16px 28px rgba(16,24,32,.12) !important;
  }
  .tarot-pick-card-v20 .tarot-back-shell-v20 img{
    width:42% !important;
  }

  /* Result layout */
  .tarot-result-center-v19{
    width:100% !important;
    max-width:360px !important;
    box-sizing:border-box !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    margin:0 auto !important;
    padding:16px !important;
    border-radius:30px !important;
    overflow:hidden !important;
    text-align:center !important;
  }
  .tarot-result-card-area{
    width:100% !important;
    display:grid !important;
    justify-items:center !important;
  }
  .tarot-large-card-wrap-v20{
    width:240px !important;
    max-width:240px !important;
    margin-inline:auto !important;
  }
  .share-card{
    border-radius:24px !important;
    padding:18px !important;
  }
  .share-logo{
    left:18px !important;
    top:18px !important;
    width:54px !important;
  }
  .share-top-script{
    left:18px !important;
    top:62px !important;
    font-size:22px !important;
    max-width:78% !important;
  }
  .share-main-text{
    left:18px !important;
    right:18px !important;
    top:138px !important;
    font-size:30px !important;
    line-height:.96 !important;
    max-width:88% !important;
  }
  .share-card.msg-medium .share-main-text{font-size:27px!important;line-height:.98!important;}
  .share-card.msg-long .share-main-text{font-size:23px!important;line-height:1!important;}
  .share-card.msg-xl .share-main-text{font-size:20px!important;line-height:1.04!important;}
  .share-script-big{
    left:18px !important;
    bottom:96px !important;
    font-size:31px !important;
  }
  .share-bottom-word{
    right:18px !important;
    bottom:58px !important;
    font-size:30px !important;
  }
  .share-small-note{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
    font-size:10px !important;
    line-height:1.2 !important;
  }
  .tarot-result-header-band-v46{
    grid-template-columns:1fr !important;
    gap:14px !important;
    text-align:center !important;
  }
  .tarot-result-main-block-v46{
    justify-items:center !important;
    text-align:center !important;
  }
  .tarot-result-main-block-v46 h2{
    font-size:clamp(34px, 11vw, 48px) !important;
    max-width:8ch !important;
    line-height:.94 !important;
  }
  .tarot-result-main-block-v46 .tarot-result-lead{
    max-width:28ch !important;
    font-size:14px !important;
    line-height:1.45 !important;
  }
  .tarot-result-inline-actions-v48{
    justify-content:center !important;
    gap:12px !important;
  }
  .tarot-view-link-v48,
  .tarot-draw-link-v48{
    font-size:14px !important;
  }

  /* Polaroid block needs to fit above the browser bottom bar */
  .polaroid-studio-v46{
    width:100% !important;
    box-sizing:border-box !important;
    border-radius:24px !important;
    padding:14px !important;
    text-align:center !important;
  }
  .polaroid-studio-copy-v46{
    justify-items:center !important;
  }
  .polaroid-studio-copy-v46 h3{
    font-size:clamp(26px, 9vw, 36px) !important;
    line-height:.95 !important;
  }
  .polaroid-actions-v46{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .polaroid-actions-v46 .button,
  .upload-polaroid-link{
    width:100% !important;
    min-height:42px !important;
    justify-content:center !important;
  }
  .polaroid-mood-options,
  .polaroid-camera-actions,
  .polaroid-save-actions{
    justify-content:center !important;
  }
  .polaroid-save-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  .polaroid-save-actions .mini-btn,
  .polaroid-save-actions .mini-link-btn{
    width:100% !important;
  }
  .polaroid-studio-v46 #polaroidVideo,
  .polaroid-card-status-v46 img{
    width:min(100%, 220px) !important;
    margin-inline:auto !important;
  }
  .polaroid-card-status-v46{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
  }

  /* Daily empower on daily page */
  .daily-empower,
  .empower-strip{
    margin:18px 14px !important;
    padding:22px 16px !important;
    border-radius:28px !important;
    text-align:center !important;
  }
  .empower-strip h2{
    font-size:clamp(32px, 10.5vw, 46px) !important;
    line-height:.96 !important;
    max-width:9ch !important;
    margin-inline:auto !important;
  }
  .empower-strip p{
    max-width:30ch !important;
    margin-inline:auto !important;
  }

  /* Products */
  .product-grid{
    grid-template-columns:1fr !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .product-card{
    width:100% !important;
    max-width:360px !important;
    box-sizing:border-box !important;
    margin-inline:auto !important;
    border-radius:26px !important;
    text-align:center !important;
  }
  .swatch{
    aspect-ratio:1/1 !important;
    height:auto !important;
    border-radius:20px !important;
  }
  .product-info,
  .product-card-footer{
    display:grid !important;
    justify-items:center !important;
    text-align:center !important;
  }
  .product-card-footer{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .card-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .mini-btn{
    width:100% !important;
    min-height:42px !important;
  }

  /* Modal/cart/policy */
  .modal-panel-single,
  .modal-panel{
    width:calc(100vw - 20px) !important;
    max-height:90vh !important;
    grid-template-columns:1fr !important;
    overflow:auto !important;
    border-radius:26px !important;
  }
  .modal-gallery-single{
    min-height:0 !important;
    aspect-ratio:1/1 !important;
    padding:16px !important;
  }
  .modal-info{
    text-align:center !important;
    padding:18px !important;
  }
  .cart-layout{
    grid-template-columns:1fr !important;
  }
  .policy-card{
    border-radius:26px !important;
    padding:20px 16px !important;
  }
}

@media (max-width: 390px){
  .site-header nav,
  .compact-header nav{
    max-width:320px !important;
  }
  .site-header nav a,
  .site-header nav button{
    font-size:9px !important;
    padding:7px 7px !important;
  }
  .tarot-pick-center-v19,
  .tarot-result-center-v19{
    max-width:336px !important;
  }
  .tarot-pick-card-v20{
    width:136px !important;
    max-width:136px !important;
  }
  .tarot-large-card-wrap-v20{
    width:224px !important;
    max-width:224px !important;
  }
  .share-main-text{font-size:28px!important;}
  .share-card.msg-long .share-main-text{font-size:21px!important;}
  .share-card.msg-xl .share-main-text{font-size:18px!important;}
}


/* ===== V63 mobile daily draw practical fixes ===== */
@media (max-width:760px){
  .tarot-page{
    padding-bottom:150px !important;
  }
  .tarot-result-center-v19{
    padding-bottom:34px !important;
    margin-bottom:70px !important;
  }

  /* Mobile card: remove decorative words that were overlapping the main message. */
  .share-card .share-script-big,
  .share-card .share-bottom-word{
    display:none !important;
  }
  .tarot-large-card-wrap-v20{
    width:min(78vw, 280px) !important;
    max-width:280px !important;
  }
  .share-card{
    padding:18px !important;
  }
  .share-logo{
    left:20px !important;
    top:20px !important;
    width:56px !important;
  }
  .share-top-script{
    left:20px !important;
    right:20px !important;
    top:70px !important;
    font-size:21px !important;
    line-height:1 !important;
    max-width:calc(100% - 40px) !important;
  }
  .share-main-text{
    left:20px !important;
    right:20px !important;
    top:138px !important;
    max-width:calc(100% - 40px) !important;
    font-size:28px !important;
    line-height:1 !important;
    letter-spacing:-.025em !important;
  }
  .share-card.msg-short .share-main-text{font-size:29px!important;line-height:1!important;}
  .share-card.msg-medium .share-main-text{font-size:25px!important;line-height:1.02!important;}
  .share-card.msg-long .share-main-text{font-size:21px!important;line-height:1.05!important;}
  .share-card.msg-xl .share-main-text{font-size:18px!important;line-height:1.08!important;}
  .share-small-note{
    left:20px !important;
    right:20px !important;
    bottom:20px !important;
    font-size:10.5px !important;
    line-height:1.22 !important;
    max-height:30px !important;
    overflow:hidden !important;
  }

  /* Keep browser bottom bars from covering save controls. */
  .polaroid-studio-v46{
    margin-bottom:120px !important;
    padding-bottom:28px !important;
  }
  .polaroid-save-actions{
    gap:10px !important;
  }
  .polaroid-save-actions .mini-btn{
    min-height:46px !important;
  }
  .polaroid-retake-link{
    min-height:34px !important;
  }
  .daily-empower{
    margin-top:80px !important;
  }
}

@media (max-width:390px){
  .tarot-large-card-wrap-v20{
    width:min(76vw, 250px) !important;
    max-width:250px !important;
  }
  .share-logo{width:50px!important;}
  .share-top-script{top:62px!important;font-size:19px!important;}
  .share-main-text{top:124px!important;font-size:25px!important;}
  .share-card.msg-short .share-main-text{font-size:26px!important;}
  .share-card.msg-medium .share-main-text{font-size:22px!important;}
  .share-card.msg-long .share-main-text{font-size:18.5px!important;}
  .share-card.msg-xl .share-main-text{font-size:16.5px!important;}
  .share-small-note{font-size:9.5px!important;}
}


/* ===== V65 show brand keywords without text collision ===== */
@media (max-width:760px){
  .share-card .share-script-big,
  .share-card .share-bottom-word{
    display:block !important;
    z-index:1 !important;
    pointer-events:none !important;
  }
  .share-logo,
  .share-top-script,
  .share-main-text,
  .share-small-note{
    z-index:2 !important;
  }
  .share-script-big{
    left:20px !important;
    bottom:62px !important;
    font-size:22px !important;
    line-height:1 !important;
    opacity:.42 !important;
    max-width:46% !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }
  .share-bottom-word{
    right:20px !important;
    bottom:62px !important;
    font-size:22px !important;
    line-height:1 !important;
    opacity:.42 !important;
    max-width:46% !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-align:right !important;
  }
  .share-small-note{
    bottom:20px !important;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.02), transparent);
  }
  .share-card.msg-long .share-script-big,
  .share-card.msg-long .share-bottom-word,
  .share-card.msg-xl .share-script-big,
  .share-card.msg-xl .share-bottom-word{
    font-size:18px !important;
    bottom:56px !important;
    opacity:.34 !important;
  }
}
@media (max-width:390px){
  .share-script-big,
  .share-bottom-word{
    font-size:18px !important;
    bottom:52px !important;
  }
  .share-card.msg-long .share-script-big,
  .share-card.msg-long .share-bottom-word,
  .share-card.msg-xl .share-script-big,
  .share-card.msg-xl .share-bottom-word{
    font-size:15px !important;
    bottom:48px !important;
  }
}


/* ===== V66: mobile card only, polaroid for desktop/tablet ===== */
.mobile-polaroid-note{
  display:none;
}

@media (max-width:760px){
  .polaroid-studio-v46,
  .polaroid-studio-v55{
    display:none !important;
  }
  .mobile-polaroid-note{
    display:block !important;
    width:100%;
    box-sizing:border-box;
    margin-top:18px;
    padding:18px 16px 20px;
    border-radius:24px;
    border:1px solid rgba(138,43,43,.16);
    background:rgba(255,250,244,.72);
    text-align:center;
  }
  .mobile-polaroid-note h3{
    font-family:Oswald,"Noto Sans Thai",sans-serif;
    text-transform:uppercase;
    color:#8A2B2B;
    font-size:clamp(26px,8vw,36px);
    line-height:.98;
    letter-spacing:-.025em;
    margin:0 0 8px;
  }
  .mobile-polaroid-note p{
    font-family:Syne,"Noto Sans Thai",sans-serif;
    color:rgba(16,24,32,.68);
    font-size:14px;
    line-height:1.45;
    margin:0 auto;
    max-width:30ch;
  }

  .tarot-large-card-wrap-v20{
    width:min(82vw, 300px) !important;
    max-width:300px !important;
  }
  .share-card{
    padding:20px !important;
  }
  .share-logo{
    left:22px !important;
    top:22px !important;
    width:54px !important;
  }
  .share-top-script{
    left:22px !important;
    right:22px !important;
    top:74px !important;
    font-size:20px !important;
    line-height:1 !important;
    max-width:calc(100% - 44px) !important;
    opacity:.64 !important;
    text-align:center !important;
  }
  .share-main-text{
    left:22px !important;
    right:22px !important;
    top:142px !important;
    max-width:calc(100% - 44px) !important;
    text-align:center !important;
    font-size:27px !important;
    line-height:1.04 !important;
    letter-spacing:-.02em !important;
  }
  .share-card.msg-short .share-main-text{font-size:28px!important;line-height:1.03!important;}
  .share-card.msg-medium .share-main-text{font-size:24px!important;line-height:1.06!important;}
  .share-card.msg-long .share-main-text{font-size:20px!important;line-height:1.08!important;}
  .share-card.msg-xl .share-main-text{font-size:17px!important;line-height:1.12!important;}

  .share-script-big,
  .share-bottom-word{
    display:block !important;
    bottom:66px !important;
    font-size:19px !important;
    line-height:1 !important;
    opacity:.35 !important;
    max-width:42% !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    z-index:1 !important;
  }
  .share-script-big{
    left:22px !important;
    text-align:left !important;
  }
  .share-bottom-word{
    right:22px !important;
    text-align:right !important;
  }
  .share-small-note{
    left:22px !important;
    right:22px !important;
    bottom:22px !important;
    font-size:10.5px !important;
    line-height:1.25 !important;
    max-height:30px !important;
    overflow:hidden !important;
    text-align:center !important;
  }
  .tarot-result-center-v19{
    margin-bottom:28px !important;
  }
}

@media (max-width:390px){
  .tarot-large-card-wrap-v20{
    width:min(80vw, 270px) !important;
    max-width:270px !important;
  }
  .share-logo{width:48px!important;}
  .share-top-script{top:66px!important;font-size:18px!important;}
  .share-main-text{top:126px!important;font-size:24px!important;}
  .share-card.msg-short .share-main-text{font-size:25px!important;}
  .share-card.msg-medium .share-main-text{font-size:21px!important;}
  .share-card.msg-long .share-main-text{font-size:18px!important;}
  .share-card.msg-xl .share-main-text{font-size:15.5px!important;}
  .share-script-big,
  .share-bottom-word{
    bottom:54px!important;
    font-size:16px!important;
  }
  .share-small-note{
    bottom:18px!important;
    font-size:9.5px!important;
  }
}


/* ===== V67 mobile save-card + modal fixes + safer card typography ===== */
.tarot-result-inline-actions-v48{
  display:flex !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
.tarot-save-link-v67{
  color:var(--currant) !important;
}
.mobile-save-card-btn{
  margin-top:14px !important;
  width:100% !important;
}

@media (max-width:760px){
  .mobile-polaroid-note p{
    max-width:34ch !important;
  }
  .tarot-result-inline-actions-v48{
    justify-content:center !important;
    gap:12px !important;
  }
  .tarot-result-inline-actions-v48 .mini-link-btn{
    font-size:13px !important;
    min-height:32px !important;
  }
  .tarot-large-card-wrap-v20{
    width:min(84vw, 304px) !important;
    max-width:304px !important;
    aspect-ratio:3 / 4.78 !important;
  }
  .share-card{
    padding:20px !important;
  }
  .share-top-script{
    top:68px !important;
    font-size:18px !important;
    opacity:.6 !important;
  }
  .share-main-text{
    top:132px !important;
    left:20px !important;
    right:20px !important;
    max-width:calc(100% - 40px) !important;
    font-size:25px !important;
    line-height:1.08 !important;
    text-wrap:balance;
  }
  .share-card.msg-short .share-main-text{font-size:26px!important;line-height:1.06!important;}
  .share-card.msg-medium .share-main-text{font-size:22px!important;line-height:1.08!important;}
  .share-card.msg-long .share-main-text{font-size:18.5px!important;line-height:1.12!important;}
  .share-card.msg-xl .share-main-text{font-size:16px!important;line-height:1.15!important;}
  .share-script-big,
  .share-bottom-word{
    bottom:56px !important;
    font-size:17px !important;
    opacity:.34 !important;
    max-width:44% !important;
  }
  .share-small-note{
    left:20px !important;
    right:20px !important;
    bottom:18px !important;
    font-size:10px !important;
    line-height:1.24 !important;
    max-height:none !important;
  }

  .modal{
    padding:10px !important;
    align-items:flex-start !important;
  }
  .modal-panel-single{
    width:calc(100vw - 20px) !important;
    max-height:88vh !important;
    margin-top:8px !important;
    border-radius:28px !important;
    overflow:auto !important;
    grid-template-columns:1fr !important;
  }
  .modal-gallery-single{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:16px 16px 10px !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
    background:var(--pink) !important;
  }
  .modal-single-frame{
    width:100% !important;
    height:min(50vh, 430px) !important;
    min-height:260px !important;
    max-height:430px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:rgba(255,250,244,.35) !important;
  }
  .modal-main-img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
  }
  .modal-count{
    left:16px !important;
    bottom:14px !important;
  }
  .modal-arrow{
    width:42px !important;
    height:42px !important;
  }
  .compact-modal-info{
    padding:12px 18px 22px !important;
    text-align:center !important;
  }
  .compact-modal-info h2{
    font-size:clamp(36px, 10vw, 54px) !important;
    line-height:.9 !important;
    margin-bottom:10px !important;
  }
  .compact-modal-info .modal-desc{
    font-size:15px !important;
    line-height:1.35 !important;
  }
  .compact-modal-info .modal-actions{
    margin-top:16px !important;
  }
}

@media (max-width:390px){
  .tarot-large-card-wrap-v20{
    width:min(82vw, 274px) !important;
    max-width:274px !important;
  }
  .share-top-script{
    top:62px !important;
    font-size:16.5px !important;
  }
  .share-main-text{
    top:122px !important;
    font-size:23px !important;
  }
  .share-card.msg-short .share-main-text{font-size:24px!important;}
  .share-card.msg-medium .share-main-text{font-size:20px!important;}
  .share-card.msg-long .share-main-text{font-size:17px!important;}
  .share-card.msg-xl .share-main-text{font-size:15px!important;}
  .share-script-big,
  .share-bottom-word{
    bottom:52px !important;
    font-size:15px !important;
  }
  .share-small-note{
    bottom:16px !important;
    font-size:9px !important;
  }
  .modal-single-frame{
    height:min(46vh, 380px) !important;
    min-height:240px !important;
  }
}


/* ===== V68 sales-only cleanup ===== */
.daily-draw-teaser,
.daily-popup{
  display:none !important;
}
@media (max-width:760px){
  .site-header nav a[data-i18n="navShop"]{
    display:inline-flex !important;
  }
  .compact-hero .hero-actions{
    margin-top:18px !important;
  }
}


/* ===== V69 sales-first mobile cleanup ===== */
/* Cart badge: remove red oval styling; keep it clean and quiet. */
.cart-link{
  background:rgba(255,250,244,.58) !important;
  color:#101820 !important;
  border-color:rgba(16,24,32,.08) !important;
}
.cart-link span:first-child{
  background:transparent !important;
  color:#101820 !important;
  border-radius:0 !important;
}
#cartCount{
  background:rgba(138,43,43,.10) !important;
  color:#8A2B2B !important;
  border-radius:999px !important;
  font-size:.9em !important;
}

/* Remove any unfinished checkout helper copy. */
.checkout-note,
[data-i18n="stripeNote"]{
  display:none !important;
}

/* Desktop/tablet product rhythm */
.product-grid.carousel-grid{
  max-width:1180px;
  margin-inline:auto;
}
.carousel-page{
  align-items:stretch;
}
.product-card{
  overflow:hidden;
}
.product-info h2{
  word-break:normal;
  overflow-wrap:break-word;
}

/* Mobile: product cards become compact 2-column grid so shades are easier to scan. */
@media (max-width:760px){
  .site-header,
  .compact-header{
    padding:10px 12px 12px !important;
  }
  .brand-logo,
  .compact-header .brand-logo{
    width:64px !important;
    height:28px !important;
  }
  .site-header nav,
  .compact-header nav{
    gap:7px !important;
    max-width:340px !important;
  }
  .site-header nav a,
  .site-header nav button{
    min-height:28px !important;
    padding:7px 10px !important;
    font-size:9.5px !important;
  }
  .cart-link{
    gap:5px !important;
  }
  #cartCount{
    min-width:18px !important;
    height:18px !important;
    font-size:10px !important;
  }

  .shop-hero,
  .compact-shop-hero{
    padding-top:26px !important;
    padding-bottom:18px !important;
  }
  .shop-hero h1,
  .compact-shop-hero h1,
  .hero-copy h1{
    font-size:clamp(34px, 11vw, 50px) !important;
    line-height:.92 !important;
  }
  .shop-hero .lead,
  .compact-shop-hero .lead{
    font-size:14px !important;
    line-height:1.38 !important;
    max-width:32ch !important;
  }
  .promo-banner,
  .compact-promo{
    margin:12px 16px !important;
    padding:14px !important;
    border-radius:22px !important;
  }

  .product-carousel-section{
    padding:8px 10px 34px !important;
  }
  .carousel-shell{
    position:relative !important;
  }
  .carousel-viewport{
    overflow:hidden !important;
  }
  .carousel-track{
    align-items:stretch !important;
  }
  .carousel-page{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    padding:0 6px !important;
    box-sizing:border-box !important;
  }
  .carousel-page .product-card:nth-child(3){
    grid-column:1 / -1;
    max-width:calc(50% - 6px);
    justify-self:center;
  }

  /* Show carousel arrows clearly, but smaller. */
  .carousel-arrow{
    width:34px !important;
    height:34px !important;
    font-size:24px !important;
    top:42% !important;
    background:rgba(255,250,244,.92) !important;
    border:1px solid rgba(16,24,32,.12) !important;
    box-shadow:0 8px 22px rgba(16,24,32,.16) !important;
    z-index:5 !important;
  }
  .carousel-arrow.prev{left:2px !important;}
  .carousel-arrow.next{right:2px !important;}

  .product-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    border-radius:22px !important;
    padding:10px !important;
    gap:8px !important;
    box-shadow:0 12px 30px rgba(138,43,43,.08) !important;
  }
  .swatch,
  .photo-swatch{
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    border-radius:18px !important;
    min-height:0 !important;
  }
  .swatch-photo{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .swatch-chip{
    left:8px !important;
    bottom:8px !important;
    padding:7px 10px !important;
    font-size:9px !important;
    letter-spacing:.06em !important;
  }

  .product-info{
    gap:3px !important;
  }
  .product-type{
    font-size:10px !important;
    letter-spacing:.06em !important;
    margin:0 !important;
  }
  .stock-status{
    font-size:9px !important;
    padding:5px 9px !important;
    margin:2px 0 !important;
  }
  .product-info h2{
    font-size:clamp(23px, 6vw, 31px) !important;
    line-height:.92 !important;
    letter-spacing:-.04em !important;
    margin:2px 0 !important;
    max-width:100% !important;
  }
  .product-info p:last-child{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    font-size:11.5px !important;
    line-height:1.28 !important;
    min-height:30px !important;
    margin:0 !important;
  }

  .product-card-footer{
    gap:8px !important;
  }
  .price,
  .promo-price{
    font-size:17px !important;
    line-height:1 !important;
    text-align:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    flex-wrap:wrap !important;
  }
  .was-price{
    font-size:.85em !important;
  }
  .card-actions{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }
  .mini-btn{
    min-height:34px !important;
    padding:8px 8px !important;
    font-size:9.5px !important;
    border-radius:999px !important;
  }

  /* Product modal on mobile: image never overlaps text. */
  .modal{
    padding:10px !important;
    align-items:flex-start !important;
  }
  .modal-panel-single{
    width:calc(100vw - 20px) !important;
    max-height:88vh !important;
    margin-top:8px !important;
    border-radius:26px !important;
    overflow:auto !important;
    grid-template-columns:1fr !important;
  }
  .modal-gallery-single{
    padding:14px 14px 8px !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
  }
  .modal-single-frame{
    width:100% !important;
    height:min(45vh, 390px) !important;
    min-height:230px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }
  .modal-main-img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
  }
  .compact-modal-info{
    padding:12px 18px 22px !important;
    text-align:center !important;
  }
  .compact-modal-info .eyebrow{
    margin-top:0 !important;
  }
  .compact-modal-info h2{
    font-size:clamp(34px, 10vw, 52px) !important;
    line-height:.9 !important;
    margin:6px 0 8px !important;
  }
  .compact-modal-info .modal-desc{
    font-size:15px !important;
    line-height:1.35 !important;
  }
  .modal-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}

/* Very small phones: keep product scan compact. */
@media (max-width:390px){
  .carousel-page{
    gap:10px !important;
    padding:0 4px !important;
  }
  .product-card{
    padding:9px !important;
    border-radius:20px !important;
  }
  .product-info h2{
    font-size:clamp(21px, 5.8vw, 28px) !important;
  }
  .product-info p:last-child{
    font-size:10.5px !important;
  }
  .mini-btn{
    font-size:9px !important;
  }
}


/* ===== V70 sales mobile/tablet grid + cart state fix ===== */

/* Cart is normal by default; red only when cart has items. */
.cart-link{
  background:rgba(255,250,244,.58) !important;
  color:#101820 !important;
  border-color:rgba(16,24,32,.08) !important;
}
.cart-link span:first-child{
  background:transparent !important;
  color:inherit !important;
}
.cart-link.has-items{
  background:#8A2B2B !important;
  color:#fffaf4 !important;
  border-color:#8A2B2B !important;
}
.cart-link.has-items #cartCount{
  background:rgba(255,250,244,.92) !important;
  color:#8A2B2B !important;
}
.cart-link:not(.has-items) #cartCount{
  background:rgba(138,43,43,.10) !important;
  color:#8A2B2B !important;
}

/* Tablet and phone: stop carousel behavior; show a consistent product grid. */
@media (max-width:1100px){
  .product-grid.flat-product-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:16px !important;
    max-width:980px !important;
    margin:0 auto !important;
    padding:0 18px 42px !important;
  }
  .product-grid.flat-product-grid .product-card{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
}

@media (max-width:760px){
  .product-grid.flat-product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    padding:0 14px 36px !important;
  }

  /* If flat grid is active, hide any carousel shell/arrows just in case. */
  .flat-product-grid .carousel-shell,
  .flat-product-grid .carousel-arrow{
    display:none !important;
  }

  .product-grid.flat-product-grid .product-card{
    border-radius:22px !important;
    padding:10px !important;
    gap:8px !important;
    min-width:0 !important;
    box-shadow:0 12px 30px rgba(138,43,43,.08) !important;
  }
  .product-grid.flat-product-grid .swatch,
  .product-grid.flat-product-grid .photo-swatch{
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    border-radius:18px !important;
  }
  .product-grid.flat-product-grid .product-type{
    font-size:10px !important;
    letter-spacing:.07em !important;
    margin:0 !important;
  }
  .product-grid.flat-product-grid .stock-status{
    font-size:9px !important;
    padding:5px 9px !important;
    margin:2px 0 !important;
  }
  .product-grid.flat-product-grid .product-info h2{
    font-size:clamp(22px, 6vw, 30px) !important;
    line-height:.92 !important;
    margin:2px 0 !important;
    max-width:100% !important;
  }
  .product-grid.flat-product-grid .product-info p:last-child{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    font-size:11px !important;
    line-height:1.26 !important;
    min-height:28px !important;
    margin:0 !important;
  }
  .product-grid.flat-product-grid .price,
  .product-grid.flat-product-grid .promo-price{
    font-size:16px !important;
    gap:5px !important;
  }
  .product-grid.flat-product-grid .card-actions{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }
  .product-grid.flat-product-grid .mini-btn{
    min-height:34px !important;
    padding:8px !important;
    font-size:9.5px !important;
  }
}

@media (max-width:390px){
  .product-grid.flat-product-grid{
    gap:10px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .product-grid.flat-product-grid .product-card{
    padding:9px !important;
    border-radius:20px !important;
  }
  .product-grid.flat-product-grid .product-info h2{
    font-size:clamp(20px, 5.8vw, 27px) !important;
  }
  .product-grid.flat-product-grid .product-info p:last-child{
    font-size:10.5px !important;
  }
}


/* ===== V71 mobile: remove blue UI accents ===== */
.swatch-chip,
.mini-btn:not(.dark),
.modal-arrow,
.carousel-arrow,
.modal-prev,
.modal-next{
  color:#101820 !important;
  border-color:#101820 !important;
}

.swatch-chip{
  background:#FFF5EB !important;
  color:#101820 !important;
}

.mini-btn:not(.dark){
  color:#101820 !important;
  border-color:#101820 !important;
}

.modal-arrow{
  color:#101820 !important;
  background:#FFFDF7 !important;
  border-color:#101820 !important;
}

.carousel-arrow{
  color:#101820 !important;
  background:#FFFDF7 !important;
  border-color:#101820 !important;
}

@media (max-width:760px){
  .swatch-chip,
  .mini-btn:not(.dark),
  .modal-arrow,
  .carousel-arrow,
  .modal-prev,
  .modal-next{
    color:#101820 !important;
    border-color:#101820 !important;
  }

  .swatch-chip{
    background:#FFF5EB !important;
    color:#101820 !important;
  }

  .modal-arrow,
  .carousel-arrow{
    background:rgba(255,250,244,.96) !important;
    color:#101820 !important;
    border:1px solid #101820 !important;
  }
}


/* ===== V72: long shade name polish ===== */
@media (max-width:1100px){
  .product-five-oclock-tea .product-info h2{
    font-size:clamp(22px, 4.6vw, 32px) !important;
    line-height:.88 !important;
    letter-spacing:-.055em !important;
    max-width:8.5ch !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
@media (max-width:760px){
  .product-five-oclock-tea .product-info h2{
    font-size:clamp(19px, 5.1vw, 25px) !important;
    line-height:.9 !important;
    max-width:8.2ch !important;
  }
}
@media (max-width:390px){
  .product-five-oclock-tea .product-info h2{
    font-size:clamp(18px, 4.9vw, 22px) !important;
    max-width:8.1ch !important;
  }
}


/* ===== V73 desktop-visible Card Studio teaser, no popup ===== */
.desktop-card-studio-link{
  display:inline-flex;
}
.card-studio-teaser{
  max-width:1180px;
  margin:34px auto;
  padding:28px;
  border-radius:36px;
  background:linear-gradient(135deg, rgba(255,250,244,.86), rgba(243,160,201,.34));
  border:1px solid rgba(138,43,43,.14);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:26px;
  align-items:center;
}
.card-studio-copy h2{
  font-family:Oswald, "Noto Sans Thai", sans-serif;
  text-transform:uppercase;
  color:#8A2B2B;
  font-size:clamp(54px, 6vw, 96px);
  line-height:.9;
  letter-spacing:-.045em;
  margin:0 0 12px;
}
.card-studio-copy p:not(.eyebrow){
  max-width:48ch;
  color:rgba(16,24,32,.68);
  font-size:16px;
  line-height:1.5;
}
.card-studio-preview{
  min-height:340px;
  border-radius:32px;
  background:#fffaf4;
  border:1px solid rgba(16,24,32,.08);
  display:grid;
  place-items:center;
  text-decoration:none;
  color:#101820;
  box-shadow:0 20px 50px rgba(138,43,43,.10);
  overflow:hidden;
}
.card-studio-preview .preview-stack{
  transform:scale(.92);
}
.card-studio-preview strong{
  font-family:Montserrat, "Noto Sans Thai", sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8A2B2B;
}
.mobile-feature-note,
.feature-desktop-only-message{
  display:none;
}

@media (max-width:1100px){
  .desktop-card-studio-link{
    display:none !important;
  }
  .desktop-feature-teaser{
    display:none !important;
  }
  .mobile-feature-note{
    display:block;
    margin:18px 16px 26px;
    padding:18px 16px;
    border-radius:24px;
    background:rgba(255,250,244,.72);
    border:1px solid rgba(138,43,43,.14);
    text-align:center;
  }
  .mobile-feature-note h2{
    font-family:Oswald, "Noto Sans Thai", sans-serif;
    text-transform:uppercase;
    color:#8A2B2B;
    font-size:clamp(28px,8vw,42px);
    line-height:.96;
    margin:4px 0 8px;
  }
  .mobile-feature-note p:not(.eyebrow){
    color:rgba(16,24,32,.66);
    font-size:14px;
    line-height:1.42;
    max-width:33ch;
    margin:0 auto;
  }

  /* On phone/tablet, if someone opens daily-draw URL directly, show explanation instead of broken camera/card flow. */
  .feature-desktop-only-message{
    display:grid !important;
    min-height:58vh;
    place-items:center;
    align-content:center;
    text-align:center;
    padding:44px 18px;
  }
  .feature-desktop-only-message h1{
    font-family:Oswald, "Noto Sans Thai", sans-serif;
    text-transform:uppercase;
    color:#8A2B2B;
    font-size:clamp(38px,12vw,64px);
    line-height:.92;
    letter-spacing:-.04em;
    max-width:9ch;
    margin:6px auto 12px;
  }
  .feature-desktop-only-message p{
    color:rgba(16,24,32,.68);
    max-width:34ch;
    line-height:1.45;
    margin:0 auto 18px;
  }
  .tarot-page > .tarot-hero-v19,
  .tarot-page > .tarot-single-experience-v19,
  .tarot-page > .daily-empower,
  .tarot-page > .empower-strip{
    display:none !important;
  }
}

@media (min-width:1101px){
  .feature-desktop-only-message{
    display:none !important;
  }
}


/* ===== V74 polish: one Card Studio, cleaner mobile note, equal product cards ===== */

/* On desktop/header choose one feature label: Card Studio only. */
nav a[data-i18n="navDaily"]{
  display:none !important;
}

/* Desktop teaser: one CTA only; preview label changed by copy. */
.card-studio-teaser .hero-actions{
  grid-template-columns:auto !important;
}
.card-studio-teaser .hero-actions .button{
  width:fit-content;
}

/* Product cards: equal height and aligned buttons */
.product-card{
  height:100%;
  display:grid !important;
  grid-template-rows:auto 1fr auto !important;
}
.product-info{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.product-card-footer{
  align-self:end !important;
  margin-top:auto !important;
}

/* Make long shade name feel like two lines, not huge and uneven. */
.product-five-oclock-tea .product-info h2{
  max-width:8.5ch !important;
  margin-left:auto !important;
  margin-right:auto !important;
  line-height:.88 !important;
  letter-spacing:-.055em !important;
}

@media (max-width:1100px){
  .product-grid.flat-product-grid{
    align-items:stretch !important;
  }
  .product-grid.flat-product-grid .product-card{
    min-height:100% !important;
  }
  .product-grid.flat-product-grid .product-info{
    min-height:168px !important;
  }
  .product-grid.flat-product-grid .product-card-footer{
    min-height:112px !important;
    display:grid !important;
    align-content:end !important;
  }
  .product-five-oclock-tea .product-info h2{
    font-size:clamp(22px,4.5vw,30px) !important;
    max-width:8.4ch !important;
  }
}

/* Mobile/tablet: feature note should be light, two-line style, not a big card. */
@media (max-width:1100px){
  .mobile-feature-note{
    margin:10px auto 20px !important;
    padding:0 18px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    text-align:center !important;
  }
  .mobile-feature-note .eyebrow{
    display:none !important;
  }
  .mobile-feature-note h2{
    font-family:Montserrat, "Noto Sans Thai", sans-serif !important;
    font-size:13px !important;
    line-height:1.25 !important;
    letter-spacing:.08em !important;
    color:#8A2B2B !important;
    margin:0 0 4px !important;
  }
  .mobile-feature-note p:not(.eyebrow){
    font-size:13px !important;
    line-height:1.35 !important;
    max-width:34ch !important;
    color:rgba(16,24,32,.62) !important;
  }
}

@media (max-width:760px){
  .product-grid.flat-product-grid .product-info{
    min-height:152px !important;
  }
  .product-grid.flat-product-grid .product-card-footer{
    min-height:104px !important;
  }
  .product-grid.flat-product-grid .product-info h2{
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .product-five-oclock-tea .product-info h2{
    font-size:clamp(17px,4.7vw,22px) !important;
    max-width:8.2ch !important;
    min-height:58px !important;
    line-height:.9 !important;
  }
  .product-grid.flat-product-grid .product-info p:last-child{
    min-height:34px !important;
  }
}

@media (max-width:390px){
  .product-grid.flat-product-grid .product-info{
    min-height:146px !important;
  }
  .product-five-oclock-tea .product-info h2{
    font-size:clamp(16px,4.5vw,20px) !important;
  }
}


/* ===== V75: Card Studio desktop shows all 12 cards ===== */
@media (min-width:1101px){
  .tarot-centered-cards-v19,
  .tarot-card-row,
  .tarot-centered-cards{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(150px, 1fr)) !important;
    gap:18px !important;
    width:100% !important;
    max-width:980px !important;
    margin:28px auto 0 !important;
    overflow:visible !important;
    justify-items:center !important;
  }
  .tarot-pick-card-v20,
  .tarot-pick-card,
  .tarot-pick-card-v17{
    display:block !important;
    position:relative !important;
    width:100% !important;
    max-width:190px !important;
    min-width:0 !important;
    margin:0 !important;
    transform:none !important;
    opacity:1 !important;
  }
  .tarot-pick-card-v20:nth-child(n+4){
    display:block !important;
  }
  .tarot-pick-card-v20:hover,
  .tarot-pick-card:hover{
    transform:translateY(-8px) rotate(-1deg) !important;
  }
  .tarot-pick-card-v20.is-picked{
    transform:translateY(-12px) scale(1.04) !important;
    z-index:10 !important;
  }
  .tarot-pick-card-v20.is-dimmed{
    opacity:.35 !important;
    transform:scale(.96) !important;
  }
}


/* ===== V76: restore clean 12-card Card Studio layout on desktop ===== */
@media (min-width:1101px){
  .tarot-single-experience-v19{
    padding:24px 28px 64px !important;
  }
  .tarot-pick-center-v19{
    max-width:1120px !important;
    margin:0 auto !important;
    padding:30px 32px 38px !important;
    overflow:hidden !important;
  }
  .tarot-pick-heading{
    margin-bottom:22px !important;
  }
  .tarot-pick-heading h2{
    font-size:clamp(44px,5.2vw,74px) !important;
    line-height:.9 !important;
  }

  .tarot-centered-cards-v19{
    position:static !important;
    height:auto !important;
    max-width:980px !important;
    width:100% !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:22px !important;
    justify-items:center !important;
    align-items:center !important;
    overflow:visible !important;
  }

  .tarot-pick-card-v20,
  .tarot-pick-card-v19,
  .tarot-pick-card{
    position:static !important;
    top:auto !important;
    left:auto !important;
    display:block !important;
    width:100% !important;
    max-width:178px !important;
    min-width:0 !important;
    margin:0 !important;
    transform:none !important;
    opacity:1 !important;
    z-index:auto !important;
  }

  .tarot-pick-card-v20:nth-child(n),
  .tarot-pick-card-v20:nth-child(n):hover,
  .tarot-pick-card-v20:nth-child(n+4){
    position:static !important;
    display:block !important;
    transform:none !important;
    opacity:1 !important;
  }

  .tarot-pick-card-v20:hover,
  .tarot-pick-card-v19:hover,
  .tarot-pick-card:hover{
    transform:translateY(-8px) !important;
    z-index:5 !important;
  }

  .tarot-pick-card-v20.is-picked,
  .tarot-pick-card-v19.is-picked,
  .tarot-pick-card.is-picked{
    transform:translateY(-10px) scale(1.04) !important;
    opacity:1 !important;
    z-index:10 !important;
  }

  .tarot-pick-card-v20.is-dimmed,
  .tarot-pick-card-v19.is-dimmed,
  .tarot-pick-card.is-dimmed{
    opacity:.28 !important;
    transform:scale(.96) !important;
  }

  .tarot-pick-card-v20 .tarot-back-shell-v20,
  .tarot-pick-card-v19 .tarot-back-shell-v19{
    aspect-ratio:3/4.2 !important;
    border-radius:26px !important;
    box-shadow:0 16px 34px rgba(16,24,32,.12) !important;
  }

  .tarot-pick-card-v20 .tarot-back-shell-v20 img,
  .tarot-pick-card-v19 .tarot-back-shell-v19 img{
    width:38% !important;
    max-width:86px !important;
  }
}

@media (min-width:1101px) and (max-width:1280px){
  .tarot-centered-cards-v19{
    max-width:900px !important;
    gap:18px !important;
  }
  .tarot-pick-card-v20,
  .tarot-pick-card-v19,
  .tarot-pick-card{
    max-width:160px !important;
  }
}


/* ===== V77: desktop Card Studio 12-card stacked spread ===== */
@media (min-width:1101px){
  .tarot-pick-center-v19{
    max-width:1120px !important;
    overflow:hidden !important;
    padding:30px 34px 46px !important;
  }

  .tarot-centered-cards-v19{
    position:relative !important;
    display:block !important;
    width:min(100%, 940px) !important;
    max-width:940px !important;
    height:560px !important;
    margin:10px auto 0 !important;
    overflow:visible !important;
  }

  .tarot-pick-card-v20,
  .tarot-pick-card-v19,
  .tarot-pick-card{
    position:absolute !important;
    top:auto !important;
    left:auto !important;
    width:184px !important;
    max-width:184px !important;
    min-width:0 !important;
    margin:0 !important;
    display:block !important;
    opacity:1 !important;
    transform-origin:center center !important;
    transition:transform .22s ease, opacity .22s ease, z-index .22s ease !important;
  }

  .tarot-pick-card-v20 .tarot-back-shell-v20,
  .tarot-pick-card-v19 .tarot-back-shell-v19{
    aspect-ratio:3/4.25 !important;
    border-radius:28px !important;
    box-shadow:0 18px 36px rgba(16,24,32,.12) !important;
  }

  /* A controlled 12-card stacked/fanned layout: 3 rows x 4, slightly overlapped */
  .tarot-pick-card-v20:nth-child(1){left:60px!important;top:14px!important;transform:rotate(-7deg)!important;z-index:1!important;}
  .tarot-pick-card-v20:nth-child(2){left:232px!important;top:4px!important;transform:rotate(4deg)!important;z-index:2!important;}
  .tarot-pick-card-v20:nth-child(3){left:404px!important;top:10px!important;transform:rotate(-2deg)!important;z-index:3!important;}
  .tarot-pick-card-v20:nth-child(4){left:576px!important;top:0!important;transform:rotate(7deg)!important;z-index:4!important;}

  .tarot-pick-card-v20:nth-child(5){left:128px!important;top:178px!important;transform:rotate(5deg)!important;z-index:5!important;}
  .tarot-pick-card-v20:nth-child(6){left:300px!important;top:166px!important;transform:rotate(-4deg)!important;z-index:6!important;}
  .tarot-pick-card-v20:nth-child(7){left:472px!important;top:178px!important;transform:rotate(3deg)!important;z-index:7!important;}
  .tarot-pick-card-v20:nth-child(8){left:644px!important;top:166px!important;transform:rotate(-5deg)!important;z-index:8!important;}

  .tarot-pick-card-v20:nth-child(9){left:60px!important;top:342px!important;transform:rotate(4deg)!important;z-index:9!important;}
  .tarot-pick-card-v20:nth-child(10){left:232px!important;top:328px!important;transform:rotate(-6deg)!important;z-index:10!important;}
  .tarot-pick-card-v20:nth-child(11){left:404px!important;top:342px!important;transform:rotate(5deg)!important;z-index:11!important;}
  .tarot-pick-card-v20:nth-child(12){left:576px!important;top:330px!important;transform:rotate(-3deg)!important;z-index:12!important;}

  .tarot-pick-card-v20:hover{
    transform:translateY(-12px) scale(1.035) rotate(0deg) !important;
    z-index:30 !important;
  }
  .tarot-pick-card-v20.is-picked{
    transform:translateY(-18px) scale(1.08) rotate(0deg) !important;
    opacity:1 !important;
    z-index:40 !important;
  }
  .tarot-pick-card-v20.is-dimmed{
    opacity:.22 !important;
    transform:scale(.95) !important;
  }
}

@media (min-width:1101px) and (max-width:1280px){
  .tarot-centered-cards-v19{
    width:820px !important;
    height:520px !important;
  }
  .tarot-pick-card-v20,
  .tarot-pick-card-v19,
  .tarot-pick-card{
    width:164px !important;
    max-width:164px !important;
  }

  .tarot-pick-card-v20:nth-child(1){left:38px!important;top:12px!important;}
  .tarot-pick-card-v20:nth-child(2){left:190px!important;top:4px!important;}
  .tarot-pick-card-v20:nth-child(3){left:342px!important;top:10px!important;}
  .tarot-pick-card-v20:nth-child(4){left:494px!important;top:0!important;}

  .tarot-pick-card-v20:nth-child(5){left:92px!important;top:160px!important;}
  .tarot-pick-card-v20:nth-child(6){left:244px!important;top:150px!important;}
  .tarot-pick-card-v20:nth-child(7){left:396px!important;top:160px!important;}
  .tarot-pick-card-v20:nth-child(8){left:548px!important;top:150px!important;}

  .tarot-pick-card-v20:nth-child(9){left:38px!important;top:308px!important;}
  .tarot-pick-card-v20:nth-child(10){left:190px!important;top:298px!important;}
  .tarot-pick-card-v20:nth-child(11){left:342px!important;top:308px!important;}
  .tarot-pick-card-v20:nth-child(12){left:494px!important;top:298px!important;}
}


/* ===== V78: restore classic horizontal overlapped 12-card spread on desktop ===== */
@media (min-width:1101px){
  .tarot-page-v19 .tarot-pick-center-v19{
    max-width:1180px !important;
    padding:34px 40px 52px !important;
    overflow:hidden !important;
  }

  .tarot-page-v19 .tarot-centered-cards-v19{
    display:flex !important;
    justify-content:center !important;
    align-items:flex-end !important;
    position:relative !important;
    width:100% !important;
    max-width:1080px !important;
    min-height:380px !important;
    height:380px !important;
    margin:6px auto 0 !important;
    padding:20px 18px 26px !important;
    overflow:visible !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    display:block !important;
    flex:0 0 auto !important;
    width:162px !important;
    max-width:162px !important;
    min-width:162px !important;
    margin:0 0 0 -78px !important;
    opacity:1 !important;
    z-index:var(--depth) !important;
    transform:translateY(calc((var(--drop, 0) * 1px) + 22px)) rotate(var(--tilt, 0deg)) !important;
    transform-origin:center bottom !important;
    transition:transform .22s ease, opacity .22s ease, z-index .22s ease !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:first-child{margin-left:0 !important;}

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){z-index:1 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){z-index:2 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){z-index:3 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){z-index:4 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){z-index:5 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){z-index:8 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){z-index:9 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){z-index:7 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){z-index:6 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){z-index:5 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){z-index:4 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){z-index:3 !important;}

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6),
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){
    transform:translateY(16px) rotate(var(--tilt, 0deg)) !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:hover{
    transform:translateY(6px) scale(1.035) rotate(0deg) !important;
    z-index:20 !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-picked{
    transform:translateY(-4px) scale(1.06) rotate(0deg) !important;
    z-index:30 !important;
    opacity:1 !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed{
    opacity:.18 !important;
    transform:translateY(calc((var(--drop, 0) * 1px) + 28px)) scale(.96) rotate(var(--tilt, 0deg)) !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20{
    aspect-ratio:3 / 4.2 !important;
    border-radius:30px !important;
    box-shadow:0 18px 36px rgba(16,24,32,.12) !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 img{
    width:38% !important;
    max-width:88px !important;
  }
}

@media (min-width:1101px) and (max-width:1280px){
  .tarot-page-v19 .tarot-centered-cards-v19{
    max-width:960px !important;
    min-height:340px !important;
    height:340px !important;
    padding:16px 10px 24px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20{
    width:146px !important;
    max-width:146px !important;
    min-width:146px !important;
    margin-left:-72px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:first-child{margin-left:0 !important;}
}


/* ===== V79: clean desktop card spread matching reference ===== */
@media (min-width:1101px){
  .tarot-page-v19 .tarot-pick-center-v19{
    max-width: 1260px !important;
    padding: 22px 34px 36px !important;
    overflow: hidden !important;
  }

  .tarot-page-v19 .tarot-centered-cards-v19{
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    width: 100% !important;
    max-width: 1140px !important;
    min-height: 360px !important;
    height: 360px !important;
    margin: 8px auto 0 !important;
    padding: 18px 42px 26px !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
    margin: 0 0 0 -56px !important;
    transform-origin: center bottom !important;
    transition: transform .22s ease, opacity .22s ease, z-index .22s ease !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:first-child{margin-left:0 !important;}

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){transform:translateY(26px) rotate(-8deg) !important; z-index:1 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){transform:translateY(10px) rotate(-4deg) !important; z-index:2 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){transform:translateY(2px) rotate(-1deg) !important; z-index:3 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){transform:translateY(16px) rotate(4deg) !important; z-index:4 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){transform:translateY(26px) rotate(8deg) !important; z-index:5 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){transform:translateY(6px) rotate(-5deg) !important; z-index:6 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){transform:translateY(0px) rotate(0deg) !important; z-index:10 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){transform:translateY(8px) rotate(5deg) !important; z-index:9 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){transform:translateY(22px) rotate(7deg) !important; z-index:8 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){transform:translateY(10px) rotate(-4deg) !important; z-index:7 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){transform:translateY(2px) rotate(2deg) !important; z-index:6 !important;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){transform:translateY(14px) rotate(5deg) !important; z-index:5 !important;}

  .tarot-page-v19 .tarot-pick-card-v20:hover{
    transform: translateY(-6px) scale(1.03) rotate(0deg) !important;
    z-index: 20 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20.is-picked{
    transform: translateY(-8px) scale(1.05) rotate(0deg) !important;
    z-index: 30 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed{
    opacity: .16 !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20{
    aspect-ratio: 3 / 4.2 !important;
    border-radius: 30px !important;
    box-shadow: 0 16px 34px rgba(16,24,32,.10) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 img{
    width: 40% !important;
    max-width: 84px !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .tarot-page-v19 .tarot-centered-cards-v19{
    max-width: 1020px !important;
    padding: 18px 28px 24px !important;
    min-height: 336px !important;
    height: 336px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20{
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
    margin-left: -52px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:first-child{margin-left:0 !important;}
}


/* ===== V80: final Card Studio fan stack like reference ===== */
@media (min-width:1101px){
  .tarot-page-v19 .tarot-pick-center-v19{
    max-width:1180px !important;
    margin:0 auto !important;
    padding:32px 36px 44px !important;
    overflow:hidden !important;
  }

  .tarot-page-v19 .tarot-pick-heading{
    margin-bottom:8px !important;
  }

  .tarot-page-v19 .tarot-centered-cards-v19{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:980px !important;
    height:430px !important;
    min-height:430px !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:visible !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    position:absolute !important;
    left:50% !important;
    top:54% !important;
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:auto !important;
    margin:0 !important;
    display:block !important;
    opacity:1 !important;
    transform-origin:center center !important;
    transition:transform .22s ease, opacity .22s ease, box-shadow .22s ease, z-index .22s ease !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20{
    aspect-ratio:3 / 4.15 !important;
    border-radius:34px !important;
    box-shadow:0 22px 44px rgba(16,24,32,.13) !important;
    border:2px solid rgba(16,24,32,.055) !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 img{
    width:38% !important;
    max-width:95px !important;
  }

  /* Compact fan spread: all cards share the same center, then fan outward */
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){
    transform:translate(-50%,-50%) translate(-380px, 32px) rotate(-9deg) !important;
    z-index:1 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){
    transform:translate(-50%,-50%) translate(-310px, 18px) rotate(-7deg) !important;
    z-index:2 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){
    transform:translate(-50%,-50%) translate(-240px, 8px) rotate(-5deg) !important;
    z-index:3 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){
    transform:translate(-50%,-50%) translate(-170px, 2px) rotate(-3deg) !important;
    z-index:4 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){
    transform:translate(-50%,-50%) translate(-100px, -4px) rotate(-1deg) !important;
    z-index:5 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){
    transform:translate(-50%,-50%) translate(-34px, -8px) rotate(-.5deg) !important;
    z-index:8 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){
    transform:translate(-50%,-50%) translate(30px, -10px) rotate(.5deg) !important;
    z-index:12 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){
    transform:translate(-50%,-50%) translate(96px, -4px) rotate(1.5deg) !important;
    z-index:7 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){
    transform:translate(-50%,-50%) translate(166px, 2px) rotate(3deg) !important;
    z-index:6 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){
    transform:translate(-50%,-50%) translate(236px, 8px) rotate(5deg) !important;
    z-index:5 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){
    transform:translate(-50%,-50%) translate(306px, 18px) rotate(7deg) !important;
    z-index:4 !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){
    transform:translate(-50%,-50%) translate(376px, 32px) rotate(9deg) !important;
    z-index:3 !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:hover{
    transform:translate(-50%,-50%) translate(var(--hover-x, 0px), -26px) scale(1.045) rotate(0deg) !important;
    z-index:40 !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1):hover{--hover-x:-380px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2):hover{--hover-x:-310px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3):hover{--hover-x:-240px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4):hover{--hover-x:-170px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5):hover{--hover-x:-100px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6):hover{--hover-x:-34px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7):hover{--hover-x:30px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8):hover{--hover-x:96px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9):hover{--hover-x:166px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10):hover{--hover-x:236px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11):hover{--hover-x:306px;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12):hover{--hover-x:376px;}

  .tarot-page-v19 .tarot-pick-card-v20.is-picked{
    transform:translate(-50%,-50%) translate(0px, -26px) scale(1.08) rotate(0deg) !important;
    z-index:50 !important;
    opacity:1 !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed{
    opacity:.16 !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .tarot-page-v19 .tarot-pick-center-v19{
    max-width:1040px !important;
  }
  .tarot-page-v19 .tarot-centered-cards-v19{
    max-width:900px !important;
    height:390px !important;
    min-height:390px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20{
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){
    transform:translate(-50%,-50%) translate(-330px, 28px) rotate(-9deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){
    transform:translate(-50%,-50%) translate(-270px, 16px) rotate(-7deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){
    transform:translate(-50%,-50%) translate(-210px, 7px) rotate(-5deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){
    transform:translate(-50%,-50%) translate(-150px, 1px) rotate(-3deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){
    transform:translate(-50%,-50%) translate(-88px, -4px) rotate(-1deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){
    transform:translate(-50%,-50%) translate(-30px, -7px) rotate(-.5deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){
    transform:translate(-50%,-50%) translate(28px, -9px) rotate(.5deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){
    transform:translate(-50%,-50%) translate(86px, -4px) rotate(1.5deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){
    transform:translate(-50%,-50%) translate(148px, 1px) rotate(3deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){
    transform:translate(-50%,-50%) translate(208px, 7px) rotate(5deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){
    transform:translate(-50%,-50%) translate(268px, 16px) rotate(7deg) !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){
    transform:translate(-50%,-50%) translate(328px, 28px) rotate(9deg) !important;
  }
}


/* ===== V81 Card Studio desktop fix: no flicker / no jump on hover ===== */
@media (min-width:1101px){
  .tarot-page-v19 .tarot-pick-center-v19{
    max-width:1180px !important;
    margin:0 auto !important;
    padding:34px 34px 44px !important;
    overflow:hidden !important;
  }

  .tarot-page-v19 .tarot-pick-heading{
    position:relative !important;
    z-index:3 !important;
    margin-bottom:8px !important;
  }

  .tarot-page-v19 .tarot-centered-cards-v19{
    position:relative !important;
    width:100% !important;
    max-width:1000px !important;
    height:410px !important;
    min-height:410px !important;
    margin:0 auto !important;
    overflow:hidden !important;
    isolation:isolate !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    position:absolute !important;
    left:50% !important;
    top:66% !important;
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    margin:0 !important;
    cursor:pointer !important;
    will-change:auto !important;
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;
    transform:var(--fan-transform) !important;
    transition:opacity .16s ease, filter .16s ease !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20{
    aspect-ratio:3 / 4.15 !important;
    border-radius:34px !important;
    border:2px solid rgba(16,24,32,.06) !important;
    box-shadow:0 18px 32px rgba(16,24,32,.10) !important;
    transition:box-shadow .16s ease, outline-color .16s ease, filter .16s ease !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 img{
    width:38% !important;
    max-width:94px !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){ --fan-transform:translate(-50%,-50%) translate(-350px, 34px) rotate(-9deg); z-index:1 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){ --fan-transform:translate(-50%,-50%) translate(-285px, 26px) rotate(-7deg); z-index:2 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){ --fan-transform:translate(-50%,-50%) translate(-220px, 18px) rotate(-5deg); z-index:3 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){ --fan-transform:translate(-50%,-50%) translate(-155px, 12px) rotate(-3deg); z-index:4 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){ --fan-transform:translate(-50%,-50%) translate(-92px, 7px) rotate(-2deg); z-index:5 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){ --fan-transform:translate(-50%,-50%) translate(-30px, 3px) rotate(-1deg); z-index:6 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){ --fan-transform:translate(-50%,-50%) translate(30px, 3px) rotate(1deg); z-index:12 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){ --fan-transform:translate(-50%,-50%) translate(92px, 7px) rotate(2deg); z-index:8 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){ --fan-transform:translate(-50%,-50%) translate(155px, 12px) rotate(3deg); z-index:7 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){ --fan-transform:translate(-50%,-50%) translate(220px, 18px) rotate(5deg); z-index:6 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){ --fan-transform:translate(-50%,-50%) translate(285px, 26px) rotate(7deg); z-index:5 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){ --fan-transform:translate(-50%,-50%) translate(350px, 34px) rotate(9deg); z-index:4 !important; }

  /* important: no hover movement, no jump, no flicker */
  .tarot-page-v19 .tarot-pick-card-v20:hover,
  .tarot-page-v19 .tarot-pick-card-v20:focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked{
    transform:var(--fan-transform) !important;
    filter:none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:hover .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:focus-visible .tarot-back-shell-v20{
    box-shadow:0 22px 36px rgba(16,24,32,.14) !important;
    filter:brightness(.995) !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-picked .tarot-back-shell-v20{
    box-shadow:0 24px 42px rgba(16,24,32,.16) !important;
    outline:4px solid rgba(152,51,46,.20) !important;
    outline-offset:-2px !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed{
    opacity:.16 !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .tarot-page-v19 .tarot-centered-cards-v19{
    max-width:900px !important;
    height:390px !important;
    min-height:390px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20{
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){ --fan-transform:translate(-50%,-50%) translate(-300px, 30px) rotate(-9deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){ --fan-transform:translate(-50%,-50%) translate(-245px, 22px) rotate(-7deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){ --fan-transform:translate(-50%,-50%) translate(-190px, 16px) rotate(-5deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){ --fan-transform:translate(-50%,-50%) translate(-135px, 10px) rotate(-3deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){ --fan-transform:translate(-50%,-50%) translate(-80px, 6px) rotate(-2deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){ --fan-transform:translate(-50%,-50%) translate(-25px, 3px) rotate(-1deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){ --fan-transform:translate(-50%,-50%) translate(25px, 3px) rotate(1deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){ --fan-transform:translate(-50%,-50%) translate(80px, 6px) rotate(2deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){ --fan-transform:translate(-50%,-50%) translate(135px, 10px) rotate(3deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){ --fan-transform:translate(-50%,-50%) translate(190px, 16px) rotate(5deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){ --fan-transform:translate(-50%,-50%) translate(245px, 22px) rotate(7deg); }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){ --fan-transform:translate(-50%,-50%) translate(300px, 30px) rotate(9deg); }
}


/* ===== V82: hard stop all Card Studio hover flicker ===== */
/* The flicker came from older hover rules changing z-index/transform while cards overlap. 
   This freezes the stack completely until click. */
@media (min-width:1101px){
  .tarot-page-v19 .tarot-centered-cards-v19{
    pointer-events:auto !important;
    overflow:hidden !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    transition:none !important;
    animation:none !important;
    transform:var(--fan-transform) !important;
    z-index:var(--fan-z) !important;
    filter:none !important;
    will-change:auto !important;
    outline:none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){ --fan-z:1; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){ --fan-z:2; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){ --fan-z:3; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){ --fan-z:4; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){ --fan-z:5; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){ --fan-z:6; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){ --fan-z:12; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){ --fan-z:8; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){ --fan-z:7; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){ --fan-z:6; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){ --fan-z:5; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){ --fan-z:4; }

  .tarot-page-v19 .tarot-pick-card-v20:hover,
  .tarot-page-v19 .tarot-pick-card-v20:focus,
  .tarot-page-v19 .tarot-pick-card-v20:focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:active{
    transform:var(--fan-transform) !important;
    z-index:var(--fan-z) !important;
    opacity:1 !important;
    filter:none !important;
    outline:none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:hover .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:focus .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:focus-visible .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:active .tarot-back-shell-v20{
    transition:none !important;
    animation:none !important;
    transform:none !important;
    filter:none !important;
    box-shadow:0 18px 32px rgba(16,24,32,.10) !important;
    outline:none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 img,
  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 *{
    pointer-events:none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-picked,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:hover,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:focus,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:active{
    transform:var(--fan-transform) !important;
    z-index:var(--fan-z) !important;
    opacity:1 !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed,
  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed:hover{
    transform:var(--fan-transform) !important;
    z-index:var(--fan-z) !important;
    opacity:.16 !important;
    filter:none !important;
  }
}



/* ===== V84: tighter centered fan stack — stays inside frame ===== */
@media (min-width:1101px){
  .tarot-page-v19 .tarot-pick-center-v19{
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 28px 40px 46px !important;
    overflow: visible !important;
  }

  .tarot-page-v19 .tarot-pick-heading{
    position: relative !important;
    z-index: 5 !important;
    margin-bottom: 14px !important;
  }

  .tarot-page-v19 .tarot-centered-cards-v19{
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    position: relative !important;
    width: 100% !important;
    max-width: 980px !important;
    min-height: 312px !important;
    height: 312px !important;
    margin: 0 auto !important;
    padding: 18px 34px 12px !important;
    overflow: visible !important;
    isolation: isolate !important;
    pointer-events: auto !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    position: relative !important;
    left: auto !important;
    top: auto !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    margin: 0 0 0 -82px !important;
    padding: 0 !important;
    opacity: 1 !important;
    cursor: pointer !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    will-change: auto !important;
    transform-origin: center bottom !important;
    transition: none !important;
    animation: none !important;
    filter: none !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:first-child{ margin-left: 0 !important; }

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){ transform: translateY(18px) rotate(-7deg) !important; z-index: 1 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){ transform: translateY(12px) rotate(-5deg) !important; z-index: 2 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){ transform: translateY(7px) rotate(-4deg) !important; z-index: 3 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){ transform: translateY(3px) rotate(-2.5deg) !important; z-index: 4 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){ transform: translateY(1px) rotate(-1.2deg) !important; z-index: 5 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){ transform: translateY(0px) rotate(-0.4deg) !important; z-index: 6 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){ transform: translateY(0px) rotate(0.4deg) !important; z-index: 12 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){ transform: translateY(1px) rotate(1.2deg) !important; z-index: 11 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){ transform: translateY(3px) rotate(2.5deg) !important; z-index: 10 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){ transform: translateY(7px) rotate(4deg) !important; z-index: 9 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){ transform: translateY(12px) rotate(5deg) !important; z-index: 8 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){ transform: translateY(18px) rotate(7deg) !important; z-index: 7 !important; }

  .tarot-page-v19 .tarot-pick-card-v20:hover,
  .tarot-page-v19 .tarot-pick-card-v20:focus,
  .tarot-page-v19 .tarot-pick-card-v20:focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:active,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked{
    filter: none !important;
    transition: none !important;
    animation: none !important;
    outline: none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1).is-picked{ transform: translateY(18px) rotate(-7deg) !important; z-index: 1 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2).is-picked{ transform: translateY(12px) rotate(-5deg) !important; z-index: 2 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3).is-picked{ transform: translateY(7px) rotate(-4deg) !important; z-index: 3 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4).is-picked{ transform: translateY(3px) rotate(-2.5deg) !important; z-index: 4 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5).is-picked{ transform: translateY(1px) rotate(-1.2deg) !important; z-index: 5 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6).is-picked{ transform: translateY(0px) rotate(-0.4deg) !important; z-index: 6 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7).is-picked{ transform: translateY(0px) rotate(0.4deg) !important; z-index: 12 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8).is-picked{ transform: translateY(1px) rotate(1.2deg) !important; z-index: 11 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9).is-picked{ transform: translateY(3px) rotate(2.5deg) !important; z-index: 10 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10).is-picked{ transform: translateY(7px) rotate(4deg) !important; z-index: 9 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11).is-picked{ transform: translateY(12px) rotate(5deg) !important; z-index: 8 !important; }
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12):hover,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12):focus,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12):focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12):active,
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12).is-picked{ transform: translateY(18px) rotate(7deg) !important; z-index: 7 !important; }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:hover .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:focus .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:focus-visible .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20:active .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked .tarot-back-shell-v20{
    aspect-ratio: 3 / 4.2 !important;
    border-radius: 28px !important;
    border: 2px solid rgba(16,24,32,.07) !important;
    box-shadow: 0 16px 30px rgba(16,24,32,.10) !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    outline: none !important;
    filter: none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 img{
    width: 39% !important;
    max-width: 78px !important;
    pointer-events: none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 *{
    pointer-events: none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed,
  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed:hover,
  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed:focus{
    opacity: .18 !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .tarot-page-v19 .tarot-centered-cards-v19{
    max-width: 880px !important;
    min-height: 290px !important;
    height: 290px !important;
    padding: 18px 22px 10px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20{
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    margin-left: -80px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:first-child{ margin-left: 0 !important; }
}


/* ===== V85: tighter desktop stack + hover lift + remove lower empty section ===== */
@media (min-width:1101px){
  .tarot-page-v19 .daily-empower{display:none !important;}

  .tarot-page-v19 .tarot-pick-center-v19{
    max-width: 1140px !important;
    padding: 26px 30px 24px !important;
  }

  .tarot-page-v19 .tarot-pick-heading{margin-bottom: 8px !important;}

  .tarot-page-v19 .tarot-centered-cards-v19{
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    flex-wrap: nowrap !important;
    position: relative !important;
    width: 100% !important;
    max-width: 840px !important;
    height: 290px !important;
    min-height: 290px !important;
    margin: 0 auto !important;
    padding: 10px 8px 0 !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    --base-y: 0px;
    --tilt: 0deg;
    --stack-z: 1;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    flex: 0 0 auto !important;
    width: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
    margin: 0 0 0 -94px !important;
    padding: 0 !important;
    transform-origin: center bottom !important;
    transform: translateY(var(--base-y)) rotate(var(--tilt)) !important;
    z-index: var(--stack-z) !important;
    transition: transform .14s ease-out, filter .14s ease-out !important;
    animation: none !important;
    will-change: transform !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20:first-child{margin-left:0 !important;}

  .tarot-page-v19 .tarot-pick-card-v20:nth-child(1){--base-y:16px; --tilt:-6deg;   --stack-z:1;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(2){--base-y:13px; --tilt:-5deg;   --stack-z:2;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(3){--base-y:10px; --tilt:-4deg;   --stack-z:3;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(4){--base-y:7px;  --tilt:-3deg;   --stack-z:4;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(5){--base-y:4px;  --tilt:-2deg;   --stack-z:5;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(6){--base-y:2px;  --tilt:-1deg;   --stack-z:6;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(7){--base-y:0px;  --tilt:0deg;    --stack-z:12;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(8){--base-y:2px;  --tilt:1deg;    --stack-z:11;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(9){--base-y:4px;  --tilt:2deg;    --stack-z:10;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(10){--base-y:7px; --tilt:3deg;    --stack-z:9;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(11){--base-y:10px; --tilt:4deg;   --stack-z:8;}
  .tarot-page-v19 .tarot-pick-card-v20:nth-child(12){--base-y:13px; --tilt:5deg;   --stack-z:7;}

  .tarot-page-v19 .tarot-pick-card-v20:hover,
  .tarot-page-v19 .tarot-pick-card-v20:focus,
  .tarot-page-v19 .tarot-pick-card-v20:focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:active{
    transform: translateY(calc(var(--base-y) - 14px)) rotate(var(--tilt)) !important;
    z-index: 40 !important;
    filter: none !important;
    outline: none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-picked,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:hover,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:focus,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:active{
    transform: translateY(calc(var(--base-y) - 14px)) rotate(var(--tilt)) !important;
    z-index: 45 !important;
    opacity: 1 !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed,
  .tarot-page-v19 .tarot-pick-card-v20.is-dimmed:hover{
    transform: translateY(var(--base-y)) rotate(var(--tilt)) !important;
    z-index: var(--stack-z) !important;
    opacity: .18 !important;
    filter: none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20{
    aspect-ratio: 3 / 4.2 !important;
    border-radius: 26px !important;
    border: 2px solid rgba(16,24,32,.07) !important;
    box-shadow: 0 16px 30px rgba(16,24,32,.10) !important;
    transition: inherit !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 img{
    width: 40% !important;
    max-width: 76px !important;
    pointer-events: none !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20,
  .tarot-page-v19 .tarot-pick-card-v20 .tarot-back-shell-v20 *{
    pointer-events: none !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .tarot-page-v19 .tarot-centered-cards-v19{
    max-width: 760px !important;
    height: 274px !important;
    min-height: 274px !important;
  }
  .tarot-page-v19 .tarot-pick-card-v20{
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
    margin-left: -88px !important;
  }
}


/* ===== V86: move card stack up, add bottom breathing room, remove hidden lower bar ===== */
@media (min-width:1101px){
  .tarot-page-v19 #tarotResultState[hidden]{
    display:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    min-height:0 !important;
    height:0 !important;
    overflow:hidden !important;
  }

  .tarot-page-v19 .tarot-pick-center-v19{
    padding: 20px 30px 18px !important;
  }

  .tarot-page-v19 .tarot-pick-heading{
    margin-bottom: 0 !important;
  }

  .tarot-page-v19 .tarot-centered-cards-v19{
    max-width: 820px !important;
    height: 276px !important;
    min-height: 276px !important;
    margin: -14px auto 0 !important;
    padding: 0 8px 18px !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    margin: 0 0 0 -98px !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20:hover,
  .tarot-page-v19 .tarot-pick-card-v20:focus,
  .tarot-page-v19 .tarot-pick-card-v20:focus-visible,
  .tarot-page-v19 .tarot-pick-card-v20:active{
    transform: translateY(calc(var(--base-y) - 16px)) rotate(var(--tilt)) !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20.is-picked,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:hover,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:focus,
  .tarot-page-v19 .tarot-pick-card-v20.is-picked:active{
    transform: translateY(calc(var(--base-y) - 16px)) rotate(var(--tilt)) !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .tarot-page-v19 .tarot-centered-cards-v19{
    max-width: 748px !important;
    height: 264px !important;
    min-height: 264px !important;
    margin-top: -12px !important;
    padding-bottom: 16px !important;
  }

  .tarot-page-v19 .tarot-pick-card-v20{
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    margin-left: -90px !important;
  }
}


/* ===== V87: product/policy cleanup ===== */

/* Product cards: keep View Photos only in the action row, not on top of the image. */
.product-card .swatch-chip,
.swatch .swatch-chip,
.photo-swatch .swatch-chip{
  display:none !important;
}

/* Product descriptions must be readable on mobile/tablet. */
.product-info p:last-child{
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:unset !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
}

@media (max-width:1100px){
  .product-grid.flat-product-grid .product-info{
    min-height:auto !important;
  }
  .product-grid.flat-product-grid .product-info p:last-child{
    display:block !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:unset !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
    min-height:auto !important;
    max-height:none !important;
    font-size:12px !important;
    line-height:1.28 !important;
  }
  .product-grid.flat-product-grid .product-card{
    height:auto !important;
  }
}

@media (max-width:760px){
  .product-grid.flat-product-grid .product-card{
    gap:10px !important;
    padding:12px !important;
  }
  .product-grid.flat-product-grid .product-info{
    gap:6px !important;
    min-height:auto !important;
  }
  .product-grid.flat-product-grid .product-info p:last-child{
    font-size:11px !important;
    line-height:1.25 !important;
    margin:0 !important;
  }
  .product-grid.flat-product-grid .product-card-footer{
    margin-top:8px !important;
  }
}

/* Policy/contact pages: top red title stays brand font, inner duplicate title is hidden. */
.policy-card .policy-section > h2{
  display:none !important;
}

/* Policy/contact body typography: use clean readable font, not display font. */
.policy-card p,
.policy-card li,
.policy-card h3,
.policy-card strong,
.policy-card a{
  font-family:Montserrat, "Noto Sans Thai", sans-serif !important;
}

.policy-card p,
.policy-card li{
  font-weight:500 !important;
  line-height:1.62 !important;
  letter-spacing:-.01em !important;
}

.policy-card h3{
  font-weight:900 !important;
  line-height:1.18 !important;
  letter-spacing:-.02em !important;
  margin:30px 0 12px !important;
  text-align:center !important;
}

.policy-card strong{
  font-weight:900 !important;
  color:inherit !important;
}

.policy-card a{
  font-weight:900 !important;
  color:var(--currant) !important;
}

@media (max-width:760px){
  .policy-card{
    padding:26px 18px !important;
  }
  .policy-card h1{
    font-size:clamp(42px, 15vw, 78px) !important;
    line-height:.9 !important;
    margin-bottom:24px !important;
  }
  .policy-card p,
  .policy-card li{
    font-size:15px !important;
    line-height:1.56 !important;
  }
  .policy-card h3{
    font-size:20px !important;
  }
}


/* ===== V88: mobile/product/policy/i18n final cleanup ===== */

/* Keep product image stable on mobile scroll (reduce flicker/flash). */
.swatch,
.photo-swatch,
.product-card .swatch,
.product-card .photo-swatch{
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
  contain:paint !important;
}
.swatch-photo{
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
  will-change:auto !important;
  image-rendering:auto !important;
}
@media (max-width:760px){
  .product-card,
  .product-grid.flat-product-grid .product-card{
    transform:translateZ(0) !important;
    -webkit-transform:translateZ(0) !important;
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;
    transition:none !important;
  }
}

/* Product cards: only show View Photos in the button row, never on top of the image. */
.product-card .swatch-chip,
.swatch .swatch-chip,
.photo-swatch .swatch-chip{
  display:none !important;
}

/* Product descriptions: do not cut unreadably on mobile. */
@media (max-width:760px){
  .product-grid.flat-product-grid .product-info,
  .carousel-page .product-info{
    min-height:auto !important;
  }
  .product-grid.flat-product-grid .product-info p:last-child,
  .carousel-page .product-info p:last-child,
  .product-info p:last-child{
    display:block !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:unset !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
    min-height:auto !important;
    max-height:none !important;
    font-size:10.7px !important;
    line-height:1.22 !important;
    margin:0 !important;
  }
  .product-grid.flat-product-grid .product-card-footer,
  .carousel-page .product-card-footer{
    margin-top:8px !important;
  }
}

/* Mobile header: Cart should not look larger when count is 0. */
.cart-link:not(.has-items) #cartCount{
  display:none !important;
}
@media (max-width:760px){
  .site-header nav a,
  .site-header nav button,
  .compact-header nav a,
  .compact-header nav button,
  .lang-toggle{
    min-height:36px !important;
    padding:8px 15px !important;
    font-size:11px !important;
    line-height:1 !important;
    border-radius:999px !important;
  }
  .cart-link{
    gap:4px !important;
    padding-left:15px !important;
    padding-right:15px !important;
  }
  .cart-link.has-items #cartCount{
    min-width:18px !important;
    height:18px !important;
    font-size:10px !important;
    margin-left:3px !important;
  }
}

/* Mobile hero price/offer line should sit in two cleaner lines, not three. */
@media (max-width:760px){
  .compact-hero .lead,
  .hero-copy .lead,
  .shop-hero .lead,
  .compact-shop-hero .lead{
    max-width:38ch !important;
    font-size:clamp(18px, 5vw, 24px) !important;
    line-height:1.28 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Policy/contact pages: body headings are left aligned and use readable font. Red top title stays brand font. */
.policy-card .policy-section > h2{
  display:none !important;
}
.policy-card p,
.policy-card li,
.policy-card h3,
.policy-card strong,
.policy-card a{
  font-family:Montserrat, "Noto Sans Thai", sans-serif !important;
}
.policy-card p,
.policy-card li{
  font-weight:500 !important;
  line-height:1.62 !important;
  letter-spacing:-.01em !important;
}
.policy-card h3{
  text-align:left !important;
  font-weight:900 !important;
  line-height:1.22 !important;
  letter-spacing:-.02em !important;
  margin:30px 0 12px !important;
}
.policy-card strong{
  font-weight:900 !important;
  color:inherit !important;
}
.policy-card a{
  font-weight:900 !important;
  color:var(--currant) !important;
}
@media (max-width:760px){
  .policy-card h1{
    text-align:left !important;
  }
  .policy-card h3{
    text-align:left !important;
    font-size:20px !important;
  }
  .policy-card p,
  .policy-card li{
    font-size:15px !important;
    line-height:1.56 !important;
  }
}


/* ===== V89 Buy 2 Get 1 cart guidance ===== */
.cart-promo-box{
  border:1px solid rgba(138,43,43,.18);
  border-radius:22px;
  background:rgba(249,159,201,.14);
  padding:16px;
  margin:12px 0 16px;
  display:grid;
  gap:10px;
}
.cart-promo-box.strong{
  background:rgba(249,159,201,.28);
  border-color:rgba(138,43,43,.34);
}
.cart-promo-box.success{
  background:rgba(243,233,216,.72);
}
.cart-promo-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:900;
}
.cart-promo-top strong{
  font-size:15px;
  color:var(--currant);
}
.cart-promo-top span{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
  color:rgba(16,24,32,.62);
}
.cart-promo-box p{
  margin:0;
  color:rgba(16,24,32,.72);
  line-height:1.45;
  font-weight:600;
}
.promo-dots{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}
.promo-dots span{
  height:8px;
  border-radius:999px;
  background:rgba(16,24,32,.12);
}
.promo-dots span.filled{
  background:var(--currant);
}
.cart-promo-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.cart-promo-summary span{
  border-radius:999px;
  padding:7px 10px;
  background:rgba(255,250,244,.8);
  font-size:12px;
  font-weight:900;
}
.promo-shop-link{
  width:max-content;
  color:var(--currant);
  text-decoration:underline;
  text-underline-offset:4px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:12px;
}

@media (max-width:760px){
  .cart-promo-box{
    padding:14px;
    border-radius:18px;
  }
  .cart-promo-top{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  .cart-promo-summary span{
    font-size:11px;
    padding:6px 9px;
  }
}


/* ===== V90 cart promo readability ===== */
.cart-summary .button.full{
  margin-top:14px;
  min-height:54px;
  font-size:15px;
  letter-spacing:.02em;
}
.cart-summary #checkoutBtn.button.primary{
  background:var(--cream);
  color:var(--black);
  border-color:var(--cream);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.cart-summary #checkoutBtn.button.primary:hover{
  background:#fff;
  color:var(--black);
}
.cart-summary a.button.ghost.full{
  background:transparent;
  color:var(--cream);
  border-color:rgba(243,233,216,.34);
}
.cart-summary a.button.ghost.full:hover{
  border-color:var(--cream);
  background:rgba(243,233,216,.08);
}
.cart-promo-box{
  background:#f4ead7;
  border:1px solid rgba(138,43,43,.22);
  box-shadow:none;
}
.cart-promo-box.soft{
  background:#f2e6ef;
  border-color:rgba(138,43,43,.18);
}
.cart-promo-box.strong{
  background:#f8e4e5;
  border-color:rgba(138,43,43,.30);
}
.cart-promo-box.success{
  background:#efe8d7;
  border-color:rgba(138,43,43,.20);
}
.cart-promo-top{
  align-items:flex-start;
}
.cart-promo-top strong{
  font-size:28px;
  line-height:1.05;
  color:var(--currant);
  font-family: "Noto Sans Thai", "Syne", sans-serif;
}
.cart-promo-top span{
  color:rgba(16,24,32,.78);
  background:rgba(255,255,255,.58);
  border:1px solid rgba(16,24,32,.08);
  padding:6px 10px;
  border-radius:999px;
}
.cart-promo-box p{
  color:rgba(16,24,32,.90);
  font-size:18px;
  line-height:1.45;
  font-weight:700;
}
.promo-dots{
  gap:8px;
}
.promo-dots span{
  height:10px;
  background:rgba(138,43,43,.16);
}
.promo-dots span.filled{
  background:var(--currant);
}
.promo-shop-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:999px;
  background:var(--currant);
  color:var(--cream);
  text-decoration:none;
  text-transform:none;
  letter-spacing:0;
  font-size:15px;
}
.promo-shop-link:hover{
  background:#7f2324;
  color:var(--cream);
}
@media (max-width:760px){
  .cart-promo-top strong{
    font-size:22px;
  }
  .cart-promo-top span{
    font-size:10px;
  }
  .cart-promo-box p{
    font-size:16px;
  }
  .cart-summary .button.full{
    min-height:50px;
    font-size:14px;
  }
}


/* ===== V91 Desktop shop: fuller layout, mobile unchanged ===== */
@media (min-width:1101px){
  body.shop-page .shop-hero,
  .shop-page .shop-hero{
    max-width: 1180px !important;
    width: calc(100% - 96px) !important;
    margin: 42px auto 30px !important;
    padding: 34px 40px 28px !important;
  }

  body.shop-page .shop-hero h1,
  .shop-page .shop-hero h1{
    font-size: clamp(72px, 6.25vw, 118px) !important;
    line-height: .8 !important;
    max-width: 1080px !important;
  }

  body.shop-page .shop-hero p,
  .shop-page .shop-hero p{
    font-size: 20px !important;
    max-width: 980px !important;
  }

  body.shop-page .shop-section,
  .shop-page .shop-section{
    max-width: 1460px !important;
    width: calc(100% - 96px) !important;
    margin: 0 auto 74px !important;
  }

  body.shop-page .product-carousel-wrap,
  .shop-page .product-carousel-wrap{
    max-width: 1380px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  body.shop-page .product-grid.flat-product-grid,
  .shop-page .product-grid.flat-product-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 36px !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
  }

  body.shop-page .product-grid.flat-product-grid .product-card,
  .shop-page .product-grid.flat-product-grid .product-card{
    min-height: 590px !important;
    padding: 18px !important;
  }

  body.shop-page .product-grid.flat-product-grid .product-photo,
  .shop-page .product-grid.flat-product-grid .product-photo{
    height: 300px !important;
  }

  body.shop-page .product-grid.flat-product-grid .product-info h3,
  .shop-page .product-grid.flat-product-grid .product-info h3{
    font-size: clamp(40px, 3.35vw, 58px) !important;
    line-height: .86 !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  body.shop-page .product-grid.flat-product-grid .product-info p:last-child,
  .shop-page .product-grid.flat-product-grid .product-info p:last-child{
    font-size: 16px !important;
    line-height: 1.3 !important;
    min-height: 44px !important;
  }

  body.shop-page .product-card-footer,
  .shop-page .product-card-footer{
    margin-top: auto !important;
  }

  body.shop-page .carousel-arrow,
  .shop-page .carousel-arrow{
    width: 60px !important;
    height: 60px !important;
    font-size: 34px !important;
  }
}

@media (min-width:1500px){
  body.shop-page .shop-section,
  .shop-page .shop-section{
    max-width: 1560px !important;
  }

  body.shop-page .product-grid.flat-product-grid,
  .shop-page .product-grid.flat-product-grid{
    max-width: 1440px !important;
    gap: 42px !important;
  }

  body.shop-page .product-grid.flat-product-grid .product-card,
  .shop-page .product-grid.flat-product-grid .product-card{
    min-height: 620px !important;
  }

  body.shop-page .product-grid.flat-product-grid .product-photo,
  .shop-page .product-grid.flat-product-grid .product-photo{
    height: 320px !important;
  }
}


/* ===== V92 modal image no-flash / stable gallery ===== */
.modal.open{
  display:flex !important;
}
.modal-panel-single{
  contain: layout paint !important;
}
.modal-gallery-single{
  background:var(--pink) !important;
  overflow:hidden !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
}
.modal-single-frame{
  background:transparent !important;
  overflow:hidden !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
  will-change:auto !important;
}
.modal-single-frame.is-loading .modal-main-img{
  opacity:.88;
}
.modal-main-img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  opacity:1 !important;
  transition:none !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
}
.product-card,
.product-card *,
.carousel-track,
.carousel-page,
.swatch-photo,
.photo-swatch{
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
}
.carousel-track{
  transform:translate3d(0,0,0);
  will-change:transform;
}
.swatch-photo{
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
  transition:none !important;
}


/* ===== V96: smoother cart promo flow + centered pledge ===== */
.cart-promo-box.needs-attention{
  animation: cartPromoPulse .72s ease both;
  border-color: var(--currant) !important;
}
@keyframes cartPromoPulse{
  0%,100%{transform:translateY(0);}
  25%{transform:translateY(-3px);}
  50%{transform:translateY(2px);}
  75%{transform:translateY(-1px);}
}

.pledge-note{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:72px;
}


/* ===== V97 smoother free shade flow ===== */
.cart-promo-box.needs-attention{
  animation:none !important;
  transform:none !important;
}

.free-shade-prompt{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(16,24,32,.44);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease;
}
.free-shade-prompt.show{
  opacity:1;
  pointer-events:auto;
}
.free-shade-dialog{
  width:min(480px, 100%);
  border-radius:28px;
  background:linear-gradient(135deg,#fffaf4,#f9d8e8);
  border:1px solid rgba(138,43,43,.22);
  box-shadow:0 24px 70px rgba(16,24,32,.22);
  padding:28px;
  position:relative;
  transform:translateY(8px);
  transition:transform .16s ease;
}
.free-shade-prompt.show .free-shade-dialog{
  transform:translateY(0);
}
.free-shade-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:0;
  background:var(--black);
  color:var(--cream);
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.free-shade-dialog .eyebrow{
  margin:0 0 10px;
  color:var(--currant);
  font-weight:900;
}
.free-shade-dialog h3{
  margin:0 0 10px;
  color:var(--currant);
  font-size:clamp(34px,5vw,56px);
  line-height:.9;
  font-family:Oswald, sans-serif;
  text-transform:uppercase;
}
.free-shade-dialog p:not(.eyebrow){
  margin:0;
  color:rgba(16,24,32,.74);
  font-weight:650;
  line-height:1.45;
  font-size:17px;
}
.free-shade-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.free-shade-actions .button{
  flex:1 1 180px;
  justify-content:center;
}
.page-soft-leave{
  opacity:.72;
  transition:opacity .16s ease;
}
@media (max-width:760px){
  .free-shade-dialog{
    padding:24px 20px;
    border-radius:24px;
  }
}
