/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://www.trailrunningplanet.com
 Description:  Child theme for Hello Elementor — Trail Running Planet
 Author:       Trail Running Planet
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  hello-elementor-child
*/

/*
  Design tokens (from homepage-design-mockup.html)
  --trp-primary:   #1B4332  deep forest green
  --trp-secondary: #C4622D  trail orange
  --trp-accent:    #E8A020  golden amber
  --trp-bg-light:  #F5F1EB  warm off-white
  --trp-bg-dark:   #0F2417  deep night green
  --trp-text:      #1A1A1A  near-black
  --trp-muted:     #6B7280  muted grey
*/

/* =====================================================
   # Featured Trail Guides — Shortcode Section
   ===================================================== */

.trp-featured-section {
    padding: 72px 0;
    background: #fff;
}

/* Section header — title left, "View All" right */
.trp-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 36px;
    gap: 16px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 40px;
}

.trp-section-header h2 {
    font-size: 34px;
    font-weight: 800;
    color: #1A1A1A;
    letter-spacing: -0.02em;
    margin: 0 0 6px;
    line-height: 1.2;
}

.trp-section-header h2 span {
    color: #1B4332;
}

.trp-section-header p {
    color: #6B7280;
    font-size: 14px;
    margin: 0;
    max-width: 400px;
}

.trp-view-all {
    color: #C4622D;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    flex-shrink: 0;
}

.trp-view-all:hover {
    color: #A84E24;
}

/* Cards grid */
.trp-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

@media (max-width: 1024px) {
    .trp-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .trp-cards-grid {
        grid-template-columns: 1fr;
    }

    .trp-section-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 0 20px;
    }

    .trp-cards-grid {
        padding: 0 20px;
    }
}

/* Individual card */
.trp-trail-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
    border: 1px solid rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
}

.trp-trail-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}

/* Card image */
.trp-card-img {
    height: 200px;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.trp-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.trp-card-img-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #2D6A4F, #1B4332);
}

