/* Areas we cover + quote card (inc/area-render.php, inc/quote-card.php).
   Built on the tokens in main.css; loaded only on /areas and /transfers pages. */

/* ── Hero: copy left, quote card right ───────────────────────── */
.ar-hero__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.ar-hero .display { font-size:clamp(2.6rem,5.4vw,4.6rem); line-height:1.04; margin-bottom:1.4rem; }
.ar-hero .lede { max-width:52ch; }
.ar-hero__card { position:sticky; top:calc(var(--nav-h) + 1.5rem); }
.ar-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr)); gap:0; margin:2.2rem 0 0; border-top:1px solid var(--on-dark-line); }
.ar-facts div { padding:1rem 1.2rem 0 0; }
.ar-facts dt { font-size:0.6rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--on-dark-dim); }
.ar-facts dd { margin:0.35rem 0 0; font-family:var(--serif); font-size:1.55rem; color:var(--on-dark); line-height:1.1; }

/* ── Grids, cards, tiles ─────────────────────────────────────── */
.ar-grid { display:grid; gap:1.2rem; margin-top:2.2rem; }
.ar-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ar-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ar-grid--5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.ar-card { border:1px solid color-mix(in srgb, currentColor 16%, transparent); border-radius:var(--radius-lg); padding:1.5rem; }
.ar-card__k { font-size:0.6rem; letter-spacing:0.16em; text-transform:uppercase; opacity:0.7; margin:0 0 0.6rem; }
.ar-card h3 { font-family:var(--serif); font-size:1.4rem; font-weight:500; margin:0 0 0.6rem; }
.ar-card h3 a { color:inherit; text-decoration:none; }
.ar-card h3 a:hover { color:var(--champagne-ink); }
.ar-card p { margin:0; line-height:1.6; opacity:0.85; }
.ar-list { list-style:none; margin:0; padding:0; }
.ar-list li { display:flex; justify-content:space-between; gap:1rem; padding:0.45rem 0; border-bottom:1px solid color-mix(in srgb, currentColor 10%, transparent); font-size:0.92rem; }
.ar-list li span:last-child { opacity:0.65; white-space:nowrap; }
.ar-tile { display:flex; flex-direction:column; gap:0.25rem; padding:1.1rem 1.2rem; border:1px solid color-mix(in srgb, currentColor 16%, transparent); border-radius:var(--radius-lg); color:inherit; text-decoration:none; transition:border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease); }
.ar-tile:hover { border-color:var(--champagne); transform:translateY(-2px); }
.ar-tile b { font-family:var(--serif); font-size:1.25rem; font-weight:500; }
.ar-tile span { font-size:0.8rem; opacity:0.75; }
.ar-tile .ar-tile__p { opacity:1; color:var(--on-light); font-weight:600; margin-top:0.3rem; }
.on-dark .ar-tile .ar-tile__p, .on-graphite .ar-tile .ar-tile__p { color:var(--champagne); }
.ar-tile--big { padding:1.4rem; }
.ar-tile__k { font-size:0.6rem !important; letter-spacing:0.18em; text-transform:uppercase; }
.ar-more { margin-top:1.6rem; }
.ar-more a { color:var(--champagne); }

