/*
==========================================================
FantasyFanzone Static Pages
Version: 4.10.8
==========================================================
*/

.ffz-static-page{
    position:relative;
    min-height:70vh;
    padding:78px 0 96px;
    overflow:hidden;
    background:
        radial-gradient(circle at 80% 0%,rgba(124,58,237,.13),transparent 34%),
        radial-gradient(circle at 0% 40%,rgba(16,185,129,.06),transparent 30%),
        var(--ffz-background);
}

.ffz-static-page .ffz-container{
    position:relative;
    z-index:2;
}

/*========================================================
HERO
========================================================*/

.ffz-static-hero{
    position:relative;
    max-width:900px;
    margin:0 auto 46px;
    text-align:center;
}

.ffz-static-hero__glow{
    position:absolute;
    top:-80px;
    left:50%;
    width:360px;
    height:180px;
    transform:translateX(-50%);
    border-radius:50%;
    background:rgba(124,58,237,.16);
    filter:blur(80px);
    pointer-events:none;
    z-index:-1;
}

.ffz-static-hero__eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
    padding:7px 14px;
    border:1px solid rgba(124,58,237,.24);
    border-radius:999px;
    background:rgba(124,58,237,.10);
    color:#c4b5fd;
    font-size:12px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.ffz-static-hero__title{
    margin:0;
    color:#fff;
    font-size:clamp(38px,6vw,66px);
    font-weight:800;
    line-height:1.05;
    letter-spacing:-.045em;
}

.ffz-static-hero__description{
    max-width:760px;
    margin:20px auto 0;
    color:var(--ffz-text-muted);
    font-size:17px;
    line-height:1.75;
}

.ffz-static-hero__meta{
    display:inline-flex;
    margin:18px 0 0;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.04);
    color:var(--ffz-text-muted);
    font-size:12px;
}

/*========================================================
SURFACE / CONTENT
========================================================*/

.ffz-static-surface{
    max-width:1000px;
    margin:0 auto;
    padding:38px;
    border:1px solid var(--ffz-border);
    border-radius:26px;
    background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
    box-shadow:var(--ffz-shadow-lg);
}

.ffz-static-content{
    color:var(--ffz-text-muted);
    font-size:16px;
    line-height:1.85;
}

.ffz-static-content > *:first-child{margin-top:0;}
.ffz-static-content > *:last-child{margin-bottom:0;}

.ffz-static-content h1,
.ffz-static-content h2,
.ffz-static-content h3,
.ffz-static-content h4{
    color:#fff !important;
    font-family:inherit !important;
    font-weight:800 !important;
    line-height:1.25 !important;
    letter-spacing:-.02em;
}

.ffz-static-content h1{font-size:34px;margin:0 0 24px;}
.ffz-static-content h2{font-size:28px;margin:46px 0 18px;}
.ffz-static-content h3{font-size:21px;margin:34px 0 14px;}
.ffz-static-content h4{font-size:17px;margin:28px 0 12px;}

.ffz-static-content p{
    margin:0 0 20px;
    color:var(--ffz-text-muted) !important;
}

.ffz-static-content strong,
.ffz-static-content b{
    color:#fff;
}

