:root {
    --wiz-primary: #ca366e;
    --wiz-primary-dark: #a72355;
    --wiz-ink: #202334;
    --wiz-muted: #687083;
    --wiz-soft: #fff3f7;
    --wiz-border: #ebdfe4;
}

.modern-page-hero {
    position: relative;
    overflow: hidden;
    padding: 76px 0 72px;
    background: radial-gradient(circle at 84% 18%, rgba(202,54,110,.08), transparent 25%), linear-gradient(125deg, #ffffff 0%, #faf7ff 52%, #fff0f7 100%);
}
.modern-page-hero:after { content: ""; position: absolute; width: 300px; height: 300px; right: -80px; bottom: -210px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.modern-page-hero .container { position: relative; z-index: 1; }
.modern-page-hero__crumbs { display: flex; align-items: center; gap: 9px; margin: 0 0 17px; padding: 0; list-style: none; }
.modern-page-hero__crumbs li, .modern-page-hero__crumbs a { color: #8d4770; font-size: 13px; }
.modern-page-hero__crumbs a:hover { color: #ca366e; }
.modern-page-hero h1 { margin: 0 0 12px; color: #3d2940; font-size: clamp(36px, 5vw, 52px); line-height: 1.15; font-weight: 800; }
.modern-page-hero p { max-width: 650px; margin: 0; color: #775f76; font-size: 15px; line-height: 1.75; }

.modern-content-page { padding: 76px 0 88px; background: #faf8f9; }
.modern-content-card { padding: clamp(26px, 5vw, 52px); border: 1px solid var(--wiz-border); border-radius: 20px; background: #fff; box-shadow: 0 14px 40px rgba(32,35,52,.07); }
.modern-prose { color: #596071; font-size: 15px; line-height: 1.85; }
.modern-prose h1, .modern-prose h2, .modern-prose h3, .modern-prose h4 { margin: 30px 0 12px; color: var(--wiz-ink); font-weight: 750; }
.modern-prose h1:first-child, .modern-prose h2:first-child, .modern-prose h3:first-child { margin-top: 0; }
.modern-prose p { margin-bottom: 15px; }
.modern-prose ul, .modern-prose ol { padding-left: 22px; margin-bottom: 17px; }
.modern-prose a { color: var(--wiz-primary); text-decoration: underline; }

.modern-policy-tabs .nav-tabs { gap: 9px; margin-bottom: 26px; border: 0; }
.modern-policy-tabs .nav-link { padding: 12px 17px; border: 1px solid var(--wiz-border) !important; border-radius: 10px !important; background: #fff; color: var(--wiz-muted); font-size: 13px; font-weight: 700; }
.modern-policy-tabs .nav-link.active { border-color: var(--wiz-primary) !important; background: var(--wiz-primary); color: #fff; }
.modern-policy-tabs .tab-content > .container { width: 100%; max-width: none; padding: 0; }

.modern-auth-page {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: center;
    padding: 88px 0;
    background: radial-gradient(circle at 14% 20%, rgba(202,54,110,.15), transparent 24%), linear-gradient(135deg, #fdf9fb, #fff3f7);
}
.modern-auth-page:before { content: ""; position: absolute; inset: 38px auto 38px 5%; width: 35%; border-radius: 28px; background: linear-gradient(145deg, #f7f0ff, #fde5f0 68%, #f7bed8); opacity: .98; }
.modern-auth-page .container { position: relative; z-index: 1; }
.modern-auth-page .contact-form { padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.modern-auth-page form { position: relative; margin: 0 auto; padding: 38px !important; border: 1px solid var(--wiz-border); border-radius: 20px; background: #fff !important; box-shadow: 0 18px 55px rgba(32,35,52,.12); }
.modern-auth-page form:before { content: "Secure account access"; display: block; margin-bottom: 8px; color: var(--wiz-primary); font-size: 11px; font-weight: 800; letter-spacing: 1.3px; text-align: center; text-transform: uppercase; }
.modern-auth-page form > h3 { margin: 0 0 24px !important; color: var(--wiz-ink) !important; font-family: inherit !important; font-size: 28px !important; line-height: 1.3 !important; font-weight: 800 !important; }
.modern-auth-page form > p { color: var(--wiz-muted); text-align: center; }
.modern-auth-page .input-box, .modern-auth-page .form-group { margin-bottom: 17px; }
.modern-auth-page input:not([type="checkbox"]), .modern-auth-page select, .modern-auth-page textarea {
    width: 100% !important;
    height: 50px !important;
    padding: 11px 46px 11px 14px !important;
    border: 1px solid #ddd4d9 !important;
    border-radius: 9px !important;
    outline: 0;
    background: #fdfbfc !important;
    color: var(--wiz-ink) !important;
    font-size: 14px !important;
}
.modern-auth-page input:focus, .modern-auth-page select:focus, .modern-auth-page textarea:focus { border-color: var(--wiz-primary) !important; box-shadow: 0 0 0 3px rgba(202,54,110,.1); }
.modern-auth-page .input-box { position: relative; }
.modern-auth-page .input-box .icon {
    position: absolute !important;
    top: 25px !important;
    right: 15px !important;
    left: auto !important;
    width: 20px;
    height: 20px;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wiz-primary) !important;
    transform: translateY(-50%);
    pointer-events: none;
}
.modern-auth-page .input-box .icon i { display: block; line-height: 20px !important; }
.modern-auth-page .input-box .password-toggle {
    position: absolute !important;
    top: 25px !important;
    right: 15px !important;
    left: auto !important;
    width: 20px;
    height: 20px;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--wiz-primary) !important;
    box-shadow: none !important;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
}
.modern-auth-page .input-box .password-toggle i { display: block; line-height: 20px !important; }
.modern-auth-page .error, .modern-auth-page .text-danger { display: block; margin-top: 5px; color: #bd214f !important; font-size: 12px; }
.modern-auth-page .form-check-label { color: var(--wiz-muted) !important; font-size: 13px; }
.modern-auth-page .forgot-pass, .modern-auth-page form a { color: var(--wiz-primary-dark) !important; }
.modern-auth-page .btn-one, .modern-auth-page button[type="submit"], .modern-auth-page button[type="button"] { min-height: 49px; border: 0 !important; border-radius: 9px !important; background: var(--wiz-primary) !important; color: #fff !important; font-weight: 750 !important; box-shadow: 0 10px 23px rgba(202,54,110,.22); }
.modern-auth-page .btn-one:hover, .modern-auth-page button:hover { background: var(--wiz-primary-dark) !important; }
.modern-auth-page .btn-link { background: transparent !important; box-shadow: none !important; color: var(--wiz-primary) !important; }
.modern-auth-page .auth-google { display: flex !important; justify-content: center; border: 1px solid var(--wiz-border) !important; background: #fff !important; color: var(--wiz-ink) !important; box-shadow: none; }

.modern-query-page { padding: 78px 0; background: #faf8f9; }
.modern-query-page .contact-form { padding: 38px !important; border: 1px solid var(--wiz-border); border-radius: 20px; background: #fff !important; box-shadow: 0 15px 44px rgba(32,35,52,.08); }
.modern-query-page .input-box { margin-bottom: 18px; }
.modern-query-page input, .modern-query-page select, .modern-query-page textarea { width: 100%; min-height: 50px; padding: 11px 44px 11px 14px !important; border: 1px solid #ded5da !important; border-radius: 9px !important; background: #fdfbfc !important; color: var(--wiz-ink) !important; }
.modern-query-page textarea { min-height: 120px; padding-top: 14px !important; }
.modern-query-page .input-box { position: relative; }
.modern-query-page .input-box .icon {
    position: absolute !important;
    top: 25px !important;
    right: 15px !important;
    left: auto !important;
    width: 20px;
    height: 20px;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wiz-primary) !important;
    line-height: 1 !important;
    transform: translateY(-50%);
    pointer-events: none;
}
.modern-query-page .input-box .icon i {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
    color: inherit !important;
    line-height: 20px !important;
}
.modern-query-page .input-box textarea + .icon { top: 25px !important; transform: none; }
.modern-query-page .btn-one { width: 100%; border: 0; border-radius: 9px; background: var(--wiz-primary); box-shadow: 0 10px 23px rgba(202,54,110,.22); }
.modern-query-page .btn-one:hover { background: var(--wiz-primary-dark); }
.modern-map { padding: 0 0 82px; background: #faf8f9; }
.modern-map .container { overflow: hidden; border-radius: 20px; box-shadow: 0 14px 40px rgba(32,35,52,.1); }
.modern-map iframe { display: block; height: 390px; }

.modern-blog-detail { padding: 76px 0 90px; background: #faf8f9; }
.modern-blog-article, .modern-blog-sidebar { overflow: hidden; border: 1px solid var(--wiz-border); border-radius: 20px; background: #fff; box-shadow: 0 12px 38px rgba(32,35,52,.07); }
.modern-blog-cover { position: relative; height: 430px; }
.modern-blog-cover img { width: 100%; height: 100%; object-fit: cover; }
.modern-blog-date { position: absolute; left: 22px; bottom: 20px; padding: 8px 12px; border-radius: 8px; background: var(--wiz-primary); color: #fff; font-size: 12px; font-weight: 700; }
.modern-blog-body { padding: clamp(25px, 5vw, 43px); }
.modern-blog-body h1 { margin: 0 0 12px; color: var(--wiz-ink); font-size: clamp(28px, 4vw, 39px); line-height: 1.25; font-weight: 800; }
.modern-blog-meta { margin-bottom: 25px; color: var(--wiz-primary); font-size: 12px; font-weight: 700; }
.modern-blog-sidebar { padding: 25px; }
.modern-blog-sidebar h2 { margin: 0 0 20px; color: var(--wiz-ink); font-size: 20px; font-weight: 800; }
.modern-latest-post { display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 13px; padding: 13px 0; border-top: 1px solid var(--wiz-border); }
.modern-latest-post img { width: 82px; height: 70px; object-fit: cover; border-radius: 9px; }
.modern-latest-post h3 { margin: 0; font-size: 13px; line-height: 1.45; font-weight: 700; }
.modern-latest-post h3 a { color: var(--wiz-ink); }
.modern-latest-post h3 a:hover { color: var(--wiz-primary); }

.modern-settings-page { padding: 70px 0 85px; background: #faf8f9; }
.modern-settings-page .site-breadcrumb { margin-bottom: 38px; padding: 42px 0; background: linear-gradient(125deg, #ffffff, #f7f0ff 58%, #fde8f1) !important; border-bottom: 1px solid #eddde6; }
.modern-settings-page .breadcrumb-title, .modern-settings-page .breadcrumb-menu a, .modern-settings-page .breadcrumb-menu li { color: #492f46 !important; }
.modern-settings-page .breadcrumb-title { color: #fff; }
.modern-settings-page .custom--card { background: transparent; box-shadow: none; }
.modern-settings-page .card--body { margin-bottom: 22px; padding: 29px !important; border: 1px solid var(--wiz-border); border-radius: 17px; background: #fff; box-shadow: 0 9px 30px rgba(32,35,52,.06); }
.modern-settings-page .dashboard-content h3 { color: var(--wiz-ink); font-size: 21px; font-weight: 800; }
.modern-settings-page .dashboard-content p { color: var(--wiz-muted); }
.modern-settings-page .form-label { color: var(--wiz-ink); font-size: 12px; font-weight: 700; }
.modern-settings-page .form-control { min-height: 48px; border: 1px solid #ded5da; border-radius: 9px; background: #fdfbfc; }
.modern-settings-page .theme-btn { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 11px 18px; border: 0; border-radius: 9px; background: var(--wiz-primary); color: #fff; font-weight: 700; }
.modern-settings-page .theme-btn:hover { background: var(--wiz-primary-dark); color: #fff; }
.modern-settings-page .instagram-area { display: none; }

@media (max-width: 991px) {
    .modern-auth-page:before { display: none; }
    .modern-blog-sidebar { margin-top: 28px; }
}
@media (max-width: 767px) {
    .modern-page-hero { padding: 59px 0 56px; }
    .modern-content-page, .modern-blog-detail, .modern-query-page { padding: 58px 0 68px; }
    .modern-auth-page { min-height: auto; padding: 60px 0; }
    .modern-auth-page form { padding: 28px 20px !important; }
    .modern-query-page .contact-form { padding: 25px 20px !important; }
    .modern-blog-cover { height: 280px; }
    .modern-policy-tabs .nav-tabs { flex-direction: column; }
    .modern-policy-tabs .nav-link { width: 100%; text-align: center; }
}
