/* Surf Ireland Visual Polish — Report 34
   Focus: expressive headline/CTA typography while preserving readable body/data text. */
:root{
  --si34-ink:#062c40;
  --si34-deep:#033345;
  --si34-cyan:#38ead8;
  --si34-coral:#ff7458;
  --si34-yellow:#ffd85a;
  --si34-cream:#fff8eb;
}

/* ===== Display text: dimensional surf-signage feel ===== */
.home-refresh .report-poster-copy h2,
.home-refresh .section-head h2,
.home-refresh .questions h2,
.home-refresh .community h2,
.guides-index-page .guide-hero h1,
.guides-index-page .guide-tile h2,
.spot-guide.template-v2 .sg-hero h1,
.spot-guide.template-v2 .sg-section-head h2,
.schools-page .school-hero h1,
.schools-page .partner-showcase-head h2,
.schools-page .finder-heading h2,
.trip-page .trip-hero h1,
.trip-page .panel h2,
.gallery-page .gallery-hero h1,
.gallery-page .album-heading h2{
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-weight:1000!important;
  letter-spacing:-1.4px!important;
}

/* Big light-on-dark poster headlines */
.home-refresh .report-poster-copy h2,
.guides-index-page .guide-hero h1,
.spot-guide.template-v2 .sg-hero h1,
.schools-page .school-hero h1,
.trip-page .trip-hero h1,
.gallery-page .gallery-hero h1{
  -webkit-text-stroke:1px rgba(3,41,55,.68);
  paint-order:stroke fill;
  text-shadow:
    0 2px 0 #0c6072,
    0 5px 0 #064658,
    0 8px 0 #033748,
    0 13px 22px rgba(0,24,37,.42)!important;
}

/* Bright-surface section titles */
.home-refresh .section-head h2,
.home-refresh .questions h2,
.guides-index-page .guide-tile h2,
.spot-guide.template-v2 .sg-section-head h2,
.schools-page .partner-showcase-head h2,
.schools-page .finder-heading h2,
.gallery-page .album-heading h2{
  paint-order:stroke fill;
  -webkit-text-stroke:.6px rgba(255,255,255,.85);
  text-shadow:0 2px 0 #fff,0 5px 0 #abd9cf,0 9px 14px rgba(4,55,66,.16)!important;
}

/* ===== Homepage hero: replace plain website text feeling ===== */
.home-refresh .hero-copy>p:not(.eyebrow){
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:42px;
  margin-bottom:22px!important;
  padding:9px 16px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(5,63,77,.82),rgba(3,45,58,.82));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.13),0 5px 0 rgba(0,27,39,.3),0 10px 20px rgba(0,20,32,.18);
  color:#f4fff9!important;
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-size:clamp(14px,2.1vw,18px)!important;
  font-weight:900!important;
  letter-spacing:-.2px;
  line-height:1.2!important;
  text-shadow:0 2px 0 rgba(0,33,45,.45);
}

/* Hero CTA labels should look like part of the physical button, not typed onto it. */
.home-refresh .hero-actions .cta-label{
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-size:clamp(15px,2.2vw,19px)!important;
  font-weight:1000!important;
  letter-spacing:-.6px!important;
  paint-order:stroke fill;
  text-shadow:0 1px 0 rgba(255,255,255,.45),0 3px 0 rgba(0,35,47,.16)!important;
}
.home-refresh .hero-actions .button{
  min-height:64px!important;
  border-radius:25px!important;
  padding:11px 14px!important;
}
.home-refresh .hero-actions .cta-icon{
  width:42px!important;height:42px!important;flex-basis:42px!important;
  border-radius:15px!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.6),inset 0 -3px 0 rgba(0,0,0,.10),0 4px 8px rgba(0,28,40,.15)!important;
}
.home-refresh .hero-actions .cta-arrow{
  width:38px!important;height:38px!important;flex-basis:38px!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 3px 0 rgba(0,35,47,.16)!important;
}

/* Fact strip becomes three visible branded badges. */
.home-refresh .trip-strip{
  background:#07364a!important;
  padding:14px 16px!important;
  gap:10px 14px!important;
}
.home-refresh .trip-strip span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 13px;
  border-radius:999px;
  background:linear-gradient(180deg,#15536a,#0d4055);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.08),0 4px 0 rgba(0,24,36,.25);
  color:#f4fffa;
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:900!important;
  text-shadow:0 2px 0 rgba(0,27,39,.36);
}
.home-refresh .trip-strip span:before{
  content:'●'!important;
  color:var(--si34-cyan)!important;
  margin-right:7px!important;
  font-size:8px;
  text-shadow:0 0 8px rgba(56,234,216,.55);
}

/* Today’s Surf Report label and headline. */
.home-refresh .report-poster-copy .eyebrow{
  display:inline-flex!important;
  width:max-content!important;
  min-height:38px!important;
  padding:8px 14px!important;
  margin-bottom:16px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#fffef8,#dff8f0)!important;
  color:#06495a!important;
  border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:0 5px 0 #a8d1c7,0 10px 16px rgba(0,32,43,.16)!important;
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:.7px!important;
}
.home-refresh .report-poster-copy h2{
  font-size:clamp(38px,7.5vw,58px)!important;
  line-height:.98!important;
  letter-spacing:-2px!important;
}
.home-refresh .report-poster-copy h2 span{
  color:var(--si34-yellow)!important;
  -webkit-text-stroke:1px rgba(91,67,10,.5);
  text-shadow:0 2px 0 #99741a,0 5px 0 #6e5311,0 9px 15px rgba(0,24,37,.28)!important;
}
.home-refresh .report-cta{
  min-height:50px!important;
  padding:11px 17px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffe985,#ffc83f)!important;
  border:1px solid rgba(255,255,255,.65)!important;
  box-shadow:inset 0 3px 1px rgba(255,255,255,.55),inset 0 -4px 0 rgba(126,82,0,.14),0 6px 0 #a97816,0 12px 18px rgba(0,25,36,.2)!important;
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:1000!important;
  letter-spacing:-.2px!important;
}

