/* Extend the About Us / How to Purchase design to the two service pages. */
:root { --bs-info-orange:#f58220; --bs-info-deep:#c95d0b; --bs-info-ink:#0d0d0d; }
body { background:#0d0d0d !important; color:#f5f5f5; font-family:Poppins,Arial,sans-serif; }

/* The existing hero photography and video remain, with the same dark fade. */
.training-hero, .licence-hero { min-height:390px !important; background-color:#171717 !important; isolation:isolate; }
.training-hero { align-items:flex-end !important; padding:120px max(22px, calc((100vw - 1120px)/2)) 45px !important; }
.training-hero::after, .licence-hero .licence-overlay {
    background:linear-gradient(90deg,rgba(8,8,8,.88),rgba(8,8,8,.42)),
               linear-gradient(0deg,#0d0d0d,transparent 67%) !important;
}
.training-hero .hero-content, .licence-hero .licence-hero-content { position:relative; z-index:2; max-width:1120px; }
.training-hero .hero-badge { padding:0; border:0; color:var(--bs-info-orange); font-size:12px; font-weight:700; letter-spacing:.18em; }
.training-hero h1, .licence-hero h1 { font-size:clamp(34px,8vw,68px) !important; line-height:1.08 !important; letter-spacing:-.025em; margin:9px 0 13px !important; color:#fff !important; }
.training-hero p, .licence-hero-content > p { max-width:600px; color:#ddd !important; font-size:clamp(14px,2.5vw,18px) !important; line-height:1.65 !important; }
.licence-hero { display:flex !important; align-items:flex-end !important; height:auto !important; padding:125px max(22px, calc((100vw - 1120px)/2)) 45px !important; }
.licence-hero > video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.licence-hero .licence-overlay { position:absolute; inset:0; z-index:1; }
.licence-hero .licence-hero-content { width:100%; padding:0 !important; margin:0 !important; text-align:left !important; }
.licence-hero .licence-rating { margin-top:18px; color:#d0d0d0; }
.licence-hero .stars { color:var(--bs-info-orange); }

/* Raised charcoal panels and orange section markers. */
.training-options, .assessment-section, .licence-info-section, .ptcfor-section, .ptcfor-new-section { background:#0d0d0d !important; color:#f5f5f5 !important; }
.training-options { padding:45px 22px 0 !important; }
.training-options .section-header, .licence-info-header { max-width:1100px; margin:0 auto 26px !important; text-align:left !important; }
.training-options .section-header > span, .licence-info-label, .ptcfor-label, .ptcfor-new-left > span {
    color:var(--bs-info-orange) !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase;
}
.training-options .section-header h2, .booking-header h2, .licence-info-header h2, .ptcfor-intro h2, .ptcfor-new-left h2 {
    border-left:4px solid var(--bs-info-orange); padding-left:14px;
    color:#fff !important; font-size:clamp(25px,5vw,34px) !important; line-height:1.2 !important;
    letter-spacing:normal !important; white-space:normal !important;
}
.training-options .section-header h2,
.ptcfor-intro h2 { border-left:0 !important; padding-left:0 !important; }
.training-options .section-header > span { display:block; padding-left:14px; }
.training-options .section-header p, .booking-header p, .licence-info-header p, .ptcfor-intro p, .ptcfor-new-left > p { color:#d4d4d4 !important; line-height:1.75 !important; font-size:14px !important; }
.training-card, .booking-container, .placement-card, .required-documents, .licence-application, .ptcfor-documents, .ptcfor-new-card {
    border:1px solid #55504a !important; border-radius:9px !important;
    background:linear-gradient(145deg,#34312e,#20201f 62%,#141515) !important;
    box-shadow:inset 0 1px rgba(255,255,255,.16),0 9px 20px rgba(0,0,0,.5) !important;
    color:#f5f5f5 !important;
}
.training-card { overflow:hidden; }
.training-card-content p, .training-card li, .placement-card p,
.required-documents li, .licence-application p, .ptcfor-documents p, .ptcfor-new-card p { color:#ccc !important; line-height:1.7 !important; }
.training-card-content h3, .placement-card h3, .required-documents h3, .licence-application h3,
.ptcfor-documents h3, .ptcfor-document-item h4, .ptcfor-new-card h3, .ptcfor-new-item h4 { color:#fff !important; }
.training-card:hover { border-color:#a86837 !important; }
.assessment-section { padding:35px 22px 75px !important; }
.booking-container { overflow:hidden; }
.booking-header, .progress-wrapper { border-bottom:1px solid rgba(255,255,255,.13) !important; }
.booking-header h2 { margin:0 0 12px !important; }
.step-title h3 { color:#fff; }
.step-title p, .step-label { color:#aaa !important; }
.assessment-form input:not([type="radio"]), .assessment-form select, .assessment-form textarea {
    background:#242424 !important; border:1px solid #615a52 !important; border-radius:5px !important;
    color:#fff !important; -webkit-text-fill-color:#fff;
}
.assessment-form input:focus, .assessment-form select:focus, .assessment-form textarea:focus { border-color:var(--bs-info-orange) !important; }
.radio-option label { background:#242424 !important; border:1px solid #615a52 !important; border-radius:6px; color:#eee !important; }
.radio-option input:checked + label { border-color:var(--bs-info-orange) !important; background:rgba(245,130,32,.13) !important; color:#ffad67 !important; }
.step-number { background:#2a2928 !important; border-color:#5a5148 !important; color:#fff !important; }
.step-indicator.active .step-number, .step-indicator.completed .step-number { background:#b85c14 !important; border-color:var(--bs-info-orange) !important; }
.placement-card.basic { border-left:4px solid #777 !important; }
.placement-card.advanced { border-left:4px solid var(--bs-info-orange) !important; }

.licence-info-section { padding:65px 22px 70px !important; }
.licence-info-header { margin-bottom:26px !important; }
.licence-info-grid, .ptcfor-container { max-width:1100px; margin:0 auto; gap:13px !important; }
.required-documents, .licence-application, .ptcfor-documents { padding:24px !important; }
.required-documents li::marker { color:var(--bs-info-orange); }
.licence-application-image img { border-radius:6px; }
.ptcfor-section { padding:55px 22px 78px !important; }
.ptcfor-intro { padding:8px 12px 12px 0; }
.ptcfor-document-item { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.ptcfor-document-item:last-child { border-bottom:0; }
.ptcfor-new-section { padding:65px 22px !important; }
.ptcfor-new-item { padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.11); }
.ptcfor-new-item:last-child { border-bottom:0; }

/* Actions mirror the two info pages: orange primary, dark outlined secondary. */
.training-hero .hero-btn, .licence-hero .licence-btn {
    display:inline-flex; align-items:center; justify-content:center; border:1px solid #e98738 !important;
    border-radius:6px !important; padding:13px 22px !important; min-height:48px;
    background:linear-gradient(145deg,#ea7920,#aa4d0c) !important; color:#fff !important;
    box-shadow:inset 0 1px rgba(255,230,200,.35),0 8px 20px rgba(0,0,0,.48) !important;
    font:700 14px/1.25 Poppins,Arial,sans-serif !important; text-decoration:none !important;
}
.training-hero .hero-btn { font-size:17px !important; }
.licence-download-btn, .ptcfor-download-btn, .ptcfor-new-buttons a,
.assessment-form .btn-next, .assessment-form .btn-submit {
    border:1px solid var(--bs-info-deep) !important; border-radius:6px !important;
    background:linear-gradient(145deg,#40342c,#1d1c1b) !important; color:#ffad67 !important;
    box-shadow:inset 0 1px rgba(255,255,255,.17),0 8px 20px rgba(0,0,0,.45) !important;
    text-decoration:none !important;
}
.training-hero .hero-btn:hover, .licence-hero .licence-btn:hover,
.licence-download-btn:hover, .ptcfor-download-btn:hover,
.assessment-form .btn-next:hover, .assessment-form .btn-submit:hover { transform:translateY(-2px); }
.assessment-form .btn-prev { border:1px solid #55504a !important; border-radius:6px; background:#292827 !important; color:#fff; }

@media(max-width:768px) {
    .training-hero, .licence-hero { min-height:360px !important; padding:115px 22px 42px !important; }
    .training-options { padding:38px 20px 0 !important; }
    .assessment-section, .licence-info-section, .ptcfor-section { padding-left:18px !important; padding-right:18px !important; }
    .licence-info-grid, .ptcfor-container { grid-template-columns:minmax(0,1fr) !important; }
    .booking-header, .progress-wrapper, .assessment-form { padding:24px 18px !important; }
    .required-documents, .licence-application, .ptcfor-documents { padding:20px !important; }
    .ptcfor-intro { padding:0 2px 10px; }
}
