.elementor-kit-11{--e-global-color-secondary:#24400E;--e-global-color-primary:#757575;--e-global-color-text:#FFFFFF;--e-global-color-accent:#FFFFFF2B;--e-global-color-1b70364:#FFFFFF99;--e-global-color-d49ac81:#F8A00F;--e-global-color-332724a:#8DC63E;--e-global-color-4d462f5:#D6D6D6;--e-global-color-cfa1f76:#F6F6F6;--e-global-color-7fbea4f:#FAE9C6;--e-global-color-c94d9ab:#315813;--e-global-color-044b931:#24400E;--e-global-color-638d055:#000000;--e-global-color-ec3c7a7:#F8A00F;--e-global-color-3ee16e7:#8DC63E;--e-global-color-a37a405:#FA5219;--e-global-typography-primary-font-family:"Saira";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:-2px;--e-global-typography-secondary-font-family:"Saira";--e-global-typography-secondary-font-size:39px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:-1px;--e-global-typography-text-font-family:"Golos Text";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4em;--e-global-typography-accent-font-family:"Saira";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-b2ce6af-font-family:"Golos Text";--e-global-typography-b2ce6af-font-size:16px;--e-global-typography-b2ce6af-font-weight:400;--e-global-typography-b2ce6af-text-transform:none;--e-global-typography-b2ce6af-font-style:normal;--e-global-typography-b2ce6af-line-height:1.4em;--e-global-typography-69c152f-font-family:"Golos Text";--e-global-typography-69c152f-font-size:14px;--e-global-typography-69c152f-font-weight:400;--e-global-typography-69c152f-line-height:1.4em;--e-global-typography-112b6c4-font-family:"Golos Text";--e-global-typography-112b6c4-font-size:13px;--e-global-typography-112b6c4-line-height:1.5em;--e-global-typography-520c191-font-family:"Saira";--e-global-typography-520c191-font-size:16px;--e-global-typography-520c191-font-weight:600;--e-global-typography-520c191-line-height:1.5em;--e-global-typography-a435f28-font-family:"Saira";--e-global-typography-a435f28-font-size:94px;--e-global-typography-a435f28-font-weight:700;--e-global-typography-a435f28-text-transform:uppercase;--e-global-typography-a435f28-line-height:1em;--e-global-typography-a435f28-letter-spacing:-2px;--e-global-typography-583e54c-font-family:"Saira";--e-global-typography-583e54c-font-size:48px;--e-global-typography-583e54c-font-weight:700;--e-global-typography-583e54c-line-height:1.2em;--e-global-typography-583e54c-letter-spacing:-2px;--e-global-typography-5d167aa-font-family:"Saira";--e-global-typography-5d167aa-font-size:39px;--e-global-typography-5d167aa-font-weight:700;--e-global-typography-5d167aa-line-height:1.2em;--e-global-typography-5d167aa-letter-spacing:-1px;--e-global-typography-d3dae9a-font-family:"Saira";--e-global-typography-d3dae9a-font-size:31px;--e-global-typography-d3dae9a-font-weight:600;--e-global-typography-d3dae9a-font-style:normal;--e-global-typography-d3dae9a-line-height:1.3em;--e-global-typography-83682a1-font-family:"Saira";--e-global-typography-83682a1-font-size:25px;--e-global-typography-83682a1-font-weight:400;--e-global-typography-83682a1-text-transform:none;--e-global-typography-83682a1-font-style:normal;--e-global-typography-83682a1-line-height:1.3em;--e-global-typography-7044a64-font-family:"Saira";--e-global-typography-7044a64-font-size:20px;--e-global-typography-7044a64-font-weight:600;--e-global-typography-7044a64-line-height:1.4em;--e-global-typography-84ca66e-font-family:"Saira";--e-global-typography-84ca66e-font-size:14px;--e-global-typography-84ca66e-font-weight:500;--e-global-typography-84ca66e-text-transform:uppercase;color:var( --e-global-color-primary );font-family:var( --e-global-typography-b2ce6af-font-family ), Sans-serif;font-size:var( --e-global-typography-b2ce6af-font-size );font-weight:var( --e-global-typography-b2ce6af-font-weight );text-transform:var( --e-global-typography-b2ce6af-text-transform );font-style:var( --e-global-typography-b2ce6af-font-style );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{background-color:var( --e-global-color-d49ac81 );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-text );border-style:solid;border-width:0px 0px 0px 0px;border-color:var( --e-global-color-d49ac81 );border-radius:4px 4px 4px 4px;}.elementor-kit-11 button:hover,.elementor-kit-11 button:focus,.elementor-kit-11 input[type="button"]:hover,.elementor-kit-11 input[type="button"]:focus,.elementor-kit-11 input[type="submit"]:hover,.elementor-kit-11 input[type="submit"]:focus,.elementor-kit-11 .elementor-button:hover,.elementor-kit-11 .elementor-button:focus{background-color:var( --e-global-color-332724a );color:var( --e-global-color-secondary );border-style:solid;border-width:0px 0px 0px 0px;border-color:var( --e-global-color-332724a );}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}.elementor-kit-11 a{color:var( --e-global-color-primary );}.elementor-kit-11 a:hover{color:var( --e-global-color-d49ac81 );}.elementor-kit-11 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-583e54c-font-family ), Sans-serif;font-size:var( --e-global-typography-583e54c-font-size );font-weight:var( --e-global-typography-583e54c-font-weight );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );}.elementor-kit-11 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-5d167aa-font-family ), Sans-serif;font-size:var( --e-global-typography-5d167aa-font-size );font-weight:var( --e-global-typography-5d167aa-font-weight );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );}.elementor-kit-11 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-d3dae9a-font-family ), Sans-serif;font-size:var( --e-global-typography-d3dae9a-font-size );font-weight:var( --e-global-typography-d3dae9a-font-weight );font-style:var( --e-global-typography-d3dae9a-font-style );line-height:var( --e-global-typography-d3dae9a-line-height );}.elementor-kit-11 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-83682a1-font-family ), Sans-serif;font-size:var( --e-global-typography-83682a1-font-size );font-weight:var( --e-global-typography-83682a1-font-weight );text-transform:var( --e-global-typography-83682a1-text-transform );font-style:var( --e-global-typography-83682a1-font-style );line-height:var( --e-global-typography-83682a1-line-height );}.elementor-kit-11 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-7044a64-font-family ), Sans-serif;font-size:var( --e-global-typography-7044a64-font-size );font-weight:var( --e-global-typography-7044a64-font-weight );line-height:var( --e-global-typography-7044a64-line-height );}.elementor-kit-11 h6{color:var( --e-global-color-d49ac81 );font-family:var( --e-global-typography-84ca66e-font-family ), Sans-serif;font-size:var( --e-global-typography-84ca66e-font-size );font-weight:var( --e-global-typography-84ca66e-font-weight );text-transform:var( --e-global-typography-84ca66e-text-transform );line-height:var( --e-global-typography-84ca66e-line-height );}.elementor-kit-11 label{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-520c191-font-family ), Sans-serif;font-size:var( --e-global-typography-520c191-font-size );font-weight:var( --e-global-typography-520c191-font-weight );line-height:var( --e-global-typography-520c191-line-height );}.elementor-kit-11 input:not([type="button"]):not([type="submit"]),.elementor-kit-11 textarea,.elementor-kit-11 .elementor-field-textual{font-family:var( --e-global-typography-b2ce6af-font-family ), Sans-serif;font-size:var( --e-global-typography-b2ce6af-font-size );font-weight:var( --e-global-typography-b2ce6af-font-weight );text-transform:var( --e-global-typography-b2ce6af-text-transform );font-style:var( --e-global-typography-b2ce6af-font-style );line-height:var( --e-global-typography-b2ce6af-line-height );color:var( --e-global-color-primary );background-color:var( --e-global-color-cfa1f76 );box-shadow:0px 1px 2px 0px rgba(0, 0, 0, 0.1) inset;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-4d462f5 );border-radius:4px 4px 4px 4px;}.elementor-kit-11 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-11 textarea:focus,.elementor-kit-11 .elementor-field-textual:focus{color:var( --e-global-color-primary );background-color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-d49ac81 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-11{--e-global-typography-primary-font-size:37px;--e-global-typography-secondary-font-size:31px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:13px;--e-global-typography-b2ce6af-font-size:15px;--e-global-typography-69c152f-font-size:13px;--e-global-typography-112b6c4-font-size:12px;--e-global-typography-520c191-font-size:16px;--e-global-typography-a435f28-font-size:85px;--e-global-typography-583e54c-font-size:37px;--e-global-typography-5d167aa-font-size:31px;--e-global-typography-d3dae9a-font-size:25px;--e-global-typography-83682a1-font-size:21px;--e-global-typography-7044a64-font-size:18px;--e-global-typography-84ca66e-font-size:13px;font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-kit-11 h1{font-size:var( --e-global-typography-583e54c-font-size );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );}.elementor-kit-11 h2{font-size:var( --e-global-typography-5d167aa-font-size );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );}.elementor-kit-11 h3{font-size:var( --e-global-typography-d3dae9a-font-size );line-height:var( --e-global-typography-d3dae9a-line-height );}.elementor-kit-11 h4{font-size:var( --e-global-typography-83682a1-font-size );line-height:var( --e-global-typography-83682a1-line-height );}.elementor-kit-11 h5{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );}.elementor-kit-11 h6{font-size:var( --e-global-typography-84ca66e-font-size );line-height:var( --e-global-typography-84ca66e-line-height );}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-11 label{font-size:var( --e-global-typography-520c191-font-size );line-height:var( --e-global-typography-520c191-line-height );}.elementor-kit-11 input:not([type="button"]):not([type="submit"]),.elementor-kit-11 textarea,.elementor-kit-11 .elementor-field-textual{font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-11{--e-global-typography-primary-font-size:30px;--e-global-typography-secondary-font-size:24px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:12px;--e-global-typography-b2ce6af-font-size:14px;--e-global-typography-69c152f-font-size:12px;--e-global-typography-112b6c4-font-size:11px;--e-global-typography-520c191-font-size:15px;--e-global-typography-a435f28-font-size:45px;--e-global-typography-583e54c-font-size:30px;--e-global-typography-5d167aa-font-size:24px;--e-global-typography-d3dae9a-font-size:20px;--e-global-typography-83682a1-font-size:18px;--e-global-typography-7044a64-font-size:16px;--e-global-typography-84ca66e-font-size:12px;font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-kit-11 h1{font-size:var( --e-global-typography-583e54c-font-size );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );}.elementor-kit-11 h2{font-size:var( --e-global-typography-5d167aa-font-size );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );}.elementor-kit-11 h3{font-size:var( --e-global-typography-d3dae9a-font-size );line-height:var( --e-global-typography-d3dae9a-line-height );}.elementor-kit-11 h4{font-size:var( --e-global-typography-83682a1-font-size );line-height:var( --e-global-typography-83682a1-line-height );}.elementor-kit-11 h5{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );}.elementor-kit-11 h6{font-size:var( --e-global-typography-84ca66e-font-size );line-height:var( --e-global-typography-84ca66e-line-height );}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-11 label{font-size:var( --e-global-typography-520c191-font-size );line-height:var( --e-global-typography-520c191-line-height );}.elementor-kit-11 input:not([type="button"]):not([type="submit"]),.elementor-kit-11 textarea,.elementor-kit-11 .elementor-field-textual{font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//*
 * Trail Running Planet — Route Page Custom Styles
 * Version: 1.1  (layout fixes — e-con-inner targeting)
 *
 * Load via child theme functions.php:
 *   wp_enqueue_style( 'trp-route', get_stylesheet_directory_uri() . '/trp-route-styles.css' );
 *
 * Fonts: Saira (700/800) + Golos Text (400/600) via Google Fonts or theme
 */

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --trp-heading:  #24400E;
  --trp-smooth:   #315813;
  --trp-dark:     #1A2E07;
  --trp-text:     #4A4A4A;
  --trp-muted:    #757575;
  --trp-white:    #FFFFFF;
  --trp-amber:    #F8A00F;
  --trp-lime:     #8DC63E;
  --trp-orange:   #FA5219;
  --trp-light-bg: #F6F6F6;
  --trp-warm-bg:  #FAE9C6;
  --trp-line:     #D6D6D6;
  --trp-radius:   8px;
  --trp-max-w:    1100px;
}

