/* ================================================================
   Makana Ferry — Frontend Travel Rates Option Two
   Responsive, premium design with colorized routes & tab toggle
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ── CSS Variables ──────────────────────────────────────────── */
.mkr-r2-wrap {
    --r2-border:   #b0bec5;
    --r2-tone-1:   #eef7e8;  /* green-tinted */
    --r2-tone-2:   #fff3e0;  /* amber-tinted */
    --r2-tone-3:   #e3f2fd;  /* blue-tinted  */
    --r2-tone-4:   #fce4ec;  /* rose-tinted  */
    --r2-gold-bg:  linear-gradient(180deg, #f9df7b 0%, #eeca52 100%);
    --r2-rt-bg:    linear-gradient(135deg, #e8f5e9, #c8e6c9);
    --r2-ow-bg:    linear-gradient(135deg, #e3f2fd, #b3d9f7);
    --r2-total-bg: #fdf6d8;
    --r2-side-bg:  linear-gradient(135deg, #fb9b45 0%, #e06b18 100%);
    --r2-board-bg: linear-gradient(135deg, #a8cce8 0%, #76abcf 100%);
    --r2-radius:   10px;
    --r2-shadow:   0 20px 60px rgba(20, 40, 70, .12);
    --r2-font:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    font-family: var(--r2-font);
    max-width: 1440px;
    margin: 0 auto;
    padding: 28px 12px 52px;
}

/* ── Tab navigation ─────────────────────────────────────────── */
.mkr-r2-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
    padding: 4px;
    background: #f0f4fa;
    border-radius: 50px;
    width: fit-content;
    box-shadow: 0 2px 8px rgba(0,0,0,.07);
}

.mkr-r2-tab {
    font-family: var(--r2-font);
    font-size: 14px;
    font-weight: 700;
    padding: 10px 24px;
    border: none;
    border-radius: 40px;
    background: transparent;
    color: #666;
    cursor: pointer;
    transition: all .25s ease;
    outline: none;
    white-space: nowrap;
}

.mkr-r2-tab:hover {
    color: #1565C0;
    background: rgba(21, 101, 192, .08);
}

.mkr-r2-tab--active {
    background: #fff;
    color: #1565C0;
    box-shadow: 0 2px 10px rgba(21, 101, 192, .18);
}

/* ── Panel visibility ───────────────────────────────────────── */
/*
   Desktop-first: BOTH panels always visible on large screens.
   On mobile (≤1180px) JS-driven tabs control which panel shows.
*/
.mkr-r2-panel {
    display: block; /* both sections visible on desktop */
}

/* Mobile: hide panels, only show the active one */
@media (max-width: 1180px) {
    .mkr-r2-panel {
        display: none;
    }
    .mkr-r2-panel--active {
        display: block;
        animation: r2PanelIn .28s ease both;
    }
}

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

/* ── Board container ────────────────────────────────────────── */
.mkr-r2-board {
    border: 2px solid #8fa5b8;
    border-radius: var(--r2-radius);
    background: #fff;
    box-shadow: var(--r2-shadow);
    overflow: hidden;
    animation: r2FadeUp .5s ease both;
}

.mkr-r2-board-title {
    background: var(--r2-board-bg);
    color: #fff;
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: .06em;
    padding: 14px 20px;
    text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0,0,0,.20);
}

/* ── Section ────────────────────────────────────────────────── */
.mkr-r2-section {
    padding: 0 12px 20px;
}

/* ── Layout ─────────────────────────────────────────────────── */
.mkr-r2-layout {
    display: block;
    margin-bottom: 24px;
}


.mkr-r2-main-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 0 0 6px 6px;
}

/* ── Tables base ────────────────────────────────────────────── */
.mkr-r2-main-table,
.mkr-r2-side-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

.mkr-r2-main-table {
    min-width: 1040px;
}

.mkr-r2-main-table th,
.mkr-r2-main-table td,
.mkr-r2-side-table th,
.mkr-r2-side-table td {
    border: 1px solid var(--r2-border);
    padding: 9px 6px;
    text-align: center;
    vertical-align: middle;
    font-size: 13.5px;
    color: #1f1f1f;
    line-height: 1.3;
}

/* ── Band row (gold) ────────────────────────────────────────── */
.mkr-r2-band-row th {
    background: var(--r2-gold-bg);
    font-size: 15px;
    font-weight: 800;
    color: #3d2900;
    padding: 12px 6px;
}

/* Section name in band row (e.g. "Adults" / "Children 2-11") */
.mkr-r2-section-head {
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    color: #3d2900 !important;
    text-align: center;
}

/* ── Group column headers ───────────────────────────────────── */
.mkr-r2-group-head {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
}

.mkr-r2-rt-head {
    background: var(--r2-rt-bg) !important;
    color: #1b5e20 !important;
}

.mkr-r2-ow-head {
    background: var(--r2-ow-bg) !important;
    color: #0d47a1 !important;
}

/* ── Subheader row ──────────────────────────────────────────── */
.mkr-r2-subhead-row th {
    background: #faf8ec;
    font-size: 12px;
    font-weight: 600;
    color: #4a3a10;
}

.mkr-r2-total-head {
    background: var(--r2-total-bg) !important;
    font-weight: 700 !important;
    font-style: italic;
    color: #5d3a00 !important;
}

/* ── Route column ───────────────────────────────────────────── */
.mkr-r2-route-head {
    width: 195px;
    text-align: left !important;
    padding-left: 12px !important;
}

.mkr-r2-route-cell {
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding-left: 12px !important;
    background: #fff !important;
    white-space: nowrap;
    border-right: 2px solid #d0dae6 !important;
}

/* Colorized port spans */
.mkr-r2-port {
    font-weight: 800;
}

.mkr-r2-sep {
    color: #90a4ae;
    font-weight: 400;
}

/* ── Row alternating tones ──────────────────────────────────── */
.mkr-r2-tone-1 td { background: var(--r2-tone-1); }
.mkr-r2-tone-2 td { background: var(--r2-tone-2); }
.mkr-r2-tone-3 td { background: var(--r2-tone-3); }
.mkr-r2-tone-4 td { background: var(--r2-tone-4); }

/* Keep route cell always white */
.mkr-r2-main-row .mkr-r2-route-cell { background: #fff !important; }

/* ── Total cells (bold italic, warm gold) ───────────────────── */
.mkr-r2-total-cell {
    background: var(--r2-total-bg) !important;
    font-weight: 800 !important;
    font-style: italic;
    color: #3e2900 !important;
    border-left: 2px solid #e6d37a !important;
    border-right: 2px solid #e6d37a !important;
}

/* ── Row hover ──────────────────────────────────────────────── */
.mkr-r2-main-row {
    transition: filter .12s;
}

.mkr-r2-main-row:hover td {
    filter: brightness(.95);
}

.mkr-r2-main-row:hover .mkr-r2-route-cell {
    filter: none;
}

/* ── Same Day Rate Column ─────────────────────────────────── */
.mkr-r2-sameday-head {
    background: var(--r2-side-bg);
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: center;
    padding: 13px 8px !important;
    line-height: 1.35;
    letter-spacing: .03em;
    text-shadow: 0 1px 3px rgba(0,0,0,.20);
    width: 150px;
    border-radius: 0 6px 0 0;
}

.mkr-r2-sameday-cell {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #2a1600 !important;
    padding: 10px 8px !important;
    background: #fff9f0 !important;
    letter-spacing: .01em;
}

/* ── Spacer Column (the gap) ────────────────────────────────── */
.mkr-r2-spacer-head,
.mkr-r2-spacer-cell {
    width: 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* ── Swipe hint ─────────────────────────────────────────────── */
.mkr-r2-swipe-hint {
    text-align: center;
    font-size: 11px;
    color: #b0bec5;
    font-style: italic;
    margin: 6px 0 0;
    display: none;
}

/* ── Footnote ───────────────────────────────────────────────── */
.mkr-r2-footnote {
    text-align: center;
    font-size: 12px;
    color: #90a4ae;
    margin: 16px 0 0;
    font-style: italic;
    letter-spacing: .02em;
}

/* ── Animation ──────────────────────────────────────────────── */
@keyframes r2FadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Tab panel fade ─────────────────────────────────────────── */
.mkr-r2-panel--active {
    animation: r2PanelIn .28s ease both;
}

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

/* ================================================================
   RESPONSIVE BREAKPOINTS
   ================================================================ */

/* Large tablet adjustments */
@media (max-width: 1180px) {
    .mkr-r2-swipe-hint {
        display: block;
    }
}

/* Tablet & mobile — tabs shown on small screens, hidden on large */
@media (min-width: 1181px) {
    .mkr-r2-tabs {
        /* Hide tabs on desktop: both sections always visible */
        display: none;
    }
}

/* Mobile styles */
@media (max-width: 768px) {
    .mkr-r2-wrap {
        padding: 18px 8px 36px;
    }

    .mkr-r2-board-title {
        font-size: 18px;
        padding: 12px 16px;
    }

    .mkr-r2-tabs {
        width: 100%;
        border-radius: 10px;
    }

    .mkr-r2-tab {
        flex: 1;
        text-align: center;
        padding: 10px 12px;
        font-size: 13px;
        border-radius: 8px;
    }

    .mkr-r2-section {
        padding: 0 6px 16px;
    }

    .mkr-r2-main-table th,
    .mkr-r2-main-table td {
        font-size: 12px;
        padding: 7px 4px;
    }

    .mkr-r2-route-cell {
        font-size: 11.5px !important;
        padding-left: 8px !important;
    }

    .mkr-r2-sameday-head {
        font-size: 11px !important;
        padding: 8px 4px !important;
    }

    .mkr-r2-sameday-cell {
        font-size: 13px !important;
        padding: 8px 4px !important;
    }
}

@media (max-width: 480px) {
    .mkr-r2-board-title {
        font-size: 16px;
        letter-spacing: .03em;
    }

    .mkr-r2-main-table {
        min-width: 880px;
    }

    .mkr-r2-route-head {
        width: 150px;
    }
}
