
.dcci-cpd-app {
      box-sizing: border-box;
      font-family: 'Montserrat', sans-serif;
    }
    
    
.dcci-cpd-app {
      font-family: 'Montserrat', sans-serif;
    }

    
.dcci-cpd-app .gradient-btn {
      background: linear-gradient(135deg, #4c1d95 0%, #5b21b6 50%, #6d28d9 100%);
    }
    
    
.dcci-cpd-app .gradient-btn:hover {
      background: linear-gradient(135deg, #5b21b6 0%, #6d28d9 50%, #7c3aed 100%);
    }
    
    
.dcci-cpd-app .gradient-card {
      background: linear-gradient(135deg, #312e81 0%, #3730a3 100%);
      transition: all 0.3s ease;
    }
    
    
.dcci-cpd-app .gradient-card:hover {
      transform: scale(1.05);
      box-shadow: 0 20px 40px rgba(76, 29, 149, 0.3);
    }
	
.dcci-cpd-app .page-bg {
  	background-image: url('assets/images/Picture1.png');
 	background-size: cover;
   	background-position: center;
 	background-attachment: fixed;
}

    /* Carousel Styles */
    
.dcci-cpd-app .carousel-container {
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, #2a2a4a 0%, #4a3a6a 25%, #6a4a8a 50%, #5a4a7a 75%, #3a3a5a 100%);
      border-radius: 1.5rem;
      box-shadow: 0 0 60px rgba(124, 58, 237, 0.4), 0 20px 40px rgba(79, 70, 229, 0.3), inset 0 1px 20px rgba(255, 255, 255, 0.1);
      min-height: 280px;
      display: flex;
      align-items: center;
      border: 4px solid #4c1d95;
    }

    
.dcci-cpd-app .carousel-wrapper {
      position: relative;
      width: 100%;
      height: 100%;
    }

    
.dcci-cpd-app .carousel-slide {
      position: absolute;
      width: 100%;
      height: 100%;
      display: flex;
      opacity: 0;
      transition: opacity 0.6s ease-in-out;
    }

    
.dcci-cpd-app .carousel-slide.active {
      opacity: 1;
      position: relative;
    }

    
.dcci-cpd-app .carousel-content {
      flex: 1;
      padding: 3rem 2rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: linear-gradient(135deg, #312e81 0%, #4f46e5 50%, #7c3aed 100%);
    }

    
.dcci-cpd-app .carousel-image-container {
      flex: 1;
      overflow: hidden;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      background-color: rgba(0, 0, 0, 0.1);
      margin: 1.5rem;
      border-radius: 1rem;
      border: 3px solid rgba(255, 255, 255, 0.2);
    }

    
.dcci-cpd-app #hero-category-image {
      position: relative;
      z-index: 40;
      max-height: 100%;
      max-width: 100%;
      object-fit: contain;
    }

    
.dcci-cpd-app .carousel-badge {
      display: inline-block;
      background: rgba(255, 255, 255, 0.2);
      color: #e9d5ff;
      padding: 0.5rem 1rem;
      border-radius: 9999px;
      font-size: 0.875rem;
      font-weight: 600;
      margin-bottom: 1rem;
      backdrop-filter: blur(10px);
    }

    
.dcci-cpd-app .carousel-title {
      font-size: 1.875rem;
      font-weight: 700;
      color: white;
      margin-bottom: 0.75rem;
      line-height: 1.3;
    }

    
.dcci-cpd-app .carousel-description {
      color: #e9d5ff;
      font-size: 1rem;
      margin-bottom: 1.5rem;
      line-height: 1.6;
    }

    
.dcci-cpd-app .carousel-nav {
      display: flex;
      gap: 0.75rem;
      margin-top: 2rem;
      align-items: center;
    }

    
.dcci-cpd-app .carousel-btn {
      background: rgba(255, 255, 255, 0.2);
      border: 2px solid rgba(255, 255, 255, 0.3);
      color: white;
      padding: 0.625rem 1.25rem;
      border-radius: 9999px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.3s ease;
      backdrop-filter: blur(10px);
    }

    
.dcci-cpd-app .carousel-btn:hover {
      background: rgba(255, 255, 255, 0.3);
      border-color: rgba(255, 255, 255, 0.5);
      transform: translateX(2px);
    }

    
.dcci-cpd-app .carousel-dots {
      display: flex;
      gap: 0.5rem;
      margin-top: 1.5rem;
    }

    
.dcci-cpd-app .dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.3);
      cursor: pointer;
      transition: all 0.3s ease;
      border: 2px solid transparent;
    }

    
.dcci-cpd-app .dot.active {
      background: white;
      width: 28px;
      border-radius: 5px;
    }

    
.dcci-cpd-app .dot:hover {
      background: rgba(255, 255, 255, 0.6);
    }

    /* Category-specific colors */
    
.dcci-cpd-app .category-asye { background: linear-gradient(135deg, #4c1d95 0%, #6d28d9 100%); }
    
.dcci-cpd-app .category-asye:hover { box-shadow: 0 20px 40px rgba(109, 40, 217, 0.3); }

    
.dcci-cpd-app .category-amhp { background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%); }
    
.dcci-cpd-app .category-amhp:hover { box-shadow: 0 20px 40px rgba(30, 64, 175, 0.3); }

    
.dcci-cpd-app .category-bia { background: linear-gradient(135deg, #1e3a20 0%, #2d5a3d 100%); }
    
.dcci-cpd-app .category-bia:hover { box-shadow: 0 20px 40px rgba(45, 90, 61, 0.3); }

    
.dcci-cpd-app .category-practice { background: linear-gradient(135deg, #164e63 0%, #155e75 100%); }
    
.dcci-cpd-app .category-practice:hover { box-shadow: 0 20px 40px rgba(21, 94, 117, 0.3); }

    
.dcci-cpd-app .category-legal { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); }
    
.dcci-cpd-app .category-legal:hover { box-shadow: 0 20px 40px rgba(30, 41, 59, 0.3); }

    
.dcci-cpd-app .category-skills { background: linear-gradient(135deg, #6b1b47 0%, #c2185b 100%); }
    
.dcci-cpd-app .category-skills:hover { box-shadow: 0 20px 40px rgba(194, 24, 91, 0.3); }

    
.dcci-cpd-app .category-diversity { background: linear-gradient(135deg, #c55a11 0%, #ea580c 100%); }
    
.dcci-cpd-app .category-diversity:hover { box-shadow: 0 20px 40px rgba(234, 88, 12, 0.3); }

    
.dcci-cpd-app .category-leadership { background: linear-gradient(135deg, #172554 0%, #1e3a8a 100%); }
    
.dcci-cpd-app .category-leadership:hover { box-shadow: 0 20px 40px rgba(30, 58, 138, 0.3); }

    
.dcci-cpd-app .category-safeguarding { background: linear-gradient(135deg, #7c2d12 0%, #9a3412 100%); }
    
.dcci-cpd-app .category-safeguarding:hover { box-shadow: 0 20px 40px rgba(154, 52, 18, 0.3); }

    
.dcci-cpd-app .category-mental-health, .dcci-cpd-app .category-children, .dcci-cpd-app .category-mentalcapacity, .dcci-cpd-app .category-mental-capacity { background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%); }
    
.dcci-cpd-app .category-mental-health:hover, .dcci-cpd-app .category-children:hover, .dcci-cpd-app .category-mentalcapacity:hover, .dcci-cpd-app .category-mental-capacity:hover { box-shadow: 0 20px 40px rgba(168, 85, 247, 0.3); }

    
.dcci-cpd-app .category-mental-capacity, .dcci-cpd-app .category-mentalcapacity { background: linear-gradient(135deg, #6d0c55 0%, #3d072d 100%) !important;
      border-color: #a01f79 !important; }

    
.dcci-cpd-app .category-mental-capacity:hover, .dcci-cpd-app .category-mentalcapacity:hover { box-shadow: 0 20px 40px rgba(168, 85, 247, 0.3); }

    
.dcci-cpd-app .category-astop { background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); }
    
.dcci-cpd-app .category-astop:hover { box-shadow: 0 20px 40px rgba(2, 132, 199, 0.3); }

    
.dcci-cpd-app .category-childrenfamilies { background: linear-gradient(135deg, #be123c 0%, #dc2626 100%); }
    
.dcci-cpd-app .category-childrenfamilies:hover { box-shadow: 0 20px 40px rgba(220, 38, 38, 0.3); }

    
.dcci-cpd-app .category-open { background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%); }
    
.dcci-cpd-app .category-open:hover { box-shadow: 0 20px 40px rgba(6, 182, 212, 0.3); }

    
.dcci-cpd-app .category-neurodiversity { background: linear-gradient(135deg, #7c3aed 0%, #d946ef 100%); }
    
.dcci-cpd-app .category-neurodiversity:hover { box-shadow: 0 20px 40px rgba(217, 70, 239, 0.3); }

    
.dcci-cpd-app .hero-asye { background: linear-gradient(180deg, #2d1b4e 0%, #4c1d95 50%, #6d28d9 100%); }
    
.dcci-cpd-app .hero-amhp { background: linear-gradient(180deg, #0f1b3a 0%, #1e3a8a 50%, #1e40af 100%); }
    
.dcci-cpd-app .hero-bia { background: linear-gradient(180deg, #0f251a 0%, #1e3a20 50%, #2d5a3d 100%); }
    
.dcci-cpd-app .hero-practice { background: linear-gradient(180deg, #0a2e36 0%, #164e63 50%, #155e75 100%); }
    
.dcci-cpd-app .hero-legal { background: linear-gradient(180deg, #050613 0%, #0f172a 50%, #1e293b 100%); }
    
.dcci-cpd-app .hero-skills { background: linear-gradient(180deg, #252525 0%, #3f3f46 50%, #52525b 100%); }
    
.dcci-cpd-app .hero-diversity { background: linear-gradient(180deg, #5d3a1f 0%, #c55a11 50%, #ea580c 100%); }
    
.dcci-cpd-app .hero-leadership { background: linear-gradient(180deg, #0a1428 0%, #172554 50%, #1e3a8a 100%); }
    
.dcci-cpd-app .hero-safeguarding { background: linear-gradient(180deg, #3e1f0f 0%, #7c2d12 50%, #9a3412 100%); }
    
.dcci-cpd-app .hero-children { background: linear-gradient(180deg, #4c1d95 0%, #7c3aed 50%, #a855f7 100%); }
    
.dcci-cpd-app .hero-astop { background: linear-gradient(180deg, #003d5b 0%, #0369a1 50%, #0284c7 100%); }
    
.dcci-cpd-app .hero-childrenfamilies { background: linear-gradient(180deg, #5f1212 0%, #be123c 50%, #dc2626 100%); }
    
.dcci-cpd-app .hero-neurodiversity { background: linear-gradient(180deg, #4c1d95 0%, #7c3aed 50%, #d946ef 100%); }

    
.dcci-cpd-app .accent-asye { color: #6d28d9; }
    
.dcci-cpd-app .accent-amhp { color: #1e40af; }
    
.dcci-cpd-app .accent-bia { color: #2d5a3d; }
    
.dcci-cpd-app .accent-practice { color: #155e75; }
    
.dcci-cpd-app .accent-legal { color: #1e293b; }
    
.dcci-cpd-app .accent-skills { color: #c2185b; }
    
.dcci-cpd-app .accent-diversity { color: #ea580c; }
    
.dcci-cpd-app .accent-leadership { color: #2563eb; }
    
.dcci-cpd-app .accent-safeguarding { color: #9a3412; }
    
.dcci-cpd-app .accent-children { color: #a855f7; }
    
.dcci-cpd-app .accent-astop { color: #0284c7; }
    
.dcci-cpd-app .accent-childrenfamilies { color: #dc2626; }
    
.dcci-cpd-app .accent-open { color: #06b6d4; }
    
.dcci-cpd-app .accent-neurodiversity { color: #d946ef; }
    
    
.dcci-cpd-app .hero-gradient {
      background: linear-gradient(135deg, #2d1b4e 0%, #4c1d95 50%, #6d28d9 100%);
    }

    /* Category-specific border colors for category pages */
    
.dcci-cpd-app .category-page-asye .border-category { border-color: #6d28d9; }
    
.dcci-cpd-app .category-page-amhp .border-category { border-color: #1e40af; }
    
.dcci-cpd-app .category-page-bia .border-category { border-color: #2d5a3d; }
    
.dcci-cpd-app .category-page-practice .border-category { border-color: #155e75; }
    
.dcci-cpd-app .category-page-legal .border-category { border-color: #1e293b; }
    
.dcci-cpd-app .category-page-skills .border-category { border-color: #c2185b; }
    
.dcci-cpd-app .category-page-diversity .border-category { border-color: #ea580c; }
    
.dcci-cpd-app .category-page-leadership .border-category { border-color: #2563eb; }
    
.dcci-cpd-app .category-page-safeguarding .border-category { border-color: #9a3412; }
    
.dcci-cpd-app .category-page-children .border-category { border-color: #a855f7; }
    
.dcci-cpd-app .category-page-astop .border-category { border-color: #0284c7; }
    
.dcci-cpd-app .category-page-childrenfamilies .border-category { border-color: #dc2626; }
    
.dcci-cpd-app .category-page-open .border-category { border-color: #06b6d4; }
    
.dcci-cpd-app .category-page-neurodiversity .border-category { border-color: #d946ef; }

    /* Category-specific hero backgrounds for category pages */
    
.dcci-cpd-app .category-page-asye #hero-image-container { background: linear-gradient(135deg, #4c1d95 0%, #6d28d9 50%, #a855f7 100%) !important; }
    
.dcci-cpd-app .category-page-amhp #hero-image-container { background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 50%, #2563eb 100%) !important; }
    
.dcci-cpd-app .category-page-bia #hero-image-container { background: linear-gradient(135deg, #1e3a20 0%, #2d5a3d 50%, #34d399 100%) !important; }
    
.dcci-cpd-app .category-page-practice #hero-image-container { background: linear-gradient(135deg, #164e63 0%, #155e75 50%, #06b6d4 100%) !important; }
    
.dcci-cpd-app .category-page-legal #hero-image-container { background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #475569 100%) !important; }
    
.dcci-cpd-app .category-page-skills #hero-image-container { background: linear-gradient(135deg, #6b1b47 0%, #c2185b 50%, #e91e63 100%) !important; }
    
.dcci-cpd-app .category-page-diversity #hero-image-container { background: linear-gradient(135deg, #7c2d12 0%, #ea580c 50%, #fb923c 100%) !important; }
    
.dcci-cpd-app .category-page-leadership #hero-image-container { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #60a5fa 100%) !important; }
    
.dcci-cpd-app .category-page-safeguarding #hero-image-container { background: linear-gradient(135deg, #7c2d12 0%, #9a3412 50%, #f97316 100%) !important; }
    
.dcci-cpd-app .category-page-children #hero-image-container { background: linear-gradient(135deg, #6d28d9 0%, #a855f7 50%, #d8b4fe 100%) !important; }
    
.dcci-cpd-app .category-page-astop #hero-image-container { background: linear-gradient(135deg, #0369a1 0%, #0284c7 50%, #0ea5e9 100%) !important; }
    
.dcci-cpd-app .category-page-childrenfamilies #hero-image-container { background: linear-gradient(135deg, #be123c 0%, #dc2626 50%, #f87171 100%) !important; }
    
.dcci-cpd-app .category-page-open #hero-image-container { background: linear-gradient(135deg, #0891b2 0%, #06b6d4 50%, #22d3ee 100%) !important; }
    
.dcci-cpd-app .category-page-neurodiversity #hero-image-container { background: linear-gradient(135deg, #7c3aed 0%, #d946ef 50%, #f0abfc 100%) !important; }

    /* Category-specific title box styling */
    
.dcci-cpd-app .category-page-asye #category-info-box .bg-white { border-color: #6d28d9; }
    
.dcci-cpd-app .category-page-asye #category-title-top { color: #6d28d9; }
    
.dcci-cpd-app .category-page-amhp #category-info-box .bg-white { border-color: #1e40af; }
    
.dcci-cpd-app .category-page-amhp #category-title-top { color: #1e40af; }
    
.dcci-cpd-app .category-page-bia #category-info-box .bg-white { border-color: #2d5a3d; }
    
.dcci-cpd-app .category-page-bia #category-title-top { color: #2d5a3d; }
    
.dcci-cpd-app .category-page-practice #category-info-box .bg-white { border-color: #155e75; }
    
.dcci-cpd-app .category-page-practice #category-title-top { color: #155e75; }
    
.dcci-cpd-app .category-page-legal #category-info-box .bg-white { border-color: #1e293b; }
    
.dcci-cpd-app .category-page-legal #category-title-top { color: #1e293b; }
    
.dcci-cpd-app .category-page-skills #category-info-box .bg-white { border-color: #c2185b; }
    
.dcci-cpd-app .category-page-skills #category-title-top { color: #c2185b; }
    
.dcci-cpd-app .category-page-diversity #category-info-box .bg-white { border-color: #ea580c; }
    
.dcci-cpd-app .category-page-diversity #category-title-top { color: #ea580c; }
    
.dcci-cpd-app .category-page-leadership #category-info-box .bg-white { border-color: #2563eb; }
    
.dcci-cpd-app .category-page-leadership #category-title-top { color: #2563eb; }
    
.dcci-cpd-app .category-page-safeguarding #category-info-box .bg-white { border-color: #9a3412; }
    
.dcci-cpd-app .category-page-safeguarding #category-title-top { color: #9a3412; }
    
.dcci-cpd-app .category-page-children #category-info-box .bg-white { border-color: #a855f7; }
    
.dcci-cpd-app .category-page-children #category-title-top { color: #a855f7; }
    
.dcci-cpd-app .category-page-astop #category-info-box .bg-white { border-color: #0284c7; }
    
.dcci-cpd-app .category-page-astop #category-title-top { color: #0284c7; }
    
.dcci-cpd-app .category-page-childrenfamilies #category-info-box .bg-white { border-color: #dc2626; }
    
.dcci-cpd-app .category-page-childrenfamilies #category-title-top { color: #dc2626; }
    
.dcci-cpd-app .category-page-open #category-info-box .bg-white { border-color: #06b6d4; }
    
.dcci-cpd-app .category-page-open #category-title-top { color: #06b6d4; }
    
.dcci-cpd-app .category-page-neurodiversity #category-info-box .bg-white { border-color: #d946ef; }
    
.dcci-cpd-app .category-page-neurodiversity #category-title-top { color: #d946ef; }
    
    
.dcci-cpd-app .section-icon {
      width: 60px;
      height: 60px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
      margin-bottom: 16px;
    }
    
    
.dcci-cpd-app .gradient-container {
      background: linear-gradient(145deg, #1e1b4b 0%, #312e81 50%, #3730a3 100%);
    }
    
    
.dcci-cpd-app .gradient-cta {
      background: linear-gradient(135deg, #4c1d95 0%, #5b21b6 100%);
    }
    
    
.dcci-cpd-app .course-card {
      background: white;
      transition: all 0.3s ease;
      pointer-events: auto;
    }
    
    
.dcci-cpd-app .course-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 24px rgba(76, 29, 149, 0.15);
    }

    
.dcci-cpd-app .category-btn {
      pointer-events: auto !important;
    }
    
    
.dcci-cpd-app .hidden-section {
      display: none;
    }
    
    
.dcci-cpd-app .visible-section {
      display: block;
    }

    
.dcci-cpd-app .breadcrumb-link {
      cursor: pointer;
      color: #5b21b6;
      text-decoration: underline;
    }

    
.dcci-cpd-app .breadcrumb-link:hover {
      color: #6d28d9;
    }

    /* Modal Styles */
    
.dcci-cpd-app .modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.5);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 50;
      pointer-events: none;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    
.dcci-cpd-app .modal-overlay.active {
      display: flex;
      pointer-events: auto;
      opacity: 1;
      visibility: visible;
      z-index: 50;
    }

    
.dcci-cpd-app .modal-content {
      background: white;
      border-radius: 1.5rem;
      padding: 2rem;
      max-width: 600px;
      width: 90%;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
      max-height: 85vh;
      overflow-y: auto;
    }

    
.dcci-cpd-app .modal-header {
      font-size: 1.5rem;
      font-weight: 700;
      margin-bottom: 1rem;
      color: #1e293b;
    }

    
.dcci-cpd-app .modal-close {
      float: right;
      font-size: 1.5rem;
      cursor: pointer;
      color: #64748b;
      background: none;
      border: none;
      padding: 0;
      width: 2rem;
      height: 2rem;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    
.dcci-cpd-app .modal-close:hover {
      color: #1e293b;
    }

    
.dcci-cpd-app .form-group {
      margin-bottom: 1.5rem;
    }

    
.dcci-cpd-app .form-label {
      display: block;
      font-weight: 600;
      margin-bottom: 0.5rem;
      color: #1e293b;
      font-size: 0.875rem;
    }

    
.dcci-cpd-app .form-input, .dcci-cpd-app .form-textarea {
      width: 100%;
      padding: 0.75rem;
      border: 2px solid #e2e8f0;
      border-radius: 0.5rem;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.875rem;
    }

    
.dcci-cpd-app .form-input:focus, .dcci-cpd-app .form-textarea:focus {
      outline: none;
      border-color: #6d28d9;
      box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.1);
    }

    
.dcci-cpd-app .form-textarea {
      resize: vertical;
      min-height: 80px;
    }

    
.dcci-cpd-app .admin-btn {
      background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%);
      color: white;
      padding: 0.75rem 1.5rem;
      border: none;
      border-radius: 0.5rem;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    
.dcci-cpd-app .admin-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 16px rgba(109, 40, 217, 0.3);
    }

    
.dcci-cpd-app .admin-btn:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    
.dcci-cpd-app .error-message {
      background: #fee2e2;
      color: #991b1b;
      padding: 0.75rem 1rem;
      border-radius: 0.5rem;
      margin-bottom: 1rem;
      font-size: 0.875rem;
    }

    
.dcci-cpd-app .success-message {
      background: #dcfce7;
      color: #166534;
      padding: 0.75rem 1rem;
      border-radius: 0.5rem;
      margin-bottom: 1rem;
      font-size: 0.875rem;
    }

    
.dcci-cpd-app .admin-toggle-btn {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background: white;
      color: #6d28d9;
      border: 2px solid #6d28d9;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
      transition: all 0.3s ease;
    }

    
.dcci-cpd-app .admin-toggle-btn:hover {
      transform: scale(1.1);
      box-shadow: 0 6px 16px rgba(109, 40, 217, 0.2);
    }

    
.dcci-cpd-app .admin-toggle-btn svg {
      width: 24px;
      height: 24px;
    }

    
.dcci-cpd-app #accessibility-dropdown {
      pointer-events: none;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.2s ease, visibility 0.2s ease;
      display: none;
    }

    
.dcci-cpd-app #accessibility-dropdown:not(.hidden) {
      pointer-events: auto;
      opacity: 1;
      visibility: visible;
      display: block;
    }

    
.dcci-cpd-app .featured-list {
      max-height: 300px;
      overflow-y: auto;
      margin-top: 1rem;
      padding: 1rem;
      background: #f8fafc;
      border-radius: 0.5rem;
    }

    
.dcci-cpd-app .featured-item {
      background: white;
      padding: 1rem;
      border-radius: 0.5rem;
      margin-bottom: 0.75rem;
      border: 1px solid #e2e8f0;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.875rem;
    }

    
.dcci-cpd-app .featured-item-title {
      font-weight: 600;
      color: #1e293b;
    }

    
.dcci-cpd-app .featured-item-remove {
      background: #fee2e2;
      color: #991b1b;
      border: none;
      padding: 0.25rem 0.75rem;
      border-radius: 0.25rem;
      cursor: pointer;
      font-weight: 600;
      font-size: 0.75rem;
    }

    
.dcci-cpd-app .featured-item-remove:hover {
      background: #fecaca;
    }

    /* Accessibility Modes */
    
.dcci-cpd-app body.high-contrast-mode {
      background-color: #000000 !important;
      color: #ffffff !important;
    }

    
.dcci-cpd-app body.high-contrast-mode * {
      background-color: inherit;
      color: inherit;
      border-color: #ffffff !important;
    }

    
.dcci-cpd-app body.high-contrast-mode .gradient-btn, .dcci-cpd-app body.high-contrast-mode .gradient-card, .dcci-cpd-app body.high-contrast-mode .gradient-cta, .dcci-cpd-app body.high-contrast-mode .hero-gradient, .dcci-cpd-app body.high-contrast-mode [style*="background: linear-gradient"] {
      background: #000000 !important;
      color: #ffffff !important;
      border: 2px solid #ffffff !important;
    }

    
.dcci-cpd-app body.high-contrast-mode .modal-content {
      background-color: #000000 !important;
      color: #ffffff !important;
      border: 3px solid #ffffff !important;
    }

    
.dcci-cpd-app body.high-contrast-mode input, .dcci-cpd-app body.high-contrast-mode textarea, .dcci-cpd-app body.high-contrast-mode select {
      background-color: #1a1a1a !important;
      color: #ffffff !important;
      border: 2px solid #ffffff !important;
    }

    
.dcci-cpd-app body.high-contrast-mode button {
      border: 2px solid #ffffff !important;
    }

    
.dcci-cpd-app body.reduce-motion-mode * {
      animation-duration: 0s !important;
      animation-delay: 0s !important;
      transition-duration: 0s !important;
      transition-delay: 0s !important;
    }

    
.dcci-cpd-app body.reduce-motion-mode .carousel-slide {
      transition: none !important;
    }

    
.dcci-cpd-app body.reduce-motion-mode .gradient-card:hover {
      transform: none !important;
    }

    
.dcci-cpd-app body.reduce-motion-mode button:hover {
      transform: none !important;
    }

    /* Course Detail View Category Theming - Accent Elements Only */
    
    /* Theme color definitions per category */
    
.dcci-cpd-app #course-detail-view.theme-asye { --theme-gradient: linear-gradient(145deg, #312e81 0%, #4c1d95 50%, #6d28d9 100%); --theme-accent: #6d28d9; --theme-cta: linear-gradient(135deg, #4c1d95 0%, #5b21b6 100%); }
    
.dcci-cpd-app #course-detail-view.theme-amhp { --theme-gradient: linear-gradient(145deg, #0f1b3a 0%, #1e3a8a 50%, #1e40af 100%); --theme-accent: #1e40af; --theme-cta: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%); }
    
.dcci-cpd-app #course-detail-view.theme-bia { --theme-gradient: linear-gradient(145deg, #0f251a 0%, #1e3a20 50%, #2d5a3d 100%); --theme-accent: #2d5a3d; --theme-cta: linear-gradient(135deg, #1e3a20 0%, #2d5a3d 100%); }
    
.dcci-cpd-app #course-detail-view.theme-practice { --theme-gradient: linear-gradient(145deg, #0a2e36 0%, #164e63 50%, #155e75 100%); --theme-accent: #155e75; --theme-cta: linear-gradient(135deg, #0a2e36 0%, #155e75 100%); }
    
.dcci-cpd-app #course-detail-view.theme-legal { --theme-gradient: linear-gradient(145deg, #050613 0%, #0f172a 50%, #1e293b 100%); --theme-accent: #1e293b; --theme-cta: linear-gradient(135deg, #050613 0%, #1e293b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-skills { --theme-gradient: linear-gradient(145deg, #252525 0%, #6b1b47 50%, #c2185b 100%); --theme-accent: #c2185b; --theme-cta: linear-gradient(135deg, #6b1b47 0%, #c2185b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-diversity { --theme-gradient: linear-gradient(145deg, #5d3a1f 0%, #7c2d12 50%, #ea580c 100%); --theme-accent: #ea580c; --theme-cta: linear-gradient(135deg, #7c2d12 0%, #ea580c 100%); }
    
.dcci-cpd-app #course-detail-view.theme-leadership { --theme-gradient: linear-gradient(145deg, #0a1428 0%, #1e3a8a 50%, #2563eb 100%); --theme-accent: #2563eb; --theme-cta: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding { --theme-gradient: linear-gradient(145deg, #3e1f0f 0%, #7c2d12 50%, #9a3412 100%); --theme-accent: #9a3412; --theme-cta: linear-gradient(135deg, #7c2d12 0%, #9a3412 100%); }
    
.dcci-cpd-app #course-detail-view.theme-children { --theme-gradient: linear-gradient(145deg, #4c1d95 0%, #7c3aed 50%, #a855f7 100%); --theme-accent: #a855f7; --theme-cta: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-astop { --theme-gradient: linear-gradient(145deg, #003d5b 0%, #0369a1 50%, #0284c7 100%); --theme-accent: #0284c7; --theme-cta: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies { --theme-gradient: linear-gradient(145deg, #5f1212 0%, #be123c 50%, #dc2626 100%); --theme-accent: #dc2626; --theme-cta: linear-gradient(135deg, #be123c 0%, #dc2626 100%); }
    
.dcci-cpd-app #course-detail-view.theme-open { --theme-gradient: linear-gradient(145deg, #055e7b 0%, #0891b2 50%, #06b6d4 100%); --theme-accent: #06b6d4; --theme-cta: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%); }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity { --theme-gradient: linear-gradient(145deg, #4c1d95 0%, #7c3aed 50%, #d946ef 100%); --theme-accent: #d946ef; --theme-cta: linear-gradient(135deg, #7c3aed 0%, #d946ef 100%); }

    /* Summary section gradient */
    
.dcci-cpd-app #course-detail-view.theme-asye #summary-section { background: linear-gradient(145deg, #312e81 0%, #4c1d95 50%, #6d28d9 100%); }
    
.dcci-cpd-app #course-detail-view.theme-amhp #summary-section { background: linear-gradient(145deg, #0f1b3a 0%, #1e3a8a 50%, #1e40af 100%); }
    
.dcci-cpd-app #course-detail-view.theme-bia #summary-section { background: linear-gradient(145deg, #0f251a 0%, #1e3a20 50%, #2d5a3d 100%); }
    
    
.dcci-cpd-app #course-detail-view.theme-bia #course-summary a { color: #ffffff; }
    
.dcci-cpd-app #course-detail-view.theme-practice #summary-section { background: linear-gradient(145deg, #0a2e36 0%, #164e63 50%, #155e75 100%); }
    
.dcci-cpd-app #course-detail-view.theme-legal #summary-section { background: linear-gradient(145deg, #050613 0%, #0f172a 50%, #1e293b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-skills #summary-section { background: linear-gradient(145deg, #252525 0%, #6b1b47 50%, #c2185b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-diversity #summary-section { background: linear-gradient(145deg, #5d3a1f 0%, #7c2d12 50%, #ea580c 100%); }
    
.dcci-cpd-app #course-detail-view.theme-leadership #summary-section { background: linear-gradient(145deg, #0a1428 0%, #1e3a8a 50%, #2563eb 100%); }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding #summary-section { background: linear-gradient(145deg, #3e1f0f 0%, #7c2d12 50%, #9a3412 100%); }
    
.dcci-cpd-app #course-detail-view.theme-children #summary-section { background: linear-gradient(145deg, #4c1d95 0%, #7c3aed 50%, #a855f7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-astop #summary-section { background: linear-gradient(145deg, #003d5b 0%, #0369a1 50%, #0284c7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies #summary-section { background: linear-gradient(145deg, #5f1212 0%, #be123c 50%, #dc2626 100%); }
    
.dcci-cpd-app #course-detail-view.theme-open #summary-section { background: linear-gradient(145deg, #055e7b 0%, #0891b2 50%, #06b6d4 100%); }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity #summary-section { background: linear-gradient(145deg, #4c1d95 0%, #7c3aed 50%, #d946ef 100%); }

    /* CTA section gradient */
    
.dcci-cpd-app #course-detail-view.theme-asye #cta-section { background: linear-gradient(135deg, #4c1d95 0%, #5b21b6 100%); }
    
.dcci-cpd-app #course-detail-view.theme-amhp #cta-section { background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%); }
    
.dcci-cpd-app #course-detail-view.theme-bia #cta-section { background: linear-gradient(135deg, #1e3a20 0%, #2d5a3d 100%); }
    
.dcci-cpd-app #course-detail-view.theme-practice #cta-section { background: linear-gradient(135deg, #0a2e36 0%, #155e75 100%); }
    
.dcci-cpd-app #course-detail-view.theme-legal #cta-section { background: linear-gradient(135deg, #050613 0%, #1e293b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-skills #cta-section { background: linear-gradient(135deg, #6b1b47 0%, #c2185b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-diversity #cta-section { background: linear-gradient(135deg, #7c2d12 0%, #ea580c 100%); }
    
.dcci-cpd-app #course-detail-view.theme-leadership #cta-section { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding #cta-section { background: linear-gradient(135deg, #7c2d12 0%, #9a3412 100%); }
    
.dcci-cpd-app #course-detail-view.theme-children #cta-section { background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-astop #cta-section { background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies #cta-section { background: linear-gradient(135deg, #be123c 0%, #dc2626 100%); }
    
.dcci-cpd-app #course-detail-view.theme-open #cta-section { background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%); }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity #cta-section { background: linear-gradient(135deg, #7c3aed 0%, #d946ef 100%); }

    /* Audience icon background gradients */
    
.dcci-cpd-app #course-detail-view.theme-asye #audience-icon-bg { background: linear-gradient(135deg, #4c1d95 0%, #6d28d9 100%); }
    
.dcci-cpd-app #course-detail-view.theme-amhp #audience-icon-bg { background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%); }
    
.dcci-cpd-app #course-detail-view.theme-bia #audience-icon-bg { background: linear-gradient(135deg, #1e3a20 0%, #2d5a3d 100%); }
    
.dcci-cpd-app #course-detail-view.theme-practice #audience-icon-bg { background: linear-gradient(135deg, #164e63 0%, #155e75 100%); }
    
.dcci-cpd-app #course-detail-view.theme-legal #audience-icon-bg { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-skills #audience-icon-bg { background: linear-gradient(135deg, #6b1b47 0%, #c2185b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-diversity #audience-icon-bg { background: linear-gradient(135deg, #7c2d12 0%, #ea580c 100%); }
    
.dcci-cpd-app #course-detail-view.theme-leadership #audience-icon-bg { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding #audience-icon-bg { background: linear-gradient(135deg, #7c2d12 0%, #9a3412 100%); }
    
.dcci-cpd-app #course-detail-view.theme-children #audience-icon-bg { background: linear-gradient(135deg, #6d28d9 0%, #a855f7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-astop #audience-icon-bg { background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies #audience-icon-bg { background: linear-gradient(135deg, #be123c 0%, #dc2626 100%); }
    
.dcci-cpd-app #course-detail-view.theme-open #audience-icon-bg { background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%); }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity #audience-icon-bg { background: linear-gradient(135deg, #7c3aed 0%, #d946ef 100%); }

    /* Audience heading text colour */
    
.dcci-cpd-app #course-detail-view.theme-asye #audience-title { color: #6d28d9; }
    
.dcci-cpd-app #course-detail-view.theme-amhp #audience-title { color: #1e40af; }
    
.dcci-cpd-app #course-detail-view.theme-bia #audience-title { color: #2d5a3d; }
    
.dcci-cpd-app #course-detail-view.theme-practice #audience-title { color: #155e75; }
    
.dcci-cpd-app #course-detail-view.theme-legal #audience-title { color: #1e293b; }
    
.dcci-cpd-app #course-detail-view.theme-skills #audience-title { color: #c2185b; }
    
.dcci-cpd-app #course-detail-view.theme-diversity #audience-title { color: #ea580c; }
    
.dcci-cpd-app #course-detail-view.theme-leadership #audience-title { color: #2563eb; }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding #audience-title { color: #9a3412; }
    
.dcci-cpd-app #course-detail-view.theme-children #audience-title { color: #a855f7; }
    
.dcci-cpd-app #course-detail-view.theme-astop #audience-title { color: #0284c7; }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies #audience-title { color: #dc2626; }
    
.dcci-cpd-app #course-detail-view.theme-open #audience-title { color: #06b6d4; }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity #audience-title { color: #d946ef; }

    /* Duration icon background gradients */
    
.dcci-cpd-app #course-detail-view.theme-asye #duration-icon-bg { background: linear-gradient(135deg, #4c1d95 0%, #6d28d9 100%); }
    
.dcci-cpd-app #course-detail-view.theme-amhp #duration-icon-bg { background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%); }
    
.dcci-cpd-app #course-detail-view.theme-bia #duration-icon-bg { background: linear-gradient(135deg, #1e3a20 0%, #2d5a3d 100%); }
    
.dcci-cpd-app #course-detail-view.theme-practice #duration-icon-bg { background: linear-gradient(135deg, #164e63 0%, #155e75 100%); }
    
.dcci-cpd-app #course-detail-view.theme-legal #duration-icon-bg { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-skills #duration-icon-bg { background: linear-gradient(135deg, #6b1b47 0%, #c2185b 100%); }
    
.dcci-cpd-app #course-detail-view.theme-diversity #duration-icon-bg { background: linear-gradient(135deg, #7c2d12 0%, #ea580c 100%); }
    
.dcci-cpd-app #course-detail-view.theme-leadership #duration-icon-bg { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding #duration-icon-bg { background: linear-gradient(135deg, #7c2d12 0%, #9a3412 100%); }
    
.dcci-cpd-app #course-detail-view.theme-children #duration-icon-bg { background: linear-gradient(135deg, #6d28d9 0%, #a855f7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-astop #duration-icon-bg { background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies #duration-icon-bg { background: linear-gradient(135deg, #be123c 0%, #dc2626 100%); }
    
.dcci-cpd-app #course-detail-view.theme-open #duration-icon-bg { background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%); }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity #duration-icon-bg { background: linear-gradient(135deg, #7c3aed 0%, #d946ef 100%); }

    /* Duration heading text colour */
    
.dcci-cpd-app #course-detail-view.theme-asye #duration-title { color: #6d28d9; }
    
.dcci-cpd-app #course-detail-view.theme-amhp #duration-title { color: #1e40af; }
    
.dcci-cpd-app #course-detail-view.theme-bia #duration-title { color: #2d5a3d; }
    
.dcci-cpd-app #course-detail-view.theme-practice #duration-title { color: #155e75; }
    
.dcci-cpd-app #course-detail-view.theme-legal #duration-title { color: #1e293b; }
    
.dcci-cpd-app #course-detail-view.theme-skills #duration-title { color: #c2185b; }
    
.dcci-cpd-app #course-detail-view.theme-diversity #duration-title { color: #ea580c; }
    
.dcci-cpd-app #course-detail-view.theme-leadership #duration-title { color: #2563eb; }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding #duration-title { color: #9a3412; }
    
.dcci-cpd-app #course-detail-view.theme-children #duration-title { color: #a855f7; }
    
.dcci-cpd-app #course-detail-view.theme-astop #duration-title { color: #0284c7; }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies #duration-title { color: #dc2626; }
    
.dcci-cpd-app #course-detail-view.theme-open #duration-title { color: #06b6d4; }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity #duration-title { color: #d946ef; }

    /* Learning Outcomes title icon background */
    
.dcci-cpd-app #course-detail-view.theme-asye #outcomes-title-icon { background: rgba(109, 40, 217, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-amhp #outcomes-title-icon { background: rgba(30, 64, 175, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-bia #outcomes-title-icon { background: rgba(45, 90, 61, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-practice #outcomes-title-icon { background: rgba(21, 94, 117, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-legal #outcomes-title-icon { background: rgba(30, 41, 59, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-skills #outcomes-title-icon { background: rgba(194, 24, 91, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-diversity #outcomes-title-icon { background: rgba(234, 88, 12, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-leadership #outcomes-title-icon { background: rgba(37, 99, 235, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding #outcomes-title-icon { background: rgba(154, 52, 18, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-children #outcomes-title-icon { background: rgba(168, 85, 247, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-astop #outcomes-title-icon { background: rgba(2, 132, 199, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies #outcomes-title-icon { background: rgba(220, 38, 38, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-open #outcomes-title-icon { background: rgba(6, 182, 212, 0.3); }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity #outcomes-title-icon { background: rgba(217, 70, 239, 0.3); }

    /* Outcomes checkmark bullets accent colour */
    
.dcci-cpd-app #course-detail-view.theme-asye .outcomes-bullet { background: #6d28d9; }
    
.dcci-cpd-app #course-detail-view.theme-amhp .outcomes-bullet { background: #1e40af; }
    
.dcci-cpd-app #course-detail-view.theme-bia .outcomes-bullet { background: #2d5a3d; }
    
.dcci-cpd-app #course-detail-view.theme-practice .outcomes-bullet { background: #155e75; }
    
.dcci-cpd-app #course-detail-view.theme-legal .outcomes-bullet { background: #1e293b; }
    
.dcci-cpd-app #course-detail-view.theme-skills .outcomes-bullet { background: #c2185b; }
    
.dcci-cpd-app #course-detail-view.theme-diversity .outcomes-bullet { background: #ea580c; }
    
.dcci-cpd-app #course-detail-view.theme-leadership .outcomes-bullet { background: #2563eb; }
    
.dcci-cpd-app #course-detail-view.theme-safeguarding .outcomes-bullet { background: #9a3412; }
    
.dcci-cpd-app #course-detail-view.theme-children .outcomes-bullet { background: #a855f7; }
    
.dcci-cpd-app #course-detail-view.theme-astop .outcomes-bullet { background: #0284c7; }
    
.dcci-cpd-app #course-detail-view.theme-childrenfamilies .outcomes-bullet { background: #dc2626; }
    
.dcci-cpd-app #course-detail-view.theme-open .outcomes-bullet { background: #06b6d4; }
    
.dcci-cpd-app #course-detail-view.theme-neurodiversity .outcomes-bullet { background: #d946ef; }

    @font-face {
      font-family: 'OpenDyslexic';
      src: url('https://cdn.jsdelivr.net/npm/opendyslexic@1.0.29/fonts/OpenDyslexic-Regular.woff2') format('woff2'),
           url('https://cdn.jsdelivr.net/npm/opendyslexic@1.0.29/fonts/OpenDyslexic-Regular.woff') format('woff');
      font-weight: normal;
      font-style: normal;
    }

    @font-face {
      font-family: 'OpenDyslexic';
      src: url('https://cdn.jsdelivr.net/npm/opendyslexic@1.0.29/fonts/OpenDyslexic-Bold.woff2') format('woff2'),
           url('https://cdn.jsdelivr.net/npm/opendyslexic@1.0.29/fonts/OpenDyslexic-Bold.woff') format('woff');
      font-weight: bold;
      font-style: normal;
    }

    
.dcci-cpd-app body.dyslexia-mode, .dcci-cpd-app body.dyslexia-mode * {
      font-family: 'OpenDyslexic', 'Montserrat', sans-serif !important;
    }

@view-transition { navigation: auto; }

@view-transition { navigation: auto; }


    
.dcci-cpd-app .pillar-hero-image {
      min-height: 180px;
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: flex-end;
    }

    
.dcci-cpd-app .pillar-hero-copy {
      width: 100%;
      padding: 2rem;
      background: linear-gradient(0deg, rgba(15, 23, 42, 0.72), rgba(15, 23, 42, 0));
    }
/* Make main catalogue boxes the same width */

.dcci-cpd-app #catalogue-view > .max-w-7xl, .dcci-cpd-app #filtered-categories {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Make pillar sections match too */

.dcci-cpd-app #filtered-categories > section {
  width: 100% !important;
}

.dcci-cpd-app #catalogue-view .max-w-7xl {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* === CATEGORY HERO (MATCH YOUR MOCK) === */


.dcci-cpd-app #category-view {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

/* Main red/pink hero box */

.dcci-cpd-app #category-view .category-page-hero {
  position: relative;
  background: linear-gradient(135deg, #8b165a 0%, #db145d 100%);
  border-radius: 1.5rem;
  padding: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Back button inside hero */

.dcci-cpd-app #category-view .category-back-btn {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;

  border: 2px solid rgba(255,255,255,0.8);
  background: rgba(124, 22, 91, 0.85);
  color: #fff;

  border-radius: 999px;
  padding: 0.7rem 1.2rem;
  font-weight: 900;

  box-shadow: 0 10px 24px rgba(76, 29, 149, 0.28);
  transition: all 0.2s ease;
}


.dcci-cpd-app #category-view .category-back-btn:hover {
  background: #4c1d95;
  transform: translateX(-2px);
}

/* Image styling */

.dcci-cpd-app #category-view #category-hero-image {
  width: 60%;
  height: 260px;

  background-size: cover;
  background-position: center;

  border-radius: 1.5rem;
  border: 2px solid rgba(255,255,255,0.3);

  box-shadow: 0 16px 36px rgba(30, 27, 75, 0.32);
}
/* Brighter purple featured box */

.dcci-cpd-app .carousel-container {
  background:
    radial-gradient(circle at top right, rgba(124, 58, 237, 0.55), transparent 38%),
    linear-gradient(135deg, #34235f 0%, #4c1d95 48%, #6d28d9 100%) !important;
}


.dcci-cpd-app .carousel-content {
  background:
    linear-gradient(135deg, rgba(76, 29, 149, 0.72), rgba(109, 40, 217, 0.58)) !important;
}
/* Mental Capacity card */

.dcci-cpd-app button[data-category="mentalcapacity"], .dcci-cpd-app button[data-category="mentalcapacity"], .dcci-cpd-app button[data-category="mental-capacity"] {
  background: linear-gradient(135deg, #1f4f2f 0%, #2f855a 100%) !important;
  border-color: #1f4f2f !important;
  color: #fff !important;
}


.dcci-cpd-app button[data-category="mentalcapacity"] h3, .dcci-cpd-app button[data-category="mentalcapacity"] p, .dcci-cpd-app button[data-category="mentalcapacity"], .dcci-cpd-app button[data-category="mental-capacity"] h3, .dcci-cpd-app button[data-category="mentalcapacity"], .dcci-cpd-app button[data-category="mental-capacity"] p {
  color: #fff !important;
}
/* === WordPress plugin match layer === */

.dcci-cpd-app #dcci-cpd-app, .dcci-cpd-app {min-height:100vh;color:#1e293b;font-family:'Montserrat',sans-serif}
.dcci-cpd-app #dcci-cpd-app * {box-sizing:border-box;font-family:'Montserrat',sans-serif}
.dcci-cpd-app #dcci-cpd-app .max-w-7xl {max-width:1280px;margin-left:auto;margin-right:auto}
.dcci-cpd-app #dcci-cpd-app .hidden, .dcci-cpd-app #dcci-cpd-app .hidden-section {display:none!important}
.dcci-cpd-app #dcci-cpd-app .visible-section {display:block!important}
.dcci-cpd-app .dcci-top-header {background:linear-gradient(135deg,#2d1b4e 0%,#4c1d95 50%,#6d28d9 100%);color:#fff;text-align:center;padding:1rem 1rem 1.1rem;margin:-2rem -1rem 2rem}
.dcci-cpd-app .dcci-top-logo {width:64px;height:64px;object-fit:contain;margin:0 auto .65rem;display:block}
.dcci-cpd-app .dcci-top-header h1 {color:#fff;font-size:clamp(1.85rem,4vw,3rem);line-height:1.05;margin:0 0 .45rem;font-weight:900}
.dcci-cpd-app .dcci-top-header p {color:#ede9fe;margin:0 0 .75rem;font-weight:600}
.dcci-cpd-app .dcci-header-links {display:flex;justify-content:center;align-items:center;gap:.55rem;flex-wrap:wrap}
.dcci-cpd-app .dcci-header-links span {background:#4c1d95;color:#fff;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}

.dcci-cpd-app #featured-section.carousel-container {position:relative!important;overflow:hidden!important;min-height:360px!important;border-radius:1.5rem!important;border:4px solid #4c1d95!important;background:radial-gradient(circle at top right,rgba(124,58,237,.55),transparent 38%),linear-gradient(135deg,#34235f 0%,#4c1d95 48%,#6d28d9 100%)!important;box-shadow:0 0 60px rgba(124,58,237,.35),0 20px 40px rgba(79,70,229,.25),inset 0 1px 20px rgba(255,255,255,.08)!important;margin-bottom:1rem!important;padding:1rem!important}
.dcci-cpd-app #featured-section .carousel-wrapper {min-height:330px!important;position:relative!important}
.dcci-cpd-app #featured-section .carousel-slide {position:relative!important;opacity:1!important;transform:none!important;pointer-events:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,45%)!important;gap:1.25rem!important;align-items:stretch!important;min-height:330px!important}
.dcci-cpd-app #featured-section .carousel-content {width:100%!important;max-width:none!important;border-radius:1.25rem!important;background:linear-gradient(135deg,rgba(49,46,129,.72),rgba(76,29,149,.38))!important;padding:2rem!important;justify-content:center!important}
.dcci-cpd-app #featured-section .carousel-image-container {display:block!important;min-height:300px!important;margin:.25rem!important;border-radius:1.25rem!important;border:3px solid #4c1d95!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 18px 35px rgba(15,23,42,.25)!important}
.dcci-cpd-app #featured-section .carousel-badge {background:rgba(255,255,255,.2);color:#e9d5ff}
.dcci-cpd-app #featured-section .carousel-title {color:#fff}
.dcci-cpd-app #featured-section .carousel-description {color:#e9d5ff}
.dcci-cpd-app #featured-section .carousel-dots-wrap, .dcci-cpd-app #featured-section .carousel-nav-panel {display:flex!important;justify-content:center!important;align-items:center!important;gap:.8rem!important;margin-top:1rem!important}
.dcci-cpd-app #featured-section .carousel-dots {display:flex!important;gap:.55rem!important;align-items:center!important;margin:0!important}
.dcci-cpd-app #featured-section .dot {width:.8rem!important;height:.8rem!important;border-radius:999px!important;border:0!important;background:#8b7aa8!important;opacity:.75!important;cursor:pointer!important;padding:0!important}
.dcci-cpd-app #featured-section .dot.active {width:.8rem!important;background:#3b255c!important;opacity:1!important;transform:scale(1.12)!important}
.dcci-cpd-app #featured-section .dcci-carousel-arrow {width:2.8rem;height:2.8rem;border-radius:999px;border:0;background:#3b255c;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.45rem;font-weight:900;line-height:1;box-shadow:0 8px 18px rgba(59,37,92,.25);cursor:pointer}
.dcci-cpd-app #featured-section .dcci-carousel-arrow:hover {background:#4c1d95;transform:translateY(-1px)}@media(max-width:820px){.dcci-cpd-app #featured-section .carousel-slide{grid-template-columns:1fr!important}.dcci-cpd-app #featured-section .carousel-image-container{min-height:220px!important}}

.dcci-cpd-app #pillar-filter-box {background:rgba(255,255,255,.96)!important;border:4px solid #4c1d95!important;border-radius:1rem!important;box-shadow:0 18px 35px rgba(76,29,149,.10)!important;padding:1.5rem!important}
.dcci-cpd-app #pillar-filter-box h2, .dcci-cpd-app #pillar-filter-box>p, .dcci-cpd-app #pillar-filters {display:none!important}
.dcci-cpd-app .dcci-catalogue-controls {display:grid;grid-template-columns:1fr;gap:1.25rem}
.dcci-cpd-app .dcci-catalogue-controls label {display:block;color:#1e293b;font-weight:800;font-size:.9rem}
.dcci-cpd-app .dcci-catalogue-controls input, .dcci-cpd-app .dcci-catalogue-controls select {display:block;width:100%;margin-top:.65rem;min-height:3.2rem;border:1px solid #cbd5e1;border-radius:.5rem;padding:.8rem 1rem;background:#fff;color:#1e293b;font-size:1rem;line-height:1.4}
.dcci-cpd-app .dcci-results-count {margin:1.35rem 0 0;color:#475569;font-size:.95rem}

.dcci-cpd-app .dcci-pillar {background:rgba(255,255,255,.95);border:4px solid #4c1d95;border-radius:1rem;padding:1.25rem;box-shadow:0 16px 35px rgba(76,29,149,.12)}
.dcci-cpd-app .dcci-pillar .pillar-hero-image {min-height:180px;border-radius:1rem;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:flex-end}
.dcci-cpd-app .dcci-pillar .pillar-hero-copy {width:100%;padding:2rem;background:linear-gradient(0deg,rgba(15,23,42,.72),rgba(15,23,42,0))}
.dcci-cpd-app .dcci-pillar h2 {color:#fff;font-size:clamp(1.4rem,3vw,2rem);line-height:1.1;margin:0;font-weight:900}
.dcci-cpd-app .dcci-pillar p {color:#f5f3ff;margin:.25rem 0 0;font-weight:600}
.dcci-cpd-app .dcci-pillar .pillar-toggle {margin-top:1rem;border:0;border-radius:999px;background:#fff;color:#4c1d95;padding:.65rem 1rem;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.12)}
.dcci-cpd-app .dcci-category-grid {margin-top:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem}
.dcci-cpd-app .dcci-category-grid.hidden {display:none!important}
.dcci-cpd-app .category-btn {min-height:220px;border-radius:1rem;border:4px solid #94a3b8;padding:1.75rem;color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .3s ease}
.dcci-cpd-app .category-btn:hover {transform:scale(1.03)}
.dcci-cpd-app .dcci-card-image {width:4.5rem;height:4.5rem;border-radius:1rem;background-size:cover;background-position:center;border:3px solid rgba(255,255,255,.45);box-shadow:0 10px 24px rgba(76,29,149,.25);margin-bottom:1.25rem}
.dcci-cpd-app .dcci-card-copy h3 {color:#fff;font-size:1.35rem;line-height:1.15;font-weight:900;margin:0 0 .65rem}
.dcci-cpd-app .dcci-card-copy p {color:#f5f3ff;margin:0;font-weight:600}
.dcci-cpd-app .category-mentalcapacity, .dcci-cpd-app .category-mental-capacity, .dcci-cpd-app button[data-category="mentalcapacity"], .dcci-cpd-app button[data-category="mental-capacity"] {background:linear-gradient(135deg,#2f6f73 0%,#5fb8b2 100%)!important;border-color:#2f6f73!important;color:#fff!important}
.dcci-cpd-app .category-mentalcapacity *, .dcci-cpd-app .category-mental-capacity *, .dcci-cpd-app button[data-category="mentalcapacity"] *, .dcci-cpd-app button[data-category="mental-capacity"] * {color:#fff!important}
.dcci-cpd-app .category-mental-health {background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%)!important}

.dcci-cpd-app .dcci-category-page-shell {max-width:1280px;margin:0 auto}
.dcci-cpd-app .dcci-category-title-card {background:rgba(255,255,255,.96);border:3px solid #c2185b;border-radius:1rem;padding:1.75rem 2.25rem;margin-bottom:2rem;box-shadow:0 12px 25px rgba(15,23,42,.06)}
.dcci-cpd-app .dcci-category-title-card h1 {margin:0;color:#1e293b;font-size:clamp(1.75rem,4vw,2.8rem);font-weight:900;line-height:1.1}
.dcci-cpd-app .category-hero-wrapper {position:relative;border-radius:1.5rem;padding:2rem;display:flex;justify-content:center;align-items:center;margin-bottom:2rem;min-height:320px}
.dcci-cpd-app .category-hero-image {width:min(70%,760px);height:280px;background-size:cover;background-position:center;border-radius:1.5rem;border:2px solid rgba(255,255,255,.32);box-shadow:0 16px 36px rgba(30,27,75,.32)}
.dcci-cpd-app .category-back-btn {position:absolute;top:1.5rem;left:1.5rem;border:2px solid rgba(255,255,255,.86);background:rgba(124,22,91,.85);color:#fff;border-radius:999px;padding:.7rem 1.2rem;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(76,29,149,.28);transition:all .2s ease}
.dcci-cpd-app .category-back-btn:hover {background:#4c1d95;transform:translateX(-2px)}
.dcci-cpd-app .dcci-category-filter-card {background:rgba(255,255,255,.96);border:4px solid var(--category-accent,#4c1d95);border-radius:1rem;padding:1.25rem;margin-bottom:2rem;box-shadow:0 16px 35px rgba(76,29,149,.10)}
.dcci-cpd-app .dcci-filter-toggle {border:0;background:transparent;display:flex;justify-content:space-between;width:100%;font-weight:900;font-size:1rem;cursor:pointer;padding:.25rem 0 1rem}
.dcci-cpd-app .dcci-filter-controls {display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:1rem}
.dcci-cpd-app .dcci-filter-controls label {display:block;font-weight:800;color:#1e293b;font-size:.88rem}
.dcci-cpd-app .dcci-filter-controls input, .dcci-cpd-app .dcci-filter-controls select {width:100%;margin-top:.55rem;min-height:3rem;border:1px solid #cbd5e1;border-radius:.5rem;padding:.75rem .9rem;background:#fff;color:#1e293b;line-height:1.4}
.dcci-cpd-app .dcci-course-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.dcci-cpd-app .course-card {background:#fff;border:3px solid #e2e8f0;border-radius:1rem;padding:1.35rem;box-shadow:0 10px 24px rgba(76,29,149,.10)}
.dcci-cpd-app .course-card h3 {color:#1e293b;margin:0 0 .75rem;font-weight:900}
.dcci-cpd-app .course-card p {color:#475569}
.dcci-cpd-app .placeholder-badge {display:inline-flex;border-radius:999px;background:#ede9fe;color:#4c1d95;padding:.3rem .75rem;font-size:.75rem;font-weight:900;margin-bottom:.75rem}
.dcci-cpd-app .dcci-course-meta {display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.dcci-cpd-app .dcci-course-meta span {background:#f8fafc;color:#334155;border:1px solid #e2e8f0;border-radius:.65rem;padding:.35rem .6rem;font-size:.78rem;font-weight:800}@media(max-width:760px){.dcci-cpd-app .category-hero-wrapper{padding:5rem 1rem 1rem}.dcci-cpd-app .category-hero-image{width:100%;height:220px}.dcci-cpd-app .category-back-btn{top:1rem;left:1rem}}

/* === Final landing-page restoration requested === */

.dcci-cpd-app #dcci-cpd-app .dcci-top-header {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-top-logo {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-header-links {
  display: none !important;
}

.dcci-cpd-app #pillar-filter-box h2, .dcci-cpd-app #pillar-filter-box > p, .dcci-cpd-app #pillar-filters {
  display: block !important;
}

.dcci-cpd-app #pillar-filters {
  display: grid !important;
}

.dcci-cpd-app .dcci-catalogue-controls {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}

.dcci-cpd-app .dcci-pill-filter {
  border: 2px solid #4c1d95 !important;
  border-radius: 1rem !important;
  background: #ffffff !important;
  color: #4c1d95 !important;
  padding: .9rem 1rem !important;
  font-weight: 900 !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: 0 8px 18px rgba(76,29,149,.10) !important;
  transition: all .2s ease !important;
}

.dcci-cpd-app .dcci-pill-filter:hover, .dcci-cpd-app .dcci-pill-filter.active {
  background: linear-gradient(135deg, #4c1d95 0%, #6d28d9 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* === Final polish: rounded header, clean filters, carousel controls below, spaced pillars === */

.dcci-cpd-app #dcci-cpd-app .dcci-top-header {
  border-radius: 1.75rem !important;
  overflow: hidden !important;
  margin: 0 auto 2rem !important;
  max-width: 1280px !important;
}

.dcci-cpd-app #dcci-cpd-app .fixed.top-4.right-4, .dcci-cpd-app #accessibility-btn, .dcci-cpd-app #accessibility-dropdown {
  display: none !important;
}

.dcci-cpd-app #pillar-filter-box h2, .dcci-cpd-app #pillar-filter-box > p {
  display: block !important;
}

.dcci-cpd-app #pillar-filters {
  display: none !important;
}

.dcci-cpd-app #pillar-filter-box {
  border-radius: 1.5rem !important;
}

.dcci-cpd-app #filtered-categories, .dcci-cpd-app #filtered-categories.space-y-8 {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}

.dcci-cpd-app #filtered-categories .dcci-pillar {
  margin: 0 0 2rem 0 !important;
  border-radius: 1.5rem !important;
}

.dcci-cpd-app #featured-section.carousel-container {
  margin-bottom: 0 !important;
}

.dcci-cpd-app #featured-carousel-nav, .dcci-cpd-app .carousel-dots-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .8rem !important;
  margin: 1rem 0 2rem !important;
}

.dcci-cpd-app #featured-carousel-nav .carousel-dots {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  margin: 0 !important;
}

.dcci-cpd-app #featured-carousel-nav .dot {
  width: .8rem !important;
  height: .8rem !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #8b7aa8 !important;
  opacity: .75 !important;
  padding: 0 !important;
}

.dcci-cpd-app #featured-carousel-nav .dot.active {
  background: #3b255c !important;
  opacity: 1 !important;
  transform: scale(1.12) !important;
}

.dcci-cpd-app #featured-carousel-nav .dcci-carousel-arrow {
  width: 2.8rem !important;
  height: 2.8rem !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #3b255c !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.45rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(59,37,92,.25) !important;
  cursor: pointer !important;
}

.dcci-cpd-app #featured-carousel-nav .dcci-carousel-arrow:hover {
  background: #4c1d95 !important;
  transform: translateY(-1px) !important;
}

/* === Final visual spacing and header refinements === */

.dcci-cpd-app #dcci-cpd-app .dcci-top-header {
  background: radial-gradient(circle at top right, rgba(124,58,237,.55), transparent 38%), linear-gradient(135deg,#34235f 0%,#4c1d95 48%,#6d28d9 100%) !important;
  border: 4px solid #4c1d95 !important;
  border-radius: 1.75rem !important;
  box-shadow: 0 0 60px rgba(124,58,237,.28), 0 20px 40px rgba(79,70,229,.22), inset 0 1px 20px rgba(255,255,255,.08) !important;
  padding: 2rem 1.5rem !important;
  margin: 0 auto 1.5rem !important;
  max-width: 1280px !important;
  overflow: hidden !important;
}

.dcci-cpd-app #featured-section.carousel-container {
  margin-bottom: 0 !important;
}

.dcci-cpd-app #featured-carousel-nav.carousel-dots-wrap, .dcci-cpd-app #featured-carousel-nav {
  margin: 1rem 0 1.5rem !important;
}

.dcci-cpd-app #pillar-filter-box {
  margin-bottom: 1.5rem !important;
}

.dcci-cpd-app #filtered-categories, .dcci-cpd-app #filtered-categories.space-y-8 {
  gap: 1.5rem !important;
}

.dcci-cpd-app #filtered-categories .dcci-pillar, .dcci-cpd-app .dcci-pillar {
  margin: 0 !important;
  border-radius: 1.5rem !important;
}

/* === FINAL STABLE POLISH 2026-04-25 === */

.dcci-cpd-app #dcci-cpd-app .max-w-7xl > .dcci-top-header, .dcci-cpd-app #dcci-cpd-app .dcci-top-header {
  background: radial-gradient(circle at top right, rgba(124,58,237,.55), transparent 38%), linear-gradient(135deg,#34235f 0%,#4c1d95 48%,#6d28d9 100%) !important;
  border: 4px solid #4c1d95 !important;
  border-radius: 1.75rem !important;
  box-shadow: 0 0 60px rgba(124,58,237,.28), 0 20px 40px rgba(79,70,229,.22), inset 0 1px 20px rgba(255,255,255,.08) !important;
  padding: 2rem 1.5rem !important;
  margin: 0 auto 1.5rem !important;
  max-width: 1280px !important;
  overflow: hidden !important;
  text-align: center !important;
}


.dcci-cpd-app #dcci-cpd-app #catalogue-view .max-w-7xl > section, .dcci-cpd-app #dcci-cpd-app #catalogue-view .max-w-7xl > header {
  margin-bottom: 1.5rem !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section.carousel-container {
  margin-bottom: 1.5rem !important;
  min-height: 340px !important;
  display: block !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-wrapper, .dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide {
  min-height: 310px !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 42%) !important;
  gap: 1.5rem !important;
  align-items: center !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-content {
  min-height: 275px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: 2rem !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container {
  min-height: 275px !important;
  height: calc(100% - 1.5rem) !important;
  margin: .75rem .75rem .75rem 0 !important;
  justify-self: stretch !important;
  align-self: center !important;
  background-size: cover !important;
  background-position: center !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav.carousel-dots-wrap {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: .8rem !important;
  margin: 1.25rem 0 0 !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .carousel-dots {
  display: flex !important;
  gap: .55rem !important;
  margin: 0 !important;
  align-items: center !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dot {
  width: .8rem !important;
  height: .8rem !important;
  min-width: .8rem !important;
  border-radius: 999px !important;
  background: #8b7aa8 !important;
  border: 0 !important;
  opacity: .85 !important;
  padding: 0 !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dot.active {
  background: #ffffff !important;
  transform: scale(1.1) !important;
  opacity: 1 !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dcci-carousel-arrow {
  width: 2.8rem !important;
  height: 2.8rem !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #3b255c !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.45rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(59,37,92,.25) !important;
  cursor: pointer !important;
}


.dcci-cpd-app #dcci-cpd-app #pillar-filter-box {
  margin-bottom: 1.5rem !important;
  border-radius: 1.5rem !important;
}


.dcci-cpd-app #dcci-cpd-app #filtered-categories, .dcci-cpd-app #dcci-cpd-app #filtered-categories.space-y-8 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
  margin-top: 0 !important;
}


.dcci-cpd-app #dcci-cpd-app #filtered-categories .dcci-pillar, .dcci-cpd-app #dcci-cpd-app .dcci-pillar {
  margin: 0 !important;
  border-radius: 1.5rem !important;
}


.dcci-cpd-app #dcci-cpd-app .dcci-category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
}


.dcci-cpd-app #dcci-cpd-app .dcci-card-image {
  width: 100% !important;
  height: 7rem !important;
  border-radius: 1rem !important;
  background-size: cover !important;
  background-position: center !important;
}

@media (max-width: 980px) {
  #dcci-cpd-app .dcci-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 680px) {
  #dcci-cpd-app #featured-section .carousel-slide { grid-template-columns: 1fr !important; }
  #dcci-cpd-app #featured-section .carousel-image-container { margin: .75rem 0 0 !important; min-height: 220px !important; }
  #dcci-cpd-app .dcci-category-grid { grid-template-columns: 1fr !important; }
  #dcci-cpd-app .dcci-catalogue-controls { grid-template-columns: 1fr !important; }
}

/* === Stable final repair: header, spacing, featured carousel, category heroes === */

.dcci-cpd-app #dcci-cpd-app #catalogue-view .max-w-7xl {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}


.dcci-cpd-app #dcci-cpd-app .dcci-top-header {
  border-radius: 1.75rem !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 2rem 1rem !important;
  background: radial-gradient(circle at top right, rgba(124, 58, 237, 0.45), transparent 38%), linear-gradient(135deg, #34235f 0%, #4c1d95 48%, #6d28d9 100%) !important;
  border: 4px solid #4c1d95 !important;
  box-shadow: 0 0 60px rgba(124,58,237,.28), 0 20px 40px rgba(79,70,229,.2), inset 0 1px 20px rgba(255,255,255,.08) !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section.carousel-container, .dcci-cpd-app #dcci-cpd-app #pillar-filter-box, .dcci-cpd-app #dcci-cpd-app #filtered-categories .dcci-pillar, .dcci-cpd-app #dcci-cpd-app .dcci-pillar {
  margin: 0 !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section.carousel-container {
  padding: 1rem !important;
  min-height: 340px !important;
  background: radial-gradient(circle at top right, rgba(124,58,237,.55), transparent 38%), linear-gradient(135deg, #34235f 0%, #4c1d95 48%, #6d28d9 100%) !important;
  border-radius: 1.75rem !important;
  overflow: hidden !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-wrapper, .dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide {
  min-height: 310px !important;
  height: 100% !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 42%) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
  background: transparent !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-content {
  background: linear-gradient(135deg, rgba(49,46,129,.55), rgba(76,29,149,.2)) !important;
  border-radius: 1.35rem !important;
  padding: 2rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container {
  display: block !important;
  min-height: 280px !important;
  height: 100% !important;
  margin: 0 !important;
  border-radius: 1.35rem !important;
  border: 3px solid #4c1d95 !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), 0 18px 35px rgba(15,23,42,.25) !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav.carousel-dots-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .8rem !important;
  margin-top: 1.5rem !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .carousel-dots {
  display: flex !important;
  gap: .55rem !important;
  align-items: center !important;
  margin: 0 !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dot {
  width: .8rem !important;
  height: .8rem !important;
  min-width: .8rem !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: rgba(255,255,255,.82) !important;
  opacity: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dot.active {
  background: #3b255c !important;
  transform: scale(1.12) !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dcci-carousel-arrow {
  width: 2.8rem !important;
  height: 2.8rem !important;
  min-width: 2.8rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #3b255c !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.45rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}


.dcci-cpd-app #dcci-cpd-app .dcci-category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
}


.dcci-cpd-app #dcci-cpd-app .category-hero-wrapper {
  padding: 2rem !important;
  border-radius: 1.75rem !important;
  overflow: hidden !important;
}


.dcci-cpd-app #dcci-cpd-app .category-hero-image {
  width: min(70%, 760px) !important;
  min-height: 260px !important;
  margin: 0 auto !important;
  border-radius: 1.5rem !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: rgba(0,0,0,.1) !important;
}

@media (max-width: 900px) {
  #dcci-cpd-app #featured-section .carousel-slide {
    grid-template-columns: 1fr !important;
  }
  #dcci-cpd-app #featured-section .carousel-image-container {
    min-height: 220px !important;
  }
  #dcci-cpd-app .dcci-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  #dcci-cpd-app #catalogue-view .max-w-7xl {
    gap: 1.25rem !important;
  }
  #dcci-cpd-app .dcci-category-grid {
    grid-template-columns: 1fr !important;
  }
  #dcci-cpd-app .category-hero-image {
    width: 100% !important;
  }
}

/* === Featured image polish: no oversized crop, image box follows artwork ratio === */

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 40%) !important;
  align-items: center !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container {
  width: 100% !important;
  max-width: 520px !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}


.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-content .carousel-btn:not(.dcci-carousel-arrow) {
  display: none !important;
}

@media (max-width: 900px) {
  #dcci-cpd-app #featured-section .carousel-image-container {
    justify-self: center !important;
    max-width: 100% !important;
  }
}

/* === Final feature/category image fitting repair === */

.dcci-cpd-app #dcci-cpd-app #featured-section.carousel-container {
  background: radial-gradient(circle at top right, rgba(124,58,237,.55), transparent 38%), linear-gradient(135deg,#34235f 0%,#4c1d95 48%,#6d28d9 100%) !important;
  padding: 1rem !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-wrapper { position: relative !important; min-height: 310px !important; }

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide {
  display: grid !important; grid-template-columns: minmax(0,1fr) minmax(320px,42%) !important; gap: 1.5rem !important; align-items: center !important;
  position: absolute !important; inset: 0 !important; opacity: 0 !important; pointer-events: none !important; transition: opacity .35s ease !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide.active { opacity: 1 !important; pointer-events: auto !important; position: relative !important; }

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-content { height: 100% !important; }

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container {
  display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; max-width: 520px !important;
  aspect-ratio: 16 / 9 !important; min-height: 0 !important; height: auto !important; justify-self: end !important; align-self: center !important;
  margin: 0 !important; padding: 0 !important; border-radius: 1.15rem !important; overflow: hidden !important; background: transparent !important; background-image: none !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container img { display: block !important; width: 100% !important; height: auto !important; max-height: 100% !important; object-fit: contain !important; border-radius: 1rem !important; }

.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav.carousel-dots-wrap { margin-top: 1.5rem !important; justify-content: flex-start !important; }

.dcci-cpd-app #dcci-cpd-app .dcci-card-image { display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; background: rgba(255,255,255,.12) !important; }

.dcci-cpd-app #dcci-cpd-app .dcci-card-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: inherit !important; }

.dcci-cpd-app #dcci-cpd-app .category-hero-image { display: flex !important; align-items: center !important; justify-content: center !important; width: min(70%, 760px) !important; min-height: 260px !important; margin: 0 auto !important; padding: 0 !important; overflow: hidden !important; background: rgba(0,0,0,.08) !important; border-radius: 1.5rem !important; }

.dcci-cpd-app #dcci-cpd-app .category-hero-image img { display: block !important; width: 100% !important; height: auto !important; max-height: 300px !important; object-fit: contain !important; }
@media (max-width: 900px) {
  #dcci-cpd-app #featured-section .carousel-slide { grid-template-columns: 1fr !important; }
  #dcci-cpd-app #featured-section .carousel-image-container { justify-self: center !important; max-width: 100% !important; }
  #dcci-cpd-app .category-hero-image { width: 100% !important; }
}

/* === DCC-i FINAL CLEAN WRAPPER + HEADER === */

.dcci-cpd-app #dcci-cpd-app.dcci-cpd-app {
  background-image: url('../assets/images/DCCi-Background.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
  border-radius: 2rem !important;
  padding: 2rem !important;
  margin: 1.5rem auto !important;
  max-width: 1320px !important;
  box-shadow: 0 25px 60px rgba(0,0,0,.12) !important;
  overflow: hidden !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-top-header {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: .75rem 1rem 1.5rem !important;
  margin: 0 auto 2rem !important;
  text-align: center !important;
  color: #0f172a !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-top-logo { display: none !important; }

.dcci-cpd-app #dcci-cpd-app .dcci-top-header h1 {
  color: #0f172a !important;
  font-size: clamp(2rem, 4.2vw, 3.7rem) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  margin: 0 0 .5rem !important;
  text-shadow: none !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-top-header p {
  color: #1f2937 !important;
  font-weight: 700 !important;
  margin: 0 !important;
  text-shadow: none !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section, .dcci-cpd-app #dcci-cpd-app #pillar-filter-box, .dcci-cpd-app #dcci-cpd-app #filtered-categories > .dcci-pillar {
  margin-bottom: 2rem !important;
}

.dcci-cpd-app #dcci-cpd-app #pillar-filter-box, .dcci-cpd-app #dcci-cpd-app .dcci-pillar, .dcci-cpd-app #dcci-cpd-app .dcci-category-title-card, .dcci-cpd-app #dcci-cpd-app .dcci-category-filter-card {
  background: rgba(250, 247, 242, .96) !important;
}
/* === DCC-i FINAL FEATURED SLIDER REPAIR === */

.dcci-cpd-app #dcci-cpd-app #featured-section.carousel-container {
  border-radius: 1.75rem !important;
  border: 4px solid #4c1d95 !important;
  background: radial-gradient(circle at top right, rgba(124,58,237,.55), transparent 38%), linear-gradient(135deg, #34235f 0%, #4c1d95 48%, #6d28d9 100%) !important;
  padding: 1.25rem !important;
  overflow: hidden !important;
  min-height: 0 !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-wrapper {
  position: relative !important;
  min-height: 320px !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide {
  display: none !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 44%) !important;
  gap: 1.5rem !important;
  align-items: center !important;
  min-height: 320px !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  position: relative !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-slide.active { display: grid !important; }

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-content {
  background: linear-gradient(135deg, rgba(49,46,129,.72), rgba(76,29,149,.30)) !important;
  border-radius: 1.35rem !important;
  padding: 2rem !important;
  min-height: 290px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container {
  justify-self: end !important;
  align-self: center !important;
  width: min(100%, 520px) !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 2px solid rgba(255,255,255,.28) !important;
  border-radius: 1.25rem !important;
  overflow: hidden !important;
  box-shadow: 0 16px 32px rgba(15,23,42,.25) !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav.carousel-dots-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .8rem !important;
  margin-top: 1.5rem !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .carousel-dots {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  margin: 0 !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dot {
  width: .8rem !important;
  height: .8rem !important;
  min-width: .8rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #8b7aa8 !important;
  opacity: .75 !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dot.active {
  background: #3b255c !important;
  opacity: 1 !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section #featured-carousel-nav .dcci-carousel-arrow {
  width: 2.8rem !important;
  height: 2.8rem !important;
  min-width: 2.8rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #3b255c !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.45rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 18px rgba(59,37,92,.25) !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-content a, .dcci-cpd-app #dcci-cpd-app #featured-section .carousel-content .carousel-btn:not(.dcci-carousel-arrow) { display: none !important; }

.dcci-cpd-app #dcci-cpd-app .pillar-hero-image {
  border-radius: 1.35rem !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
}

.dcci-cpd-app #dcci-cpd-app .category-hero-wrapper {
  padding: 2rem !important;
  border-radius: 1.75rem !important;
  overflow: hidden !important;
}

.dcci-cpd-app #dcci-cpd-app .category-hero-image {
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
  border-radius: 1.35rem !important;
  overflow: hidden !important;
  border: 2px solid rgba(255,255,255,.28) !important;
  aspect-ratio: 16 / 9 !important;
  background: rgba(0,0,0,.08) !important;
}

.dcci-cpd-app #dcci-cpd-app .category-hero-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
@media (max-width: 980px) {
  #dcci-cpd-app .dcci-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  #dcci-cpd-app.dcci-cpd-app { padding: 1rem !important; border-radius: 1.25rem !important; }
  #dcci-cpd-app #featured-section .carousel-slide { grid-template-columns: 1fr !important; }
  #dcci-cpd-app #featured-section .carousel-content { min-height: 0 !important; }
  #dcci-cpd-app #featured-section .carousel-image-container { justify-self: stretch !important; width: 100% !important; }
  #dcci-cpd-app .dcci-category-grid { grid-template-columns: 1fr !important; }
}

/* === FINAL: no catalogue header block === */

.dcci-cpd-app #dcci-cpd-app .dcci-top-header, .dcci-cpd-app #dcci-cpd-app header.dcci-top-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

.dcci-cpd-app #dcci-cpd-app #catalogue-view > .max-w-7xl {
  padding-top: 0 !important;
}


/* Learning outcomes on category course cards */

.dcci-cpd-app #dcci-cpd-app .dcci-learning-outcomes { margin: .9rem 0 0; padding: .9rem 1rem; border-radius: .85rem; background: #f8fafc; border: 1px solid #e2e8f0; }

.dcci-cpd-app #dcci-cpd-app .dcci-learning-outcomes h4 { margin: 0 0 .55rem; color: #1e293b; font-size: .95rem; font-weight: 900; }

.dcci-cpd-app #dcci-cpd-app .dcci-learning-outcomes ul { margin: 0; padding-left: 1.25rem; list-style-position: outside; }

.dcci-cpd-app #dcci-cpd-app .dcci-learning-outcomes li { margin: .35rem 0; color: #475569; line-height: 1.45; padding-left: .15rem; }

.dcci-cpd-app #dcci-cpd-app .dcci-selected-category .dcci-category-grid { margin-top: 0; }

/* === Hotfix: category/course rendering and image fit === */

.dcci-cpd-app #dcci-cpd-app .dcci-pillar .dcci-category-grid:not(.hidden) {
  display: grid !important;
}

.dcci-cpd-app #dcci-cpd-app .category-hero-image {
  height: 280px !important;
  min-height: 0 !important;
}

.dcci-cpd-app #dcci-cpd-app .category-hero-image img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-learning-outcomes ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-learning-outcomes li {
  position: relative !important;
  margin: .35rem 0 !important;
  padding-left: 1.15rem !important;
  line-height: 1.45 !important;
}

.dcci-cpd-app #dcci-cpd-app .dcci-learning-outcomes li::before {
  content: '•';
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 900;
}

/* === DCC-i auto-loop featured slider === */

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window {
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 1.35rem !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window .carousel-wrapper {
  display: flex !important;
  align-items: stretch !important;
  min-height: 320px !important;
  transition: transform 850ms ease-in-out !important;
  will-change: transform !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window .carousel-slide, .dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window .carousel-slide.active {
  display: grid !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 44%) !important;
  gap: 1.5rem !important;
  align-items: center !important;
  min-height: 320px !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  position: relative !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section > #featured-carousel-nav.carousel-dots-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .8rem !important;
  margin-top: 1.5rem !important;
}
@media (prefers-reduced-motion: reduce) {
  #dcci-cpd-app #featured-section .carousel-window .carousel-wrapper { transition: none !important; }
}
@media (max-width: 820px) {
  #dcci-cpd-app #featured-section .carousel-window .carousel-slide,
  #dcci-cpd-app #featured-section .carousel-window .carousel-slide.active { grid-template-columns: 1fr !important; }
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-content .carousel-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  margin-top: 1rem !important;
  padding: .75rem 1rem !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #3b255c !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* === DCC-i featured image no-crop fix === */

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 1rem !important;
}

/* === Featured slider hero alignment fix: ASYE template, crop from bottom only === */

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window {
  overflow: hidden !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window .carousel-slide, .dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window .carousel-slide.active {
  align-items: center !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container {
  width: min(100%, 520px) !important;
  height: 292px !important;
  min-height: 292px !important;
  max-height: 292px !important;
  aspect-ratio: auto !important;
  justify-self: end !important;
  align-self: center !important;
  overflow: hidden !important;
  background: #4c1d95 !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: 50% 0% !important;
  display: block !important;
}
@media (max-width: 820px) {
  #dcci-cpd-app #featured-section .carousel-image-container {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    justify-self: stretch !important;
  }
}

/* === DCC-i targeted image alignment fix only === */

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window .carousel-slide, .dcci-cpd-app #dcci-cpd-app #featured-section .carousel-window .carousel-slide.active {
  align-items: start !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container {
  align-self: start !important;
  justify-self: end !important;
  margin-top: 2.4rem !important;
  width: min(100%, 520px) !important;
  height: 292px !important;
  min-height: 292px !important;
  max-height: 292px !important;
  overflow: hidden !important;
}

.dcci-cpd-app #dcci-cpd-app #featured-section .carousel-image-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}

.dcci-cpd-app #dcci-cpd-app .category-hero-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}
@media (max-width: 820px) {
  #dcci-cpd-app #featured-section .carousel-image-container {
    margin-top: .75rem !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    justify-self: stretch !important;
  }
}

/* === Course category cards: 2 across on desktop === */

.dcci-cpd-app #dcci-cpd-app .dcci-course-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 980px) {
  #dcci-cpd-app .dcci-course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  #dcci-cpd-app .dcci-course-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ══ Carousel fix — translateX slide approach ═══════════════════════════════
   The JS positions slides via transform:translateX on .carousel-wrapper.
   All slides must be in a flex row, each 100% wide, with the window clipping
   overflow. Base opacity rules are overridden here.
   ═══════════════════════════════════════════════════════════════════════════ */
.dcci-cpd-app #featured-section .carousel-window {
    overflow: hidden !important;
    width: 100% !important;
}
.dcci-cpd-app #featured-section .carousel-wrapper {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    transition: transform 0.5s ease !important;
    position: relative !important;
    min-height: 330px !important;
    transform: translateX(0);
}
.dcci-cpd-app #featured-section .carousel-slide {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    position: relative !important;
    opacity: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 42%) !important;
    gap: 1.25rem !important;
    align-items: stretch !important;
    min-height: 330px !important;
}
@media (max-width: 820px) {
    .dcci-cpd-app #featured-section .carousel-slide {
        grid-template-columns: 1fr !important;
    }
    .dcci-cpd-app #featured-section .carousel-image-container {
        min-height: 220px !important;
    }
}

/* ══ Spacing fixes ══════════════════════════════════════════════════════════ */
.dcci-cpd-app #featured-section.carousel-container { margin-bottom: 48px !important; }
.dcci-cpd-app #pillar-filter-box { margin-top: 48px !important; }
