/**
 * FILE: /home2/albassa2/public_html/albassami_v2/website/branches/css/branches_css.css
 * VERSION: v2.4-branches-premium-final-polish-safe
 */

.branches-page{
    position:relative;
    overflow:hidden;
}

.branches-page *,
.branches-page *::before,
.branches-page *::after{
    box-sizing:border-box;
}

.branches-page a{
    text-decoration:none;
}

.branches-hero{
    position:relative;
    padding:18px 0 12px;
}

.branches-hero::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:320px;
    background:
        radial-gradient(circle at top left, rgba(198,13,24,0.11), transparent 42%),
        radial-gradient(circle at top right, rgba(198,13,24,0.05), transparent 36%);
    pointer-events:none;
}

.branches-hero-grid{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    align-items:stretch;
}

.branches-hero-main,
.branches-side-shell,
.branches-story-main,
.branches-point-card,
.branches-city-card,
.branches-cta-box{
    position:relative;
    border:1px solid rgba(198,13,24,0.10);
    background:linear-gradient(180deg, rgba(255,255,255,0.99) 0%, rgba(248,248,250,0.98) 100%);
    box-shadow:
        0 16px 42px rgba(17,17,17,0.07),
        0 1px 0 rgba(255,255,255,0.85) inset;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.branches-hero-main{
    border-radius:24px;
    padding:18px 20px;
    min-height:auto;
    overflow:hidden;
}

.branches-hero-main::after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:linear-gradient(180deg, rgba(198,13,24,0.85) 0%, rgba(198,13,24,0.18) 100%);
    pointer-events:none;
}

.branches-kicker,
.branches-section-kicker,
.branches-info-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:28px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(198,13,24,0.07);
    border:1px solid rgba(198,13,24,0.13);
    color:#a10f18;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.03em;
    box-shadow:0 4px 12px rgba(198,13,24,0.05);
}

.branches-title{
    margin:10px 0 8px;
    color:#111111;
    font-size:clamp(18px, 2.1vw, 28px);
    line-height:1.04;
    font-weight:900;
    letter-spacing:-0.03em;
    max-width:820px;
}

.branches-text{
    margin:0;
    max-width:100%;
    color:#50505a;
    font-size:12px;
    line-height:1.75;
}

.branches-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}

.branches-btn-primary,
.branches-btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 15px;
    border-radius:13px;
    font-size:11.5px;
    font-weight:800;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
    white-space:nowrap;
}

.branches-btn-primary{
    background:linear-gradient(135deg, #c60d18 0%, #8e0a12 100%);
    color:#ffffff;
    border:1px solid rgba(198,13,24,0.28);
    box-shadow:0 12px 26px rgba(198,13,24,0.16);
}

.branches-btn-primary:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 30px rgba(198,13,24,0.20);
}

.branches-btn-secondary{
    background:#ffffff;
    color:#111111;
    border:1px solid rgba(17,17,17,0.09);
    box-shadow:0 8px 18px rgba(17,17,17,0.04);
}

.branches-btn-secondary:hover{
    transform:translateY(-1px);
    border-color:rgba(198,13,24,0.22);
    color:#9a0f18;
    box-shadow:0 12px 22px rgba(17,17,17,0.06);
}

.branches-pill-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}

.branches-pill{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid rgba(17,17,17,0.07);
    color:#43434d;
    font-size:10.5px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(17,17,17,0.04);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.branches-pill:hover{
    transform:translateY(-1px);
    border-color:rgba(198,13,24,0.18);
    box-shadow:0 12px 22px rgba(17,17,17,0.05);
}

.branches-hero-note{
    display:grid;
    grid-template-columns:40px minmax(0, 1fr);
    gap:12px;
    margin-top:16px;
    padding:14px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,243,244,0.98) 100%);
    border:1px solid rgba(198,13,24,0.10);
    box-shadow:0 14px 26px rgba(17,17,17,0.05);
}

.branches-hero-note-icon{
    width:40px;
    height:40px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, #c60d18 0%, #8e0a12 100%);
    color:#ffffff;
    font-size:15px;
    font-weight:900;
    box-shadow:0 10px 20px rgba(198,13,24,0.16);
}

