/* Clone-only additions on top of the captured WordPress CSS. */

/* Astra's JS-driven sticky duplicate header: not needed, the main header is sticky in CSS. */
#ast-fixed-header { display: none !important; }
#masthead { position: sticky; top: 0; z-index: 99; }

/* Off-canvas drawer states Astra normally sets from JS. */
.ast-mobile-popup-drawer { visibility: hidden; }
.ast-mobile-popup-drawer.active { visibility: visible; opacity: 1; }
.ast-mobile-popup-drawer.active .ast-mobile-popup-inner { transform: translateX(0); }
body.ast-popup-nav-open { overflow: hidden; }

/* Desktop dropdown on hover/focus. */
.ast-desktop .main-header-menu .menu-item:hover > .sub-menu,
.ast-desktop .main-header-menu .menu-item:focus-within > .sub-menu { visibility: visible; opacity: 1; left: 0; right: auto; }

/* WhatsApp floating button (replaces the Joinchat plugin). */
.qe-whatsapp {
  position: fixed; right: 20px; bottom: 20px; z-index: 9998;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25d366; display: grid; place-items: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}
.qe-whatsapp:hover { background: #1ebe5b; }


/* Blog pagination (Astra uses infinite scroll; the clone uses real pages). */
.qe-pagination { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin: 2em 0 3em; }
.qe-pagination a, .qe-pagination span {
  min-width: 42px; padding: 8px 12px; border: 1px solid #249fcb; border-radius: 8px;
  text-align: center; color: #1d7fa3; text-decoration: none;
}
.qe-pagination .current { background: #1a7393; color: #fff; }

/* The captured drawer holds both the mobile and the desktop off-canvas menu; show only the mobile one. */
.ast-mobile-popup-drawer #ast-desktop-site-navigation { display: none; }

/* Fixed mobile "RESERVAR" bar (Astra hook 274): hidden on tablet/desktop like live. */
@media (min-width: 922px) { .astra-advanced-hook-274 { display: none; } }
@media (max-width: 921px) {
  .qe-whatsapp { bottom: 84px; }
  body { padding-bottom: 64px; }
}
.ast-post-filter a.ast-post-filter-single { text-decoration: none; }

/* Language switcher (replaces the TranslatePress floating widget). */
.qe-lang {
  position: fixed; left: 16px; bottom: 16px; z-index: 9997;
  display: flex; border-radius: 8px; overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .18); background: #fff; font: 600 14px/1 Helvetica, Arial, sans-serif;
}
.qe-lang a { padding: 10px 12px; color: #121305; text-decoration: none; }
.qe-lang a[aria-current] { background: #1a7393; color: #fff; }
@media (max-width: 921px) { .qe-lang { bottom: 84px; } }



/* Astra hides the mobile-only arrow in desktop menu links. LiteSpeed's UCSS
   dropped this rule from ~29 page templates (arrow before every nav item). */
.ast-desktop .menu-link > .icon-arrow:first-child { display: none; }

/* Legal / policy pages: centered reading column instead of edge-to-edge text. */
.qe-prose #content .ast-container { max-width: 860px; margin: 0 auto; padding: 56px 24px 80px; }
.qe-prose .entry-content .alignfull,
.qe-prose .entry-content .alignwide {
  margin-left: 0 !important; margin-right: 0 !important;
  width: auto !important; max-width: 100% !important; left: auto !important; right: auto !important;
}
.qe-prose .entry-content .stk-block-columns,
.qe-prose .entry-content .stk-block-column,
.qe-prose .entry-content .stk-inner-blocks { padding-left: 0 !important; padding-right: 0 !important; }
.qe-prose .entry-content h1 { margin-bottom: .6em; }
.qe-prose .entry-content p, .qe-prose .entry-content li { line-height: 1.75; }
@media (max-width: 600px) { .qe-prose #content .ast-container { padding: 32px 20px 64px; } }

/* Let the last footer row clear the fixed ES/EN/Cookies pill on desktop. */
@media (min-width: 922px) { body { padding-bottom: 60px; } }

/* ── Servicios mega nav (desktop only; the mobile drawer keeps Astra's list) ─────────
   Three columns: massages (2 cols) + yoga & experiences, each item with a thumbnail.
   Items are placed by their WordPress menu-item ids, identical in ES and EN. */
.qe-mega-foot { display: none; }
@media (min-width: 922px) {
  .ast-desktop #masthead .main-header-menu > .menu-item-21 { position: static; }
  .ast-desktop #masthead .main-header-bar-navigation,
  .ast-desktop #masthead .ast-builder-menu-1 { position: static; }
  .ast-desktop #masthead .site-primary-header-wrap,
  .ast-desktop #masthead .ast-builder-grid-row,
  .ast-desktop #masthead .site-header-section,
  .ast-desktop #masthead .site-navigation,
  .ast-desktop #masthead .main-navigation,
  .ast-desktop #masthead .main-header-menu { position: static; }
  .ast-desktop #masthead .ast-primary-header-bar { position: relative; }

  .ast-desktop #masthead .main-header-menu > .menu-item-21 > .sub-menu {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: auto;
    column-gap: 28px; row-gap: 4px;
    width: min(920px, calc(100vw - 48px));
    left: 50% !important; right: auto !important;
    transform: translate(-50%, 8px);
    top: 100%;
    padding: 26px 28px 0;
    background: #fffdf6;
    border: 0; border-top: 3px solid #249fcb; border-radius: 0 0 16px 16px;
    box-shadow: 0 22px 48px rgba(18, 19, 5, .18);
    opacity: 0; visibility: hidden;
    transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 160ms;
    z-index: 100;
  }
  .ast-desktop #masthead .main-header-menu > .menu-item-21:hover > .sub-menu,
  .ast-desktop #masthead .main-header-menu > .menu-item-21:focus-within > .sub-menu {
    opacity: 1; visibility: visible; transform: translate(-50%, 0);
    transition: opacity 160ms ease, transform 160ms ease, visibility 0s;
  }

  /* column headings */
  .ast-desktop #masthead .menu-item-21 > .sub-menu::before,
  .ast-desktop #masthead .menu-item-21 > .sub-menu::after {
    position: static; transform: none; width: auto; height: auto; display: block;
    grid-row: 1; align-self: end;
    padding: 0 10px 10px; margin-bottom: 6px;
    border-bottom: 1px solid #e6e0c8;
    font: 700 12px/1.2 Helvetica, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #1a7fa0;
  }
  .ast-desktop #masthead .menu-item-21 > .sub-menu::before { content: "Masajes"; grid-column: 1 / 3; }
  .ast-desktop #masthead .menu-item-21 > .sub-menu::after { content: "Yoga y experiencias"; grid-column: 3; }
  html[lang="en"] .ast-desktop #masthead .menu-item-21 > .sub-menu::before { content: "Massages"; }
  html[lang="en"] .ast-desktop #masthead .menu-item-21 > .sub-menu::after { content: "Yoga & experiences"; }

  /* placement */
  .ast-desktop #masthead .sub-menu > .menu-item-6932 { grid-area: 2 / 1; }
  .ast-desktop #masthead .sub-menu > .menu-item-8748 { grid-area: 3 / 1; }
  .ast-desktop #masthead .sub-menu > .menu-item-6933 { grid-area: 4 / 1; }
  .ast-desktop #masthead .sub-menu > .menu-item-3921 { grid-area: 5 / 1; }
  .ast-desktop #masthead .sub-menu > .menu-item-7738 { grid-area: 2 / 2; }
  .ast-desktop #masthead .sub-menu > .menu-item-7331 { grid-area: 3 / 2; }
  .ast-desktop #masthead .sub-menu > .menu-item-6957 { grid-area: 4 / 2; }
  .ast-desktop #masthead .sub-menu > .menu-item-480  { grid-area: 2 / 3; }
  .ast-desktop #masthead .sub-menu > .menu-item-522  { grid-area: 3 / 3; }
  .ast-desktop #masthead .sub-menu > .menu-item-3249 { grid-area: 4 / 3; }

  /* items */
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .menu-item { width: auto; border: 0; margin: 0; }
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .menu-item > .menu-link {
    display: flex; align-items: center; gap: 14px;
    padding: 8px 10px; border: 0; border-radius: 12px;
    font-family: 'PT Serif', Georgia, serif; font-size: 17px; line-height: 1.25; font-weight: 400;
    text-transform: none; letter-spacing: 0; color: #121305; white-space: normal;
    background: transparent; transition: background-color 120ms ease, color 120ms ease;
  }
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .menu-item > .menu-link::before {
    content: ""; flex: 0 0 56px; width: 56px; height: 56px; border-radius: 12px;
    background-color: #e9e3cc; background-position: center; background-size: cover; background-repeat: no-repeat;
  }
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .menu-item > .menu-link:hover,
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .menu-item > .menu-link:focus-visible {
    background: #eef6f9; color: #1a7fa0;
  }
  .ast-desktop #masthead .menu-item-21 > .sub-menu .menu-link .ast-icon { display: none; }
  .ast-desktop #masthead .sub-menu > .menu-item-6932 > .menu-link::before { background-image: url(/img/nav/6932.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-8748 > .menu-link::before { background-image: url(/img/nav/8748.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-6933 > .menu-link::before { background-image: url(/img/nav/6933.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-3921 > .menu-link::before { background-image: url(/img/nav/3921.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-7738 > .menu-link::before { background-image: url(/img/nav/7738.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-7331 > .menu-link::before { background-image: url(/img/nav/7331.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-6957 > .menu-link::before { background-image: url(/img/nav/6957.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-480  > .menu-link::before { background-image: url(/img/nav/480.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-522  > .menu-link::before { background-image: url(/img/nav/522.webp); }
  .ast-desktop #masthead .sub-menu > .menu-item-3249 > .menu-link::before { background-image: url(/img/nav/3249.webp); }

  /* footer row */
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .qe-mega-foot {
    display: flex; flex-direction: row; justify-content: space-between; align-items: center;
    grid-column: 1 / -1; grid-row: 6;
    margin: 18px -28px 0; padding: 14px 28px;
    background: #f0ecdb; border-radius: 0 0 16px 16px;
  }
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .qe-mega-foot > .menu-link {
    display: inline-block; width: auto; flex: 0 0 auto; padding: 6px 0; border: 0; background: none;
    font: 700 14px/1.2 Helvetica, Arial, sans-serif; text-transform: none; letter-spacing: 0; color: #1a7fa0;
  }
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .qe-mega-foot > .menu-link::before { content: none; }
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .qe-mega-foot > .menu-link::after { content: " \2192"; }
  .ast-desktop #masthead .menu-item-21 > .sub-menu > .qe-mega-foot > .menu-link:hover { text-decoration: underline; background: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ast-desktop #masthead .main-header-menu > .menu-item-21 > .sub-menu { transition: none; }
}

/* Narrow desktop (922-1200px): on live the nav wraps to two rows and the "Reservar Cita"
   button collapses to a 72px-wide column (header 233px tall). Keep everything on one row. */
@media (min-width: 922px) and (max-width: 1200px) {
  .ast-desktop #masthead .main-header-menu { flex-wrap: nowrap; }
  .ast-desktop #masthead .main-header-menu > .menu-item > .menu-link {
    padding-left: 9px; padding-right: 9px; font-size: 13px; white-space: nowrap;
  }
  .ast-desktop #masthead .ast-builder-button-wrap .ast-custom-button {
    white-space: nowrap; padding-left: 16px; padding-right: 16px;
  }
  .ast-desktop #masthead .site-header-primary-section-right { flex-shrink: 0; }
  .ast-desktop #masthead .custom-logo-link img { max-width: 150px; }
}
@media (min-width: 922px) and (max-width: 1023px) {
  .ast-desktop #masthead .main-header-menu > .menu-item > .menu-link { padding-left: 6px; padding-right: 6px; font-size: 12px; }
  .ast-desktop #masthead .ast-builder-button-wrap .ast-custom-button { padding-left: 12px; padding-right: 12px; font-size: 13px; }
  .ast-desktop #masthead .custom-logo-link img { max-width: 130px; }
  .ast-desktop #masthead .ast-builder-grid-row { column-gap: 10px; }
}

