/* Course details and policy pages. Shared design remains in site.css. */
.detail-hero { background: radial-gradient(circle at 20% 20%,#fff,#f8f7f1 75%); overflow:hidden; }
.detail-hero-inner { display:grid; grid-template-columns: 58% 42%; align-items:center; gap:25px; min-height:500px; padding-block:55px; }
.detail-hero h1 { font:600 clamp(40px,4.4vw,65px)/1.16 var(--display-font,Georgia,serif); letter-spacing:-.035em; margin:16px 0 24px; overflow-wrap:anywhere; }
.detail-hero-lead { max-width:680px; font-size:18px; line-height:1.7; color:#4c5a53; }
.detail-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:28px; }
.detail-hero-art { display:grid; place-items:center; min-height:425px; background:linear-gradient(140deg,#175e4d,#073e33); border-radius:16px; padding:22px; }
.detail-arch { width:min(310px,88%); min-height:380px; border:7px solid #d1a961; border-radius:160px 160px 9px 9px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; padding:28px; }
.detail-arabic { font:64px Georgia,serif; color:#ebcc92; }
.detail-rule { width:50px; height:2px; background:#d6b476; margin:20px 0; }
.detail-arch strong { font:600 34px/1.25 var(--display-font,Georgia,serif); }
.detail-arch small { margin-top:20px; color:#d7e4dd; }
.detail-content { background:#fff; padding:75px 0 100px; }
.detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:60px; align-items:start; }
.detail-article { min-width:0; overflow-wrap:anywhere; }
.detail-article h2 { font:600 clamp(25px,2.7vw,37px)/1.27 var(--display-font,Georgia,serif); color:#123d33; margin:42px 0 18px; }
.detail-article h2:first-child { margin-top:0; }
.detail-article h3 { font-size:20px; margin:28px 0 13px; color:#164b3e; }
.detail-article p { font-size:16px; line-height:1.85; color:#4e5c55; margin:0 0 22px; }
.detail-article ul { padding:0; list-style:none; margin:0 0 27px; }
.detail-article li { position:relative; padding:0 0 11px 25px; line-height:1.7; color:#4e5c55; }
.detail-article li:before { content:'✓'; position:absolute; left:0; color:#c39a50; font-weight:700; }
.detail-article .course-inline-link { color:#0d4d3e; font-weight:700; text-decoration:underline; }
.detail-sidebar { position:sticky; top:110px; }
.detail-sidebar-card { background:#f8f7f1; border:1px solid #e7dfd0; border-radius:17px; padding:29px; }
.detail-sidebar-card h2 { font:600 29px/1.25 var(--display-font,Georgia,serif); margin:16px 0; }
.detail-sidebar-card p { color:#5a685f; line-height:1.7; font-size:14px; }
.detail-sidebar-card .button { display:flex; margin-top:25px; text-align:center; justify-content:center; }
.detail-side-link { display:block; margin-top:20px; color:#0c4c3d; text-align:center; font-size:14px; font-weight:700; }
@media(max-width:850px) { .detail-hero-inner { grid-template-columns:1fr; } .detail-hero-art { min-height:350px; } .detail-arch { min-height:320px; } .detail-layout { grid-template-columns:1fr; gap:35px; } .detail-sidebar { position:static; } }
@media(max-width:550px) { .detail-hero-inner { padding-block:45px; } .detail-hero h1 { font-size:clamp(35px,9vw,49px); } .detail-hero-lead { font-size:16px; } .detail-actions { flex-direction:column; } .detail-hero-art { min-height:300px; } .detail-arch { min-height:275px; } .detail-arabic { font-size:45px; } .detail-arch strong { font-size:27px; } .detail-content { padding-block:55px; } }


/* COURSE FAQ: consistent accessible accordion on every course page */
.course-faq-section { margin-top: 68px; padding-top: 44px; border-top: 1px solid #e8e2d7; }
.detail-article .course-faq-section h2 { margin: 12px 0 14px; font-size: clamp(29px, 3vw, 42px); }
.detail-article .course-faq-intro { color: #637069; font-size: 15px; margin-bottom: 26px; }
.course-faq-list { display: grid; gap: 13px; }
.course-faq-item { border: 1px solid #e4ddcf; background: #fbfaf7; border-radius: 14px; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.course-faq-item[open] { border-color: #d0b37c; background: #fff; box-shadow: 0 9px 24px rgba(11, 61, 47, .065); }
.course-faq-item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 22px 25px; color: #113f33; font-size: 16px; font-weight: 700; line-height: 1.45; cursor: pointer; }
.course-faq-item summary::-webkit-details-marker { display: none; }
.course-faq-item summary::after { content: '+'; flex: 0 0 28px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #f1e8d6; color: #a87e38; font-size: 21px; font-weight: 400; }
.course-faq-item[open] summary::after { content: '−'; background: #0e4b3d; color: #fff; }
.course-faq-item summary:focus-visible { outline: 3px solid #c9a465; outline-offset: -4px; }
.course-faq-answer { padding: 0 25px 23px; }
.detail-article .course-faq-answer p { font-size: 15px; line-height: 1.8; color: #4c5d54; margin: 0; }
@media (max-width: 600px) {
 .course-faq-section { margin-top: 48px; padding-top: 35px; }
 .course-faq-item summary { padding: 18px 16px; font-size: 15px; }
 .course-faq-answer { padding: 0 16px 19px; }
 .detail-article .course-faq-answer p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .course-faq-item { transition: none; } }