.branches-hero-note-text strong{
    display:block;
    margin:0 0 4px;
    color:#151515;
    font-size:12px;
    font-weight:800;
}

.branches-hero-note-text p{
    margin:0;
    color:#565661;
    font-size:11px;
    line-height:1.75;
}

.branches-hero-side{
    min-height:auto;
    width:100%;
}

.branches-side-shell{
    border-radius:24px;
    padding:18px;
    height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    width:100%;
    overflow:hidden;
}

.branches-side-shell::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(198,13,24,0.018) 0%, transparent 28%);
    pointer-events:none;
}

.branches-stats-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
}

.branches-stat-card{
    min-height:96px;
    padding:14px 13px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(246,246,248,0.98) 100%);
    border:1px solid rgba(17,17,17,0.06);
    box-shadow:0 10px 22px rgba(17,17,17,0.05);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.branches-stat-card:hover{
    transform:translateY(-2px);
    border-color:rgba(198,13,24,0.18);
    box-shadow:0 16px 28px rgba(17,17,17,0.08);
}

.branches-stat-number{
    display:block;
    color:#111111;
    font-size:20px;
    line-height:1;
    font-weight:900;
    letter-spacing:-0.04em;
}

.branches-stat-label{
    display:block;
    margin-top:6px;
    color:#696975;
    font-size:10.5px;
    line-height:1.5;
    font-weight:700;
}

.branches-info-panel{
    width:100%;
    padding:18px;
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,0.99) 0%, rgba(248,244,245,0.99) 100%);
    border:1px solid rgba(198,13,24,0.11);
    box-shadow:0 16px 28px rgba(17,17,17,0.06);
    position:relative;
    overflow:hidden;
}

.branches-info-panel::after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:linear-gradient(180deg, rgba(198,13,24,0.85) 0%, rgba(198,13,24,0.12) 100%);
    pointer-events:none;
}

.branches-info-head h2{
    margin:10px 0 6px;
    color:#161616;
    font-size:15px;
    line-height:1.3;
    font-weight:900;
    letter-spacing:-0.02em;
}

.branches-info-head p{
    margin:0;
    color:#5c5c67;
    font-size:11px;
    line-height:1.75;
}

.branches-info-stack{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
    margin-top:14px;
}

.branches-mini-card{
    padding:13px 14px;
    border-radius:16px;
    background:rgba(255,255,255,0.96);
    border:1px solid rgba(17,17,17,0.06);
    box-shadow:0 8px 18px rgba(17,17,17,0.04);
    min-height:88px;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.branches-mini-card:hover{
    transform:translateY(-2px);
    border-color:rgba(198,13,24,0.16);
    box-shadow:0 14px 24px rgba(17,17,17,0.07);
}

.branches-mini-card h3{
    margin:0 0 5px;
    color:#171717;
    font-size:12px;
    font-weight:800;
}

.branches-mini-card p{
    margin:0;
    color:#5d5d67;
    font-size:10.5px;
    line-height:1.7;
}

.branches-story{
    padding:10px 0 10px;
}

.branches-story-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.06fr) minmax(0, .94fr);
    gap:16px;
    align-items:start;
}

.branches-story-main{
    border-radius:24px;
    padding:20px;
    overflow:hidden;
}

.branches-story-main::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:1px;
    background:linear-gradient(90deg, rgba(198,13,24,0.18) 0%, rgba(198,13,24,0.02) 100%);
    pointer-events:none;
}

.branches-section-title{
    margin:12px 0 8px;
    color:#111111;
    font-size:clamp(18px, 2.25vw, 26px);
    line-height:1.2;
    font-weight:900;
    letter-spacing:-0.03em;
}

.branches-story-main p,
.branches-section-sub{
    margin:0 0 10px;
    color:#575761;
    font-size:12px;
    line-height:1.82;
}

.branches-points-wrap{
    display:grid;
    gap:10px;
}

.branches-point-card{
    border-radius:20px;
    padding:16px;
}

.branches-point-card:hover{
    transform:translateY(-2px);
    border-color:rgba(198,13,24,0.18);
    box-shadow:0 16px 28px rgba(17,17,17,0.08);
}

