/* ==========================================================================
   WordPress Theme Customizer Styles
   Organized and Optimized Version
   
   Key Improvements:
   1. Logical organization with clear sections
   2. CSS variables for consistency
   3. Reduced specificity where possible
   4. Comprehensive comments
   5. Maintained visual appearance
   ========================================================================== */
/* CSS Variables - Theme Consistency
   ========================================================================== */
:root {
  /* Color Palette */
  --cus-color-primary: #8C40C4;
  --cus-color-primary-dark: #3A0C51;
  --cus-color-deep-purple: #5F295F;
  --cus-color-purple: #5B095B;
  --cus-color-sand: #f5f5dc;
  --cus-color-info-blue: #2196F3;
  --cus-color-yellow-dark: #ffcc00;
  
  /* Neutral Colors */
  --cus-color-neutral-light: #f8f9fa;
  --cus-color-neutral-lighter: #f1f1f1;
  --cus-color-neutral-dark: #2D2926;
  
  /* Text Colors */
  --cus-color-text: #333333;
  --cus-color-text-white: #ffffff;
  --cus-color-text-black: #000000;
  
  /* Spacing Scale */
  --cus-spacing-xs: 0.25rem;
  --cus-spacing-sm: 0.75rem;
  --cus-spacing-md: 1.5rem;
  --cus-spacing-lg: 3rem;
  --cus-spacing-xl: 4rem;
  
  /* Typography */
  --cus-font-family-base: Inter, sans-serif;
  --cus-font-family-serif: Bitter, serif;
  --cus-font-size-base: 16px;
  --cus-font-size-sm: 0.875rem;
  --cus-font-size-lg: 1.25rem;
  --cus-font-size-xl: 1.5rem;
  --cus-font-size-2xl: 1.75rem;
  --cus-font-size-3xl: 2rem;
  --cus-font-size-4xl: 2.5rem;
  
  /* Line Heights */
  --cus-line-height-tight: 1;
  --cus-line-height-normal: 1.5;
  --cus-line-height-relaxed: 1.75;
  
  /* Transitions */
  --cus-transition-fast: 0.3s ease;
  --cus-transition-normal: 0.4s ease-in-out;
}

/* ==========================================================================
   Cookie Consent by Civic
   ========================================================================== */

#ccc-button-holder {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

/* ==========================================================================
   Hero & Image Components
   ========================================================================== */

.hero__image-wrap {
  max-height: 30rem;
}

/* ==========================================================================
   WordPress Block Overrides
   ========================================================================== */

.wp-block-column .related__panel {
  max-height: max-content;
}

/* ==========================================================================
   WordPress Cover Block
   ========================================================================== */

/* Basic cover block styles */
.wp-block-cover {
  margin: 0 0 20px 0 !important;
}

.wp-block-cover__inner-container {
  max-height: none !important;
}

/* Cover block style variations */
.wp-block-cover.is-style-top-right-links .wp-block-cover__links {
  height: 25% !important;
}

/* LZB cover title styles */
.is-style-btm-lft-title .lzb-cover-title {
  background: transparent !important;
}

.news-story .lzb-cover-title {
  background-color: rgba(95, 41, 95, 0.8);
  padding: 20px;
}

/* Page id and slug reference:
  14830 = /discover/
  15329 = /your-next-step/
  203495 = /your-next-step/pg-discover-page/
  14194 = /applicants/interviewfoe/earlyyears/
  247823 = /vice-chancellor/
  234536 = /service/target-connect/
  25093 = /service/myfm/
*/
/* ==========================================================================
   Page-Specific Cover Block Styles
   ========================================================================== */
.page-id-14830 .wp-block-cover__inner-container p,
.page-id-15329 .wp-block-cover__inner-container p,
.page-id-203495 .wp-block-cover__inner-container p {
  color: var(--cus-color-text-white) !important;
}

.page-id-14830 .lzb-cover-title,
.page-id-15329 .lzb-cover-title,
.page-id-203495 .lzb-cover-title {
  font-family: var(--cus-font-family-serif) !important;
  font-weight: 600;
  font-style: normal;
  font-size: var(--cus-font-size-4xl) !important;
  line-height: var(--cus-line-height-tight);
}

.page-id-14830 .wp-block-lzb-cover.is-style-btm-lft-title .wp-block-cover__inner-container,
.page-id-15329 .wp-block-lzb-cover.is-style-btm-lft-title .wp-block-cover__inner-container,
.page-id-203495 .wp-block-lzb-cover.is-style-btm-lft-title .wp-block-cover__inner-container {
  background-color: transparent;
}

.page-id-14830 .wp-block-lzb-cover.is-style-btm-lft-title .wp-block-cover__inner-container p,
.page-id-15329 .wp-block-lzb-cover.is-style-btm-lft-title .wp-block-cover__inner-container p,
.page-id-203495 .wp-block-lzb-cover.is-style-btm-lft-title .wp-block-cover__inner-container p,
.wp-block-lzb-cover.is-style-lft-title .wp-block-cover__inner-container p {
  font-weight: 200;
}

