/*
   PRIME PANEL SYSTEM v3
   Unified global template
*/

:root {
    --prime-bg: rgba(10, 10, 10, 0.78);
    --prime-bg-soft: rgba(20, 20, 20, 0.64);

    --prime-panel-surface:
        linear-gradient(
            180deg,
            rgba(18,18,18,0.96) 0%,
            rgba(10,10,10,0.93) 52%,
            rgba(6,6,6,0.82) 78%,
            rgba(6,6,6,0.42) 100%
        );

    --prime-panel-hero:
        linear-gradient(
            180deg,
            rgba(22,22,22,0.97) 0%,
            rgba(12,12,12,0.94) 52%,
            rgba(8,8,8,0.84) 78%,
            rgba(8,8,8,0.48) 100%
        );

    --prime-panel-soft:
        linear-gradient(
            180deg,
            rgba(24,24,24,0.92) 0%,
            rgba(10,10,10,0.96) 60%,
            rgba(6,6,6,0.98) 100%
        );

    --prime-panel-lite: rgba(255, 255, 255, 0.04);

    --prime-border: rgba(255, 255, 255, 0.14);
    --prime-border-soft: rgba(255, 255, 255, 0.08);
    --prime-border-accent: rgba(243, 211, 124, 0.34);

    --prime-text: #ffffff;
    --prime-text-soft: rgba(255, 255, 255, 0.88);
    --prime-muted: rgba(255, 255, 255, 0.66);

    --prime-accent: #f3d37c;
    --prime-link: #f3d37c;
    --prime-link-hover: #fff3b5;

    --prime-radius: 14px;
    --prime-radius-lg: 22px;

    --prime-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    --prime-shadow-strong: 0 16px 34px rgba(0, 0, 0, 0.34);
    --prime-shadow-lift: 0 22px 44px rgba(0, 0, 0, 0.42);
}

/* BASE */
.page,
.prime-theme {
    color: var(--prime-text-soft);
}

.page p,
.page li,
.page dt,
.page dd,
.page td,
.page th,
.prime-theme p,
.prime-theme li {
    color: var(--prime-text-soft);
    line-height: 1.65;
}

/* LINKS */
.page a,
.prime-theme a {
    color: var(--prime-link);
    text-decoration: none;
}

.page a:hover,
.prime-theme a:hover {
    color: var(--prime-link-hover);
}

/* HEADINGS */
.page h1,
.page h2,
.page h3,
.page h4,
.page h5,
.page h6,
.main-title,
.section-title {
    color: var(--prime-text);
    text-shadow: 0 2px 10px rgba(0,0,0,0.28);
}

/* STRONG */
.stat-label,
.profile-list-label {
    color: var(--prime-accent);
}

/* =========================
   ENVIRONMENTAL BLEED LAYER
========================= */

.prime-bleed-wrap {
    position: relative;
    isolation: isolate;
}

.prime-bleed-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;

    background:
        radial-gradient(
            circle at 28% 36%,
            rgba(243,211,124,0.06),
            transparent 54%
        ),
        radial-gradient(
            circle at 72% 68%,
            rgba(255,255,255,0.025),
            transparent 40%
        );
}

.prime-bleed-wrap > * {
    position: relative;
    z-index: 1;
}

/* =========================
   GLOBAL PRIME PANELS
========================= */

.panel,
.hero,
.stat-card,
.gallery-card,
.priority-card,
.page .card,
.page .accordion-item,
.page .modal-content,
.page .dropdown-menu,
.page .table,
.page .alert,
.page .list-group-item,
.prime-panel,
.about-panel,
.contact-panel,
.cookies-card,
.gdpr-card,
.cookies-summary,
.gdpr-summary,
.prime-summary {
    position: relative;
    overflow: hidden;

    background: var(--prime-panel-surface);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 18px;

    box-shadow:
        var(--prime-shadow),
        inset 0 1px 0 rgba(255,255,255,0.03);

    backdrop-filter: blur(6px);

    transition:
        transform 0.24s ease,
        box-shadow 0.24s ease,
        border-color 0.24s ease,
        background 0.24s ease;
}

/* GOLD ACCENT LINE */
.panel::before,
.hero::before,
.stat-card::before,
.gallery-card::before,
.priority-card::before,
.page .card::before,
.prime-panel::before,
.about-panel::before,
.contact-panel::before,
.cookies-card::before,
.gdpr-card::before,
.cookies-summary::before,
.gdpr-summary::before,
.prime-summary::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 4px;
    border-radius: 2px;

    background: linear-gradient(
        180deg,
        rgba(243,211,124,1) 0%,
        rgba(243,211,124,0.62) 45%,
        rgba(243,211,124,0.18) 100%
    );

    box-shadow:
        0 0 12px rgba(243,211,124,0.34),
        0 0 24px rgba(243,211,124,0.12);

    opacity: 0.95;

    transition:
        opacity 0.24s ease,
        box-shadow 0.24s ease,
        background 0.24s ease;
}

