/*
Theme Name: TrailBalance
Theme URI: https://trailbalance.cc
Author: TrailBalance
Description: Boxed, Block-Editor-faehiges Theme fuer TrailBalance / DonkeyRide. Austauschbares Logo, Inhalt als einzelne Bloecke, Beispieldaten. Ride. Flow. Balance.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: trailbalance
*/

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --terra: #C4572A;
    --ocean: #1A3A4A;
    --sand: #F2EBD9;
    --olive: #6B7A3A;
    --gold: #D4A843;
    --cream: #FAF6EE;
    --dark: #0E1E25;
  }

  html { scroll-behavior: smooth; }

  body {
    background: var(--cream);
    color: var(--dark);
    font-family: 'Cormorant Garamond', Georgia, serif;
    overflow-x: hidden;
  }

  /* ─── BRAND LOCKUP (TrailBalance) ─── */
  .brand-lockup { display: flex; align-items: center; gap: 13px; text-decoration: none; }
  .brand-mono { height: 44px; width: auto; color: var(--sand); display: block; }
  .brand-text { display: flex; flex-direction: column; line-height: 1; }
  .brand-name {
    font-family: 'Montserrat', sans-serif; font-weight: 700;
    letter-spacing: 0.15em; font-size: 1.05rem; color: var(--sand);
  }
  .brand-tag {
    font-family: 'Montserrat', sans-serif; font-weight: 500;
    letter-spacing: 0.24em; font-size: 0.56rem; color: var(--gold); margin-top: 6px;
  }

  /* ─── HERO ─── */
  .hero {
    min-height: 100vh;
    background: var(--ocean);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 8vw 8vh;
    overflow: hidden;
  }

  .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse 80% 60% at 70% 30%, rgba(196,87,42,0.18) 0%, transparent 70%),
      radial-gradient(ellipse 50% 80% at 10% 80%, rgba(107,122,58,0.15) 0%, transparent 60%);
  }

  .hero-grain {
    position: absolute;
    inset: 0;
    opacity: 0.04;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    background-size: 200px 200px;
  }

  /* Topographic line art */
  .topo-svg {
    position: absolute;
    right: -5%;
    top: -10%;
    width: 65%;
    opacity: 0.06;
    pointer-events: none;
  }

  /* Large decorative number */
  .hero-year {
    position: absolute;
    top: 6vh;
    right: 7vw;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: clamp(6rem, 15vw, 18rem);
    color: var(--sand);
    opacity: 0.05;
    line-height: 1;
    letter-spacing: -0.04em;
    user-select: none;
  }

  .hero-badge {
    position: absolute;
    top: 5vh;
    left: 8vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    animation: fadeIn 1s ease both;
  }

  .badge-line {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .badge-dot {
    width: 8px; height: 8px;
    background: var(--terra);
    border-radius: 50%;
  }

  .badge-text {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 400;
    letter-spacing: 0.25em;
    font-size: 0.75rem;
    color: var(--sand);
    opacity: 0.7;
    text-transform: uppercase;
  }

  .hero-content {
    position: relative;
    z-index: 2;
    animation: slideUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
  }

  .hero-eyebrow {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 300;
    letter-spacing: 0.3em;
    font-size: clamp(0.75rem, 1.5vw, 1rem);
    color: var(--terra);
    text-transform: uppercase;
    margin-bottom: 1.5rem;
  }

  .hero-title {
    font-size: clamp(3.5rem, 10vw, 9rem);
    font-weight: 300;
    line-height: 0.9;
    color: var(--sand);
    letter-spacing: -0.02em;
  }

  .hero-title em {
    font-style: italic;
    color: var(--gold);
  }

  .hero-date-strip {
    margin-top: 3rem;
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
  }

  .date-block {
    background: var(--terra);
    color: white;
    padding: 0.6rem 1.4rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, 2vw, 1.3rem);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
  }

  .hero-tagline {
    font-style: italic;
    font-size: clamp(1.1rem, 2.5vw, 1.6rem);
    color: var(--sand);
    opacity: 0.75;
    max-width: 520px;
    line-height: 1.4;
  }

  .scroll-cue {
    position: absolute;
    bottom: 5vh;
    right: 8vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    opacity: 0.4;
    animation: fadeIn 2s ease 1.5s both;
  }

  .scroll-line {
    width: 1px;
    height: 50px;
    background: var(--sand);
    animation: lineDown 1.5s ease-in-out infinite;
  }

  .scroll-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 0.3em;
    color: var(--sand);
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
  }

  /* ─── INTRO SECTION ─── */
  .intro {
    background: var(--cream);
    padding: 10vh 8vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6vw;
    align-items: start;
  }

  @media (max-width: 700px) {
    .intro { grid-template-columns: 1fr; }
    .hero-title { font-size: clamp(3rem, 13vw, 5rem); }
  }

  .section-number {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 5rem;
    color: var(--terra);
    opacity: 0.12;
    line-height: 1;
    margin-bottom: -1rem;
  }

  .section-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 400;
    letter-spacing: 0.25em;
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--olive);
    margin-bottom: 1rem;
  }

  .intro-headline {
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 300;
    line-height: 1.15;
    color: var(--ocean);
  }

  .intro-headline em { color: var(--terra); font-style: italic; }

  .intro-body {
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.8;
    color: #3a3a3a;
    font-weight: 300;
  }

  .intro-body p + p { margin-top: 1.2em; }

  /* ─── ISLAND FACTS STRIP ─── */
  .facts-strip {
    background: var(--ocean);
    color: var(--sand);
    padding: 5vh 8vw;
    display: flex;
    gap: 4vw;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    position: relative;
    overflow: hidden;
  }

  .facts-strip::before {
    content: 'ELBA';
    position: absolute;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 18rem;
    letter-spacing: -0.05em;
    opacity: 0.04;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
  }

  .fact-item {
    text-align: center;
    flex: 1;
    min-width: 140px;
  }

  .fact-number {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: clamp(2.5rem, 5vw, 4rem);
    color: var(--terra);
    line-height: 1;
  }

  .fact-unit {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 300;
    font-size: 1rem;
    color: var(--gold);
    margin-left: 3px;
  }

  .fact-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.6;
    margin-top: 0.3rem;
  }

  .fact-divider {
    width: 1px;
    height: 60px;
    background: var(--sand);
    opacity: 0.15;
    flex-shrink: 0;
  }

  /* ─── PROGRAM ─── */
  .program {
    background: var(--sand);
    padding: 10vh 8vw;
  }

  .program-header {
    margin-bottom: 5vh;
    display: flex;
    align-items: flex-end;
    gap: 3rem;
    flex-wrap: wrap;
  }

  .program-title {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 300;
    color: var(--ocean);
    line-height: 1;
  }

  .program-subtitle {
    font-style: italic;
    color: var(--terra);
    font-size: 1.1rem;
    padding-bottom: 0.3rem;
  }

  .days-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1.5rem;
  }

  .day-card {
    background: white;
    padding: 2rem 1.8rem;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-top: 3px solid transparent;
  }

  .day-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    border-top-color: var(--terra);
  }

  .day-card.featured {
    background: var(--ocean);
    color: var(--sand);
  }

  .day-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 3.5rem;
    line-height: 1;
    color: var(--terra);
    opacity: 0.3;
  }

  .day-card.featured .day-num { color: var(--gold); }

  .day-date {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--olive);
    margin-bottom: 0.5rem;
  }

  .day-card.featured .day-date { color: var(--gold); }

  .day-title {
    font-size: 1.3rem;
    font-weight: 400;
    margin-bottom: 0.8rem;
    color: var(--ocean);
    line-height: 1.2;
  }

  .day-card.featured .day-title { color: var(--sand); }

  .day-desc {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #555;
    font-weight: 300;
  }

  .day-card.featured .day-desc { color: rgba(242,235,217,0.75); }

  .day-tag {
    display: inline-block;
    margin-top: 1rem;
    background: var(--terra);
    color: white;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 0.25rem 0.7rem;
  }

  /* ─── INCLUSIONS ─── */
  .inclusions {
    background: var(--cream);
    padding: 10vh 8vw;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 8vw;
    align-items: start;
  }

  @media (max-width: 750px) {
    .inclusions { grid-template-columns: 1fr; }
  }

  .inc-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 300;
    color: var(--ocean);
    line-height: 1.1;
    margin-bottom: 3rem;
  }

  .inc-title span { color: var(--terra); font-style: italic; }

  .inc-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .inc-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(0,0,0,0.07);
  }

  .inc-icon {
    width: 32px;
    height: 32px;
    background: var(--terra);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
  }

  .inc-icon svg { width: 16px; height: 16px; fill: white; }

  .inc-text strong {
    display: block;
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--ocean);
    margin-bottom: 0.15rem;
  }

  .inc-text span {
    font-size: 0.9rem;
    color: #666;
    font-weight: 300;
    line-height: 1.5;
  }

  /* Price card */
  .price-card {
    background: var(--ocean);
    color: var(--sand);
    padding: 3rem 2.5rem;
    position: sticky;
    top: 4vh;
  }

  .price-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    opacity: 0.6;
    margin-bottom: 0.5rem;
  }

  .price-amount {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 4rem;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 0.3rem;
  }

  .price-per {
    font-size: 0.9rem;
    opacity: 0.6;
    margin-bottom: 2rem;
  }

  .price-includes {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-bottom: 2rem;
  }

  .price-includes li {
    font-size: 0.95rem;
    opacity: 0.85;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 300;
  }

  .price-includes li::before {
    content: '✓';
    color: var(--terra);
    font-weight: 700;
    font-size: 0.9rem;
  }

  .price-note {
    font-size: 0.8rem;
    opacity: 0.5;
    line-height: 1.5;
    font-style: italic;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 1.5rem;
  }

  .cta-btn {
    display: block;
    width: 100%;
    background: var(--terra);
    color: white;
    text-align: center;
    padding: 1rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 1rem;
    transition: background 0.3s ease;
    cursor: pointer;
    border: none;
  }

  .cta-btn:hover { background: #a8431f; }

  .spots-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.15em;
    color: var(--gold);
    text-transform: uppercase;
  }

  .spots-dot {
    width: 6px; height: 6px;
    background: var(--gold);
    border-radius: 50%;
    animation: pulse 1.5s ease infinite;
  }

  /* ─── ATMOSPHERE QUOTE ─── */
  .quote-section {
    background: var(--terra);
    color: white;
    padding: 8vh 12vw;
    text-align: center;
    position: relative;
    overflow: hidden;
  }

  .quote-section::before,
  .quote-section::after {
    content: '"';
    position: absolute;
    font-family: 'Cormorant Garamond', serif;
    font-size: 20rem;
    line-height: 1;
    opacity: 0.08;
    font-style: italic;
  }

  .quote-section::before { top: -2rem; left: 3vw; }
  .quote-section::after { bottom: -8rem; right: 3vw; }

  .quote-text {
    font-size: clamp(1.5rem, 3.5vw, 2.8rem);
    font-weight: 300;
    font-style: italic;
    line-height: 1.4;
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto 2rem;
  }

  .quote-source {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 400;
    letter-spacing: 0.25em;
    font-size: 0.75rem;
    text-transform: uppercase;
    opacity: 0.7;
  }

  /* ─── FOOTER ─── */
  footer {
    background: var(--dark);
    color: var(--sand);
    padding: 5vh 8vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
  }

  .footer-info {
    text-align: right;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    opacity: 0.6;
    line-height: 1.8;
  }

  /* ─── ANIMATIONS ─── */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes slideUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes lineDown {
    0%, 100% { transform: scaleY(1); transform-origin: top; }
    50% { transform: scaleY(0.5); transform-origin: top; }
  }

  @keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.5); }
  }

  /* ─── HORIZON DIVIDER ─── */
  .horizon {
    height: 3px;
    background: linear-gradient(90deg, var(--terra), var(--gold), var(--olive));
  }

