/*
 * Algarve Holiday Tips - plugin components in the "Locals' Notebook" look (redesign v2).
 *
 * Loaded only when the aht-child theme is active (aht_is_v2() in algarve-holiday-tips.php).
 * EVERY rule is scoped under .aht-v2 (body class set by the theme), so this file changes nothing on the
 * old design. Colours, fonts and radii come only from the theme tokens (tokens.css): var(--paper),
 * var(--ink), var(--terracotta), var(--serif), var(--r-md), ... No colour value is written here.
 *
 * Why the selectors look long: beach-picks.css and activity-cards.css are enqueued inside their shortcodes
 * and can load after this file, so each rule here wins by specificity (.aht-v2 + the plugin selector) and
 * uses !important only where the plugin rule itself does.
 *
 * Not in this file: the markup of [aht_today_beach], [aht_rank_list], [city_pills layout="towns"] and
 * [events_list layout="month"]. The theme styles those.
 *
 * Sections:
 *  0  Variable bridge (the plugin sets colour variables on its own wrappers)
 *  1  ahb-*  cards, grids, carousels, buttons, badges
 *  2  ahb-*  section heads, home hero, city pills, events list, FAQ
 *  3  Find my beach: .aht-bp-* and .split-card*
 *  4  Beach pills strip, conditions brief, forecast, day summary
 *  5  Legacy beach cards: .aht-card / .aht-ticket / .aht-pills
 *  6  Activity cards: .aht-ac-*
 *  7  Call-to-action boxes: car, boat, charter, Stay22
 *  8  Trust, disclosure, last checked, author box, related guides
 *  9  Provider review, stars, comparison table
 * 10  Event pages: .aht-event-*
 * 11  Focus, motion
 */

/* =====================================================================
   0. Variable bridge
   The plugin declares colour variables on its own wrappers (.aht-bp-wrap, .aht-ac-wrap, the CTA boxes),
   so a theme-level remap on body cannot reach inside. Redeclare them here from the tokens.
   ===================================================================== */
.aht-v2{
  --ahb-shadow: none;
  --aht-bp-accent: var(--terracotta);
}
.aht-v2 .aht-bp-wrap,
.aht-v2 .aht-bp-pills-strip{
  --aht-bg: var(--paper-2);
  --aht-fg: var(--ink);
  --aht-muted: var(--muted);
  --aht-accent: var(--terracotta);
  --aht-yes: var(--navy);
  --aht-no: var(--terracotta-dark);
  --aht-pill: var(--sand);
  --aht-border: var(--line);
  --shadow: none;
}
.aht-v2 .aht-ac-wrap{
  --aac-bg: var(--paper-2);
  --aac-fg: var(--ink);
  --aac-muted: var(--muted);
  --aac-accent: var(--terracotta);
  --aac-yes: var(--navy);
  --aac-no: var(--terracotta-dark);
  --aac-pill: var(--sand);
  --aac-border: var(--line);
  --aac-radius: var(--r-md);
  font-family: var(--sans); /* replaces the system font stack of activity-cards.css */
}
.aht-v2 :is(.aht-car-cta, .aht-boat-cta, .aht-charter-cta, .aht-stay22, .aht-stay22--event){
  --aht-cta-accent: var(--terracotta);
  --aht-cta-btn-text: var(--paper-2);
}

/* =====================================================================
   1. ahb-*  cards, grids, carousels, buttons, badges
   ===================================================================== */
.aht-v2 .ahb-cards-grid{ gap: var(--ahb-grid-gap, 20px); }

.aht-v2 .ahb-card{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: none;
  color: var(--ink);
  transition: border-color .15s ease;
}
.aht-v2 .ahb-card:hover{
  transform: none;
  box-shadow: none;
  border-color: var(--ink-2);
}
.aht-v2 .ahb-card-media,
.aht-v2 .ahb-card-media--placeholder{ background: var(--sand); }

/* Badge: a mono eyebrow on a paper chip. */
.aht-v2 .ahb-badge{
  background: var(--paper-2);
  backdrop-filter: none;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  color: var(--terracotta);
  font: 500 11px/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 7px 11px;
}

.aht-v2 .ahb-card-title{
  font: 500 22px/1.2 var(--serif);
  letter-spacing: -.01em;
  color: var(--ink);
}
.aht-v2 .ahb-card-title a{ color: inherit; text-decoration: none; }
.aht-v2 .ahb-card:hover .ahb-card-title,
.aht-v2 .ahb-card-title a:hover{ text-decoration: underline; }
.aht-v2 .ahb-card-sub{
  font: 500 11px/1.4 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted-2);
}
.aht-v2 .ahb-card-desc{
  font: 400 15px/1.55 var(--sans);
  color: var(--ink-2);
}

/* Links and buttons: the link is navy, the button is the one terracotta .btn look. */
.aht-v2 :is(.ahb-card-link, .ahb-link){
  font: 600 15px/1.3 var(--sans);
  color: var(--navy);
  text-decoration: none;
}
.aht-v2 :is(.ahb-card-link, .ahb-link):hover{ text-decoration: underline; }

.aht-v2 .ahb-btn{
  display: inline-block;
  background: var(--terracotta);
  color: var(--paper-2);
  font: 600 14px/1.2 var(--sans);
  padding: 10px 16px;
  border-radius: var(--r-md);
  text-decoration: none;
  white-space: nowrap;
}
.aht-v2 .ahb-btn:hover{ background: var(--terracotta-dark); filter: none; text-decoration: none; }

/* Carousel */
.aht-v2 .ahb-carousel::-webkit-scrollbar-thumb{ background: var(--line-2); }
.aht-v2 .ahb-carousel-btn{
  background: var(--paper-2);
  border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
  box-shadow: none;
  color: var(--ink);
  font-family: var(--sans);
}
.aht-v2 .ahb-carousel-btn:hover{ border-color: var(--ink); }

@media (max-width: 1100px){
  .aht-v2 .ahb-cards-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px){
  .aht-v2 .ahb-cards-grid{ grid-template-columns: 1fr; }
  .aht-v2 .ahb-card-title{ font-size: 20px; }
  .aht-v2 .ahb-section-title{ font-size: 26px; }
}
@media (min-width: 761px) and (max-width: 1100px){
  .aht-v2 .ahb-section-title{ font-size: 30px; }
}

/* =====================================================================
   2. ahb-*  section heads, home hero, city pills, events list, FAQ
   ===================================================================== */
.aht-v2 .ahb-section-head{ align-items: baseline; }
.aht-v2 .ahb-section-title{
  display: block;
  border-bottom: 0;
  padding-bottom: 0;
  font: 500 34px/1.1 var(--serif);
  letter-spacing: -.01em;
  color: var(--ink);
}
.aht-v2 .ahb-section-head a{
  font: 600 15px/1.3 var(--sans);
  color: var(--navy);
  text-decoration: none;
}
.aht-v2 .ahb-section-head a:hover{ text-decoration: underline; }
.aht-v2 .ahb-section-sub{ font: 400 16px/1.6 var(--sans); color: var(--ink-2); }
.aht-v2 .ahb-section-desc{ font: 400 15px/1.6 var(--sans); color: var(--ink-2); }