/* SURFACE SHEEN */
.panel::after,
.hero::after,
.stat-card::after,
.gallery-card::after,
.priority-card::after,
.page .card::after,
.prime-panel::after,
.about-panel::after,
.contact-panel::after,
.cookies-card::after,
.gdpr-card::after,
.cookies-summary::after,
.gdpr-summary::after,
.prime-summary::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;

    background: linear-gradient(
        180deg,
        rgba(255,255,255,0.025) 0%,
        transparent 32%,
        rgba(0,0,0,0.10) 100%
    );
}

/* HOVER */
.panel:hover,
.hero:hover,
.stat-card:hover,
.gallery-card:hover,
.priority-card:hover,
.page .card:hover,
.prime-panel:hover,
.about-panel:hover,
.contact-panel:hover,
.cookies-card:hover,
.gdpr-card:hover,
.cookies-summary:hover,
.gdpr-summary:hover,
.prime-summary:hover {
    transform: translateY(-3px);

    border-color: rgba(243,211,124,0.28);

    box-shadow:
        0 16px 34px rgba(0,0,0,0.34),
        0 0 0 1px rgba(243,211,124,0.04),
        0 0 18px rgba(243,211,124,0.10);

    background: var(--prime-panel-hero);
}

.panel:hover::before,
.hero:hover::before,
.stat-card:hover::before,
.gallery-card:hover::before,
.priority-card:hover::before,
.page .card:hover::before,
.prime-panel:hover::before,
.about-panel:hover::before,
.contact-panel:hover::before,
.cookies-card:hover::before,
.gdpr-card:hover::before,
.cookies-summary:hover::before,
.gdpr-summary:hover::before,
.prime-summary:hover::before {
    box-shadow:
        0 0 14px rgba(243,211,124,0.42),
        0 0 28px rgba(243,211,124,0.16);

    background: linear-gradient(
        180deg,
        rgba(243,211,124,1) 0%,
        rgba(243,211,124,0.76) 45%,
        rgba(243,211,124,0.22) 100%
    );
}

/* HERO = STRONGER PANEL */
.hero,
.prime-panel-hero {
    background: var(--prime-panel-hero);
    border-color: rgba(243,211,124,0.20);
    box-shadow:
        var(--prime-shadow-strong),
        inset 0 1px 0 rgba(255,255,255,0.04);
    border-radius: var(--prime-radius-lg);
}

/* =========================
   TITLES
========================= */

.section-title,
.main-title {
    margin-bottom: 1rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}

/* TEXT */
.copy {
    line-height: 1.7;
}

/* LIST */
.page ul {
    padding-left: 1.25rem;
}

.page li {
    margin-bottom: 0.45rem;
}

.clean-list .list-group-item {
    background: rgba(255,255,255,0.03);
    border-color: rgba(255,255,255,0.08);
}

/* BUTTONS */
.page .btn {
    border-radius: 10px;
}

.page .btn-primary {
    background: linear-gradient(180deg,#f7dea0,#f3d37c);
    color: #17120a;
}

/* FORMS */
.page .form-control {
    background: rgba(10,10,10,0.55);
    color: var(--prime-text);
    border: 1px solid rgba(255,255,255,0.15);
}

/* MEDIA */
.page img {
    max-width: 100%;
    border-radius: 12px;
}

.photo-frame {
    padding: 10px;
    background: rgba(255,255,255,0.03);
}

/* GALLERY */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap: 1rem;
}

/* BADGES */
.page .badge {
    border-radius: 999px;
}

.badge-prime {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;

    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;

    color: #f3d37c;
    background: rgba(243,211,124,0.10);
    border: 1px solid rgba(243,211,124,0.30);
    box-shadow: 0 0 10px rgba(243,211,124,0.08);

    transition: all 0.25s ease;
}

.badge-prime:hover {
    background: rgba(243,211,124,0.18);
    box-shadow: 0 0 24px rgba(243,211,124,0.35);
    transform: translateY(-1px);
}

/* STAT CARD */
.stat-card {
    padding: 12px 14px;
    border-radius: 10px;
}

.stat-label {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.55);
    margin-bottom: 4px;
}

.stat-value {
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.45;
}

/* SEPARATOR */
.separator {
    height: 1px;
    background: linear-gradient(90deg,transparent,rgba(243,211,124,0.45),transparent);
}

/* =========================
   CONTACT / FORM STATES
========================= */