.ffz-static-content a{
    color:#a78bfa !important;
    font-weight:700;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

.ffz-static-content a:hover{color:#fff !important;}

.ffz-static-content ul,
.ffz-static-content ol{
    margin:0 0 22px;
    padding-left:24px;
}

.ffz-static-content li{margin:8px 0;}
.ffz-static-content li::marker{color:var(--ffz-primary);}

.ffz-static-content hr{
    width:64px;
    margin:34px 0;
    border:0;
    border-top:1px solid var(--ffz-border);
}

/* Reset legacy builder visual styling inside migrated static pages. */
.ffz-static-content .elementor,
.ffz-static-content .elementor-section,
.ffz-static-content .elementor-container,
.ffz-static-content .elementor-column,
.ffz-static-content .elementor-widget-wrap,
.ffz-static-content .e-con,
.ffz-static-content .e-con-inner{
    max-width:100% !important;
    background:transparent !important;
    color:inherit !important;
    box-shadow:none !important;
}

.ffz-static-content .elementor-section,
.ffz-static-content .e-con{
    padding-left:0 !important;
    padding-right:0 !important;
}

.ffz-static-content .elementor-widget-container{
    color:inherit !important;
}

/*========================================================
ABOUT
========================================================*/

.ffz-about-intro{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:48px;
    align-items:center;
    max-width:1120px;
    margin:0 auto 28px;
}

.ffz-about-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:310px;
    padding:38px;
    border:1px solid var(--ffz-border);
    border-radius:26px;
    background:linear-gradient(145deg,rgba(124,58,237,.14),rgba(255,255,255,.025));
}

.ffz-about-brand img{
    display:block;
    width:min(100%,390px);
    max-height:190px;
    object-fit:contain;
}

.ffz-about-copy h2,
.ffz-static-section-title{
    margin:0 0 16px;
    color:#fff;
    font-size:clamp(28px,4vw,38px);
    font-weight:800;
    letter-spacing:-.03em;
}

.ffz-about-copy p{
    margin:0 0 16px;
    color:var(--ffz-text-muted);
    font-size:16px;
    line-height:1.8;
}

.ffz-about-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    max-width:1120px;
    margin:28px auto 0;
}

.ffz-about-card{
    padding:26px;
    border:1px solid var(--ffz-border);
    border-radius:20px;
    background:rgba(255,255,255,.03);
}

.ffz-about-card__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    margin-bottom:18px;
    border-radius:14px;
    background:rgba(124,58,237,.13);
    font-size:21px;
}

.ffz-about-card h3{
    margin:0 0 10px;
    color:#fff;
    font-size:18px;
}

.ffz-about-card p{
    margin:0;
    color:var(--ffz-text-muted);
    font-size:14px;
    line-height:1.7;
}

.ffz-about-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
    max-width:1120px;
    margin:28px auto 0;
    padding:28px 30px;
    border:1px solid rgba(124,58,237,.25);
    border-radius:22px;
    background:linear-gradient(120deg,rgba(124,58,237,.14),rgba(16,185,129,.06));
}

.ffz-about-cta h2{margin:0 0 6px;color:#fff;font-size:24px;}
.ffz-about-cta p{margin:0;color:var(--ffz-text-muted);}
.ffz-about-cta__actions{display:flex;gap:10px;flex-shrink:0;}

/*========================================================
CONTACT
========================================================*/

.ffz-contact-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:24px;
    max-width:1120px;
    margin:0 auto;
}

.ffz-contact-card,
.ffz-contact-form{
    padding:30px;
    border:1px solid var(--ffz-border);
    border-radius:24px;
    background:rgba(255,255,255,.03);
    box-shadow:var(--ffz-shadow-md);
}

.ffz-contact-card h2,
.ffz-contact-form h2{
    margin:0 0 12px;
    color:#fff;
    font-size:26px;
}

.ffz-contact-card > p,
.ffz-contact-form > p{
    margin:0 0 22px;
    color:var(--ffz-text-muted);
    line-height:1.75;
}

.ffz-contact-method{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:18px 0;
    border-top:1px solid rgba(255,255,255,.06);
}

.ffz-contact-method__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:13px;
    background:rgba(124,58,237,.13);
}