/* [home_hero]: image or ink gradient behind a solid paper panel. (The v2 homepage uses an <img> hero instead.) */
.aht-v2 .ahb-home-hero{
  border-radius: var(--r-sm);
  background:
    linear-gradient(
      color-mix(in srgb, var(--ink) calc(var(--ahb-hero-ov, .4) * 100%), transparent),
      color-mix(in srgb, var(--ink) calc(var(--ahb-hero-ov, .4) * 100%), transparent)
    ),
    var(--ahb-hero-bg, linear-gradient(135deg, var(--navy), var(--ink)));
  background-size: cover;
  background-position: var(--ahb-hero-bg-pos, center);
}
.aht-v2 .ahb-home-hero__inner{
  background: var(--paper-2);
  border: 1px solid var(--line);
  backdrop-filter: none;
  border-radius: var(--r-md);
  text-align: left;
  padding: 24px 26px;
}
.aht-v2 .ahb-home-hero__title{
  font: 500 30px/1.1 var(--serif);
  letter-spacing: -.01em;
  color: var(--ink);
}
.aht-v2 .ahb-home-hero__sub{ font: 400 16px/1.55 var(--sans); color: var(--ink-2); }
.aht-v2 .ahb-home-hero__btn{
  background: var(--terracotta);
  color: var(--paper-2) !important;
  font: 600 14px/1.2 var(--sans);
  letter-spacing: 0;
  padding: 11px 18px;
  border-radius: var(--r-md);
  box-shadow: none;
}
.aht-v2 .ahb-home-hero__btn:hover{ background: var(--terracotta-dark); filter: none; text-decoration: none; }
@media (max-width: 760px){
  .aht-v2 .ahb-home-hero__title{ font-size: 26px; }
  .aht-v2 .ahb-home-hero__inner{ padding: 18px; }
}

/* City pills (default layout): photo tiles with a serif name. */
.aht-v2 .ahb-city-pill{
  border: 0;
  border-radius: var(--r-md);
  box-shadow: none;
  min-height: 96px;
  background:
    linear-gradient(color-mix(in srgb, var(--ink) 38%, transparent), color-mix(in srgb, var(--ink) 38%, transparent)),
    var(--ahb-pill-bg, linear-gradient(135deg, var(--navy), var(--ink)));
  background-size: cover;
  background-position: center;
}
.aht-v2 .ahb-city-pill:hover{ text-decoration: none; }
.aht-v2 :is(.ahb-city-pill__label, .ahb-city-pill__title){
  font: 500 22px/1.15 var(--serif);
  letter-spacing: -.01em;
  color: var(--paper-2);
  text-shadow: none;
}
.aht-v2 .ahb-city-pill:hover :is(.ahb-city-pill__label, .ahb-city-pill__title){ text-decoration: underline; }
.aht-v2 .ahb-city-pill__sub{
  font: 400 13px/1.35 var(--sans);
  color: var(--paper-2);
  text-shadow: none;
}

/* Events list: rule-separated rows, a mono terracotta date. */
.aht-v2 .ahb-events-month{
  margin: 32px 0 6px;
  padding-bottom: 8px;
  font: 500 26px/1.15 var(--serif);
  letter-spacing: -.01em;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.aht-v2 .ahb-events-month:first-child{ margin-top: 0; }
.aht-v2 .ahb-events{
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.aht-v2 .ahb-event-row{
  grid-template-columns: 110px 1fr;
  border-top: 1px solid var(--line);
  padding: 14px 0;
}
.aht-v2 .ahb-event-row:first-child{ border-top: 0; }
.aht-v2 .ahb-event-date{
  background: transparent;
  border: 0;
  border-left: 2px solid var(--terracotta);
  border-radius: 0;
  padding: 2px 0 2px 10px;
  text-align: left;
  font: 500 12px/1.3 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--terracotta);
}
.aht-v2 .ahb-event-title{
  font: 600 16px/1.35 var(--sans);
  color: var(--ink);
  text-decoration: none;
}
.aht-v2 .ahb-event-title:hover{ text-decoration: underline; }
@media (max-width: 760px){
  .aht-v2 .ahb-event-row{ grid-template-columns: 84px 1fr; gap: 10px; }
}

/* FAQ: the mockup .faq look. The <details> element stays, the box goes. */
.aht-v2 .ahb-faq{ margin: 8px 0; }
.aht-v2 .ahb-faq details{
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: 14px 0;
  margin-bottom: 0;
}
.aht-v2 .ahb-faq .ahb-faq-item:last-child details{ border-bottom: 1px solid var(--line); }
.aht-v2 .ahb-faq summary{
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font: 600 16px/1.4 var(--sans);
  color: var(--ink);
}
.aht-v2 .ahb-faq summary::-webkit-details-marker{ display: none; }
.aht-v2 .ahb-faq summary::after{ content: '+'; color: var(--terracotta); font-weight: 500; }
.aht-v2 .ahb-faq details[open] summary::after{ content: '\2013'; }
.aht-v2 .ahb-faq .ahb-faq-answer{
  margin-top: 10px;
  font: 400 15px/1.6 var(--sans);
  color: var(--ink-2);
}
.aht-v2 .ahb-faq .ahb-faq-answer a{ color: var(--navy); text-decoration: underline; }
@media (max-width: 760px){
  .aht-v2 .ahb-faq summary{ font-size: 15px; }
}

/* =====================================================================
   3. Find my beach: .aht-bp-* and .split-card*
   ===================================================================== */
.aht-v2 .aht-bp-wrap{ font-family: var(--sans); color: var(--ink); }

/* Mobile accordion header and body */
.aht-v2 .aht-bp-wrap .aht-bp-acc-header{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: none;
}
.aht-v2 .aht-bp-wrap .aht-bp-acc-header.is-open{ border-radius: var(--r-md) var(--r-md) 0 0; border-bottom: 0; }
.aht-v2 .aht-bp-wrap .aht-bp-acc-summary{ font: 600 15px/1.3 var(--sans); color: var(--ink); }
.aht-v2 .aht-bp-wrap .aht-bp-acc-summary span{ color: var(--terracotta); }
.aht-v2 .aht-bp-wrap .aht-bp-acc-chevron{ color: var(--muted-2); }
.aht-v2 .aht-bp-wrap .aht-bp-acc-body{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 var(--r-md) var(--r-md);
  box-shadow: none;
}
@media (min-width: 720px){
  .aht-v2 .aht-bp-wrap .aht-bp-acc-body{ border: 1px solid var(--line); border-radius: var(--r-md); }
}

/* Section labels: mono eyebrows */
.aht-v2 .aht-bp-wrap .aht-bp-filter-label{
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted-2);
  margin-bottom: 10px;
}