.input-error {
    border-color: rgba(255, 80, 80, 0.5) !important;
    box-shadow:
        0 0 0 4px rgba(255, 80, 80, 0.08),
        0 0 14px rgba(255, 80, 80, 0.15) !important;
}

.input-error-message {
    margin-top: 6px;
    font-size: 0.8rem;
    color: #ff8a8a;
    letter-spacing: 0.02em;
}

.prime-consent.input-error {
    border-color: rgba(255, 80, 80, 0.35) !important;
    box-shadow:
        0 0 0 4px rgba(255, 80, 80, 0.06),
        inset 0 1px 0 rgba(255,255,255,0.02) !important;
}

/* =========================
   COOKIES / GDPR LAYOUT HELPERS
========================= */

.cookies-layout,
.gdpr-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.cookies-summary,
.gdpr-summary,
.prime-summary {
    position: sticky;
    top: 20px;
    align-self: start;
    padding: 20px;
}

.cookies-content,
.gdpr-content {
    display: grid;
    gap: 16px;
}

.cookies-card,
.gdpr-card {
    padding: 22px 22px 18px;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991px) {
    .page .card,
    .hero,
    .prime-panel,
    .about-panel,
    .contact-panel,
    .cookies-card,
    .gdpr-card,
    .cookies-summary,
    .gdpr-summary,
    .prime-summary {
        border-radius: 12px;
    }

    .cookies-layout,
    .gdpr-layout {
        grid-template-columns: 1fr;
    }

    .cookies-summary,
    .gdpr-summary,
    .prime-summary {
        position: relative;
        top: 0;
    }
}




/* =========================
   COMPONENTS
========================= */
/* cards, buttons, panels */


/* =========================
   TEMPLATES
========================= */
/* legal, profile, contact */

    /* Template 1 */

    
        .legal-content {
            display: grid;
            gap: 20px;
        }

    /* Template 3  */
        /* =========================
           [ TEMPLATE: LISTING / DESCRIPTIVE LIST ]
        ========================= */

        .page-listing .prime-listing {
            display: grid;
            gap: 14px;
        }

        .page-listing .prime-listing-item {
            padding: 14px 16px;
            border-radius: 12px;
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.06);
            transition:
                transform 0.22s ease,
                border-color 0.22s ease,
                box-shadow 0.22s ease,
                background 0.22s ease;
        }

        .page-listing .prime-listing-item:hover {
            transform: translateY(-2px);
            background: rgba(255,255,255,0.05);
            border-color: rgba(243,211,124,0.24);
            box-shadow: 0 0 14px rgba(243,211,124,0.06);
        }

        .page-listing .prime-listing-title {
            margin: 0 0 8px;
            padding: 0;
            border: none;
            color: var(--prime-text);
            font-size: 1.05rem;
            line-height: 1.3;
        }

        .page-listing .prime-listing-desc {
            color: var(--prime-text-soft);
            line-height: 1.6;
        }

    /* Template 4 */
        /* =========================
           TEMPLATE: PHOTOGALLERY
========================= */

.page-photogallery .prime-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

.page-photogallery .prime-gallery-item {
    margin: 0;
    padding: 12px;
    border-radius: 14px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    transition:
        transform 0.24s ease,
        border-color 0.24s ease,
        box-shadow 0.24s ease,
        background 0.24s ease;
}

.page-photogallery .prime-gallery-item:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,0.05);
    border-color: rgba(243,211,124,0.24);
    box-shadow:
        0 0 14px rgba(243,211,124,0.08);
}

.page-photogallery .prime-gallery-image {
    width: 100%;
    display: block;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.24);
}

.page-photogallery .prime-gallery-caption {
    margin-top: 10px;
    color: var(--prime-text-soft);
    font-size: 0.88rem;
    line-height: 1.5;
}        


    /* Template 5 */
        /* =========================
           TEMPLATE: ROLLOUT
        ========================= */

/* BUTTON */
.btn-prime-rollout {
    padding: 0px 22px;

    border-radius: 999px;

    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #f3d37c;

    background: rgba(243,211,124,0.08);
    border: 1px solid rgba(243,211,124,0.35);

    box-shadow:
        0 0 10px rgba(243,211,124,0.08);

    transition: all 0.25s ease;
}

.btn-prime-rollout:hover {
    color: #fff;

    background: rgba(243,211,124,0.18);

    box-shadow:
        0 0 18px rgba(243,211,124,0.25);

    transform: translateY(-2px);
}

/* ACTIVE (open state) */
.btn-prime-rollout[aria-expanded="true"] {
    color: #fff;

    background: rgba(243,211,124,0.22);

    box-shadow:
        0 0 22px rgba(243,211,124,0.35);
}

