/* /randevu sayfası — tüm kurallar .appointment-page altında kapsanır, diğer sayfaları etkilemez. */
.appointment-page{
    --navy:#071b31;--navy2:#0b3559;--blue:#166baa;--gold:#f4b942;--cream:#f7f3ea;--sky:#edf7fc;
    --text:#172232;--muted:#687588;--line:rgba(7,27,49,.12);--shadow:0 28px 75px rgba(7,27,49,.13);
    font-family:"Manrope","Open Sans",sans-serif;color:var(--text);overflow-x:hidden;
}
.appointment-page *,.appointment-page *:before,.appointment-page *:after{box-sizing:border-box}
.appointment-page a{text-decoration:none}
.appointment-page .section{padding:105px 0}
.appointment-page .bg-sky{background:var(--sky)}
.appointment-page .eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.appointment-page .eyebrow:before{content:"";width:32px;height:2px;background:currentColor}
.appointment-page .title{margin-bottom:18px;color:var(--navy);font-size:clamp(2.25rem,4.3vw,4.5rem);font-weight:800;line-height:1.03;letter-spacing:-.052em}
.appointment-page .title em{font-family:"Playfair Display",serif;font-weight:700}
.appointment-page .lead-copy{color:var(--muted);font-size:1.04rem;line-height:1.85}
.appointment-page .btn-edu{background:var(--gold);border:1px solid var(--gold);color:var(--navy);font-weight:800;border-radius:14px;padding:.9rem 1.45rem}
.appointment-page .btn-edu:hover{background:#ffc95f;border-color:#ffc95f;color:var(--navy);transform:translateY(-2px)}
.appointment-page .btn-dark-edu{background:var(--navy);border:1px solid var(--navy);color:#fff;font-weight:800;border-radius:14px;padding:.9rem 1.45rem}
.appointment-page .btn-dark-edu:hover{background:var(--navy2);border-color:var(--navy2);color:#fff}
.appointment-page .btn-dark-edu:disabled{opacity:.65;cursor:not-allowed}
.appointment-page .d-none-js{display:none}

/* üst menüdeki "Randevu Sistemi" butonu (önceden inline style idi) */
.menu-btn-round{border-radius:25px}

/* hero */
.appointment-page .hero{position:relative;min-height:640px;display:flex;align-items:center;padding:110px 0 115px;color:#fff;
    background:linear-gradient(90deg,rgba(3,18,35,.98) 0%,rgba(7,27,49,.91) 47%,rgba(7,27,49,.36) 100%),url("/okul.jpg") center/cover no-repeat;overflow:hidden}
.appointment-page .hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;opacity:.11}
.appointment-page .hero:after{content:"RANDEVU";position:absolute;right:-20px;bottom:-56px;color:rgba(255,255,255,.035);font-size:10.5rem;font-weight:800;letter-spacing:-.08em}
.appointment-page .hero-copy{position:relative;z-index:2}
.appointment-page .hero .eyebrow{color:var(--gold)}
.appointment-page .hero h1{max-width:860px;margin-bottom:25px;color:#fff;font-size:clamp(2.6rem,5.2vw,5.2rem);font-weight:800;line-height:.98;letter-spacing:-.06em}
.appointment-page .hero h1 em{display:block;color:var(--gold);font-family:"Playfair Display",serif}
.appointment-page .hero p{max-width:690px;color:rgba(255,255,255,.73);font-size:1.08rem;line-height:1.86}
.appointment-page .hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.appointment-page .hero-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);font-size:.75rem;font-weight:800}
.appointment-page .hero-pill i{color:var(--gold)}
.appointment-page .hero-card{position:relative;z-index:2;max-width:420px;margin-left:auto;padding:30px;border:1px solid rgba(255,255,255,.15);border-radius:30px;background:rgba(255,255,255,.09);box-shadow:0 30px 80px rgba(0,0,0,.2)}
.appointment-page .hero-card small{display:block;margin-bottom:20px;color:rgba(255,255,255,.57);font-size:.71rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.appointment-page .hero-step{display:flex;gap:13px;padding:15px 0;border-top:1px solid rgba(255,255,255,.1)}
.appointment-page .hero-step:first-of-type{border-top:0;padding-top:0}
.appointment-page .hero-step b{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:11px;background:rgba(244,185,66,.12);color:var(--gold);font-size:.7rem}
.appointment-page .hero-step strong{display:block;color:#fff;font-size:.86rem}
.appointment-page .hero-step span{color:rgba(255,255,255,.56);font-size:.75rem;line-height:1.5}

/* trust strip */
.appointment-page .trust-wrap{position:relative;z-index:10;margin-top:-38px}
.appointment-page .trust-strip{padding:10px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.appointment-page .trust-item{display:flex;align-items:center;gap:14px;min-height:90px;padding:16px 18px;border-right:1px solid var(--line)}
.appointment-page .trust-item.last{border-right:0}
.appointment-page .trust-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:15px;background:var(--sky);color:var(--blue);font-size:1.15rem}
.appointment-page .trust-item strong{display:block;color:var(--navy);font-size:.87rem}
.appointment-page .trust-item span{color:var(--muted);font-size:.71rem}

/* booking */
.appointment-page .booking-section{position:relative;background:var(--cream);overflow:hidden}
.appointment-page .booking-card{position:relative;z-index:2;padding:42px;border:1px solid var(--line);border-radius:31px;background:#fff;box-shadow:0 25px 65px rgba(7,27,49,.08)}
.appointment-page .booking-header{padding-bottom:28px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.appointment-page .booking-header h2{margin-bottom:10px;color:var(--navy);font-size:clamp(1.8rem,3vw,3rem);font-weight:800;letter-spacing:-.04em}
.appointment-page .booking-header p{margin:0;color:var(--muted);line-height:1.75}
.appointment-page .form-step-label{display:flex;align-items:center;gap:10px;margin:25px 0 16px;color:var(--navy);font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.appointment-page .form-step-label span{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:var(--navy);color:var(--gold);font-size:.67rem}
.appointment-page .form-label{margin-bottom:8px;color:var(--navy);font-size:.75rem;font-weight:800}
.appointment-page .form-control,.appointment-page .form-select{min-height:53px;border:1px solid rgba(7,27,49,.14);border-radius:14px;background-color:#fbfcfd;font-size:.87rem}
.appointment-page textarea.form-control{min-height:135px;resize:vertical}
.appointment-page .form-control:focus,.appointment-page .form-select:focus{border-color:rgba(22,107,170,.55);box-shadow:0 0 0 .2rem rgba(22,107,170,.1)}
.appointment-page .form-note{color:var(--muted);font-size:.72rem;line-height:1.55}
.appointment-page .invalid-feedback{display:none;font-size:.75rem}
.appointment-page .is-invalid ~ .invalid-feedback,.appointment-page .form-check-input.is-invalid ~ .invalid-feedback{display:block}
.appointment-page .was-validated :invalid ~ .invalid-feedback{display:block}
.appointment-page .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.appointment-page .booking-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px;padding-top:25px;border-top:1px solid var(--line)}
.appointment-page .booking-submit .btn{min-width:210px}
.appointment-page .form-alert{margin-top:18px;border-radius:14px}
.appointment-page .form-hidden{display:none}

.appointment-page .slot-preview{position:sticky;top:100px;padding:35px;border-radius:30px;background:radial-gradient(circle at 83% 15%,rgba(244,185,66,.16),transparent 26%),linear-gradient(145deg,#071b31,#0b3559);color:#fff;overflow:hidden}
.appointment-page .slot-preview .eyebrow{color:var(--gold)}
.appointment-page .slot-preview h3{margin-bottom:16px;color:#fff;font-size:1.8rem;font-weight:800;letter-spacing:-.035em}
.appointment-page .slot-preview p{color:rgba(255,255,255,.62);font-size:.86rem;line-height:1.75}
.appointment-page .summary-box{margin-top:25px;padding:19px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.05)}
.appointment-page .summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.appointment-page .summary-row:first-child{padding-top:0;border-top:0}
.appointment-page .summary-row:last-child{padding-bottom:0}
.appointment-page .summary-row span{color:rgba(255,255,255,.5);font-size:.72rem}
.appointment-page .summary-row strong{max-width:62%;text-align:right;font-size:.77rem;color:#fff}
.appointment-page .contact-mini{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.11)}
.appointment-page .contact-mini a{display:flex;align-items:center;gap:10px;padding:8px 0;color:rgba(255,255,255,.7);font-size:.78rem}
.appointment-page .contact-mini i{color:var(--gold)}

/* bilgilendirme */
.appointment-page .process-card{height:100%;padding:31px 27px;border:1px solid var(--line);border-radius:24px;background:#fff}
.appointment-page .process-icon{display:grid;width:56px;height:56px;margin-bottom:22px;place-items:center;border-radius:17px;background:var(--sky);color:var(--blue);font-size:1.3rem}
.appointment-page .process-card h3{color:var(--navy);font-size:1.11rem;font-weight:800}
.appointment-page .process-card p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.72}
.appointment-page .discuss-section{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.appointment-page .discuss-section .eyebrow{color:var(--gold)}
.appointment-page .discuss-section .title{color:#fff}
.appointment-page .discuss-section .lead-copy{color:rgba(255,255,255,.64)}
.appointment-page .discuss-card{height:100%;padding:29px;border:1px solid rgba(255,255,255,.1);border-radius:23px;background:rgba(255,255,255,.055)}
.appointment-page .discuss-card span{display:grid;width:53px;height:53px;margin-bottom:22px;place-items:center;border-radius:16px;background:rgba(244,185,66,.12);color:var(--gold);font-size:1.25rem}
.appointment-page .discuss-card h3{color:#fff;font-size:1.08rem;font-weight:800}
.appointment-page .discuss-card p{margin:0;color:rgba(255,255,255,.57);font-size:.84rem;line-height:1.7}
.appointment-page .faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.appointment-page .faq-item+.faq-item{margin-top:12px}
.appointment-page .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 22px;cursor:pointer;list-style:none;color:var(--navy);font-size:.92rem;font-weight:800}
.appointment-page .faq-item summary::-webkit-details-marker{display:none}
.appointment-page .faq-item summary i{color:var(--blue);transition:.25s}
.appointment-page .faq-item[open] summary i{transform:rotate(45deg)}
.appointment-page .faq-content{padding:0 22px 21px;color:var(--muted);font-size:.85rem;line-height:1.75}

@media(max-width:991.98px){
    .appointment-page .section{padding:70px 0}
    .appointment-page .hero-card{max-width:none;margin:38px 0 0}
    .appointment-page .trust-item{border-right:0;border-bottom:1px solid var(--line)}
    .appointment-page .trust-item.last{border-bottom:0}
    .appointment-page .slot-preview{position:relative;top:auto;margin-top:25px}
}
@media(max-width:767.98px){
    .appointment-page .hero{min-height:auto;padding:80px 0 80px}
    .appointment-page .hero h1{font-size:clamp(2.2rem,11vw,3.4rem)}
    .appointment-page .hero:after{font-size:5.8rem;bottom:-15px}
    .appointment-page .trust-wrap{margin-top:-26px}
    .appointment-page .booking-card{padding:29px 20px}
    .appointment-page .booking-submit{flex-direction:column;align-items:stretch}
    .appointment-page .booking-submit .btn{width:100%}
    .appointment-page .slot-preview{padding:29px 23px}
}
@media(prefers-reduced-motion:reduce){
    .appointment-page *{transition:none!important}
}
