/* ==========================================================
   LUXURY PAGE DESIGN
   Premium Gold + Black + White
   Desktop, Tablet & Mobile Responsive
   Paste at the VERY BOTTOM of your main CSS file
========================================================== */

/* ---------- LUXURY COLOR VARIABLES ---------- */

:root {
    --luxury-gold: #c9a45c;
    --luxury-gold-light: #e5cc91;
    --luxury-gold-dark: #9f7a35;
    --luxury-black: #111111;
    --luxury-black-soft: #1a1a1a;
    --luxury-white: #ffffff;
    --luxury-cream: #faf8f3;
    --luxury-text: #333333;
    --luxury-muted: #777777;
}

/* ---------- MAIN PAGE ---------- */

.page-wrapper {
    background: var(--luxury-white) !important;
    overflow-x: clip !important;
}

.main {
    background: var(--luxury-white) !important;
    color: var(--luxury-text) !important;
}

/* ---------- PREMIUM HERO HEADER ---------- */

.page-header {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;

    min-height: 340px !important;
    padding: 75px 24px !important;

    background-color: var(--luxury-black) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;

    overflow: hidden !important;
    isolation: isolate !important;
    border-bottom: 3px solid var(--luxury-gold) !important;
}

/* Elegant dark overlay */

.page-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;

    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.90) 0%,
        rgba(12, 12, 12, 0.78) 50%,
        rgba(0, 0, 0, 0.90) 100%
    ) !important;

    z-index: -1 !important;
}

/* Subtle gold decorative glow */

.page-header::after {
    content: "" !important;
    position: absolute !important;

    width: 260px !important;
    height: 260px !important;

    right: -100px !important;
    top: -130px !important;

    border: 1px solid rgba(201, 164, 92, 0.30) !important;
    border-radius: 50% !important;

    box-shadow:
        0 0 0 25px rgba(201, 164, 92, 0.04),
        0 0 0 50px rgba(201, 164, 92, 0.025) !important;

    pointer-events: none !important;
    z-index: -1 !important;
}

/* ---------- HERO TITLE ---------- */

.page-header .page-title {
    position: relative !important;
    display: inline-block !important;

    max-width: 1000px !important;
    margin: 0 auto 20px !important;
    padding: 0 0 20px !important;

    color: var(--luxury-white) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(32px, 5vw, 58px) !important;
    font-weight: 700 !important;

    line-height: 1.15 !important;
    letter-spacing: 1.2px !important;
    text-transform: capitalize !important;

    overflow-wrap: anywhere !important;
}

/* Gold line beneath the title */

.page-header .page-title::after {
    content: "" !important;
    position: absolute !important;

    width: 75px !important;
    height: 3px !important;

    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    background: linear-gradient(
        90deg,
        var(--luxury-gold-dark),
        var(--luxury-gold-light),
        var(--luxury-gold-dark)
    ) !important;
}

/* ---------- PUBLICATION DATE ---------- */

.page-header .page-desc {
    position: relative !important;

    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.85) !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;

    line-height: 1.8 !important;
    letter-spacing: 0.6px !important;
}

/* ---------- CONTENT AREA ---------- */

.page-content {
    padding-top: 65px !important;
    padding-bottom: 70px !important;

    margin-top: 0 !important;

    background: var(--luxury-cream) !important;
}

/* ---------- CONTENT CONTAINER ---------- */

.page-content .store-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.page-content .container {
    max-width: 1140px !important;
}

/* ---------- LUXURY CONTENT CARD ---------- */

