/* ==========================================================================
   MARTOCK · THEME 2026 — subpage sections (t26p-*)
   1:1 implementation of design_stranky/*.pdf (1920 design width).
   Loaded after theme2026.css; relies on its tokens (--t26-blue, --t26-gold…).
   ========================================================================== */

:root {
  --t26p-blue: #021675;
  --t26p-blue-2: #0a2287;      /* table row separator / hover */
  --t26p-gold: #cc994a;
  --t26p-line: #dfe3ee;
  --t26p-paper: #f6f7fb;
  --t26p-red: #8d0d0d;
  --t26p-green: #22a45d;
  --t26p-ink: #17203f;
}

.t26p { font-family: "Montserrat", sans-serif; }

/* ------------------------------------------------------------- SECTIONS */
.t26p-sec { padding: clamp(48px, 5.2vw, 100px) 0; background: #fff; }
.t26p-sec--blue { background: var(--t26p-blue); color: #fff; }
.t26p-sec--paper { background: var(--t26p-paper); }
.t26p-sec--tight { padding-top: clamp(28px, 3vw, 56px); }
.t26p-sec--flush { padding-bottom: 0; }

.t26p-h2 {
  font-size: clamp(26px, 1.4vw + 17px, 40px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--t26p-blue);
  margin: 0 0 clamp(22px, 2vw, 38px);
  letter-spacing: -.01em;
}
.t26p-sec--blue .t26p-h2, .t26p-h2--light { color: #fff; }
.t26p-h2 + .t26p-lede { margin-top: -22px; }

.t26p-lede {
  font-size: clamp(14px, .35vw + 12px, 17px);
  line-height: 1.6;
  color: #46506e;
  margin: 0 0 clamp(22px, 2vw, 34px);
  max-width: 78ch;
}
.t26p-sec--blue .t26p-lede { color: rgba(255, 255, 255, .82); }

/* section head with a pill on the right */
.t26p-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.t26p-head .t26p-h2 { margin-bottom: clamp(22px, 2vw, 38px); }

.t26p-note {
  font-size: 12px;
  color: #6b7590;
  margin: 14px 0 0;
}
.t26p-sec--blue .t26p-note { color: rgba(255, 255, 255, .6); }

/* ----------------------------------------------------------------- HERO */
.t26p-hero {
  position: relative;
  min-height: 750px;
  height: 90vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--t26p-blue);
}
@media (max-width: 700px) {
  .t26p-hero { min-height: 560px; height: 80vh; }
}
.t26p-hero__media { position: absolute; inset: 0; }
.t26p-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.t26p-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(2, 22, 117, .32) 0%, rgba(2, 22, 117, .08) 42%, rgba(0, 0, 0, .42) 100%);
}
.t26p-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-bottom: clamp(100px, 7.4vw, 132px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(18px, 2vw, 36px);
  flex-wrap: wrap;
}
.t26p-hero__inner > div:first-child { flex: 1 1 460px; min-width: 0; }
.t26p-hero__title {
  font-size: clamp(34px, 4.9vw, 96px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.015em;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
  text-shadow: 0 2px 26px rgba(0, 0, 0, .35);
}
.t26p-hero__eyebrow {
  display: block;
  font-size: clamp(16px, 1.1vw, 26px);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--t26p-gold);
  margin: 0 0 6px;
}
.t26p-hero__eyebrow sup { font-size: .58em; }
.t26p-hero__buy { text-align: right; padding-bottom: 10px; }
.t26p-hero__from {
  display: block;
  font-size: 14px;
  color: rgba(255, 255, 255, .9);
  margin: 0 0 2px;
}
.t26p-hero__price {
  display: block;
  font-size: clamp(28px, 2.2vw, 42px);
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin: 0 0 16px;
}
@media (max-width: 700px) {
  .t26p-hero__inner { padding-bottom: 88px; }
  .t26p-hero__buy { text-align: left; }
}

/* ----------------------------------------------------- ANCHOR NAV / TABS */
.t26p-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(8px, .8vw, 14px);
  padding: clamp(18px, 2vw, 30px) 0;
}
.t26p-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 clamp(14px, 1.2vw, 22px);
  border: 1px solid var(--t26p-blue);
  color: var(--t26p-blue);
  background: #fff;
  font-size: clamp(11px, .28vw + 10px, 13px);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .18s, color .18s;
}
.t26p-tab:hover { background: var(--t26p-blue); color: #fff; }
.t26p-tab--on, .t26p-tab[aria-current="true"] {
  background: var(--t26p-gold);
  border-color: var(--t26p-gold);
  color: #fff;
}

/* wide solid quick-links (FULL PRICELIST / REPAIRS / RENTALS / FAQ) */
.t26p-quick {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(12px, 1.4vw, 26px);
  margin-top: clamp(24px, 2.4vw, 42px);
}
.t26p-quick a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 12px 18px;
  background: var(--t26p-blue);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  transition: background .18s;
}
.t26p-quick a:hover { background: #041f9c; }

/* --------------------------------------------------------- DATA TABLES */
/* The navy panel is the padded wrapper, so the row rules stop short of the
   panel edges exactly as they do in the design. */
.t26p-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.t26p-tablebox {
  background: var(--t26p-blue);
  padding: clamp(14px, 1.6vw, 30px) clamp(18px, 2.4vw, 46px) clamp(22px, 2.7vw, 52px);
  min-width: 620px;
}
table.t26p-table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
  color: #fff;
  font-size: clamp(12px, .25vw + 11px, 15px);
}
table.t26p-table th,
table.t26p-table td {
  padding: clamp(16px, 1.7vw, 30px) clamp(10px, 1.1vw, 24px);
  text-align: center;
  vertical-align: middle;
  border: 0;
}
table.t26p-table thead th {
  font-size: clamp(15px, .5vw + 12px, 22px);
  font-weight: 700;
  padding-top: clamp(14px, 1.4vw, 26px);
  padding-bottom: 8px;
}
table.t26p-table thead th:first-child { text-align: left; }
table.t26p-table tbody th,
table.t26p-table tbody td:first-child {
  text-align: left;
  font-weight: 400;
  color: rgba(255, 255, 255, .92);
  white-space: nowrap;
}
table.t26p-table tbody tr + tr td,
table.t26p-table tbody tr + tr th { border-top: 1px solid rgba(255, 255, 255, .16); }
table.t26p-table tbody td { font-weight: 700; }
table.t26p-table tbody td:has(> .t26p-btn) { padding-top: 10px; padding-bottom: 10px; }
table.t26p-table .t26p-btn { min-width: clamp(120px, 11vw, 200px); }
table.t26p-table .t26p-sub {
  font-size: clamp(12px, .3vw + 10px, 16px);
  font-weight: 400;
  color: rgba(255, 255, 255, .86);
  padding-top: 0;
  padding-bottom: clamp(14px, 1.4vw, 26px);
}
table.t26p-table .t26p-sub td { border-top: 0 !important; }
table.t26p-table tr.t26p-btnrow td { padding: clamp(22px, 2.2vw, 38px) clamp(10px, 1.1vw, 24px) 0; border-top: 0 !important; }
table.t26p-table .t26p-cell-note {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: rgba(255, 255, 255, .68);
  margin-top: 3px;
  white-space: normal;
}
table.t26p-table .t26p-yes,
table.t26p-table .t26p-no { display: inline-flex; align-items: center; gap: 8px; justify-content: center; }
table.t26p-table .t26p-yes svg { width: 20px; height: 20px; flex: none; }
table.t26p-table .t26p-no { color: rgba(255, 255, 255, .55); font-weight: 400; }
table.t26p-table .t26p-yes span { font-size: 12px; font-weight: 700; }

