/* =========================================================
   AZ PRO SANTA - STRONG PERFORMER WEBSITE THEMES
   Upload to: /assets/css/themes.css
   This file intentionally makes each performer theme visually distinct.
   ========================================================= */

/* BASE THEME SYSTEM */

.performer-theme-page {
    color: #fff;
    background: #06180f;
}

.theme-hero {
    min-height: 780px;
    padding: 90px 34px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    border-bottom: 2px solid rgba(244,202,100,.65);
    position: relative;
    overflow: hidden;
}

.theme-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .55;
}

.theme-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1500px;
    width: 100%;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 390px;
    gap: 38px;
    align-items: center;
}

.theme-hero-copy,
.theme-profile-card,
.theme-content-card,
.theme-package-card {
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(255,215,120,.16), transparent 35%),
        linear-gradient(180deg, rgba(67,22,10,.94), rgba(16,8,5,.98));
    border: 1px solid rgba(244,202,100,.58);
    box-shadow: 0 30px 80px rgba(0,0,0,.5);
    backdrop-filter: blur(14px);
}

.theme-hero-copy {
    padding: 46px;
}

.theme-hero-copy h1 {
    margin: 0 0 18px;
    font-family: Georgia, serif;
    font-size: clamp(50px, 7vw, 104px);
    line-height: .9;
    color: #fff3d4;
    text-shadow: 0 10px 35px rgba(0,0,0,.72);
}

.theme-location {
    margin: 0;
    color: #f8d77a;
    font-size: 22px;
    font-weight: 900;
}

.theme-intro {
    max-width: 780px;
    color: #fff8e9;
    font-size: 21px;
    line-height: 1.45;
}

.theme-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 26px;
}

.theme-secondary-btn {
    display: inline-block;
    padding: 14px 22px;
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(244,202,100,.55);
    color: #fff3d6;
    font-weight: 900;
    text-transform: uppercase;
}

.theme-profile-card {
    padding: 24px;
    text-align: center;
}

.theme-profile-card img {
    width: 100%;
    max-height: 370px;
    object-fit: cover;
    border-radius: 24px;
    border: 1px solid rgba(244,202,100,.5);
    margin-bottom: 18px;
}

.theme-profile-placeholder {
    height: 360px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #7a0e17, #0b331d);
    color: #f8d77a;
    font-family: Georgia, serif;
    font-size: 48px;
    margin-bottom: 18px;
}

.theme-profile-card h3 {
    margin: 0 0 8px;
    font-family: Georgia, serif;
    font-size: 32px;
    color: #ffe3a4;
}

.theme-profile-card p,
.theme-profile-card span {
    color: #f6ead0;
    text-transform: uppercase;
    letter-spacing: .8px;
    font-size: 12px;
    font-weight: 900;
}

