/*
Theme Name: Noor School
Theme URI: https://example.com
Author: Noor School
Description: قالب وردپرس صفحه فرود مدرسه نور، شامل عکس اصلی داخل قالب، کاملا واکنش‌گرا برای موبایل و تبلت.
Version: 2.0
Text Domain: noor-school
*/

:root{
    --gold: #d8b06a;
    --gold-light: #e9cfa0;
}

*{ box-sizing: border-box; }

body{
    margin:0;
    font-family: 'Vazirmatn', 'Segoe UI', Tahoma, sans-serif;
    background:#000;
    color:#fff;
}

a{ text-decoration:none; color:inherit; }
ul{ list-style:none; margin:0; padding:0; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; }

.container{
    max-width:1400px;
    margin:0 auto;
    padding:0 60px;
}

/* ===========================
   Hero Section
=========================== */
.hero{
    position:relative;
    min-height:100vh;
    background-image:
        linear-gradient(to top, rgba(10,8,6,.92) 0%, rgba(10,8,6,.55) 30%, rgba(20,15,10,.20) 55%, rgba(40,30,18,.30) 100%),
        url('assets/hero-bg.jpg');
    background-size:cover;
    background-position:center;
    background-attachment: scroll;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
}

/* Allow the Customizer to override the image without editing files */
body.has-custom-hero-image .hero{
    background-image:
        linear-gradient(to top, rgba(10,8,6,.92) 0%, rgba(10,8,6,.55) 30%, rgba(20,15,10,.20) 55%, rgba(40,30,18,.30) 100%),
        var(--hero-image);
}

/* Header */
.site-header{
    position:relative;
    z-index:10;
    padding:24px 0 0;
}

.site-header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.site-logo{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:26px;
    letter-spacing:1px;
    white-space:nowrap;
}
.site-logo img{ height:32px; width:auto; }
.site-logo .light{ font-weight:300; opacity:.9; }

.header-actions{
    display:flex;
    align-items:center;
    gap:16px;
}

.btn-contact-us{
    border:1px solid rgba(255,255,255,.55);
    border-radius:30px;
    padding:9px 20px;
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    background:rgba(255,255,255,.03);
    transition:.25s;
    white-space:nowrap;
}
.btn-contact-us:hover{ background:rgba(255,255,255,.12); }

.menu-toggle{
    background:none;
    border:none;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:6px;
}
.menu-toggle span{
    width:24px; height:2px; background:#fff; display:block;
}

/* Hero content */
.hero-content{
    position:relative;
    z-index:5;
    padding:50px 0 20px;
}

.hero-content-inner{
    max-width:600px;
}

.hero-tagline{
    color:var(--gold-light);
    letter-spacing:3px;
    font-size:14px;
    margin-bottom:16px;
}

.hero-title{
    font-family: Georgia, 'Times New Roman', serif;
    font-size:70px;
    line-height:1.05;
    margin:0 0 16px;
}
.hero-title .thin{ font-weight:300; }

.hero-divider{
    width:60px; height:2px; background:var(--gold);
    margin:0 0 20px;
}

.hero-desc{
    font-size:16px;
    line-height:1.9;
    color:#eee;
    max-width:460px;
    margin:0 0 30px;
}

.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:14px 26px;
    border-radius:30px;
    font-size:15px;
    font-weight:600;
    transition:.25s;
    border:none;
    cursor:pointer;
}
.btn-primary{
    background:#111;
    color:#fff;
    border:1px solid #333;
}
.btn-primary:hover{ background:#000; }
.btn-secondary{
    background:rgba(240,225,200,.92);
    color:#221a10;
}
.btn-secondary:hover{ background:#fff; }

/* Contact strip */
.contact-strip{
    position:relative;
    z-index:5;
    padding:18px 0 26px;
    border-top:1px solid rgba(255,255,255,.08);
    background:linear-gradient(to top, rgba(0,0,0,.55), transparent);
}

.contact-strip h3{
    font-family: Georgia, serif;
    font-weight:400;
    font-size:19px;
    margin:0 0 14px;
    display:flex;
    align-items:center;
    gap:14px;
}
.contact-strip h3::after{
    content:"";
    flex:1;
    height:1px;
    background:rgba(255,255,255,.25);
}

.contact-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}

.contact-card{
    display:flex;
    align-items:center;
    gap:10px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    padding:12px 14px;
    transition:.25s;
    min-width:0;
}
.contact-card:hover{ background:rgba(255,255,255,.12); }

.contact-icon{
    width:36px; height:36px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    font-size:16px;
}
.icon-whatsapp{ background:#25D366; }
.icon-telegram{ background:#29A9EA; }
.icon-eitaa{ background:#F58220; }
.icon-bale{ background:#00B39F; }
.icon-email{ background:#4a4a4a; }

.contact-card .text{ min-width:0; overflow:hidden; }
.contact-card .label{ font-size:14px; font-weight:600; display:block; }
.contact-card .sub{ font-size:12px; color:#c9c9c9; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.contact-card .arrow{ margin-inline-start:auto; opacity:.6; flex-shrink:0; }

/* Go top */
.go-top{
    text-align:center;
    padding:16px 0;
    font-size:13px;
    color:#ddd;
    cursor:pointer;
}
.go-top .circle{
    width:30px;height:30px;border:1px solid rgba(255,255,255,.4);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    margin:0 auto 6px;
}

/* Footer */
.site-footer{
    position:relative;
    z-index:5;
    border-top:1px solid rgba(255,255,255,.1);
    padding:20px 0;
}
.site-footer .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}
.footer-logo{ font-family:Georgia,serif; font-size:19px; }
.footer-logo small{ display:block; font-size:12px; font-weight:400; color:#bbb; margin-top:2px; }
.footer-copy{ font-size:13px; color:#bbb; }

/* ===========================
   Tablet (≤ 1024px)
=========================== */
@media (max-width: 1024px){
    .container{ padding:0 36px; }
    .hero-title{ font-size:56px; }
    .hero-content-inner{ max-width:100%; }
    .contact-grid{ grid-template-columns:repeat(3,1fr); }
}

/* ===========================
   Small tablet / large phone (≤ 768px)
=========================== */
@media (max-width: 768px){
    .container{ padding:0 24px; }
    .hero-title{ font-size:44px; }
    .hero-desc{ font-size:15px; max-width:100%; }
    .contact-grid{ grid-template-columns:repeat(2,1fr); }
    .site-header{ padding:18px 0 0; }
    .hero-content{ padding:36px 0 16px; }
}

/* ===========================
   Mobile (≤ 480px)
=========================== */
@media (max-width: 480px){
    .container{ padding:0 18px; }
    .site-header .container{ flex-wrap:nowrap; }
    .site-logo{ font-size:20px; }
    .btn-contact-us{ padding:8px 14px; font-size:13px; }
    .btn-contact-us span.txt{ display:none; }

    .hero-tagline{ font-size:12px; letter-spacing:2px; }
    .hero-title{ font-size:34px; }
    .hero-desc{ font-size:14px; line-height:1.8; margin-bottom:22px; }
    .hero-buttons{ flex-direction:column; align-items:stretch; }
    .btn{ justify-content:center; padding:13px 22px; font-size:14px; }

    .contact-strip h3{ font-size:17px; }
    .contact-grid{ grid-template-columns:1fr; gap:10px; }
    .contact-card{ padding:11px 13px; }

    .site-footer .container{ flex-direction:column; align-items:flex-start; gap:6px; }
}
