/* ============================================================
   SPOKANE IGNITE — EVENT CARDS & BUTTONS
   Clean single-source stylesheet — no duplicates
   ============================================================ */

/* ── Registration section layout ── */
.registrations-section { background:#FFFFFF; padding:64px 20px; }
.registrations-inner {
    max-width:var(--max-width);
    margin:0 auto;
    display:grid;
    grid-template-columns:240px 1fr;
    gap:40px;
    align-items:start;
}
.registrations-intro .eyebrow {
    font-family:var(--font-heading);
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:#00B4D8;
    display:block;
    margin-bottom:6px;
}
.registrations-intro h2 { font-size:2rem; font-weight:900; line-height:1.1; margin-bottom:10px; }
.registrations-intro p  { font-size:0.9rem; color:#6B7280; }

/* View Full Calendar button */
.view-cal {
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    background:transparent !important;
    color:#0D1B3E !important;
    border:2px solid #0D1B3E !important;
    border-radius:50px !important;
    padding:9px 18px !important;
    font-family:var(--font-heading) !important;
    font-size:0.75rem !important;
    font-weight:700 !important;
    letter-spacing:0.06em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    margin-top:16px !important;
    transition:all 0.2s !important;
}
.view-cal:hover { background:#0D1B3E !important; color:#FFFFFF !important; }

/* Cards grid */
.reg-cards-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    align-items:stretch;
}

/* ── Single card ── */
.reg-card {
    background:#FFFFFF;
    border-radius:14px;
    box-shadow:0 3px 16px rgba(13,27,62,0.10);
    border:1.5px solid #E5E9F0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    position:relative;
    transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.reg-card:hover { transform:translateY(-5px); box-shadow:0 10px 32px rgba(13,27,62,0.15); }

/* Purple triangle + star — top left corner on pinned cards */
.reg-card-pin {
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:0;
    border-style:solid;
    border-width:56px 56px 0 0;
    border-color:#7B2FBE transparent transparent transparent;
    z-index:2;
}
.reg-card-pin::after {
    content:'★';
    position:absolute;
    top:-52px;
    left:5px;
    color:#FFFFFF;
    font-size:17px;
    font-weight:900;
    line-height:1;
}

/* Icon — upper RIGHT corner */
.reg-card-top {
    padding:14px 14px 0;
    display:flex;
    justify-content:flex-end;
}
.reg-card-icon { font-size:2rem; line-height:1; }

/* Type label */
.reg-card-type {
    padding:4px 14px 0;
    font-family:var(--font-heading);
    font-size:0.64rem;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:#6B7280;
}

/* Title */
.reg-card-title {
    padding:4px 14px 0;
    font-family:var(--font-heading);
    font-size:0.95rem;
    font-weight:900;
    color:#0D1B3E;
    text-transform:uppercase;
    letter-spacing:0.02em;
    line-height:1.2;
}

/* Date */
.reg-card-date {
    padding:4px 14px 0;
    font-family:var(--font-heading);
    font-size:0.7rem;
    font-weight:700;
    color:#6B7280;
    text-transform:uppercase;
    letter-spacing:0.08em;
}

/* Location */
.reg-card-location { padding:2px 14px 0; font-size:0.72rem; color:#6B7280; }

/* Divider */
.reg-card-divider { margin:8px 14px; border:none; border-top:1px solid #E5E9F0; }

/* Price */
.reg-card-price {
    padding:6px 14px 0;
    font-family:var(--font-heading);
    font-size:1.7rem;
    font-weight:900;
    color:#0D1B3E;
    line-height:1;
}

/* Price note */
.reg-card-note { padding:3px 14px 0; font-size:0.72rem; color:#6B7280; font-weight:600; }

/* Schedule rows */
.reg-card-schedule { margin:8px 14px 0; border-top:1px solid #E5E9F0; padding-top:6px; }
.sched-row-display {
    display:flex;
    justify-content:space-between;
    padding:2px 0;
    font-size:0.7rem;
    border-bottom:1px dashed #E5E9F0;
}
.sched-row-display:last-child { border-bottom:none; }
.sched-group { font-weight:700; color:#0D1B3E; }
.sched-time  { color:#00B4D8; font-weight:600; }

/* Card footer */
.reg-card-footer {
    margin-top:auto;
    padding:12px 14px 14px;
    display:flex;
    flex-direction:column;
    gap:8px;
}
.reg-card-status { font-size:0.72rem; font-weight:700; }

/* Register button — full width gradient pill */
.reg-card-footer .btn {
    width:100%;
    justify-content:center;
    padding:11px 16px;
    font-size:0.78rem;
    font-weight:800;
    letter-spacing:0.06em;
    border-radius:50px;
    text-transform:uppercase;
    border:none !important;
    color:#FFFFFF !important;
    transition:opacity 0.2s, transform 0.2s;
}
.reg-card-footer .btn:hover { opacity:0.9; transform:translateY(-1px); color:#FFFFFF !important; }

/* Pinned = purple → cyan */
.reg-card.is-pinned .reg-card-footer .btn {
    background:linear-gradient(90deg,#7B2FBE 0%,#00B4D8 100%) !important;
}

/* Unpinned = cyan → teal */
.reg-card:not(.is-pinned) .reg-card-footer .btn {
    background:linear-gradient(90deg,#00B4D8 0%,#0096b8 100%) !important;
}

/* ── Hero primary button — large gradient purple→cyan ── */
.btn-primary {
    background:linear-gradient(90deg,#7B2FBE 0%,#00B4D8 100%);
    color:#FFFFFF;
    border:none;
    border-radius:50px;
    font-family:var(--font-heading);
    font-weight:800;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:16px 24px 16px 36px;
    box-shadow:0 4px 20px rgba(123,47,190,0.35);
    transition:all 0.25s ease;
    display:inline-flex;
    align-items:center;
    gap:10px;
}
.btn-primary:hover { opacity:0.92; color:#FFFFFF; transform:translateY(-2px); box-shadow:0 8px 28px rgba(123,47,190,0.45); }

/* Circle arrow after primary button text */
.btn-primary::after {
    content:'›';
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    background:#FFFFFF;
    border-radius:50%;
    color:#7B2FBE;
    font-size:1.2rem;
    font-weight:900;
    line-height:1;
    flex-shrink:0;
}

/* ── Secondary button — outline only ── */
.btn-secondary {
    background:transparent;
    color:#0D1B3E;
    border:2.5px solid #0D1B3E;
    border-radius:50px;
    font-family:var(--font-heading);
    font-weight:800;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:14px 28px;
    transition:all 0.25s ease;
}
.btn-secondary:hover { background:#0D1B3E; color:#FFFFFF; transform:translateY(-2px); }

/* ── Cyan button ── */
.btn-cyan {
    background:#00B4D8;
    color:#FFFFFF;
    border:none;
    border-radius:50px;
    font-family:var(--font-heading);
    font-weight:800;
    text-transform:uppercase;
    padding:14px 28px;
    transition:all 0.25s ease;
}
.btn-cyan:hover { background:#0096b8; color:#FFFFFF; transform:translateY(-2px); }

/* ── Nav CTA — gradient pill ── */
.nav-cta {
    background:linear-gradient(90deg,#7B2FBE 0%,#00B4D8 100%) !important;
    color:#FFFFFF !important;
    border:none !important;
    border-radius:50px !important;
    font-weight:800 !important;
    letter-spacing:0.05em !important;
    text-transform:uppercase !important;
    padding:11px 22px !important;
    box-shadow:0 3px 12px rgba(123,47,190,0.3) !important;
    transition:opacity 0.2s, transform 0.2s !important;
}
.nav-cta:hover { opacity:0.9 !important; color:#FFFFFF !important; transform:translateY(-1px) !important; }

/* ── "YOUR FUTURE" gradient text ── */
.hero-headline .gradient-text {
    background:linear-gradient(90deg,#00B4D8 0%,#7B2FBE 100%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}

/* ── Events page full grid ── */
.events-grid-full {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:24px;
    max-width:var(--max-width);
    margin:0 auto;
}

/* ── Tryouts schedule table ── */
.tryout-schedule-wrap { max-width:var(--max-width); margin:0 auto; padding:0 20px 48px; }
.tryout-age-group-block { background:#FFFFFF; border-radius:16px; box-shadow:0 4px 20px rgba(13,27,62,0.08); margin-bottom:24px; overflow:hidden; }
.tryout-block-header { background:linear-gradient(135deg,#0D1B3E,#1a3570); color:#FFFFFF; padding:16px 24px; font-family:var(--font-heading); font-size:1rem; font-weight:800; }
.tryout-schedule-table { width:100%; border-collapse:collapse; }
.tryout-schedule-table th { background:#F4F7FB; color:#0D1B3E; font-family:var(--font-heading); font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:10px 20px; text-align:left; }
.tryout-schedule-table td { padding:12px 20px; font-size:0.875rem; color:#6B7280; border-bottom:1px solid #E5E9F0; }
.tryout-schedule-table tr:last-child td { border-bottom:none; }
.tryout-schedule-table .age-group-cell { font-family:var(--font-heading); font-weight:800; color:#0D1B3E; font-size:0.95rem; }
.tryout-schedule-table .time-cell { color:#00B4D8; font-weight:600; }

/* Mobile — stack tryout table into cards */
@media (max-width:600px) {
    .tryout-schedule-table thead { display:none; }
    .tryout-schedule-table tr { display:block; background:#FFFFFF; border-radius:10px; margin-bottom:12px; box-shadow:0 2px 8px rgba(13,27,62,0.08); padding:12px 16px; }
    .tryout-schedule-table td { display:block; padding:4px 0; border:none; font-size:0.875rem; }
    .tryout-schedule-table td.age-group-cell { font-size:1rem; border-bottom:2px solid #E5E9F0; padding-bottom:8px; margin-bottom:4px; }
    .tryout-schedule-table td.time-cell::before { content:'🕐 '; }
    .tryout-schedule-table td:nth-child(2)::before { content:'📅 '; }
    .tryout-schedule-table td:nth-child(4)::before { content:'📍 '; }
}

/* ── Responsive grid ── */
@media (max-width:900px) {
    .registrations-inner { grid-template-columns:1fr; }
    .reg-cards-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:500px) {
    .reg-cards-grid { grid-template-columns:1fr; }
}

/* ============================================================
   WHY IGNITE PAGE — Option C Styles
   ============================================================ */

/* ── Accordion wrapper ── */
.why-accordion { display:flex; flex-direction:column; gap:12px; }

/* ── Accordion item ── */
.why-accordion-item {
    background:#FFFFFF;
    border-radius:12px;
    box-shadow:0 2px 12px rgba(13,27,62,0.07);
    overflow:hidden;
    border:1.5px solid #E5E9F0;
    margin-bottom:0;
}

/* ── Accordion question/header ── */
.why-accordion-question {
    padding:18px 22px;
    display:flex;
    align-items:center;
    gap:14px;
    cursor:pointer;
    font-family:var(--font-heading);
    font-size:1rem;
    font-weight:700;
    color:#0D1B3E;
    user-select:none;
    transition:color 0.2s;
    justify-content:flex-start;
}
.why-accordion-question::after {
    content:'+';
    font-size:1.4rem;
    font-weight:400;
    margin-left:auto;
    color:#6B7280;
    transition:transform 0.25s;
}
.why-accordion-item.open .why-accordion-question { color:var(--color-cyan); }
.why-accordion-item.open .why-accordion-question::after { transform:rotate(45deg); color:var(--color-cyan); }

.why-acc-icon { font-size:1.4rem; flex-shrink:0; }

/* ── Accordion answer ── */
.why-accordion-answer { display:none; }
.why-accordion-item.open .why-accordion-answer { display:block; }

.why-acc-content {
    padding:4px 24px 28px;
    border-top:1px solid #E5E9F0;
}
.why-acc-content p { font-size:0.95rem; color:#6B7280; margin-bottom:12px; line-height:1.7; }
.why-acc-content p:last-child { margin-bottom:0; }

/* ── Mission grid ── */
.why-mission-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:16px 0;
}
.why-mission-item {
    background:#F4F7FB;
    padding:10px 14px;
    border-radius:8px;
    font-size:0.875rem;
    color:#0D1B3E;
    font-weight:600;
}

/* ── Cost table ── */
.cost-table-wrap {
    overflow-x:auto;
    margin:16px 0;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(13,27,62,0.08);
}
.cost-table {
    width:100%;
    border-collapse:collapse;
    font-size:0.9rem;
}
.cost-table th {
    background:#0D1B3E;
    color:#FFFFFF;
    padding:12px 16px;
    text-align:left;
    font-family:var(--font-heading);
    font-size:0.75rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
}
.cost-table td {
    padding:12px 16px;
    border-bottom:1px solid #E5E9F0;
    color:#374151;
}
.cost-table tr:last-child td { border-bottom:none; }
.cost-table tr:nth-child(even) td { background:#F9FBFC; }
.cost-table .age-col { font-weight:700; color:#0D1B3E; }
.cost-table .price-col { font-weight:800; color:#7B2FBE; font-size:1rem; }

/* ── Cost includes ── */
.cost-includes { margin:16px 0; }
.cost-includes h4 {
    font-family:var(--font-heading);
    font-size:0.85rem;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:#0D1B3E;
    margin-bottom:10px;
}
.cost-includes-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.cost-includes-grid div {
    background:#F4F7FB;
    padding:8px 12px;
    border-radius:6px;
    font-size:0.85rem;
    color:#0D1B3E;
    font-weight:600;
}

/* ── Locations grid ── */
.locations-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:16px 0;
}
.location-card {
    background:#F4F7FB;
    border-radius:10px;
    padding:16px 18px;
    border-left:4px solid #00B4D8;
}
.location-card h4 {
    font-family:var(--font-heading);
    font-size:0.9rem;
    font-weight:700;
    color:#0D1B3E;
    margin-bottom:8px;
}
.location-card p { font-size:0.85rem; color:#6B7280; margin:0 0 4px; }

/* ── Timeline ── */
.expect-timeline { display:flex; flex-direction:column; gap:0; margin:16px 0; }
.expect-item {
    display:flex;
    gap:16px;
    align-items:flex-start;
    padding:14px 0;
    border-bottom:1px dashed #E5E9F0;
    position:relative;
}
.expect-item:last-child { border-bottom:none; }
.expect-dot {
    width:14px;
    height:14px;
    border-radius:50%;
    flex-shrink:0;
    margin-top:4px;
}
.expect-item strong {
    font-family:var(--font-heading);
    font-size:0.9rem;
    color:#0D1B3E;
    display:block;
    margin-bottom:4px;
}
.expect-item p { font-size:0.85rem; margin:0; }

/* ── Inner FAQs ── */
.inner-faq {
    background:#F9FBFC !important;
    border-radius:8px !important;
    margin-bottom:8px !important;
    box-shadow:none !important;
    border:1px solid #E5E9F0 !important;
}
.inner-faq-question {
    padding:14px 18px !important;
    font-size:0.9rem !important;
    font-weight:700 !important;
    color:#0D1B3E !important;
}
.inner-faq .faq-answer { padding:0 18px 14px; }
.inner-faq .faq-answer p { font-size:0.875rem; margin:0; }

/* ── Mobile responsive ── */
@media (max-width:700px) {
    .why-mission-grid { grid-template-columns:1fr; }
    .cost-includes-grid { grid-template-columns:1fr; }
    .locations-grid { grid-template-columns:1fr; }
    .why-accordion-question { font-size:0.9rem; }
}
