/* Tiger Trot compact public layout v18
   Keeps the main fundraiser story, progress and top standings above the fold,
   then lets families scroll into the deeper support experience. */

.tt-hero-inner{
  grid-template-columns:minmax(0,1.12fr) minmax(250px,.68fr);
  gap:30px;
  min-height:440px;
  padding:42px 0 70px;
}
.tt-hero-copy h1{font-size:clamp(3.7rem,8vw,6.9rem)}
.tt-hero-copy h2{margin:18px 0 9px;font-size:clamp(1.8rem,3.4vw,2.8rem)}
.tt-hero-copy>p:not(.tt-eyebrow){max-width:650px;font-size:1rem;line-height:1.55}
.tt-hero-actions{margin-top:20px}
.tt-hero-art{min-height:300px}
.tt-logo-disc{width:min(285px,62vw);border-width:9px;box-shadow:0 0 0 10px rgba(255,255,255,.08),0 25px 60px rgba(0,0,0,.24)}
.tt-roar-badge{right:0;bottom:8%;padding:10px 15px;border-radius:14px}
.tt-roar-badge strong{font-size:1.25rem}

.tt-progress-section{margin-top:-46px}
.tt-progress-card{padding:20px 22px;border-radius:22px}
.tt-progress-top h2{font-size:clamp(1.35rem,2.5vw,2rem)}
.tt-progress-numbers strong{font-size:clamp(2rem,4vw,3.1rem)}
.tt-progress-track{height:18px;margin:16px 0 8px}
.tt-progress-paw{width:31px;height:31px;right:-14px;font-size:.85rem}
.tt-progress-bottom{font-size:.82rem}