.page-content .row {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.page-content .row > [class*="col-"] {
    min-width: 0 !important;
}

.page-content .row > .col-md-12 {
    padding: 45px 50px !important;

    background: var(--luxury-white) !important;

    border: 1px solid rgba(201, 164, 92, 0.28) !important;
    border-top: 3px solid var(--luxury-gold) !important;

    border-radius: 4px !important;

    box-shadow:
        0 10px 35px rgba(0, 0, 0, 0.045),
        0 2px 8px rgba(0, 0, 0, 0.025) !important;
}

/* ---------- SECTION TITLE ---------- */

.page-content .section-title {
    position: relative !important;

    margin: 0 0 30px !important;
    padding: 0 0 20px !important;

    color: var(--luxury-black) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(25px, 3vw, 36px) !important;
    font-weight: 700 !important;

    line-height: 1.3 !important;
    letter-spacing: 0.3px !important;

    overflow-wrap: anywhere !important;
}

/* Gold accent */

.page-content .section-title::after {
    content: "" !important;
    position: absolute !important;

    width: 55px !important;
    height: 3px !important;

    left: 0 !important;
    bottom: 0 !important;

    background: var(--luxury-gold) !important;
}

/* ---------- MAIN CONTENT TYPOGRAPHY ---------- */

.page-content .section-desc {
    color: #444444 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;

    line-height: 1.95 !important;
    letter-spacing: 0.1px !important;

    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* Paragraph spacing */

.page-content .section-desc p {
    margin: 0 0 22px !important;
    color: #444444 !important;
    line-height: 1.95 !important;
}

.page-content .section-desc p:last-child {
    margin-bottom: 0 !important;
}

/* Elegant headings inside page content */

.page-content .section-desc h1,
.page-content .section-desc h2,
.page-content .section-desc h3,
.page-content .section-desc h4,
.page-content .section-desc h5,
.page-content .section-desc h6 {
    margin: 32px 0 16px !important;

    color: var(--luxury-black) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* Links */

.page-content .section-desc a {
    color: var(--luxury-gold-dark) !important;

    text-decoration: none !important;
    text-underline-offset: 4px !important;

    border-bottom: 1px solid rgba(159, 122, 53, 0.35) !important;

    transition: color 0.25s ease, border-color 0.25s ease !important;

    overflow-wrap: anywhere !important;
}

.page-content .section-desc a:hover {
    color: var(--luxury-black) !important;
    border-bottom-color: var(--luxury-black) !important;
}

/* Lists */

.page-content .section-desc ul,
.page-content .section-desc ol {
    margin: 20px 0 25px !important;
    padding-left: 26px !important;
}

.page-content .section-desc li {
    margin-bottom: 12px !important;
    padding-left: 4px !important;
    line-height: 1.85 !important;
}

.page-content .section-desc li::marker {
    color: var(--luxury-gold-dark) !important;
}

/* Images inside content */

.page-content .section-desc img {
    display: block !important;

    max-width: 100% !important;
    height: auto !important;

    margin: 25px auto !important;

    border-radius: 5px !important;
}

/* Tables inside content */

.page-content .section-desc table {
    width: 100% !important;
    max-width: 100% !important;

    border-collapse: collapse !important;

    margin: 25px 0 !important;

    font-size: 14px !important;
}

.page-content .section-desc th {
    background: var(--luxury-black) !important;
    color: var(--luxury-gold-light) !important;
    font-weight: 700 !important;
}

.page-content .section-desc th,
.page-content .section-desc td {
    padding: 12px 14px !important;
    border: 1px solid #e8e2d6 !important;
    text-align: left !important;
}

/* ---------- PAGE VIEWS ---------- */

.page-content .text-muted {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;

    margin-top: 32px !important;
    padding: 10px 16px !important;

    color: #666666 !important;
    background: #faf8f3 !important;

    border: 1px solid #eee5d3 !important;
    border-radius: 3px !important;

    font-size: 13px !important;
    line-height: 1.6 !important;
}

/* ---------- TABLET RESPONSIVENESS ---------- */

@media (max-width: 991px) {

    .page-header {
        min-height: 300px !important;
        padding: 65px 25px !important;
    }

    .page-content {
        padding-top: 45px !important;
        padding-bottom: 50px !important;
    }

    .page-content .container {
        max-width: 100% !important;
        padding-right: 25px !important;
        padding-left: 25px !important;
    }

    .page-content .row > .col-md-12 {
        padding: 35px 30px !important;
    }

    .page-content .section-desc {
        font-size: 15px !important;
        line-height: 1.9 !important;
    }
}

/* ---------- MOBILE RESPONSIVENESS ---------- */

@media (max-width: 767px) {

    .page-header {
        min-height: 245px !important;

        padding: 55px 20px !important;

        background-position: center center !important;
    }

    .page-header::after {
        width: 190px !important;
        height: 190px !important;

        right: -95px !important;
        top: -100px !important;
    }

    .page-header .page-title {
        margin-bottom: 18px !important;
        padding-bottom: 17px !important;

        font-size: clamp(27px, 7.5vw, 38px) !important;
        line-height: 1.2 !important;
        letter-spacing: 0.5px !important;
    }

    .page-header .page-desc {
        max-width: 100% !important;

        font-size: 12px !important;
        line-height: 1.8 !important;
        letter-spacing: 0.3px !important;
    }

    .page-content {
        padding-top: 25px !important;
        padding-bottom: 35px !important;
    }

    .page-content .container {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }

    .page-content .row {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .page-content .row > .col-md-12 {
        width: 100% !important;
        max-width: 100% !important;

        padding: 27px 20px !important;
        margin-bottom: 0 !important;

        border-radius: 3px !important;

        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.035) !important;
    }

    .page-content .section-title {
        margin-bottom: 23px !important;
        padding-bottom: 16px !important;

        font-size: 26px !important;
        line-height: 1.35 !important;
    }

    .page-content .section-title::after {
        width: 45px !important;
        height: 3px !important;
    }

    .page-content .section-desc {
        font-size: 15px !important;
        line-height: 1.9 !important;
        letter-spacing: 0 !important;
    }

    .page-content .section-desc p {
        margin-bottom: 18px !important;
        line-height: 1.9 !important;
    }

    .page-content .section-desc h1 {
        font-size: 27px !important;
    }

    .page-content .section-desc h2 {
        font-size: 24px !important;
    }

    .page-content .section-desc h3 {
        font-size: 21px !important;
    }

    .page-content .section-desc h4,
    .page-content .section-desc h5,
    .page-content .section-desc h6 {
        font-size: 18px !important;
    }

    .page-content .section-desc ul,
    .page-content .section-desc ol {
        padding-left: 22px !important;
    }

    /* Prevent tables from breaking the mobile layout */

    .page-content .section-desc table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .page-content .section-desc th,
    .page-content .section-desc td {
        padding: 10px !important;
        white-space: normal !important;
    }

    .page-content .text-muted {
        margin-top: 25px !important;
        padding: 9px 12px !important;
        font-size: 12px !important;
    }
}

/* ---------- EXTRA SMALL MOBILE ---------- */

@media (max-width: 380px) {

    .page-header {
        min-height: 220px !important;
        padding: 45px 15px !important;
    }

    .page-header .page-title {
        font-size: 26px !important;
        letter-spacing: 0 !important;
    }

    .page-content .container {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .page-content .row > .col-md-12 {
        padding: 23px 16px !important;
    }

    .page-content .section-title {
        font-size: 23px !important;
    }

    .page-content .section-desc {
        font-size: 14px !important;
    }
}

/* ---------- ACCESSIBILITY ---------- */

@media (prefers-reduced-motion: reduce) {

    .page-content .section-desc a {
        transition: none !important;
    }
}