/* Mediterráneo deportivo. Visual layer only; the existing templates own layout. */
body.difi-brand-mediterranean {
  --difi-brand-paper: #f6f2e9;
  --difi-brand-ink: #092f3d;
  --difi-brand-muted: #536969;
  --difi-brand-coral: #ee633e;
  --difi-brand-action: #cb461d;
  --difi-brand-line: #dddcd2;
  --difi-brand-heading: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --di-navy: #092f3d;
  --di-ink: #092f3d;
  --di-blue: #126077;
  --di-sky: #edf3ef;
  --di-orange: #cb461d;
  --di-line: #dddcd2;
  --di-muted: #536969;
  background: var(--difi-brand-paper);
  color: var(--difi-brand-ink);
}
body.difi-brand-mediterranean #main-content,
body.difi-brand-mediterranean .et-l--body > .et_builder_inner_content > .et_pb_section,
body.difi-brand-mediterranean .difi-profile { background-color: var(--difi-brand-paper); }
body.difi-brand-mediterranean ::selection { background: #f8bba4; color: #092f3d; }

/* Strong editorial headings; club names in compact cards retain their readable type. */
body.difi-brand-mediterranean :is(.di-page-hero h1, .difi-sport-heading h1,
  .di-section-head h2, .difi-tb-related__head h2, .difi-related > h2,
  .di-calendar > header h2, .difi-tb-hero h1, .difi-hero h1,
  .difi-event-intro h1, .difi-event-section > h2, .difi-event-info > h2,
  .difi-card > h2, .difi-contact-card > h2) {
  font-family: var(--difi-brand-heading) !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
  text-transform: none;
}
body.difi-brand-mediterranean :is(.di-section-head h2, .difi-tb-related__head h2,
  .difi-related > h2) { color: var(--difi-brand-ink); }
body.difi-brand-mediterranean .di-section-head > small,
body.difi-brand-mediterranean .difi-section-label {
  color: #a63a1b;
  font-weight: 800;
  letter-spacing: .11em;
}
body.difi-brand-mediterranean .di-section-head > small::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 3px;
  margin: 0 9px 3px 0;
  background: var(--difi-brand-coral);
}

