/* Numa Booking Pro - v1 Sprint 1.1 */
.numa-airbnb,.numa-confirm{--dark:#173528;--teal:#FE6146;--gold:#AC9460;--cream:#F8F5EF;--border:#e7ddcb;--muted:#5f6768;--soft:#F8F5EF;width:100%;margin:0;padding:0;background:transparent;color:var(--dark);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;scroll-behavior:smooth}.numa-airbnb *,.numa-confirm *{box-sizing:border-box;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.numa-airbnb h1,.numa-airbnb h2,.numa-airbnb h3,.numa-airbnb h4,.numa-airbnb h5,.numa-airbnb h6,.numa-confirm h1,.numa-confirm h2,.numa-confirm h3,.numa-confirm h4,.numa-confirm h5,.numa-confirm h6{font-family:"mezzotint-cf",sans-serif!important;font-weight:400!important;text-transform:capitalize}.numa-airbnb-grid,.numa-confirm-grid{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:56px;align-items:start}.numa-tour-head{padding:0 0 30px;border-bottom:1px solid var(--border)}.numa-eyebrow{margin:0 0 12px;color:var(--teal);text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:13px}.numa-tour-head h1,.numa-confirm h1,.numa-success h1{font-size:clamp(34px,4vw,58px);line-height:1;margin:0 0 20px;color:var(--dark)}.numa-tour-head p,.numa-confirm-intro{font-size:18px;line-height:1.75;color:#334047;max-width:820px;margin:0}.numa-fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:24px 0;border-bottom:1px solid var(--border)}.numa-fact-row div{background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px}.numa-fact-row strong{display:block;font-size:17px;margin-bottom:5px}.numa-fact-row span{display:block;font-size:14px;color:var(--muted);line-height:1.5}.numa-tabs{position:relative;top:auto;z-index:8;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);display:flex;gap:10px;overflow:auto;border:1px solid var(--border);border-left:0;border-right:0;padding:12px 0;margin:0 0 28px}.numa-tabs:before{content:"";display:none;color:var(--teal);padding:12px 18px 12px 0;white-space:nowrap}.numa-tabs a{color:var(--dark);text-decoration:none;font-weight:900;font-size:15px;white-space:nowrap;padding:12px 16px;border-radius:999px;background:#f3f5f4}.numa-tabs a:hover{color:#fff;background:var(--teal)}.numa-package-box{padding-top:0}.numa-package-box h2,.numa-section-card h2,.numa-confirm-form h2{font-size:clamp(30px,3vw,42px);line-height:1.05;margin:0 0 20px}.numa-package-line{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:20px;border:1px solid var(--border);border-radius:18px;margin-bottom:12px;background:#fff}.numa-package-line.is-included{border-color:rgba(254,97,70,.42);background:linear-gradient(180deg,rgba(254,97,70,.08),rgba(254,97,70,.025))}.numa-package-line strong{display:block;font-size:18px;margin-bottom:5px}.numa-package-line span{display:block;color:var(--muted);line-height:1.5}.numa-package-line em{font-style:normal;font-weight:900;color:var(--teal);white-space:nowrap;background:#FFF0EB;border-radius:999px;padding:8px 12px}.numa-section-card{padding:34px 0;border-bottom:1px solid var(--border);scroll-margin-top:205px}.numa-section-card p{font-size:17px;line-height:1.75;color:#334047;max-width:820px}.numa-timeline{display:grid;gap:18px}.numa-day-card{display:grid;grid-template-columns:78px 1fr;gap:22px;border-bottom:1px solid var(--border);background:#fff;padding:24px 0}.numa-day-num{width:68px;height:68px;border-radius:50%;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.numa-day-num span{text-transform:uppercase;font-size:10px;letter-spacing:.13em;color:#F6C6BA}.numa-day-num strong{font-size:28px;line-height:1}.numa-day-card ul{margin:0;padding-left:19px}.numa-day-card li{margin:0 0 10px;line-height:1.65;color:#334047}.numa-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.numa-list-grid div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px}.numa-list-grid div:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:12px;margin-right:10px}.numa-sticky-card{position:sticky;top:160px;background:var(--dark);color:#fff;border-radius:26px;padding:24px;max-width:100%;overflow:hidden}.numa-sticky-card *{max-width:100%}.numa-price-top{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:18px}.numa-price-top span{display:block;color:#c6d3d5;font-size:13px;margin-bottom:6px}.numa-price-top strong{display:block;font-size:30px;line-height:1.05;word-break:break-word}.numa-side-field{margin-bottom:17px}.numa-side-field label{display:block;font-size:14px;color:#d8e4e6;font-weight:900;margin-bottom:9px}.numa-side-field input,.numa-side-field select,.numa-form-row input,.numa-form-row select,.numa-form-row textarea{width:100%;height:50px;border:1px solid var(--border);border-radius:13px;background:#fff;color:#172126;padding:0 13px;font:inherit}.numa-form-row textarea{height:auto;padding:13px;resize:vertical}.numa-stepper{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:8px}.numa-stepper button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:13px;font-size:22px;cursor:pointer}.numa-stepper-light button{border-color:var(--border);background:#fff;color:#172126}.numa-room-options{display:grid;gap:10px;width:100%;overflow:hidden}.numa-room-option{display:block;width:100%;text-align:left;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;border-radius:16px;padding:15px;cursor:pointer;overflow:hidden}.numa-room-option strong{display:block;font-size:15px}.numa-room-option em{display:inline-block;margin:7px 0;font-style:normal;font-size:12px;font-weight:900;color:#173528;background:#fff;border-radius:99px;padding:5px 9px}.numa-room-option span{display:block;color:#c6d3d5;font-size:13px;line-height:1.45}.numa-room-option.is-selected{border-color:#F6C6BA;background:rgba(254,97,70,.22)}.numa-side-summary{display:grid;gap:12px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);padding:17px 0;margin:18px 0}.numa-side-summary div{display:flex;justify-content:space-between;gap:18px;color:#c6d3d5}.numa-side-summary strong{color:#fff;text-align:right;white-space:nowrap}.numa-book-btn,.numa-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;border:0;border-radius:14px;background:var(--teal);color:#fff;text-decoration:none;font-weight:900;cursor:pointer;transition:.25s ease}.numa-book-btn:hover,.numa-submit:hover{transform:translateY(-2px);color:#fff}.numa-sticky-card p{font-size:13px;line-height:1.55;color:#c6d3d5;text-align:center;margin:14px 0 0}.numa-confirm-form{background:#fff;border:1px solid var(--border);border-radius:26px;padding:34px}.numa-form{margin-top:30px}.numa-form-row{margin-bottom:18px}.numa-form-row label{display:block;font-size:14px;font-weight:900;margin-bottom:8px}.numa-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.numa-confirm-side{top:160px}.numa-traveller-card{border:1px solid var(--border);border-radius:18px;padding:20px;margin-bottom:14px;background:#fbfcfb}.numa-traveller-card h3{margin:0 0 14px;font-size:18px}.numa-success{background:#fff;border:1px solid var(--border);border-radius:26px;padding:40px}.numa-cal-head{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:7px;margin-bottom:9px}.numa-cal-head button{height:34px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0}.numa-cal-head strong{text-align:center;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.numa-cal-week,.numa-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.numa-cal-week span{font-size:10px;color:#c6d3d5;text-align:center}.numa-cal-grid button,.numa-cal-grid span{height:32px;min-width:0;border-radius:8px;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:13px;padding:0}.numa-cal-grid span.is-empty{background:transparent}.numa-cal-grid button:hover,.numa-cal-grid button.is-selected{background:#F6C6BA;color:#172126;font-weight:900}.numa-cal-grid button.is-disabled{opacity:.22;cursor:not-allowed}.numa-calendar-compact{width:100%;overflow:hidden}.numa-confirm .numa-calendar{background:#fbfcfb;border:1px solid var(--border);border-radius:18px;padding:18px}.numa-confirm .numa-calendar .numa-cal-head{grid-template-columns:40px 1fr 40px}.numa-confirm .numa-calendar .numa-cal-head button,.numa-confirm .numa-calendar .numa-cal-grid button{border:1px solid var(--border);background:#fff;color:#172126}.numa-confirm .numa-calendar .numa-cal-head strong{color:#172126;font-size:16px}.numa-confirm .numa-calendar .numa-cal-week span{color:var(--muted)}.numa-confirm .numa-calendar .numa-cal-grid{gap:6px}.numa-confirm .numa-calendar .numa-cal-grid button,.numa-confirm .numa-calendar .numa-cal-grid span{height:42px}.numa-confirm .numa-calendar .numa-cal-grid button:hover,.numa-confirm .numa-calendar .numa-cal-grid button.is-selected{background:var(--teal);color:#fff}@media(max-width:1200px){.numa-airbnb-grid,.numa-confirm-grid{grid-template-columns:minmax(0,1fr) minmax(310px,350px);gap:36px}.numa-sticky-card{padding:22px}.numa-cal-grid button,.numa-cal-grid span{height:30px;font-size:12px}.numa-room-option{padding:13px}.numa-price-top strong{font-size:28px}}@media(max-width:1024px){.numa-airbnb-grid,.numa-confirm-grid{grid-template-columns:1fr;gap:30px}.numa-sticky-card{position:relative;top:auto}.numa-fact-row{grid-template-columns:1fr 1fr}.numa-tabs{top:0}}@media(max-width:700px){.numa-fact-row,.numa-list-grid,.numa-two{grid-template-columns:1fr}.numa-day-card{grid-template-columns:1fr}.numa-tabs{gap:8px}.numa-tabs:before{display:none}.numa-confirm-form{padding:24px}.numa-sticky-card{border-radius:20px}.numa-package-line{grid-template-columns:1fr}.numa-confirm .numa-calendar .numa-cal-grid button,.numa-confirm .numa-calendar .numa-cal-grid span{height:34px}}

/* Sprint 1.2 refinements */
.numa-airbnb .numa-tour-side-card{
    position:relative!important;
    top:auto!important;
    align-self:start;
}
.numa-selected-summary div{
    align-items:flex-start;
}
.numa-selected-summary span{
    min-width:0;
}
.numa-selected-summary strong{
    max-width:58%;
    white-space:normal!important;
    line-height:1.35;
}
.numa-selected-date,
.numa-selected-room,
.numa-selected-pickup{
    font-size:13px;
}
@media(max-width:1024px){
    .numa-airbnb .numa-tour-side-card{position:relative!important;top:auto!important;}
}

/* Sprint 1.3 transport + summary refinements */
.numa-transfer-field small,
.numa-form-note{
    display:block;
    margin-top:7px;
    color:#c6d3d5;
    font-size:12px;
    line-height:1.45;
}
.numa-confirm .numa-form-note{
    color:#66747a;
    margin:-6px 0 18px;
    max-width:760px;
}
.numa-tour-side-card .numa-side-summary{
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    padding:16px;
}
.numa-selected-summary div{
    padding-bottom:9px;
    border-bottom:1px solid rgba(255,255,255,.09);
}
.numa-selected-summary div:last-child{
    border-bottom:0;
    padding-bottom:0;
}
.numa-confirm .numa-selected-summary div{
    border-bottom:1px solid rgba(255,255,255,.09);
}
.numa-side-summary .numa-selected-pickup,
.numa-side-summary .numa-selected-dropoff{
    font-size:12px;
}
.numa-airbnb .numa-tour-side-card{
    margin-top:28px;
}
.numa-confirm-grid{
    align-items:start;
}
.numa-confirm-side{
    position:sticky;
    top:160px;
}
.numa-submit{
    margin-top:12px;
}
@media(max-width:1024px){
    .numa-confirm-side{position:relative;top:auto;}
    .numa-airbnb .numa-tour-side-card{margin-top:0;}
}

/* Sprint 1.4 refinements */
.numa-tabs{
    background:#F5F1E7!important;
    padding:14px 16px!important;
    border-radius:0!important;
    border:1px solid #e7ddcb!important;
    margin:0 0 34px!important;
}
.numa-tabs:before{
    color:#2A737E!important;
}
.numa-tabs a{
    background:rgba(255,255,255,.68)!important;
}
.numa-tabs a:hover{
    background:var(--teal)!important;
}
.numa-room-option,
.numa-room-option strong,
.numa-room-option em,
.numa-room-option span{
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
}
.numa-room-option span{
    font-size:12px!important;
    line-height:1.5!important;
    max-width:100%!important;
}
.numa-sticky-card{
    overflow:visible!important;
}
.numa-calendar-compact,
.numa-room-options,
.numa-side-summary{
    overflow:hidden!important;
}
.numa-itinerary-map{
    margin-top:28px;
    padding-top:28px;
    border-top:1px solid var(--border);
}
.numa-itinerary-map > *{
    max-width:100%;
}
.numa-accommodation-photos{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:24px;
}
.numa-accommodation-photos img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
    border-radius:18px;
    border:1px solid var(--border);
}
.numa-section-card + .numa-section-card{
    border-top:0!important;
}
.numa-transfer-total,
.numa-grand-total{
    color:#fff!important;
}
.numa-side-summary div:has(.numa-grand-total){
    padding-top:8px;
    margin-top:2px;
}
.numa-side-summary .numa-grand-total{
    font-size:17px;
}
@media(max-width:700px){
    .numa-accommodation-photos{grid-template-columns:1fr;}
    .numa-accommodation-photos img{height:220px;}
}