/* Astra hides the desktop header below 921.99px and the mobile header from 922px; at exactly
   922px both rules match and the page has no header at all. Show the desktop header from 922px. */
@media (min-width: 922px) { #ast-desktop-header { display: block; } }

/* ── Blog + category archive cards ─────────────────────────────────────────────────
   Live renders card titles at the global h2 size (48px, centered, blue) in a 4-column
   grid, so cards ran ~1300px tall. Readable card: photo, category, 20px title,
   3-line excerpt, quiet meta, text link. */
.ast-blog-layout-4-grid .site-main > .ast-row {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 28px;
  margin: 0; padding: 0 4px; /* !important: Astra forces display:flex on .ast-row */
}
.ast-blog-layout-4-grid .ast-row > .ast-archive-post {
  width: auto !important; max-width: none; float: none; margin: 0; padding: 0 !important;
  background: transparent; border: 0;
}
.ast-blog-layout-4-grid .ast-archive-post .ast-article-inner {
  height: 100%; padding: 0; background: #fff !important; border-radius: 14px; overflow: hidden;
  box-shadow: 0 2px 10px rgba(18, 19, 5, .08); transition: box-shadow 160ms ease, transform 160ms ease;
}
.ast-blog-layout-4-grid .ast-archive-post .ast-article-inner:hover { box-shadow: 0 10px 26px rgba(18, 19, 5, .14); transform: translateY(-2px); }
.ast-blog-layout-4-grid .ast-archive-post .post-content {
  display: flex; flex-direction: column; height: 100%; padding: 0 0 20px; text-align: left;
}
.ast-blog-layout-4-grid .ast-archive-post .post-content > * { margin: 0; padding-left: 20px; padding-right: 20px; }

/* photo */
.ast-blog-layout-4-grid .ast-archive-post .ast-blog-featured-section { order: 1; padding: 0; margin: 0 0 16px; }
.ast-blog-layout-4-grid .ast-archive-post .post-thumb-img-content { margin: 0; padding: 0; }
.ast-blog-layout-4-grid .ast-archive-post .post-thumb-img-content a { display: block; }
.ast-blog-layout-4-grid .ast-archive-post .wp-post-image {
  display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0;
}

/* category */
.ast-blog-layout-4-grid .ast-archive-post .ast-taxonomy-container { order: 2; margin-bottom: 8px; }
.ast-blog-layout-4-grid .ast-archive-post .ast-taxonomy-container a {
  font: 700 11px/1.3 Helvetica, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase;
  color: #1a7fa0; text-decoration: none;
}

/* title */
.ast-blog-layout-4-grid .ast-archive-post .entry-title {
  order: 3; margin-bottom: 10px;
  font-size: 20px !important; line-height: 1.3 !important; font-weight: 700; text-align: left;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
}
.ast-blog-layout-4-grid .ast-archive-post .entry-title a { color: #121305; text-decoration: none; }
.ast-blog-layout-4-grid .ast-archive-post .entry-title a:hover,
.ast-blog-layout-4-grid .ast-archive-post .entry-title a:focus-visible { color: #1a7fa0; }

/* excerpt */
.ast-blog-layout-4-grid .ast-archive-post .ast-excerpt-container { order: 4; margin-bottom: 14px; }
.ast-blog-layout-4-grid .ast-archive-post .ast-excerpt-container p {
  margin: 0; font-size: 15px; line-height: 1.6; color: #4a4a43; text-align: left;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
}

/* meta */
.ast-blog-layout-4-grid .ast-archive-post .ast-blog-meta-container { order: 5; margin-bottom: 14px; }
.ast-blog-layout-4-grid .ast-archive-post .entry-meta,
.ast-blog-layout-4-grid .ast-archive-post .entry-meta a {
  font: 400 13px/1.4 Helvetica, Arial, sans-serif; color: #6f6f66; text-decoration: none; text-align: left;
}

/* read more */
.ast-blog-layout-4-grid .ast-archive-post .ast-read-more-container { order: 6; margin-top: auto; }
.ast-blog-layout-4-grid .ast-archive-post .ast-read-more-container a.ast-button {
  display: inline-block; padding: 0; border: 0; border-radius: 0; background: none !important;
  font: 700 14px/1.3 Helvetica, Arial, sans-serif; color: #1a7fa0 !important; text-transform: none;
}
.ast-blog-layout-4-grid .ast-archive-post .ast-read-more-container a.ast-button:hover { text-decoration: underline; }

/* filter bar + pagination spacing */
.ast-blog-layout-4-grid .ast-post-filter ul { margin-bottom: 2em; }
.ast-blog-layout-4-grid .qe-pagination { margin-top: 3em; }

@media (max-width: 600px) {
  .ast-blog-layout-4-grid .site-main > .ast-row { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 0; }
  .ast-blog-layout-4-grid .ast-archive-post .entry-title { font-size: 19px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ast-blog-layout-4-grid .ast-archive-post .ast-article-inner { transition: none; }
  .ast-blog-layout-4-grid .ast-archive-post .ast-article-inner:hover { transform: none; }
}
/* card meta + link: left-aligned like the rest of the card, with breathing room around the separator */
.ast-blog-layout-4-grid .ast-archive-post .ast-blog-meta-container,
.ast-blog-layout-4-grid .ast-archive-post .entry-meta,
.ast-blog-layout-4-grid .ast-archive-post .ast-read-more-container { text-align: left !important; justify-content: flex-start; }
.ast-blog-layout-4-grid .ast-archive-post .entry-meta { display: block; }
.ast-blog-layout-4-grid .ast-archive-post .entry-meta .posted-on { margin-right: .45em; }
.ast-blog-layout-4-grid .ast-archive-post .entry-meta .posted-by { margin-left: .45em; }

/* Feedback overlay help pill (preview only): sit above the WhatsApp button and mobile RESERVAR bar. */
.fb-help { bottom: 92px !important; }
@media (max-width: 921px) { .fb-help { bottom: 154px !important; } }
/* /review hub runs inside the site layout: give it the page background and room under the header. */
.qe-review #content .ast-container { max-width: 1200px; margin: 0 auto; padding: 32px 24px 80px; }
/* Overlay switched off at runtime (no FEEDBACK_TOKEN secret on the deployment). */
.fb-off #fb-root, .fb-off .fb-help, .fb-off .fb-pin { display: none !important; }

/* ── Client review round 1 (overlay comments 2026-10-05/06) ───────────────────── */

/* 1. One button shape everywhere: the header "Reservar Cita" button (15px radius) is the model. */
.entry-content .wp-block-button__link,
footer .wp-block-button__link,
.qe-card-btn,
.entry-content .qe-tarifa-card a[href],
.entry-content a[style*="border-radius:30px"] { border-radius: 15px !important; }
/* Footer gift-card button: same dark style as its Google Maps / Como llegar neighbours. */
footer .wp-block-button__link[href*="tarjetas-regalo"],
footer .wp-block-button__link[href*="gift-cards"] {
  background-color: #121305 !important; color: #f0ecdb !important;
}

/* 2. Image + blue panel rows (Relajante, Kobido, Sobre nosotros): one card, no gap,
      photo fills the panel's full height. */
.entry-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column.has-background) {
  gap: 0 !important; align-items: stretch !important; border-radius: 20px; overflow: hidden;
}
.entry-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column.has-background) > .wp-block-column {
  border-radius: 0 !important; margin: 0 !important;
}
.entry-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column.has-background) > .wp-block-column:has(> .wp-block-image) {
  display: flex; padding: 0 !important;
}
.entry-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column.has-background) > .wp-block-column > .wp-block-image {
  flex: 1; display: flex; margin: 0 !important;
}
.entry-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column.has-background) > .wp-block-column > .wp-block-image img {
  width: 100% !important; height: 100% !important; min-height: 100%; aspect-ratio: auto !important;
  object-fit: cover; border-radius: 0 !important; display: block;
}
@media (max-width: 781px) {
  .entry-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column.has-background) > .wp-block-column > .wp-block-image img {
    height: 300px !important; min-height: 0;
  }
}

