/*==================================================================
  REGISTRATION PAGE — Premium White & Golden Yellow override
  Loaded AFTER Registration.css. Same selectors/specificity, later
  in source order, so these values win without needing to rewrite
  Registration.css itself. No HTML/JS touched.
==================================================================*/

:root {
    --bg-main: #FFFFFF;
    --bg-card: #FFFFFF;
    --bg-input: #FAFAFA;

    --text-primary: #1A1A1A;
    --text-secondary: #666666;

    --accent-purple: #F4B400;
    --accent-purple-glow: rgba(244, 180, 0, 0.18);
    --accent-blue: #D99A00;
    --accent-green: #10B981;

    --border-color: #E8E8E8;
    --border-highlight: #F4B400;

    --font-family: 'Inter', -apple-system, sans-serif;
}

body {
    background: var(--bg-main);
    color: var(--text-primary);
}

body::before {
    background:
        radial-gradient(circle at 15% 20%, rgba(244,180,0,.08), transparent 30%),
        radial-gradient(circle at 85% 15%, rgba(244,180,0,.06), transparent 32%),
        radial-gradient(circle at 80% 80%, rgba(244,180,0,.05), transparent 28%);
}

.registration-page {
    background-image: none;
    background-color: var(--bg-main);
}

.sidebar,
.card,
.pricing-table,
.promo-card {
    background-color: #FFFFFF;
    border: 1px solid var(--border-color);
    box-shadow: 0 10px 30px rgba(26,26,26,.06);
}

.gradient-text {
    background: linear-gradient(90deg, #F4B400, #D99A00);
    -webkit-background-clip: text;
    background-clip: text;
}

.step-number {
    background: linear-gradient(135deg, #F4B400, #D99A00);
    box-shadow: 0 10px 20px rgba(244,180,0,.30);
    color: #FFFFFF;
}

/* Pricing table */
.pricing-table {
    background: #FFFFFF;
    border: 1px solid var(--border-color);
    box-shadow: 0 15px 40px rgba(26,26,26,.08);
}

.table-row {
    border-bottom: 1px solid var(--border-color);
}

.cell {
    border-right: 1px solid var(--border-color);
}

.table-row.header .cell {
    background-color: var(--bg-input);
    color: var(--text-secondary);
}

.price,
.category-name,
.summary-item strong,
.amount,
.acc-radio,
.summary-value strong,
.summary-value .amount,
.promo-left h4 {
    color: var(--text-primary);
}

.highlight-cell .price,
.highlight-cell {
    color: var(--accent-hover, #D99A00);
}

.save,
.discount .amount,
.saving-box {
    color: var(--accent-green);
}

.badge,
.badge-early-bird {
    background: linear-gradient(135deg, rgba(244, 180, 0, 0.85), rgba(217, 154, 0, 0.85));
    color: #FFFFFF;
    border: 1px solid rgba(244, 180, 0, 0.5);
}

.highlight {
    background: linear-gradient(180deg, #FFF6DE 0%, #FFEFC2 100%);
    border: 2px solid var(--accent-purple);
    color: var(--text-primary);
}

.highlight-cell {
    background: linear-gradient(180deg, rgba(255,246,222,.9) 0%, rgba(255,239,194,.95) 100%);
    border-left: 2px solid var(--accent-purple);
    border-right: 2px solid var(--accent-purple);
}

.table-row:last-child .highlight-cell {
    border-bottom: 2px solid var(--accent-purple);
}

.best-value {
    border: 1px solid var(--accent-purple);
    background: rgba(244, 180, 0, 0.10);
    color: var(--text-primary);
    box-shadow: 0 0 15px rgba(244,180,0,.18);
}

/* Forms */
.form-group label {
    color: var(--text-secondary);
}

input,
select,
textarea {
    background: #FAFAFA;
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}

input:hover,
select:hover {
    border-color: var(--accent-purple);
}

input:focus,
textarea:focus {
    border-color: var(--accent-purple);
    box-shadow: 0 0 0 4px rgba(244,180,0,.15);
    background: #FFFFFF;
}

select:focus {
    border-color: var(--accent-purple);
    background: #FFFFFF;
}

select:focus-visible {
    border-color: var(--accent-purple);
    box-shadow: 0 0 0 3px rgba(244,180,0,.12);
}

.form-group:focus-within label {
    color: var(--accent-hover, #D99A00);
}

/* Order summary */
.price-large,
.summary-total h2 {
    color: var(--accent-hover, #D99A00);
}

.btn-primary,
button.btn-register {
    background: linear-gradient(90deg, #F4B400, #D99A00) !important;
    color: #FFFFFF !important;
}

button.btn-register:hover {
    background: linear-gradient(90deg, #D99A00, #B87F00) !important;
}

.ticket-row:hover {
    background: rgba(244,180,0,.08);
}

.ticket-row.active .category-name {
    background: linear-gradient(90deg, #F4B400, #D99A00);
    color: #FFFFFF;
    border-left: 4px solid #D99A00;
    box-shadow: inset 0 0 20px rgba(217,154,0,.20);
}

.custom-radio {
    border: 2px solid var(--accent-purple);
}

.acc-radio input:checked + .custom-radio::after {
    background: var(--accent-purple);
}

/* Decorative AI illustration */
.ai-image {
    background: linear-gradient(180deg, rgba(244,180,0,.10), rgba(217,154,0,.08));
    border: 1px solid rgba(244,180,0,.20);
}

.ai-image::before {
    background: radial-gradient(rgba(244,180,0,.30), transparent 70%);
}

.ai-brain {
    filter:
        drop-shadow(0 0 25px rgba(244,180,0,.35))
        drop-shadow(0 0 45px rgba(217,154,0,.20));
}

.brain-img {
    filter:
        drop-shadow(0 0 20px rgba(244,180,0,.30))
        drop-shadow(0 0 35px rgba(217,154,0,.20));
}

.brain-img:hover {
    filter:
        drop-shadow(0 0 30px rgba(244,180,0,.45))
        drop-shadow(0 0 50px rgba(217,154,0,.30));
}

.ai-image span {
    background: #F4B400;
    box-shadow: 0 0 10px #F4B400;
}

.ai-image span:nth-child(2) { background: #D99A00; box-shadow: 0 0 12px #D99A00; }
.ai-image span:nth-child(3) { background: #F4B400; box-shadow: 0 0 15px #F4B400; }
.ai-image span:nth-child(4) { background: #E8A800; box-shadow: 0 0 12px #E8A800; }
.ai-image span:nth-child(5) { background: #D99A00; box-shadow: 0 0 15px #D99A00; }

.promo-left p {
    color: var(--text-secondary);
}

.btn-apply {
    background: linear-gradient(90deg, #F4B400, #D99A00);
    color: #FFFFFF;
}

.btn-apply:hover {
    box-shadow: 0 12px 30px rgba(244,180,0,.30);
}

hr,
.summary-details hr,
.accommodation-row {
    border-color: var(--border-color);
}