/* Sprint 1.5 layout refinements */
.numa-airbnb{
    overflow:visible!important;
}
.numa-tabs-full{
    width:100%!important;
    max-width:none!important;
    margin:0 0 34px!important;
    position:sticky!important;
    top:135px!important;
    z-index:20!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    padding:18px max(18px,calc((100vw - 1320px) / 2))!important;
    background:#F5F1E7!important;
    border:0!important;
    border-top:1px solid #e7ddcb!important;
    border-bottom:1px solid #e7ddcb!important;
    
}
.numa-tabs-full:before{
    content:"Tour menu"!important;
    display:inline-flex!important;
    align-items:center!important;
    margin-right:12px!important;
    color:#2A737E!important;
    font-weight:900!important;
    white-space:nowrap!important;
}
.numa-tabs-full a{
    display:inline-flex!important;
    align-items:center!important;
    min-height:44px!important;
    padding:0 22px!important;
    border-radius:999px!important;
    background:#fff!important;
    border:1px solid rgba(231,221,203,.72)!important;
    
}
.numa-tabs-full a:hover{
    background:var(--teal)!important;
    color:#fff!important;
}
.numa-tour-head,
.numa-fact-row,
.numa-section-card,
.numa-package-box{
    border-top:0!important;
}
.numa-section-card{
    border-bottom:1px solid #eee8dd!important;
}
.numa-section-card + .numa-section-card{
    border-top:0!important;
}
.numa-package-box{
    padding-top:34px!important;
}
.numa-accommodation-photos{
    display:none!important;
}
.numa-itinerary-section .numa-section-intro{
    max-width:820px;
    margin:0 0 24px;
    color:#46545a;
    font-size:17px;
    line-height:1.75;
}
.numa-timeline{
    position:relative;
    gap:0!important;
    padding-left:0;
}
.numa-timeline:before{
    content:"";
    position:absolute;
    left:41px;
    top:44px;
    bottom:44px;
    width:2px;
    background:linear-gradient(to bottom, var(--teal), rgba(254,97,70,.08));
}
.numa-day-card{
    position:relative;
    display:grid!important;
    grid-template-columns:84px minmax(0,1fr)!important;
    gap:22px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    padding:0 0 32px!important;
    
}
.numa-day-card:last-child{
    padding-bottom:0!important;
}
.numa-day-num{
    position:relative;
    z-index:2;
    width:84px!important;
    height:84px!important;
    border:8px solid #fff!important;
    
}
.numa-day-content{
    background:#fff;
    border:1px solid var(--border);
    border-radius:22px;
    padding:24px 28px;
    
}
.numa-day-content h3{
    margin:0 0 14px!important;
    font-size:26px!important;
    line-height:1.05!important;
}
.numa-day-content ul{
    margin:0;
    padding-left:18px;
}
.numa-day-content li{
    margin:0 0 10px;
    line-height:1.65;
    color:#334047;
}
.numa-day-content li:last-child{
    margin-bottom:0;
}
.numa-side-contact{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:14px;
    min-height:44px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:14px;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:900;
    font-size:13px;
    background:rgba(255,255,255,.06);
}
.numa-side-contact:hover{
    background:#fff;
    color:#173528!important;
}
@media(max-width:1024px){
    .numa-tabs-full{
        position:relative!important;
        top:auto!important;
        justify-content:flex-start!important;
        overflow-x:auto!important;
        flex-wrap:nowrap!important;
        padding:14px 16px!important;
    }
    .numa-side-contact{display:none!important;}
}
@media(max-width:700px){
    .numa-tabs-full:before{display:none!important;}
    .numa-tabs-full a{
        min-height:40px!important;
        padding:0 16px!important;
        font-size:13px!important;
    }
    .numa-timeline:before{left:32px;}
    .numa-day-card{
        grid-template-columns:64px minmax(0,1fr)!important;
        gap:14px!important;
        padding-bottom:24px!important;
    }
    .numa-day-num{
        width:64px!important;
        height:64px!important;
        border-width:6px!important;
    }
    .numa-day-num strong{font-size:24px!important;}
    .numa-day-content{padding:18px; border-radius:18px;}
    .numa-day-content h3{font-size:22px!important;}
    .numa-day-content li{font-size:14px;}
}