/* ============================================================
   SECTION 1 — HERO
   ============================================================ */
.trp-hero-section {
  position: relative;
  min-height: 480px;
}

/* Gradient overlay sits over the Featured Image background */
.trp-hero-overlay {
  background: linear-gradient(
    to bottom,
    rgba(26,46,7,.10) 0%,
    rgba(26,46,7,.55) 55%,
    rgba(26,46,7,.92) 100%
  ) !important;
  width: 100%;
  min-height: 480px;
}

.trp-hero-content {
  width: 100%;
  max-width: var(--trp-max-w);
  margin: 0 auto;
}

/* ---- Hero chips (taxonomy pills) ----
   NOTE: Elementor drops css_classes from widget elements on import.
   We target the widgets by structure + taxonomy URL in the link href.
   ---- */

/* Reset the chips container inner */
.trp-hero-chips > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding-bottom: 14px;
  align-items: center;
}

/* Base chip — every Text Editor widget in the chips row */
.trp-hero-chips > .e-con-inner > .elementor-widget {
  width: auto !important;
  flex: 0 0 auto !important;
  padding: 4px 12px;
  border-radius: 20px;
  border: 1.5px solid rgba(255,255,255,.35);
  display: inline-flex !important;
  align-items: center;
}

.trp-hero-chips > .e-con-inner > .elementor-widget a,
.trp-hero-chips > .e-con-inner > .elementor-widget p {
  font-family: 'Saira', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(255,255,255,.9) !important;
  text-decoration: none !important;
  margin: 0 !important;
  white-space: nowrap;
  line-height: 1 !important;
}

