/* ============================================================
   POLICY PAGES — Modern Redesign
   Applied to: DMCA, Refund Policy, Terms of Use, Privacy Policy
   ============================================================ */

/* ── Overall page background ── */
.policy-page,
.policy-page body,
.policy-page #page,
.policy-page #content,
.policy-page .site-content {
    background-color: #0d0a0b !important;
}

/* ── Hero banner ── */
.policy-hero {
    background:    linear-gradient(135deg, #1a0d0e 0%, #2a1214 50%, #1a0d0e 100%);
    border-bottom: 1px solid rgba(201, 14, 14, 0.25);
    padding:       64px 24px 56px;
    text-align:    center;
    position:      relative;
    overflow:      hidden;
}

.policy-hero::before {
    content:        '';
    position:       absolute;
    inset:          0;
    background:     radial-gradient(ellipse at 50% 0%, rgba(201, 14, 14, 0.12) 0%, transparent 65%);
    pointer-events: none;
}

.policy-hero .policy-icon {
    font-size:     40px;
    line-height:   1;
    margin-bottom: 14px;
    display:       block;
}

.policy-hero h1 {
    font-family:    'Poppins', sans-serif !important;
    font-size:      clamp(26px, 4vw, 40px) !important;
    font-weight:    700 !important;
    color:          #FFFFFF !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin:         0 0 0 !important;
    position:       relative;
}

.policy-hero h1::after {
    content:       '';
    display:       block;
    margin:        14px auto 0;
    width:         48px;
    height:        3px;
    background:    #C90E0E;
    border-radius: 2px;
}

.policy-hero .policy-meta {
    color:          rgba(255, 255, 255, 0.4);
    font-size:      13px;
    margin-top:     16px;
    letter-spacing: 0.5px;
}

/* ── Content area — card wrapper around Elementor content ── */
.policy-page main,
.policy-page #main,
.policy-page .site-main {
    background-color: #0d0a0b !important;
    padding:          40px 0 80px !important;
}

/* Give the Elementor section a card look without moving it */
.policy-page .elementor-section,
.policy-page .e-con {
    background-color: #181214 !important;
    border:           1px solid rgba(255, 255, 255, 0.07) !important;
    border-radius:    16px !important;
    box-shadow:       0 4px 32px rgba(0, 0, 0, 0.45) !important;
    max-width:        1100px !important;
    margin:           0 auto !important;
    padding:          44px 52px !important;
}

/* Remove card styling from containers that hold buttons — wrapper only */
.policy-page .elementor-section:has(.elementor-button),
.policy-page .e-con:has(.elementor-button) {
    background-color: transparent !important;
    border:           none !important;
    border-radius:    0 !important;
    box-shadow:       none !important;
    max-width:        none !important;
    padding:          20px 0 !important;
    margin:           0 auto !important;
}

@media (max-width: 640px) {
    .policy-page .elementor-section:not(:has(.elementor-button)),
    .policy-page .e-con:not(:has(.elementor-button)) {
        padding:       24px 18px !important;
        border-radius: 10px !important;
    }
}

/* ── Text content inside policy pages ── */
.policy-page .elementor-widget-text-editor h2,
.policy-page .entry-content h2 {
    font-family:  'Poppins', sans-serif !important;
    font-size:    19px !important;
    font-weight:  700 !important;
    color:        #FFFFFF !important;
    border-left:  3px solid #C90E0E;
    padding-left: 14px !important;
    margin:       36px 0 12px !important;
    line-height:  1.4 !important;
}

.policy-page .elementor-widget-text-editor h2:first-child,
.policy-page .entry-content h2:first-child {
    margin-top: 0 !important;
}

.policy-page .elementor-widget-text-editor h3,
.policy-page .entry-content h3 {
    font-size:   16px !important;
    font-weight: 600 !important;
    color:       #EAE9E9 !important;
    margin:      24px 0 8px !important;
}

.policy-page .elementor-widget-text-editor p,
.policy-page .entry-content p {
    color:       #B0ABAC !important;
    font-size:   15px !important;
    line-height: 1.85 !important;
    margin:      0 0 14px !important;
}

.policy-page .elementor-widget-text-editor a:not(.elementor-button),
.policy-page .entry-content a:not(.elementor-button) {
    color:           #C90E0E !important;
    text-decoration: none !important;
    border-bottom:   1px solid rgba(201, 14, 14, 0.35);
    transition:      color 0.2s ease !important;
}

.policy-page .elementor-widget-text-editor a:not(.elementor-button):hover,
.policy-page .entry-content a:not(.elementor-button):hover {
    color: #ff4444 !important;
}

/* Restore button text colors */
.policy-page .elementor-button,
.policy-page .elementor-button-wrapper a,
.policy-page .elementor-button span,
.policy-page .elementor-button .elementor-button-text {
    color:         #ffffff !important;
    border-bottom: none !important;
}

.policy-page .elementor-widget-text-editor ul,
.policy-page .elementor-widget-text-editor ol,
.policy-page .entry-content ul,
.policy-page .entry-content ol {
    padding-left: 0 !important;
    list-style:   none !important;
    margin:       0 0 16px !important;
}

.policy-page .elementor-widget-text-editor ul li,
.policy-page .elementor-widget-text-editor ol li,
.policy-page .entry-content ul li,
.policy-page .entry-content ol li {
    color:       #B0ABAC !important;
    font-size:   15px !important;
    line-height: 1.8 !important;
    padding:     5px 0 5px 22px !important;
    position:    relative !important;
}

.policy-page .elementor-widget-text-editor ul li::before,
.policy-page .entry-content ul li::before {
    content:     '›';
    position:    absolute;
    left:        0;
    color:       #C90E0E;
    font-size:   18px;
    font-weight: 700;
    line-height: 1.55;
}

.policy-page .elementor-widget-text-editor blockquote,
.policy-page .entry-content blockquote {
    background:    rgba(201, 14, 14, 0.07) !important;
    border-left:   3px solid #C90E0E !important;
    border-radius: 0 8px 8px 0 !important;
    padding:       14px 18px !important;
    margin:        20px 0 !important;
}

.policy-page .elementor-widget-text-editor blockquote p,
.policy-page .entry-content blockquote p {
    margin: 0 !important;
    color:  #C1BDBD !important;
}

/* ── Hide the default WP page title (we show our own in the hero) ── */
.policy-page .entry-title,
.policy-page .page-title {
    display: none !important;
}

/* ── Hide existing Elementor title sections (replaced by our hero) ── */
/* Terms page (post-4477) title block */
.elementor-4477 .elementor-element-3b170b4 {
    display: none !important;
}

/* ── WP emoji images — inline-size with surrounding text ── */
.policy-page img.emoji,
.policy-page .entry-content img.emoji,
.policy-page .qwen-markdown-text img.emoji {
    width:           1em !important;
    height:          1em !important;
    max-width:       1em !important;
    max-height:      1em !important;
    display:         inline-block !important;
    vertical-align:  -0.1em !important;
    margin:          0 0.1em !important;
    border:          0 !important;
    box-shadow:      none !important;
    padding:         0 !important;
}

/* ── Catch any oversized images inside policy text content ── */
.policy-page .entry-content img:not([class*="elementor"]):not(.policy-icon) {
    max-width: 100%;
    height:    auto;
}