/* Difficulty badge */
.trp-difficulty-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.trp-diff-easy     { background: #1B4332; color: #fff; }
.trp-diff-moderate { background: #E8A020; color: #1A1A1A; }
.trp-diff-hard     { background: #C4622D; color: #fff; }
.trp-diff-expert   { background: #7C2D12; color: #fff; }

/* Card body */
.trp-card-body {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.trp-card-meta {
    display: flex;
    gap: 16px;
    font-size: 12px;
    color: #6B7280;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.trp-card-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.trp-card-body h3 {
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #1A1A1A;
    line-height: 1.3;
}

.trp-card-body p {
    font-size: 13px;
    color: #6B7280;
    line-height: 1.5;
    margin: 0 0 16px;
    flex-grow: 1;
}

/* Terrain tags */
.trp-card-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: auto;
}

.trp-tag {
    background: #F0F4EE;
    color: #1B4332;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
}

/* Card footer */
.trp-card-footer {
    padding: 14px 20px;
    border-top: 1px solid #F0F0F0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.trp-gpx-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #1B4332;
    text-decoration: none;
    background: #F0F4EE;
    padding: 6px 12px;
    border-radius: 6px;
    transition: background 0.2s ease;
}

.trp-gpx-btn:hover {
    background: #D9EDD4;
}

.trp-read-more {
    font-size: 13px;
    font-weight: 600;
    color: #C4622D;
    text-decoration: none;
    transition: color 0.2s ease;
}

.trp-read-more:hover {
    color: #A84E24;
}

.trp-route-template{background:#F6F6F6;color:#4A4A4A;font-family:Golos Text,sans-serif}.trp-route-template .elementor-heading-title,.trp-route-template h1,.trp-route-template h2,.trp-route-template h3{font-family:Saira,sans-serif}.trp-route-template p{font-family:Golos Text,sans-serif}.trp-route-section>.elementor-container{max-width:1100px}.trp-route-section{padding:28px 40px;border-bottom:1px solid #D6D6D6}.trp-section-title .elementor-heading-title{font-size:14px;font-weight:700;color:#24400E}.trp-section-num .elementor-heading-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#F8A00F;margin-bottom:4px}.trp-content-heading .elementor-heading-title{font-size:26px;font-weight:700;color:#24400E;letter-spacing:-.5px;line-height:1.2}.trp-content-heading .elementor-heading-title:before{content:'';display:inline-block;width:4px;height:26px;background:#F8A00F;border-radius:2px;margin-right:10px;vertical-align:-5px}.trp-body-text{font-size:15px;line-height:1.7;color:#4A4A4A}
.trp-hero{min-height:480px;display:flex;align-items:flex-end;padding:0 40px 40px;background-image:linear-gradient(to bottom,rgba(26,46,7,.1),rgba(26,46,7,.55) 55%,rgba(26,46,7,.92)),url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1400&q=80');background-position:center;background-size:cover}.trp-hero>.elementor-container{align-items:flex-end}.trp-hero-chips .elementor-widget-container{display:flex;gap:8px;flex-wrap:wrap}.trp-hero-chips span{font-family:Saira,sans-serif;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:4px 12px;border-radius:20px;border:1.5px solid rgba(255,255,255,.35);color:rgba(255,255,255,.9)}.trp-hero-chips span:first-child{background:rgba(141,198,62,.2);border-color:#8DC63E;color:#8DC63E}.trp-hero-chips span:nth-child(3){background:rgba(248,160,15,.2);border-color:#F8A00F;color:#F8A00F}.trp-hero-title .elementor-heading-title{font-size:52px;font-weight:800;color:#fff;line-height:1.1;letter-spacing:-2px;max-width:680px}.trp-hero-summary{font-size:16px;color:rgba(255,255,255,.82);line-height:1.55;max-width:560px}.trp-stats{background:#fff;border-bottom:3px solid #F8A00F;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:0 40px}.trp-stat{padding:20px 16px;border-right:1px solid #D6D6D6;text-align:center}.trp-stat:last-child{border-right:none}.trp-stat-icon{color:#24400E;opacity:.75;margin-bottom:6px}.trp-stat-value .elementor-heading-title{font-size:22px;font-weight:800;color:#24400E;line-height:1}.trp-stat.trp-difficulty{background:linear-gradient(135deg,rgba(141,198,62,.06),rgba(141,198,62,.12))}.trp-stat.trp-difficulty .elementor-heading-title{color:#315813;font-size:18px}.trp-stat-label .elementor-heading-title{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#757575}
.trp-cta{background:#FAE9C6;padding:20px 40px;border-bottom:1px solid rgba(248,160,15,.25)}.trp-cta-label .elementor-heading-title{font-size:13px;font-weight:600;color:#24400E;opacity:.75;text-transform:uppercase;letter-spacing:.08em}.trp-primary a.elementor-button{background:#F8A00F;color:#24400E;border-radius:8px;padding:11px 24px;font-family:Saira,sans-serif;font-weight:700;box-shadow:0 2px 8px rgba(248,160,15,.35)}.trp-secondary a.elementor-button{background:#fff;color:#24400E;border:2px solid #24400E;border-radius:8px;padding:10px 22px;font-family:Saira,sans-serif;font-weight:700}.trp-map-frame .elementor-widget-container{height:320px;border-radius:8px;overflow:hidden;background:#cdd8c2;border:2px dashed rgba(36,64,14,.25)}.trp-map-frame iframe{width:100%;height:100%;border:0;display:block}.trp-map-fallback{display:flex;align-items:center;justify-content:center;height:320px;color:rgba(36,64,14,.6);font-family:Saira,sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0) 0,rgba(255,255,255,0) 18px,rgba(255,255,255,.18) 19px,rgba(255,255,255,.18) 20px)}
.trp-white{background:#fff}.trp-light{background:#F6F6F6}.trp-two-col>.elementor-container{display:flex;gap:32px}.trp-aside-card{background:#F6F6F6;border:1px solid #D6D6D6;border-radius:8px;padding:18px}.trp-chip-list .elementor-widget-container{display:flex;flex-wrap:wrap;gap:8px}.trp-chip-list span{display:inline-flex;padding:5px 12px;background:#FAE9C6;border-radius:20px;font-family:Saira,sans-serif;font-size:11px;font-weight:600;color:#24400E;text-transform:uppercase}.trp-tip-card{background:#fff;border-left:4px solid #8DC63E;border-radius:8px;padding:14px 16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}.trp-tip-label .elementor-heading-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#315813;font-weight:700}.trp-tip-text{font-size:13px;color:#4A4A4A;line-height:1.55}.trp-access-card{padding:6px}.trp-access-inner{background:#fff;border:1px solid #D6D6D6;border-radius:8px;padding:14px 16px}.trp-access-icon{width:36px;height:36px;background:#FAE9C6;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#24400E;font-size:16px}.trp-access-label .elementor-heading-title{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#757575}.trp-access-value .elementor-heading-title{font-size:14px;font-weight:600;color:#24400E;font-family:Golos Text,sans-serif}.trp-access-sub .elementor-heading-title{font-size:12px;color:#757575;font-family:Golos Text,sans-serif}
.trp-terrain{background:#24400E;color:#fff}.trp-terrain .trp-section-title .elementor-heading-title,.trp-terrain .trp-content-heading .elementor-heading-title,.trp-terrain .trp-kit-heading .elementor-heading-title{color:#fff}.trp-terrain .trp-content-heading .elementor-heading-title:before{background:#8DC63E}.trp-terrain .trp-body-text{color:rgba(255,255,255,.8)}.trp-terrain-tags .elementor-widget-container{display:flex;gap:8px;flex-wrap:wrap}.trp-terrain-tags span{font-family:Saira,sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 14px;border-radius:20px;background:rgba(141,198,62,.15);border:1.5px solid #8DC63E;color:#8DC63E}.trp-shoe-callout{background:#315813;border:2px solid #8DC63E;border-radius:8px;padding:18px 20px;margin-top:16px}.trp-shoe-label .elementor-heading-title{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8DC63E}.trp-shoe-badge .elementor-heading-title{display:inline-block;background:#F8A00F;color:#24400E;font-size:11px;font-weight:700;padding:4px 12px;border-radius:20px;letter-spacing:.05em}.trp-kit-heading .elementor-heading-title{font-size:24px;font-weight:700;color:#fff}.trp-kit-shortcode .elementor-widget-container{margin-top:14px}.trp-kit-preview-card{background:#315813;border:1.5px solid rgba(141,198,62,.4);border-radius:8px;overflow:hidden;margin:0 8px}.trp-kit-preview-img{height:120px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:30px}.trp-kit-preview-name .elementor-heading-title{font-size:14px;font-weight:700;color:#fff;padding:14px 14px 0}.trp-kit-preview-copy{font-size:12px;line-height:1.5;color:rgba(255,255,255,.7);padding:0 14px}.trp-kit-preview-btn a.elementor-button{margin:8px 14px 14px;background:#F8A00F;color:#24400E;border-radius:20px;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.trp-facility-card{background:#F6F6F6;border:1px solid #D6D6D6;border-top:3px solid #F8A00F;border-radius:8px;padding:16px;margin:0 8px}.trp-facility-card.trp-lime-top{border-top-color:#8DC63E}.trp-facility-icon{font-size:22px;margin-bottom:8px}.trp-facility-label .elementor-heading-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#757575}.trp-facility-value{font-size:14px;line-height:1.55;color:#24400E;font-weight:500}.trp-accordion .elementor-tab-title{font-family:Saira,sans-serif;font-size:15px;font-weight:700;color:#24400E;background:#fff;border:1px solid #D6D6D6;border-radius:8px;margin-bottom:8px}.trp-accordion .elementor-tab-content{font-size:14px;line-height:1.65;background:#fff;border:1px solid #D6D6D6;border-radius:0 0 8px 8px;margin-top:-8px;margin-bottom:8px}.trp-safety-alert{background:rgba(141,198,62,.08);border:1px solid rgba(141,198,62,.35);border-left:4px solid #8DC63E;border-radius:8px;padding:16px;margin-bottom:12px}.trp-weather-alert{background:rgba(248,160,15,.05);border-color:rgba(248,160,15,.3);border-left-color:#F8A00F}.trp-safety-label .elementor-heading-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#315813}.trp-weather-alert .trp-safety-label .elementor-heading-title{color:#F8A00F}.trp-faq .elementor-tab-title{font-family:Saira,sans-serif;font-size:15px;font-weight:700;color:#24400E;border-bottom:1px solid #D6D6D6;padding:16px 0}.trp-faq .elementor-tab-content{font-size:14px;line-height:1.65;color:#4A4A4A;padding:0 0 16px}.trp-related{background:#F6F6F6}.trp-route-card{background:#fff;border:1px solid #D6D6D6;border-radius:8px;overflow:hidden;margin:0 8px}.trp-route-img{height:140px;background:linear-gradient(135deg,#8aa66a,#315813);display:flex;align-items:flex-start;justify-content:flex-end;padding:12px}.trp-route-img span{background:#F8A00F;color:#24400E;font-family:Saira,sans-serif;font-size:11px;font-weight:700;border-radius:20px;padding:4px 10px}.trp-route-card.trp-hard .trp-route-img{background:linear-gradient(135deg,#8f5a38,#1A2E07)}.trp-route-card.trp-hard .trp-route-img span{background:#FA5219;color:#fff}.trp-route-loc .elementor-heading-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#757575;padding:16px 16px 0}.trp-route-title .elementor-heading-title{font-size:18px;font-weight:700;color:#24400E;line-height:1.25;padding:0 16px}.trp-route-stats{font-size:12px;color:#757575;padding:0 16px}.trp-route-button a.elementor-button{margin:0 16px 16px;background:#24400E;color:#fff;border-radius:8px;font-family:Saira,sans-serif;font-size:12px;font-weight:700}.trp-poster{background:#1A2E07;color:#fff}.trp-poster-box{background:#24400E;border-radius:8px;padding:28px;border:1px solid rgba(255,255,255,.12)}.trp-poster-thumb{min-height:230px;border:2px dashed rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65);font-family:Saira,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.trp-poster-eyebrow .elementor-heading-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#F8A00F;font-weight:700}.trp-poster-title .elementor-heading-title{font-size:44px;line-height:1.05;color:#fff;font-weight:800}.trp-poster-desc{font-size:15px;line-height:1.65;color:rgba(255,255,255,.78)}@media(max-width:767px){.trp-route-section,.trp-hero,.trp-stats,.trp-cta{padding-left:20px;padding-right:20px}.trp-hero-title .elementor-heading-title{font-size:36px}.trp-stat,.trp-access-card,.trp-facility-card,.trp-kit-preview-card,.trp-route-card{width:100%!important;margin:6px 0}.trp-two-col>.elementor-container{display:block}.trp-poster-title .elementor-heading-title{font-size:32px}}