/* Region chip — lime */
.trp-hero-chips > .e-con-inner > .elementor-widget:has(a[href*="/route-region/"]) {
  background: rgba(141,198,62,.2);
  border-color: var(--trp-lime);
}
.trp-hero-chips > .e-con-inner > .elementor-widget:has(a[href*="/route-region/"]) a {
  color: var(--trp-lime) !important;
}

/* Difficulty chip — amber */
.trp-hero-chips > .e-con-inner > .elementor-widget:has(a[href*="/route-difficulty/"]) {
  background: rgba(248,160,15,.2);
  border-color: var(--trp-amber);
}
.trp-hero-chips > .e-con-inner > .elementor-widget:has(a[href*="/route-difficulty/"]) a {
  color: var(--trp-amber) !important;
}

/* Hero H1 */
.trp-hero-title .elementor-heading-title {
  font-family: 'Saira', sans-serif !important;
  font-size: 52px !important;
  font-weight: 800 !important;
  color: var(--trp-white) !important;
  line-height: 1.1 !important;
  letter-spacing: -2px;
  margin-bottom: 14px;
  max-width: 680px;
}

/* Hero summary */
.trp-hero-summary,
.trp-hero-summary p {
  font-size: 16px !important;
  color: rgba(255,255,255,.82) !important;
  line-height: 1.55 !important;
  max-width: 560px;
  margin-bottom: 0 !important;
}