.ffz-contact-method strong{display:block;color:#fff;margin-bottom:4px;}
.ffz-contact-method span,
.ffz-contact-method a{color:var(--ffz-text-muted);font-size:14px;}
.ffz-contact-method a:hover{color:#fff;}

/* WPForms styling */
.ffz-contact-form .wpforms-container{margin:0 !important;}
.ffz-contact-form .wpforms-field{padding:0 0 16px !important;}
.ffz-contact-form .wpforms-field-label{margin:0 0 8px !important;color:#fff !important;font-size:13px !important;font-weight:700 !important;}
.ffz-contact-form input:not([type=checkbox]):not([type=radio]),
.ffz-contact-form textarea,
.ffz-contact-form select{
    width:100% !important;
    max-width:100% !important;
    border:1px solid var(--ffz-border) !important;
    border-radius:13px !important;
    background:rgba(255,255,255,.04) !important;
    color:#fff !important;
    box-shadow:none !important;
}
.ffz-contact-form input:not([type=checkbox]):not([type=radio]),
.ffz-contact-form select{min-height:48px !important;padding:0 14px !important;}
.ffz-contact-form textarea{min-height:150px !important;padding:13px 14px !important;resize:vertical;}
.ffz-contact-form input:focus,
.ffz-contact-form textarea:focus,
.ffz-contact-form select:focus{border-color:var(--ffz-primary) !important;box-shadow:0 0 0 3px rgba(124,58,237,.13) !important;outline:0 !important;}
.ffz-contact-form button[type=submit]{min-height:48px !important;padding:0 24px !important;border:0 !important;border-radius:999px !important;background:var(--ffz-gradient-primary) !important;color:#fff !important;font-weight:800 !important;}

.ffz-contact-fallback{
    padding:18px;
    border:1px dashed rgba(255,255,255,.10);
    border-radius:14px;
    color:var(--ffz-text-muted);
}

/*========================================================
LEGAL PAGES
========================================================*/

.ffz-legal-page .ffz-static-surface{
    max-width:940px;
}

.ffz-legal-note{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin-bottom:28px;
    padding:16px 18px;
    border:1px solid rgba(124,58,237,.18);
    border-radius:15px;
    background:rgba(124,58,237,.07);
    color:var(--ffz-text-muted);
    font-size:13px;
    line-height:1.65;
}

/*========================================================
RESPONSIVE
========================================================*/

@media(max-width:900px){
    .ffz-about-intro,
    .ffz-contact-grid{grid-template-columns:1fr;}
    .ffz-about-grid{grid-template-columns:1fr 1fr;}
    .ffz-about-brand{min-height:240px;}
}

@media(max-width:768px){
    .ffz-static-page{padding:56px 0 72px;}
    .ffz-static-hero{margin-bottom:32px;text-align:left;}
    .ffz-static-hero__description{margin-left:0;margin-right:0;font-size:15px;}
    .ffz-static-surface{padding:24px 20px;border-radius:20px;}
    .ffz-static-content{font-size:15px;line-height:1.78;}
    .ffz-static-content h2{margin-top:38px;font-size:24px;}
    .ffz-about-intro{gap:22px;}
    .ffz-about-brand{min-height:190px;padding:24px;}
    .ffz-about-grid{grid-template-columns:1fr;gap:12px;}
    .ffz-about-card{padding:22px;}
    .ffz-about-cta{flex-direction:column;align-items:flex-start;padding:24px;}
    .ffz-about-cta__actions{width:100%;flex-wrap:wrap;}
    .ffz-about-cta__actions .ffz-btn{flex:1;min-width:140px;}
    .ffz-contact-card,
    .ffz-contact-form{padding:24px 20px;border-radius:20px;}
}

@media(max-width:480px){
    .ffz-static-page{padding-top:44px;}
    .ffz-static-hero__title{font-size:38px;}
    .ffz-about-cta__actions{flex-direction:column;}
    .ffz-about-cta__actions .ffz-btn{width:100%;}
}

@media(prefers-reduced-motion:reduce){
    .ffz-static-page *{scroll-behavior:auto !important;}
}

/* Refund & Returns policy notice */
.ffz-policy-note{
	margin:28px 0 34px;
	padding:18px 20px;
	border:1px solid rgba(139,92,246,.34);
	border-left:4px solid var(--ffz-primary);
	border-radius:14px;
	background:rgba(124,58,237,.08);
	color:var(--ffz-text-muted);
	line-height:1.75;
}
.ffz-policy-note strong{color:#fff;}