/* home components */
.btn-pill,.wp-block-button.btn-pill .wp-block-button__link{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.95rem;padding:.95rem 1.9rem;background:var(--terra);color:#fff;text-decoration:none;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);border:0;border-radius:0;transition:background .25s}
.wp-block-button.btn-pill .wp-block-button__link:hover{background:#a8431f}
.wp-block-button.btn-pill.is-alt .wp-block-button__link{background:transparent;border:1px solid rgba(242,235,217,.6);color:var(--sand);clip-path:none;border-radius:3px}
.wp-block-button.btn-pill.is-light .wp-block-button__link{background:#fff;color:var(--terra)}
.wp-block-button.btn-pill.is-tag .wp-block-button__link{padding:.34rem .8rem;font-size:.66rem;letter-spacing:.14em;clip-path:none;border-radius:2px}
.wp-block-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.svc-grid{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.svc-pill{display:inline-block;font-family:'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--ocean);border:1px solid rgba(26,58,74,.25);padding:.5rem 1rem;border-radius:999px}
.band-ocean{background:var(--ocean);color:var(--sand)}
.band-inner{max-width:820px}
.band-title{font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:300;line-height:1.1;margin-bottom:1.2rem;color:var(--sand)}
.band-text{font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.8;font-weight:300;opacity:.85;margin-bottom:1em}
.kennenlern{margin-top:2.4rem;border-top:1px solid rgba(242,235,217,.16);padding-top:1.8rem}
.kennenlern h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.7rem;color:var(--gold);margin-bottom:.5rem}
.kennenlern p{opacity:.85;font-weight:300;margin-bottom:1.2rem;max-width:600px}
.trip-card{display:flex;flex-direction:column}
.trip-card .wp-block-image{margin:-2rem -1.8rem 1.3rem}
.trip-card .wp-block-image img{width:100%;height:175px;object-fit:cover;display:block}
.trip-card .day-desc{flex:1}
.trip-meta{list-style:none;margin:1rem 0 1.3rem;display:flex;flex-direction:column;gap:.45rem;font-family:'Barlow Condensed',sans-serif;font-size:.92rem;color:#555;padding:0}
.day-card.featured .trip-meta{color:rgba(242,235,217,.82)}
.trip-meta span{display:inline-block;min-width:84px;color:var(--ocean);font-weight:700;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em}
.day-card.featured .trip-meta span{color:var(--gold)}
.trip-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.trip-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.7rem;color:var(--terra);line-height:1;margin:0}
.day-card.featured .trip-price{color:var(--gold)}
.esel{background:var(--cream)}
.esel-head{margin-bottom:3vh}
.esel-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.esel-card{background:#fff;overflow:hidden;border-radius:14px}
.esel-card .wp-block-image{margin:0}
.esel-card .wp-block-image img{width:100%;height:240px;object-fit:cover;display:block}
.esel-body{padding:1.8rem}
.esel-body h3{font-size:1.4rem;color:var(--ocean);font-weight:400;margin-bottom:.5rem}
.esel-body p{font-size:.98rem;line-height:1.7;color:#555;font-weight:300}
.eyebrow-gold{color:var(--gold)!important;opacity:.85;margin-bottom:.6rem}
.day-tag-text{display:inline-block;margin-top:1rem;background:var(--terra);color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:.25rem .7rem}
.day-card.featured .day-tag-text{background:var(--gold);color:var(--ocean)}
.spots-badge{color:var(--gold);font-family:'Barlow Condensed',sans-serif;letter-spacing:.15em;text-transform:uppercase;font-size:.8rem;margin-top:1rem}
.inc-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.7rem}
.inc-list li{border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:.7rem;font-size:1.02rem;color:#3f413b}
@media (max-width:750px){.esel-grid{grid-template-columns:1fr}}


/* ─── BOXED / CENTERED LAYOUT ─── */
body{background:#e7e1d2}
.site-header{max-width:1180px;margin:0 auto;padding:24px 22px;display:flex;align-items:center}
.site-header .brand-mono{color:var(--ocean);height:44px;width:auto;display:block}
.site-header .brand-name{color:var(--ocean)} .site-header .brand-tag{color:var(--terra)}
.site-header .custom-logo,.site-header img{height:48px;width:auto;display:block}
.tb-content{max-width:1180px;margin:0 auto 36px;padding:0 22px;display:flex;flex-direction:column;gap:22px}
.tb-content > *{border-radius:22px;overflow:hidden}
.horizon{display:none}
.hero{min-height:auto!important;padding:clamp(48px,7vw,96px) clamp(30px,5vw,68px)!important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero::before{border-radius:22px}
.hero-content{position:relative;z-index:2;max-width:720px;animation:none}
.hero-elba{background:var(--ocean)}
.hero-home{background-image:linear-gradient(rgba(14,30,37,.52),rgba(14,30,37,.82)),url('https://donkey-ride.ch/wp-content/uploads/2025/06/front.png');background-size:cover;background-position:center}
.hero .scroll-cue,.hero-year,.topo-svg{display:none}
.hero-title{font-size:clamp(3rem,7vw,6rem)}
.intro,.program,.inclusions,.esel,.band-ocean,.quote-section,.facts-strip{padding:clamp(46px,6vw,82px) clamp(30px,5vw,68px)!important}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:start;background:var(--cream)}
.inclusions{display:grid;grid-template-columns:1.2fr 1fr;gap:4vw;align-items:start;background:var(--cream)}
.program{background:var(--sand)}
.facts-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.facts-strip::before{display:none}
.quote-section::before,.quote-section::after{display:none}
.price-card{position:static}
footer{max-width:1180px;margin:0 auto 40px;border-radius:22px;padding:46px 40px}
footer .brand-mono{color:var(--sand);height:48px}
footer .brand-name{color:var(--sand)} footer .brand-tag{color:var(--gold)}
@media (max-width:750px){.intro,.inclusions{grid-template-columns:1fr}}



/* ─── RESPONSIVE / MOBILE ─── */
@media (max-width:600px){
  .site-header{padding:16px 14px}
  .site-header .brand-mono{height:34px}
  .site-header .brand-name{font-size:.82rem;letter-spacing:.1em}
  .site-header .brand-tag{font-size:.5rem;letter-spacing:.16em}
  .brand-lockup{gap:10px}
  .tb-content{padding:0 12px;gap:14px;margin-bottom:24px}
  .tb-content > *{border-radius:16px}
  .hero{padding:40px 22px!important}
  .intro,.program,.inclusions,.esel,.band-ocean,.quote-section,.facts-strip{padding:40px 22px!important}
  .hero-title{font-size:clamp(2.3rem,11vw,3.2rem)}
  footer{margin:0 12px 24px;padding:32px 22px;flex-direction:column;align-items:flex-start;gap:1.1rem}
  .footer-info{text-align:left}
}
@media (max-width:430px){ .site-header .brand-tag{display:none} }


/* ─── ELEMENTOR NATIVE-WIDGET STYLING BRIDGE ─── */
/* section backgrounds via class */
.elementor-section.hero{background:var(--ocean)}
.elementor-section.hero-home{background-image:linear-gradient(rgba(14,30,37,.52),rgba(14,30,37,.82)),url('https://donkey-ride.ch/wp-content/uploads/2025/06/front.png');background-size:cover;background-position:center}
.elementor-section.intro,.elementor-section.esel,.elementor-section.esel-head-sec,.elementor-section.inclusions,.elementor-section.program-head-sec{background:var(--cream)}
.elementor-section.program{background:var(--sand)}
.elementor-section.band-ocean{background:var(--ocean)}
.elementor-section.quote-section{background:var(--terra)}
.elementor-section.facts-strip{background:var(--ocean)}
.elementor-section.hero,.elementor-section.intro,.elementor-section.program,.elementor-section.program-head-sec,.elementor-section.band-ocean,.elementor-section.esel,.elementor-section.esel-head-sec,.elementor-section.quote-section,.elementor-section.inclusions,.elementor-section.facts-strip{padding:clamp(40px,6vw,80px) clamp(24px,4vw,52px)}
.elementor-section.quote-section{text-align:center}
/* card columns */
.elementor-column.day-card > .elementor-widget-wrap,
.elementor-column.day-card > .elementor-element-populated{background:#fff;border-radius:16px;padding:28px}
.elementor-column.day-card.featured > .elementor-widget-wrap,
.elementor-column.day-card.featured > .elementor-element-populated{background:var(--ocean)}
.elementor-column.esel-card > .elementor-widget-wrap,
.elementor-column.esel-card > .elementor-element-populated{background:#fff;border-radius:14px;overflow:hidden;padding:0}
.elementor-column.esel-card .elementor-widget-image{margin:0}
.elementor-column.esel-card .elementor-widget-image img{height:230px;width:100%;object-fit:cover;display:block}
.elementor-column.esel-card .elementor-widget:not(.elementor-widget-image){padding:0 1.7rem}
.elementor-column.esel-card .elementor-widget-image + *{margin-top:1.4rem}
.elementor-column.price-card > .elementor-widget-wrap,
.elementor-column.price-card > .elementor-element-populated{background:var(--ocean);border-radius:14px;padding:38px}
.day-card .elementor-widget-image{margin:-28px -28px 18px}
.day-card .elementor-widget-image img{height:170px;width:100%;object-fit:cover;display:block}
/* heading bridges */
.hero-title .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:300;line-height:.95;color:var(--sand);font-size:clamp(3rem,7vw,6rem)}
.intro-headline .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:300;color:var(--ocean);font-size:clamp(2rem,4vw,3.2rem);line-height:1.15}
.band-title .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:300;color:var(--sand);font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.1}
.program-title .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:300;color:var(--ocean);font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05}
.inc-title .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:300;color:var(--ocean);font-size:clamp(2rem,4vw,3rem)}
.quote-text .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:#fff;font-size:clamp(1.5rem,3.5vw,2.6rem);line-height:1.4}
.day-title .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:400;color:var(--ocean);font-size:1.35rem;line-height:1.2}
.day-card.featured .day-title .elementor-heading-title{color:var(--sand)}
.day-num .elementor-heading-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3rem;color:var(--terra);opacity:.3;line-height:1}
.day-card.featured .day-num .elementor-heading-title{color:var(--gold)}
.trip-price .elementor-heading-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.7rem;color:var(--terra)}
.day-card.featured .trip-price .elementor-heading-title{color:var(--gold)}
.price-amount .elementor-heading-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3.4rem;color:var(--gold);line-height:1}
.kennenlern-title .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.7rem;color:var(--gold)}
.esel-h .elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:400;color:var(--ocean);font-size:1.4rem}
/* text widgets (inherit) + helpers */
.elementor-widget.band-text,.elementor-widget.intro-body,.elementor-widget.kennenlern-text,.elementor-widget.day-desc{color:#3a3a3a}
.band-ocean .elementor-widget.band-text,.band-ocean .elementor-widget.kennenlern-text,.band-ocean .elementor-widget.section-label{color:rgba(242,235,217,.85)}
.day-card.featured .day-desc{color:rgba(242,235,217,.8)}
.svc-grid .elementor-widget-container{display:flex;flex-wrap:wrap;gap:.7rem}
.price-card .elementor-widget.section-label,.price-card .price-per,.price-card .spots-badge{color:rgba(242,235,217,.85)}
.facts-strip .elementor-column{text-align:center}
/* buttons */
.btn-pill .elementor-button{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.92rem;padding:.95rem 1.9rem;background:var(--terra);color:#fff;border-radius:0;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}
.btn-pill .elementor-button:hover{background:#a8431f}
.btn-pill.is-alt .elementor-button{background:transparent;border:1px solid rgba(242,235,217,.6);color:var(--sand);clip-path:none;border-radius:3px}
.btn-pill.is-light .elementor-button{background:#fff;color:var(--terra)}
.btn-pill.is-tag .elementor-button{padding:.34rem .8rem;font-size:.66rem;letter-spacing:.14em;clip-path:none;border-radius:2px}
.intro .elementor-section,.elementor-section .elementor-container{max-width:1180px}