/* ============================================================
   SECTION 2 — QUICK STATS BAR
   ============================================================ */
.trp-stats-bar {
  background: var(--trp-white);
  border-bottom: 3px solid var(--trp-amber);
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
}

/* Force the stats inner row to fill the container */
.trp-stats-inner {
  max-width: var(--trp-max-w);
  margin: 0 auto;
  width: 100%;
}

/* Dual rule: e-con-full has no inner wrapper; e-con-boxed does */
.trp-stats-inner,
.trp-stats-inner > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100%;
}

/* Each stat card — covers both wrapper patterns */
.trp-stats-inner > .e-con,
.trp-stats-inner > .e-con-inner > .e-con {
  flex: 1 !important;
  border-right: 1px solid var(--trp-line);
  min-width: 0;
}
.trp-stats-inner > .e-con:last-child,
.trp-stats-inner > .e-con-inner > .e-con:last-child {
  border-right: none;
}

.trp-stat-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px 16px;
  text-align: center;
}

/* Icon */
.trp-stat-card .elementor-icon i {
  font-size: 28px;
  color: var(--trp-heading);
  opacity: .75;
  margin-bottom: 6px;
}

/* Value heading */
.trp-stat-card .trp-stat-value .elementor-heading-title,
.trp-stat-card .trp-stat-value p,
.trp-stat-card .trp-stat-value a {
  font-family: 'Saira', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--trp-heading) !important;
  letter-spacing: -.5px;
  line-height: 1;
  margin: 0 !important;
  text-decoration: none !important;
}

/* Label text */
.trp-stat-card .trp-stat-label,
.trp-stat-card .trp-stat-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--trp-muted) !important;
  margin-top: 3px !important;
  margin-bottom: 0 !important;
}

/* Difficulty card highlight */
.trp-stat-difficulty {
  background: linear-gradient(135deg, rgba(141,198,62,.06), rgba(141,198,62,.12)) !important;
}
.trp-stat-difficulty .trp-stat-value .elementor-heading-title,
.trp-stat-difficulty .trp-stat-value p,
.trp-stat-difficulty .trp-stat-value a {
  color: var(--trp-smooth) !important;
  font-size: 18px !important;
}

/* ============================================================
   SECTION 3 — CTA BAR
   ============================================================ */
.trp-cta-bar {
  background: var(--trp-warm-bg);
  border-bottom: 1px solid rgba(248,160,15,.25);
}

.trp-cta-inner {
  max-width: var(--trp-max-w);
  margin: 0 auto;
}

/* Dual rule: e-con-full (no inner wrapper) + e-con-boxed (has inner wrapper) */
.trp-cta-inner,
.trp-cta-inner > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px;
}

.trp-cta-label,
.trp-cta-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--trp-heading) !important;
  opacity: .75;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 !important;
}