/* ── Tables and split sections ───────────────────────────────── */
.ar-split { display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.ar-table tr.is-here td { background:color-mix(in srgb, var(--champagne) 14%, transparent); }
.ar-table td a { color:inherit; text-decoration-color:color-mix(in srgb, currentColor 35%, transparent); text-underline-offset:3px; }
.ar-table td a:hover { color:var(--champagne-ink); }
.ar-table small { opacity:0.6; font-size:0.72rem; }
.ar-search { display:block; max-width:34rem; margin-top:2rem; }
.ar-search input { width:100%; background:var(--graphite); border:1px solid var(--on-dark-line); border-radius:var(--radius-pill); color:var(--on-dark); font:inherit; font-size:16px; padding:0.9rem 1.3rem; min-height:50px; }
.ar-search input:focus { outline:none; border-color:var(--champagne); }
.ar-county__towns { font-size:0.9rem; line-height:1.9; }
.ar-county__towns a { color:inherit; }

@media (max-width: 960px) {
  .ar-hero__grid, .ar-split { grid-template-columns:minmax(0,1fr); }
  .ar-hero__card { position:static; }
  .ar-grid--4, .ar-grid--5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ar-grid--3 { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 520px) {
  .ar-grid--4, .ar-grid--5 { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .ar-tile, .qc__book { transition:none; }
  .ar-tile:hover, .qc__book:hover { transform:none; }
}

/* ── Tours (inc/tour-render.php) ─────────────────────────────── */
.tr-tabs { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:2rem; }
.tr-tab { background:transparent; border:1px solid var(--on-dark-line); color:var(--on-dark-mid); font:inherit; font-size:0.8rem; padding:0.55rem 1.1rem; border-radius:var(--radius-pill); cursor:pointer; min-height:40px; transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease); }
.tr-tab:hover { border-color:var(--champagne); color:var(--on-dark); }
.tr-tab.is-on { background:var(--champagne); border-color:var(--champagne); color:var(--espresso); font-weight:600; }
.tr-tab:focus-visible { outline:2px solid var(--champagne-soft); outline-offset:2px; }
.tr-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; margin-top:2.2rem; }
.tr-card { display:flex; flex-direction:column; background:var(--graphite); color:var(--on-dark); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease); }
.tr-card[hidden] { display:none; }
.tr-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.tr-card__media { position:relative; display:block; aspect-ratio:16 / 10; overflow:hidden; }
.tr-card__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--t-slow) var(--ease); }
.tr-card:hover .tr-card__media img { transform:scale(1.04); }
.tr-card__tag { position:absolute; left:1rem; top:1rem; background:rgba(23,19,15,0.78); color:var(--on-dark); font-size:0.62rem; letter-spacing:0.14em; text-transform:uppercase; padding:0.35rem 0.7rem; border-radius:var(--radius-pill); }
.tr-card__body { display:flex; flex-direction:column; gap:0.45rem; padding:1.3rem 1.4rem 1.4rem; flex:1; }
.tr-card h3 { font-family:var(--serif); font-size:1.45rem; font-weight:500; margin:0; line-height:1.15; }
.tr-card h3 a { color:inherit; text-decoration:none; }
.tr-card__places { margin:0; font-size:0.85rem; color:var(--on-dark-mid); }
.tr-card__meta { margin:0; font-size:0.74rem; color:var(--on-dark-dim); }
.tr-card__foot { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--on-dark-line); }
.tr-card__price { margin:0; font-size:0.78rem; color:var(--on-dark-mid); }
.tr-card__price b { font-family:var(--serif); font-size:1.6rem; font-weight:500; color:var(--on-dark); margin-right:0.25rem; }
.tr-card__price span { display:block; font-size:0.72rem; color:var(--champagne); margin-top:0.15rem; }
.tr-plan { list-style:none; margin:0; padding:0; counter-reset:none; }
.tr-plan li { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:1rem; padding:1.1rem 0; border-bottom:1px solid color-mix(in srgb, currentColor 14%, transparent); font-size:1.02rem; line-height:1.55; }
.tr-plan li span { font-family:var(--serif); font-size:1.5rem; color:var(--champagne-ink); line-height:1.1; }
.tr-book__pickup { display:flex; flex-direction:column; gap:0.3rem; margin-bottom:1rem; }
.tr-book__pickup span { font-size:0.58rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--on-dark-dim); }
.tr-book__pickup input { background:var(--espresso); border:1px solid var(--on-dark-line); border-radius:var(--radius-md); color:var(--on-dark); font:inherit; font-size:16px; padding:0.6rem 0.7rem; min-height:44px; }
.tr-book__pickup input:focus { outline:none; border-color:var(--champagne); }
@media (max-width: 960px) { .tr-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .tr-grid { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .tr-card, .tr-card__media img, .tr-tab { transition:none; } .tr-card:hover, .tr-card:hover .tr-card__media img { transform:none; } }

/* ── Events (inc/events-render.php) ──────────────────────────── */
.ev-plan .tr-book__pickup select, .ev-select { background:var(--espresso); border:1px solid var(--on-dark-line); border-radius:var(--radius-md); color:var(--on-dark); font:inherit; font-size:16px; padding:0.6rem 0.7rem; min-height:44px; width:100%; }
.ev-plan__go { width:100%; justify-content:center; margin-top:0.2rem; }
.ev-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.9rem 1.4rem; margin-top:2.2rem; }
.ev-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1.1rem; padding:1rem 1.1rem; border:1px solid color-mix(in srgb, currentColor 16%, transparent); border-radius:var(--radius-lg); }
.ev-item__date { display:flex; flex-direction:column; align-items:center; min-width:3.4rem; padding:0.4rem 0.3rem; border-radius:var(--radius-md); background:var(--espresso); color:var(--on-dark); line-height:1.1; }
.ev-item__date span { font-size:0.6rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--champagne); }
.ev-item__date b { font-family:var(--serif); font-size:1.6rem; font-weight:500; }
.ev-item__body h3 { font-family:var(--serif); font-size:1.15rem; font-weight:500; margin:0 0 0.2rem; line-height:1.25; }
.ev-item__body p { margin:0; font-size:0.82rem; opacity:0.75; }
.ev-item__body a { color:inherit; }
.ev-empty { margin-top:1.6rem; font-size:1rem; }
.ev-empty a { color:inherit; }
@media (max-width: 960px) { .ev-list { grid-template-columns:minmax(0,1fr); } }
@media (max-width: 520px) { .ev-item { grid-template-columns:auto minmax(0,1fr); } .ev-item .qc__book { grid-column:1 / -1; justify-content:center; } }
