/* ==========================================================
   TPQ NURUL ISLAM
   Version 1.0
========================================================== */

:root{

    --tpq-primary:#0F766E;
    --tpq-secondary:#D4AF37;
    --tpq-dark:#14342F;
    --tpq-light:#F8FAFC;

    --radius:22px;

    --shadow:
    0 15px 40px rgba(0,0,0,.08);

}



/* ==========================================================
   HERO
========================================================== */

.tpq-hero{

    position:relative;

    min-height:700px;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:

    url("../images/tpq/hero.jpg")

    center center/cover;

}

.tpq-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(

        rgba(8,45,40,.78),

        rgba(10,75,67,.82)

    );

}

.tpq-hero .container{

    position:relative;

    z-index:2;

}

.tpq-hero-content{

    max-width:760px;

    color:#fff;

}

.tpq-hero h1{

    font-size:64px;

    font-weight:800;

    line-height:1.1;

    margin-bottom:10px;

}

.tpq-hero h3{

    color:#FFD54A;

    font-size:28px;

    margin-bottom:25px;

    font-weight:600;

}

.tpq-hero p{

    font-size:20px;

    line-height:1.9;

    margin-bottom:35px;

}

.hero-info{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-bottom:35px;

}

.hero-info div{

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(8px);

    border-radius:18px;

    padding:18px 22px;

    min-width:160px;

}

.hero-info strong{

    display:block;

    margin-bottom:8px;

    color:#FFD54A;

}

.hero-button{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.hero-button .btn{

    min-width:220px;

    height:56px;

    border-radius:50px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

}



/* ==========================================================
   ABOUT
========================================================== */

.tpq-about{

    padding:110px 0;

    background:#fff;

}

.tpq-about img{

    border-radius:24px;

    box-shadow:var(--shadow);

}

.section-subtitle{

    display:inline-block;

    color:var(--tpq-secondary);

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:18px;

}

.section-title{

    font-size:42px;

    font-weight:800;

    color:var(--tpq-dark);

    margin-bottom:25px;

}

.section-description{

    max-width:700px;

    margin:auto;

    color:#666;

    line-height:1.9;

}

.tpq-about p{

    color:#666;

    line-height:2;

}

/* ==========================================================
   PROGRAM ATTANZIL
========================================================== */

.attanzil-section{

    padding:110px 0;

    background:linear-gradient(180deg,#F8FAFC,#ffffff);

}

.program-card{

    background:#fff;

    height:100%;

    padding:38px 30px;

    border-radius:24px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

    border-top:5px solid transparent;

}

.program-card:hover{

    transform:translateY(-8px);

    border-color:var(--tpq-secondary);

}

.program-card.highlight{

    background:linear-gradient(
        135deg,
        var(--tpq-primary),
        #0B5E58
    );

    color:#fff;

}

.program-card.highlight h4,

.program-card.highlight p{

    color:#fff;

}

.program-icon{

    width:82px;

    height:82px;

    margin:0 auto 24px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#E8F5F4;

    color:var(--tpq-primary);

    font-size:34px;

}

.program-card.highlight .program-icon{

    background:rgba(255,255,255,.18);

    color:#FFD54A;

}

.program-card h4{

    font-size:24px;

    margin-bottom:16px;

    color:var(--tpq-dark);

}

.program-card p{

    color:#666;

    line-height:1.9;

    margin:0;

}



/* ==========================================================
   JADWAL
========================================================== */

.schedule-section{

    padding:110px 0;

    background:#ffffff;

}

.schedule-card{

    height:100%;

    background:#fff;

    border-radius:24px;

    padding:35px;

    box-shadow:var(--shadow);

    border-top:6px solid #FFD54A;

}

.schedule-card.night{

    border-color:var(--tpq-primary);

}

.schedule-header{

    display:flex;

    align-items:center;

    gap:16px;

    margin-bottom:20px;

}

.schedule-header i{

    font-size:34px;

    color:var(--tpq-secondary);

}

.schedule-card.night .schedule-header i{

    color:var(--tpq-primary);

}

.schedule-header h3{

    margin:0;

    font-size:28px;

}

.schedule-time{

    display:inline-block;

    margin-bottom:28px;

    padding:10px 18px;

    border-radius:40px;

    background:#F3F4F6;

    font-weight:600;

}

.schedule-list{

    list-style:none;

    padding:0;

    margin:0;

}

.schedule-list li{

    position:relative;

    padding-left:110px;

    margin-bottom:22px;

    line-height:1.8;

}

.schedule-list li:last-child{

    margin-bottom:0;

}

.schedule-list span{

    position:absolute;

    left:0;

    top:0;

    width:90px;

    font-weight:700;

    color:var(--tpq-primary);

}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:991px){

.attanzil-section{

padding:70px 0;

}

.program-card{

padding:28px 22px;

}

.program-icon{

width:68px;

height:68px;

font-size:28px;

}

.program-card h4{

font-size:21px;

}

.schedule-section{

padding:70px 0;

}

.schedule-card{

padding:26px;

}

.schedule-header h3{

font-size:22px;

}

.schedule-list li{

padding-left:0;

}

.schedule-list span{

position:relative;

display:block;

margin-bottom:6px;

width:auto;

}

}

@media(max-width:576px){

.program-card{

padding:24px 20px;

}

.program-card h4{

font-size:20px;

}

.program-card p{

font-size:14px;

}

.schedule-card{

padding:22px;

}

.schedule-header{

gap:12px;

}

.schedule-header i{

font-size:28px;

}

.schedule-header h3{

font-size:20px;

}

}

/* ==========================================================
   JENJANG PEMBELAJARAN
========================================================== */

.level-section{

    padding:110px 0;

    background:#F8FAFC;

}

.level-card{

    background:#fff;

    border-radius:22px;

    padding:35px 20px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

    height:100%;

    position:relative;

    overflow:hidden;

}

.level-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:6px;

    background:var(--tpq-secondary);

}