/* Buttons CTA row */
.trp-cta-btns > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* Primary button */
.trp-btn-primary .elementor-button {
  font-family: 'Saira', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  background-color: var(--trp-amber) !important;
  color: var(--trp-heading) !important;
  border-radius: var(--trp-radius) !important;
  box-shadow: 0 2px 8px rgba(248,160,15,.35) !important;
  letter-spacing: -.01em;
  padding: 11px 24px !important;
  border: none !important;
  transition: background .2s;
}
.trp-btn-primary .elementor-button:hover {
  background-color: #e0920a !important;
}

/* Secondary button */
.trp-btn-secondary .elementor-button {
  font-family: 'Saira', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  background-color: var(--trp-white) !important;
  color: var(--trp-heading) !important;
  border: 2px solid var(--trp-heading) !important;
  border-radius: var(--trp-radius) !important;
  letter-spacing: -.01em;
  padding: 10px 22px !important;
  transition: background .2s, color .2s;
}
.trp-btn-secondary .elementor-button:hover {
  background-color: var(--trp-heading) !important;
  color: var(--trp-white) !important;
}

/* ============================================================
   SECTION 4 — MAP
   NOTE: Use a Shortcode widget with [trp_map] — see trp-map-snippet.php
   ============================================================ */
.trp-map-section {
  background: var(--trp-light-bg);
}

.trp-map-heading .elementor-heading-title {
  font-family: 'Saira', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--trp-heading) !important;
  letter-spacing: -.5px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.trp-map-heading .elementor-heading-title::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 26px;
  background: var(--trp-amber);
  border-radius: 2px;
  flex-shrink: 0;
}

.trp-map-embed {
  border-radius: var(--trp-radius);
  overflow: hidden;
  min-height: 320px;
}

/* Ensure Waymark map fills the container */
.trp-map-embed .waymark-map,
.trp-map-embed .waymark-map-wrapper,
.trp-map-embed [id^="waymark-map"] {
  width: 100% !important;
  border-radius: var(--trp-radius);
}

/* ============================================================
   CONTENT HEADING — shared amber-bar heading style
   ============================================================ */
.trp-content-heading .elementor-heading-title {
  font-family: 'Saira', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--trp-heading) !important;
  letter-spacing: -.5px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.trp-content-heading .elementor-heading-title::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 26px;
  background: var(--trp-amber);
  border-radius: 2px;
  flex-shrink: 0;
}

/* Body text */
.trp-body-text,
.trp-body-text p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--trp-text) !important;
}

/* ============================================================
   SECTION 5 — ROUTE OVERVIEW  (two-col layout)
   ============================================================ */
.trp-overview-section {
  background: var(--trp-white);
}

/* Two-col grid — dual rule covers both e-con-full (no inner wrapper) and
   e-con-boxed (has inner wrapper). Elementor renders either depending on
   the "Content Width" setting in the container. */
.trp-two-col,
.trp-two-col > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  gap: 32px !important;
  align-items: start !important;
  flex-direction: unset !important;
}

/* Reset Elementor's default flex sizing on grid children */
.trp-two-col > .e-con,
.trp-two-col > .elementor-widget,
.trp-two-col > .e-con-inner > .e-con,
.trp-two-col > .e-con-inner > .elementor-widget {
  width: 100% !important;
  flex: none !important;
  min-width: 0 !important;
}

/* Aside sidebar boxes */
.trp-aside-features {
  background: var(--trp-warm-bg);
  border: 1px solid rgba(248,160,15,.3);
  border-radius: var(--trp-radius);
  padding: 18px;
  margin-bottom: 14px;
}

.trp-features-label,
.trp-features-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--trp-amber) !important;
  margin-bottom: 10px !important;
}

/* Route feature taxonomy chips (Post Terms widget) */
.trp-feature-chips .elementor-post-info__terms-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.trp-feature-chips .elementor-post-info__terms-list-item {
  display: inline-block;
}
.trp-feature-chips .elementor-post-info__terms-list a {
  font-family: 'Saira', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  background: var(--trp-amber);
  color: var(--trp-heading) !important;
  text-decoration: none !important;
}

/* At a glance box */
.trp-aside-glance {
  background: var(--trp-light-bg);
  border: 1px solid var(--trp-line);
  border-radius: var(--trp-radius);
  padding: 18px;
}
.trp-aside-glance,
.trp-aside-glance p {
  font-size: 13px !important;
  line-height: 2 !important;
  color: var(--trp-text) !important;
}

/* ============================================================
   SECTION 6 — START & ACCESS
   KEY FIX: target .e-con-inner for the 2-column grid
   ============================================================ */
.trp-access-section {
  background: var(--trp-light-bg);
}

.trp-access-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  flex-direction: unset !important;
}

/* Reset Elementor sizing on grid children */
.trp-access-grid > .e-con-inner > .e-con {
  width: 100% !important;
  flex: none !important;
  min-width: 0 !important;
}

