/* Homepage additions use the existing Quran Dawn design tokens. */
.qd-home-heading .section-desc{max-width:580px;margin-top:20px}
.qd-home-heading .btn{margin-top:28px}
.qd-heading-center{text-align:center;max-width:760px;margin:0 auto 48px}
.qd-heading-center .section-desc{margin-left:auto;margin-right:auto}
.qd-tutor-section{background:var(--color-cream-light)}
.qd-tutor-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.qd-video-card{padding:12px;background:var(--color-white);border:1px solid var(--border-dark-subtle);border-radius:24px;box-shadow:var(--shadow-medium);min-width:0}
.qd-video-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--color-teal-deep);border-radius:16px}
.qd-video-card figcaption{padding:16px 12px 8px;font-size:var(--text-sm);color:var(--color-text-dark-muted)}
.qd-reviews-slider{--swiper-theme-color:var(--color-teal)}
.qd-reviews-slider:not(.swiper-initialized) .qd-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.qd-reviews-slider .qd-review-card{height:auto;box-sizing:border-box;margin:0}
.qd-reviews-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}
.qd-reviews-pagination.swiper-pagination-horizontal{width:auto;display:flex;align-items:center;justify-content:center}
.qd-reviews-controls button{width:42px;height:42px;border:1px solid var(--border-dark-subtle);border-radius:50%;background:var(--color-white);color:var(--color-teal);font-size:24px;cursor:pointer}
.qd-reviews-controls button:hover{background:var(--color-cream)}
.qd-reviews-controls button:focus-visible{outline:2px solid var(--color-teal);outline-offset:3px}
.qd-reviews-controls .swiper-button-disabled{opacity:.35;cursor:default}
.qd-reviews-controls .swiper-button-lock,.qd-reviews-controls .swiper-pagination-lock,.qd-reviews-slider:not(.swiper-initialized) .qd-reviews-controls{display:none}
.qd-reviews-section{background:var(--color-offwhite)}
.qd-review-card{background:var(--color-white);border:1px solid var(--border-dark-subtle);padding:32px;border-radius:20px;display:flex;flex-direction:column}
.qd-review-stars{font-size:22px;letter-spacing:4px;color:#f5c518;margin-bottom:24px}
.qd-review-card blockquote{font-size:1.12rem;line-height:1.8;margin-bottom:30px;flex:1}
.qd-review-card figcaption{display:flex;gap:14px;align-items:center;border-top:1px solid var(--border-dark-subtle);padding-top:22px}
.qd-review-avatar,.qd-review-card img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}
.qd-review-avatar{display:grid;place-items:center;background:var(--color-cream);font-size:36px;line-height:1}
.qd-review-card strong,.qd-review-card small{display:block}
.qd-review-card small{color:var(--color-text-dark-muted);margin-top:4px}
.qd-booking-section{background:var(--color-teal);color:var(--color-cream);scroll-margin-top:100px}
.qd-booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.qd-booking-section .section-title{color:var(--color-cream)}
.qd-booking-section .section-desc{color:var(--color-text-light-muted)}
.qd-booking-notice{border-top:1px solid var(--border-light-medium);margin-top:36px;padding-top:22px;font-size:var(--text-sm);color:var(--color-text-light-muted)}
.qd-booking-form{padding:36px;background:var(--color-cream-light);color:var(--color-teal);border-radius:24px;min-width:0}
.qd-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.qd-field-wide{grid-column:1/-1}
.qd-form-field label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:8px}
.qd-form-field input,.qd-form-field select,.qd-form-field textarea{display:block;width:100%;min-height:48px;border:1px solid var(--border-dark-medium);background:var(--color-white);border-radius:8px;padding:12px;font:inherit;color:var(--color-teal);max-width:100%}
.qd-form-field textarea{resize:vertical}
.qd-form-field input,.qd-form-field select,.qd-form-field textarea,.qd-form-status{scroll-margin-top:140px;scroll-margin-bottom:100px}
.qd-form-field input:focus,.qd-form-field select:focus,.qd-form-field textarea:focus{outline:2px solid var(--color-teal);outline-offset:2px}
.qd-form-field [aria-invalid=true]{border:2px solid #a32424}
.qd-field-error{color:#a32424;font-size:13px;display:block;margin-top:5px}
.qd-field-error:empty{display:none}
.qd-booking-form>.btn{width:100%;margin-top:24px}
.qd-form-status:empty{display:none}
.qd-form-status{margin-top:16px;padding:14px;border:1px solid currentColor;border-radius:8px;font-size:var(--text-sm)}
.qd-form-status[data-state=error]{color:#a32424;background:#fff2ef}
.qd-form-status[data-state=success],.qd-form-status[data-state=preview]{color:var(--color-teal);background:var(--color-cream)}
.home #main-content{scroll-margin-top:100px}
@media(max-width:1024px){
 .qd-tutor-grid,.qd-booking-grid{gap:36px;grid-template-columns:1fr 1fr}
 .qd-reviews-slider:not(.swiper-initialized) .qd-reviews-grid{gap:16px}
 .qd-review-card{padding:24px}
 .qd-booking-form{padding:24px}.qd-form-fields{grid-template-columns:1fr}
}
@media(max-width:767px){
 .qd-tutor-grid,.qd-booking-grid{grid-template-columns:1fr;gap:32px}
 .qd-tutor-grid>.qd-video-card{order:-1}
 .qd-reviews-slider:not(.swiper-initialized) .qd-reviews-grid{grid-template-columns:1fr}
 .qd-heading-center{margin-bottom:32px}
 .qd-home-heading .btn{max-width:100%}.qd-booking-form{padding:24px 20px}
}
@media(prefers-reduced-motion:reduce){html:has(body.home){scroll-behavior:auto}}