.level-card:hover{

    transform:translateY(-8px);

}

.level-number{

    width:72px;

    height:72px;

    margin:0 auto 20px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--tpq-primary),
        #0B5E58
    );

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    font-weight:700;

}

.level-card h5{

    margin:0;

    font-size:20px;

    color:var(--tpq-dark);

}



/* ==========================================================
   TARGET LULUSAN
========================================================== */

.graduate-section{

    padding:110px 0;

    background:#ffffff;

}

.graduate-section img{

    border-radius:24px;

    box-shadow:var(--shadow);

}

.graduate-list{

    list-style:none;

    padding:0;

    margin-top:25px;

}

.graduate-list li{

    position:relative;

    padding-left:38px;

    margin-bottom:18px;

    line-height:1.8;

    color:#555;

}

.graduate-list li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    width:24px;

    height:24px;

    border-radius:50%;

    background:var(--tpq-primary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:13px;

    font-weight:700;

}



/* ==========================================================
   WISUDA HIGHLIGHT
========================================================== */

.graduate-highlight{

    margin-top:40px;

    padding:28px;

    border-radius:22px;

    background:linear-gradient(
        135deg,
        var(--tpq-primary),
        #0B5E58
    );

    color:#fff;

    text-align:center;

}

.graduate-highlight h3{

    margin-bottom:15px;

    color:#FFD54A;

    font-size:28px;

}

.graduate-highlight p{

    margin:0;

    line-height:1.9;

}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:991px){

.level-section{

padding:70px 0;

}

.level-card{

padding:28px 18px;

}

.level-number{

width:60px;

height:60px;

font-size:24px;

}

.level-card h5{

font-size:18px;

}

.graduate-section{

padding:70px 0;

}

.graduate-section img{

margin-bottom:35px;

}

.graduate-list li{

padding-left:34px;

}

.graduate-highlight{

padding:24px;

}

}

@media(max-width:576px){

.level-card{

padding:24px 15px;

}

.level-number{

width:54px;

height:54px;

font-size:22px;

}

.level-card h5{

font-size:17px;

}

.graduate-list li{

font-size:14px;

}

.graduate-highlight h3{

font-size:24px;

}

.graduate-highlight p{

font-size:14px;

}

}

/* ==========================================================
   KEGIATAN TAHUNAN
========================================================== */

