/* Per-template & per-section visual variations */

/* ── Category accents ── */
.cat-creative-entertainment .section-header-accent {
    background: linear-gradient(90deg, var(--color-accent), #6366f1);
}
.cat-business-corporate .section-style-corporate .section-header h2 {
    letter-spacing: -0.03em;
}
.cat-professional-services .section-style-trust {
    --trust-radius: calc(var(--radius) * 0.7);
}
.cat-professional-services .premium-card,
.cat-professional-services .quote-card {
    border-radius: var(--trust-radius, var(--radius));
}
.cat-real-estate .section-style-luxury .section-header h2 {
    font-weight: 600;
    letter-spacing: 0.02em;
}
.cat-hospitality .section-style-luxury .section-header-accent {
    width: 4rem;
    height: 2px;
}
.cat-sports .section-style-bold .section-header h2 {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── Stats layouts ── */
.stats-bento-hero {
    background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 18%, var(--color-surface)), var(--color-surface));
    border: 1px solid color-mix(in srgb, var(--color-accent) 25%, var(--color-border));
}
.stats-inline {
    box-shadow: var(--shadow-card);
}
.stats-minimal .counter {
    font-variant-numeric: tabular-nums;
}

/* ── Testimonials featured ── */
.testimonials-featured {
    background: linear-gradient(145deg, var(--color-surface), color-mix(in srgb, var(--color-accent) 8%, var(--color-surface)));
}
.testimonials-compact {
    border-left: 3px solid var(--color-accent);
}

/* ── Services icons ── */
.services-icon-ring {
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.services-icon-card:hover .services-icon-ring {
    transform: scale(1.1);
    box-shadow: 0 0 0 8px color-mix(in srgb, var(--color-accent) 12%, transparent);
}

/* ── Gallery fullwidth scroll ── */
.gallery-fullwidth {
    scrollbar-width: none;
}
.gallery-fullwidth::-webkit-scrollbar { display: none; }

/* ── CTA split ── */
.cta-split {
    border: 1px solid var(--color-border);
}

/* ── Timeline events ── */
.events-timeline .event-timeline-item:last-child {
    padding-bottom: 0;
}

/* ── Logo strip ── */
.logos-strip .logo-item {
    background: var(--color-surface);
    min-width: 0;
    flex: 1 1 auto;
    text-align: center;
}

/* ── Album showcase ── */
.album-showcase-featured {
    box-shadow: var(--shadow-card);
}

/* ── Per-section style: stronger visual separation ── */
section[data-section-style="cinematic"] {
    position: relative;
}
section[data-section-style="cinematic"]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--color-accent) 6%, transparent), transparent 55%);
    pointer-events: none;
}
section[data-section-style="corporate"] {
    border-top: 1px solid color-mix(in srgb, var(--color-border) 80%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--color-border) 80%, transparent);
}
section[data-section-style="trust"] .premium-card,
section[data-section-style="trust"] .quote-card {
    border: 1px solid color-mix(in srgb, var(--color-accent) 15%, var(--color-border));
}
section[data-section-style="luxury"] {
    letter-spacing: 0.01em;
}
section[data-section-style="bold"] .section-header h2 {
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
section[data-section-style="minimal"] {
    background: transparent !important;
}
section.bg-black\/20[data-section-style="minimal"] {
    background: color-mix(in srgb, var(--color-text) 3%, transparent) !important;
}

/* Layout modifiers */
section.layout-banner .cta-band,
section.layout-banner .newsletter-box {
    width: 100%;
}
section.layout-centered .max-w-7xl {
    text-align: center;
}
section.layout-card .premium-card {
    box-shadow: var(--shadow-card);
}
section.layout-minimal {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}
section.layout-minimal .section-header-accent {
    display: none;
}
section.layout-split .section-header {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

/* Background bands — make alternating sections obvious */
section.bg-accent\/5 {
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-accent) 12%, transparent);
}
section.bg-black\/20 {
    color: color-mix(in srgb, var(--color-text) 92%, white);
}
section.bg-black\/20 .section-header h2 {
    color: inherit;
}

