/*
Theme Name: SumAssured Minimal Child
Theme URI: https://sumassured.in/
Description: Minimalistic custom child theme for SumAssured.in, built to work with GeneratePress while providing a separate custom homepage and pillar-page layouts.
Author: SumAssured.in
Template: generatepress
Version: 1.0.0
Text Domain: sumassured-minimal
*/

:root {
    --sa-navy: #0f2747;
    --sa-blue: #1769aa;
    --sa-blue-soft: #eaf4fb;
    --sa-ink: #172033;
    --sa-muted: #64748b;
    --sa-border: #e5eaf0;
    --sa-bg: #f7f9fc;
    --sa-white: #ffffff;
    --sa-radius: 16px;
    --sa-shadow: 0 10px 30px rgba(15, 39, 71, .07);
}

.sa-site * { box-sizing: border-box; }
.sa-site {
    color: var(--sa-ink);
    background: var(--sa-white);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    line-height: 1.65;
}
.sa-container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

.sa-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--sa-border);
    backdrop-filter: blur(10px);
}
.sa-header-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.sa-brand { color: var(--sa-navy); text-decoration: none; font-weight: 800; font-size: 22px; letter-spacing: -.4px; }
.sa-brand span { color: var(--sa-blue); }
.sa-nav { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.sa-nav a { color: var(--sa-ink); text-decoration: none; font-size: 14px; font-weight: 600; }
.sa-nav a:hover { color: var(--sa-blue); }

.sa-hero {
    background: linear-gradient(180deg, #f7fbff 0%, #fff 100%);
    padding: 92px 0 76px;
}
.sa-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--sa-blue);
    background: var(--sa-blue-soft);
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
}
.sa-hero h1, .sa-page-hero h1 {
    max-width: 820px;
    margin: 0 0 18px;
    color: var(--sa-navy);
    font-size: clamp(38px, 6vw, 64px);
    line-height: 1.05;
    letter-spacing: -2px;
}
.sa-hero p, .sa-page-hero p {
    max-width: 720px;
    margin: 0 0 28px;
    color: var(--sa-muted);
    font-size: 18px;
}
.sa-actions { display:flex; flex-wrap:wrap; gap:12px; }
.sa-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 20px;
    border-radius:10px;
    text-decoration:none !important;
    font-weight:700;
    font-size:14px;
    border:1px solid transparent;
}
.sa-btn-primary { color:#fff !important; background:var(--sa-navy); }
.sa-btn-primary:hover { background:#173c68; }
.sa-btn-secondary { color:var(--sa-navy) !important; background:#fff; border-color:var(--sa-border); }

.sa-section { padding: 72px 0; }
.sa-section-alt { background: var(--sa-bg); }
.sa-section-head { max-width:720px; margin-bottom:30px; }
.sa-section-head h2 { margin:0 0 10px; color:var(--sa-navy); font-size:32px; line-height:1.2; }
.sa-section-head p { margin:0; color:var(--sa-muted); }

.sa-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sa-card {
    background:#fff;
    border:1px solid var(--sa-border);
    border-radius:var(--sa-radius);
    padding:26px;
    box-shadow:var(--sa-shadow);
}
.sa-card h3 { margin:0 0 9px; color:var(--sa-navy); font-size:20px; }
.sa-card p { margin:0 0 18px; color:var(--sa-muted); font-size:15px; }
.sa-card a { color:var(--sa-blue); text-decoration:none; font-weight:750; font-size:14px; }

.sa-page-hero { padding:70px 0 50px; background:var(--sa-bg); border-bottom:1px solid var(--sa-border); }
.sa-page-hero h1 { font-size:clamp(36px,5vw,54px); }
.sa-content { padding:56px 0 80px; }
.sa-content-inner { max-width:860px; }
.sa-content-inner h2 { margin-top:40px; color:var(--sa-navy); font-size:30px; line-height:1.2; }
.sa-content-inner h3 { margin-top:30px; color:var(--sa-navy); font-size:22px; }
.sa-content-inner p, .sa-content-inner li { color:#3d4a5e; }
.sa-content-inner a { color:var(--sa-blue); }
.sa-content-inner img { max-width:100%; height:auto; border-radius:12px; }
.sa-note { padding:18px 20px; border-left:4px solid var(--sa-blue); background:var(--sa-blue-soft); border-radius:8px; }

.sa-footer { background:var(--sa-navy); color:#dbe5f1; padding:46px 0 26px; }
.sa-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:36px; }
.sa-footer h3 { color:#fff; margin:0 0 12px; }
.sa-footer p, .sa-footer li { font-size:14px; color:#b9c7d8; }
.sa-footer a { color:#dbe5f1; text-decoration:none; }
.sa-footer ul { list-style:none; margin:0; padding:0; }
.sa-footer li { margin-bottom:7px; }
.sa-footer-bottom { margin-top:30px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); font-size:13px; color:#9fb0c4; }

.sa-form-list { display:grid; gap:12px; }
.sa-form-link { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 20px; border:1px solid var(--sa-border); border-radius:12px; text-decoration:none; background:#fff; }
.sa-form-link strong { color:var(--sa-navy); }
.sa-form-link span { color:var(--sa-blue); font-weight:700; font-size:13px; }

.sa-mobile-menu { display:none; }

@media (max-width: 800px) {
    .sa-nav { display:none; }
    .sa-grid { grid-template-columns:1fr; }
    .sa-footer-grid { grid-template-columns:1fr; gap:22px; }
    .sa-hero { padding:64px 0 54px; }
    .sa-section { padding:54px 0; }
    .sa-container { width:min(100% - 28px,1120px); }
    .sa-hero h1, .sa-page-hero h1 { letter-spacing:-1.2px; }
}

/* Custom SumAssured logo */
.sa-brand {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.sa-logo {
    display: block;
    width: 180px;
    height: 55px;
    object-fit: contain;
    object-position: left center;
}

@media (max-width: 800px) {
    .sa-logo {
        width: 150px;
        height: 48px;
    }
}
/* =========================================================
   SUMASSURED HOMEPAGE WORDPRESS MENU
   Fix WP menu list styling
   ========================================================= */

/* Main navigation wrapper */
.sa-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
}

/* WordPress generates a UL */
.sa-nav ul.sa-primary-menu,
.sa-nav > ul {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;

    list-style: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 22px;
}

/* Remove list bullets */
.sa-nav ul li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Main menu links */
.sa-nav ul li a {
    display: block;

    color: var(--sa-ink, #142235);
    text-decoration: none !important;

    font-size: 15px;
    font-weight: 600;

    padding: 8px 0;
}

/* Hover */
.sa-nav ul li a:hover {
    color: var(--sa-blue, #063b73);
}


/* =========================================================
   DROPDOWN MENU
   ========================================================= */

.sa-nav ul li {
    position: relative;
}

.sa-nav ul li ul.sub-menu {
    display: none;

    position: absolute;
    top: 100%;
    left: 0;

    min-width: 220px;

    margin: 0 !important;
    padding: 8px 0 !important;

    background: #ffffff;

    border: 1px solid #e5eaf1;
    border-radius: 10px;

    box-shadow: 0 10px 30px rgba(0,0,0,.12);

    z-index: 99999;
}

.sa-nav ul li:hover > ul.sub-menu {
    display: block;
}

.sa-nav ul li ul.sub-menu li {
    width: 100%;
}

.sa-nav ul li ul.sub-menu li a {
    display: block;

    padding: 9px 16px;

    white-space: nowrap;

    color: #142235;
}

.sa-nav ul li ul.sub-menu li a:hover {
    background: #eef6ff;
    color: #063b73;
}


/* =========================================================
   MOBILE HAMBURGER MENU
   ========================================================= */

@media (max-width: 800px) {

    .sa-nav {
        width: 100%;
        position: relative;
    }

    /* Hide desktop menu initially */
    .sa-nav .sa-primary-menu {
        display: none !important;
        width: 100%;
        margin: 15px 0 0 !important;
        padding: 10px 0 !important;
        background: #ffffff;
        border-radius: 10px;
    }

    /* Menu becomes visible after opening */
    .sa-nav.menu-open .sa-primary-menu {
        display: block !important;
    }

    .sa-nav .sa-primary-menu > li {
        width: 100%;
        border-bottom: 1px solid #eeeeee;
    }

    .sa-nav .sa-primary-menu > li:last-child {
        border-bottom: none;
    }

    .sa-nav .sa-primary-menu > li > a {
        display: block;
        width: 100%;
        padding: 12px 5px;
        font-size: 15px;
    }

    /* Submenus are hidden initially */
    .sa-nav .sa-primary-menu .sub-menu {
        display: none;
        position: static;
        width: 100%;
        min-width: 0;
        padding: 0 !important;
        margin: 0 !important;
        border: 0;
        box-shadow: none;
        background: #f7f9fc;
    }

    /* Show submenu when parent is opened */
    .sa-nav .sa-primary-menu li.submenu-open > .sub-menu {
        display: block;
    }

    .sa-nav .sa-primary-menu .sub-menu a {
        padding: 10px 15px;
        font-size: 14px;
    }

}
/* =========================================================
   HAMBURGER BUTTON
   ========================================================= */

.sa-menu-toggle {
    display: none;
    border: 0;
    background: transparent;
    color: var(--sa-ink, #142235);
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    padding: 8px 10px;
    align-items: center;
    gap: 8px;
}

.sa-menu-icon {
    font-size: 25px;
    line-height: 1;
}

.sa-menu-close {
    display: none;
    font-size: 22px;
    line-height: 1;
}

.sa-menu-label {
    font-size: 14px;
}


/* Mobile */

@media (max-width: 800px) {

    .sa-menu-toggle {
        display: flex;
        margin-left: auto;
    }

    .sa-nav.menu-open .sa-menu-icon {
        display: none;
    }

    .sa-nav.menu-open .sa-menu-close {
        display: inline-block;
    }

}