/* Day: underline tabs, ink text and a terracotta rule */
.aht-v2 .aht-bp-wrap .aht-bp-underline-tabs{ border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.aht-v2 .aht-bp-wrap .aht-bp-underline-tab{
  font: 600 14px/1.2 var(--sans);
  color: var(--muted);
  background: none;
  border-radius: 0;
}
.aht-v2 .aht-bp-wrap .aht-bp-underline-tab:hover:not(.is-active){ color: var(--ink); }
.aht-v2 .aht-bp-wrap .aht-bp-underline-tab.is-active{ color: var(--ink); }
.aht-v2 .aht-bp-wrap .aht-bp-underline-tab.is-active::after{
  bottom: -1px;
  height: 2px;
  background: var(--terracotta);
  border-radius: 0;
}

/* Beach type: radio items as chips */
.aht-v2 .aht-bp-wrap .aht-bp-radio-item{
  background: transparent;
  border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
  padding: 8px 14px;
  font: 500 14px/1.2 var(--sans);
  color: var(--ink-2);
}
.aht-v2 .aht-bp-wrap .aht-bp-radio-item:hover{ background: transparent; border-color: var(--ink); color: var(--ink); }
.aht-v2 .aht-bp-wrap .aht-bp-radio-item.is-active{
  background: color-mix(in srgb, var(--terracotta) 8%, var(--paper-2));
  border-color: var(--terracotta);
  color: var(--ink);
}
.aht-v2 .aht-bp-wrap .aht-bp-radio-dot{ border-color: var(--line-2); }
.aht-v2 .aht-bp-wrap .aht-bp-radio-item.is-active .aht-bp-radio-dot{ border-color: var(--terracotta); }
.aht-v2 .aht-bp-wrap .aht-bp-radio-item.is-active .aht-bp-radio-dot::after{ background: var(--terracotta); }
@media (min-width: 720px){
  .aht-v2 .aht-bp-wrap .aht-bp-radio-item{ background: transparent; border: 1px solid var(--line-2); padding: 8px 16px; }
  .aht-v2 .aht-bp-wrap .aht-bp-radio-item.is-active{ background: var(--terracotta); border-color: var(--terracotta); color: var(--paper-2); }
}

/* Cards container */
.aht-v2 .aht-bp-wrap .aht-bp-cards{ gap: 18px; }
@media (max-width: 760px){
  .aht-v2 .aht-bp-wrap .aht-bp-cards{ grid-template-columns: 1fr; }
}

/* Split card: the beach card. Serif name, mono region, rule-separated stats. */
.aht-v2 .aht-bp-wrap .split-card{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: none;
  transition: border-color .15s ease;
}
.aht-v2 .aht-bp-wrap .split-card:hover{ box-shadow: none; border-color: var(--ink-2); }
.aht-v2 .aht-bp-wrap .split-card__header{ padding: 18px 18px 12px; }
.aht-v2 .aht-bp-wrap .split-card__name{
  font: 500 24px/1.15 var(--serif);
  letter-spacing: -.01em;
  color: var(--ink);
}
.aht-v2 .aht-bp-wrap .split-card__region{
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin-top: 8px;
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--terracotta);
}
.aht-v2 .aht-bp-wrap .split-card__updated{
  background: transparent;
  border-radius: 0;
  padding: 0;
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .06em;
  color: var(--muted-2);
}

/* Weather 2x2: 1px rules between cells instead of tinted boxes */
.aht-v2 .aht-bp-wrap .split-card__wx-grid{
  gap: 0;
  padding: 0 18px;
  border-top: 1px solid var(--line);
}
.aht-v2 .aht-bp-wrap .split-card__wx-cell{
  align-items: flex-start;
  text-align: left;
  padding: 12px 0;
  border-radius: 0;
  background: none;
  border-bottom: 1px solid var(--line);
}
.aht-v2 .aht-bp-wrap .split-card__wx-cell:nth-child(odd){ border-right: 1px solid var(--line); padding-right: 12px; }
.aht-v2 .aht-bp-wrap .split-card__wx-cell:nth-child(even){ padding-left: 14px; }
.aht-v2 .aht-bp-wrap .split-card__wx-cell:nth-last-child(-n+2){ border-bottom: 0; }
.aht-v2 .aht-bp-wrap .split-card__wx-cell i{ font-size: 13px; color: var(--muted-2); margin-bottom: 4px; }
.aht-v2 .aht-bp-wrap .split-card__wx-label{
  font: 500 10px/1.2 var(--mono);
  letter-spacing: .08em;
  color: var(--muted-2);
}
.aht-v2 .aht-bp-wrap .split-card__wx-value{
  font: 500 20px/1.2 var(--serif);
  color: var(--ink);
}
.aht-v2 .aht-bp-wrap .split-card__wx-cell--water-cool,
.aht-v2 .aht-bp-wrap .split-card__wx-cell--water-warm{ background: none; }
.aht-v2 .aht-bp-wrap .split-card__wx-cell--water-cool i{ color: var(--navy); }
.aht-v2 .aht-bp-wrap .split-card__wx-cell--water-warm i{ color: var(--terracotta); }

/* Amenity chips */
.aht-v2 .aht-bp-wrap .split-card__amenities{ border-top: 1px solid var(--line); padding: 12px 18px; gap: 6px; }
.aht-v2 .aht-bp-wrap .split-card__amen-chip{
  background: transparent;
  border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
  padding: 3px 9px;
  font: 400 12px/1.3 var(--sans);
  color: var(--ink-2);
}
.aht-v2 .aht-bp-wrap .split-card__amen-chip i{ color: var(--muted-2); }

/* Footer: directions (ghost) and the one terracotta button */
.aht-v2 .aht-bp-wrap .split-card__footer{ border-top: 1px solid var(--line); padding: 12px 18px 14px; }
.aht-v2 .aht-bp-wrap .split-card__link{
  border-radius: var(--r-md);
  padding: 8px 12px;
  font: 600 13px/1.2 var(--sans);
}
.aht-v2 .aht-bp-wrap .split-card__link--ghost{
  background: transparent;
  border: 1px solid var(--line-2);
  color: var(--ink);
}
.aht-v2 .aht-bp-wrap .split-card__link--ghost:hover{ border-color: var(--ink); color: var(--ink); }
.aht-v2 .aht-bp-wrap .split-card__link--cta{
  background: var(--terracotta);
  border: 1px solid var(--terracotta);
  color: var(--paper-2);
}
.aht-v2 .aht-bp-wrap .split-card__link--cta:hover{ background: var(--terracotta-dark); border-color: var(--terracotta-dark); }