/* ── Section style: cinematic (creative hero sections) ── */
.section-style-cinematic + .max-w-7xl .section-header h2,
.section-style-cinematic .section-header h2 {
    font-size: clamp(2rem, 4vw, 3.5rem);
}

/* ── Section style: editorial ── */
.section-style-editorial .section-header {
    text-align: left;
    max-width: none;
}
.section-style-editorial .section-header-accent {
    margin-left: 0;
}

/* ── Section style: minimal ── */
.section-style-minimal .section-header h2 {
    font-size: 1.875rem;
    font-weight: 600;
}
.section-style-minimal .section-header-accent {
    display: none;
}

/* ── Section style: bold ── */
.section-style-bold .section-header h2 {
    font-weight: 800;
}

/* ── Section style: warm (education/nonprofit) ── */
.section-style-warm {
    background: linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 4%, transparent), transparent) !important;
}

/* ── Section style: luxury (real estate/hospitality) ── */
.section-style-luxury .premium-card,
.section-style-luxury .property-card {
    border-radius: calc(var(--radius) * 1.2);
}

/* ── Template-specific tweaks ── */
.tpl-musician .section-header-accent,
.tpl-dj .section-header-accent {
    background: linear-gradient(90deg, var(--color-accent), #a855f7);
}
.tpl-medical-doctor .btn-style-solid a[class*="bg-accent"],
.tpl-dentist .btn-style-solid a[class*="bg-accent"] {
    border-radius: calc(var(--radius) * 0.5) !important;
}
.tpl-restaurant .section-style-luxury .section-header h2 {
    font-style: italic;
}
.tpl-real-estate-company .property-card {
    border: none;
    box-shadow: var(--shadow-card);
}
.tpl-influencer .stats-bento-hero {
    background: linear-gradient(135deg, color-mix(in srgb, #fb7185 20%, var(--color-surface)), var(--color-surface));
}
.tpl-saas-product .feature-card {
    border-top: 3px solid var(--color-accent);
}
.tpl-politician .cta-band {
    background: linear-gradient(135deg, #1e3a8a, #1e40af) !important;
}

/* Dark template body polish */
.dark.cat-creative-entertainment {
    background-image: radial-gradient(ellipse at 20% 0%, color-mix(in srgb, var(--color-accent) 8%, transparent), transparent 50%);
}
.dark.tpl-musician {
    background-image: radial-gradient(ellipse at 80% 20%, color-mix(in srgb, #d4af37 6%, transparent), transparent 45%);
}

/* ── Announcement bar ── */
.announcement-bar {
    position: relative;
    z-index: 60;
    width: 100%;
}
.announcement-accent {
    background: linear-gradient(90deg, var(--color-accent), color-mix(in srgb, var(--color-accent) 70%, #6366f1));
    color: #fff;
}
.announcement-dark {
    background: #0f172a;
    color: #f8fafc;
}
.announcement-light {
    background: color-mix(in srgb, var(--color-accent) 8%, var(--color-bg));
    color: var(--color-text);
    border-bottom: 1px solid var(--color-border);
}
.announcement-link { color: inherit; }

/* ── Dedicated section layouts ── */
.discography-timeline .discography-entry:last-child { padding-bottom: 0; }
.filmography-table tbody tr:hover { background: color-mix(in srgb, var(--color-accent) 5%, transparent); }
.impact-metric { transition: transform 0.3s ease; }
.impact-metric:hover { transform: translateY(-4px); }
.collection-card { box-shadow: var(--shadow-card); }
.donation-amount.is-selected { border-color: var(--color-accent); background: color-mix(in srgb, var(--color-accent) 12%, transparent); }
.integration-logo { min-width: 0; flex: 1 1 auto; text-align: center; }
.menu-dots-price { font-variant-numeric: tabular-nums; }
