/*
 * DWF Apps Restyle (v1.0.5) — !important to override Elementor wrapper
 */

/* Base reset — force native body sizing on the app wrappers */
.dwf-quiz, .dwf-calc, .dwf-hc, .dwf-pr,
.dwf-quiz *, .dwf-calc *, .dwf-hc *, .dwf-pr * {
    text-align: left !important;
    box-sizing: border-box;
}

.dwf-quiz, .dwf-calc, .dwf-hc, .dwf-pr {
    font-family: "Work Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #2a2a2a !important;
}

/* === RIDE RECOMMENDER QUIZ === */

.dwf-quiz {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 8px 0 !important;
}

.dwf-quiz__progress {
    height: 4px !important;
    background: #efefef !important;
    border-radius: 999px !important;
    margin-bottom: 36px !important;
    overflow: hidden !important;
}

.dwf-quiz__bar {
    height: 100% !important;
    background: #3559CF !important;
    border-radius: 999px !important;
    transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dwf-quiz__step-label {
    font-family: "Heebo", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #3559CF !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 14px !important;
    line-height: 1.3 !important;
}

.dwf-quiz__q {
    font-family: "Heebo", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #080808 !important;
    line-height: 1.2 !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.02em !important;
}

.dwf-quiz__sub {
    font-family: "Work Sans", sans-serif !important;
    font-size: 18px !important;
    color: #6b6b6b !important;
    margin: 0 0 28px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}

.dwf-quiz__opts {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
    margin-bottom: 32px !important;
}

@media (max-width: 700px) {
    .dwf-quiz__opts { grid-template-columns: 1fr !important; }
    .dwf-quiz__q { font-size: 26px !important; }
    .dwf-quiz__sub { font-size: 17px !important; }
}

.dwf-quiz__opt {
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 20px 22px !important;
    cursor: pointer !important;
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.05s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    position: relative !important;
}

.dwf-quiz__opt:hover {
    border-color: #3559CF !important;
    background: #fbfcff !important;
}

.dwf-quiz__opt.selected {
    border-color: #3559CF !important;
    border-width: 2px !important;
    padding: 19px 21px !important;
    background: #f5f8ff !important;
}

.dwf-quiz__opt.selected::after {
    content: "" !important;
    position: absolute !important;
    top: 16px !important;
    right: 18px !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #3559CF url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M6.5 10.5L3.5 7.5l-1 1 4 4 7-7-1-1z'/></svg>") center center / 14px no-repeat !important;
}

.dwf-quiz__opt-icon { display: none !important; }
.dwf-quiz__opt > span:not(.dwf-quiz__opt-icon) { display: contents !important; }

.dwf-quiz__opt-text {
    font-family: "Heebo", sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #080808 !important;
    line-height: 1.3 !important;
    display: block !important;
}

.dwf-quiz__opt-sub {
    font-family: "Work Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #6b6b6b !important;
    margin-top: 2px !important;
    display: block !important;
    line-height: 1.45 !important;
}

/* Buttons */
.dwf-quiz__nav {
    display: flex !important;
    gap: 16px !important;
    margin-top: 8px !important;
    justify-content: flex-end !important;
    align-items: center !important;
    text-align: right !important;
}

.dwf-quiz__btn {
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-family: "Heebo", sans-serif !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    cursor: pointer !important;
    transition: opacity 0.15s ease, background 0.15s ease, transform 0.05s ease !important;
    border: none !important;
    line-height: 1 !important;
}

.dwf-quiz__btn-back {
    background: transparent !important;
    color: #6b6b6b !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
}

.dwf-quiz__btn-back:hover { color: #080808 !important; }

.dwf-quiz__btn-next {
    background: #3559CF !important;
    color: #fff !important;
}

.dwf-quiz__btn-next:hover:not(:disabled) { background: #2a47a8 !important; }
.dwf-quiz__btn:disabled { opacity: 0.4 !important; cursor: not-allowed !important; }

/* Results */
.dwf-quiz__results-title {
    font-family: "Heebo", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #080808 !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
}

.dwf-quiz__results-sub {
    font-size: 18px !important;
    color: #6b6b6b !important;
    margin: 0 0 30px !important;
    line-height: 1.55 !important;
}

.dwf-ride-card {
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 22px 24px !important;
    margin-bottom: 14px !important;
    display: flex !important;
    gap: 20px !important;
    align-items: flex-start !important;
    transition: border-color 0.15s ease !important;
}

.dwf-ride-card:hover { border-color: #3559CF !important; }

.dwf-ride-card:first-of-type {
    border: 2px solid #3559CF !important;
    padding: 21px 23px !important;
    background: #fbfcff !important;
    position: relative !important;
    margin-top: 20px !important;
}

.dwf-ride-card:first-of-type::before {
    content: "TOP MATCH" !important;
    position: absolute !important;
    top: -12px !important;
    left: 22px !important;
    background: #3559CF !important;
    color: #fff !important;
    font-family: "Heebo", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
}

.dwf-ride-rank {
    font-family: "Heebo", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #3559CF !important;
    min-width: 38px !important;
    line-height: 1 !important;
    text-align: center !important;
}

.dwf-ride-name {
    font-family: "Heebo", sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #080808 !important;
    margin-bottom: 6px !important;
    letter-spacing: -0.01em !important;
    line-height: 1.25 !important;
}

.dwf-ride-name a {
    color: #080808 !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.15s ease !important;
}

.dwf-ride-name a:hover { border-bottom-color: #3559CF !important; }

.dwf-ride-park {
    font-size: 16px !important;
    color: #6b6b6b !important;
    margin-bottom: 10px !important;
}

.dwf-ride-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

.dwf-ride-tag {
    font-family: "Work Sans", sans-serif !important;
    font-size: 13px !important;
    padding: 4px 11px !important;
    border-radius: 999px !important;
    background: #f0f2f5 !important;
    color: #555 !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
}

.dwf-ride-tag.thrill-high { background: #fde7e2 !important; color: #b03020 !important; }
.dwf-ride-tag.thrill-mod  { background: #fef0db !important; color: #a86600 !important; }
.dwf-ride-tag.thrill-low  { background: #e2f2e7 !important; color: #1a6e34 !important; }

.dwf-quiz__restart {
    margin-top: 24px !important;
    background: transparent !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 12px 26px !important;
    font-family: "Heebo", sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    color: #6b6b6b !important;
    transition: border-color 0.15s ease, color 0.15s ease !important;
}

.dwf-quiz__restart:hover { border-color: #3559CF !important; color: #3559CF !important; }

/* Shared */
.dwf-calc__eyebrow, .dwf-hc__eyebrow, .dwf-pr__eyebrow {
    font-family: "Heebo", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #3559CF !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

.dwf-disclosure, .dwf-calc__disclaimer {
    background: #f8f9fb !important;
    border: 1px solid #ececec !important;
    border-left: 3px solid #3559CF !important;
    border-radius: 6px !important;
    padding: 18px 20px !important;
    font-size: 16px !important;
    color: #555 !important;
    margin: 20px 0 !important;
    line-height: 1.55 !important;
}

.dwf-cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #3559CF !important;
    color: #fff !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-family: "Heebo", sans-serif !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    text-decoration: none !important;
    border: none !important;
    transition: background 0.15s ease !important;
}

.dwf-cta-btn:hover { background: #2a47a8 !important; }

.dwf-compare-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 16px !important;
    margin: 24px 0 !important;
}

.dwf-compare-table th, .dwf-compare-table td {
    padding: 13px 16px !important;
    border-bottom: 1px solid #ececec !important;
}

.dwf-compare-table th {
    font-family: "Heebo", sans-serif !important;
    font-weight: 600 !important;
    color: #080808 !important;
    font-size: 15px !important;
    background: #f8f9fb !important;
}

/* Dark */
[data-site-skin='dark'] .dwf-quiz__opt { background: #1d1d1d !important; border-color: #333 !important; }
[data-site-skin='dark'] .dwf-quiz__opt:hover { background: #222 !important; }
[data-site-skin='dark'] .dwf-quiz__opt.selected { background: #1a2240 !important; }
[data-site-skin='dark'] .dwf-quiz__opt-text { color: #e5e5e5 !important; }
[data-site-skin='dark'] .dwf-quiz__q,
[data-site-skin='dark'] .dwf-quiz__results-title { color: #f5f5f5 !important; }
[data-site-skin='dark'] .dwf-quiz__sub,
[data-site-skin='dark'] .dwf-quiz__opt-sub,
[data-site-skin='dark'] .dwf-quiz__results-sub { color: #999 !important; }
[data-site-skin='dark'] .dwf-ride-card { background: #1d1d1d !important; border-color: #333 !important; }
[data-site-skin='dark'] .dwf-ride-card:first-of-type { background: #1a2240 !important; }
[data-site-skin='dark'] .dwf-ride-name,
[data-site-skin='dark'] .dwf-ride-name a { color: #e5e5e5 !important; }
[data-site-skin='dark'] .dwf-disclosure,
[data-site-skin='dark'] .dwf-calc__disclaimer { background: #1d1d1d !important; border-color: #333 !important; color: #aaa !important; }
[data-site-skin='dark'] .dwf-compare-table th { background: #1d1d1d !important; color: #e5e5e5 !important; }
[data-site-skin='dark'] .dwf-compare-table td { color: #ccc !important; }

/* =====================================================
   Main navigation overflow handling — added by Claude
   Issue: 13 top-level items push the nav past viewport
   width on screens narrower than ~1500px.
   ===================================================== */

/* Default: nav is a flex row. Tighten its layout. */
.mow_fn_main_nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 0;
}

/* Below 1500px wide: let nav items wrap onto a second row */
@media (max-width: 1500px) {
    .mow_fn_main_nav {
        flex-wrap: wrap !important;
        justify-content: center;
        row-gap: 4px;
    }
    .mow_fn_main_nav > li > a {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* Below 1300px: tighten further (smaller font and tighter padding) */
@media (max-width: 1300px) {
    .mow_fn_main_nav > li > a {
        font-size: 17px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    .mow_fn_main_nav > li > a > span > i.fn__isvg {
        display: none !important;
    }
}

/* Below 1150px: even tighter, smaller font */
@media (max-width: 1150px) {
    .mow_fn_main_nav > li > a {
        font-size: 15px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
}

/* The mobile breakpoint is handled by the theme's mobile nav. */

/* =====================================================
   Homepage tool cards (.dwf-hs) — moved from inline
   to avoid wpautop stripping <style> tags.
   ===================================================== */
.dwf-hs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px 0 8px;width:100%}
@media(max-width:1100px){.dwf-hs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dwf-hs{grid-template-columns:1fr}}
.dwf-hs__card{background:#fff;border:1px solid #ececec;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.dwf-hs__card:hover{transform:translateY(-3px);box-shadow:0 12px 28px -10px rgba(53,89,207,.18);border-color:#dadada}
.dwf-hs__card::before{content:none}
.dwf-hs__icon{width:44px;height:44px;flex-shrink:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff}
.dwf-hs__icon svg{width:24px;height:24px}
.dwf-hs__card--wx .dwf-hs__icon{background:#eef2ff}
.dwf-hs__card--calc .dwf-hs__icon{background:#e7f5ec}
.dwf-hs__card--height .dwf-hs__icon{background:#fdf2e0}
.dwf-hs__card--park .dwf-hs__icon{background:#e7eaf4}
.dwf-hs__body{flex:1;display:flex;flex-direction:column;gap:6px}
.dwf-hs__label{font-family:"Work Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#8a8a8a;margin:0}
.dwf-hs__value{font-family:"Heebo",sans-serif;font-size:22px;font-weight:800;color:#0a0a0a;line-height:1.15;margin:0}
.dwf-hs__sub{font-family:"Work Sans",sans-serif;font-size:13px;line-height:1.45;color:#666;margin:0}
.dwf-hs__link{font-family:"Work Sans",sans-serif;font-size:13px;font-weight:700;color:#3559CF;text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-top:6px;align-self:flex-start;border-bottom:1px solid transparent;transition:border-color .15s}
.dwf-hs__link:hover{border-bottom-color:#3559CF}
.dwf-hs__link svg{transition:transform .15s}
.dwf-hs__link:hover svg{transform:translateX(3px)}
[data-site-skin='dark'] .dwf-hs__card{background:#161616;border-color:#262626;box-shadow:0 1px 2px rgba(0,0,0,.2)}
[data-site-skin='dark'] .dwf-hs__card:hover{border-color:#333;box-shadow:0 12px 28px -10px rgba(0,0,0,.6)}
[data-site-skin='dark'] .dwf-hs__value{color:#f0f0f0}
[data-site-skin='dark'] .dwf-hs__sub{color:#999}
[data-site-skin='dark'] .dwf-hs__label{color:#777}
[data-site-skin='dark'] .dwf-hs__card--wx .dwf-hs__icon{background:#1a2440}
[data-site-skin='dark'] .dwf-hs__card--calc .dwf-hs__icon{background:#16301d}
[data-site-skin='dark'] .dwf-hs__card--height .dwf-hs__icon{background:#3a2a10}
[data-site-skin='dark'] .dwf-hs__card--park .dwf-hs__icon{background:#1d2138}

/* =====================================================
   HIGHER-SPECIFICITY overrides for homepage cards.
   The old inline CSS in the Elementor HTML widget uses
   .dwf-hs__card etc. — these `body` -prefixed rules win
   on specificity and apply the 2026 redesign.
   ===================================================== */
body .dwf-hs{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:16px !important;padding:24px 0 8px !important;width:100% !important}
@media(max-width:1100px){body .dwf-hs{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:560px){body .dwf-hs{grid-template-columns:1fr !important}}
body .dwf-hs__card{background:#fff !important;border:1px solid #ececec !important;border-radius:14px !important;padding:24px !important;gap:14px !important;box-shadow:0 1px 2px rgba(0,0,0,.04) !important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease !important}
body .dwf-hs__card:hover{transform:translateY(-3px) !important;box-shadow:0 12px 28px -10px rgba(53,89,207,.18) !important;border-color:#dadada !important}
body .dwf-hs__card::before{content:none !important;display:none !important}
body .dwf-hs__icon{width:44px !important;height:44px !important;border-radius:12px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;background:#eef2ff !important}
body .dwf-hs__icon svg{width:24px !important;height:24px !important}
body .dwf-hs__card--wx .dwf-hs__icon{background:#eef2ff !important}
body .dwf-hs__card--calc .dwf-hs__icon{background:#e7f5ec !important}
body .dwf-hs__card--height .dwf-hs__icon{background:#fdf2e0 !important}
body .dwf-hs__card--park .dwf-hs__icon{background:#e7eaf4 !important}
body .dwf-hs__label{font-size:11px !important;letter-spacing:1.4px !important;color:#8a8a8a !important}
body .dwf-hs__value{font-size:22px !important;color:#0a0a0a !important;line-height:1.15 !important}
body .dwf-hs__sub{font-size:13px !important;line-height:1.45 !important}
body .dwf-hs__link{font-size:13px !important;font-weight:700 !important;align-self:flex-start !important;border-bottom:1px solid transparent !important}
body .dwf-hs__link:hover{border-bottom-color:#3559CF !important;text-decoration:none !important}
[data-site-skin='dark'] body .dwf-hs__card{background:#161616 !important;border-color:#262626 !important}
[data-site-skin='dark'] body .dwf-hs__value{color:#f0f0f0 !important}
[data-site-skin='dark'] body .dwf-hs__sub{color:#999 !important}

/* =====================================================
   2026 UI refresh — applied to ALL tool widgets
   (calculator, height checker, weather, park recommender,
    ride recommender quiz). High-specificity overrides win
   over the existing inline-CSS rules with !important.
   ===================================================== */

/* --- Shared elevation + lift hover for cards/options --- */
body .dwf-quiz__opt,
body .dwf-ride-card,
body .dwf-calc,
body .dwf-hc,
body .dwf-pr,
body .dwf-wx,
body .dwf-hc__park,
body .dwf-sb-tool {
    border-radius: 14px !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}

/* Lift hover on clickable cards */
body .dwf-quiz__opt:hover,
body .dwf-ride-card:hover,
body .dwf-sb-tool:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px -8px rgba(53,89,207,.15) !important;
    border-color: #c8d0e8 !important;
}

/* Selected/active option — stronger ring */
body .dwf-quiz__opt.selected {
    border-color: #3559CF !important;
    border-width: 2px !important;
    background: #f5f8ff !important;
    box-shadow: 0 4px 16px -6px rgba(53,89,207,.25) !important;
}

/* --- Primary CTA button (next, submit, calculate, recommend) --- */
body .dwf-quiz__btn-next,
body .dwf-cta-btn,
body .dwf-calc__cta,
body .dwf-pr__submit,
body .dwf-hc__cta {
    padding: 14px 32px !important;
    border-radius: 10px !important;
    background: #3559CF !important;
    color: #fff !important;
    font-family: "Heebo", sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background .15s ease, box-shadow .2s ease, transform .05s ease !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.05) !important;
}
body .dwf-quiz__btn-next:hover:not(:disabled),
body .dwf-cta-btn:hover,
body .dwf-calc__cta:hover,
body .dwf-pr__submit:hover,
body .dwf-hc__cta:hover {
    background: #2a47a8 !important;
    box-shadow: 0 6px 18px -6px rgba(53,89,207,.35) !important;
    transform: translateY(-1px) !important;
}

/* --- Form inputs (calculator amounts, height field, dropdowns) --- */
body .dwf-calc input[type="number"],
body .dwf-calc input[type="text"],
body .dwf-calc select,
body .dwf-hc input,
body .dwf-pr__select,
body .dwf-pr__field input,
body .dwf-pr__field select {
    border: 1px solid #d8dadd !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 16px !important;
    font-family: "Work Sans", sans-serif !important;
    background: #fff !important;
    transition: border-color .15s ease, box-shadow .15s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
body .dwf-calc input:focus,
body .dwf-calc select:focus,
body .dwf-hc input:focus,
body .dwf-pr__select:focus,
body .dwf-pr__field input:focus,
body .dwf-pr__field select:focus {
    border-color: #3559CF !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(53,89,207,.15) !important;
}

/* --- Calculator breakdown line items --- */
body .dwf-calc__line {
    padding: 12px 0 !important;
    border-bottom: 1px solid #ececec !important;
}
body .dwf-calc__line-amount {
    font-family: "Heebo", sans-serif !important;
    font-weight: 700 !important;
    color: #0a0a0a !important;
}

/* --- Height checker park cards --- */
body .dwf-hc__park {
    padding: 24px !important;
    background: #fff !important;
    border: 1px solid #ececec !important;
}
body .dwf-hc__park-name {
    font-family: "Heebo", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}
body .dwf-hc__ride {
    padding: 10px 14px !important;
    border-radius: 8px !important;
    transition: background .15s ease !important;
}
body .dwf-hc__ride:hover { background: #f8f9fb !important; }
body .dwf-hc__ride-dot { width: 10px !important; height: 10px !important; }

/* --- Weather card day pills --- */
body .dwf-wx__day {
    background: #fff !important;
    border: 1px solid #ececec !important;
    border-radius: 14px !important;
    padding: 18px 16px !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}
body .dwf-wx__day:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px -8px rgba(53,89,207,.15) !important;
}
body .dwf-wx__day-name {
    font-family: "Heebo", sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    color: #8a8a8a !important;
}
body .dwf-wx__day-hi {
    font-family: "Heebo", sans-serif !important;
    font-weight: 800 !important;
    font-size: 22px !important;
    color: #0a0a0a !important;
}

/* --- Sidebar "more tools" widget on tool pages --- */
body .dwf-sb-tool {
    padding: 16px !important;
    background: #fff !important;
    border: 1px solid #ececec !important;
}
body .dwf-sb-tool__name {
    font-family: "Heebo", sans-serif !important;
    font-weight: 700 !important;
}

/* --- Dark mode bump --- */
[data-site-skin='dark'] body .dwf-quiz__opt,
[data-site-skin='dark'] body .dwf-ride-card,
[data-site-skin='dark'] body .dwf-calc,
[data-site-skin='dark'] body .dwf-hc__park,
[data-site-skin='dark'] body .dwf-wx__day,
[data-site-skin='dark'] body .dwf-sb-tool {
    background: #161616 !important;
    border-color: #262626 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.2) !important;
}
[data-site-skin='dark'] body .dwf-quiz__opt:hover,
[data-site-skin='dark'] body .dwf-ride-card:hover,
[data-site-skin='dark'] body .dwf-wx__day:hover,
[data-site-skin='dark'] body .dwf-sb-tool:hover {
    border-color: #3a3a3a !important;
    box-shadow: 0 8px 22px -8px rgba(0,0,0,.5) !important;
}
[data-site-skin='dark'] body .dwf-calc input,
[data-site-skin='dark'] body .dwf-calc select,
[data-site-skin='dark'] body .dwf-hc input,
[data-site-skin='dark'] body .dwf-pr__select {
    background: #1d1d1d !important;
    border-color: #333 !important;
    color: #f0f0f0 !important;
}

/* =====================================================
   Calculator dropdown + disclaimer fixes (v1.0.9)
   ===================================================== */

/* Selects were inheriting letter-spacing/text-transform from somewhere */
body .dwf-calc select,
body .dwf-pr__select,
body .dwf-pr__field select {
    letter-spacing: normal !important;
    text-transform: none !important;
    text-indent: 0 !important;
    word-spacing: normal !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    /* native select arrow needs room */
    padding-right: 36px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='1 1 6 7 11 1'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px 8px !important;
    min-width: 0 !important;
}

/* The disclaimer line is being clipped — let it wrap and break the container constraint */
body .dwf-calc__disclaimer,
body .dwf-disclosure {
    max-width: 100% !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    overflow: visible !important;
    white-space: normal !important;
}

/* Ensure calculator inputs/selects sit cleanly inside grid cells */
body .dwf-calc__inputs > *,
body .dwf-calc__line,
body .dwf-pr__inputs > * {
    min-width: 0 !important;  /* lets flex/grid children shrink instead of overflowing */
}

/* =====================================================
   Calculator fixes v2 (v1.0.10):
   - Remove max-width:260px constraint that's clipping dropdowns
   - Make rows stack on narrow screens
   - Disclaimer: proper padding/margin from edges
   ===================================================== */

/* Target the actual class used (.dwf-calc__select), higher specificity than original */
body .dwf-calc .dwf-calc__select {
    max-width: none !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    min-width: 200px !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 11px 36px 11px 14px !important;
    border: 1px solid #d8dadd !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='1 1 6 7 11 1'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px 8px !important;
    text-overflow: ellipsis !important;
}
body .dwf-calc .dwf-calc__select:focus {
    border-color: #3559CF !important;
    box-shadow: 0 0 0 3px rgba(53,89,207,.15) !important;
    outline: none !important;
}

/* Stack label above select on narrower viewports so long options fit */
@media (max-width: 900px) {
    body .dwf-calc__row {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }
    body .dwf-calc .dwf-calc__select {
        max-width: none !important;
        width: 100% !important;
    }
    body .dwf-calc__label {
        font-weight: 600 !important;
    }
}

/* Even on wide screens, give the select column more room */
@media (min-width: 901px) {
    body .dwf-calc__row {
        gap: 16px !important;
    }
    body .dwf-calc__label {
        flex: 0 0 38% !important;       /* label column 38% */
    }
    body .dwf-calc .dwf-calc__select {
        flex: 1 1 62% !important;       /* select column 62% — fits "Moderate — mix of quick service..." */
    }
}

/* Disclaimer: proper inset from edges */
body .dwf-calc__disclaimer {
    margin: 18px 20px 20px !important;
    padding: 16px 20px !important;
    border-radius: 10px !important;
    border: 1px solid #ececec !important;
    border-left: 3px solid #3559CF !important;
    background: #f8f9fb !important;
    box-sizing: border-box !important;
    max-width: calc(100% - 40px) !important;
}

/* =====================================================
   v1.0.12: stepper input — full reset with maximum specificity
   to defeat the generic input[type="number"] rule above.
   ===================================================== */
html body .dwf-calc .dwf-calc__stepper input.dwf-calc__step-val[type="number"] {
    border: 0 !important;
    border-left: 1px solid #d8dadd !important;
    border-right: 1px solid #d8dadd !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    background-image: none !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-family: "Heebo", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0a0a0a !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    -webkit-appearance: textfield !important;
    outline: none !important;
    flex: 0 0 auto !important;
    transition: none !important;
}
html body .dwf-calc .dwf-calc__stepper input.dwf-calc__step-val[type="number"]:focus {
    box-shadow: none !important;
    outline: none !important;
}
html body .dwf-calc .dwf-calc__stepper input.dwf-calc__step-val[type="number"]::-webkit-inner-spin-button,
html body .dwf-calc .dwf-calc__stepper input.dwf-calc__step-val[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

html body .dwf-calc .dwf-calc__stepper {
    border: 1px solid #d8dadd !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: stretch !important;
    background: #fff !important;
    box-shadow: none !important;
    padding: 0 !important;
}
html body .dwf-calc .dwf-calc__stepper .dwf-calc__step {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f5f6f8 !important;
    color: #0a0a0a !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background .15s ease !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
}
html body .dwf-calc .dwf-calc__stepper .dwf-calc__step:hover {
    background: #e6e9ef !important;
}

/* Breakdown polish (was v1.0.11, didn't land) */
body .dwf-calc__breakdown {
    border-radius: 10px !important;
    border: 1px solid #ececec !important;
    overflow: hidden !important;
    background: #fff !important;
}
body .dwf-calc__line {
    padding: 14px 18px !important;
    font-size: 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
body .dwf-calc__line:last-child {
    border-bottom: none !important;
}
body .dwf-calc__line--total {
    background: #f8f9fb !important;
    padding: 16px 18px !important;
    font-weight: 700 !important;
}
body .dwf-calc__line--total .dwf-calc__line-amount {
    font-size: 17px !important;
}

/* =====================================================
   Homepage card v2 — bigger icons, subtle tinted
   background, button-style CTAs. v1.0.14
   ===================================================== */

/* Bigger, more visible icon container with subtle inner shadow */
body .dwf-hs__card .dwf-hs__icon {
    width: 56px !important;
    height: 56px !important;
    border-radius: 14px !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.04) !important;
}
body .dwf-hs__card .dwf-hs__icon svg {
    width: 30px !important;
    height: 30px !important;
    stroke-width: 2 !important;
}

/* Subtle background wash per card variant — very light, only on hover */
body .dwf-hs__card { position: relative !important; overflow: hidden !important; }
body .dwf-hs__card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, transparent 60%, rgba(53,89,207,.04) 100%) !important;
    pointer-events: none !important;
    transition: opacity .2s ease !important;
    opacity: 0 !important;
    z-index: 0 !important;
}
body .dwf-hs__card:hover::after { opacity: 1 !important; }
body .dwf-hs__card--calc::after   { background: linear-gradient(135deg, transparent 60%, rgba(26,122,58,.05) 100%) !important; }
body .dwf-hs__card--height::after { background: linear-gradient(135deg, transparent 60%, rgba(192,122,0,.05) 100%) !important; }
body .dwf-hs__card--park::after   { background: linear-gradient(135deg, transparent 60%, rgba(26,58,138,.05) 100%) !important; }

/* Make sure content is above the wash */
body .dwf-hs__card > * { position: relative !important; z-index: 1 !important; }

/* Headline value text bigger and tighter */
body .dwf-hs__card .dwf-hs__value {
    font-size: 24px !important;
    line-height: 1.2 !important;
    letter-spacing: -.01em !important;
    margin-top: 4px !important;
}

/* Sub-text more readable */
body .dwf-hs__card .dwf-hs__sub {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-top: 2px !important;
    color: #5a5a5a !important;
}

/* CTA: button-style chip, not text link */
body .dwf-hs__card .dwf-hs__link {
    margin-top: 14px !important;
    padding: 9px 16px !important;
    border-radius: 8px !important;
    background: #3559CF !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    align-self: flex-start !important;
    border: none !important;
    transition: background .15s ease, transform .05s ease, box-shadow .2s ease !important;
    box-shadow: 0 1px 2px rgba(53,89,207,.18) !important;
}
body .dwf-hs__card .dwf-hs__link:hover {
    background: #2a47a8 !important;
    border-bottom-color: transparent !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px -2px rgba(53,89,207,.35) !important;
    text-decoration: none !important;
}
body .dwf-hs__card--calc   .dwf-hs__link { background: #1a7a3a !important; box-shadow: 0 1px 2px rgba(26,122,58,.18) !important; }
body .dwf-hs__card--calc   .dwf-hs__link:hover { background: #126129 !important; box-shadow: 0 4px 12px -2px rgba(26,122,58,.35) !important; }
body .dwf-hs__card--height .dwf-hs__link { background: #c07a00 !important; box-shadow: 0 1px 2px rgba(192,122,0,.18) !important; }
body .dwf-hs__card--height .dwf-hs__link:hover { background: #9c6300 !important; box-shadow: 0 4px 12px -2px rgba(192,122,0,.35) !important; }
body .dwf-hs__card--park   .dwf-hs__link { background: #1a3a8a !important; box-shadow: 0 1px 2px rgba(26,58,138,.18) !important; }
body .dwf-hs__card--park   .dwf-hs__link:hover { background: #14306e !important; box-shadow: 0 4px 12px -2px rgba(26,58,138,.35) !important; }

/* CTA arrow: bigger, more confident */
body .dwf-hs__card .dwf-hs__link svg {
    width: 14px !important;
    height: 14px !important;
    stroke-width: 2.5 !important;
}

/* Padding bump for breathing room */
body .dwf-hs__card { padding: 26px !important; gap: 16px !important; }

/* Label hover effect */
body .dwf-hs__card .dwf-hs__label {
    color: #6b6b6b !important;
    font-weight: 700 !important;
}

/* =====================================================
   Related Guides block (v1.0.15)
   Appended to every post. Inline styles handle the base
   look; these rules add hover, responsive and dark mode.
   ===================================================== */
body .dwf-related__grid a {
    transition: border-color .15s ease, box-shadow .2s ease, transform .12s ease !important;
}
body .dwf-related__grid a:hover {
    border-color: #3559CF !important;
    box-shadow: 0 6px 18px -6px rgba(53,89,207,.25) !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}
body .dwf-related h2 {
    font-family: "Heebo", sans-serif !important;
    font-weight: 700 !important;
}

/* Single column on narrow screens */
@media (max-width: 700px) {
    body .dwf-related__grid { grid-template-columns: 1fr !important; }
    body .dwf-related { padding: 20px !important; }
}

/* Dark mode */
[data-site-skin='dark'] body .dwf-related {
    background: #141414 !important;
    border-color: #262626 !important;
}
[data-site-skin='dark'] body .dwf-related__grid a {
    background: #1b1b1b !important;
    border-color: #2e2e2e !important;
    color: #e8e8e8 !important;
}
[data-site-skin='dark'] body .dwf-related__grid a:hover {
    border-color: #3559CF !important;
    box-shadow: 0 6px 18px -6px rgba(0,0,0,.6) !important;
}
[data-site-skin='dark'] body .dwf-related h2 { color: #f0f0f0 !important; }
[data-site-skin='dark'] body .dwf-related p  { color: #999 !important; }

/* Content tables, 14 Oct 2026.
   One style for every table in post content. It replaces the parent theme's
   default (solid blue centred headers, every cell centred, links inside tables
   drawn as black block buttons) and the older dwf-compare-table grid. Some
   posts carry their own <style> block with !important table rules, so these
   selectors start "html body" to outrank them.
   The footer script in functions.php wraps each table in .dwf-tw (the rounded
   frame and the horizontal scroller), copies each column header into the
   cells as data-label, and marks tables of up to 4 columns .dwf-stack so they
   become one card per row on phones. Without the script the tables still get
   this styling, just without the frame. */
html body .fn__single_content .dwf-tw {
    margin: 26px 0 !important;
    border: 1px solid #e4e7ec;
    border-radius: 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}
html body .fn__single_content table {
    width: 100% !important;
    margin: 0 0 22px !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: transparent !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #344054 !important;
    font-variant-numeric: tabular-nums;
}
html body .fn__single_content .dwf-tw > table { margin: 0 !important; }
html body .fn__single_content table tr { border: 0 !important; background: transparent !important; }
/* The theme sets word-break: break-word on everything, which lets a table squeeze
   a column narrower than its words ("$6.9" over "9"). Cells wrap between words only. */
html body .fn__single_content table th,
html body .fn__single_content table td { word-break: normal !important; overflow-wrap: break-word !important; hyphens: manual !important; }
html body .fn__single_content table th {
    padding: 12px 16px !important;
    background: #f7f8fa !important;
    color: #475467 !important;
    font-family: var(--hff), sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    text-align: left !important;
    vertical-align: bottom !important;
    border: 0 !important;
    border-bottom: 1px solid #e4e7ec !important;
    white-space: nowrap;
}
html body .fn__single_content table td {
    padding: 14px 16px !important;
    background: transparent !important;
    color: #344054 !important;
    text-align: left !important;
    vertical-align: top !important;
    border: 0 !important;
    border-bottom: 1px solid #eef0f3 !important;
}
html body .fn__single_content table tbody tr:last-child td { border-bottom: 0 !important; }
html body .fn__single_content table tbody tr:hover td { background: #fafbfc !important; }
html body .fn__single_content table td:first-child { color: #101828 !important; font-weight: 500; }
html body .fn__single_content table a {
    display: inline !important;
    margin: 0 !important;
    background: none !important;
    line-height: inherit !important;
    font-size: inherit !important;
    text-align: inherit !important;
    color: #3559CF !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}
/* Wide tables scroll sideways with the first column pinned */
html body .fn__single_content .dwf-tw:not(.dwf-tw--stack) th:first-child,
html body .fn__single_content .dwf-tw:not(.dwf-tw--stack) td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
}
html body .fn__single_content .dwf-tw:not(.dwf-tw--stack) td:first-child { background: #fff !important; }
/* Small helpers for tables built in post content */
.fn__single_content .dwf-badge {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 26px; height: 26px; padding: 0 6px; margin-right: 10px;
    border-radius: 13px; color: #fff; font-size: 13px; font-weight: 700; line-height: 1;
    vertical-align: middle;
}
.fn__single_content .dwf-pill {
    display: inline-block; padding: 3px 10px; border-radius: 999px;
    font-size: 13px; font-weight: 600; line-height: 1.4; white-space: nowrap;
    background: color-mix(in srgb, var(--c, #475467) 12%, #fff); color: var(--c, #475467);
}
.fn__single_content .dwf-note { display: block; margin-top: 4px; font-size: 13px; color: #667085; }
.fn__single_content .dwf-cell-hotel { display: flex; align-items: flex-start; }
.fn__single_content .dwf-v { display: block; min-width: 0; }
@media (max-width: 640px) {
    html body .fn__single_content .dwf-tw { border-radius: 12px; margin: 22px 0 !important; }
    html body .fn__single_content table.dwf-stack thead,
    html body .fn__single_content table.dwf-stack tr.dwf-head {
        position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0);
    }
    html body .fn__single_content table.dwf-stack,
    html body .fn__single_content table.dwf-stack tbody { display: block; }
    html body .fn__single_content table.dwf-stack tr {
        display: block; padding: 14px 16px; border-bottom: 1px solid #eef0f3 !important;
    }
    html body .fn__single_content table.dwf-stack tbody tr:last-child { border-bottom: 0 !important; }
    html body .fn__single_content table.dwf-stack tbody tr:hover td { background: transparent !important; }
    html body .fn__single_content table.dwf-stack td {
        display: grid; grid-template-columns: minmax(84px, 36%) 1fr; gap: 12px;
        padding: 5px 0 !important; border: 0 !important;
    }
    html body .fn__single_content table.dwf-stack td::before {
        content: attr(data-label); color: #667085; font-size: 13px; font-weight: 600;
    }
    html body .fn__single_content table.dwf-stack td:first-child {
        display: block; padding: 0 0 8px !important; font-size: 16px; font-weight: 600;
    }
    html body .fn__single_content table.dwf-stack td:first-child::before,
    html body .fn__single_content table.dwf-stack td[data-label=""]::before { content: none; }
    html body .fn__single_content table.dwf-stack td[data-label=""] { display: block; }
}
[data-site-skin='dark'] body .fn__single_content .dwf-tw { background: #141414; border-color: #2a2a2a; box-shadow: none; }
[data-site-skin='dark'] body .fn__single_content table { color: #d0d0d0 !important; }
[data-site-skin='dark'] body .fn__single_content table th { background: #1b1b1b !important; color: #b8b8b8 !important; border-bottom-color: #2a2a2a !important; }
[data-site-skin='dark'] body .fn__single_content table td { color: #d0d0d0 !important; border-bottom-color: #232323 !important; }
[data-site-skin='dark'] body .fn__single_content table td:first-child { color: #f0f0f0 !important; }
[data-site-skin='dark'] body .fn__single_content table tbody tr:hover td { background: #181818 !important; }
[data-site-skin='dark'] body .fn__single_content .dwf-tw:not(.dwf-tw--stack) td:first-child { background: #141414 !important; }
[data-site-skin='dark'] body .fn__single_content table a { color: #8ea6ff !important; }
[data-site-skin='dark'] body .fn__single_content .dwf-pill { background: color-mix(in srgb, var(--c, #999) 22%, #141414); color: color-mix(in srgb, var(--c, #999) 55%, #fff); }
[data-site-skin='dark'] body .fn__single_content .dwf-note { color: #8a8a8a; }
@media (max-width: 640px) {
    [data-site-skin='dark'] body .fn__single_content table.dwf-stack tr { border-bottom-color: #232323 !important; }
}