/* highlighted column — gold outline running the full height of the table */
table.t26p-table .is-hl { background: rgba(255, 255, 255, .05); }
table.t26p-table thead th.is-hl { border-top: 2px solid var(--t26p-gold); }
table.t26p-table th.is-hl, table.t26p-table td.is-hl {
  border-left: 2px solid var(--t26p-gold);
  border-right: 2px solid var(--t26p-gold);
}
table.t26p-table tbody tr:last-child td.is-hl { border-bottom: 2px solid var(--t26p-gold); }

.t26p-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(44px, 2.9vw, 54px);
  padding: 0 clamp(18px, 1.6vw, 30px);
  background: var(--t26p-gold);
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  transition: background .18s, transform .12s;
  white-space: nowrap;
}
.t26p-btn:hover { background: #b5842f; }
.t26p-btn:active { transform: translateY(1px); }
.t26p-btn--wide { width: 100%; }
.t26p-btn--outline {
  background: transparent;
  border: 1px solid #fff;
  color: #fff !important;
}
.t26p-btn--outline:hover { background: rgba(255, 255, 255, .14); }
.t26p-btn--ink {
  background: transparent;
  border: 1px solid var(--t26p-blue);
  color: var(--t26p-blue) !important;
}
.t26p-btn--ink:hover { background: var(--t26p-blue); color: #fff !important; }
.t26p-btn--white { background: #fff; color: var(--t26p-blue) !important; }
.t26p-btn--white:hover { background: #e9edfb; }

/* ------------------------------------------------------ RENTAL / REPAIR */
.t26p-rental {
  display: grid;
  grid-template-columns: minmax(0, .62fr) minmax(0, 1.15fr) minmax(0, .78fr);
  gap: clamp(14px, 1.4vw, 26px);
  align-items: stretch;
}
.t26p-rental__photo { position: relative; overflow: hidden; min-height: 320px; }
.t26p-rental__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.t26p-card {
  background: #fff;
  color: var(--t26p-ink);
  padding: clamp(20px, 1.8vw, 34px);
  display: flex;
  flex-direction: column;
}
.t26p-card__title {
  font-size: clamp(17px, .5vw + 14px, 24px);
  font-weight: 700;
  color: var(--t26p-blue);
  margin: 0;
}
.t26p-pricehead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--t26p-line);
}
.t26p-pricehead__cols { display: flex; gap: clamp(16px, 2vw, 40px); font-size: 13px; font-weight: 600; color: var(--t26p-blue); }
.t26p-pricehead__cols span { min-width: 62px; text-align: right; }

.t26p-pricelist { list-style: none; margin: 0; padding: 0; }
.t26p-pricelist li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(11px, 1vw, 16px) 0;
  border-bottom: 1px solid var(--t26p-line);
}
.t26p-pricelist li:last-child { border-bottom: 0; }
.t26p-pricelist__name { font-size: clamp(13px, .25vw + 12px, 15px); font-weight: 600; color: var(--t26p-blue); }
.t26p-pricelist__name small { display: block; font-size: 11px; font-weight: 400; color: #6b7590; margin-top: 2px; }
.t26p-pricelist__vals { display: flex; gap: clamp(16px, 2vw, 40px); }
.t26p-pricelist__vals span { min-width: 62px; text-align: right; font-weight: 700; color: var(--t26p-blue); font-size: clamp(13px, .25vw + 12px, 15px); }
.t26p-pricelist li.is-hl {
  background: #fdf8ec;
  border: 1px solid var(--t26p-gold);
  padding-left: 14px;
  padding-right: 14px;
  margin: 6px 0;
}
.t26p-pricelist li.is-hl .t26p-pricelist__vals span { color: var(--t26p-gold); font-size: clamp(16px, .4vw + 14px, 20px); }

/* checklist with gold ticks */
.t26p-checks { list-style: none; margin: 16px 0 0; padding: 0; }
.t26p-checks li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: clamp(12px, .25vw + 11px, 14px);
  color: var(--t26p-blue);
  margin: 0 0 11px;
  line-height: 1.4;
}
.t26p-checks svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.t26p-checks--light li { color: #fff; }
.t26p-fineprint { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--t26p-line); }
.t26p-fineprint p { margin: 0 0 4px; font-size: 11px; color: #6b7590; line-height: 1.5; }
.t26p-card__foot { margin-top: auto; padding-top: 22px; }

.t26p-repair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .78fr) minmax(0, 1.05fr);
  gap: clamp(14px, 1.4vw, 26px);
  align-items: stretch;
}
.t26p-repair__photo { position: relative; overflow: hidden; min-height: 320px; }
.t26p-repair__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.t26p-servicelist {
  background: var(--t26p-blue);
  color: #fff;
  padding: clamp(18px, 1.6vw, 28px) clamp(18px, 1.6vw, 26px);
  list-style: none;
  margin: 0;
}
.t26p-servicelist__head {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 700;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .34);
  margin-bottom: 6px;
}
.t26p-servicelist li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(9px, .8vw, 13px) 0;
  font-size: clamp(11px, .22vw + 10px, 13px);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.t26p-servicelist li:last-child { border-bottom: 0; }
.t26p-servicelist b { color: var(--t26p-gold); white-space: nowrap; }
.t26p-hours { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--t26p-line); }
.t26p-hours h4 { margin: 0 0 8px; font-size: 13px; font-weight: 700; color: var(--t26p-blue); }
.t26p-hours p { margin: 0 0 4px; font-size: 12px; color: #46506e; }
.t26p-hours b { color: var(--t26p-blue); }

@media (max-width: 1100px) {
  .t26p-rental, .t26p-repair { grid-template-columns: 1fr; }
  .t26p-rental__photo img, .t26p-repair__photo img { max-height: 340px; }
}

/* ------------------------------------------------------ CARD COLLECTIONS */
.t26p-grid {
  display: grid;
  gap: clamp(14px, 1.4vw, 26px);
  grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
}
@media (max-width: 1200px) { .t26p-grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); } }
@media (max-width: 620px)  { .t26p-grid { grid-template-columns: 1fr; } }

