/* Shared dark/gold theme for the Montreal Fundraising Gala 2026 microsite
   (cancer-research-fundraiser Index/Donate/Auction pages). */

.gala2026-page {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
    background: #08070a;
    color: #f2ece1;
    font-family: 'Roboto', sans-serif;
}

    .gala2026-page a {
        text-decoration: none;
    }

    .gala2026-page .serif {
        font-family: 'Cormorant Garamond', Georgia, serif;
    }

    .gala2026-page .gala-inner {
        max-width: 1140px;
        margin: 0 auto;
        padding: 0 24px;
    }

    .gala2026-page .gala-ribbon {
        background: linear-gradient(90deg, #7d5f1c, #e3c169 30%, #f6e6b4 50%, #e3c169 70%, #7d5f1c);
        color: #1a1408;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        padding: 9px 24px;
        display: flex;
        justify-content: center;
        gap: 14px;
        flex-wrap: wrap;
        text-align: center;
    }

        .gala2026-page .gala-ribbon .sep {
            opacity: .5;
        }

    .gala2026-page .gala-subnav-bar {
        background: #0d0c10;
        border-bottom: 1px solid #241f14;
        padding: 14px 24px;
        display: flex;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .gala2026-page .gala-subnav-link {
        display: inline-block;
        padding: 10px 22px;
        border-radius: 999px;
        border: 1px solid #3a3223;
        color: #cfc6b5 !important;
        font-size: 13.5px;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

        .gala2026-page .gala-subnav-link:hover {
            border-color: #e3c169;
            color: #f2ece1 !important;
        }

        .gala2026-page .gala-subnav-link.active {
            background: linear-gradient(180deg, #e9cd82, #c9a24b);
            color: #1a1408 !important;
            border-color: transparent;
        }

    .gala2026-page .gala-btn-gold-lg {
        display: inline-block;
        background: linear-gradient(180deg, #e9cd82, #c9a24b);
        color: #1a1408 !important;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        padding: 16px 34px;
        border-radius: 3px;
        border: none;
        cursor: pointer;
    }

    .gala2026-page .gala-link-gold {
        color: #e3c169 !important;
        font-size: 15.5px;
        font-weight: 600;
        border-bottom: 1px solid rgba(227,193,105,0.4);
        padding-bottom: 2px;
    }

    .gala2026-page .gala-hero-section {
        display: grid;
        grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
        border-bottom: 1px solid #241f14;
    }

    .gala2026-page .gala-hero-text {
        padding: 56px 40px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 22px;
    }

    .gala2026-page .gala-eyebrow {
        font-size: 12.5px;
        font-weight: 700;
        letter-spacing: 0.22em;
        color: #a49a86;
        text-transform: uppercase;
    }

    .gala2026-page .gala-city {
        font-size: clamp(20px, 2.2vw, 30px);
        letter-spacing: 0.2em;
        color: #e3c169;
        text-transform: uppercase;
    }

    .gala2026-page .gala-title {
        margin: 2px 0 0;
        font-weight: 500;
        font-style: italic;
        font-size: clamp(40px, 5.6vw, 76px);
        line-height: 0.98;
        background: linear-gradient(180deg, #f6e6b4, #c9a24b 70%, #8a6a24);
        -webkit-background-clip: text;
        background-clip: text;
        color: #c9a24b;
        -webkit-text-fill-color: transparent;
    }

    .gala2026-page .gala-support {
        font-size: 14px;
        font-weight: 600;
        letter-spacing: 0.12em;
        color: #cfc6b5;
        text-transform: uppercase;
        line-height: 1.55;
    }

        .gala2026-page .gala-support span {
            color: #e3c169;
        }

    .gala2026-page .gala-info-row {
        display: grid;
        grid-template-columns: minmax(0,auto) minmax(0,1fr);
        gap: 12px 30px;
        border-top: 1px solid #241f14;
        padding-top: 16px;
    }

        .gala2026-page .gala-info-row .label {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.14em;
            color: #a49a86;
            text-transform: uppercase;
            margin-bottom: 4px;
        }

        .gala2026-page .gala-info-row .value-lg {
            font-size: 18px;
            font-weight: 600;
        }

        .gala2026-page .gala-info-row .value-sm {
            font-size: 15px;
            color: #a49a86;
        }

    .gala2026-page .gala-hero-cta {
        display: flex;
        gap: 14px;
        align-items: center;
        flex-wrap: wrap;
        padding-top: 4px;
    }

    .gala2026-page .gala-hero-image {
        position: relative;
        min-height: 380px;
        background: #0d0c10;
        overflow: hidden;
    }

        .gala2026-page .gala-hero-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

    .gala2026-page .gala-hero-badge {
        position: absolute;
        right: 22px;
        bottom: 22px;
        width: 108px;
        height: 108px;
        border-radius: 50%;
        border: 1.5px solid #e3c169;
        background: rgba(8,7,10,0.72);
        color: #e3c169;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        line-height: 1.4;
    }

    .gala2026-page .gala-countdown-section {
        background: #0d0c10;
        border-bottom: 1px solid #241f14;
        padding: 26px 24px;
    }

    .gala2026-page .gala-countdown-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        flex-wrap: wrap;
    }

    .gala2026-page .gala-countdown-eyebrow {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.16em;
        color: #bb141a;
        text-transform: uppercase;
        margin-bottom: 6px;
    }

    .gala2026-page .gala-countdown-date {
        font-family: 'Cormorant Garamond', Georgia, serif;
        font-size: 26px;
    }

    .gala2026-page .gala-countdown-boxes {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

        .gala2026-page .gala-countdown-boxes .box {
            min-width: 84px;
            text-align: center;
            background: #08070a;
            border: 1px solid #241f14;
            border-radius: 4px;
            padding: 12px 8px;
        }

        .gala2026-page .gala-countdown-boxes .num {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: 38px;
            line-height: 1;
            color: #e3c169;
        }

        .gala2026-page .gala-countdown-boxes .box.red .num {
            color: #bb141a;
        }

        .gala2026-page .gala-countdown-boxes .lbl {
            font-size: 10.5px;
            font-weight: 600;
            letter-spacing: 0.12em;
            color: #8b8272;
            text-transform: uppercase;
            margin-top: 6px;
        }

    .gala2026-page .gala-story-section {
        padding: 64px 0 10px;
    }

    .gala2026-page .gala-story-inner {
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
        gap: 48px;
        align-items: start;
    }

    .gala2026-page .gala-kicker {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        margin-bottom: 14px;
    }

        .gala2026-page .gala-kicker.red {
            color: #bb141a;
        }

        .gala2026-page .gala-kicker.gold {
            color: #e3c169;
        }

    .gala2026-page .gala-h2 {
        margin: 0 0 18px;
        font-family: 'Cormorant Garamond', Georgia, serif;
        font-weight: 500;
        font-size: 38px;
        line-height: 1.1;
        color: #f2ece1;
    }

    .gala2026-page .gala-story-inner p {
        font-size: 17px;
        line-height: 1.6;
        color: #cfc6b5;
        margin: 0 0 16px;
    }

    .gala2026-page .gala-quote {
        font-family: 'Cormorant Garamond', Georgia, serif;
        font-style: italic;
        font-size: 23px;
        color: #e3c169 !important;
    }

    .gala2026-page .gala-stats-row {
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
        gap: 12px;
        margin-bottom: 12px;
    }

    .gala2026-page .gala-stat-card {
        background: #0d0c10;
        border: 1px solid #241f14;
        border-top: 2px solid #e3c169;
        border-radius: 6px;
        padding: 20px;
    }

        .gala2026-page .gala-stat-card.red {
            border-top-color: #bb141a;
        }

        .gala2026-page .gala-stat-card .num {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: 38px;
            line-height: 1;
            color: #e3c169;
        }

        .gala2026-page .gala-stat-card.red .num {
            color: #bb141a;
        }

        .gala2026-page .gala-stat-card .txt {
            font-size: 14.5px;
            color: #cfc6b5;
            margin-top: 8px;
            line-height: 1.4;
        }

    .gala2026-page .gala-story-photo {
        border-radius: 6px;
        overflow: hidden;
        border: 1px solid #241f14;
        min-height: 200px;
        background: #0d0c10;
    }

        .gala2026-page .gala-story-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

    .gala2026-page .gala-copy p {
        font-size: 17px;
        line-height: 1.6;
        color: #cfc6b5;
        margin: 0 0 16px;
    }

        .gala2026-page .gala-copy p:last-child {
            margin-bottom: 0;
        }

        .gala2026-page .gala-copy b {
            color: #f2ece1;
        }

    .gala2026-page .gala-evening-section {
        padding: 56px 0 10px;
    }

    .gala2026-page .gala-section-heading {
        display: flex;
        align-items: baseline;
        gap: 16px;
        margin-bottom: 24px;
    }

        .gala2026-page .gala-section-heading h2 {
            margin: 0;
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-weight: 500;
            font-size: 34px;
            color: #f2ece1;
        }

        .gala2026-page .gala-section-heading .rule {
            flex: 1;
            height: 1px;
            background: #241f14;
        }

    .gala2026-page .gala-evening-cards {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 16px;
    }

    .gala2026-page .gala-evening-card {
        background: #0d0c10;
        border: 1px solid #241f14;
        border-radius: 6px;
        padding: 22px 20px 24px;
    }

        .gala2026-page .gala-evening-card .time {
            font-size: 11.5px;
            font-weight: 700;
            letter-spacing: 0.14em;
            color: #8b8272;
            text-transform: uppercase;
        }

        .gala2026-page .gala-evening-card .title {
            font-size: 27px;
            margin: 8px 0;
            color: #e3c169;
        }

        .gala2026-page .gala-evening-card p {
            margin: 0;
            font-size: 15.5px;
            line-height: 1.5;
            color: #cfc6b5;
        }

        .gala2026-page .gala-evening-card a {
            color: #e3c169;
            font-weight: 600;
        }

    .gala2026-page .gala-request-section {
        padding: 60px 0 80px;
    }

    .gala2026-page .gala-request-grid {
        display: grid;
        grid-template-columns: minmax(0,1fr) 320px;
        gap: 36px;
        align-items: start;
    }

    .gala2026-page .gala-form-card, .gala2026-page .gala-closed-card {
        background: #0d0c10;
        border: 1px solid #241f14;
        border-radius: 8px;
    }

    .gala2026-page .gala-closed-card {
        border-top: 2px solid #e3c169;
        padding: 46px 36px;
    }

        .gala2026-page .gala-closed-card p {
            font-size: 17px;
            line-height: 1.55;
            color: #cfc6b5;
            max-width: 52ch;
        }

        .gala2026-page .gala-closed-card a {
            color: #e3c169;
            font-weight: 600;
        }

    .gala2026-page .gala-form-card-head {
        padding: 28px 30px 22px;
        border-bottom: 1px solid #241f14;
    }

    .gala2026-page .gala-h2-form {
        margin: 0 0 8px;
        font-family: 'Cormorant Garamond', Georgia, serif;
        font-weight: 500;
        font-size: 34px;
        color: #f2ece1;
    }

    .gala2026-page .gala-form-desc {
        margin: 0;
        font-size: 15.5px;
        color: #a49a86;
        line-height: 1.5;
    }

    .gala2026-page .gala-form-body {
        padding: 26px 30px 30px;
        display: grid;
        gap: 18px;
    }

    .gala2026-page .gala-field {
        display: block;
    }

    .gala2026-page .gala-field-half {
        max-width: 50%;
    }

    .gala2026-page .gala-field-label {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #cfc6b5;
        margin-bottom: 7px;
    }

        .gala2026-page .gala-field-label small {
            font-weight: 400;
            color: #8b8272;
        }

        .gala2026-page .gala-field-label .req {
            color: #bb141a;
        }

    .gala2026-page .gala-input, .gala2026-page select.gala-input {
        width: 100%;
        height: 48px;
        border: 1px solid #3a3223;
        border-radius: 3px;
        padding: 0 13px;
        font-size: 16px;
        background: #08070a;
        color: #f2ece1;
        outline: none;
    }

    .gala2026-page textarea.gala-input {
        height: auto;
        padding: 12px 13px;
        resize: vertical;
    }

        .gala2026-page .gala-input:focus {
            border-color: #e3c169;
            box-shadow: none;
        }

    .gala2026-page .gala-row-2 {
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
        gap: 18px;
    }

    .gala2026-page .gala-row-3 {
        display: grid;
        grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,0.9fr);
        gap: 18px;
    }

    .gala2026-page .gala-attend-box {
        background: #08070a;
        border: 1px solid #3a3223;
        border-radius: 4px;
        padding: 16px 18px;
        display: flex;
        gap: 12px;
        align-items: flex-start;
    }

        .gala2026-page .gala-attend-box input[type="checkbox"] {
            width: 19px;
            height: 19px;
            accent-color: #c9a24b;
            margin-top: 2px;
            cursor: pointer;
            flex: none;
        }

        .gala2026-page .gala-attend-box .gala-attend-title {
            font-size: 16px;
            font-weight: 600;
            line-height: 1.4;
        }

    .gala2026-page .gala-submit-row {
        display: flex;
        align-items: center;
        gap: 18px;
        flex-wrap: wrap;
    }

    .gala2026-page .gala-btn-payment {
        display: inline-block;
        font-size: 13.5px;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        padding: 15px 26px;
        border-radius: 3px;
        border: 1px solid #3a3223;
        background: #0d0c10;
        color: #f2ece1;
        cursor: pointer;
    }

        .gala2026-page .gala-btn-payment.primary {
            background: linear-gradient(180deg, #e9cd82, #c9a24b);
            color: #1a1408;
            border: none;
        }

    .gala2026-page .gala-aside {
        display: grid;
        gap: 14px;
    }

    .gala2026-page .gala-aside-card {
        background: #0d0c10;
        border: 1px solid #241f14;
        border-radius: 8px;
        padding: 22px;
    }

    .gala2026-page .gala-aside-kicker {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.14em;
        color: #8b8272;
        text-transform: uppercase;
        margin-bottom: 14px;
    }

    .gala2026-page .gala-aside-row {
        display: flex;
        gap: 10px;
        font-size: 15px;
        margin-bottom: 12px;
    }

        .gala2026-page .gala-aside-row:last-child {
            margin-bottom: 0;
        }

        .gala2026-page .gala-aside-row span:first-child {
            color: #e3c169;
            font-weight: 700;
            min-width: 68px;
        }

    .gala2026-page .gala-aside-title {
        font-size: 24px;
        color: #e3c169;
        margin-bottom: 10px;
    }

    .gala2026-page .gala-aside-link {
        display: block;
        color: #cfc6b5;
        font-size: 15.5px;
        margin-bottom: 6px;
    }

        .gala2026-page .gala-aside-link.strong {
            color: #f2ece1;
            font-weight: 600;
        }

    .gala2026-page .gala-aside-charity {
        border: 1px solid #241f14;
        border-radius: 8px;
        padding: 18px 20px;
    }

        .gala2026-page .gala-aside-charity p {
            margin: 0;
            font-size: 13px;
            line-height: 1.55;
            color: #8b8272;
        }

    /* RSVP guest response page (Yes/No + accompanying guest) */
    .gala2026-page .gala-response-wrap {
        max-width: 640px;
        margin: 0 auto;
        padding: 64px 24px 80px;
    }

    .gala2026-page .gala-response-card {
        background: #0d0c10;
        border: 1px solid #241f14;
        border-radius: 8px;
        padding: 36px 34px;
        text-align: center;
    }

        .gala2026-page .gala-response-card h2, .gala2026-page .gala-response-card h3 {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-weight: 500;
            color: #f2ece1;
            margin: 0 0 18px;
        }

        .gala2026-page .gala-response-card .event-info p {
            font-size: 16px;
            color: #cfc6b5;
            margin: 0 0 8px;
        }

            .gala2026-page .gala-response-card .event-info .fa {
                color: #e3c169;
                margin-right: 8px;
            }

        .gala2026-page .gala-response-card .instruction p {
            color: #bb141a;
            font-weight: 600;
            margin-top: 18px;
        }

    .gala2026-page .gala-response-buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        margin-top: 28px;
    }

        .gala2026-page .gala-response-buttons .theme-btn {
            display: block;
            width: 100%;
            border: none;
            border-radius: 3px;
            padding: 16px;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            cursor: pointer;
        }

        .gala2026-page .gala-response-buttons .theme-btn[data-confirmation="true"] {
            background: linear-gradient(180deg, #e9cd82, #c9a24b);
            color: #1a1408;
        }

        .gala2026-page .gala-response-buttons .theme-btn[data-confirmation="false"] {
            background: transparent;
            border: 1px solid #bb141a;
            color: #f08a8e;
        }

    /* Bootstrap modal overrides to match the dark/gold theme */
    .gala2026-page .modal-content {
        background: #0d0c10;
        border: 1px solid #241f14;
        border-radius: 8px;
        color: #f2ece1;
    }

    .gala2026-page .modal-header, .gala2026-page .modal-footer {
        border-color: #241f14;
    }

    .gala2026-page .modal-title {
        font-family: 'Cormorant Garamond', Georgia, serif;
        font-weight: 500;
        font-size: 24px;
        color: #f2ece1;
    }

    .gala2026-page .modal-header .close {
        color: #f2ece1;
        opacity: 0.7;
        text-shadow: none;
    }

    .gala2026-page .modal .form-control {
        background: #08070a;
        border: 1px solid #3a3223;
        color: #f2ece1;
    }

    .gala2026-page .modal .checkbox label {
        color: #cfc6b5;
    }

    .gala2026-page .modal .text {
        color: #cfc6b5;
    }

    .gala2026-page .modal .btn-primary {
        background: linear-gradient(180deg, #e9cd82, #c9a24b);
        border: none;
        color: #1a1408;
        font-weight: 700;
    }

    .gala2026-page .modal .btn-secondary {
        background: transparent;
        border: 1px solid #3a3223;
        color: #cfc6b5;
    }

@media (max-width: 900px) {
    .gala2026-page .gala-hero-section, .gala2026-page .gala-story-inner, .gala2026-page .gala-request-grid {
        grid-template-columns: minmax(0,1fr);
    }

    .gala2026-page .gala-evening-cards, .gala2026-page .gala-row-2, .gala2026-page .gala-row-3 {
        grid-template-columns: minmax(0,1fr);
    }

    .gala2026-page .gala-field-half {
        max-width: 100%;
    }

    .gala2026-page .gala-response-buttons {
        grid-template-columns: 1fr;
    }
}