/* Access item card */
.trp-access-item {
  background: var(--trp-white);
  border-radius: var(--trp-radius);
  border: 1px solid var(--trp-line);
}

.trp-access-item > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 14px 16px !important;
}

/* Icon wrapper */
.trp-access-icon {
  min-width: 36px;
}

.trp-access-icon > .e-con-inner {
  width: 36px !important;
  height: 36px !important;
  background: var(--trp-warm-bg) !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.trp-access-icon .elementor-icon i {
  font-size: 16px;
  color: var(--trp-heading);
}

.trp-access-label,
.trp-access-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--trp-muted) !important;
  margin-bottom: 2px !important;
  margin-top: 0 !important;
}

.trp-access-value,
.trp-access-value p {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--trp-heading) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.trp-access-sub,
.trp-access-sub p {
  font-size: 12px !important;
  color: var(--trp-muted) !important;
  margin-top: 2px !important;
  margin-bottom: 0 !important;
}

.trp-access-optional {
  opacity: .55;
}
.trp-access-optional.trp-access-item {
  border-style: dashed !important;
}

/* ============================================================
   SECTION 7 — TERRAIN & SHOE ADVICE
   KEY FIX: two-col on dark background
   ============================================================ */
.trp-terrain-section {
  background: var(--trp-heading);
}

.trp-terrain-section .trp-content-heading .elementor-heading-title {
  color: var(--trp-white) !important;
}
.trp-terrain-section .trp-content-heading .elementor-heading-title::before {
  background: var(--trp-lime);
}
.trp-terrain-section .trp-body-text,
.trp-terrain-section .trp-body-text p {
  color: rgba(255,255,255,.80) !important;
}

/* Terrain taxonomy tag pills */
.trp-terrain-tags .elementor-post-info__terms-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  list-style: none;
  padding: 0;
}
.trp-terrain-tags .elementor-post-info__terms-list a {
  font-family: 'Saira', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .06em;
  text-transform: uppercase !important;
  padding: 5px 14px !important;
  border-radius: 20px !important;
  background: rgba(141,198,62,.15);
  border: 1.5px solid var(--trp-lime) !important;
  color: var(--trp-lime) !important;
  text-decoration: none !important;
}

/* Season pills label */
.trp-seasons-label,
.trp-seasons-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.45) !important;
  margin-bottom: 4px !important;
}

/* Season output from ACF checkbox */
.trp-season-pills,
.trp-season-pills p {
  font-family: 'Saira', sans-serif !important;
  font-size: 11px !important;
  color: rgba(255,255,255,.75) !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Navigation & weather info boxes */
.trp-info-box-dark {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--trp-radius);
  padding: 18px;
}

.trp-info-box-label,
.trp-info-box-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--trp-lime) !important;
  margin-bottom: 6px !important;
}

.trp-info-box-value,
.trp-info-box-value p {
  font-family: 'Saira', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: var(--trp-amber) !important;
  margin: 6px 0 !important;
}

.trp-info-box-text,
.trp-info-box-text p {
  font-size: 13px !important;
  color: rgba(255,255,255,.65) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ============================================================
   SECTION 7 — RECOMMENDED KIT (shortcode output)
   The TRP Recommended Kit plugin outputs its own inline CSS.
   Rules here are lightweight overrides / supplements only.
   Plugin class names: .trp-kit-section, .trp-kit-grid,
     .trp-kit-card, .trp-kit-image, .trp-kit-content,
     .trp-kit-product-title, .trp-kit-intro, .trp-kit-retailer,
     .trp-kit-button, .trp-kit-title, .trp-kit-disclosure
   ============================================================ */

/* Ensure the shortcode widget spans full width in Elementor */
.elementor-widget-shortcode .trp-kit-section {
  width: 100%;
}

/* Override Elementor link colour inside cards */
.trp-kit-card a:not(.trp-kit-button) {
  color: inherit;
  text-decoration: none;
}

/* Hover border highlight — supplements plugin base border */
.trp-kit-card:hover {
  border-color: rgba(141,198,62,0.8) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}

/* ============================================================
   SECTION 8 — FOOD & FACILITIES
   KEY FIX: three-col grid must target > .e-con-inner
   ============================================================ */
.trp-facilities-section {
  background: var(--trp-white);
}

.trp-three-col > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  flex-direction: unset !important;
}

.trp-three-col > .e-con-inner > .e-con {
  width: 100% !important;
  flex: none !important;
  min-width: 0 !important;
}

/* Facility card */
.trp-facility-card {
  background: var(--trp-light-bg);
  border: 1px solid var(--trp-line);
  border-radius: var(--trp-radius);
  border-top: 3px solid var(--trp-amber);
}
.trp-facility-card > .e-con-inner {
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
}