/* Sprint 1.6 - visual storytelling upgrades */
.numa-route-mood{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:0 0 28px;
}
.numa-route-mood div{
    background:#F5F1E7;
    border:1px solid #e7ddcb;
    border-radius:18px;
    padding:18px;
}
.numa-route-mood span{
    display:block;
    color:#2A737E;
    font-weight:900;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:7px;
}
.numa-route-mood strong{
    display:block;
    color:#173528;
    font-size:15px;
    line-height:1.35;
}
.numa-itinerary-section{
    position:relative;
}
.numa-day-card:nth-child(even) .numa-day-content{
    background:linear-gradient(180deg,#fff,#fbf7ee);
}
.numa-day-content{
    position:relative;
    overflow:hidden;
}
.numa-day-content:after{
    content:"";
    position:absolute;
    right:-38px;
    top:-38px;
    width:120px;
    height:120px;
    border-radius:50%;
    background:rgba(42,115,126,.07);
    pointer-events:none;
}
.numa-day-content h3:before{
    content:"";
    display:inline-block;
    width:12px;
    height:12px;
    border-radius:50%;
    background:#2A737E;
    margin-right:10px;
    vertical-align:middle;
}
.numa-adventure-strip{
    margin:34px 0;
    padding:34px;
    border-radius:28px;
    background:radial-gradient(circle at top right,rgba(42,115,126,.32),transparent 36%),linear-gradient(135deg,#173528,#11191b);
    color:#fff;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
    gap:28px;
    align-items:center;
    overflow:hidden;
}
.numa-adventure-strip .numa-eyebrow{color:#F6C6BA;}
.numa-adventure-strip h2{
    margin:0 0 14px!important;
    color:#fff!important;
    font-size:clamp(30px,3.4vw,48px)!important;
    line-height:1.02!important;
}
.numa-adventure-strip p:not(.numa-eyebrow){
    color:#d7e2e4;
    line-height:1.75;
    margin:0;
}
.numa-adventure-cards{
    display:grid;
    gap:12px;
}
.numa-adventure-cards div{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
    border-radius:18px;
    padding:18px;
}
.numa-adventure-cards span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#2A737E;
    color:#fff;
    font-weight:900;
    margin-right:10px;
}
.numa-adventure-cards strong{
    color:#fff;
    font-size:17px;
}
.numa-adventure-cards em{
    display:block;
    margin-top:8px;
    color:#c9d8da;
    font-style:normal;
    line-height:1.5;
}
.numa-icon-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.numa-icon-grid div{
    min-height:112px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    padding:18px;
    
}
.numa-icon-grid span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#2A737E;
    color:#fff;
    font-weight:900;
    margin-bottom:12px;
}
.numa-icon-grid strong{
    display:block;
    font-size:15px;
    line-height:1.35;
    color:#173528;
}
.numa-ride-cta{
    margin:42px 0 10px;
    padding:38px;
    border-radius:28px;
    background:#F5F1E7;
    border:1px solid #e7ddcb;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:center;
}
.numa-ride-cta h2{
    margin:0 0 10px!important;
    font-size:clamp(30px,3vw,46px)!important;
    line-height:1.05!important;
}
.numa-ride-cta p:not(.numa-eyebrow){
    margin:0;
    color:#46545a;
    line-height:1.7;
    max-width:780px;
}
.numa-ride-cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    padding:0 28px;
    border-radius:999px;
    background:#2A737E;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:900;
    white-space:nowrap;
}
@media(max-width:1024px){
    .numa-route-mood,
    .numa-adventure-strip,
    .numa-ride-cta{grid-template-columns:1fr;}
    .numa-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
    .numa-route-mood{grid-template-columns:1fr;}
    .numa-adventure-strip,
    .numa-ride-cta{padding:24px;border-radius:22px;}
    .numa-icon-grid{grid-template-columns:1fr;}
    .numa-icon-grid div{min-height:auto;}
}