.branches-point-card span{
    display:inline-flex;
    width:30px;
    height:30px;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:rgba(198,13,24,0.08);
    color:#9a0f18;
    font-size:10px;
    font-weight:900;
    box-shadow:0 6px 12px rgba(198,13,24,0.05);
}

.branches-point-card h3{
    margin:10px 0 6px;
    color:#111111;
    font-size:14px;
    line-height:1.28;
    font-weight:900;
}

.branches-point-card p{
    margin:0;
    color:#5c5c67;
    font-size:11px;
    line-height:1.75;
}

.branches-cities{
    padding:12px 0 10px;
}

.branches-section-head{
    margin-bottom:16px;
}

.branches-city-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:12px;
}

.branches-city-card{
    border-radius:20px;
    padding:15px;
    min-height:140px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.branches-city-card:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 26px rgba(17,17,17,0.09);
    border-color:rgba(198,13,24,0.20);
}

.branches-city-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    background:rgba(17,17,17,0.05);
    color:#111111;
    font-size:10.5px;
    font-weight:900;
    width:max-content;
    max-width:100%;
    box-shadow:0 5px 10px rgba(17,17,17,0.03);
}

.branches-city-card p{
    margin:10px 0 0;
    color:#5d5d67;
    font-size:11px;
    line-height:1.75;
}

.branches-cta{
    padding:14px 0 40px;
}

.branches-cta-box{
    border-radius:26px;
    padding:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    overflow:hidden;
}

.branches-cta-box::before{
    content:"";
    position:absolute;
    top:-40px;
    right:-40px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(198,13,24,0.08) 0%, transparent 68%);
    pointer-events:none;
}

.branches-cta-content{
    max-width:760px;
    position:relative;
    z-index:1;
}

.branches-cta-content h2{
    margin:10px 0 6px;
    color:#111111;
    font-size:clamp(17px, 2.15vw, 24px);
    line-height:1.18;
    font-weight:900;
    letter-spacing:-0.03em;
}

.branches-cta-content p{
    margin:0;
    color:#5a5a65;
    font-size:11.5px;
    line-height:1.8;
}

.branches-cta-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    flex-shrink:0;
    position:relative;
    z-index:1;
}

.branches-reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .45s ease, transform .45s ease;
}

.branches-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

/* DARK MODE */
body[data-theme="dark"] .branches-hero-main,
body[data-theme="dark"] .branches-side-shell,
body[data-theme="dark"] .branches-story-main,
body[data-theme="dark"] .branches-point-card,
body[data-theme="dark"] .branches-city-card,
body[data-theme="dark"] .branches-cta-box{
    background:linear-gradient(180deg, rgba(16,16,18,0.98) 0%, rgba(11,11,13,0.98) 100%);
    border-color:rgba(255,255,255,0.06);
    box-shadow:
        0 18px 50px rgba(0,0,0,0.28),
        0 1px 0 rgba(255,255,255,0.03) inset;
}

body[data-theme="dark"] .branches-title,
body[data-theme="dark"] .branches-section-title,
body[data-theme="dark"] .branches-point-card h3,
body[data-theme="dark"] .branches-cta-content h2,
body[data-theme="dark"] .branches-city-badge,
body[data-theme="dark"] .branches-stat-number{
    color:#ffffff;
}

body[data-theme="dark"] .branches-text,
body[data-theme="dark"] .branches-story-main p,
body[data-theme="dark"] .branches-section-sub,
body[data-theme="dark"] .branches-point-card p,
body[data-theme="dark"] .branches-city-card p,
body[data-theme="dark"] .branches-cta-content p{
    color:rgba(255,255,255,0.72);
}

body[data-theme="dark"] .branches-pill{
    background:rgba(255,255,255,0.04);
    border-color:rgba(255,255,255,0.08);
    color:rgba(255,255,255,0.82);
    box-shadow:none;
}

body[data-theme="dark"] .branches-pill:hover{
    border-color:rgba(198,13,24,0.24);
    box-shadow:none;
}

body[data-theme="dark"] .branches-btn-secondary{
    background:rgba(255,255,255,0.03);
    border-color:rgba(255,255,255,0.08);
    color:#ffffff;
    box-shadow:none;
}