.page-id-14830 #content h2,
.page-id-15329 #content h2,
.page-id-203495 #content h2 {
  font-family: var(--cus-font-family-serif);
  font-weight: 500;
  font-style: normal;
  color: var(--cus-color-deep-purple);
  max-width: initial;
}

.page-id-14830 .entry-content,
.page-id-15329 .entry-content,
.page-id-203495 .entry-content {
  position: relative;
  margin: 0 auto;
}

.page-id-14830 .entry-content .is-type-video:before,
.page-id-15329 .entry-content .is-type-video:before,
.page-id-203495 .entry-content .is-type-video:before {
  content: "";
  position: absolute;
  top: var(--cus-spacing-lg);
  bottom: var(--cus-spacing-lg);
  left: calc(-50vw + 50%);
  right: 0;
  width: 100vw;
  background: var(--cus-color-primary);
}

.page-id-15329 #content p {
  color: var(--cus-color-deep-purple);
}

/* Service Gateway */
.postid-234536 .service-gateway__status,
.postid-25093 .service-gateway__status {
  display: none;
}

/* Responsive cover block styles */
@media (max-width: 1200px) and (min-width: 820px) {
  .page-id-14830 .wp-block-lazyblock-ehu-cover .wp-block-cover,
  .page-id-203495 .wp-block-lazyblock-ehu-cover .wp-block-cover {
    display: flex;
  }
  
  .page-id-14830 .wp-block-cover.is-style-btm-lft-title .wp-block-cover__inner-container,
  .page-id-203495 .wp-block-cover.is-style-btm-lft-title .wp-block-cover__inner-container {
    max-width: 50% !important;
    float: left;
  }
  
  .page-id-14830 .wp-block-cover.is-style-top-right-links .wp-block-cover__links,
  .page-id-203495 .wp-block-cover.is-style-top-right-links .wp-block-cover__links {
    max-width: 40% !important;
    float: right;
  }
}

@media only screen and (max-width: 1200px) {
  .page-id-14830 .wp-block-cover.is-style-btm-lft-title .wp-block-cover__inner-container,
  .page-id-203495 .wp-block-cover.is-style-btm-lft-title .wp-block-cover__inner-container {
    background: transparent !important;
  }
  
  .wp-block-cover.is-style-top-right-links .wp-block-cover__links {
    background: transparent !important;
  }
  
  .page-id-14830 .lzb-cover-title,
  .page-id-203495 .lzb-cover-title {
    margin: 0 !important;
  }
}

@media only screen and (max-width: 600px) {
  .page-id-14830 .is-type-video:before,
  .page-id-15329 .is-type-video:before,
  .page-id-203495 .is-type-video:before {
    display: none;
  }
}

@media only screen and (max-width: 600px) {
  .wp-block-cover.is-style-btm-lft-title .wp-block-cover__inner-container {
    display: inline-table;
  }
}

/* Page ID: 14191 - /applicants/interviewfoe/earlyyears/ - Fixed width first column */
.page-id-14191 th:first-child,
.page-id-14191 td:first-child {
  width: 150px;
}

/* Page ID: 247823 - Hide navigation */
.page-id-247823 .header-site-nav__menu,
.page-id-247823 .secondary-site-nav,
.page-id-247823 footer .container-fixed .footer__grid {
  display: none !important;
}

.page-id-247823 footer {
  padding-top: 0 !important;
}

/* 360° Video */
.threesixty__wrap iframe.lazyloaded {
  width: 100%;
  aspect-ratio: 16 / 9;
}

/* ==========================================================================
   Third-party Integrations
   ========================================================================== */

/* TikTok */
.tiktok-embed {
  overflow: unset !important;
}

/* KIS Widget */
.kis-widget p {
  line-height: var(--cus-line-height-normal);
}

/* ==========================================================================
   Accessibility Improvements
   ========================================================================== */

.device-link {
  position: relative;
  min-height: 44px;
  min-width: 44px;
  padding: 12px;
}

.interactive-element::before {
  content: '';
  position: absolute;
  top: -10px;
  right: -10px;
  bottom: -10px;
  left: -10px;
}

/* ==========================================================================
   Typography & Text
   ========================================================================== */

#facilities-section p {
  font-weight: 400;
}

.google-route {
  width: 100%;
  display: flex;
}

p.is-style-intro-text {
  display: block !important;
}

.footer__social-list a:visited {
  color: var(--cus-color-primary);
}
#error-page {
  display: inline;
  padding: 0;
}

#error-page .wp-die-message {
  color: var(--cus-color-text-white);
}

/* ==========================================================================
   Block Styles
   ========================================================================== */

.news-story-hero__subtitle {
  color: var(--cus-color-text-white);
}