/* 3. Price cards (Tarifas): all the same size, square where the content allows. */
.entry-content div[style*="display:grid"]:has(> .qe-tarifa-card) {
  grid-template-columns: repeat(auto-fit, 340px) !important; grid-auto-rows: 1fr;
  max-width: 1080px !important; justify-content: center !important;
}
.entry-content .qe-tarifa-card {
  /* min-height:auto lets a card grow instead of clipping if its content does not fit the square */
  min-height: auto !important; aspect-ratio: 1 / 1; padding: 16px 18px !important;
}
/* Duration and price on one line ("50 minutos — 50 € L-V · 65 € S-F"); notes keep their line breaks. */
.entry-content .qe-tarifa-card > div[style*="flex-grow"] p > br:has(+ span) { display: none; }
.entry-content .qe-tarifa-card > div[style*="flex-grow"] p > br + span::before { content: " — "; }
.entry-content .qe-tarifa-card > div[style*="flex-grow"] p { margin-bottom: 5px !important; }
.entry-content .qe-tarifa-card > div[style*="flex-grow"] p:not(:has(span)) { font-size: 12px !important; opacity: .9; margin-top: 6px !important; }
.entry-content .qe-tarifa-card > img { width: 56px !important; height: 56px !important; margin-bottom: 6px !important; }
.entry-content .qe-tarifa-card > h3 { font-size: 19px !important; margin-bottom: 8px !important; }
.entry-content .qe-tarifa-card > p:first-of-type { margin-bottom: 3px !important; }
.entry-content .qe-tarifa-card > div[style*="flex-grow"] { margin-bottom: 10px !important; }
@media (max-width: 700px) {
  .entry-content div[style*="display:grid"]:has(> .qe-tarifa-card) { grid-template-columns: minmax(0, 340px) !important; }
}

