/*
Theme Name: Caldicot RC Clean
Theme URI: https://caldicotrcracers.com/
Author: Caldicot RC Racers
Description: Clean, modern WordPress theme for Caldicot RC Racers with a white layout, existing logo support, dynamic homepage areas, reusable icons and shortcodes.
Version: 1.5.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: caldicot-rc-clean
Tags: custom-logo, custom-menu, featured-images, block-styles
*/
:root{--crr-navy:#080f2e;--crr-navy2:#111b4f;--crr-orange:#f4511e;--crr-ink:#111629;--crr-muted:#626a7f;--crr-line:#e7e9ef;--crr-soft:#f6f7fb;--crr-white:#fff;--crr-shadow:0 16px 40px rgba(8,15,46,.08);--crr-radius:18px;--crr-max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--crr-ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{color:var(--crr-orange)}img{max-width:100%;height:auto;display:block}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px}.crr-container{width:min(var(--crr-max),calc(100% - 40px));margin-inline:auto}.crr-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--crr-line)}.crr-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.crr-brand img{max-height:64px;width:auto}.crr-nav-wrap{display:flex;align-items:center;gap:22px}.crr-primary-menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.crr-primary-menu a{display:inline-flex;align-items:center;min-height:82px;color:var(--crr-ink);font-weight:750;font-size:.94rem;position:relative}.crr-primary-menu .current-menu-item>a:after,.crr-primary-menu a:hover:after{content:"";position:absolute;left:0;right:0;bottom:20px;height:3px;border-radius:999px;background:var(--crr-orange)}.crr-menu-toggle{display:none;border:1px solid var(--crr-line);background:#fff;border-radius:12px;padding:10px 12px;color:var(--crr-navy);cursor:pointer}.crr-button,.wp-block-button__link,input[type=submit],button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border-radius:8px;padding:12px 22px;background:var(--crr-orange);color:#fff!important;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--crr-orange);box-shadow:0 10px 26px rgba(244,81,30,.2)}.crr-button:hover{background:#d83d0d;color:#fff!important}.crr-button--ghost{background:#fff;color:var(--crr-ink)!important;border-color:#d9dce7;box-shadow:none}.crr-button--ghost:hover{background:var(--crr-soft);color:var(--crr-orange)!important}.crr-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--crr-line);background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.95) 34%,rgba(255,255,255,.38) 65%,rgba(255,255,255,0) 100%),var(--crr-hero-image,linear-gradient(135deg,#f4f6fb,#e7e9ef));background-size:cover;background-position:center right}.crr-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(255,255,255,.96));pointer-events:none}.crr-hero-inner{position:relative;z-index:1;min-height:420px;display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:center;gap:30px;padding:48px 0 70px}.crr-eyebrow{color:var(--crr-orange);font-weight:950;letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px}.crr-hero h1{font-size:clamp(3rem,8vw,5.8rem);line-height:.92;letter-spacing:-.06em;margin:0 0 22px;color:var(--crr-navy)}.crr-hero p{font-size:clamp(1.05rem,1.8vw,1.25rem);color:#33394c;max-width:520px;margin:0 0 28px}.crr-hero-actions{display:flex;flex-wrap:wrap;gap:14px}.crr-feature-strip{margin-top:-42px;position:relative;z-index:4}.crr-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.crr-feature-card,.crr-card{background:#fff;border:1px solid var(--crr-line);border-radius:var(--crr-radius);box-shadow:var(--crr-shadow)}.crr-feature-card{padding:24px;display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:center}.crr-icon{width:54px;height:54px;border-radius:18px;background:rgba(244,81,30,.1);color:var(--crr-orange);display:inline-flex;align-items:center;justify-content:center}.crr-icon svg{width:30px;height:30px;stroke-width:2}.crr-feature-card h3,.crr-card h2,.crr-card h3{color:var(--crr-navy);margin:0;line-height:1.15}.crr-feature-card p{margin:6px 0 0;color:var(--crr-muted);font-size:.95rem}.crr-section{padding:38px 0}.crr-home-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:20px}.crr-card{padding:28px}.crr-card-title{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--crr-orange)!important;margin-bottom:22px!important;padding-bottom:13px;border-bottom:2px solid rgba(244,81,30,.22)}.crr-detail-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}.crr-detail-list li{display:flex;gap:10px;align-items:center;color:#30364a}.crr-detail-list svg{width:20px;color:var(--crr-navy);flex:0 0 20px}.crr-process{display:grid;gap:15px}.crr-process-step{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start}.crr-step-icon{width:42px;height:42px;border-radius:14px;background:var(--crr-soft);color:var(--crr-navy);display:flex;align-items:center;justify-content:center}.crr-step-icon svg{width:24px}.crr-process-step h3{font-size:.96rem;margin-bottom:2px}.crr-process-step p{margin:0;color:var(--crr-muted);font-size:.94rem}.crr-result-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--crr-line)}.crr-result-row strong{color:var(--crr-navy)}.crr-result-row span{color:var(--crr-muted);font-size:.95rem}.crr-link{color:var(--crr-orange);font-weight:900;font-size:.9rem}.crr-help-strip{background:#fff;border:1px solid var(--crr-line);border-radius:var(--crr-radius);box-shadow:var(--crr-shadow);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.crr-help-item{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:24px;border-right:1px solid var(--crr-line)}.crr-help-item:last-child{border-right:0}.crr-help-item h3{margin:0 0 4px;color:var(--crr-navy);text-transform:uppercase;font-size:.9rem;letter-spacing:.04em}.crr-help-item p{margin:0;color:var(--crr-muted);font-size:.94rem}.crr-content-area{padding:46px 0}.crr-page-header{background:linear-gradient(135deg,var(--crr-navy),#17245a);color:white;padding:52px 0}.crr-page-header h1{font-size:clamp(2.1rem,5vw,4rem);margin:0;letter-spacing:-.04em}.crr-content{max-width:900px}.crr-content h2,.crr-content h3{color:var(--crr-navy)}.crr-content a{color:var(--crr-orange);font-weight:700}.crr-content table{width:100%;border-collapse:collapse;margin:24px 0}.crr-content th,.crr-content td{border:1px solid var(--crr-line);padding:12px}.crr-content th{background:var(--crr-soft)}.crr-site-footer{margin-top:40px;border-top:1px solid var(--crr-line);background:#fff}.crr-footer-top{padding:24px 0;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:18px;align-items:center;color:var(--crr-muted);font-size:.94rem}.crr-footer-top span{display:inline-flex;align-items:center;gap:8px}.crr-footer-top svg{width:21px;color:var(--crr-navy)}.crr-footer-bottom{border-top:1px solid var(--crr-line);padding:24px 0;display:flex;justify-content:space-between;gap:20px;color:var(--crr-muted);font-size:.9rem}.crr-social{display:flex;align-items:center;gap:10px}.crr-social a{width:36px;height:36px;border-radius:50%;background:var(--crr-navy);color:white;display:inline-flex;align-items:center;justify-content:center}.crr-social a:hover{background:var(--crr-orange);color:#fff}.widget{margin-bottom:22px}.widget-title{color:var(--crr-navy);font-size:1rem;text-transform:uppercase;letter-spacing:.06em}.alignwide{max-width:var(--crr-max);margin-inline:auto}.alignfull{max-width:none;margin-inline:calc(50% - 50vw)}@media(max-width:980px){.crr-menu-toggle{display:inline-flex}.crr-nav-wrap{position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--crr-line);padding:14px 20px 24px;display:none;flex-direction:column;align-items:stretch}.crr-menu-open .crr-nav-wrap{display:flex}.crr-primary-menu{flex-direction:column;align-items:stretch;gap:0}.crr-primary-menu a{min-height:48px}.crr-primary-menu a:after{display:none}.crr-header-inner{min-height:72px}.crr-nav-wrap{top:72px}.crr-hero-inner{min-height:380px;grid-template-columns:1fr}.crr-feature-grid,.crr-help-strip,.crr-home-grid,.crr-footer-top{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.crr-container{width:min(100% - 26px,var(--crr-max))}.crr-brand img{max-height:52px}.crr-hero{background-position:65% center}.crr-hero:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.72)}.crr-hero-inner{min-height:520px;padding:42px 0 80px}.crr-feature-strip{margin-top:-54px}.crr-feature-grid,.crr-help-strip,.crr-home-grid,.crr-footer-top,.crr-footer-bottom{grid-template-columns:1fr}.crr-help-item{border-right:0;border-bottom:1px solid var(--crr-line)}.crr-help-item:last-child{border-bottom:0}.crr-hero-actions .crr-button{width:100%}.crr-card{padding:22px}.crr-footer-bottom{display:grid}}

/* =========================================================
   v1.3 full-site styling pass
   Applies the clean Caldicot RC design language across pages,
   plugin output, forms, event listings, calendars and galleries.
   ========================================================= */

body.page,
body.single,
body.archive,
body.blog,
body.search {
  background: linear-gradient(180deg, #fff 0%, #fbfcff 72%, #fff 100%);
}

.crr-page-header {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 20%, rgba(244,81,30,.18), transparent 28%),
    linear-gradient(135deg, var(--crr-navy) 0%, #121d52 62%, #18245f 100%);
}
.crr-page-header:after {
  content: "";
  position: absolute;
  inset: auto -40px -90px auto;
  width: 300px;
  height: 300px;
  border: 34px solid rgba(255,255,255,.06);
  border-radius: 50%;
}
.crr-page-header .crr-container { position: relative; z-index: 1; }
.crr-page-header h1 { max-width: 900px; }

.crr-content-area { padding: 42px 0 56px; }
.crr-content {
  width: min(100%, 980px);
  max-width: 980px;
  margin-inline: auto;
  font-size: 1.03rem;
}
.crr-content > :first-child { margin-top: 0; }
.crr-content > :last-child { margin-bottom: 0; }
.crr-content p,
.crr-content li { color: #33394c; }
.crr-content p { margin: 0 0 1.05rem; }
.crr-content ul,
.crr-content ol { padding-left: 1.35rem; margin: 0 0 1.2rem; }
.crr-content li + li { margin-top: .35rem; }
.crr-content h2,
.crr-content h3,
.crr-content h4 {
  color: var(--crr-navy);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 2rem 0 .8rem;
}
.crr-content h2 {
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  padding-bottom: .55rem;
  border-bottom: 2px solid rgba(244,81,30,.18);
}
.crr-content h3 { font-size: clamp(1.25rem, 2.2vw, 1.6rem); }
.crr-content h4 { font-size: 1.1rem; text-transform: uppercase; letter-spacing: .05em; }
.crr-content strong,
.crr-content b { color: var(--crr-navy); font-weight: 850; }
.crr-content hr {
  border: 0;
  border-top: 1px solid var(--crr-line);
  margin: 2rem 0;
}

.crr-content blockquote,
.wp-block-quote {
  margin: 1.5rem 0;
  padding: 1.3rem 1.5rem;
  border-left: 5px solid var(--crr-orange);
  background: var(--crr-soft);
  border-radius: 0 var(--crr-radius-sm, 12px) var(--crr-radius-sm, 12px) 0;
}

/* General content cards for common WordPress blocks */
.wp-block-group,
.wp-block-media-text,
.wp-block-cover,
.wp-block-columns {
  margin-block: 1.5rem;
}
.wp-block-column > :first-child { margin-top: 0; }
.wp-block-column > :last-child { margin-bottom: 0; }
.wp-block-image img,
.wp-block-gallery img,
.gallery img {
  border-radius: 16px;
  box-shadow: var(--crr-shadow);
}
.wp-caption {
  max-width: 100%;
  color: var(--crr-muted);
  font-size: .92rem;
}
.wp-caption img { border-radius: 16px; }
.wp-caption-text { margin-top: .5rem; }

/* Buttons and links from plugins/blocks */
.crr-content a:not(.crr-button):not(.wp-block-button__link),
.entry-content a:not(.crr-button):not(.wp-block-button__link) {
  color: var(--crr-orange);
  font-weight: 800;
  text-underline-offset: 3px;
}
.crr-content a:not(.crr-button):not(.wp-block-button__link):hover {
  text-decoration: underline;
}
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button__link.is-style-outline {
  background: #fff;
  color: var(--crr-orange) !important;
  border: 1px solid var(--crr-orange);
  box-shadow: none;
}

/* Tables: results, pricing, committee lists, event output */
.crr-content table,
.entry-content table,
.em table,
.tribe-common table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 1.2rem 0;
  overflow: hidden;
  border: 1px solid var(--crr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(8,15,46,.04);
}
.crr-content th,
.crr-content td,
.entry-content th,
.entry-content td,
.em th,
.em td,
.tribe-common th,
.tribe-common td {
  border: 0;
  border-bottom: 1px solid var(--crr-line);
  padding: 13px 14px;
  text-align: left;
  vertical-align: top;
}
.crr-content th,
.entry-content th,
.em th,
.tribe-common th {
  background: var(--crr-soft);
  color: var(--crr-navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .84rem;
}
.crr-content tr:last-child td,
.entry-content tr:last-child td,
.em tr:last-child td,
.tribe-common tr:last-child td { border-bottom: 0; }

/* Forms: Contact Form 7, WPForms, Gravity, Events Manager, generic WP */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
input[type="date"],
input[type="time"],
select,
textarea,
.wpforms-field input,
.wpforms-field select,
.wpforms-field textarea,
.gform_wrapper input,
.gform_wrapper select,
.gform_wrapper textarea,
.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea,
.em input,
.em select,
.em textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #d7dbe6;
  border-radius: 10px;
  background: #fff;
  color: var(--crr-ink);
  outline: none;
  box-shadow: 0 1px 0 rgba(8,15,46,.02);
}
textarea,
.wpforms-field textarea,
.gform_wrapper textarea,
.wpcf7 textarea,
.em textarea { min-height: 130px; }
input:focus,
select:focus,
textarea:focus {
  border-color: var(--crr-orange);
  box-shadow: 0 0 0 4px rgba(244,81,30,.12);
}
label,
.wpforms-field-label,
.gfield_label,
.wpcf7 label,
.em label {
  display: block;
  margin: 0 0 .4rem;
  color: var(--crr-navy);
  font-weight: 850;
}
.form-row,
.wpforms-field,
.gfield,
.wpcf7-form p,
.em .input,
.em-booking-form-details p { margin-bottom: 1rem; }
.wpforms-submit,
.gform_button,
.wpcf7-submit,
.em-booking-submit,
.em-search-submit,
.em-search button,
.tribe-events-c-search__button {
  width: auto !important;
  cursor: pointer;
}

/* Event/booking pages - Events Manager and common event plugin output */
.em,
.em.pixelbones,
.em-events,
.em-events-list,
.em-event-booking-form,
.tribe-common,
.tribe-events,
.tribe-events-view {
  font-family: inherit !important;
  color: var(--crr-ink);
}
.em-search,
.em-search-wrapper,
.tribe-events-header,
.tribe-events-c-events-bar,
.tribe-events-c-top-bar,
.em-booking-form,
.em-booking-login,
.em-booking-section,
.em-location-map-container {
  background: #fff;
  border: 1px solid var(--crr-line);
  border-radius: var(--crr-radius);
  box-shadow: var(--crr-shadow);
  padding: 20px;
  margin: 0 0 22px;
}
.em-search-main,
.em-search-advanced,
.em-search-options,
.tribe-events-c-search {
  display: grid;
  gap: 14px;
}
.em-search-main {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  align-items: end;
}
.em-view-container,
.em-events-list,
.tribe-events-calendar-list {
  display: grid;
  gap: 18px;
}
.em-event,
.em-item,
.em-event.em-item,
.tribe-events-calendar-list__event,
.tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row,
.type-tribe_events {
  background: #fff;
  border: 1px solid var(--crr-line);
  border-radius: var(--crr-radius);
  box-shadow: var(--crr-shadow);
  padding: 22px;
  overflow: hidden;
}
.em-event h2,
.em-event h3,
.em-item h2,
.em-item h3,
.tribe-events-calendar-list__event-title,
.tribe-events-single-event-title {
  color: var(--crr-navy) !important;
  margin-top: 0 !important;
}
.em-event-meta,
.em-event-date,
.em-event-time,
.em-event-location,
.em-event-price,
.tribe-events-calendar-list__event-datetime,
.tribe-events-event-meta {
  color: var(--crr-muted);
  font-weight: 700;
}
.em-event .button,
.em-event .em-event-book-now,
.em-booking-button,
.em-event a[href*="book"],
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-button,
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  background: var(--crr-orange) !important;
  color: #fff !important;
  border: 1px solid var(--crr-orange) !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: none !important;
}
.em-event .button:hover,
.em-event .em-event-book-now:hover,
.em-booking-button:hover,
.tribe-events-button:hover,
.tribe-common .tribe-common-c-btn:hover {
  background: #d83d0d !important;
}

/* Event calendars */
.em-calendar,
.em-calendar-wrapper,
.tribe-events-calendar-month,
.tribe-events-calendar-month__body {
  background: #fff;
  border: 1px solid var(--crr-line);
  border-radius: var(--crr-radius);
  overflow: hidden;
  box-shadow: var(--crr-shadow);
}
.em-calendar thead th,
.tribe-events-calendar-month__header-column {
  background: var(--crr-navy) !important;
  color: #fff !important;
  padding: 12px !important;
}
.em-calendar td,
.tribe-events-calendar-month__day {
  min-height: 90px;
  background: #fff;
}
.em-calendar a,
.tribe-events-calendar-month__calendar-event-title-link {
  color: var(--crr-orange) !important;
  font-weight: 850;
}

/* FAQ / accordion blocks */
details,
.wp-block-details {
  background: #fff;
  border: 1px solid var(--crr-line);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(8,15,46,.04);
  padding: 0;
  margin: 0 0 12px;
  overflow: hidden;
}
details summary,
.wp-block-details summary {
  cursor: pointer;
  padding: 16px 18px;
  color: var(--crr-navy);
  font-weight: 900;
}
details > *:not(summary),
.wp-block-details > *:not(summary) {
  padding-inline: 18px;
}
details > :last-child,
.wp-block-details > :last-child { padding-bottom: 18px; }

/* Maps / embeds / videos */
iframe,
embed,
object,
.wp-block-embed__wrapper,
.wp-block-video video {
  max-width: 100%;
}
.crr-content iframe,
.wp-block-embed__wrapper iframe {
  border: 0;
  border-radius: var(--crr-radius);
  box-shadow: var(--crr-shadow);
}
.wp-block-embed,
.wp-block-video { margin-block: 1.5rem; }

/* Search pages, archives and cards */
.search-form {
  display: flex;
  gap: 10px;
  margin: 1.2rem 0;
}
.search-form label { flex: 1; margin: 0; }
.search-submit { flex: 0 0 auto; }
.post-navigation,
.posts-navigation,
.pagination,
.nav-links {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.nav-links a,
.nav-links span,
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid var(--crr-line);
  border-radius: 10px;
  background: #fff;
  color: var(--crr-navy);
  font-weight: 850;
}
.page-numbers.current,
.nav-links a:hover {
  background: var(--crr-orange);
  color: #fff !important;
  border-color: var(--crr-orange);
  text-decoration: none !important;
}

/* Footer menu should remain compact even when using primary menu class */
.crr-footer-bottom .crr-primary-menu {
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}
.crr-footer-bottom .crr-primary-menu a {
  min-height: auto;
  font-size: .9rem;
  font-weight: 750;
  color: var(--crr-muted);
}
.crr-footer-bottom .crr-primary-menu a:after { display: none; }

/* Utility classes available for page content */
.crr-card-panel {
  background: #fff;
  border: 1px solid var(--crr-line);
  border-radius: var(--crr-radius);
  box-shadow: var(--crr-shadow);
  padding: 24px;
}
.crr-two-col,
.crr-three-col {
  display: grid;
  gap: 20px;
  margin: 1.5rem 0;
}
.crr-two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.crr-three-col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.crr-muted { color: var(--crr-muted); }
.crr-orange { color: var(--crr-orange); }

@media (max-width: 980px) {
  .crr-content { max-width: 100%; }
  .crr-two-col,
  .crr-three-col { grid-template-columns: 1fr; }
  .em-search-main { grid-template-columns: 1fr; }
  .em-calendar,
  .em-calendar-wrapper,
  .tribe-events-calendar-month {
    overflow-x: auto;
  }
  .em-calendar table,
  .tribe-events-calendar-month table { min-width: 720px; }
}

@media (max-width: 680px) {
  .crr-page-header { padding: 38px 0; }
  .crr-content-area { padding: 30px 0 42px; }
  .crr-content { font-size: 1rem; }
  .crr-content h2 { font-size: 1.55rem; }
  .search-form { flex-direction: column; }
  .em-event,
  .em-item,
  .tribe-events-calendar-list__event,
  .type-tribe_events { padding: 18px; }
  .crr-content table,
  .entry-content table,
  .em table,
  .tribe-common table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}


/* Nested menu / dropdown support */
.crr-primary-menu li {
  position: relative;
}

.crr-primary-menu .menu-item-has-children > a,
.crr-primary-menu .page_item_has_children > a {
  gap: 7px;
}

.crr-primary-menu .menu-item-has-children > a::before,
.crr-primary-menu .page_item_has_children > a::before {
  content: "";
  order: 2;
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .7;
}

.crr-primary-menu .sub-menu,
.crr-primary-menu .children {
  position: absolute;
  left: 0;
  top: calc(100% - 14px);
  min-width: 230px;
  list-style: none;
  margin: 0;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--crr-line);
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(8, 15, 46, .14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 100;
}

.crr-primary-menu li:hover > .sub-menu,
.crr-primary-menu li:focus-within > .sub-menu,
.crr-primary-menu li:hover > .children,
.crr-primary-menu li:focus-within > .children {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.crr-primary-menu .sub-menu a,
.crr-primary-menu .children a {
  min-height: auto;
  width: 100%;
  padding: 11px 13px;
  border-radius: 10px;
  color: var(--crr-ink);
  font-size: .92rem;
  font-weight: 800;
  white-space: nowrap;
}

.crr-primary-menu .sub-menu a:hover,
.crr-primary-menu .children a:hover,
.crr-primary-menu .sub-menu .current-menu-item > a,
.crr-primary-menu .children .current_page_item > a {
  background: rgba(244,81,30,.09);
  color: var(--crr-orange);
}

.crr-primary-menu .sub-menu a::after,
.crr-primary-menu .children a::after {
  display: none !important;
}

.crr-primary-menu .sub-menu .sub-menu,
.crr-primary-menu .children .children {
  left: calc(100% + 8px);
  top: 0;
}

.crr-submenu-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: var(--crr-navy);
  padding: 8px;
  cursor: pointer;
  border-radius: 8px;
}

.crr-submenu-toggle svg {
  width: 18px;
  height: 18px;
  transition: transform .16s ease;
}

.crr-submenu-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

@media (max-width: 980px) {
  .crr-primary-menu li {
    border-bottom: 1px solid var(--crr-line);
  }

  .crr-primary-menu li:last-child {
    border-bottom: 0;
  }

  .crr-primary-menu .menu-item-has-children,
  .crr-primary-menu .page_item_has_children {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  .crr-primary-menu .menu-item-has-children > a,
  .crr-primary-menu .page_item_has_children > a {
    grid-column: 1;
  }

  .crr-primary-menu .menu-item-has-children > a::before,
  .crr-primary-menu .page_item_has_children > a::before {
    display: none;
  }

  .crr-submenu-toggle {
    display: inline-flex;
    grid-column: 2;
    align-items: center;
    justify-content: center;
    margin-right: 2px;
  }

  .crr-primary-menu .sub-menu,
  .crr-primary-menu .children {
    grid-column: 1 / -1;
    position: static;
    min-width: 0;
    width: 100%;
    padding: 0 0 8px 14px;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
    background: transparent;
  }

  .crr-primary-menu li.crr-submenu-open > .sub-menu,
  .crr-primary-menu li.crr-submenu-open > .children {
    display: block;
  }

  .crr-primary-menu .sub-menu li,
  .crr-primary-menu .children li {
    border-bottom: 0;
  }

  .crr-primary-menu .sub-menu a,
  .crr-primary-menu .children a {
    white-space: normal;
    min-height: 42px;
    padding: 10px 12px;
    color: var(--crr-muted);
    font-size: .94rem;
  }

  .crr-primary-menu .sub-menu .sub-menu,
  .crr-primary-menu .children .children {
    padding-left: 14px;
  }
}


/* v1.5 header refinement: larger logo and no wrapping on action buttons */
.crr-header-inner {
  min-height: 104px;
}

.crr-brand {
  flex: 0 0 auto;
}

.crr-brand img,
.custom-logo-link img,
.crr-brand-link img {
  max-height: 92px;
  width: auto;
}

.crr-primary-menu a {
  min-height: 104px;
}

.crr-nav-wrap > .crr-button,
.crr-site-header .crr-button,
.crr-button,
.wp-block-button__link {
  white-space: nowrap;
  flex-shrink: 0;
}

.crr-site-header .crr-button svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}

@media (max-width: 1100px) {
  .crr-primary-menu {
    gap: 20px;
  }
  .crr-primary-menu a {
    font-size: .9rem;
  }
  .crr-nav-wrap {
    gap: 16px;
  }
}

@media (max-width: 980px) {
  .crr-header-inner {
    min-height: 92px;
  }
  .crr-brand img,
  .custom-logo-link img,
  .crr-brand-link img {
    max-height: 78px;
  }
  .crr-nav-wrap {
    top: 92px;
  }
  .crr-primary-menu a {
    min-height: 48px;
  }
}

@media (max-width: 680px) {
  .crr-header-inner {
    min-height: 84px;
  }
  .crr-brand img,
  .custom-logo-link img,
  .crr-brand-link img {
    max-height: 70px;
  }
  .crr-nav-wrap {
    top: 84px;
  }
  .crr-site-header .crr-button {
    width: auto;
  }
}