.trp-facility-card-lime {
  border-top-color: var(--trp-lime) !important;
}

.trp-facility-icon .elementor-icon {
  font-size: 22px;
  margin-bottom: 8px;
  color: var(--trp-heading);
}

.trp-facility-label,
.trp-facility-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--trp-muted) !important;
  margin-bottom: 4px !important;
}

.trp-facility-value,
.trp-facility-value p {
  font-size: 14px !important;
  color: var(--trp-heading) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

/* ============================================================
   SECTION 9 — STEP-BY-STEP (Accordion)
   ============================================================ */
.trp-steps-section {
  background: var(--trp-light-bg);
}

.trp-steps-accordion .elementor-accordion-item {
  border: 1px solid var(--trp-line);
  border-radius: 0;
  background: var(--trp-white);
  border-bottom: none;
}
.trp-steps-accordion .elementor-accordion-item:first-child { border-radius: var(--trp-radius) var(--trp-radius) 0 0; }
.trp-steps-accordion .elementor-accordion-item:last-child {
  border-bottom: 1px solid var(--trp-line) !important;
  border-radius: 0 0 var(--trp-radius) var(--trp-radius);
}

.trp-steps-accordion .elementor-tab-title {
  padding: 14px 18px;
  background: var(--trp-white);
  border-bottom: 1px solid var(--trp-line);
}

.trp-steps-accordion .elementor-accordion-icon {
  width: 28px;
  height: 28px;
  background: var(--trp-heading);
  color: var(--trp-amber) !important;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 12px !important;
  flex-shrink: 0;
}
.trp-steps-accordion .elementor-accordion-icon i {
  color: var(--trp-amber) !important;
  font-size: 10px !important;
}

.trp-steps-accordion .elementor-tab-title a,
.trp-steps-accordion .elementor-tab-title .elementor-accordion-title {
  font-family: 'Saira', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--trp-heading) !important;
}

.trp-steps-accordion .elementor-tab-content {
  padding: 12px 18px 16px 60px !important;
  font-size: 14px;
  color: var(--trp-text);
  line-height: 1.6;
  border-bottom: none !important;
}

/* ============================================================
   SECTION 10 — SAFETY & LOCAL TIPS
   KEY FIX: two-col layout — same fix as overview section
   ============================================================ */
.trp-safety-section {
  background: var(--trp-white);
}

/* Safety alert */
.trp-safety-alert {
  background: rgba(250,82,25,.06);
  border: 1.5px solid rgba(250,82,25,.3);
  border-left: 4px solid var(--trp-orange);
  border-radius: var(--trp-radius);
  margin-bottom: 16px;
}
.trp-safety-alert > .e-con-inner {
  padding: 16px 18px !important;
  display: flex !important;
  flex-direction: column !important;
}

.trp-alert-label,
.trp-alert-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--trp-orange) !important;
  margin-bottom: 3px !important;
}

/* Weather variant */
.trp-weather-alert {
  border-left: 4px solid #e0920a;
  background: rgba(248,160,15,.05);
  border-color: rgba(248,160,15,.3) !important;
  border-left-color: #e0920a !important;
}
.trp-weather-alert .trp-alert-label,
.trp-weather-alert .trp-alert-label p {
  color: var(--trp-amber) !important;
}

/* Tip card */
.trp-tip-card {
  background: var(--trp-light-bg);
  border: 1px solid var(--trp-line);
  border-radius: var(--trp-radius);
  border-left: 4px solid var(--trp-lime);
  margin-bottom: 12px;
}
.trp-tip-card > .e-con-inner {
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
}

.trp-tip-label,
.trp-tip-label p {
  font-family: 'Saira', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--trp-smooth) !important;
  margin-bottom: 5px !important;
}

/* ============================================================
   SECTION 11 — FAQs (Accordion)
   ============================================================ */
.trp-faq-section {
  background: var(--trp-warm-bg);
}

.trp-faq-accordion .elementor-accordion-item {
  background: var(--trp-white);
  border: 1px solid rgba(248,160,15,.3);
  border-radius: var(--trp-radius);
  margin-bottom: 8px;
  overflow: hidden;
}