/* 4. Extras and add-ons: a plain price list, price set apart from the name. */
.entry-content ul.qe-extras { list-style: none; max-width: 760px; margin: 0 auto 30px !important; padding: 0 20px; }
.entry-content ul.qe-extras li {
  display: grid; grid-template-columns: 1fr auto; column-gap: 24px; row-gap: 4px;
  padding: 16px 0; border-bottom: 1px solid #d9d3bd; margin: 0;
}
.entry-content ul.qe-extras li:first-child { border-top: 1px solid #d9d3bd; }
.qe-extra-name { font-weight: 700; color: #121305; font-size: 17px; }
.qe-extra-price { font-weight: 700; color: #166783; font-size: 17px; white-space: nowrap; text-align: right; }
.qe-extra-desc { grid-column: 1 / -1; color: #4a4a43; font-size: 15px; line-height: 1.55; }

/* Home "Opiniones de clientes": the empty review-plugin widget was removed; drop the space it held. */
.entry-content .wp-block-group:has(> .qe-reviews-cta) { padding-top: 0 !important; margin-top: 0 !important; min-height: 0 !important; }
.entry-content .wp-block-group:has(> .qe-reviews-cta) > p:first-child { margin-top: 0 !important; }

/* WCAG 2.2 target size (2.5.8): the header submenu arrows were 19px wide; give them a 24px hit area. */
#masthead .ast-header-navigation-arrow,
#masthead .dropdown-menu-toggle { min-width: 24px; min-height: 24px; justify-content: center; text-align: center; }

/* WCAG AA contrast (1.4.3), 2026-10-20. The brand blue #249fcb carries dark text in the header
   (fine, 6:1) but fails behind or as light text (2.6-3.0:1). Only those uses move to a darker
   shade of the same hue: #1a7393 (>= 4.5:1 on cream and white), #166783 for the tarifa cards. */
/* Footer blue panels mix cream and dark text: keep the brand blue, make the cream lines dark (6:1). */
footer .wp-block-group[style*="--ast-global-color-0"] :is(p, strong, em, h2, h3, h4, span, a):not(.wp-block-button__link):not(.wp-block-button__link *) { color: #121305 !important; }
.entry-content [style^="color:#249fcb" i], .entry-content [style*=";color:#249fcb" i],
.entry-content [style^="color:var(--ast-global-color-0)"], .entry-content [style*=";color:var(--ast-global-color-0)"],
.entry-content .has-text-color.has-ast-global-color-0-color,
.entry-content h2.has-text-color[style*="249fcb" i] { color: #1a7393 !important; }
.qe-tarifa-card, .qe-card-text { background-color: #166783 !important; }
.qe-tarifa-card p, .qe-tarifa-card span, .qe-card-text p { color: #ffffff !important; opacity: 1 !important; }
.qe-tarifa-card a[style*="background-color:#ffffff" i] { color: #166783 !important; }
.ast-post-filter-single:not(.active), .ast-author-meta .author-title, .ast-post-nav,
.post-navigation .nav-previous p, .post-navigation .nav-next p, .post-navigation a p { color: #186987 !important; }
.ast-related-posts-title-section a, .ast-related-post-content .entry-title a, .ast-single-related-posts-container .entry-title a { color: #1a7393 !important; }
.ast-single-related-posts-container .published,
.entry-content [style*="color:var(--ast-global-color-3)"], .entry-content .has-ast-global-color-3-color,
.entry-content [style*="color:#67768e" i] { color: #5e6c81 !important; }

/* Cookie consent (AEPD guide, 2023): "Denegar" gets the same look as "Aceptar" so neither choice is
   pushed. The footer "Gestionar cookies" button reopens the banner on every screen size (Complianz
   hides its own floating tab below 768px); it is styled like the footer links around it. */
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
  background-color: var(--cmplz_button_accept_background_color);
  border-color: var(--cmplz_button_accept_border_color);
  color: var(--cmplz_button_accept_text_color);
}
footer button.qe-manage-cookies {
  background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit;
  text-align: inherit; cursor: pointer;
}
footer button.qe-manage-cookies:hover, footer button.qe-manage-cookies:focus-visible { text-decoration: underline; }