/* Home beach links: names become small destination signage. */
.home-refresh .home-beach-links>a{
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:1000!important;
  letter-spacing:-.45px!important;
  text-shadow:0 2px 0 rgba(0,25,38,.32);
}

/* ===== Generic CTA label polish across the public site ===== */
.guides-index-page .guide-navlinks a,
.guides-index-page .guide-button,
.spot-guide.template-v2 .sg-btn,
.spot-guide.template-v2 .guide-navlinks a,
.schools-page .button,
.schools-page .partner-forecast-cta,
.schools-page .partner-actions a,
.schools-page .partner-actions button,
.schools-page .row-actions a,
.schools-page .show-map,
.trip-page .button,
.trip-page .secondary,
.trip-page .share,
.trip-page .revolut-link,
.gallery-page .button,
.gallery-page .photo-filters button,
.gallery-page .carousel-controls button,
.forecast-page .share-button,
.forecast-page .player-share,
.forecast-page #forecast-play,
.forecast-page #motion-toggle,
.forecast-page .unit-controls button,
.forecast-page .range-tabs button,
.forecast-page .location-guide-primary,
.forecast-page .location-guide-directions{
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-weight:1000!important;
  letter-spacing:-.25px!important;
  text-shadow:0 1px 0 rgba(255,255,255,.2);
}

/* Old nav pills get actual depth. */
.home-refresh .nav-links a,
.guides-index-page .guide-navlinks a,
.spot-guide.template-v2 .guide-navlinks a,
.schools-page .nav-links a{
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.12),0 4px 0 rgba(0,25,37,.28)!important;
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-weight:900!important;
}

/* Report page: place names should look like illustrated destination labels. */
.forecast-page .destination-card .dest-copy strong{
  font-size:clamp(17px,2.6vw,25px)!important;
  letter-spacing:-1px!important;
  text-shadow:0 2px 0 #053a4a,0 5px 0 rgba(2,41,53,.42),0 8px 13px rgba(0,20,31,.25)!important;
}
.forecast-page .destination-card .dest-county{
  display:inline-flex!important;
  width:max-content;
  margin-top:5px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  font-size:11px!important;
  font-weight:1000!important;
}
.forecast-page .destination-card[aria-pressed="true"] .dest-county{
  background:rgba(6,56,71,.12);
  border-color:rgba(6,56,71,.13);
}

/* Report location-guide headline and action strip. */
.forecast-page .location-guide-copy h3{
  font-size:clamp(28px,4.7vw,40px)!important;
  letter-spacing:-1.2px!important;
  paint-order:stroke fill;
  -webkit-text-stroke:.6px rgba(255,255,255,.7);
  text-shadow:0 2px 0 #fff,0 5px 0 #a8d6cc,0 9px 14px rgba(3,48,59,.18)!important;
}

/* ===== Guide cards / headers ===== */
.guides-index-page .guide-tile h2,
.spot-guide.template-v2 .sg-info-card h3,
.spot-guide.template-v2 .sg-detail h3{
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-weight:1000!important;
  letter-spacing:-.8px!important;
}
.guides-index-page .guide-tile h2{
  text-shadow:0 2px 0 #fff,0 5px 0 var(--tile-line),0 9px 14px rgba(4,55,66,.18)!important;
}

/* ===== Schools ===== */
.schools-page .partner-copy strong,
.schools-page .school-row h3,
.forecast-page .featured-school h3{
  font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif!important;
  font-weight:1000!important;
  letter-spacing:-1px!important;
  paint-order:stroke fill;
}
.schools-page .partner-copy strong,
.schools-page .school-row h3{
  text-shadow:0 2px 0 rgba(255,255,255,.28),0 5px 0 rgba(3,49,59,.18)!important;
}

/* ===== Trip booking ===== */
.trip-page .panel h2{
  font-size:clamp(28px,4.4vw,40px)!important;
  line-height:1.03!important;
  paint-order:stroke fill;
  text-shadow:0 2px 0 rgba(255,255,255,.06),0 5px 0 rgba(0,20,30,.28)!important;
}
.trip-page .button,.trip-page .secondary{
  min-height:56px!important;
  border-radius:18px!important;
  font-size:14px!important;
}

/* ===== Gallery ===== */
.gallery-page .photo-filters button,
.gallery-page .carousel-controls button{
  border-radius:16px!important;
  font-size:13px!important;
  min-height:47px!important;
}

/* ===== Responsive ===== */
@media(max-width:620px){
  .home-refresh .hero-copy>p:not(.eyebrow){width:100%;justify-content:center;text-align:center;font-size:14px!important}
  .home-refresh .hero-actions .button{min-height:58px!important}
  .home-refresh .hero-actions .cta-label{font-size:16px!important}
  .home-refresh .trip-strip{gap:8px!important}
  .home-refresh .trip-strip span{min-height:34px;padding:7px 10px;font-size:10px!important}
  .home-refresh .report-poster-copy h2{font-size:clamp(36px,10vw,48px)!important}
  .home-refresh .home-beach-links>a{font-size:12px!important}
  .forecast-page .destination-card .dest-copy strong{font-size:18px!important}
}

@media(prefers-reduced-motion:reduce){
  .home-refresh .hero-actions .button,
  .home-refresh .report-cta{transition:none!important}
}