.trp-faq-accordion .elementor-tab-title {
  padding: 15px 18px;
}
.trp-faq-accordion .elementor-tab-title a,
.trp-faq-accordion .elementor-tab-title .elementor-accordion-title {
  font-family: 'Saira', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--trp-heading) !important;
}
.trp-faq-accordion .elementor-accordion-icon {
  width: 22px;
  height: 22px;
  background: var(--trp-amber);
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.trp-faq-accordion .elementor-accordion-icon i {
  font-size: 10px !important;
  color: var(--trp-heading) !important;
}
.trp-faq-accordion .elementor-tab-content {
  padding: 0 18px 14px !important;
  font-size: 14px;
  color: var(--trp-text);
  line-height: 1.6;
}

/* ============================================================
   SECTION 12 — RELATED ROUTES
   ============================================================ */
.trp-related-section {
  background: var(--trp-light-bg);
}

/* ============================================================
   SECTION 13 — POSTER / PRODUCT
   ============================================================ */
.trp-poster-section {
  background: linear-gradient(135deg, var(--trp-heading) 60%, var(--trp-smooth));
}

.trp-poster-eyebrow,
.trp-poster-eyebrow p {
  font-family: 'Saira', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--trp-amber) !important;
  margin-bottom: 8px !important;
}

.trp-poster-title .elementor-heading-title {
  font-family: 'Saira', sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--trp-white) !important;
  letter-spacing: -.5px;
  line-height: 1.2;
}

.trp-poster-desc,
.trp-poster-desc p {
  font-size: 14px !important;
  color: rgba(255,255,255,.75) !important;
  line-height: 1.55 !important;
  margin-bottom: 18px !important;
}

.trp-poster-thumb {
  width: 120px;
  min-width: 120px;
  height: 160px;
  border: 2px solid rgba(255,255,255,.2);
  border-radius: var(--trp-radius);
  overflow: hidden;
}
.trp-poster-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ============================================================
   SHARED UTILITIES
   ============================================================ */
.trp-section-num,
.trp-section-num p {
  font-family: 'Saira', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--trp-amber) !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 4px !important;
}

/* Repeater placeholder notice */
.trp-repeater-placeholder {
  background: rgba(248,160,15,.08);
  border: 2px dashed var(--trp-amber);
  border-radius: var(--trp-radius);
  padding: 16px;
  font-size: 12px;
  color: var(--trp-muted);
  font-style: italic;
  text-align: center;
  display: block;
  width: 100%;
}

/* ============================================================
   RESPONSIVE — TABLET (≤ 1024px)
   ============================================================ */
@media (max-width: 1024px) {

  .trp-hero-title .elementor-heading-title {
    font-size: 38px !important;
  }

  /* Two-col → single column */
  .trp-two-col,
  .trp-two-col > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  /* Stats wrap to 3 across */
  .trp-stats-inner,
  .trp-stats-inner > .e-con-inner {
    flex-wrap: wrap !important;
  }
  .trp-stats-inner > .e-con,
  .trp-stats-inner > .e-con-inner > .e-con {
    flex: 1 1 calc(33.33% - 2px) !important;
    border-bottom: 1px solid var(--trp-line);
  }

  /* Access stays 2-col but access items might need to stack */
  .trp-access-grid > .e-con-inner {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Kit grid → 2-col (plugin handles this via its own media query) */
}

/* ============================================================
   RESPONSIVE — MOBILE (≤ 767px)
   ============================================================ */
@media (max-width: 767px) {

  .trp-hero-content {
    padding: 24px 20px 28px !important;
  }
  .trp-hero-title .elementor-heading-title {
    font-size: 30px !important;
    letter-spacing: -.5px;
  }
  .trp-hero-summary,
  .trp-hero-summary p {
    font-size: 14px !important;
  }

  /* Stats → 2-col grid */
  .trp-stats-inner,
  .trp-stats-inner > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    flex-direction: unset !important;
  }
  .trp-stats-inner > .e-con,
  .trp-stats-inner > .e-con-inner > .e-con {
    flex: none !important;
    border-right: 1px solid var(--trp-line);
    border-bottom: 1px solid var(--trp-line);
  }
  .trp-stats-inner > .e-con:nth-child(2n),
  .trp-stats-inner > .e-con-inner > .e-con:nth-child(2n) {
    border-right: none;
  }

  /* CTA stack */
  .trp-cta-inner > .e-con-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .trp-cta-btns > .e-con-inner {
    flex-direction: column !important;
    width: 100%;
  }
  .trp-btn-primary,
  .trp-btn-secondary {
    width: 100%;
  }
  .trp-btn-primary .elementor-button,
  .trp-btn-secondary .elementor-button {
    width: 100%;
    justify-content: center;
  }

  /* All grids → single column */
  .trp-two-col,
  .trp-two-col > .e-con-inner,
  .trp-three-col > .e-con-inner,
  .trp-access-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .trp-poster-thumb {
    display: none;
  }

  .trp-steps-accordion .elementor-tab-content {
    padding-left: 20px !important;
  }
}/* End custom CSS */