.activity-section{

    padding:110px 0;

    background:#F8FAFC;

}

.activity-card{

    height:100%;

    background:#fff;

    border-radius:24px;

    padding:40px 30px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

}

.activity-card:hover{

    transform:translateY(-8px);

}

.activity-card i{

    font-size:48px;

    color:var(--tpq-secondary);

    margin-bottom:22px;

}

.activity-card h4{

    margin-bottom:18px;

    font-size:24px;

    color:var(--tpq-dark);

}

.activity-card p{

    margin:0;

    line-height:1.9;

    color:#666;

}



/* ==========================================================
   SEHARI MENJADI SANTRI
========================================================== */

.daily-section{

    padding:110px 0;

    background:#ffffff;

}

.daily-flow{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:22px;

}

.flow-item{

    width:160px;

    min-height:160px;

    background:#fff;

    border-radius:22px;

    box-shadow:var(--shadow);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:20px;

    transition:.35s;

    font-size:44px;

}

.flow-item:hover{

    transform:translateY(-6px);

}

.flow-item h5{

    margin-top:18px;

    font-size:17px;

    line-height:1.5;

    color:var(--tpq-dark);

}

.flow-arrow{

    font-size:34px;

    color:var(--tpq-primary);

    font-weight:bold;

}



/* ==========================================================
   FAQ
========================================================== */

.faq-section{

    padding:110px 0;

    background:#F8FAFC;

}

.faq-section .accordion{

    max-width:900px;

    margin:auto;

}

.accordion-item{

    border:none;

    border-radius:18px !important;

    overflow:hidden;

    margin-bottom:18px;

    box-shadow:var(--shadow);

}

.accordion-button{

    padding:22px 26px;

    font-size:18px;

    font-weight:600;

    color:var(--tpq-dark);

}

.accordion-button:not(.collapsed){

    background:var(--tpq-primary);

    color:#fff;

}

.accordion-body{

    padding:24px 26px;

    line-height:1.9;

}



/* ==========================================================
   CTA
========================================================== */

.tpq-cta{

    padding:120px 0;

    background:

    linear-gradient(

        rgba(15,118,110,.88),

        rgba(8,62,56,.90)

    ),

    url("../images/tpq/hero.jpg")

    center center/cover;

}

.tpq-cta .cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.tpq-cta span{

    color:#FFD54A;

    font-weight:700;

    letter-spacing:2px;

}

.tpq-cta h2{

    font-size:48px;

    margin:20px 0;

    line-height:1.3;

}

.tpq-cta p{

    max-width:700px;

    margin:0 auto 35px;

    line-height:1.9;

    font-size:18px;

}

.tpq-cta .cta-button{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

}

.tpq-cta .btn{

    min-width:220px;

    height:56px;

    border-radius:50px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

}



/* ==========================================================
   MOBILE FINAL
========================================================== */

@media(max-width:991px){

.activity-section,
.daily-section,
.faq-section{

padding:70px 0;

}

.activity-card{

padding:30px 22px;

}

.activity-card h4{

font-size:22px;

}

.daily-flow{

flex-direction:column;

}

.flow-arrow{

transform:rotate(90deg);

}

.flow-item{

width:100%;

max-width:260px;

min-height:140px;

font-size:36px;

}

.faq-section .accordion{

max-width:100%;

}

.accordion-button{

font-size:16px;

padding:18px 20px;

}

.accordion-body{

padding:20px;

}

.tpq-cta{

padding:80px 0;

}

.tpq-cta h2{

font-size:34px;

}

.tpq-cta p{

font-size:16px;

}

.tpq-cta .cta-button{

flex-direction:column;

align-items:center;

}

.tpq-cta .btn{

width:100%;

max-width:320px;

}

}

@media(max-width:576px){

.activity-card{

padding:24px 18px;

}

.activity-card h4{

font-size:20px;

}

.activity-card p{

font-size:14px;

}

.flow-item{

max-width:220px;

min-height:120px;

font-size:30px;

}

.flow-item h5{

font-size:15px;

}

.tpq-cta{

padding:60px 0;

}

.tpq-cta h2{

font-size:28px;

}

.tpq-cta p{

font-size:15px;

}

}