/* Older beach card classes in beach-picks.css (kept in the same look) */
.aht-v2 .aht-bp-wrap .aht-bp-card{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: none;
}
.aht-v2 .aht-bp-wrap .aht-bp-tag{
  border-radius: var(--r-pill);
  font: 500 11px/1 var(--mono);
  letter-spacing: .08em;
  font-weight: 500;
  padding: 5px 10px;
}
.aht-v2 .aht-bp-wrap .aht-bp-tag.blue{ background: transparent; border: 1px solid var(--navy); color: var(--navy); }
.aht-v2 .aht-bp-wrap .aht-bp-tag.yellow{ background: transparent; border: 1px solid var(--terracotta); color: var(--terracotta); }
.aht-v2 .aht-bp-wrap .aht-bp-tag.green{ background: transparent; border: 1px solid var(--line-2); color: var(--ink-2); }
.aht-v2 .aht-bp-wrap .aht-bp-name{ font: 500 24px/1.15 var(--serif); color: var(--ink); }
.aht-v2 .aht-bp-wrap .aht-bp-why{ font: 500 17px/1.4 var(--serif); color: var(--ink); }
.aht-v2 .aht-bp-wrap .aht-bp-amenities{ border-top: 1px solid var(--line); color: var(--ink-2); }
.aht-v2 .aht-bp-wrap .aht-bp-btn{
  background-color: var(--terracotta);
  color: var(--paper-2) !important;
  border-radius: var(--r-md);
  box-shadow: none;
  font: 600 14px/1.2 var(--sans);
}
.aht-v2 .aht-bp-wrap .aht-bp-btn:hover{ background: var(--terracotta-dark); }
.aht-v2 .aht-bp-wrap .aht-bp-updated{ color: var(--muted-2); font: 500 11px/1.3 var(--mono); }

/* Amenity icon row (legacy cards) */
.aht-v2 .aht-amenities{ border-top: 1px solid var(--line); color: var(--ink-2); }
.aht-v2 .aht-amenity i{ color: var(--muted-2); }

/* Map: 4px frame, terracotta dot markers (the divIcon is created in beach-picks.js when body.aht-v2) */
.aht-v2 .aht-bp-wrap .aht-bp-map,
.aht-v2 .aht-bp-map{
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  box-shadow: none;
}
.aht-v2 .aht-bp-marker{
  box-sizing: border-box;
  background: var(--terracotta);
  border: 2px solid var(--paper-2);
  border-radius: 50%;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ink) 40%, transparent);
}
.aht-v2 .leaflet-popup-content-wrapper{
  border-radius: var(--r-sm);
  background: var(--paper-2);
  color: var(--ink);
  font-family: var(--sans);
  box-shadow: none;
  border: 1px solid var(--line-2);
}
.aht-v2 .leaflet-popup-tip{ background: var(--paper-2); box-shadow: none; }

/* Freshness line: mono, small, ruled */
.aht-v2 .aht-bp-wrap .aht-bp-freshness,
.aht-v2 .aht-bp__freshness{
  margin: 18px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font: 500 11px/1.4 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  text-align: left;
  color: var(--muted-2);
  opacity: 1;
}

/* Empty state, tabs of the older picker */
.aht-v2 .aht-bp-empty{
  background: var(--sand);
  color: var(--ink-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.aht-v2 .aht-bp-tabs{ border-bottom: 1px solid var(--line); gap: 0; }
.aht-v2 .aht-bp-tab{
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--muted);
  font: 600 14px/1.2 var(--sans);
  padding: 8px 16px;
}
.aht-v2 .aht-bp-tab.is-active{ background: none; color: var(--ink); box-shadow: inset 0 -2px 0 var(--terracotta); }

/* =====================================================================
   4. Pills strip, conditions brief, forecast, day summary
   ===================================================================== */
.aht-v2 .aht-bp-pills-strip{ font-family: var(--sans); color: var(--ink); }
.aht-v2 .aht-bp-pills-title{
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--terracotta);
}
.aht-v2 .aht-bp-pill-card{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 14px 18px;
}
.aht-v2 .aht-bp-pill-card:hover{ box-shadow: none; transform: none; border-color: var(--ink-2); text-decoration: none; }
.aht-v2 .aht-bp-pill-name{ font: 500 20px/1.2 var(--serif); color: var(--ink); }
.aht-v2 .aht-bp-pill-region{
  background: transparent;
  border-radius: 0;
  padding: 0;
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--terracotta);
}
.aht-v2 .aht-bp-pill-conditions{ font: 400 14px/1.4 var(--sans); color: var(--muted); }
.aht-v2 .aht-bp-pills-cta{ font: 600 15px/1.3 var(--sans); color: var(--navy); }

.aht-v2 .aht-bp-conditions-brief{ color: var(--ink-2); font-family: var(--sans); }
.aht-v2 .aht-bp-conditions-brief-updated{ font: 500 11px/1.3 var(--mono); color: var(--muted-2); }

.aht-v2 .aht-bp-forecast{
  background: var(--sand);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: var(--ink-2);
}
.aht-v2 .aht-bp-forecast__heading{ font: 500 24px/1.15 var(--serif); letter-spacing: -.01em; color: var(--ink); }

.aht-v2 .aht-bp-day-summary{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-left: 2px solid var(--terracotta);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  color: var(--ink-2);
}
.aht-v2 .aht-bp-expandable__toggle{ font: 600 15px/1.3 var(--sans); color: var(--terracotta); }

/* =====================================================================
   5. Legacy beach cards: .aht-card / .aht-ticket / .aht-pills (minimal)
   ===================================================================== */