/* PANEL spacing tweak */
.page-rollout .rollout-panel {
    margin-top: 0px;

}
.prime-accordion .rollout-panel {
    margin-top: 0px;
    margin-bottom: 0px;
}

.prime-accordion .content{
    margin:0;padding:0;
}

/* =========================
   PRIME BUTTON (GLOBAL)
========================= */

.prime-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 10px 20px;

    border-radius: 12px;

    background: linear-gradient(
        180deg,
        rgba(18,18,18,0.96),
        rgba(10,10,10,0.98),
        rgba(6,6,6,0.99)
    );

    color: #ffffff;
    text-decoration: none;

    border: 1px solid rgba(255,255,255,0.14);

    font-weight: 600;
    letter-spacing: 0.02em;

    box-shadow: 0 8px 24px rgba(0,0,0,0.25);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}

/* GOLD LINE */
.prime-btn::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;

    border-radius: 2px;

    background: linear-gradient(
        180deg,
        rgba(243,211,124,1),
        rgba(243,211,124,0.3)
    );

    box-shadow:
        0 0 10px rgba(243,211,124,0.4);
}

/* HOVER */
.prime-btn:hover {
    transform: translateY(-2px);

    border-color: rgba(243,211,124,0.34);

    box-shadow:
        0 16px 34px rgba(0,0,0,0.34),
        0 0 12px rgba(243,211,124,0.08);
}

/* ACTIVE (expanded) */
.prime-btn[aria-expanded="true"] {
    border-color: rgba(243,211,124,0.4);

    box-shadow:
        0 0 16px rgba(243,211,124,0.18),
        0 0 30px rgba(243,211,124,0.10);
}




    /* TEMPLATE 6 */
        /* =========================
           TEMPLATE: PRIME ACCORDION
        ========================= */

.page-accordion .prime-accordion {
    display: grid;
    gap: 14px;
}

.page-accordion .prime-accordion-item {
    display: grid;
    gap: 10px;
}

.page-accordion .prime-accordion-toggle {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    padding-right: 48px;
}

.page-accordion .prime-accordion-toggle::after {
    content: "▾";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.75;
    transition: transform 0.24s ease, opacity 0.24s ease;
}

.page-accordion .prime-accordion-toggle[aria-expanded="true"]::after {
    transform: translateY(-50%) rotate(180deg);
    opacity: 1;
}

.page-accordion .rollout-panel {
    margin-top: 0;
}


/* =========================
   ROLLOUT CTA BUTTON
========================= */

.rollout-action {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
}

.prime-btn-cta {
    padding: 8px 16px;
    margin: 20px;
    font-size: 0.85rem;

    border-radius: 999px;

    background: linear-gradient(
        180deg,
        rgba(18,18,18,0.96),
        rgba(10,10,10,0.98),
        rgba(6,6,6,0.99)
    );

    border: 1px solid rgba(243,211,124,0.28);

    color: #f3d37c;

    box-shadow:
        0 0 10px rgba(243,211,124,0.08);

    transition: all 0.22s ease;
}

/* hover = víc gold */
.prime-btn-cta:hover {
    color: #fff;

    border-color: rgba(243,211,124,0.45);

    box-shadow:
        0 0 14px rgba(243,211,124,0.22),
        0 0 28px rgba(243,211,124,0.12);

    transform: translateY(-2px);
}
/* =========================
   UTILITIES
========================= */
/* spacing, helpers */
 /* WELCOME PAGE EXTRAS */
/* WELCOME PAGE EXTRAS */
.welcome-summary-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.welcome-summary-links .prime-summary-link {
    position:relative;display: block;overflow:hidden;
    padding: 8px 12px;
    border-radius: 10px;

    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);

    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.03em;

    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease,
        color 0.22s ease,
        text-shadow 0.22s ease;

}

.welcome-summary-links .prime-summary-link:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,0.05);
    border-color: rgba(243,211,124,0.28);
    box-shadow: 0 0 10px rgba(212,175,55,0.20);
    color: #f3d37c;
    text-shadow: 0 0 6px rgba(212,175,55,0.35);
}

.welcome-summary-links .prime-summary-link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 2px;

    background: linear-gradient(
        180deg,
        rgba(243,211,124,0.9),
        rgba(243,211,124,0.2)
    );

    box-shadow: 0 0 10px rgba(243,211,124,0.25);
    opacity: 0.7;

    transition:
        opacity 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease;
}


.welcome-summary-links .prime-summary-link:hover::before {
    opacity: 1;
    transform: scaleY(1);

    box-shadow:
        0 0 12px rgba(243,211,124,0.35),
        0 0 20px rgba(243,211,124,0.10);
}
/**/

/* TEMPLATE HELPERS */
/* =========================
   TEMPLATE: LEGAL / SIMPLE
========================= */