/* Sprint 1.7 - cleaner itinerary + interactive photo moments */
.numa-route-mood,
.numa-adventure-strip,
.numa-ride-cta{
    display:none!important;
}
.numa-day-card{
    border:0!important;
    background:transparent!important;
    
}
.numa-day-num{
    
}
.numa-day-content{
    background:#F5F1E7!important;
    border:1px solid #e7ddcb!important;
    
}
.numa-day-card:nth-child(even) .numa-day-content{
    background:#F5F1E7!important;
}
.numa-day-content:after{
    display:none!important;
}
.numa-itinerary-map{
    border-top:0!important;
    padding-top:18px!important;
}
.numa-photo-moments{
    margin:34px 0 0;
    padding:32px;
    border-radius:28px;
    background:#F5F1E7;
    border:1px solid #e7ddcb;
}
.numa-photo-moments-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.numa-photo-moments-head .numa-eyebrow{
    margin:0;
}
.numa-photo-moments-head h2{
    margin:0!important;
    font-size:clamp(30px,3vw,44px)!important;
    line-height:1!important;
}
.numa-photo-moment-grid{
    display:grid;
    grid-template-columns:1.25fr .9fr .9fr;
    gap:14px;
}
.numa-photo-moment{
    min-height:260px;
    border-radius:24px;
    overflow:hidden;
    position:relative;
    background:
        linear-gradient(135deg,rgba(32,42,45,.12),rgba(42,115,126,.18)),
        radial-gradient(circle at 20% 20%,rgba(42,115,126,.25),transparent 40%),
        #173528;
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:flex-end;
    transition:transform .35s ease, filter .35s ease;
}
.numa-photo-moment:first-child{
    min-height:320px;
}
.numa-photo-moment:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(17,25,27,.82),rgba(17,25,27,.22) 55%,rgba(17,25,27,.04));
    z-index:1;
}
.numa-photo-moment:hover{
    transform:translateY(-6px);
    filter:saturate(1.08);
}
.numa-photo-moment div{
    position:relative;
    z-index:2;
    padding:22px;
    color:#fff;
}
.numa-photo-moment span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#2A737E;
    color:#fff;
    font-weight:900;
    margin-bottom:12px;
}
.numa-photo-moment strong{
    display:block;
    color:#fff;
    font-size:22px;
    line-height:1.1;
    margin-bottom:8px;
}
.numa-photo-moment em{
    display:block;
    color:#e8f1f2;
    font-style:normal;
    line-height:1.5;
    font-size:14px;
}
@media(max-width:1024px){
    .numa-photo-moment-grid{
        grid-template-columns:1fr;
    }
    .numa-photo-moment,
    .numa-photo-moment:first-child{
        min-height:260px;
    }
}
@media(max-width:700px){
    .numa-photo-moments{
        padding:20px;
        border-radius:22px;
    }
    .numa-photo-moments-head{
        display:block;
    }
    .numa-photo-moments-head .numa-eyebrow{
        margin-bottom:8px;
    }
    .numa-photo-moment,
    .numa-photo-moment:first-child{
        min-height:220px;
        border-radius:18px;
    }
}


