/* /descriptions/<dates_URL> — ByDescription.php, the course-description
   detail page reached from every "Description" button on the /category/,
   /courses/ and filter-page qualification cards. Self-contained design
   tokens matching the rest of the site's "fresh palette" (see Category.css/
   Courses.css for the same tokens under their own page-scoped names). No
   AJAX on this page at all — everything is rendered server-side in one
   request; the only client-side JS is the "Return to previous page"
   button, which is cosmetic (browser history), not a security boundary. */
:root{
    --descriptions-navy: #0B1F3A;
    --descriptions-navy-2: #14315C;
    --descriptions-navy-3: #1E4079;
    --descriptions-coral: #D6363C;
    --descriptions-coral-dark: #C22A30;
    --descriptions-amber: #FFB020;
    --descriptions-teal: #0B7A6D;
    --descriptions-bg: #F5F7FB;
    --descriptions-ink: #1A2333;
    --descriptions-muted: #5B6478;
    --descriptions-border: #E3E7F0;
    --descriptions-heading-font: 'Zilla Slab', Georgia, serif;
    --descriptions-body-font: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.descriptions-main{background:var(--descriptions-bg);font-family:var(--descriptions-body-font);color:var(--descriptions-ink);}

/* Breadcrumb */
.descriptions-crumb{background:#fff;border-bottom:1px solid var(--descriptions-border);padding:12px 20px;}
.descriptions-crumb-wrap{max-width:920px;margin:0 auto;display:flex;align-items:center;gap:8px;font-size:0.85rem;color:var(--descriptions-muted);flex-wrap:wrap;}
.descriptions-crumb-wrap a{color:var(--descriptions-navy-3);text-decoration:none;}
.descriptions-crumb-wrap a:hover{text-decoration:underline;}

/* Hero */
.descriptions-hero{background:linear-gradient(100deg, var(--descriptions-navy) 0%, var(--descriptions-navy-2) 55%, var(--descriptions-navy-3) 100%);color:#fff;padding:44px 20px;text-align:center;}
.descriptions-hero-eyebrow{display:inline-block;font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--descriptions-amber);margin-bottom:10px;}
.descriptions-hero h1{font-family:var(--descriptions-heading-font);font-size:clamp(1.6rem, 4vw, 2.3rem);font-weight:700;margin:0 0 8px;}
.descriptions-hero-meta{color:#D7DEEC;font-size:0.92rem;}

/* Layout */
.descriptions-wrap{max-width:920px;margin:0 auto;padding:32px 20px 64px;display:flex;flex-direction:column;gap:20px;}

/* Q&A cards */
.descriptions-section{background:#fff;border:1px solid var(--descriptions-border);border-radius:14px;overflow:hidden;}
.descriptions-section-head{background:var(--descriptions-navy);color:#fff;padding:16px 22px;}
.descriptions-section-head h2{font-family:var(--descriptions-heading-font);font-size:1.08rem;font-weight:700;margin:0;line-height:1.4;}
.descriptions-section-body{padding:20px 22px;font-size:0.95rem;line-height:1.65;color:var(--descriptions-ink);}
.descriptions-section-body p{margin:0 0 12px;}
.descriptions-section-body p:last-child{margin-bottom:0;}
.descriptions-section-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--descriptions-muted);margin:0 0 6px;}

/* Accreditation status card */
.descriptions-accred-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;}
.descriptions-accred-note{color:var(--descriptions-muted);font-size:0.88rem;margin:0;flex:1;min-width:220px;}
.descriptions-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:0.85rem;padding:10px 18px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background-color 0.2s ease, transform 0.2s ease;border:none;cursor:pointer;}
.descriptions-btn-primary{background:var(--descriptions-navy);color:#fff;}
.descriptions-btn-primary:hover{background:var(--descriptions-navy-3);}
.descriptions-btn-amber{background:var(--descriptions-amber);color:var(--descriptions-navy);}
.descriptions-btn-amber:hover{filter:brightness(0.95);}
.descriptions-btn-outline{background:var(--descriptions-bg);color:var(--descriptions-navy-3);border:1px solid var(--descriptions-border);}
.descriptions-btn-outline:hover{background:#EDF0F8;}

/* Pricing / dates card */
.descriptions-price-card{background:linear-gradient(100deg, var(--descriptions-navy) 0%, var(--descriptions-navy-2) 100%);color:#fff;border-radius:14px;padding:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;}
.descriptions-price-text{font-size:0.95rem;color:#D7DEEC;max-width:480px;line-height:1.6;}
.descriptions-price-value{color:#fff;font-weight:700;}
.descriptions-price-cta{display:inline-flex;align-items:center;gap:8px;background:var(--descriptions-coral);color:#fff;font-weight:700;font-size:0.9rem;padding:12px 22px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background-color 0.2s ease, transform 0.2s ease;}
.descriptions-price-cta:hover{background:var(--descriptions-coral-dark);transform:translateY(-1px);}

/* Not-found state */
.descriptions-empty-page{background:#fff;border:1px solid var(--descriptions-border);border-radius:14px;padding:36px;text-align:center;color:var(--descriptions-muted);max-width:640px;margin:36px auto;}
.descriptions-empty-page h1{font-family:var(--descriptions-heading-font);color:var(--descriptions-navy);font-size:1.5rem;margin:0 0 10px;}
.descriptions-empty-page a{color:var(--descriptions-navy-3);font-weight:700;}

/* Return-to-previous-page + sticky "See Dates" quick action */
.descriptions-back-row{text-align:right;}
.descriptions-sticky-cta{position:fixed;bottom:24px;right:20px;z-index:20;}
.descriptions-sticky-cta a{display:flex;align-items:center;gap:8px;background:var(--descriptions-coral);color:#fff;font-weight:700;font-size:0.85rem;padding:14px 18px;border-radius:999px;text-decoration:none;box-shadow:0 8px 20px rgba(11,31,58,0.25);transition:background-color 0.2s ease, transform 0.2s ease;}
.descriptions-sticky-cta a:hover{background:var(--descriptions-coral-dark);transform:translateY(-1px);}

@media (max-width: 560px){
    .descriptions-accred-row{flex-direction:column;align-items:flex-start;}
    .descriptions-price-card{flex-direction:column;align-items:flex-start;text-align:left;}
    .descriptions-sticky-cta{right:12px;bottom:12px;}
    .descriptions-sticky-cta a span{display:none;}
}