.announcements-template-default h1 {
  margin: var(--cus-spacing-md) 0 0;
  display: inline-flex;
}

.course-hero__content p,
.course-hero__code {
  color: var(--cus-color-text-white);
}

/* ==========================================================================
   Slider Components
   ========================================================================== */

.slick-slider {
  margin: 0;
}

.slick-track {
  margin: var(--cus-spacing-md) 0 0;
}

.single-course__panel__left p {
  padding: var(--cus-spacing-sm) 0 0;
}

/* ==========================================================================
   Related Components
   ========================================================================== */

.related h2:first-child {
  margin: 0;
  padding: 0;
}

.related__panel:hover .related__content,
.related__panel:hover {
  background-color: var(--cus-color-neutral-light) !important;
}

.related-wrap {
  margin: var(--cus-spacing-md) 0 0;
}

/* ==========================================================================
   Info Panel - Bespoke
   ========================================================================== */

.info-panel-bespoke {
  padding: var(--cus-spacing-md);
}

.info-panel-bespoke ul {
  margin: 0;
}

.info-panel-bespoke p {
  padding: 0;
}

.info-panel-bespoke div.inline {
  display: inline-grid;
  gap: var(--cus-spacing-xs);
  margin-right: var(--cus-spacing-sm);
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

h1.entry-title {
  margin: var(--cus-spacing-md) 0 0;
}

.study-view-content h2 {
  margin: var(--cus-spacing-md) 0 0 !important;
}

.ehu-calendar__wrap-single,
.wp-block-table {
  margin: var(--cus-spacing-md) 0 0;
}

.wp-block-quote {
  margin: var(--cus-spacing-md) 0 0 !important;
  padding: var(--cus-spacing-md) var(--cus-spacing-lg) !important;
}

.wp-block-quote p:first-child {
  margin: 0;
}

.wp-block-quote p {
  padding: 0 !important;
  margin: var(--cus-spacing-md) 0 0;
}

/* Type indicators */
p.news-story-hero__page-type:first-child,
p.highlights__event-type:first-child,
p.highlights__grid-type:first-child {
  padding: 0 4px;
}

/* Spacing utilities */
.h3-mt {
  margin: var(--cus-spacing-md) 0 0 !important;
}

.h3-drop {
  margin: var(--cus-spacing-md) 0 0 !important;
}

.img-single {
  padding: 0;
}

p:first-child {
  padding: 0;
}

.youtube-insert {
  padding: 0;
  margin: 0;
  height: 100%;
}

.inner-align {
  padding: 0 var(--cus-spacing-md) var(--cus-spacing-md);
}

.ehu-1 {
  padding: 0;
  max-height: 250px;
}

.ehu-4 {
  padding: 0;
  min-height: 270px;
}

.image-float {
  margin: 0;
}

.event-description-wrap-left h2 {
  margin: var(--cus-spacing-md) 0 0;
}

.news-story__introduction {
  padding: 2rem 0;
}

.search-bar-page {
  margin: var(--cus-spacing-md) 0 0;
}

.news-story__publish-date {
  padding: 0;
}

.news-story__publish-date:last-child {
  margin: var(--cus-spacing-md) 0 !important;
}

.wp-block-image.has-custom-border img,
.wp-block-image img {
  margin: var(--cus-spacing-md) 0 0;
}

.alignright {
  margin: 0 0 var(--cus-spacing-lg) var(--cus-spacing-lg) !important;
}

.event-description-wrap-left .wp-block-embed-youtube {
  height: auto !important;
  margin: var(--cus-spacing-md) 0 0 !important;
  padding-bottom: 0 !important;
}

/* ==========================================================================
   Campaign Pages
   ========================================================================== */

.campaign-drop {
  font-style: normal;
  text-transform: uppercase;
  font-family: var(--cus-font-family-base);
  font-size: var(--cus-font-size-lg);
  display: block;
  margin-top: var(--cus-spacing-sm);
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 1200px) {
  .news-story-hero img {
    height: 100%;
  }
}

/* ==========================================================================
   Additional Optimizations
   ========================================================================== */

.wp-block-button__link {
  height: auto !important;
  width: auto !important;
}

/* Image information fix */
.overview__intro__right i,
.event-description i {
  font-size: 1rem;
}

/* Disclaimer content */
.disclaimer__content > p {
  margin-top: 0 !important;
}

/* DataTables */
.dataTables_filter,
.dataTables_wrapper {
  overflow: auto;
}

/* Spacing utilities */
.mt-3 { margin: 3rem 0 0; }
.mt-1 { margin: 1.5rem 0 0; }

/* Section menu */
.section-menu-wrapper .fa-bars {
  padding-left: 0.75rem;
}

button.section-menu-wrapper-title:hover {
  cursor: pointer;
}

/* ==========================================================================
   End of Customizer Styles
   ========================================================================== */