.theme-section {
    padding: 74px 34px;
    background: linear-gradient(180deg, #082416, #03140d);
}

.theme-section:nth-of-type(even) {
    background: linear-gradient(180deg, #03140d, #092b1a);
}

.theme-section-title {
    max-width: 1500px;
    margin: 0 auto 30px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.theme-section-title span {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, #d4af37, transparent);
}

.theme-section-title h2 {
    margin: 0;
    font-family: Georgia, serif;
    font-size: clamp(34px, 4vw, 56px);
    color: #f4d06d;
    text-transform: uppercase;
    text-align: center;
}

.theme-content-card {
    max-width: 1200px;
    margin: auto;
    padding: 36px;
}

.theme-content-card p {
    margin: 0;
    color: #f6ead0;
    font-size: 20px;
    line-height: 1.6;
}

.theme-gallery-grid {
    max-width: 1500px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.theme-gallery-card {
    min-height: 270px;
    border-radius: 24px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    border: 1px solid rgba(244,202,100,.55);
    box-shadow: 0 18px 45px rgba(0,0,0,.34);
    display: flex;
    align-items: flex-end;
    transition: .25s ease;
}

.theme-gallery-card:hover {
    transform: translateY(-5px);
}

.theme-gallery-card span {
    width: 100%;
    display: block;
    padding: 16px;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,.82));
    color: #fff3d6;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 12px;
}

.theme-package-grid {
    max-width: 1500px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.theme-package-card {
    padding: 28px;
    display: flex;
    flex-direction: column;
}

.theme-package-card h3 {
    margin: 0 0 12px;
    font-family: Georgia, serif;
    font-size: 32px;
    color: #ffe3a4;
}

.theme-package-card p {
    color: #f6ead0;
    line-height: 1.5;
}

.theme-package-meta {
    margin: auto 0 22px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.12);
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.theme-package-meta strong {
    color: #ffd978;
    font-family: Georgia, serif;
    font-size: 30px;
}

.theme-package-meta span {
    color: #f5cf6d;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 12px;
}

.theme-final-cta {
    padding: 94px 34px;
    text-align: center;
    background: linear-gradient(180deg, #5f0c0b, #160202);
}

.theme-final-cta h2 {
    margin: 0 0 16px;
    font-family: Georgia, serif;
    font-size: clamp(42px, 6vw, 82px);
    color: #fff3d4;
}

.theme-final-cta p {
    color: #fff3d6;
    font-size: 22px;
}

/* CLASSIC CHRISTMAS - red, green, gold */

.performer-theme-page.theme-classic .theme-hero::after {
    background:
        radial-gradient(circle at 18% 20%, rgba(255,210,95,.18), transparent 24%),
        radial-gradient(circle at 82% 36%, rgba(18,95,54,.28), transparent 30%);
}

.performer-theme-page.theme-classic .theme-hero-copy,
.performer-theme-page.theme-classic .theme-profile-card,
.performer-theme-page.theme-classic .theme-content-card,
.performer-theme-page.theme-classic .theme-package-card {
    background:
        radial-gradient(circle at top right, rgba(255,215,120,.20), transparent 34%),
        linear-gradient(180deg, rgba(92,14,12,.96), rgba(11,44,25,.98));
    border-color: rgba(244,202,100,.68);
}

.performer-theme-page.theme-classic .theme-section {
    background:
        radial-gradient(circle at top left, rgba(159,22,18,.20), transparent 30%),
        linear-gradient(180deg, #0b2c19, #03140d);
}

.performer-theme-page.theme-classic .theme-section:nth-of-type(even) {
    background:
        radial-gradient(circle at top right, rgba(244,202,100,.14), transparent 28%),
        linear-gradient(180deg, #5d0909, #061f13);
}

.performer-theme-page.theme-classic .btn,
.performer-theme-page.theme-classic .theme-secondary-btn {
    box-shadow: 0 0 22px rgba(242,196,91,.22);
}

/* LUXURY GOLD - black, bronze, premium */

.performer-theme-page.theme-luxury {
    background: #050302;
}

.performer-theme-page.theme-luxury .theme-hero {
    border-bottom-color: rgba(255,218,130,.9);
}

.performer-theme-page.theme-luxury .theme-hero::after {
    background:
        radial-gradient(circle at 18% 18%, rgba(255,221,145,.22), transparent 22%),
        linear-gradient(120deg, rgba(0,0,0,.25), rgba(77,40,4,.24), rgba(0,0,0,.55));
}

.performer-theme-page.theme-luxury .theme-hero-copy,
.performer-theme-page.theme-luxury .theme-profile-card,
.performer-theme-page.theme-luxury .theme-content-card,
.performer-theme-page.theme-luxury .theme-package-card {
    background:
        radial-gradient(circle at top right, rgba(255,225,150,.24), transparent 34%),
        linear-gradient(180deg, rgba(64,33,5,.98), rgba(8,4,1,.99));
    border-color: rgba(255,220,130,.82);
    box-shadow:
        0 0 55px rgba(255,190,80,.14),
        0 30px 80px rgba(0,0,0,.62);
}

.performer-theme-page.theme-luxury .theme-section {
    background:
        radial-gradient(circle at top left, rgba(255,210,120,.10), transparent 30%),
        linear-gradient(180deg, #170c03, #050302);
}

.performer-theme-page.theme-luxury .theme-section:nth-of-type(even) {
    background:
        radial-gradient(circle at top right, rgba(255,210,120,.12), transparent 28%),
        linear-gradient(180deg, #050302, #261404);
}

.performer-theme-page.theme-luxury .theme-section-title h2,
.performer-theme-page.theme-luxury .theme-package-card h3,
.performer-theme-page.theme-luxury .theme-profile-card h3 {
    color: #ffe6a3;
}

.performer-theme-page.theme-luxury .theme-section-title span {
    background: linear-gradient(90deg, transparent, #ffe6a3, transparent);
}

.performer-theme-page.theme-luxury .btn,
.performer-theme-page.theme-luxury .theme-secondary-btn {
    background: linear-gradient(180deg, #ffe39a, #a86a16);
    color: #1b0900;
}

/* WINTER WONDERLAND - blue, silver, ice */

.performer-theme-page.theme-winter {
    background: #03101b;
}

.performer-theme-page.theme-winter .theme-hero {
    border-bottom-color: rgba(190,235,255,.88);
}

.performer-theme-page.theme-winter .theme-hero::after {
    background:
        radial-gradient(circle at 20% 18%, rgba(195,236,255,.32), transparent 22%),
        radial-gradient(circle at 80% 34%, rgba(90,170,230,.22), transparent 30%),
        linear-gradient(120deg, rgba(4,20,34,.25), rgba(6,45,70,.24));
}

.performer-theme-page.theme-winter .theme-hero-copy,
.performer-theme-page.theme-winter .theme-profile-card,
.performer-theme-page.theme-winter .theme-content-card,
.performer-theme-page.theme-winter .theme-package-card {
    background:
        radial-gradient(circle at top right, rgba(190,235,255,.20), transparent 34%),
        linear-gradient(180deg, rgba(10,48,76,.96), rgba(3,12,22,.98));
    border-color: rgba(190,235,255,.72);
    box-shadow:
        0 0 50px rgba(130,210,255,.12),
        0 30px 80px rgba(0,0,0,.58);
}

.performer-theme-page.theme-winter .theme-section {
    background:
        radial-gradient(circle at top left, rgba(150,220,255,.12), transparent 30%),
        linear-gradient(180deg, #0e2a42, #03101b);
}

.performer-theme-page.theme-winter .theme-section:nth-of-type(even) {
    background:
        radial-gradient(circle at top right, rgba(210,245,255,.13), transparent 28%),
        linear-gradient(180deg, #03101b, #12324d);
}

.performer-theme-page.theme-winter .theme-section-title h2,
.performer-theme-page.theme-winter .theme-package-card h3,
.performer-theme-page.theme-winter .theme-profile-card h3 {
    color: #d7f4ff;
}

.performer-theme-page.theme-winter .theme-section-title span {
    background: linear-gradient(90deg, transparent, #bfefff, transparent);
}

.performer-theme-page.theme-winter .btn,
.performer-theme-page.theme-winter .theme-secondary-btn {
    background: linear-gradient(180deg, #d9f6ff, #5ba8d8);
    color: #041524;
}

/* RUSTIC LODGE - wood, pine, warm cabin */

.performer-theme-page.theme-rustic {
    background: #080402;
}

.performer-theme-page.theme-rustic .theme-hero {
    border-bottom-color: rgba(210,145,75,.9);
}

.performer-theme-page.theme-rustic .theme-hero::after {
    background:
        radial-gradient(circle at 20% 20%, rgba(255,170,95,.18), transparent 24%),
        radial-gradient(circle at 80% 40%, rgba(25,75,42,.28), transparent 30%),
        linear-gradient(120deg, rgba(30,16,5,.22), rgba(0,0,0,.55));
}

.performer-theme-page.theme-rustic .theme-hero-copy,
.performer-theme-page.theme-rustic .theme-profile-card,
.performer-theme-page.theme-rustic .theme-content-card,
.performer-theme-page.theme-rustic .theme-package-card {
    background:
        radial-gradient(circle at top right, rgba(255,170,85,.18), transparent 34%),
        linear-gradient(180deg, rgba(68,38,18,.97), rgba(13,7,3,.99));
    border-color: rgba(210,145,75,.75);
    box-shadow:
        0 0 45px rgba(170,88,35,.14),
        0 30px 80px rgba(0,0,0,.58);
}

.performer-theme-page.theme-rustic .theme-section {
    background:
        radial-gradient(circle at top left, rgba(185,105,45,.13), transparent 30%),
        linear-gradient(180deg, #281607, #080402);
}

.performer-theme-page.theme-rustic .theme-section:nth-of-type(even) {
    background:
        radial-gradient(circle at top right, rgba(20,90,45,.16), transparent 28%),
        linear-gradient(180deg, #080402, #33200f);
}

.performer-theme-page.theme-rustic .theme-section-title h2,
.performer-theme-page.theme-rustic .theme-package-card h3,
.performer-theme-page.theme-rustic .theme-profile-card h3 {
    color: #ffc17b;
}

.performer-theme-page.theme-rustic .theme-section-title span {
    background: linear-gradient(90deg, transparent, #ca8941, transparent);
}

.performer-theme-page.theme-rustic .btn,
.performer-theme-page.theme-rustic .theme-secondary-btn {
    background: linear-gradient(180deg, #d89442, #784315);
    color: #fff4df;
}

/* Responsive */

@media (max-width: 1100px) {
    .theme-hero-inner,
    .theme-gallery-grid,
    .theme-package-grid {
        grid-template-columns: 1fr;
    }

    .theme-hero {
        min-height: auto;
        padding: 70px 24px;
    }

    .theme-hero-copy {
        padding: 30px;
    }

    .theme-profile-card {
        max-width: 520px;
        margin: auto;
    }
}