body[data-theme="dark"] .branches-btn-secondary:hover{
    color:#ffffff;
    border-color:rgba(198,13,24,0.32);
    box-shadow:none;
}

body[data-theme="dark"] .branches-kicker,
body[data-theme="dark"] .branches-section-kicker,
body[data-theme="dark"] .branches-info-tag{
    background:rgba(198,13,24,0.10);
    border-color:rgba(198,13,24,0.22);
    color:#ff9097;
    box-shadow:none;
}

body[data-theme="dark"] .branches-stat-card{
    background:linear-gradient(180deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.01) 100%);
    border-color:rgba(255,255,255,0.07);
    box-shadow:none;
}

body[data-theme="dark"] .branches-stat-card:hover,
body[data-theme="dark"] .branches-mini-card:hover,
body[data-theme="dark"] .branches-point-card:hover,
body[data-theme="dark"] .branches-city-card:hover{
    box-shadow:none;
    border-color:rgba(198,13,24,0.22);
}

body[data-theme="dark"] .branches-stat-label{
    color:rgba(255,255,255,0.66);
}

body[data-theme="dark"] .branches-city-badge{
    background:rgba(255,255,255,0.05);
    box-shadow:none;
}

body[data-theme="dark"] .branches-info-panel{
    background:linear-gradient(180deg, rgba(22,22,25,0.98) 0%, rgba(18,18,20,0.98) 100%);
    border-color:rgba(255,255,255,0.06);
    box-shadow:0 18px 32px rgba(0,0,0,0.20);
}

body[data-theme="dark"] .branches-info-head h2,
body[data-theme="dark"] .branches-mini-card h3,
body[data-theme="dark"] .branches-hero-note-text strong{
    color:#ffffff;
}

body[data-theme="dark"] .branches-info-head p,
body[data-theme="dark"] .branches-mini-card p,
body[data-theme="dark"] .branches-hero-note-text p{
    color:rgba(255,255,255,0.70);
}

body[data-theme="dark"] .branches-mini-card{
    background:rgba(255,255,255,0.04);
    border-color:rgba(255,255,255,0.07);
    box-shadow:none;
}

body[data-theme="dark"] .branches-hero-note{
    background:linear-gradient(180deg, rgba(20,20,22,0.98) 0%, rgba(28,18,20,0.98) 100%);
    border-color:rgba(255,255,255,0.06);
    box-shadow:0 16px 28px rgba(0,0,0,0.18);
}

body[data-theme="dark"] .branches-hero-note-text p{
    color:rgba(255,255,255,0.72);
}

/* RESPONSIVE */
@media (max-width: 1199px){
    .branches-hero-grid,
    .branches-story-grid{
        grid-template-columns:1fr;
    }

    .branches-stats-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .branches-info-stack{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .branches-city-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .branches-cta-box{
        flex-direction:column;
        align-items:flex-start;
    }

    .branches-cta-actions{
        width:100%;
    }
}

@media (max-width: 860px){
    .branches-hero{
        padding:16px 0 12px;
    }

    .branches-hero-main,
    .branches-side-shell,
    .branches-story-main,
    .branches-point-card,
    .branches-city-card,
    .branches-cta-box{
        border-radius:21px;
    }

    .branches-hero-main,
    .branches-side-shell,
    .branches-story-main,
    .branches-cta-box{
        padding:16px;
    }

    .branches-stats-grid,
    .branches-city-grid,
    .branches-info-stack{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .branches-title{
        font-size:clamp(17px, 5.2vw, 24px);
    }
}

@media (max-width: 560px){
    .branches-hero-actions,
    .branches-cta-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .branches-btn-primary,
    .branches-btn-secondary{
        width:100%;
    }

    .branches-stats-grid,
    .branches-city-grid,
    .branches-info-stack{
        grid-template-columns:1fr;
    }

    .branches-hero-main{
        padding:15px;
    }

    .branches-side-shell,
    .branches-story-main,
    .branches-cta-box{
        padding:15px;
    }

    .branches-title{
        font-size:21px;
    }

    .branches-text,
    .branches-info-head p,
    .branches-mini-card p,
    .branches-story-main p,
    .branches-section-sub,
    .branches-point-card p,
    .branches-city-card p,
    .branches-cta-content p{
        font-size:11px;
    }
}