.tt-quick-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid #e8ebf3;
}
.tt-quick-actions-copy{display:flex;align-items:center;gap:9px;color:#596277;font-size:.82rem;font-weight:750}
.tt-quick-actions-copy strong{color:#161a25}
.tt-quick-actions-buttons{display:flex;flex-wrap:wrap;gap:8px}
.tt-quick-actions .tt-button{min-height:40px;padding:0 15px;font-size:.82rem}
.tt-quick-link{border:1px solid #d7dce8;background:#fff;color:#202838}

/* Put a compact standings snapshot immediately after progress. */
.tt-compact-standings{padding:32px 0 40px;background:linear-gradient(135deg,#08113c,#101f9a)}
.tt-compact-standings .tt-section-shell{
  display:grid;
  grid-template-columns:minmax(210px,.42fr) minmax(0,1.58fr);
  align-items:start;
  gap:24px;
}
.tt-compact-standings .tt-section-heading{margin:0;max-width:250px}
.tt-compact-standings .tt-section-heading h2{font-size:clamp(2rem,3.6vw,3.1rem);line-height:.95}
.tt-compact-standings .tt-section-heading>p:not(.tt-eyebrow){font-size:.88rem;line-height:1.55}
.tt-compact-standings .tt-leaderboard-grid{gap:12px}
.tt-compact-standings .tt-board{padding:16px;border-radius:18px}
.tt-compact-standings .tt-board-head{margin-bottom:10px}
.tt-compact-standings .tt-board-head h3{font-size:1.15rem}
.tt-compact-standings .tt-trophy{font-size:1.45rem}
.tt-compact-standings .tt-board-list{gap:6px}
.tt-compact-standings .tt-board-row{padding:9px 10px;border-radius:11px}
.tt-compact-standings .tt-board-row:nth-child(n+3){display:none}
.tt-compact-standings.is-expanded .tt-board-row:nth-child(n+3){display:grid}
.tt-compact-standings .tt-prize-callout{margin-top:10px;padding:9px 11px;font-size:.78rem}
.tt-standings-toggle{margin-top:14px;min-height:40px!important;padding:0 15px!important;font-size:.8rem!important}

/* The detailed support experience can breathe below the one-screen overview. */
.tt-support-section{padding:56px 0}
.tt-support-section .tt-section-heading{margin-bottom:22px}
.tt-support-section .tt-section-heading h2{font-size:clamp(2.2rem,4vw,3.5rem)}
.tt-support-note{margin-bottom:16px}
.tt-class-support{margin-top:34px!important}
.tt-class-support .tt-subheading h3{font-size:clamp(1.5rem,3vw,2.35rem)!important}

.tt-prizes-section{padding:58px 0}
.tt-prizes-section .tt-section-heading{margin-bottom:22px}

/* Shout-outs become a compact CTA; the full form lives in a modal. */
.tt-shoutout-section{padding:42px 0;background:radial-gradient(circle at 82% 20%,rgba(255,176,0,.18),transparent 28%),linear-gradient(135deg,#11172b,#101f9a)}
/* The original section shell carries tt-shoutout-layout, which was a two-column form layout.
   The compact CTA replaces that form, so force the shell back to a normal full-width block. */
#tt-shoutouts-section .tt-section-shell.tt-shoutout-layout{
  display:block!important;
  grid-template-columns:none!important;
  width:min(1180px,calc(100% - 40px));
}
.tt-shoutout-cta{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:24px 28px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
.tt-shoutout-cta-copy{display:flex;align-items:center;gap:18px;min-width:0}
.tt-shoutout-cta-copy>div:last-child{min-width:0}
.tt-shoutout-cta-icon{flex:0 0 auto;font-size:3.5rem;line-height:1;filter:drop-shadow(0 12px 20px rgba(0,0,0,.2))}
.tt-shoutout-cta h2{margin:2px 0 5px;font-size:clamp(1.65rem,3vw,2.65rem);line-height:1.04;letter-spacing:-.035em;white-space:normal}
.tt-shoutout-cta p{max-width:680px;margin:0;color:#d6dcfa;line-height:1.55}
.tt-shoutout-cta-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}
.tt-shoutout-cta-price{display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;border-radius:50%;background:#ff7a00;color:#fff;font-weight:950;box-shadow:0 10px 28px rgba(255,122,0,.25);text-align:center}
.tt-shoutout-cta-price span{display:block;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.tt-shoutout-cta-price strong{display:block;font-size:1.4rem}

.tt-public-shoutout-dialog{
  width:min(760px,calc(100% - 28px));
  max-height:min(88vh,820px);
  padding:0;
  border:0;
  border-radius:26px;
  overflow:auto;
  background:#fff;
  box-shadow:0 34px 90px rgba(0,0,0,.35)
}
.tt-public-shoutout-dialog::backdrop{background:rgba(5,10,30,.74);backdrop-filter:blur(5px)}
.tt-public-shoutout-shell{position:relative;padding:26px}
.tt-public-shoutout-head{padding:0 52px 18px 0;border-bottom:1px solid #e8ebf3;margin-bottom:18px}
.tt-public-shoutout-head h2{margin:2px 0 5px;font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:-.04em}
.tt-public-shoutout-head p{margin:0;color:#667085;line-height:1.5}
.tt-public-shoutout-close{position:absolute;right:18px;top:18px;width:40px;height:40px;border:1px solid #dfe3ec;border-radius:50%;background:#fff;color:#222;font-size:1.45rem;cursor:pointer}
.tt-public-shoutout-dialog .tt-shoutout-form{padding:0;box-shadow:none;border-radius:0;background:#fff;color:#161a25}
.tt-public-shoutout-dialog .tt-shoutout-price{
  display:grid;
  place-content:center;
  gap:2px;
  padding:6px;
  position:static!important;
  top:auto!important;
  right:auto!important;
  width:72px;
  height:72px;
  margin:0 0 14px auto;
  transform:none!important;
  transform-origin:center;
}
.tt-public-shoutout-dialog .tt-form-note{color:#667085}

.tt-final-cta{padding:46px 0}
.tt-final-card{padding-top:22px!important;padding-bottom:22px!important}

@media (max-width:900px){
  .tt-hero-inner{grid-template-columns:1fr .55fr;min-height:auto;padding:36px 0 62px}
  .tt-hero-copy h1{font-size:clamp(3.4rem,11vw,5.5rem)}
  .tt-hero-art{min-height:240px}
  .tt-logo-disc{width:min(225px,52vw)}
  .tt-compact-standings .tt-section-shell{grid-template-columns:1fr}
  .tt-compact-standings .tt-section-heading{max-width:none;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}
  .tt-compact-standings .tt-section-heading>p:not(.tt-eyebrow){grid-column:1/-1;margin:0}
  .tt-standings-toggle{grid-column:2;grid-row:1/3;align-self:center}
  .tt-shoutout-cta{grid-template-columns:1fr}
  .tt-shoutout-cta-actions{justify-content:flex-start}
}

@media (max-width:680px){
  .tt-hero-inner{grid-template-columns:1fr;padding:34px 0 60px}
  .tt-hero-art{display:none}
  .tt-hero-copy>p:not(.tt-eyebrow){font-size:.94rem}
  .tt-progress-card{padding:17px}
  .tt-progress-top{align-items:flex-start}
  .tt-progress-numbers strong{font-size:2.15rem}
  .tt-progress-bottom{display:grid;grid-template-columns:auto 1fr;gap:5px 12px}
  .tt-progress-bottom span:last-child{grid-column:1/-1}
  .tt-quick-actions{align-items:flex-start}
  .tt-quick-actions-buttons{width:100%}
  .tt-quick-actions-buttons .tt-button{flex:1 1 135px}
  .tt-compact-standings{padding:27px 0 32px}
  .tt-compact-standings .tt-section-heading{display:block}
  .tt-standings-toggle{margin-top:10px}
  .tt-compact-standings .tt-leaderboard-grid{grid-template-columns:1fr}
  .tt-support-section{padding:42px 0}
  .tt-support-tools{grid-template-columns:1fr}
  .tt-shoutout-cta{padding:20px}
  .tt-shoutout-cta-copy{align-items:flex-start}
  .tt-shoutout-cta-icon{font-size:2.7rem}
  .tt-shoutout-cta-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .tt-shoutout-cta-actions .tt-button{flex:1}
  .tt-public-shoutout-shell{padding:20px}
}