.aht-v2 .aht-card{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md) !important;
  box-shadow: none;
}
.aht-v2 .aht-card:hover{ transform: none; box-shadow: none; border-color: var(--ink-2); }
.aht-v2 .aht-card:focus-within{ outline-color: var(--terracotta); }
.aht-v2 .aht-card-hdr,
.aht-v2 .aht-pills .aht-card-hdr,
.aht-v2 .aht-ticket .aht-card-hdr{
  background: var(--sand);
  color: var(--ink);
}
.aht-v2 .aht-card-hdr .aht-title{ font: 500 20px/1.2 var(--serif) !important; color: var(--ink); }
.aht-v2 .aht-card-hdr .aht-pill{
  background: var(--paper-2);
  border: 1px solid var(--line-2);
  color: var(--ink-2);
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.aht-v2 .aht-card-body{ background: var(--paper-2); color: var(--ink); }
.aht-v2 .aht-row{ border-bottom: 1px solid var(--line); }
.aht-v2 .aht-label{ color: var(--muted); }
.aht-v2 .aht-value{ color: var(--ink); font-weight: 600; }
.aht-v2 .aht-value .yes{ color: var(--navy); }
.aht-v2 .aht-value .no{ color: var(--terracotta-dark); }
.aht-v2 .aht-card-ftr{ background: var(--paper); border-top: 1px solid var(--line); color: var(--muted-2); font: 500 11px/1.4 var(--mono); }

/* =====================================================================
   6. Activity cards: .aht-ac-*
   ===================================================================== */
.aht-v2 .aht-ac-day-tabs{ border-bottom: 1px solid var(--line); gap: 0; }
.aht-v2 .aht-ac-day-tab{
  font: 600 14px/1.2 var(--sans);
  color: var(--muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.aht-v2 .aht-ac-day-tab:hover{ color: var(--ink); }
.aht-v2 .aht-ac-day-tab.is-active{ color: var(--ink); border-bottom-color: var(--terracotta); }

.aht-v2 .aht-ac-day-date{ font: 500 24px/1.15 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-ac-day-strategy{
  background: transparent;
  border: 1px solid var(--line-2);
  color: var(--ink-2);
  font: 400 13px/1.3 var(--sans);
}
.aht-v2 .aht-ac-day-municipality{
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--terracotta);
}

.aht-v2 .aht-ac-wx-strip{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  font: 400 13px/1.3 var(--sans);
}
.aht-v2 .aht-ac-wx-item{ color: var(--muted); }
.aht-v2 .aht-ac-wx-value{ color: var(--ink); font-weight: 600; }

.aht-v2 .aht-ac-slot-label{
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .08em;
  color: var(--terracotta);
}
.aht-v2 .aht-ac-slot-label::before{ background: var(--terracotta); }

.aht-v2 .aht-ac-card{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 18px;
  transition: border-color .15s ease;
}
.aht-v2 .aht-ac-card:hover{ box-shadow: none; border-color: var(--ink-2); }
.aht-v2 .aht-ac-card__name{ font: 500 20px/1.2 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-ac-card__municipality{
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2);
}
.aht-v2 .aht-ac-card__desc{ font: 400 14px/1.55 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-ac-card__score{ font: 500 12px/1.3 var(--mono); letter-spacing: .04em; color: var(--terracotta); }
.aht-v2 .aht-ac-tag{
  background: transparent;
  border: 1px solid var(--line-2);
  color: var(--ink-2);
  font: 400 12px/1.3 var(--sans);
}
.aht-v2 .aht-ac-tag--primary{ background: var(--terracotta); border-color: var(--terracotta); color: var(--paper-2); }
.aht-v2 .aht-ac-card__reasons{ font: 400 13px/1.5 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-ac-card__footer{ border-top: 1px solid var(--line); }
.aht-v2 .aht-ac-card__link{ border-radius: var(--r-md); font: 600 13px/1.2 var(--sans); padding: 8px 12px; }
.aht-v2 .aht-ac-card__link--directions{ background: transparent; border: 1px solid var(--line-2); color: var(--ink); }
.aht-v2 .aht-ac-card__link--directions:hover{ background: transparent; border-color: var(--ink); color: var(--ink); }
.aht-v2 .aht-ac-card__link--cta{ background: var(--terracotta); border: 1px solid var(--terracotta); color: var(--paper-2); }
.aht-v2 .aht-ac-card__link--cta:hover{ background: var(--terracotta-dark); border-color: var(--terracotta-dark); color: var(--paper-2); }
.aht-v2 .aht-ac-backups-toggle{ font: 600 14px/1.2 var(--sans); color: var(--terracotta); }
.aht-v2 .aht-ac-backup-card{ background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--r-md); }
.aht-v2 .aht-ac-backup-card__name{ font: 600 14px/1.3 var(--sans); color: var(--ink); }
.aht-v2 .aht-ac-backup-card__reason{ font: 400 13px/1.4 var(--sans); color: var(--muted); }
.aht-v2 .aht-ac-empty{ font: 400 15px/1.5 var(--sans); color: var(--muted); }
.aht-v2 .aht-ac-freshness{
  font: 500 11px/1.4 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2);
}
@media (max-width: 760px){
  .aht-v2 .aht-ac-slots{ grid-template-columns: 1fr; }
  .aht-v2 .aht-ac-day-date{ font-size: 22px; }
}

/* =====================================================================
   7. Call-to-action boxes: car, boat, charter, Stay22
   One box, one terracotta .btn look. The brand accent colours are gone.
   ===================================================================== */
.aht-v2 :is(.aht-car-cta, .aht-boat-cta, .aht-charter-cta, .aht-stay22--event){
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--terracotta);
  border-radius: var(--r-md);
  padding: 20px 22px;
  margin: 28px 0;
}
.aht-v2 .aht-boat-cta--context{
  background: var(--sand);
  border-color: var(--line-2);
  border-left-color: var(--terracotta);
}
.aht-v2 :is(.aht-car-cta__text strong, .aht-boat-cta__text strong, .aht-charter-cta__text strong, .aht-stay22--event .aht-stay22__text strong){
  font: 500 21px/1.2 var(--serif);
  letter-spacing: -.01em;
  color: var(--ink);
}
.aht-v2 :is(.aht-car-cta__text p, .aht-boat-cta__text p, .aht-charter-cta__text p, .aht-stay22--event .aht-stay22__text p){
  font: 400 15px/1.55 var(--sans);
  color: var(--ink-2);
}
.aht-v2 :is(.aht-car-cta__btn, .aht-boat-cta__btn, .aht-charter-cta__btn, .aht-stay22__btn){
  background: var(--terracotta);
  color: var(--paper-2) !important;
  font: 600 14px/1.2 var(--sans);
  padding: 10px 16px;
  border-radius: var(--r-md);
  border: 1px solid var(--terracotta);
  text-decoration: none;
}
.aht-v2 :is(.aht-car-cta__btn, .aht-boat-cta__btn, .aht-charter-cta__btn, .aht-stay22__btn):hover{
  background: var(--terracotta-dark);
  border-color: var(--terracotta-dark);
  transform: none;
  box-shadow: none;
  text-decoration: none;
}
.aht-v2 :is(.aht-car-cta__guide, .aht-boat-cta__guide, .aht-stay22--event .aht-stay22__link){
  font: 600 13px/1.3 var(--sans);
  color: var(--navy);
}

/* Inline [stay22] row */
.aht-v2 .aht-stay22__text{ font: 400 15px/1.5 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-stay22 .aht-stay22__btn--secondary{
  --aht-cta-accent: transparent;
  --aht-cta-btn-text: var(--ink);
  background: transparent;
  border: 1px solid var(--ink);
  color: var(--ink) !important;
}
.aht-v2 .aht-stay22 .aht-stay22__btn--secondary:hover{
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper-2) !important;
}
.aht-v2 .stay22-map{ border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; margin: 20px 0; }
.aht-v2 .stay22-map iframe{ display: block; }

@media (max-width: 760px){
  .aht-v2 :is(.aht-car-cta, .aht-boat-cta, .aht-charter-cta, .aht-stay22--event){ padding: 16px 18px; }
}

/* =====================================================================
   8. Trust box, disclosure, last checked, author box, related guides
   ===================================================================== */
.aht-v2 .aht-trust-box{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--navy);
  border-radius: var(--r-md);
  padding: 20px 22px;
}
.aht-v2 .aht-trust-box h3{ font: 500 21px/1.2 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-trust-box li{ font: 400 15px/1.5 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-trust-box li + li{ border-top: 1px solid var(--line); }
.aht-v2 .aht-trust-box li strong{
  margin-right: 6px;
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2);
}

.aht-v2 .aht-last-checked{
  background: transparent;
  border: 1px solid var(--line-2);
  color: var(--muted);
  font: 500 11px/1.4 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 3px 10px;
}

.aht-v2 .aht-author-box{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 20px 22px;
}
.aht-v2 .aht-author-box__avatar{ border: 1px solid var(--line); }
.aht-v2 .aht-author-box__name{ font: 500 21px/1.2 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-author-box__bio{ font: 400 15px/1.55 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-author-box__reviewed{
  font: 500 11px/1.4 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2);
}

.aht-v2 .aht-related-guides{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 20px 22px;
}
.aht-v2 .aht-related-guides h3{ font: 500 21px/1.2 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-related-guides__cards{ gap: 0; }
.aht-v2 .aht-related-guide{
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: 12px 0;
  transition: none;
}
.aht-v2 .aht-related-guide:hover{ border-color: var(--line); box-shadow: none; text-decoration: none; }
.aht-v2 .aht-related-guide strong{ font: 500 18px/1.25 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-related-guide:hover strong{ text-decoration: underline; }
.aht-v2 .aht-related-guide span{ font: 400 14px/1.45 var(--sans); color: var(--ink-2); }

/* =====================================================================
   9. Provider review, stars, comparison table
   ===================================================================== */
.aht-v2 .aht-provider-review{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: none;
  padding: 22px;
}
.aht-v2 .aht-provider-review__header h3{ font: 500 24px/1.15 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-provider-review__rating{ font: 600 14px/1 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-stars{ color: var(--line-2); }
.aht-v2 .aht-stars__filled{ color: var(--sun); }
.aht-v2 .aht-provider-review__meta{ font: 400 14px/1.5 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-provider-review__meta strong{
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2);
}
.aht-v2 .aht-provider-review__proscons h4{
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
}
.aht-v2 .aht-provider-review__col:first-child h4{ color: var(--navy); }
.aht-v2 .aht-provider-review__col:last-child h4{ color: var(--terracotta); }
.aht-v2 .aht-provider-review__col ul{ font: 400 15px/1.5 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-provider-review__verdict{
  border-top: 1px solid var(--line);
  font: 400 17px/1.5 var(--serif);
  color: var(--ink);
}
.aht-v2 .aht-provider-review__verdict strong{
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--terracotta);
  margin-right: 6px;
}
@media (max-width: 760px){
  .aht-v2 .aht-provider-review__proscons{ grid-template-columns: 1fr; }
  .aht-v2 .aht-provider-review{ padding: 18px; }
}

.aht-v2 .aht-comparison-table{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.aht-v2 .aht-comparison-table thead{ background: var(--sand); }
.aht-v2 .aht-comparison-table th{
  border-bottom: 1px solid var(--line-2);
  font: 500 11px/1.3 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.aht-v2 .aht-comparison-table td{
  border-bottom: 1px solid var(--line);
  font: 400 15px/1.45 var(--sans);
  color: var(--ink-2);
}
.aht-v2 .aht-comparison-table td:first-child{ color: var(--ink); font-weight: 600; }
.aht-v2 .aht-comparison-table tbody tr:nth-child(even){ background: transparent; }
.aht-v2 .aht-comparison-table tbody tr:last-child td{ border-bottom: 0; }
.aht-v2 .aht-comparison-table tbody tr:hover{ background: var(--paper); }

/* =====================================================================
   10. Event pages: .aht-event-*
   The generated post body uses aht-event-layout / snapshot / date / meta; the plugin adds the hero
   figure and the "Top tours near this event" block.
   ===================================================================== */
.aht-v2 .aht-event-layout{ font-family: var(--sans); color: var(--ink-2); }
.aht-v2 .aht-event-layout :is(h2, h3){ font-family: var(--serif); font-weight: 500; letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-event-layout a{ color: var(--navy); }

.aht-v2 .aht-event-snapshot{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--terracotta);
  border-radius: var(--r-md);
  box-shadow: none;
}
.aht-v2 .aht-event-date{
  background: transparent;
  color: var(--terracotta);
  padding: 0;
  border-radius: 0;
  font: 500 12px/1.3 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.aht-v2 .aht-event-meta{ font: 400 15px/1.55 var(--sans); color: var(--ink-2); }
.aht-v2 .aht-event-meta strong{
  margin-right: 6px;
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2);
}

.aht-v2 .aht-event-hero img{ border-radius: var(--r-sm); }

.aht-v2 .aht-event-gyg{ margin: 28px 0; padding-top: 20px; border-top: 1px solid var(--line); }
.aht-v2 .aht-event-gyg h3{ font: 500 24px/1.15 var(--serif); letter-spacing: -.01em; color: var(--ink); margin: 0 0 14px; }
.aht-v2 .aht-event-gyg a{ color: var(--navy); }


/* =====================================================================
   11. Focus, motion
   ===================================================================== */
.aht-v2 :is(.ahb-btn, .ahb-link, .ahb-card-link, .ahb-carousel-btn, .ahb-city-pill, .ahb-faq summary, .ahb-event-title,
  .aht-bp-underline-tab, .aht-bp-radio-item, .aht-bp-tab, .aht-bp-acc-header, .split-card__link, .aht-bp-pill-card,
  .aht-ac-day-tab, .aht-ac-card__link, .aht-ac-backups-toggle, .aht-related-guide,
  .aht-car-cta__btn, .aht-boat-cta__btn, .aht-charter-cta__btn, .aht-stay22__btn):focus-visible{
  outline: 2px solid var(--terracotta);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
  .aht-v2 :is(.ahb-card, .split-card, .aht-ac-card, .aht-card, .aht-bp-underline-tab, .aht-ac-day-tab){ transition: none; }
}

/* ===== 99. Find my beach, notebook layout (.aht-bp-wrap--notebook) ===== */
/* Opt-in ([beach_cards layout="notebook"]): toolbar with a day segment and beach type chips, 3/2/1 numbered cards,
   ONE map, one day summary. Colours come from the theme tokens only. */
.aht-v2 .aht-bp-wrap--notebook [hidden]{ display: none !important; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-app{ max-width: none; margin: 0; padding: 0; }

/* Toolbar: freshness, day segment, beach type chips. The accordion header and the radio dot stay in the HTML, hidden. */
.aht-v2 .aht-bp-wrap--notebook .aht-bp-toolbar{ margin: 0 0 8px; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-acc-header{ display: none; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-radio-dot{ display: none; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-acc-body,
.aht-v2 .aht-bp-wrap--notebook .aht-bp-acc-body.is-open{
  display: block !important;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}
.aht-v2 .aht-bp-wrap--notebook .aht-bp-toolbar .aht-bp-freshness{
  margin: 0 0 16px;
  padding: 0;
  border: 0;
}
.aht-v2 .aht-bp-wrap--notebook .aht-bp-filter-label{ margin: 0 0 8px; }

/* Day: a pill segment */
.aht-v2 .aht-bp-wrap--notebook .aht-bp-underline-tabs{
  display: inline-flex;
  margin: 0 0 20px;
  padding: 4px;
  gap: 0;
  background: var(--paper-2);
  border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
}
.aht-v2 .aht-bp-wrap--notebook .aht-bp-underline-tab{
  appearance: none;
  box-shadow: none;
  text-transform: none;
  letter-spacing: 0;
  min-height: 0;
  padding: 10px 20px;
  border: 0;
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--ink);
  font: 600 15px/1.2 var(--sans);
  cursor: pointer;
}
.aht-v2 .aht-bp-wrap--notebook .aht-bp-underline-tab:hover:not(.is-active){ background: transparent; color: var(--ink); }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-underline-tab.is-active{ background: var(--ink); color: var(--paper-2); }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-underline-tab.is-active::after{ display: none; }

/* Beach type: chips */
.aht-v2 .aht-bp-wrap--notebook .aht-bp-radio-list{ display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-radio-item{
  appearance: none;
  box-shadow: none;
  text-transform: none;
  letter-spacing: 0;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--ink-2);
  font: 500 14px/1.2 var(--sans);
  white-space: nowrap;
  cursor: pointer;
}
.aht-v2 .aht-bp-wrap--notebook .aht-bp-radio-item:hover{ background: transparent; border-color: var(--ink); color: var(--ink); }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-radio-item.is-active{ background: var(--terracotta); border-color: var(--terracotta); color: var(--paper-2); }

/* Panels and the 3 / 2 / 1 column cards */
.aht-v2 .aht-bp-wrap--notebook .aht-bp-panels{ margin-top: 20px; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* Card: number, name, region, score; conditions; sky; tags; facilities; heads up; map link; buttons */
.aht-v2 .aht-bp-wrap--notebook .split-card--nb{
  background: var(--paper-2);
  border: 1px solid var(--rule-soft);
  border-radius: var(--r-md);
  box-shadow: none;
  padding: 20px;
  gap: 14px;
  transition: border-color .15s ease;
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb:hover,
.aht-v2 .aht-bp-wrap--notebook .split-card--nb.is-hot{ border-color: var(--ink); box-shadow: none; }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__header{
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  padding: 0;
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__header > div{
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__num{
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-top: 2px;
  border-radius: 50%;
  background: var(--terracotta);
  color: var(--paper-2);
  font: 600 12px/1 var(--mono);
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__name{ font: 500 27px/1.1 var(--serif); margin: 0; }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__region{ order: -1; margin: 0; white-space: normal; }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__score{
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 10px;
  border: 1.5px solid var(--ink);
  border-radius: var(--r-md);
  line-height: 1;
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__score b{ font: 500 26px/1 var(--serif); color: var(--ink); }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__score span{ margin-top: 2px; font: 400 10px/1 var(--sans); color: var(--muted); }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__updated{ flex: none; }

.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__wx-grid{
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__wx-cell,
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__wx-cell:nth-child(odd),
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__wx-cell:nth-child(even),
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__wx-cell:nth-last-child(-n+2){
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__wx-label{
  font: 400 14px/1.3 var(--sans);
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__wx-value{ font: 600 14px/1.3 var(--sans); color: var(--ink); text-align: right; }

.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__sky{ margin: 0; font: 400 13px/1.5 var(--sans); color: var(--muted); }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__tags{ display: flex; flex-wrap: wrap; gap: 6px; }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__tag{
  padding: 4px 10px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
  font: 400 12px/1.3 var(--sans);
  color: var(--ink);
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__note,
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__amenities{
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  font: 400 13px/1.5 var(--sans);
  color: var(--muted);
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__note b{ font-weight: 600; color: var(--ink); }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__note--warn b{ color: var(--terracotta-dark); }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__amen-chip{
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font: inherit;
  color: inherit;
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__amen-chip + .split-card__amen-chip::before{ content: " \00b7 "; }

/* "On the map": only when the script runs (it adds has-map to the wrap) */
.aht-v2 .aht-bp-wrap--notebook .split-card__maplink{
  display: none;
  align-self: flex-start;
  appearance: none;
  box-shadow: none;
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--navy);
  font: 600 13px/1.3 var(--sans);
  letter-spacing: 0;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.aht-v2 .aht-bp-wrap--notebook.has-map .split-card__maplink{ display: inline-block; }
.aht-v2 .aht-bp-wrap--notebook .split-card__maplink:hover{ color: var(--terracotta-dark); background: none; }
.aht-v2 .split-card__maplink:focus-visible{ outline: 2px solid var(--terracotta); outline-offset: 2px; }

.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__footer{
  gap: 10px;
  margin-top: auto;
  padding: 4px 0 0;
  border: 0;
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__link{
  flex: 1 1 0;
  justify-content: center;
  padding: 11px 10px;
  border-radius: var(--r-md);
  font: 600 14px/1.2 var(--sans);
  text-align: center;
  white-space: normal;
}
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__link--ghost{ background: transparent; border: 1.5px solid var(--ink); color: var(--ink); }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__link--ghost:hover{ background: var(--ink); border-color: var(--ink); color: var(--paper-2); }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__link--cta{ background: var(--ink); border: 1.5px solid var(--ink); color: var(--paper-2); }
.aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__link--cta:hover{ background: var(--ink-2); border-color: var(--ink-2); color: var(--paper-2); }

/* The one map. Fixed height (no layout shift) and a sand placeholder until Leaflet draws the tiles. */
.aht-v2 .aht-bp-wrap--notebook .aht-bp-map-wrap--single{ margin-top: 24px; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-map--single{
  height: 360px;
  margin: 0;
  background: var(--sand);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  overflow: hidden;
  isolation: isolate;
}
.aht-v2 .aht-bp-marker.aht-bp-marker--num{
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.aht-v2 .aht-bp-marker--num span{
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 2px solid var(--paper-2);
  border-radius: 50%;
  background: var(--terracotta);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ink) 40%, transparent);
  color: var(--paper-2);
  font: 600 12px/1 var(--mono);
  transition: transform .15s ease, background-color .15s ease;
}
.aht-v2 .aht-bp-marker--num.is-hot span{ background: var(--ink); transform: scale(1.25); }

/* Day summary: one per day, the active one shows */
.aht-v2 .aht-bp-wrap--notebook .aht-bp-day-summaries{ margin-top: 24px; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-day-summary:not(.is-active){ display: none; }
.aht-v2 .aht-bp-wrap--notebook .aht-bp-day-summary{
  max-width: none;
  margin: 0;
  padding: 16px 20px;
  background: var(--paper-2);
  border: 1px solid var(--rule-soft);
  border-left: 3px solid var(--terracotta);
  border-radius: var(--r-sm);
  font: 400 15px/1.6 var(--sans);
  color: var(--ink-2);
}
.aht-v2 .aht-bp-wrap--notebook .aht-boat-cta{ margin-top: 24px; }

@media (max-width: 1100px){
  .aht-v2 .aht-bp-wrap--notebook .aht-bp-cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px){
  .aht-v2 .aht-bp-wrap--notebook .aht-bp-underline-tabs{ display: flex; }
  .aht-v2 .aht-bp-wrap--notebook .aht-bp-underline-tab{ flex: 1 1 0; padding: 11px 8px; }
  .aht-v2 .aht-bp-wrap--notebook .aht-bp-radio-list{
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .aht-v2 .aht-bp-wrap--notebook .aht-bp-radio-list::-webkit-scrollbar{ display: none; }
  .aht-v2 .aht-bp-wrap--notebook .aht-bp-radio-item{ flex: none; }
  .aht-v2 .aht-bp-wrap--notebook .aht-bp-cards{ grid-template-columns: 1fr; gap: 14px; }
  .aht-v2 .aht-bp-wrap--notebook .split-card--nb{ padding: 16px; gap: 10px; }
  .aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__name{ font-size: 23px; }
  .aht-v2 .aht-bp-wrap--notebook .split-card--nb .split-card__score b{ font-size: 22px; }
  .aht-v2 .aht-bp-wrap--notebook .aht-bp-map--single{ height: 260px; }
}

@media (prefers-reduced-motion: reduce){
  .aht-v2 :is(.aht-bp-wrap--notebook .split-card--nb, .aht-bp-marker--num span){ transition: none; }
}
/* ===== end 99. Find my beach, notebook layout (.aht-bp-wrap--notebook) ===== */

/* =====================================================================
   100. [beach_now] conditions card and [tp_link] Travelpayouts CTAs
   ===================================================================== */
.aht-v2 .aht-beach-now{
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--terracotta);
  border-radius: var(--r-md);
  padding: 18px 20px;
  margin: 24px 0;
  max-width: 520px;
}
.aht-v2 .aht-beach-now[hidden]{ display: none; }
.aht-v2 .aht-beach-now__title{ font: 500 21px/1.2 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.aht-v2 .aht-beach-now__verdict{ margin: 6px 0 12px; font: 600 15px/1.4 var(--sans); color: var(--navy); }
.aht-v2 .aht-beach-now__grid{ margin: 0; border-top: 1px solid var(--line); }
.aht-v2 .aht-beach-now__row{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.aht-v2 .aht-beach-now__row dt{ margin: 0; font: 500 12px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); flex: none; }
.aht-v2 .aht-beach-now__row dd{ margin: 0; font: 400 15px/1.4 var(--sans); color: var(--ink); text-align: right; }
.aht-v2 .aht-beach-now__meta{ margin: 10px 0 14px; font: 400 12px/1.4 var(--mono); color: var(--muted); }
.aht-v2 .aht-beach-now__btn{
  display: inline-block;
  background: var(--terracotta);
  color: var(--paper-2) !important;
  font: 600 14px/1.2 var(--sans);
  padding: 10px 16px;
  border: 1px solid var(--terracotta);
  border-radius: var(--r-md);
  text-decoration: none;
}
.aht-v2 .aht-beach-now__btn:hover{ background: var(--terracotta-dark); border-color: var(--terracotta-dark); text-decoration: none; }

.aht-v2 .aht-events-empty{ font: 400 15px/1.5 var(--sans); color: var(--muted); margin: 12px 0; }

/* [tp_link]: primary/secondary mirror the [stay22] button look; inline is a text link */
.aht-v2 .aht-tp-cta--primary,
.aht-v2 .aht-tp-cta--secondary{
  display: inline-block;
  font: 600 14px/1.2 var(--sans);
  padding: 10px 16px;
  border-radius: var(--r-md);
  text-align: center;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.aht-v2 .aht-tp-cta--primary{
  background: var(--terracotta);
  border: 1px solid var(--terracotta);
  color: var(--paper-2) !important;
}
.aht-v2 .aht-tp-cta--primary:hover{ background: var(--terracotta-dark); border-color: var(--terracotta-dark); text-decoration: none; }
.aht-v2 .aht-tp-cta--secondary{
  background: transparent;
  border: 1px solid var(--ink);
  color: var(--ink) !important;
}
.aht-v2 .aht-tp-cta--secondary:hover{ background: var(--ink); border-color: var(--ink); color: var(--paper-2) !important; text-decoration: none; }
.aht-v2 .aht-tp-cta--inline{ color: var(--navy); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.aht-v2 .aht-tp-cta--inline:hover{ color: var(--terracotta-dark); }
.aht-v2 :is(.aht-tp-cta, .aht-beach-now__btn):focus-visible{ outline: 2px solid var(--terracotta); outline-offset: 2px; }

@media (max-width: 560px){
  .aht-v2 .aht-beach-now{ padding: 16px 16px; max-width: none; }
  .aht-v2 .aht-beach-now__row{ flex-direction: column; align-items: flex-start; gap: 2px; }
  .aht-v2 .aht-beach-now__row dd{ text-align: left; }
  .aht-v2 .aht-beach-now__btn{ display: block; text-align: center; }
  .aht-v2 .aht-tp-cta--primary, .aht-v2 .aht-tp-cta--secondary{ display: block; }
}
/* ===== end 100 ===== */

/* =====================================================================
   101. UI audit fixes 2026-11-09
   ===================================================================== */
/* Context CTAs: in the phone column layout the 320px flex-basis became a 200-300px empty band. */
@media (max-width: 640px){
  .aht-v2 :is(.aht-car-cta__text, .aht-boat-cta__text, .aht-charter-cta__text, .aht-stay22--event .aht-stay22__text){ flex: 0 0 auto; }
}
/* Live conditions card uses the full column; its meta line stays small inside hub wrappers. */
.aht-v2 .content-body .aht-beach-now{ max-width: none; }
.aht-v2 .ranking-hub-wrapper p.aht-beach-now__meta{ font-size: 12px; line-height: 1.4; }
/* Travelpayouts buttons need space around them when they stand alone. */
.aht-v2 .content-body a.aht-tp-cta:is(.aht-tp-cta--primary, .aht-tp-cta--secondary){ margin-block: 16px; }
/* Event list rows: the date column fits ranges like "NOV 9 - DEC 16" on one line. */
.aht-v2 .ahb-event-row{ grid-template-columns: minmax(120px, max-content) 1fr; }
@media (max-width: 760px){
  .aht-v2 .ahb-event-row{ grid-template-columns: 1fr; gap: 4px; }
}
