/* ============================================================
   Page design CSS — extracted verbatim from the original
   design system. Base + keyframes are global; responsive
   @media rules are scoped per page to avoid data-r collisions.
   ============================================================ */

/* ---- base / globals (deduped) ---- */
html,body{margin:0;padding:0;background:#F5F0E8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
*{box-sizing:border-box;}
h1,h2,h3{text-wrap:balance;}
p,li,blockquote{text-wrap:pretty;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #C9A84C;outline-offset:2px;border-radius:4px;}
::selection{background:#C9A84C;color:#0D1B3E;}

/* ---- keyframes (deduped) ---- */
@keyframes tbUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes tbMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes tbPulseGold{0%{box-shadow:0 0 0 0 rgba(201,168,76,.55)}70%{box-shadow:0 0 0 22px rgba(201,168,76,0)}100%{box-shadow:0 0 0 0 rgba(201,168,76,0)}}
@keyframes tbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes tbPulse{0%{box-shadow:0 0 0 0 rgba(201,168,76,.5)}70%{box-shadow:0 0 0 14px rgba(201,168,76,0)}100%{box-shadow:0 0 0 0 rgba(201,168,76,0)}}
@keyframes tbShine{0%{background-position:-180% 0}100%{background-position:180% 0}}

/* ---- responsive (scoped per page) ---- */
@media(max-width:1000px){
  body.tb-page-home [data-r="hero"]{grid-template-columns:1fr!important;}
  body.tb-page-home [data-r="herophoto"]{order:-1;min-height:50vh!important;border-radius:0 0 28px 28px!important;}
  body.tb-page-home [data-r="def"]{grid-template-columns:1fr!important;}
  body.tb-page-home [data-r="spot"]{grid-template-columns:1fr!important;}
  body.tb-page-home [data-r="safety"]{grid-template-columns:1fr!important;}
  body.tb-page-home [data-r="gift"]{grid-template-columns:1fr!important;}
  body.tb-page-home [data-r="c4"]{grid-template-columns:repeat(2,1fr)!important;}
  body.tb-page-home [data-r="c3"]{grid-template-columns:1fr!important;}
  body.tb-page-home [data-r="stats"]{grid-template-columns:repeat(2,1fr)!important;gap:34px 18px!important;}
}
@media(max-width:640px){
  body.tb-page-home [data-r="c4"]{grid-template-columns:1fr!important;}
  body.tb-page-home [data-r="pad"]{padding-left:20px!important;padding-right:20px!important;}
  body.tb-page-home [data-r="h1"]{font-size:46px!important;}
  body.tb-page-home [data-r="herotext"]{padding:54px 22px!important;}
  body.tb-page-home [data-r="h2"]{font-size:32px!important;}
}
@media(max-width:980px){
  body.tb-page-product [data-r="pd"]{grid-template-columns:1fr!important;}
  body.tb-page-product [data-r="c4"]{grid-template-columns:repeat(2,1fr)!important;}
  body.tb-page-product [data-r="c3"]{grid-template-columns:1fr!important;}
  body.tb-page-product [data-r="c2"]{grid-template-columns:1fr!important;}
  body.tb-page-product [data-r="reviewsplit"]{grid-template-columns:1fr!important;}
  body.tb-page-product [data-r="sticky"]{position:static!important;}
}
@media(max-width:620px){
  body.tb-page-product [data-r="aplus2"]{grid-template-columns:1fr!important;}
  body.tb-page-product [data-r="c4"]{grid-template-columns:1fr!important;}
  body.tb-page-product [data-r="pad"]{padding-left:18px!important;padding-right:18px!important;}
  body.tb-page-product [data-r="thumbs"]{grid-template-columns:repeat(4,1fr)!important;}
  body.tb-page-product [data-r="h1"]{font-size:34px!important;}
  body.tb-page-product [data-r="specrow"]{grid-template-columns:1fr!important;}
}
@media(max-width:980px){
  body.tb-page-about [data-r="split"]{grid-template-columns:1fr!important;}
  body.tb-page-about [data-r="c3"]{grid-template-columns:1fr!important;}
  body.tb-page-about [data-r="c4"]{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:620px){
  body.tb-page-about [data-r="pad"]{padding-left:20px!important;padding-right:20px!important;}
  body.tb-page-about [data-r="c4"]{grid-template-columns:1fr!important;}
  body.tb-page-about [data-r="h1"]{font-size:48px!important;}
}
@media(max-width:880px){
  body.tb-page-faq [data-r="faqgrid"]{grid-template-columns:1fr!important;}
  body.tb-page-faq [data-r="cats"]{position:static!important;}
}
@media(max-width:620px){
  body.tb-page-faq [data-r="pad"]{padding-left:20px!important;padding-right:20px!important;}
  body.tb-page-faq [data-r="h1"]{font-size:46px!important;}
}
@media(max-width:920px){
  body.tb-page-contact [data-r="split"]{grid-template-columns:1fr!important;}
  body.tb-page-contact [data-r="c2"]{grid-template-columns:1fr!important;}
}
@media(max-width:620px){
  body.tb-page-contact [data-r="pad"]{padding-left:20px!important;padding-right:20px!important;}
  body.tb-page-contact [data-r="h1"]{font-size:44px!important;}
  body.tb-page-contact [data-r="row2"]{grid-template-columns:1fr!important;}
}
@media(max-width:920px){
  body.tb-page-blog [data-r="feat"]{grid-template-columns:1fr!important;}
  body.tb-page-blog [data-r="c3"]{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:620px){
  body.tb-page-blog [data-r="pad"]{padding-left:20px!important;padding-right:20px!important;}
  body.tb-page-blog [data-r="c3"]{grid-template-columns:1fr!important;}
  body.tb-page-blog [data-r="h1"]{font-size:48px!important;}
}