/* Sprint 2 - cleaner cream cards and simplified tour flow */
.numa-photo-moments{display:none!important;}
.numa-package-line,
.numa-list-grid div,
.numa-icon-grid div,
.numa-confirm-form,
.numa-traveller-card{
    background:#F5F1E7!important;
    
}
.numa-package-line.is-included{
    background:#F5F1E7!important;
    border-color:rgba(254,97,70,.42)!important;
}
.numa-icon-grid div,
.numa-list-grid div{
    border-color:#e7ddcb!important;
}
.numa-package-line,
.numa-day-content,
.numa-list-grid div,
.numa-icon-grid div,
.numa-fact-row div{
    
}
.numa-list-grid div:hover,
.numa-icon-grid div:hover,
.numa-package-line:hover{
    transform:none!important;
    
}
.numa-section-card{
    border-bottom:1px solid #e7ddcb!important;
}
.numa-section-card + .numa-section-card{
    border-top:0!important;
}
.numa-icon-grid div{
    min-height:112px;
}
@media(max-width:1024px){
    .numa-icon-grid,
    .numa-list-grid{
        grid-template-columns:1fr 1fr!important;
    }
}
@media(max-width:700px){
    .numa-icon-grid,
    .numa-list-grid{
        grid-template-columns:1fr!important;
    }
    .numa-package-line,
    .numa-list-grid div,
    .numa-icon-grid div{
        border-radius:16px!important;
    }
}
.numa-cal-grid button.is-unavailable,
.numa-cal-grid button.is-soldout,
.numa-cal-grid button.is-blocked{opacity:.32;cursor:not-allowed;text-decoration:line-through;position:relative;}
.numa-confirm .numa-calendar .numa-cal-grid button.is-unavailable,
.numa-confirm .numa-calendar .numa-cal-grid button.is-soldout,
.numa-confirm .numa-calendar .numa-cal-grid button.is-blocked{background:#f3f0ec;color:#9a8f85;}
.numa-booking-error{border-color:#d63638;background:#fff8f8;}


/* Sprint 5 refinements */
.numa-airbnb,
.numa-confirm{--dark:#163B4B!important;}
.numa-tabs,
.numa-tabs-full{
  position:relative!important;
  top:auto!important;
  z-index:5!important;
  box-shadow:none!important;
}
.numa-tabs:before,
.numa-tabs-full:before{
  content:""!important;
  display:none!important;
}
.numa-tabs-full{
  justify-content:center!important;
  padding:16px 24px!important;
  margin:0 0 28px!important;
}
.numa-tabs-full a[href="#important-info"]{display:none!important;}
.numa-sticky-card,
.numa-confirm-side,
.numa-tour-side-card{
  background:#163B4B!important;
  box-shadow:none!important;
}
.numa-hotel-photo-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:26px;
}
.numa-hotel-photo-grid figure{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--border);
}
.numa-hotel-photo-grid img{
  width:100%;
  height:245px;
  object-fit:cover;
  display:block;
}
.numa-hotel-photo-grid figcaption{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(22,59,75,.92);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
}
.numa-booking-thanks{
  max-width:720px;
  margin:50px auto;
  text-align:center;
}
.numa-thanks-home{
  max-width:240px;
  margin:24px auto 0;
}
@media(max-width:900px){
  .numa-hotel-photo-grid{grid-template-columns:1fr;}
  .numa-hotel-photo-grid img{height:230px;}
}


/* Sprint 6 refinements */
.numa-tabs-full,
.numa-tabs{
  position:relative!important;
  top:auto!important;
  box-shadow:none!important;
}
.numa-tabs-full:before,
.numa-tabs:before{
  content:none!important;
  display:none!important;
}
.numa-tabs-full a[href="#important-info"]{display:none!important;}
.numa-sticky-card,
.numa-tour-side-card,
.numa-confirm-side{
  background:#163B4B!important;
  box-shadow:none!important;
}
.numa-sticky-card:before,
.numa-sticky-card:after,
.numa-confirm-side:before,
.numa-confirm-side:after{
  display:none!important;
  content:none!important;
}
.numa-side-summary{
  border-top:0!important;
  border-bottom:0!important;
  padding:6px 0!important;
  margin:14px 0!important;
  gap:0!important;
}
.numa-side-summary div{
  padding:11px 0!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
}
.numa-side-summary div:first-child{border-top:0!important;}
.numa-price-top{
  border-bottom:1px solid rgba(255,255,255,.13)!important;
}
.numa-tour-route-section .numa-section-intro{
  margin:0 0 22px!important;
  max-width:760px!important;
}
.numa-tour-route-inline{
  width:100%;
  max-width:980px;
  border:1px solid #e7ddcb;
  border-radius:24px;
  overflow:hidden;
  background:#fbf7ef;
}
.numa-tour-route-inline .numa-rex{
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
.numa-tour-route-inline .numa-rex__header,
.numa-tour-route-inline .numa-rex__key{
  display:none!important;
}
.numa-tour-route-inline .numa-rex__stage{
  min-height:560px!important;
  height:560px!important;
  padding:0!important;
}
.numa-tour-route-inline .numa-rex__mapPanel{
  height:100%!important;
  min-height:0!important;
  background:transparent!important;
}
.numa-tour-route-inline .numa-rex__mapCanvas{
  transform:scale(.9)!important;
  transform-origin:center center!important;
}
.numa-booking-error .numa-submit,
.numa-booking-thanks .numa-submit{
  max-width:260px;
}
@media(max-width:900px){
  .numa-tour-route-inline .numa-rex__stage{height:480px!important;min-height:480px!important;}
  .numa-tour-route-inline .numa-rex__mapCanvas{transform:scale(.82)!important;}
}
@media(max-width:700px){
  .numa-tour-route-inline .numa-rex__stage{height:430px!important;min-height:430px!important;}
  .numa-tour-route-inline .numa-rex__mapCanvas{transform:scale(.72)!important;}
}


/* Sprint 7 colour, payment, calendar and map refinements */
.numa-airbnb,
.numa-confirm{
  --dark:#173528!important;
  --teal:#173528!important;
  --cream:#F8F5EF!important;
  --orange:#FE6146!important;
  --gold:#AC9460!important;
  --border:#e7ddcb!important;
  --soft:#F8F5EF!important;
}
.numa-sticky-card,
.numa-tour-side-card,
.numa-confirm-side{
  background:#173528!important;
  box-shadow:none!important;
  border:0!important;
}
.numa-price-top,
.numa-side-summary,
.numa-side-summary div{
  border:0!important;
}
.numa-side-summary div{
  padding:8px 0!important;
}
.numa-book-btn,
.numa-submit{
  background:#FE6146!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
.numa-book-btn:hover,
.numa-submit:hover{
  background:#e9543d!important;
}
.numa-tabs-full,
.numa-tabs{
  background:#F8F5EF!important;
  border-color:#e7ddcb!important;
  position:relative!important;
  top:auto!important;
  box-shadow:none!important;
}
.numa-tabs a{
  background:#fff!important;
  color:#173528!important;
  border:1px solid #e7ddcb!important;
}
.numa-tabs a:hover{
  background:#FE6146!important;
  color:#fff!important;
  border-color:#FE6146!important;
}
.numa-eyebrow,
.numa-package-line em,
.numa-list-grid div:before{
  color:#173528!important;
}
.numa-package-line.is-included{
  background:#F8F5EF!important;
  border-color:#AC9460!important;
}
.numa-thanks-secondary{
  display:inline-block;
  margin-top:16px;
  color:#173528!important;
  font-weight:800;
  text-decoration:none;
}
.numa-tour-route-inline{
  max-width:100%!important;
  border-radius:24px!important;
  overflow:visible!important;
  background:#F8F5EF!important;
}
.numa-tour-route-inline .numa-rex__stage{
  height:640px!important;
  min-height:640px!important;
  overflow:visible!important;
}
.numa-tour-route-inline .numa-rex__mapPanel,
.numa-tour-route-inline .numa-rex__mapWrap{
  overflow:visible!important;
}
.numa-tour-route-inline .numa-rex__mapCanvas{
  transform:scale(.78)!important;
  transform-origin:center center!important;
}
@media(max-width:900px){
  .numa-tour-route-inline .numa-rex__stage{height:560px!important;min-height:560px!important;}
  .numa-tour-route-inline .numa-rex__mapCanvas{transform:scale(.70)!important;}
}
@media(max-width:700px){
  .numa-tour-route-inline .numa-rex__stage{height:480px!important;min-height:480px!important;}
  .numa-tour-route-inline .numa-rex__mapCanvas{transform:scale(.62)!important;}
}


/* ================================
   Sprint 8 polish - Numa colours
================================ */
.numa-airbnb,
.numa-confirm{
  --dark:#173528;
  --teal:#FE6146;
  --gold:#AC9460;
  --cream:#F8F5EF;
  --border:#e7ddcb;
  --muted:#5f6768;
  --soft:#F8F5EF;
}

/* Booking side card: pure green panel, no inner boxed frame look */
.numa-sticky-card,
.numa-confirm-side{
  background:#173528!important;
  box-shadow:none!important;
  border:0!important;
}
.numa-sticky-card:before,
.numa-sticky-card:after,
.numa-confirm-side:before,
.numa-confirm-side:after{display:none!important;content:none!important;}
.numa-side-summary{
  border-top:0!important;
  border-bottom:0!important;
  padding:10px 0 14px!important;
  margin:12px 0 14px!important;
  gap:9px!important;
}
.numa-side-summary div{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  color:rgba(255,255,255,.78)!important;
}
.numa-side-summary strong{color:#fff!important;}
.numa-price-top{
  border-bottom:1px solid rgba(248,245,239,.16)!important;
}

/* Primary buttons in the booking plugin use the Numa orange/red */
.numa-book-btn,
.numa-submit,
.numa-confirm .numa-calendar .numa-cal-grid button.is-selected,
.numa-confirm .numa-calendar .numa-cal-grid button:hover{
  background:#FE6146!important;
  color:#fff!important;
}
.numa-book-btn:hover,
.numa-submit:hover{
  background:#e84f37!important;
}

/* Tick/check icon colours */
.numa-list-grid div:before{
  background:#FE6146!important;
  color:#fff!important;
}
.numa-package-line em{
  color:#173528!important;
  background:#F8F5EF!important;
  border:1px solid #e7ddcb!important;
}
.numa-package-line.is-included{
  border-color:rgba(172,148,96,.45)!important;
  background:#F8F5EF!important;
}

/* Itinerary: remove the old blue/teal feel */
.numa-day-num{
  background:#173528!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(23,53,40,.18);
}
.numa-day-num span{color:#F8F5EF!important;}
.numa-day-card h3:before,
.numa-day-card h4:before{
  background:#FE6146!important;
}
.numa-day-card{
  background:transparent!important;
}
.numa-timeline .numa-day-card > div:last-child{
  background:#F8F5EF!important;
  border:1px solid #e7ddcb!important;
  border-radius:20px!important;
  padding:24px 28px!important;
}
.numa-timeline:before,
.numa-day-card:before{
  background:#AC9460!important;
}

/* Route map embedded on tour pages - cleaner and less cropped */
.numa-section-card#tour-route,
.numa-section-card[data-section="tour-route"]{
  overflow:visible!important;
}
.numa-section-card#tour-route .numa-rex,
.numa-section-card[data-section="tour-route"] .numa-rex{
  max-width:820px!important;
  margin:8px 0 0!important;
}
.numa-section-card#tour-route .numa-rex__mapCanvas,
.numa-section-card[data-section="tour-route"] .numa-rex__mapCanvas{
  max-width:780px!important;
  width:100%!important;
  transform:none!important;
  overflow:visible!important;
}
.numa-section-card#tour-route .numa-rex__mapPanel,
.numa-section-card[data-section="tour-route"] .numa-rex__mapPanel{
  overflow:visible!important;
  align-items:center!important;
}
.numa-section-card#tour-route .numa-rex__stage,
.numa-section-card[data-section="tour-route"] .numa-rex__stage{
  overflow:visible!important;
}

/* Hotel photos polish */
.numa-hotel-grid img,
.numa-hotel-photo img{
  width:100%;
  height:210px!important;
  object-fit:cover!important;
  border-radius:16px!important;
}

@media(max-width:1024px){
  .numa-section-card#tour-route .numa-rex,
  .numa-section-card[data-section="tour-route"] .numa-rex{max-width:100%!important;}
}

/* Sprint 9 final polish */
:root{--dark:#173528!important;--green:#173528!important;--cream:#F8F5EF!important;--orange:#FE6146!important;--gold:#C79A45!important;--teal:#173528!important;}
.numa-icon-grid span{background-color:#FE6146!important;color:#fff!important;}
.numa-hotel-photo-grid figcaption{background-color:#C79A45!important;color:#fff!important;}
.numa-tour-side-card .numa-side-summary,
.numa-sticky-card .numa-side-summary,
.numa-confirm-side .numa-side-summary{background:transparent!important;border:0!important;box-shadow:none!important;padding:8px 0!important;margin:16px 0!important;}
.numa-side-summary div{background:transparent!important;border-top:1px solid rgba(255,255,255,.16)!important;border-bottom:0!important;box-shadow:none!important;padding:10px 0!important;}
.numa-side-summary div:first-child{border-top:0!important;}
.numa-day-badge,.numa-day-number,.numa-day-dot{background:#173528!important;border-color:#173528!important;color:#fff!important;}
.numa-day-card h3:before,.numa-day-card h3::before{background:#FE6146!important;}
.numa-list-grid div:before{background:#FE6146!important;color:#fff!important;}
.numa-book-btn,.numa-submit{background:#FE6146!important;color:#fff!important;border:0!important;box-shadow:none!important;}
.numa-book-btn:hover,.numa-submit:hover{background:#e95139!important;color:#fff!important;}
.numa-sticky-card,.numa-confirm-side{background:#173528!important;box-shadow:none!important;}
.numa-price-top,.numa-side-summary{border-color:rgba(255,255,255,.16)!important;}
.numa-room-option.is-selected{border-color:#FE6146!important;background:rgba(254,97,70,.14)!important;}
.numa-cancel-note{font-size:13px;line-height:1.5;color:#526159;margin:8px 0 16px!important;}
.numa-cancel-note a{color:#FE6146!important;font-weight:900;text-decoration:none;}
.numa-form-row select option{font-size:16px;}
.numa-section-card#tour-route .numa-rex__marker img,
.numa-section-card[data-section="tour-route"] .numa-rex__marker img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;max-width:none!important;}
.numa-section-card#tour-route .numa-rex__marker,
.numa-section-card[data-section="tour-route"] .numa-rex__marker{overflow:hidden!important;}


/* Sprint 10 polish */
.numa-airbnb,.numa-confirm{--dark:#173528!important;--teal:#FE6146!important;--gold:#C79A45!important;--cream:#F8F5EF!important;}
.numa-icon-grid span{background-color:#FE6146!important;color:#fff!important;}
.numa-hotel-photo-grid figcaption{background-color:#C79A45!important;color:#fff!important;}
.numa-tour-side-card,.numa-sticky-card,.numa-confirm-side{background:#173528!important;box-shadow:none!important;}
.numa-tour-side-card .numa-side-summary,.numa-sticky-card .numa-side-summary,.numa-confirm-side .numa-side-summary{background:transparent!important;border:0!important;box-shadow:none!important;padding:8px 0!important;margin:16px 0!important;}
.numa-side-summary div{background:transparent!important;border-top:1px solid rgba(255,255,255,.16)!important;border-bottom:0!important;box-shadow:none!important;padding:10px 0!important;}
.numa-side-summary div:first-child{border-top:0!important;}
.numa-day-num{background:#173528!important;}
.numa-day-card h3:before,.numa-day-card h4:before{background:#FE6146!important;}
.numa-list-grid div:before{background:#FE6146!important;}
.numa-cal-grid button:hover,.numa-cal-grid button.is-selected,.numa-confirm .numa-calendar .numa-cal-grid button:hover,.numa-confirm .numa-calendar .numa-cal-grid button.is-selected{background:#FE6146!important;color:#fff!important;}
.numa-book-btn,.numa-submit{background:#FE6146!important;color:#fff!important;}
.numa-package-line em{color:#173528!important;background:#fff3ec!important;}
.numa-side-field select,.numa-side-field input{box-shadow:none!important;}
/* Route map embedded on tour pages: keep full map visible */
.numa-section-card#tour-route .numa-rex__mapCanvas{max-width:760px!important;width:88%!important;margin:0 auto!important;}
.numa-section-card#tour-route .numa-rex__mapPanel{padding:12px 0 18px!important;align-items:center!important;}
.numa-section-card#tour-route .numa-rex__stage{overflow:visible!important;}
@media(max-width:900px){.numa-section-card#tour-route .numa-rex__mapCanvas{width:100%!important;max-width:100%!important;}}


/* Sprint 11 - cream page contrast, route CTA position and permit information */
.numa-airbnb,
.numa-confirm{
  --page-bg:#F8F5EF!important;
  --surface:#FFFCF7!important;
  --surface-strong:#FFFFFF!important;
  --dark:#173528!important;
  --teal:#FE6146!important;
  --gold:#C79A45!important;
  --border:#E6D8C4!important;
}

/* The website background is now cream, so all functional cards need clear separation. */
.numa-fact-row div,
.numa-package-line,
.numa-day-content,
.numa-confirm-form,
.numa-success,
.numa-traveller-card,
.numa-confirm .numa-calendar,
.numa-icon-grid div,
.numa-list-grid div{
  background:#FFFCF7!important;
  border-color:#E6D8C4!important;
}
.numa-fact-row div,
.numa-package-line,
.numa-day-content,
.numa-confirm-form,
.numa-icon-grid div{
  box-shadow:0 10px 28px rgba(23,53,40,.055)!important;
}
.numa-package-line.is-included{
  background:#FFF7EF!important;
  border-color:rgba(254,97,70,.34)!important;
}
.numa-tabs-full{
  position:relative!important;
  top:auto!important;
  background:#F2EBDD!important;
  border-color:#E3D5BF!important;
}
.numa-tabs-full:before{display:none!important;content:none!important;}
.numa-tabs-full a{background:#FFFCF7!important;}

/* Keep the inline route map clean and make the expand CTA stay in the top-left. */
.numa-tour-route-inline{
  position:relative!important;
  background:#FFFCF7!important;
  border:1px solid #E6D8C4!important;
  box-shadow:0 14px 34px rgba(23,53,40,.06)!important;
}
.numa-tour-route-inline .numa-rex__mapCanvas{
  position:relative!important;
}
.numa-tour-route-inline .numa-rex__expand{
  position:absolute!important;
  top:18px!important;
  left:18px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:50!important;
  margin:0!important;
  background:#FE6146!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 10px 22px rgba(23,53,40,.16)!important;
}
.numa-tour-route-inline .numa-rex__expand:hover{
  background:#E84F37!important;
}

/* Important information block */
.numa-important-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  max-width:900px;
}
.numa-important-card{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:20px 22px;
  background:#FFFCF7;
  border:1px solid #E6D8C4;
  border-radius:18px;
  box-shadow:0 10px 26px rgba(23,53,40,.045);
}
.numa-important-icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#FE6146;
  color:#fff;
  font-weight:900;
}
.numa-important-card h3{
  margin:2px 0 7px!important;
  color:#173528!important;
  font-size:23px!important;
  line-height:1.1!important;
}
.numa-important-card p{
  margin:0!important;
  font-size:15px!important;
  line-height:1.65!important;
  color:#45534B!important;
}

@media(max-width:700px){
  .numa-tour-route-inline .numa-rex__expand{
    display:inline-flex!important;
    top:12px!important;
    left:12px!important;
    max-width:calc(100% - 24px)!important;
    font-size:12px!important;
    padding:10px 14px!important;
  }
  .numa-important-card{
    grid-template-columns:38px minmax(0,1fr);
    padding:17px;
    gap:12px;
  }
  .numa-important-icon{width:34px;height:34px;}
}


/* Sprint 12: Easy Rider / self-ride bike selector */
.numa-riding-options,.numa-booking-ride-section{background:#fff;border:1px solid #e5d9c4;border-radius:20px;padding:28px;margin:26px 0;}
.numa-booking-ride-section h2,.numa-riding-options h2{margin:0 0 10px;color:#173528;}
.numa-ride-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
.numa-ride-choice{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:start;padding:20px;border:1px solid #dfd5c5;border-radius:16px;background:#F8F5EF;cursor:pointer;transition:.25s ease;}
.numa-ride-choice input,.numa-bike-card input{position:absolute;opacity:0;pointer-events:none;}
.numa-ride-choice.is-selected{border-color:#FE6146;background:#fff7f4;box-shadow:0 10px 26px rgba(23,53,40,.08);}
.numa-choice-icon{grid-row:1/5;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#173528;color:#fff;font-weight:900;}
.numa-ride-choice.is-selected .numa-choice-icon{background:#FE6146;}
.numa-ride-choice strong{font-size:18px;color:#173528;}.numa-ride-choice em{font-style:normal;color:#C79A45;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.numa-ride-choice small{grid-column:2;color:#536158;line-height:1.55;margin-top:7px;}
.numa-bike-reveal{margin-top:24px;}.numa-bike-reveal[hidden]{display:none!important}.numa-bike-reveal h3{color:#173528;margin:0 0 14px;}
.numa-bike-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.numa-bike-card{position:relative;display:block;overflow:hidden;border:1px solid #e2d7c5;border-radius:18px;background:#fff;cursor:pointer;transition:.25s ease;}
.numa-bike-card:hover,.numa-bike-card.is-selected{transform:translateY(-3px);border-color:#FE6146;box-shadow:0 14px 30px rgba(23,53,40,.12);}
.numa-bike-photo{display:block;height:180px;background:#efe7e3;overflow:hidden}.numa-bike-photo img{width:100%;height:100%;display:block;object-fit:cover;}
.numa-bike-copy{display:block;padding:16px}.numa-bike-copy strong,.numa-bike-copy small,.numa-bike-copy em{display:block}.numa-bike-copy strong{color:#173528;font-size:17px}.numa-bike-copy small{color:#58665f;line-height:1.45;margin:6px 0 12px}.numa-bike-copy em{font-style:normal;color:#FE6146;font-weight:900;font-size:13px;}
.numa-licence-note,.numa-licence-confirm{display:flex;gap:10px;align-items:flex-start;background:#173528;color:#fff;padding:16px 18px;border-radius:14px;margin:16px 0 0;line-height:1.5}.numa-licence-confirm input{margin-top:5px;accent-color:#FE6146;}
@media(max-width:900px){.numa-bike-grid{grid-template-columns:1fr 1fr}.numa-ride-choice-grid{grid-template-columns:1fr}}
@media(max-width:600px){.numa-bike-grid{grid-template-columns:1fr}.numa-bike-photo{height:190px}.numa-riding-options,.numa-booking-ride-section{padding:20px 16px}}


/* Sprint 13: riding choice moved to tour sidebar; bike hire quoted separately */
.numa-side-ride-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.numa-side-ride-options label{position:relative;display:flex;align-items:center;min-height:70px;padding:12px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.06);cursor:pointer;transition:.2s ease}
.numa-side-ride-options label.is-selected{background:#FE6146;border-color:#FE6146;color:#fff}
.numa-side-ride-options input{position:absolute;opacity:0;pointer-events:none}
.numa-side-ride-options span,.numa-side-ride-options strong,.numa-side-ride-options small{display:block}
.numa-side-ride-options strong{font-size:14px;color:inherit}.numa-side-ride-options small{margin-top:3px;font-size:10px;line-height:1.25;color:inherit;opacity:.82}
.numa-side-bike-note{margin:9px 0 0!important;padding:10px 12px;border-radius:12px;background:#F8F5EF!important;color:#173528!important;font-size:11px!important;line-height:1.45!important}
.numa-self-ride-info{margin:16px 0 12px;padding:16px 18px;border-radius:15px;background:#F8F5EF;border-left:5px solid #C79A45;color:#173528}
.numa-self-ride-info strong{display:block;margin-bottom:5px;font-size:15px}.numa-self-ride-info p{margin:0;line-height:1.55;color:#43544b}
.numa-licence-confirm{background:#173528!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important}
.numa-licence-confirm span{color:#fff!important;opacity:1!important;line-height:1.5}
@media(max-width:600px){.numa-side-ride-options{grid-template-columns:1fr}}

/* v1.1.1 — full-width tour menu, 6% page spacing and redesigned meals */
.numa-airbnb > .numa-tabs-full{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:6vw!important;
    padding-right:6vw!important;
}

.numa-airbnb > .numa-airbnb-grid{
    width:88%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

.numa-meals-section{
    margin-top:8px;
    padding:46px!important;
    border:0!important;
    border-radius:28px;
    background:#173528;
    color:#fff;
    overflow:hidden;
    position:relative;
}

.numa-meals-section::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    right:-150px;
    bottom:-170px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018);
    pointer-events:none;
}

.numa-meals-intro{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(280px,1.2fr);
    gap:54px;
    align-items:end;
    margin-bottom:32px;
    position:relative;
    z-index:1;
}

.numa-meals-kicker{
    display:block;
    margin-bottom:10px;
    color:#F6C6BA;
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.numa-meals-section h2{
    color:#fff!important;
    margin:0!important;
}

.numa-meals-intro > p{
    max-width:none!important;
    margin:0!important;
    color:#dce7e1!important;
    font-size:16px!important;
    line-height:1.75!important;
}

.numa-meals-days{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    position:relative;
    z-index:1;
}

.numa-meal-day{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:18px;
    align-items:center;
    min-height:132px;
    padding:22px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:20px;
    background:rgba(255,255,255,.07);
}

.numa-meal-day__number{
    width:64px;
    height:64px;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:#F5F1E7;
    color:#173528;
}

.numa-meal-day__number span{
    font-size:9px;
    font-weight:900;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.numa-meal-day__number strong{
    font-size:26px;
    line-height:1;
}

.numa-meal-day__label{
    display:block;
    margin-bottom:7px;
    color:#F6C6BA;
    font-size:11px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.numa-meal-day__content p{
    max-width:none!important;
    margin:0!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:1.6!important;
}

.numa-meals-note{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.13);
    position:relative;
    z-index:1;
}

.numa-meals-note > span{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#FE6146;
    color:#fff;
    font-size:13px;
    font-weight:900;
}

.numa-meals-note p{
    max-width:none!important;
    margin:0!important;
    color:#dce7e1!important;
    font-size:14px!important;
    line-height:1.55!important;
}

@media(max-width:1024px){
    .numa-airbnb > .numa-tabs-full{
        width:100vw!important;
        margin-left:calc(50% - 50vw)!important;
        margin-right:calc(50% - 50vw)!important;
        padding-left:20px!important;
        padding-right:20px!important;
    }

    .numa-airbnb > .numa-airbnb-grid{
        width:auto!important;
        max-width:none!important;
        margin-left:20px!important;
        margin-right:20px!important;
    }

    .numa-meals-intro{
        grid-template-columns:1fr;
        gap:16px;
        align-items:start;
    }
}

@media(max-width:700px){
    .numa-airbnb > .numa-airbnb-grid{
        margin-left:16px!important;
        margin-right:16px!important;
    }

    .numa-meals-section{
        padding:28px 22px!important;
        border-radius:22px;
    }

    .numa-meals-days{
        grid-template-columns:1fr;
    }

    .numa-meal-day{
        grid-template-columns:58px minmax(0,1fr);
        gap:14px;
        min-height:0;
        padding:18px;
    }

    .numa-meal-day__number{
        width:54px;
        height:54px;
    }
}

/* Anti-spam honeypot: hidden from people, visible to simple bots */
.numa-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