/* The masthead remains quiet enough for the identity to stand out. */
body.difi-brand-mediterranean .di-site-header {
  background: #fffdf8 !important;
  border-bottom-color: var(--difi-brand-line) !important;
}
body.difi-brand-mediterranean .di-site-header nav > a { color: var(--difi-brand-ink) !important; }
body.difi-brand-mediterranean .di-site-header nav > a:hover,
body.difi-brand-mediterranean .di-site-header nav > a.difi-business-cta { color: #a63a1b !important; }
body.difi-brand-mediterranean .di-site-header nav > a[aria-current='page']::after {
  background: var(--difi-brand-coral);
  height: 3px;
}
body.difi-brand-mediterranean .di-site-header nav > a.di-nav-cta:not(.difi-business-cta) {
  background: var(--difi-brand-action) !important;
  color: #fff !important;
  border-radius: 7px !important;
}
body.difi-brand-mediterranean .di-site-header nav > a.di-nav-cta:not(.difi-business-cta):hover {
  background: #a83717 !important;
}
body.difi-brand-mediterranean .di-site-header .difi-more-menu > div {
  background: #fffdf8;
  border-color: var(--difi-brand-line);
}
body.difi-brand-mediterranean .di-site-header .difi-more-menu > div a:hover { background: var(--difi-brand-paper) !important; }
body.difi-brand-mediterranean .di-site-footer {
  background: var(--difi-brand-ink) !important;
  border-top: 4px solid var(--difi-brand-coral);
  color: #e1e6dd;
}
body.difi-brand-mediterranean .di-site-footer a,
body.difi-brand-mediterranean .di-site-footer p { color: #e1e6dd; }
body.difi-brand-mediterranean .di-site-footer .di-brand span { color: #fff; }
body.difi-brand-mediterranean .di-site-footer .di-brand strong { color: #ffad91; }
body.difi-brand-mediterranean .di-site-footer a:hover { color: #fff; }

/* Category, agenda and informational headers get a shared island identity. */
body.difi-brand-mediterranean .di-page-hero {
  color: #fff;
  background-color: var(--difi-brand-ink) !important;
  background-image: radial-gradient(ellipse at 105% 115%, transparent 48%, rgb(246 242 233 / 8%) 48.15%, rgb(246 242 233 / 8%) 48.5%, transparent 48.65%),
    radial-gradient(ellipse at 105% 115%, transparent 57%, rgb(246 242 233 / 6%) 57.15%, rgb(246 242 233 / 6%) 57.5%, transparent 57.65%),
    linear-gradient(115deg, #092f3d 35%, #14545e) !important;
  border-bottom: 4px solid var(--difi-brand-coral);
}
body.difi-brand-mediterranean .di-page-hero h1 {
  color: #fff;
  font-size: clamp(44px, 5.8vw, 78px) !important;
  line-height: 1.03 !important;
  text-wrap: balance;
}
body.difi-brand-mediterranean .di-page-hero > small {
  color: #f1c6ae !important;
  font-weight: 800;
  letter-spacing: .13em;
}
body.difi-brand-mediterranean .di-page-hero p { color: #e3eae3; }
body.difi-brand-mediterranean .difi-sport-heading {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--difi-brand-line);
}
body.difi-brand-mediterranean .difi-sport-heading h1 {
  color: var(--difi-brand-ink);
  font-size: clamp(38px, 4.5vw, 62px) !important;
  line-height: 1.08 !important;
}
body.difi-brand-mediterranean .difi-sport-heading p { color: #425c60; }
body.difi-brand-mediterranean .difi-sport-heading > a,
body.difi-brand-mediterranean .difi-breadcrumbs a { color: #126077; }

/* Retain compact card dimensions, metadata and full uncropped logos. */
body.difi-brand-mediterranean .difi-category-strip {
  background: var(--difi-brand-ink);
  box-shadow: 0 7px 18px rgb(9 47 61 / 10%);
  border-bottom: 3px solid var(--difi-brand-coral);
}
body.difi-brand-mediterranean .difi-category-strip__all {
  background: var(--difi-brand-action);
  color: #fff;
}
body.difi-brand-mediterranean .difi-category-menu.is-current > a { box-shadow: inset 0 -3px 0 #ffad91; }
body.difi-brand-mediterranean .difi-category-menu__drop { background: #fffdf8; }
body.difi-brand-mediterranean .difi-category-menu__drop a:hover { background: #f6ece2; color: #8e351f; }
body.difi-brand-mediterranean .di-directory-results .di-card,
body.difi-brand-mediterranean .difi-sport-page .difi-sport-card {
  border-color: var(--difi-brand-line);
  background: var(--difi-brand-ink);
  box-shadow: 0 5px 14px rgb(9 47 61 / 6%);
}
body.difi-brand-mediterranean .di-directory-results .di-card-body,
body.difi-brand-mediterranean .difi-sport-page .difi-sport-card .difi-sport-card-body {
  background: var(--difi-brand-ink);
  border-top-color: var(--difi-brand-coral);
}
body.difi-brand-mediterranean .di-directory-results .di-card p,
body.difi-brand-mediterranean .di-directory-results .di-card-body > span,
body.difi-brand-mediterranean .difi-sport-page .difi-sport-card:not(.difi-sport-card--category) p { color: #d6e2dc !important; }
body.difi-brand-mediterranean .di-directory-results .difi-card-arrow,
body.difi-brand-mediterranean .difi-sport-page .difi-card-arrow,
body.difi-brand-mediterranean .difi-sport-card-arrow,
body.difi-brand-mediterranean .di-directory-results .di-card-body > a { color: #ffad91 !important; }
body.difi-brand-mediterranean .difi-sport-placeholder,
body.difi-brand-mediterranean .difi-image-pending { background: #edf1e9; color: #315b62; }
body.difi-brand-mediterranean .difi-sport-page .difi-sport-card:nth-child(3n+2) .difi-sport-placeholder { background: #f7e8dc; color: #864930; }
body.difi-brand-mediterranean .difi-sport-page .difi-sport-card:nth-child(3n+3) .difi-sport-placeholder { background: #e4eeeb; color: #296252; }
body.difi-brand-mediterranean .di-results,
body.difi-brand-mediterranean .difi-sport-count { color: var(--difi-brand-muted); }
body.difi-brand-mediterranean .di-term-card { border-color: var(--difi-brand-line); border-top: 3px solid var(--difi-brand-coral); }
body.difi-brand-mediterranean .di-term-card > span,
body.difi-brand-mediterranean .di-term-card b { color: #a63a1b; }

/* Business pages: a recognisable identity panel, with a neutral logo canvas. */
body.difi-brand-mediterranean.single-di_business .difi-tb-hero--logo {
  background: linear-gradient(110deg, #fff 25%, #f5eee1);
  border-color: var(--difi-brand-line);
  border-left: 5px solid var(--difi-brand-coral);
}
body.difi-brand-mediterranean.single-di_business .difi-tb-hero--logo h1 {
  color: var(--difi-brand-ink);
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.08 !important;
}
body.difi-brand-mediterranean.single-di_business .difi-tb-hero--logo .difi-tags span {
  background: #e9f0ec;
  border-color: #d4e0d9;
  color: #315b62;
}
body.difi-brand-mediterranean.single-di_business .difi-tb-hero__content > span { color: #ffbd9f; }
body.difi-brand-mediterranean.single-di_business .difi-card,
body.difi-brand-mediterranean.single-di_business .difi-contact-card,
body.difi-brand-mediterranean .difi-tb-related__card {
  border-color: var(--difi-brand-line);
  box-shadow: 0 4px 16px rgb(9 47 61 / 4%) !important;
}
body.difi-brand-mediterranean.single-di_business .difi-contact-card { border-top: 3px solid var(--difi-brand-coral); }
body.difi-brand-mediterranean.single-di_business .difi-practical__grid > div { background: #f2f1e9; }
body.difi-brand-mediterranean.single-di_business .difi-practical__grid strong,
body.difi-brand-mediterranean .difi-tb-related__card small { color: #126077; }
body.difi-brand-mediterranean .difi-tb-related__card span { color: #a63a1b; }

/* The v1.17.22 event structure and contained photo remain unchanged. */
body.difi-brand-mediterranean.single-di_event .difi-event-page {
  --difi-event-ink: #092f3d;
  --difi-event-muted: #536969;
  --difi-event-line: #dddcd2;
}
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-hero {
  border-color: var(--difi-brand-line);
  box-shadow: 0 10px 26px rgb(9 47 61 / 7%);
}
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-intro {
  background: linear-gradient(125deg, #092f3d 25%, #15545b);
  border-top: 4px solid var(--difi-brand-coral);
}
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-intro h1 {
  font-size: clamp(38px, 4.5vw, 60px);
  line-height: 1.02;
}
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-eyebrow { color: #ffbd9f; }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-quick dt { color: #c4d7d3; }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-summary { color: #e3eae3; }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-media { background: #fff; }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-section > h2 { font-size: 32px; }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-info > h2 { font-size: 27px; }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-info { border-top-color: var(--difi-brand-coral); }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-prose { color: #354f55; }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-prose blockquote {
  background: #edece1;
  border-left-color: var(--difi-brand-coral);
}
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-facts > div { border-color: #e4e5dc; }
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-prose a,
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-info a,
body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-breadcrumb a { color: #126077; }

/* Calendar and forms use the same palette without changing their controls. */
body.difi-brand-mediterranean :is(.di-calendar, .di-filters, .difi-sport-search, .di-price, .di-faq details) { border-color: var(--difi-brand-line); }
body.difi-brand-mediterranean .di-calendar { border-top: 3px solid var(--difi-brand-coral); box-shadow: 0 8px 22px rgb(9 47 61 / 5%); }
body.difi-brand-mediterranean .di-calendar > header small { color: #a63a1b; font-weight: 800; letter-spacing: .1em; }
body.difi-brand-mediterranean .di-weekday { background: #f0eee3; }
body.difi-brand-mediterranean .di-day > a { background: #e7f0e9; color: #205762; }
body.difi-brand-mediterranean .di-day.is-outside { background: #f6f4ed; }
body.difi-brand-mediterranean .difi-past-events summary { background: #edece1; color: var(--difi-brand-ink); }
body.difi-brand-mediterranean .di-upcoming-title { background: var(--difi-brand-action); }
body.difi-brand-mediterranean .difi-events-strip { box-shadow: 0 7px 20px rgb(9 47 61 / 7%); }
body.difi-brand-mediterranean .difi-events-strip__lead { background: var(--difi-brand-coral); color: var(--difi-brand-ink); }
body.difi-brand-mediterranean .difi-events-strip__lead :is(small, strong) { color: var(--difi-brand-ink); }
body.difi-brand-mediterranean .difi-events-strip__date b { color: #a63a1b; }
body.difi-brand-mediterranean .difi-events-strip__event:hover { background: var(--difi-brand-paper); }
body.difi-brand-mediterranean .di-upcoming-banner time b { color: #a63a1b; }
body.difi-brand-mediterranean .di-upcoming-banner > a:hover { background: #f6f2e9; }
body.difi-brand-mediterranean :is(.di-form input, .di-form select, .di-form textarea,
  .di-filters input, .di-filters select, .difi-sport-search input) {
  border-color: #bfcac5;
  color: var(--difi-brand-ink);
  background: #fff;
}
body.difi-brand-mediterranean :is(.di-form button, .di-filters button, .difi-sport-search button,
  .di-hero-cta, .di-empty-cta, .di-profile-cta) {
  background: var(--difi-brand-action);
  color: #fff;
  border-radius: 8px;
}
body.difi-brand-mediterranean :is(.di-form button, .di-filters button, .difi-sport-search button,
  .di-hero-cta, .di-empty-cta, .di-profile-cta):hover { background: #a83717; }
body.difi-brand-mediterranean .di-price.featured { border-color: var(--difi-brand-coral); }
body.difi-brand-mediterranean :is(.di-pagination .current, .difi-mobile-contact a:not(.is-whatsapp)) {
  background: var(--difi-brand-ink);
  border-color: var(--difi-brand-ink);
  color: #fff;
}
body.difi-brand-mediterranean :is(.di-site-header, .di-site-footer, .difi-sport-page,
  .di-directory-results, .di-form, .di-calendar) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #b9411b !important;
  outline-offset: 3px;
}

@media (max-width: 1050px) {
  body.difi-brand-mediterranean .di-site-header .di-brand::before { background: var(--difi-brand-ink); }
}
@media (max-width: 767px) {
  body.difi-brand-mediterranean .di-page-hero h1 { font-size: clamp(38px, 10vw, 48px) !important; }
  body.difi-brand-mediterranean .di-page-hero > small { display: block !important; margin-bottom: 9px; font-size: 10px; }
  body.difi-brand-mediterranean .difi-sport-page .difi-sport-heading h1 { font-size: clamp(34px, 9vw, 44px) !important; }
  body.difi-brand-mediterranean.single-di_business .difi-tb-hero--logo h1 { font-size: clamp(31px, 8.3vw, 40px) !important; }
  body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-intro h1 { font-size: clamp(35px, 9.5vw, 48px); }
  body.difi-brand-mediterranean.single-di_event .difi-event-page .difi-event-section > h2 { font-size: 29px; }
}