/* combo package card */
.t26p-combo { background: #fff; padding: clamp(20px, 1.8vw, 32px); display: flex; flex-direction: column; }
.t26p-combo__price { font-size: clamp(22px, .8vw + 17px, 30px); font-weight: 700; color: var(--t26p-gold); margin: 0 0 4px; }
.t26p-combo__title { font-size: clamp(15px, .3vw + 13px, 18px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 14px; }
.t26p-combo__desc { font-size: 13px; line-height: 1.55; color: #46506e; margin: 0 0 24px; }
.t26p-combo .t26p-btn { margin-top: auto; }

/* merchandise card */
.t26p-product { border: 1px solid var(--t26p-line); background: #fff; padding: clamp(14px, 1.2vw, 22px); display: flex; flex-direction: column; }
.t26p-product__media { aspect-ratio: 6 / 5; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.t26p-product__media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.t26p-product__cat { font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--t26p-gold); margin: 16px 0 4px; }
.t26p-product__name { font-size: 14px; font-weight: 700; color: var(--t26p-blue); margin: 0 0 8px; }
.t26p-product__price { font-size: 14px; font-weight: 700; color: var(--t26p-blue); margin: 0 0 18px; }
.t26p-product .t26p-btn { margin-top: auto; }

/* navy service / offer card */
.t26p-tilecard {
  background: var(--t26p-blue);
  color: #fff;
  padding: clamp(20px, 1.7vw, 32px);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.t26p-tilecard__icon { font-size: 30px; line-height: 1; margin-bottom: 18px; color: #fff; font-variation-settings: 'FILL' 1; }
.t26p-tilecard__title { font-size: clamp(16px, .55vw + 13px, 26px); font-weight: 700; margin: 0 0 10px; }
.t26p-tilecard__desc { font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .86); margin: 0 0 22px; }
.t26p-tilecard .t26p-btn { margin-top: auto; }
.t26p-tilecard--sm .t26p-tilecard__title { font-size: clamp(15px, .3vw + 13px, 18px); }
.t26p-tilecard--sm .t26p-tilecard__desc { margin-bottom: 0; }

/* food card */
.t26p-food { border: 1px solid var(--t26p-line); background: #fff; display: flex; flex-direction: column; }
.t26p-food__media { aspect-ratio: 1 / 1; overflow: hidden; }
.t26p-food__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.t26p-food:hover .t26p-food__media img { transform: scale(1.05); }
.t26p-food__body { padding: 14px 16px 18px; display: flex; flex-direction: column; flex: 1; }
.t26p-food__name { font-size: 15px; font-weight: 700; color: var(--t26p-blue); margin: 0 0 8px; }
.t26p-food__desc { font-size: 12px; line-height: 1.45; color: #6b7590; margin: 0 0 14px; }
.t26p-food__price { font-size: 14px; font-weight: 700; color: var(--t26p-blue); margin: auto 0 0; }

/* where to stay */
.t26p-stay { background: #fff; padding: clamp(22px, 2vw, 36px); display: flex; flex-direction: column; text-align: center; }
.t26p-stay__icon { color: var(--t26p-blue); font-size: 32px; line-height: 1; margin: 0 auto 14px; }
.t26p-stay__title { font-size: clamp(16px, .4vw + 14px, 21px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 22px; }
.t26p-stay ul { list-style: none; margin: 0 0 26px; padding: 0; text-align: left; }
.t26p-stay li { margin: 0 0 18px; }
.t26p-stay li a, .t26p-stay li strong { display: block; font-size: 14px; font-weight: 700; color: var(--t26p-blue); text-decoration: none; }
.t26p-stay li a:hover { color: var(--t26p-gold); }
.t26p-stay li span { display: block; font-size: 12px; color: #6b7590; margin-top: 2px; }
.t26p-stay .t26p-btn { margin-top: auto; }

/* ------------------------------------------------------------ TRAIL MAP */
.t26p-trailmap { background: var(--t26p-blue); display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.t26p-trailmap__side { padding: clamp(18px, 1.6vw, 28px); color: #fff; }
.t26p-trailmap__side h3 { font-size: 15px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; margin: 0 0 16px; }
.t26p-trailmap__side h4 { font-size: 12px; font-weight: 700; margin: 18px 0 8px; color: #fff; }
.t26p-trailmap__side ul { list-style: none; margin: 0; padding: 0; }
.t26p-trailmap__side li { display: flex; align-items: center; gap: 8px; font-size: 12px; margin: 0 0 7px; color: rgba(255, 255, 255, .92); }
.t26p-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 17px; height: 17px; flex: none;
  border-radius: 50%;
  font-size: 9px; font-weight: 700; color: #fff;
  background: rgba(255, 255, 255, .28);
}
.t26p-badge--easy { background: #2fbe6a; }
.t26p-badge--inter { background: #1e9bf0; border-radius: 3px; }
.t26p-badge--park { background: #f08b1e; border-radius: 8px; width: 22px; }
.t26p-badge--tube { background: #e05fd0; }
.t26p-badge--lift { background: transparent; border: 1px solid rgba(255, 255, 255, .7); }
.t26p-trailmap__side .t26p-sublist { margin: 6px 0 0 24px; }
.t26p-trailmap__side .t26p-sublist li { font-size: 11px; color: rgba(255, 255, 255, .72); margin-bottom: 4px; }
.t26p-trailmap__filters { margin-top: 22px; }
.t26p-trailmap__filters h4 { letter-spacing: .06em; text-transform: uppercase; }
.t26p-chipset { display: flex; flex-wrap: wrap; gap: 7px; }
.t26p-chip {
  border: 1px solid #fff; background: transparent; color: #fff;
  font: 600 11px "Montserrat", sans-serif;
  padding: 6px 12px; cursor: pointer; transition: background .18s, color .18s;
}
.t26p-chip:hover, .t26p-chip[aria-pressed="true"] { background: #fff; color: var(--t26p-blue); }
.t26p-trailmap__map { position: relative; background: #dfeefb; }
.t26p-trailmap__map img { width: 100%; height: auto; display: block; }
.t26p-trailmap__caption {
  position: absolute; left: clamp(14px, 1.4vw, 26px); bottom: clamp(14px, 1.4vw, 22px);
  font-size: clamp(12px, .3vw + 10px, 16px); font-weight: 700; color: var(--t26p-blue);
}
.t26p-trailmap__actions {
  position: absolute; right: clamp(14px, 1.4vw, 26px); bottom: clamp(14px, 1.4vw, 22px);
  display: flex; background: #fff; box-shadow: 0 6px 24px -10px rgba(2, 22, 117, .5);
}
.t26p-trailmap__actions a {
  padding: 12px clamp(12px, 1.1vw, 20px);
  font-size: 12px; color: var(--t26p-blue); text-decoration: none; white-space: nowrap;
}
.t26p-trailmap__actions a + a { border-left: 1px solid var(--t26p-line); }
.t26p-trailmap__actions a:hover { background: #f2f5ff; }
.t26p-topview { position: relative; background: #cfe3f4; margin-top: clamp(20px, 2vw, 40px); }
.t26p-topview img { width: 100%; display: block; }
.t26p-topview__label {
  position: absolute; left: clamp(14px, 1.4vw, 26px); bottom: clamp(14px, 1.4vw, 22px);
  font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--t26p-blue);
}
@media (max-width: 900px) { .t26p-trailmap { grid-template-columns: 1fr; } }

/* ----------------------------------------------------------- DIRECTIONS */
.t26p-directions { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); gap: clamp(14px, 1.4vw, 26px); align-items: start; }
.t26p-directions__map img { width: 100%; display: block; }
.t26p-directions__map .t26p-btn { margin-top: clamp(12px, 1.2vw, 20px); }
.t26p-infocard { background: var(--t26p-blue); color: #fff; padding: clamp(18px, 1.5vw, 26px); margin-bottom: clamp(12px, 1.2vw, 20px); }
.t26p-infocard h3 { display: flex; align-items: center; gap: 10px; font-size: clamp(15px, .35vw + 13px, 19px); font-weight: 700; margin: 0 0 12px; }
.t26p-infocard h3 .material-symbols-outlined { font-size: 22px; }
.t26p-infocard p { margin: 0; font-size: 13px; line-height: 1.55; color: rgba(255, 255, 255, .9); }
.t26p-infocard dl { display: grid; grid-template-columns: 1fr auto; gap: 9px 16px; margin: 0; font-size: 13px; }
.t26p-infocard dt { color: rgba(255, 255, 255, .9); }
.t26p-infocard dd { margin: 0; font-weight: 700; text-align: right; }
.t26p-directions__foot { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, 1vw, 18px); }
@media (max-width: 900px) { .t26p-directions { grid-template-columns: 1fr; } }

/* ----------------------------------------------------------- SNOW SCHOOL */
.t26p-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 3vw, 64px); align-items: center; }
.t26p-split--rev { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.t26p-split img { width: 100%; display: block; }
.t26p-split__body h2 { font-size: clamp(22px, 1.1vw + 17px, 34px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 18px; }
.t26p-split__body p { font-size: clamp(14px, .3vw + 12px, 17px); line-height: 1.65; color: #46506e; margin: 0 0 20px; }
.t26p-sec--blue .t26p-split__body h2 { color: #fff; }
.t26p-sec--blue .t26p-split__body p { color: rgba(255, 255, 255, .86); }
@media (max-width: 900px) { .t26p-split, .t26p-split--rev { grid-template-columns: 1fr; } }

.t26p-porcupine { display: block; width: min(420px, 42vw); margin: 0 0 clamp(-20px, -1vw, 0px); opacity: .96; }

.t26p-helpline { text-align: right; font-size: 13px; color: #6b7590; margin: 16px 0 0; }
.t26p-helpline a { color: var(--t26p-gold); font-weight: 600; }

.t26p-program { background: #fff; display: flex; flex-direction: column; }
.t26p-program__media { aspect-ratio: 16 / 9; overflow: hidden; }
.t26p-program__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.t26p-program__body { padding: clamp(16px, 1.4vw, 24px); display: flex; flex-direction: column; flex: 1; }
.t26p-program__title { font-size: clamp(16px, .4vw + 14px, 20px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 10px; }
.t26p-program__desc { font-size: 13px; line-height: 1.5; color: #46506e; margin: 0 0 22px; }
.t26p-program .t26p-btn { margin-top: auto; }

/* ---------------------------------------------------------------- SAFETY */
.t26p-safety { background: #fff; border: 1px solid var(--t26p-line); padding: clamp(18px, 1.6vw, 28px); display: flex; flex-direction: column; }
.t26p-safety h3 { font-size: clamp(15px, .35vw + 13px, 19px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 12px; }
.t26p-safety p { font-size: 13px; line-height: 1.55; color: #46506e; margin: 0 0 20px; }
.t26p-safety a { margin-top: auto; }

.t26p-codes { background: #ffe600; padding: clamp(34px, 3.4vw, 68px) 0; }
.t26p-codes__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: clamp(20px, 2.4vw, 46px); align-items: start; }
.t26p-codes__grid img { width: 100%; display: block; }

.t26p-highlights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1vw, 18px); }
.t26p-highlight {
  display: flex; align-items: center; gap: 12px;
  background: #fff; padding: clamp(14px, 1.2vw, 20px);
  font-size: clamp(12px, .28vw + 11px, 15px); font-weight: 600; color: var(--t26p-blue);
  line-height: 1.35;
}
.t26p-highlight svg { width: 26px; height: 26px; flex: none; }
@media (max-width: 1000px) { .t26p-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px)  { .t26p-highlights { grid-template-columns: 1fr; } }

.t26p-difficulty { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 30px); max-width: 1120px; margin: 0 auto; }
.t26p-diffcard { padding: clamp(20px, 1.8vw, 32px); text-align: center; }
.t26p-diffcard--green { background: #f0fbf4; }
.t26p-diffcard--blue { background: #eef5fe; }
.t26p-diffcard--orange { background: #fef4ea; }
.t26p-diffcard__shape { width: 26px; height: 26px; margin: 0 auto 16px; }
.t26p-diffcard__shape--circle { background: #35c274; border-radius: 50%; }
.t26p-diffcard__shape--square { background: #0d9ded; }
.t26p-diffcard__shape--oval { background: #f4801f; border-radius: 999px; width: 40px; height: 20px; }
.t26p-diffcard__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 6px; }
.t26p-diffcard--green .t26p-diffcard__label { color: #17a45c; }
.t26p-diffcard--blue .t26p-diffcard__label { color: #0d8ad3; }
.t26p-diffcard--orange .t26p-diffcard__label { color: #e0761a; }
.t26p-diffcard__title { font-size: clamp(16px, .4vw + 14px, 21px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 8px; }
.t26p-diffcard__desc { font-size: 12px; color: #46506e; margin: 0; }
@media (max-width: 800px) { .t26p-difficulty { grid-template-columns: 1fr; } }

.t26p-kbyg { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); gap: clamp(24px, 3vw, 60px); align-items: start; }
.t26p-kbyg img { width: 100%; display: block; }
.t26p-kbyg h2 { color: #fff; }
.t26p-kbyg__list { list-style: none; margin: 0 0 28px; padding: 0; }
.t26p-kbyg__list li { display: flex; gap: 18px; margin: 0 0 26px; }
.t26p-kbyg__list .material-symbols-outlined { font-size: 26px; color: #fff; flex: none; margin-top: 2px; }
.t26p-kbyg__list h3 { font-size: clamp(15px, .35vw + 13px, 19px); font-weight: 700; color: #fff; margin: 0 0 5px; }
.t26p-kbyg__list p { font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .84); margin: 0; }
@media (max-width: 900px) { .t26p-kbyg { grid-template-columns: 1fr; } }

.t26p-emergency { background: var(--t26p-red); color: #fff; padding: clamp(34px, 3.4vw, 66px) 0; }
.t26p-emergency__inner { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 46px); flex-wrap: wrap; }
.t26p-emergency__icon {
  width: 74px; height: 74px; flex: none;
  border: 2px solid #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 38px; line-height: 1;
}
.t26p-emergency__body { flex: 1 1 320px; }
.t26p-emergency h2 { font-size: clamp(22px, 1.1vw + 17px, 34px); font-weight: 700; margin: 0 0 10px; color: #fff; }
.t26p-emergency p { margin: 0; font-size: clamp(13px, .3vw + 12px, 16px); line-height: 1.55; color: rgba(255, 255, 255, .92); }
.t26p-emergency .t26p-btn { background: #b3261e; }
.t26p-emergency .t26p-btn:hover { background: #8e1c16; }

/* ----------------------------------------------------------------- ABOUT */
.t26p-timeline { position: relative; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; margin: clamp(30px, 3vw, 58px) 0 0; }
.t26p-timeline::before {
  content: ""; position: absolute; left: 7%; right: 7%; top: 58px; height: 2px; background: var(--t26p-blue); opacity: .5;
}
.t26p-tl { text-align: center; padding: 0 8px; position: relative; }
.t26p-tl__decade { font-size: clamp(15px, .45vw + 13px, 22px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 22px; }
.t26p-tl__dot {
  width: 15px;
  height: 15px !important;
  border-radius: 50%;
  background: var(--t26p-gold);
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px var(--t26p-gold);
  margin: 0 auto 21px;
  display: block;
  position: relative;
  top: 3px;
  z-index: 2;
}
.t26p-tl__title { font-size: clamp(12px, .28vw + 11px, 15px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 7px; }
.t26p-tl__desc { font-size: clamp(10px, .22vw + 9px, 12px); line-height: 1.45; color: #46506e; margin: 0; }
@media (max-width: 1000px) {
  .t26p-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 12px; }
  .t26p-timeline::before { display: none; }
}
@media (max-width: 560px) { .t26p-timeline { grid-template-columns: 1fr; } }

.t26p-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.3vw, 24px); margin-top: clamp(30px, 3vw, 58px); }
.t26p-stat { background: var(--t26p-gold); color: #fff; text-align: center; padding: clamp(18px, 1.7vw, 30px) 14px; }
.t26p-stat__value { display: block; font-size: clamp(20px, .9vw + 15px, 32px); font-weight: 700; line-height: 1.15; }
.t26p-stat__label { display: block; font-size: clamp(10px, .22vw + 9px, 12px); margin-top: 6px; }
@media (max-width: 760px) { .t26p-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.t26p-masonry { columns: 3; column-gap: clamp(12px, 1.3vw, 24px); }
.t26p-masonry img { width: 100%; display: block; margin: 0 0 clamp(12px, 1.3vw, 24px); break-inside: avoid; }
@media (max-width: 900px) { .t26p-masonry { columns: 2; } }
@media (max-width: 560px) { .t26p-masonry { columns: 1; } }
.t26p-showmore { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: clamp(20px, 2vw, 36px) auto 0; background: none; border: 0; cursor: pointer; font: 700 14px "Montserrat", sans-serif; letter-spacing: .05em; text-transform: uppercase; color: var(--t26p-blue); }
.t26p-showmore .material-symbols-outlined { font-size: 20px; }

.t26p-partners { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: clamp(20px, 3vw, 56px); }
.t26p-partners a, .t26p-partners span { display: block; flex: 0 1 auto; }
.t26p-partners img { max-width: 165px; max-height: 92px; width: auto; height: auto; display: block; transition: opacity .2s; }
.t26p-partners a:hover img { opacity: .78; }

/* ------------------------------------------------------------ CONDITIONS */
.t26p-wx { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.3vw, 24px); }
.t26p-wxcard { background: var(--t26p-blue); color: #fff; padding: clamp(16px, 1.5vw, 26px); }
.t26p-wxcard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.t26p-wxcard__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.t26p-wxcard__head .material-symbols-outlined { font-size: 26px; }
.t26p-wxcard__value { font-size: clamp(20px, .9vw + 15px, 32px); font-weight: 700; margin: clamp(14px, 1.4vw, 26px) 0 4px; line-height: 1.1; }
.t26p-wxcard__sub { font-size: 12px; color: rgba(255, 255, 255, .78); }
@media (max-width: 1000px) { .t26p-wx { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px)  { .t26p-wx { grid-template-columns: 1fr; } }

.t26p-road {
  display: flex; align-items: center; gap: clamp(14px, 1.6vw, 30px); flex-wrap: wrap;
  background: var(--t26p-blue); color: #fff; padding: clamp(16px, 1.5vw, 24px) clamp(18px, 1.6vw, 28px);
  margin-top: clamp(12px, 1.3vw, 24px);
}
.t26p-road__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.t26p-road__pill { background: rgba(43, 209, 129, .22); color: #6ef0ac; border: 1px solid rgba(110, 240, 172, .5); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 5px 14px; }
.t26p-road__text { font-size: 13px; color: rgba(255, 255, 255, .86); border-left: 1px solid rgba(255, 255, 255, .28); padding-left: clamp(14px, 1.6vw, 30px); }
@media (max-width: 700px) { .t26p-road__text { border-left: 0; padding-left: 0; } }

.t26p-forecast { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 22px); }
.t26p-fc { border: 1px solid var(--t26p-line); padding: clamp(14px, 1.3vw, 22px); background: #eef4fd; }
.t26p-fc--warm { background: #fbeedd; }
.t26p-fc__day { font-size: clamp(14px, .3vw + 12px, 17px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 14px; }
.t26p-fc__cond { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--t26p-ink); margin-bottom: 16px; }
.t26p-fc__cond .material-symbols-outlined { font-size: 24px; color: var(--t26p-blue); }
.t26p-fc dl { display: grid; grid-template-columns: 1fr auto; gap: 7px 10px; margin: 0; font-size: 12px; }
.t26p-fc dt { color: #6b7590; }
.t26p-fc dd { margin: 0; font-weight: 700; color: var(--t26p-blue); text-align: right; }
@media (max-width: 1100px) { .t26p-forecast { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px)  { .t26p-forecast { grid-template-columns: 1fr; } }

.t26p-snow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.3vw, 24px); }
.t26p-snowcard { background: var(--t26p-blue); color: #fff; padding: clamp(16px, 1.5vw, 26px); }
.t26p-snowcard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.t26p-snowcard__label { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.t26p-snowcard__label .material-symbols-outlined { font-size: 18px; }
.t26p-snowcard__sub { font-size: 12px; color: rgba(255, 255, 255, .74); margin: 4px 0 clamp(12px, 1.2vw, 22px); }
.t26p-snowcard__value { font-size: clamp(22px, 1vw + 16px, 34px); font-weight: 700; line-height: 1; }
@media (max-width: 1000px) { .t26p-snow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px)  { .t26p-snow { grid-template-columns: 1fr; } }

.t26p-trailstatus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.5vw, 28px); }
.t26p-tspanel { background: #fff; border-top: 4px solid #35c274; padding: clamp(18px, 1.6vw, 28px); }
.t26p-tspanel--inter { border-top-color: #0d9ded; }
.t26p-tspanel--park { border-top-color: #f4801f; }
.t26p-tspanel h3 { font-size: clamp(15px, .4vw + 13px, 20px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 18px; }
.t26p-tspanel ul { list-style: none; margin: 0; padding: 0; }
.t26p-tspanel li { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: clamp(13px, .28vw + 12px, 16px); color: var(--t26p-blue); }
.t26p-tspanel li .t26p-tsname { flex: 1; }
.t26p-tsdot { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #17a45c; }
.t26p-tsdot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22c55e; }
.t26p-tsdot--closed { color: #d5443c; }
.t26p-tsdot--closed::before { background: #ef4444; }
@media (max-width: 800px) { .t26p-trailstatus { grid-template-columns: 1fr; } }

.t26p-report { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .78fr); gap: clamp(24px, 3vw, 58px); align-items: start; }
.t26p-report__date { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--t26p-gold); margin: -22px 0 20px; }
.t26p-report__body p { font-size: clamp(14px, .3vw + 12px, 17px); line-height: 1.65; color: #46506e; margin: 0 0 18px; }
.t26p-report__tip { display: flex; align-items: center; gap: 12px; background: var(--t26p-blue); color: #fff; padding: 14px 18px; font-size: 13px; margin-top: 22px; }
.t26p-report__tip .material-symbols-outlined { font-size: 20px; color: var(--t26p-gold); }
.t26p-report__stats .t26p-infocard { display: flex; align-items: center; gap: 16px; }
.t26p-report__stats .material-symbols-outlined { font-size: 30px; }
.t26p-report__stats h3 { display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 4px; }
.t26p-report__stats strong { display: block; font-size: clamp(18px, .7vw + 14px, 26px); font-weight: 700; line-height: 1.1; }
.t26p-report__stats span { display: block; font-size: 12px; color: rgba(255, 255, 255, .78); margin-top: 3px; }
@media (max-width: 900px) { .t26p-report { grid-template-columns: 1fr; } }

.t26p-cam { position: relative; }
.t26p-cam img { width: 100%; display: block; }
.t26p-cam__chip {
  position: absolute; top: 16px; left: 16px;
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(20, 24, 40, .55); color: #fff;
  padding: 7px 14px; border-radius: 999px; font-size: 13px; font-weight: 600;
  backdrop-filter: blur(4px);
}

/* --------------------------------------------------------- EVENTS / CAL */
.t26p-calbar { display: flex; align-items: center; gap: 16px; padding: clamp(20px, 2vw, 38px) 0 clamp(14px, 1.4vw, 24px); }
.t26p-calbar h2 { font-size: clamp(18px, .7vw + 14px, 26px); font-weight: 700; color: #fff; margin: 0; }
.t26p-calnav {
  width: 34px; height: 34px; flex: none; border-radius: 50%; border: 0; cursor: pointer;
  background: #fff; color: var(--t26p-blue);
  display: inline-flex; align-items: center; justify-content: center; font-size: 18px; line-height: 1;
}
.t26p-calnav:hover { background: var(--t26p-gold); color: #fff; }

.t26p-calwrap { overflow-x: auto; }
table.t26p-cal { width: 100%; min-width: 720px; border-collapse: collapse; background: #fff; }
table.t26p-cal th {
  padding: 12px 6px; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--t26p-blue); background: #e2ecfb; border: 1px solid #fff;
}
table.t26p-cal th.is-weekday { background: var(--t26p-gold); color: #fff; }
table.t26p-cal td {
  vertical-align: top; height: clamp(78px, 6.5vw, 118px); width: 14.28%;
  border: 1px solid #c9d6ef; padding: 8px 8px 10px; background: #fff;
}
table.t26p-cal td.is-weekend { background: #e2ecfb; }
table.t26p-cal td.is-today { outline: 2px solid var(--t26p-gold); outline-offset: -2px; }
.t26p-cal__num { font-size: 13px; font-weight: 700; color: var(--t26p-blue); }
.t26p-cal__ev {
  display: flex; align-items: center; gap: 5px;
  background: var(--t26p-gold); color: #fff;
  font-size: 10px; font-weight: 600; line-height: 1.2;
  padding: 4px 7px; margin-top: 6px; text-decoration: none;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.t26p-cal__ev:hover { background: #b5842f; color: #fff; }

.t26p-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: clamp(20px, 2vw, 34px) 0 clamp(24px, 2.6vw, 46px); }
.t26p-search { position: relative; flex: 0 1 320px; }
.t26p-search input {
  width: 100%; height: 44px; padding: 0 16px 0 42px;
  border: 1px solid rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .08);
  color: #fff; font: 400 14px "Montserrat", sans-serif;
}
.t26p-search input::placeholder { color: rgba(255, 255, 255, .7); }
.t26p-search .material-symbols-outlined { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); font-size: 20px; color: rgba(255, 255, 255, .8); }

/* ------------------------------------------------------- EVENT DETAIL */
.t26p-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: clamp(20px, 2vw, 34px); }
.t26p-pillbadge {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--t26p-line); background: #fff;
  padding: 9px 16px; font-size: 12px; font-weight: 600; color: var(--t26p-blue);
}
.t26p-pillbadge .material-symbols-outlined { font-size: 16px; }

.t26p-schedule { list-style: none; margin: 0; padding: 0; max-width: 900px; }
.t26p-schedule li { display: grid; grid-template-columns: 96px 26px minmax(0, 1fr); gap: 16px; align-items: start; padding: clamp(14px, 1.4vw, 26px) 0; }
.t26p-schedule__time { font-size: clamp(12px, .28vw + 11px, 15px); font-weight: 700; color: #fff; padding-top: 2px; }
.t26p-schedule__dot { width: 16px; height: 16px; border-radius: 50%; border: 3px solid #fff; background: var(--t26p-blue); box-shadow: 0 0 0 2px #fff; margin-top: 4px; }
.t26p-schedule h3 { font-size: clamp(14px, .32vw + 12px, 18px); font-weight: 700; color: #fff; margin: 0 0 6px; }
.t26p-schedule p { font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .82); margin: 0; }
@media (max-width: 620px) { .t26p-schedule li { grid-template-columns: 70px 20px minmax(0, 1fr); gap: 10px; } }

/* --------------------------------------------------------- BOOK AN EVENT */
.t26p-lodge { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .62fr); gap: clamp(20px, 2.4vw, 46px); align-items: start; }
.t26p-lodge__map { }
.t26p-lodge__map h3 { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--t26p-blue); margin: 0 0 14px; }
.t26p-lodge__map img { width: 100%; display: block; }
.t26p-capacity { background: #fff; border: 1px solid var(--t26p-line); padding: clamp(18px, 1.6vw, 30px); }
.t26p-capacity h3 { font-size: clamp(15px, .4vw + 13px, 20px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 20px; }
.t26p-capacity ol { list-style: none; margin: 0; padding: 0; counter-reset: cap; }
.t26p-capacity li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; margin: 0 0 18px; }
.t26p-capnum {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--t26p-blue);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: #fff !important;
  padding-left: 8px;
  padding-top: 4px;
}
.t26p-capacity b { display: block; font-size: 14px; font-weight: 700; color: var(--t26p-blue); }
.t26p-capacity span { display: block; font-size: 12px; color: #6b7590; }
@media (max-width: 900px) { .t26p-lodge { grid-template-columns: 1fr; } }

.t26p-venue { background: #fff; border: 1px solid var(--t26p-line); display: flex; flex-direction: column; }
.t26p-venue__media { aspect-ratio: 16 / 10; overflow: hidden; }
.t26p-venue__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.t26p-venue__body { padding: clamp(14px, 1.2vw, 20px); }
.t26p-venue__name { font-size: 15px; font-weight: 700; color: var(--t26p-blue); margin: 0 0 8px; }
.t26p-venue__cap { display: flex; align-items: center; gap: 7px; font-size: 12px; color: #46506e; margin: 0 0 8px; }
.t26p-venue__cap .material-symbols-outlined { font-size: 15px; }
.t26p-venue__desc { font-size: 12px; font-style: italic; color: #8089a3; margin: 0; }

.t26p-contactbar {
  display: flex; align-items: center; justify-content: center;
  background: var(--t26p-blue); color: #fff; text-decoration: none;
  padding: clamp(16px, 1.5vw, 24px); margin-top: clamp(16px, 1.6vw, 28px);
  font-size: clamp(14px, .32vw + 12px, 18px); font-weight: 700;
}
.t26p-contactbar:hover { background: #041f9c; color: #fff; }

.t26p-proposal { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.15fr); gap: clamp(20px, 2.4vw, 44px); align-items: stretch; }
.t26p-proposal__photo { position: relative; overflow: hidden; min-height: 340px; }
.t26p-proposal__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.t26p-form { background: var(--t26p-paper); border: 1px solid var(--t26p-line); padding: clamp(20px, 2vw, 38px); }
.t26p-form h2 { font-size: clamp(20px, .9vw + 16px, 30px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 24px; }
.t26p-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.t26p-form label { display: block; font-size: 13px; font-weight: 700; color: var(--t26p-blue); margin-bottom: 7px; }
.t26p-form .t26p-field--wide { grid-column: 1 / -1; }
.t26p-form input[type="text"],
.t26p-form input[type="email"],
.t26p-form input[type="tel"],
.t26p-form input[type="date"],
.t26p-form input[type="number"],
.t26p-form select,
.t26p-form textarea {
  width: 100%; padding: 12px 14px;
  border: 1px solid var(--t26p-line); background: #fff;
  font: 400 14px "Montserrat", sans-serif; color: var(--t26p-ink);
}
.t26p-form textarea { min-height: 96px; resize: vertical; }
.t26p-form input:focus, .t26p-form select:focus, .t26p-form textarea:focus { outline: 2px solid var(--t26p-blue); outline-offset: -1px; }
.t26p-form__check { display: flex; align-items: center; gap: 10px; margin: 18px 0; font-size: 13px; color: var(--t26p-ink); }
.t26p-form__check input { width: 18px; height: 18px; accent-color: var(--t26p-gold); }
.t26p-form__foot { font-size: 12px; color: #6b7590; margin: 12px 0 0; }
@media (max-width: 900px) { .t26p-proposal { grid-template-columns: 1fr; } .t26p-form__grid { grid-template-columns: 1fr; } }

.t26p-gallery2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.5vw, 28px); }
.t26p-gallery2 img { width: 100%; display: block; }
.t26p-gallery3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.5vw, 28px); }
.t26p-gallery3 img { width: 100%; display: block; aspect-ratio: 3 / 2; object-fit: cover; }
@media (max-width: 760px) { .t26p-gallery2, .t26p-gallery3 { grid-template-columns: 1fr; } }

/* hero CTA row (Plan Your Visit) */
.t26p-hero__ctas { display: flex; flex-wrap: wrap; gap: clamp(8px, .9vw, 16px); justify-content: flex-end; }
@media (max-width: 700px) { .t26p-hero__ctas { justify-content: flex-start; } }

/* dash / tick inside the white rental card */
.t26p-pricelist .t26p-no { color: #8089a3; font-weight: 400; }
.t26p-pricelist .t26p-yes svg { width: 18px; height: 18px; }

/* keep the webcam frame from collapsing before the live feed arrives */
.t26p-cam { display: block; background: #0a2287; aspect-ratio: 16 / 9; overflow: hidden; }
.t26p-cam img { width: 100%; height: 100%; object-fit: cover; }

/* event heroes run over a portrait poster — darken the side the title sits on */
.t26p-hero--poster::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .74) 0%, rgba(0, 0, 0, .46) 42%, rgba(0, 0, 0, .12) 78%),
    linear-gradient(180deg, rgba(2, 22, 117, .3) 0%, rgba(0, 0, 0, .1) 45%, rgba(0, 0, 0, .5) 100%);
}

/* "Know Before You Go" photo fills the column beside the list */
.t26p-kbyg > img { height: 100%; object-fit: cover; min-height: 340px; }


/* ---------------------------------------------------- HEADER CONSISTENCY */
/* martock.css positions the current-page underline absolutely on a static
   link, so it stretched across the whole header card on every subpage.
   The header now reads identically on every page, homepage included. */
.m-nav__list > li.is-current > a::after { display: none !important; }

/* --------------------------------------------------------- SCROLL CUE */
.t26p-hero__scroll {
  position: absolute;
  left: 50%;
  bottom: clamp(18px, 2.2vw, 34px);
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: #fff;
  font: 700 10px/1 "Montserrat", sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none;
  opacity: .9;
  transition: opacity .2s;
}
.t26p-hero__scroll:hover { opacity: 1; color: #fff; }
.t26p-hero__scroll span { text-shadow: 0 1px 10px rgba(0, 0, 0, .45); }
.t26p-hero__mouse {
  width: 26px;
  height: 42px;
  border: 2px solid rgba(255, 255, 255, .9);
  border-radius: 14px;
  position: relative;
}
.t26p-hero__mouse::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 8px;
  width: 4px;
  height: 8px;
  margin-left: -2px;
  border-radius: 2px;
  background: #fff;
  animation: t26p-wheel 1.8s cubic-bezier(.4, 0, .2, 1) infinite;
}
.t26p-hero__chev {
  display: block;
  width: 11px;
  height: 11px;
  border-right: 2px solid rgba(255, 255, 255, .9);
  border-bottom: 2px solid rgba(255, 255, 255, .9);
  transform: rotate(45deg);
  animation: t26p-chev 1.8s ease-in-out infinite;
}
@keyframes t26p-wheel {
  0%   { transform: translateY(0);    opacity: 1; }
  70%  { transform: translateY(14px); opacity: 0; }
  100% { transform: translateY(0);    opacity: 0; }
}
@keyframes t26p-chev {
  0%, 100% { transform: rotate(45deg) translate(0, 0);     opacity: .45; }
  50%      { transform: rotate(45deg) translate(3px, 3px); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .t26p-hero__mouse::after, .t26p-hero__chev { animation: none; }
}

/* ------------------------------------------------ WHY LEARN AT MARTOCK */
.t26p-why { position: relative; overflow: hidden; padding-bottom: 0; }
.t26p-why .t26-container { position: relative; }
.t26p-why .t26p-split { position: relative; z-index: 1; align-items: start; }
.t26p-why .t26p-split img { max-height: 420px; object-fit: cover; }
.t26p-why .t26p-checks li { font-size: clamp(13px, .28vw + 12px, 15px); margin-bottom: 14px; }
.t26p-why .t26p-porcupine {
  position: relative;
  z-index: 0;
  width: min(520px, 46%);
  margin: clamp(-90px, -6vw, -30px) 0 0 clamp(0px, 6vw, 120px);
  mix-blend-mode: multiply;   /* the mascot ships on white — drop the box */
}
@media (max-width: 900px) {
  .t26p-why .t26p-porcupine { width: min(360px, 70%); margin-left: 0; margin-top: 12px; }
}

/* ---------------------------------------- SHOP · PASS COMPARISON PANEL */
/* The table sits in a left-hand panel so the photo behind stays readable. */
.t26p-compare { max-width: min(100%, 980px); }
.t26p-compare .t26p-tablebox { box-shadow: 0 30px 70px -34px rgba(0, 0, 0, .6); }
@media (min-width: 1400px) { .t26p-compare { max-width: 64%; } }


/* ------------------------------------------------- DOCKED HEADER (scrolled) */
/* Once the bar re-enters on scroll it collapses to the nav row only. */
.mk-hd.is-docked .mk-hd__info { display: none; }
.mk-hd.is-docked .m-mainmenu__inner { min-height: 84px; padding-top: 5px; }
.mk-hd.is-docked .m-brand__logo,
.mk-hd.is-docked .m-brand img { width: 89px; height: auto; margin-top: -3px; }

/* ------------------------------------------------------- CAROUSEL ARROWS */
/* Paired round buttons beside a section title: outlined prev, filled next. */
.t26p-railnav { display: flex; align-items: center; gap: 8px; margin-bottom: clamp(22px, 2vw, 38px); }
.t26p-railnav__btn {
  width: clamp(40px, 2.6vw, 48px);
  height: clamp(40px, 2.6vw, 48px);
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  transition: background .18s, color .18s, border-color .18s, opacity .18s;
}
.t26p-railnav__btn--prev { background: #fff; border: 1px solid var(--t26p-blue); color: var(--t26p-blue); }
.t26p-railnav__btn--prev:hover { background: var(--t26p-blue); color: #fff; }
.t26p-railnav__btn--next { background: var(--t26p-blue); border: 1px solid var(--t26p-blue); color: #fff; }
.t26p-railnav__btn--next:hover { background: #041f9c; }
.t26p-railnav__btn.swiper-button-disabled { opacity: .35; cursor: default; }
.t26p-sec--blue .t26p-railnav__btn--prev { background: transparent; border-color: #fff; color: #fff; }
.t26p-sec--blue .t26p-railnav__btn--prev:hover { background: #fff; color: var(--t26p-blue); }
.t26p-sec--blue .t26p-railnav__btn--next { background: #fff; border-color: #fff; color: var(--t26p-blue); }

.t26p-rail .swiper { overflow: hidden; }
.t26p-rail .swiper-slide { height: auto; display: flex; }
.t26p-rail .swiper-slide > * { width: 100%; }

/* ============================ SQUARE CORNERS (generated) */
/* zero the shared radius tokens so anything reading them squares off too */
:root { --t26-radius-card: 0px; --t26-radius-btn: 0px; }
/* Buttons, cards, inputs, the header card and the footer all sit on
   square corners. Circles (arrows, dots, trail symbols) are exempt. */
.btn { border-radius: 0 !important; }
.swiper-pagination-bullet { border-radius: 0 !important; }
.m-mainmenu__burger span { border-radius: 0 !important; }
.m-nav { border-radius: 0 !important; }
.m-nav__list > li > a { border-radius: 0 !important; }
.m-nav__list > li.has-sub .mega { border-radius: 0 !important; }
.m-team__pagination .swiper-pagination-bullet-active { border-radius: 0 !important; }
.mk-hd .m-mainmenu { border-radius: 0 !important; }
.mk-hd__ci { border-radius: 0 !important; }
.mk-hd .m-nav__list > li.has-sub .mega { border-radius: 0 !important; }
.mk-hd .mega__banner { border-radius: 0 !important; }
.mk-hd__report { border-radius: 0 !important; }
.mk-hd__cond .mk-unit { border-radius: 0 !important; }
.mk-search__panel { border-radius: 0 !important; }
.mk-hd .m-hotnews { border-radius: 0 !important; }
.cond-tile { border-radius: 0 !important; }
.m-social__card { border-radius: 0 !important; }
.t26-btn { border-radius: 0 !important; }
.t26-btn--ghost { border-radius: 0 !important; }
.t26-pill { border-radius: 0 !important; }
.mega__map { border-radius: 0 !important; }
.mk-hd__cta.btn { border-radius: 0 !important; }
.m-hotnews { border-radius: 0 !important; }
.mk-hd__cond { border-radius: 0 !important; }
.t26-hero__scrolldown { border-radius: 0 !important; }
.t26-hero__scrolldown::after { border-radius: 0 !important; }
.t26-evcard { border-radius: 0 !important; }
.t26-actcard { border-radius: 0 !important; }
.t26-cond__cam { border-radius: 0 !important; }
.t26-tile { border-radius: 0 !important; }
.newsletter { border-radius: 0 !important; }
.newsletter button { border-radius: 0 !important; }
.footer-socials a { border-radius: 0 !important; }
.t26p-badge--inter { border-radius: 0 !important; }

/* --------------------------------------------------------- MARTOCK TODAY */
.t26p-today { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(24px, 3vw, 60px); align-items: center; }
.t26p-today > img { width: 100%; display: block; }
.t26p-today__body .t26p-h2 { margin-bottom: clamp(18px, 1.8vw, 30px); }
.t26p-today__list { list-style: none; margin: 0; padding: 0; }
.t26p-today__list li {
  display: flex;
  align-items: flex-start;
  gap: clamp(14px, 1.4vw, 24px);
  background: #fff;
  padding: clamp(14px, 1.3vw, 22px) clamp(16px, 1.5vw, 26px);
  margin: 0 0 clamp(10px, 1vw, 16px);
}
.t26p-today__list .material-symbols-outlined { font-size: 26px; color: var(--t26p-blue); flex: none; font-variation-settings: 'FILL' 1; }
.t26p-today__list h3 { font-size: clamp(14px, .32vw + 12px, 17px); font-weight: 700; color: var(--t26p-blue); margin: 0 0 5px; }
.t26p-today__list p { font-size: clamp(12px, .25vw + 11px, 14px); line-height: 1.45; color: #46506e; margin: 0; }
@media (max-width: 900px) { .t26p-today { grid-template-columns: 1fr; } }
