/*
 * Reina Aicha — capa de pulido sobre el tema Barbercrop (21/10/2026)
 *
 * Decisiones:
 * - Tipografía: Oswald (títulos, identidad de la marca) + Barlow (texto). Ambas alojadas aquí.
 *   Escala: 14 · 17 · 20 · 24 · 30 · 38 · 48 · 64 px (títulos fluidos con clamp).
 * - Color: el carbón del tema (#202020) y un único acento, el dorado del logo (#E2BF4B).
 *   Texto sobre dorado siempre oscuro (el blanco no llegaba al contraste mínimo).
 * - Espaciado: múltiplos de 4 px (--ra-1 … --ra-10).
 */

@font-face {
  font-family: "Oswald";
  src: url("fuentes/oswald-latin-wght-normal.woff2") format("woff2-variations");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Oswald";
  src: url("fuentes/oswald-latin-ext-wght-normal.woff2") format("woff2-variations");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face { font-family: "Barlow"; src: url("fuentes/barlow-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow"; src: url("fuentes/barlow-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Barlow"; src: url("fuentes/barlow-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Barlow"; src: url("fuentes/barlow-latin-600-normal.woff2") format("woff2"); font-weight: 600 700; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Barlow"; src: url("fuentes/barlow-latin-ext-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow"; src: url("fuentes/barlow-latin-ext-600-normal.woff2") format("woff2"); font-weight: 600 700; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --ra-fondo: #202020;
  --ra-fondo-hondo: #181818;
  --ra-superficie: #2a2927;
  --ra-linea: #3a3833;
  --ra-oro: #e2bf4b;
  --ra-oro-claro: #efd172;
  --ra-tinta: #191714;
  --ra-texto: #f3efe6;
  --ra-texto-2: #c4bdb0;
  --ra-texto-3: #9f988b;

  --ra-display: "Oswald", "Arial Narrow", sans-serif;
  --ra-cuerpo: "Barlow", "Helvetica Neue", Arial, sans-serif;

  --ra-1: 4px; --ra-2: 8px; --ra-3: 12px; --ra-4: 16px; --ra-5: 24px;
  --ra-6: 32px; --ra-7: 48px; --ra-8: 64px; --ra-9: 96px; --ra-10: 128px;

  --ra-salida: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Elementor: las tipografías globales del kit apuntaban a Roboto. */
body.elementor-kit-10 {
  --e-global-typography-primary-font-family: "Oswald";
  --e-global-typography-secondary-font-family: "Oswald";
  --e-global-typography-text-font-family: "Barlow";
  --e-global-typography-accent-font-family: "Barlow";
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }
body {
  font-family: var(--ra-cuerpo);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ra-texto-2);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
}
body p, body li, body input, body textarea, body select, body label,
.elementor-widget-text-editor, .elementor-widget-text-editor *,
.text, .preview { font-family: var(--ra-cuerpo) !important; }
body p { text-wrap: pretty; }

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.section_header-title,
.title {
  font-family: var(--ra-display) !important;
  color: var(--ra-texto);
  letter-spacing: 0.01em;
  text-wrap: balance;
}
h1, .hero_content-header { font-size: clamp(40px, 26px + 3.4vw, 64px); line-height: 1.04; font-weight: 600; }
h2, .section_header-title { font-size: clamp(30px, 22px + 1.8vw, 44px); line-height: 1.1; font-weight: 600; }
h3 { font-size: clamp(22px, 19px + 0.6vw, 26px); line-height: 1.2; font-weight: 500; }
h4 { font-size: 20px; line-height: 1.25; font-weight: 500; }

a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }

::selection { background: var(--ra-oro); color: var(--ra-tinta); }
html { scrollbar-color: #4a4740 var(--ra-fondo-hondo); }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--ra-fondo-hondo); }
::-webkit-scrollbar-thumb { background: #4a4740; border: 3px solid var(--ra-fondo-hondo); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--ra-oro); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--ra-oro);
  outline-offset: 3px;
}

/* Las grandes palabras fantasma detrás de los títulos se montaban sobre el texto real. */
.section_header-subtitle { display: none !important; }
.section_header { margin-bottom: var(--ra-7); }

/* ---------- Botones ---------- */
.theme-element.btn,
.elementor-button,
.wpcf7-submit,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ra-2);
  min-height: 48px;
  padding: 12px 28px !important;
  background: var(--ra-oro) !important;
  border: 2px solid var(--ra-oro) !important;
  border-radius: 2px !important;
  color: var(--ra-tinta) !important;
  font-family: var(--ra-display) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none;
  transition: background-color 0.25s var(--ra-salida), border-color 0.25s var(--ra-salida), color 0.25s var(--ra-salida), transform 0.25s var(--ra-salida);
}
.theme-element.btn:hover,
.elementor-button:hover,
.wpcf7-submit:hover,
input[type="submit"]:hover {
  background: var(--ra-oro-claro) !important;
  border-color: var(--ra-oro-claro) !important;
  color: var(--ra-tinta) !important;
}
.theme-element.btn:active,
.elementor-button:active { transform: translateY(1px); }
.elementor-button .elementor-button-text,
.elementor-button .elementor-button-icon,
.elementor-button svg { color: inherit !important; fill: currentColor !important; }

/* ---------- Cabecera ---------- */
.header { background: rgba(24, 24, 24, 0.96); border-bottom: 1px solid var(--ra-linea); }
.header .brand-logo img { width: 56px; height: 56px; object-fit: contain; }
.brand-logo_name {
  margin-left: var(--ra-3) !important;
  font-family: var(--ra-display) !important;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ra-texto);
  text-transform: uppercase;
}
.header_nav-list_item { font-size: 15px !important; letter-spacing: 0.08em; }
.header_nav-list_item > a,
.header_nav-list_item .dropdown-item {
  position: relative;
  background: transparent !important;
  color: var(--ra-texto) !important;
  padding: var(--ra-2) 0 !important;
  transition: color 0.2s var(--ra-salida);
}
.header_nav-list_item > a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--ra-oro);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s var(--ra-salida);
}
.header_nav-list_item > a:hover { color: var(--ra-oro) !important; }
.header_nav-list_item > a:hover::after,
.header_nav-list_item.active > a::after { transform: scaleX(1); }
.header_nav-list_item.active,
.header_nav-list_item.current-menu-item { background: transparent !important; }
.header_nav-list_item.active > a { color: var(--ra-oro) !important; }
.header_btn.btn { min-height: 44px; padding: 10px 22px !important; }

/* ---------- Texto corrido ---------- */
.elementor-widget-text-editor,
.about_main-text, .services_list-item .text,
.post_main-article p, .post_main-article li { color: var(--ra-texto-2); }
.elementor-widget-text-editor p,
.services_list .text,
.about .text { max-width: 68ch; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* En el bloque centrado de la cita, la columna de 68ch también va centrada */
#cita .elementor-widget-text-editor p { margin-inline: auto; }

/* Cifras de «Sobre nosotros» */
.about_info-fact_title { font-size: 26px !important; line-height: 1.15; color: var(--ra-oro) !important; }

/* Bloques de servicios: título en dorado y aire entre servicios */
.services_list-item .title,
.service_list-item .title { color: var(--ra-texto); margin-bottom: var(--ra-3); }
.services_list-item { margin-bottom: var(--ra-7); }
.services_list-item .icon,
.services_list-item i { color: var(--ra-oro); }

/* ---------- Tarjetas de blog (portada y listado) ---------- */
.blog_recent,
.feed_posts {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  gap: var(--ra-7) var(--ra-6);
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.blog_recent-post,
.feed_posts-post {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.blog_recent-post_wrapper,
.feed_posts-post_wrapper {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none !important;
}
.blog_recent-post .media,
.feed_posts-post .media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  margin: 0 0 var(--ra-5);
  background: var(--ra-superficie);
}
.blog_recent-post .media img,
.feed_posts-post .media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ra-salida), filter 0.6s var(--ra-salida);
}
.blog_recent-post_wrapper:hover .media img,
.feed_posts-post_wrapper:hover .media img { transform: scale(1.04); }
.blog_recent-post .main,
.feed_posts-post .main { display: flex !important; flex-direction: column; gap: var(--ra-3); padding: 0 !important; flex-grow: 1; }
.blog_recent-post .title,
.feed_posts-post .title {
  margin: 0;
  font-size: clamp(21px, 19px + 0.4vw, 24px) !important;
  line-height: 1.2 !important;
  font-weight: 500;
  color: var(--ra-texto);
  transition: color 0.2s var(--ra-salida);
}
.blog_recent-post_wrapper:hover .title,
.feed_posts-post_wrapper:hover .title { color: var(--ra-oro); }
.feed_posts-post .preview {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ra-texto-2);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ra-leer {
  margin-top: auto;
  padding-top: var(--ra-2);
  font-family: var(--ra-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ra-oro);
}
.ra-leer::after { content: " →"; display: inline-block; transition: transform 0.3s var(--ra-salida); }
.blog_recent-post_wrapper:hover .ra-leer::after,
.feed_posts-post_wrapper:hover .ra-leer::after { transform: translateX(4px); }
/* Fechas y «0 Comments» del tema: fuera */
.blog_recent-post .date,
.feed_posts-post .info { display: none !important; }

/* Cabecera del listado del blog */
.feed .section_header-title { margin-bottom: var(--ra-3); }

/* ---------- Entrada del blog ---------- */
.post.section { padding-top: var(--ra-8); padding-bottom: var(--ra-9); }
.post_main-article_img { aspect-ratio: 16 / 9; overflow: hidden; margin-bottom: var(--ra-6); }
.post_main-article_img img { width: 100%; height: 100%; object-fit: cover; }
.post_main-article_header .title {
  font-size: clamp(32px, 24px + 2vw, 48px) !important;
  line-height: 1.08 !important;
  margin-bottom: var(--ra-3);
}
.post_main-article_header .info { gap: var(--ra-4); margin-bottom: var(--ra-6); color: var(--ra-texto-3); font-size: 15px; }
.post_main-article_header .info_comments { display: none !important; }
.post_main-article { max-width: 72ch; }
.post_main-article p,
.post_main-article li { font-size: 18px; line-height: 1.75; }
.post_main-article p { margin: 0 0 1.1em; }
.post_main-article h2 {
  font-size: clamp(26px, 21px + 1vw, 32px) !important;
  line-height: 1.15;
  margin: 1.8em 0 0.6em;
}
.post_main-article h3 { font-size: 22px !important; margin: 1.6em 0 0.5em; }
.post_main-article ul,
.post_main-article ol { padding-left: 1.2em; margin: 0 0 1.2em; }
.post_main-article li { margin-bottom: 0.4em; }
.post_main-article li::marker { color: var(--ra-oro); }
.post_main-article a:not(.btn) { color: var(--ra-oro); text-decoration: underline; }
.post_main-article strong { color: var(--ra-texto); font-weight: 600; }
.post_main-article img { height: auto; }
.post_main-article figure { margin: var(--ra-6) 0; }
.post_main-article figcaption { font-size: 14px; color: var(--ra-texto-3); margin-top: var(--ra-2); }
.post_main-article blockquote {
  margin: var(--ra-6) 0;
  padding: var(--ra-4) 0 var(--ra-4) var(--ra-5);
  border-left: 1px solid var(--ra-oro);
  font-size: 20px;
  color: var(--ra-texto);
}

/* Barra lateral */
.post_aside { padding-left: var(--ra-7) !important; }
.post_aside .widget,
.post_aside > div > section,
.post_aside .ra-aside-cita { margin-bottom: var(--ra-7); }
@media (min-width: 992px) {
  .post_aside > * { position: sticky; top: 120px; }
}
.post_aside .widget-title,
.post_aside h2,
.post_aside h3,
.post_aside h4 {
  font-size: 15px !important;
  letter-spacing: 0.12em;
  color: var(--ra-texto-3) !important;
  margin: 0 0 var(--ra-4);
  padding-bottom: var(--ra-3);
  border-bottom: 1px solid var(--ra-linea);
}
.post_aside ul { list-style: none; margin: 0; padding: 0; }
.post_aside li { padding: var(--ra-2) 0; border: 0; font-size: 16px; line-height: 1.4; }
.post_aside li a { color: var(--ra-texto); text-decoration: none; transition: color 0.2s var(--ra-salida); }
.post_aside li a:hover { color: var(--ra-oro); }
.ra-aside-cita {
  padding: var(--ra-6) var(--ra-5);
  background: var(--ra-superficie);
  border-top: 2px solid var(--ra-oro);
}
.ra-aside-cita h3 { font-size: 24px !important; color: var(--ra-texto) !important; letter-spacing: 0.01em; border: 0 !important; padding: 0 !important; margin: 0 0 var(--ra-2) !important; }
.ra-aside-cita p { font-size: 16px; margin: 0 0 var(--ra-5); }
.ra-aside-cita .ra-aside-tel { display: block; font-family: var(--ra-display); font-size: 26px; font-weight: 600; letter-spacing: 0.02em; color: var(--ra-oro); text-decoration: none; margin-bottom: var(--ra-4); }
.ra-aside-cita .btn { width: 100%; }

/* ---------- Galería ---------- */
.ra-galeria {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: var(--ra-3);
  list-style: none;
  margin: 0;
  padding: 0;
}
.ra-galeria_item a {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--ra-superficie);
}
.ra-galeria_item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ra-salida);
}
.ra-galeria_item a:hover img { transform: scale(1.04); }
.ra-galeria_pie {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: var(--ra-7) var(--ra-4) var(--ra-4);
  background: linear-gradient(to top, rgba(16, 16, 16, 0.85), rgba(16, 16, 16, 0));
  color: var(--ra-texto);
  font-size: 15px;
  line-height: 1.35;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.35s var(--ra-salida), transform 0.35s var(--ra-salida);
}
.ra-galeria_item a:hover .ra-galeria_pie,
.ra-galeria_item a:focus-visible .ra-galeria_pie { opacity: 1; transform: none; }
@media (hover: none) {
  .ra-galeria_pie { opacity: 1; transform: none; }
}
.ra-galeria-pagina { padding: var(--ra-8) 0 var(--ra-9); }
.ra-galeria-pagina .ra-galeria-intro { max-width: 60ch; margin: 0 0 var(--ra-7); }
.ra-galeria-pagina h1 { margin: 0 0 var(--ra-4); }

/* ---------- Formularios (Contact Form 7) ---------- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  background: var(--ra-fondo-hondo) !important;
  border: 1px solid var(--ra-linea) !important;
  border-radius: 2px;
  color: var(--ra-texto) !important;
  font-size: 16px !important;
  padding: 12px 14px !important;
  transition: border-color 0.2s var(--ra-salida);
}
.wpcf7 input:focus,
.wpcf7 textarea:focus { border-color: var(--ra-oro) !important; outline: none; }
.wpcf7 ::placeholder { color: var(--ra-texto-3); opacity: 1; }
.wpcf7 label { color: var(--ra-texto); font-size: 14px; letter-spacing: 0.04em; }
.wpcf7-not-valid-tip { color: #f0a58f; font-size: 14px; margin-top: var(--ra-1); }
.wpcf7 form .wpcf7-response-output { border-radius: 2px; margin: var(--ra-5) 0 0; padding: var(--ra-3) var(--ra-4); }

/* ---------- Pie de página ---------- */
.ra-pie {
  background: var(--ra-fondo-hondo);
  border-top: 1px solid var(--ra-linea);
  color: var(--ra-texto-2);
  font-size: 16px;
  line-height: 1.6;
}
.ra-pie a { color: var(--ra-texto); text-decoration: none; transition: color 0.2s var(--ra-salida); }
.ra-pie a:hover { color: var(--ra-oro); }
.ra-pie_cita {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ra-5) var(--ra-7);
  padding: var(--ra-8) 0;
  border-bottom: 1px solid var(--ra-linea);
}
.ra-pie_cita-titulo {
  margin: 0;
  font-size: clamp(28px, 22px + 1.6vw, 40px) !important;
  line-height: 1.1;
  color: var(--ra-texto);
}
.ra-pie_cita-titulo span { color: var(--ra-oro); }
.ra-pie_cita-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ra-4) var(--ra-6); }
.ra-pie_tel {
  font-family: var(--ra-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ra-texto) !important;
}
.ra-pie_tel:hover { color: var(--ra-oro) !important; }
.ra-pie_rejilla {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
  gap: var(--ra-7) var(--ra-6);
  padding: var(--ra-8) 0 var(--ra-7);
}
.ra-pie_marca { display: flex; flex-direction: column; gap: var(--ra-4); max-width: 36ch; }
.ra-pie_logo { display: inline-flex; align-items: center; gap: var(--ra-3); }
.ra-pie_logo img { width: 72px; height: 72px; object-fit: contain; }
.ra-pie_nombre {
  font-family: var(--ra-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ra-texto);
  line-height: 1.1;
}
.ra-pie_marca p { margin: 0; }
.ra-pie_titulo {
  margin: 0 0 var(--ra-4) !important;
  font-size: 14px !important;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ra-texto-3) !important;
}
.ra-pie_lista { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ra-2); }
.ra-pie address { font-style: normal; margin: 0; display: grid; gap: var(--ra-2); }
.ra-pie_legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--ra-2) var(--ra-5);
  padding: var(--ra-5) 0 var(--ra-6);
  border-top: 1px solid var(--ra-linea);
  font-size: 14px;
  color: var(--ra-texto-3);
}
.ra-pie_legal p { margin: 0; }

@media (max-width: 991px) {
  .ra-pie_rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ra-pie_marca { grid-column: 1 / -1; }
  .post_aside { padding-left: 0 !important; margin-top: var(--ra-8); }
}
@media (max-width: 575px) {
  body { font-size: 16px; }
  .ra-pie_lista a,
  .ra-pie address a { display: inline-block; padding: 8px 0; }
  .ra-pie_lista,
  .ra-pie address { gap: 0; }
  .ra-pie_rejilla { grid-template-columns: 1fr; gap: var(--ra-6); padding-top: var(--ra-7); }
  .ra-pie_cita { padding: var(--ra-7) 0; }
  .ra-pie_cita-acciones { width: 100%; }
  .ra-pie_cita-acciones .btn { width: 100%; }
  .brand-logo_name { font-size: 17px; }
  .header .brand-logo img { width: 44px; height: 44px; }
  .post_main-article p, .post_main-article li { font-size: 17px; }
}

/* ---------- Ajustes tras la primera revisión ---------- */
.ra-pie .ra-pie_cita-titulo {
  font-family: var(--ra-display) !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.ra-galeria-pagina { padding-top: calc(110px + var(--ra-8)); }
.feed.section { padding-top: var(--ra-7); }
.promo_content-text { max-width: 64ch; }

/* Últimos artículos (bloque de WordPress) en la barra lateral */
.post_aside .wp-block-latest-posts { margin: 0; padding: 0; }
.post_aside .wp-block-latest-posts li { padding: var(--ra-3) 0; border-bottom: 1px solid var(--ra-linea); }
.post_aside .wp-block-latest-posts li:last-child { border-bottom: 0; }
.post_aside .wp-block-latest-posts__post-title { font-family: var(--ra-display); font-size: 17px; line-height: 1.3; letter-spacing: 0.01em; text-transform: uppercase; }
.post_aside .widget_categories li a { font-family: var(--ra-display); text-transform: uppercase; letter-spacing: 0.04em; }

@media (max-width: 767px) {
  .ra-galeria-pagina { padding-top: calc(80px + var(--ra-6)); }
}

/* El tema solo enseña el botón de la cabecera en escritorio; la regla general de botones lo sacaba también en móvil. */
@media (max-width: 991.98px) {
  .header .header_btn.btn { display: none !important; }
}

/* ---------- Página de servicios: tarjetas y tarifas ---------- */
.ra-servicios-pagina { padding-top: calc(110px + var(--ra-7)); padding-bottom: var(--ra-9); }
.ra-servicios_cabecera { max-width: 62ch; margin-bottom: var(--ra-7); }
.ra-servicios_cabecera h1 { margin: 0 0 var(--ra-4); }
.ra-servicios_intro { margin: 0; font-size: 18px; }
.ra-servicios_intro a { color: var(--ra-oro); white-space: nowrap; }

.ra-servicios {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr));
  align-items: start;
  gap: var(--ra-5);
  margin: 0 0 var(--ra-9);
  padding: 0;
  list-style: none;
}
.ra-servicio { display: flex; }
.ra-servicio_tarjeta {
  display: flex;
  flex-direction: column;
  gap: var(--ra-4);
  width: 100%;
  padding: var(--ra-6);
  background: var(--ra-superficie);
  border: 1px solid var(--ra-linea);
  border-radius: 4px;
  transition: border-color 0.3s var(--ra-salida), transform 0.3s var(--ra-salida), box-shadow 0.3s var(--ra-salida);
}
.ra-servicio_tarjeta:hover {
  border-color: rgba(226, 191, 75, 0.55);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -12px rgba(0, 0, 0, 0.55);
}
.ra-servicio_cabeza { display: flex; align-items: center; gap: var(--ra-4); }
.ra-servicio_icono { width: 48px; height: 48px; flex: none; object-fit: contain; }
.ra-servicio_titulo { margin: 0; font-size: clamp(24px, 21px + 0.6vw, 28px) !important; line-height: 1.1; }
.ra-servicio_resumen { margin: 0; font-size: 16px; line-height: 1.6; }
.ra-servicio_datos {
  display: flex;
  align-items: baseline;
  gap: var(--ra-4);
  padding-top: var(--ra-4);
  border-top: 1px solid var(--ra-linea);
}
.ra-servicio_precio {
  font-family: var(--ra-display);
  font-size: 40px;
  font-weight: 600;
  line-height: 1;
  color: var(--ra-oro);
  font-variant-numeric: tabular-nums;
}
.ra-servicio_duracion { font-size: 15px; color: var(--ra-texto-3); letter-spacing: 0.04em; }
.ra-servicio_acciones .btn { width: 100%; }
.ra-servicio_detalle { border-top: 1px solid var(--ra-linea); padding-top: var(--ra-3); }
.ra-servicio_detalle summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  cursor: pointer;
  list-style: none;
  font-family: var(--ra-display);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ra-texto);
  transition: color 0.2s var(--ra-salida);
}
.ra-servicio_detalle summary::-webkit-details-marker { display: none; }
.ra-servicio_detalle summary::after {
  content: "";
  width: 9px;
  height: 9px;
  margin-right: 4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-3px);
  transition: transform 0.3s var(--ra-salida);
}
.ra-servicio_detalle[open] summary::after { transform: rotate(-135deg) translateY(-1px); }
.ra-servicio_detalle summary:hover { color: var(--ra-oro); }
.ra-servicio_texto { padding-top: var(--ra-3); font-size: 16px; }
.ra-servicio_texto p { margin: 0 0 0.9em; font-size: 16px; line-height: 1.65; }
.ra-servicio_texto p:empty { display: none; }
.ra-servicio_texto ul { margin: 0 0 1em; padding-left: 1.2em; }
.ra-servicio_texto li { margin-bottom: 0.3em; }
.ra-servicio_texto li::marker { color: var(--ra-oro); }

.ra-tarifas { max-width: 760px; }
.ra-tarifas_titulo { margin: 0 0 var(--ra-5); }
.ra-tarifas_tabla { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ra-tarifas_tabla th,
.ra-tarifas_tabla td { padding: var(--ra-4) var(--ra-3); border-bottom: 1px solid var(--ra-linea); text-align: left; }
.ra-tarifas_tabla thead th {
  padding-top: 0;
  font-family: var(--ra-cuerpo);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ra-texto-3);
}
.ra-tarifas_tabla tbody th { font-weight: 500; color: var(--ra-texto); }
.ra-tarifas_tabla td { color: var(--ra-texto-2); white-space: nowrap; }
.ra-tarifas_tabla td:last-child,
.ra-tarifas_tabla thead th:last-child { text-align: right; }
.ra-tarifas_tabla td:last-child { font-family: var(--ra-display); font-size: 20px; font-weight: 600; color: var(--ra-oro); }
.ra-tarifas_tabla tbody tr:hover { background: rgba(255, 255, 255, 0.02); }

@media (max-width: 767px) {
  .ra-servicios-pagina { padding-top: calc(80px + var(--ra-6)); }
  .ra-servicio_tarjeta { padding: var(--ra-5); }
  .ra-tarifas_tabla th, .ra-tarifas_tabla td { padding-inline: var(--ra-2); }
}

/* ---------- Velocidad y accesibilidad (21/10/2026) ---------- */
/* La primera foto del carrusel se pinta sin esperar al JavaScript del tema (es el LCP de la portada) */
.hero_slider-slide:first-child {
  background-image: url("../../uploads/2026/10/hero-fachada-reina-aicha.webp");
  background-size: cover;
  background-position: center;
}
/* Amelia: texto oscuro sobre el dorado (el blanco no llegaba a 2:1) y botón secundario legible */
[style*="--am-c-btn-prim-text"] {
  --am-c-btn-prim-text: #191714 !important;
  --am-c-btn-sec-text: #191714 !important;
}
.amelia-v2-booking .am-button--filled.am-button--primary { --am-c-btn-second: #191714 !important; }
.ra-pie_legal a { text-decoration: underline; }

/* Entre 992 y 1199 px no caben en una línea el nombre, el menú y el botón: queda el logo solo */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .header .brand-logo_name { display: none; }
  .header .header_btn.btn { margin-left: var(--ra-6); }
}

/* ---------- Texto sobre fotografía: velo para que se lea ---------- */
.hero::before,
.schedule::before,
.promo::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
/* La foto se ve entera; solo se oscurece la franja donde va el texto */
.hero::before {
  z-index: 1;
  background: linear-gradient(90deg, rgba(17, 17, 17, 0.74) 0%, rgba(17, 17, 17, 0.58) 34%, rgba(17, 17, 17, 0.16) 62%, rgba(17, 17, 17, 0) 100%);
}
.schedule::before {
  z-index: 0;
  background: linear-gradient(90deg, rgba(17, 17, 17, 0.8) 0%, rgba(17, 17, 17, 0.62) 45%, rgba(17, 17, 17, 0.12) 80%, rgba(17, 17, 17, 0) 100%);
}
.promo { position: relative; }
.promo::before {
  z-index: 0;
  background: linear-gradient(180deg, rgba(17, 17, 17, 0.42) 0%, rgba(17, 17, 17, 0.62) 100%);
}
.schedule > *,
.promo > * { position: relative; z-index: 1; }
.hero .hero_content,
.schedule_content,
.promo_content { text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7), 0 2px 18px rgba(0, 0, 0, 0.55); }

/* ---------- Reseñas de Google (Sobre nosotros) ---------- */
.reviews .main_review {
  margin: 0 0 var(--ra-4);
  padding: 0;
  border: 0;
  font-size: 17px;
  line-height: 1.65;
  color: var(--ra-texto);
}
.ra-resena_firma { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--ra-1) var(--ra-3); margin: 0; }
.ra-resena_estrellas { color: var(--ra-oro); letter-spacing: 0.12em; font-size: 15px; }
.ra-resena_firma .main_author { font-family: var(--ra-display); font-size: 17px; letter-spacing: 0.04em; text-transform: uppercase; }
.ra-resena_fecha { font-size: 14px; color: var(--ra-texto-3); }
.ra-resenas_enlace {
  order: 3;
  font-family: var(--ra-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ra-oro);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
.ra-resenas_enlace:hover { color: var(--ra-oro-claro); }

/* ---------- Cabecera fija: que no tape el primer bloque ---------- */
:root { --ra-cabecera: 107px; }
@media (max-width: 991.98px) { :root { --ra-cabecera: 87px; } }
@media (max-width: 575.98px) { :root { --ra-cabecera: 75px; } }

/* Portada: el espaciador de Elementor mide lo que la cabecera (el widget añade 20 px de margen) */
.elementor-element-2c20102 .elementor-spacer-inner { height: calc(var(--ra-cabecera) - 20px) !important; }
/* Primer bloque de Blog, Contacto y Sobre nosotros */
.feed.section,
.contacts.section,
.elementor-159 .promo { padding-top: calc(var(--ra-cabecera) + var(--ra-7)) !important; }

/* Velos en móvil: la foto se ve arriba y oscurece donde va el texto */
@media (max-width: 991.98px) {
  .hero::before {
    background: linear-gradient(180deg, rgba(17, 17, 17, 0.08) 0%, rgba(17, 17, 17, 0.5) 34%, rgba(17, 17, 17, 0.62) 70%, rgba(17, 17, 17, 0.78) 100%);
  }
  .schedule::before { background: rgba(17, 17, 17, 0.6); }
  .promo::before { background: rgba(17, 17, 17, 0.6); }
}

/* ---------- Aviso de cookies (Complianz) con la marca; aceptar y rechazar con el mismo peso ---------- */
.cmplz-cookiebanner.cmplz-cookiebanner {
  --cmplz_banner_background_color: #23211d;
  --cmplz_banner_border_color: #3a3833;
  --cmplz_banner_border_width: 1px 1px 1px 1px;
  --cmplz_banner_border_radius: 4px 4px 4px 4px;
  --cmplz_text_color: #e6e0d4;
  --cmplz_hyperlink_color: #e2bf4b;
  --cmplz_text_font_size: 13px;
  --cmplz_button_accept_background_color: #e2bf4b;
  --cmplz_button_accept_border_color: #e2bf4b;
  --cmplz_button_accept_text_color: #191714;
  --cmplz_button_deny_background_color: #e2bf4b;
  --cmplz_button_deny_border_color: #e2bf4b;
  --cmplz_button_deny_text_color: #191714;
  --cmplz_button_settings_background_color: transparent;
  --cmplz_button_settings_border_color: #6b665c;
  --cmplz_button_settings_text_color: #f3efe6;
  --cmplz_button_border_radius: 2px 2px 2px 2px;
  --cmplz_category_header_always_active_color: #e2bf4b;
  --cmplz_slider_active_color: #e2bf4b;
  --cmplz_slider_inactive_color: #6b665c;
  --cmplz_slider_bullet_color: #191714;
  box-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.7);
}
.cmplz-cookiebanner .cmplz-btn {
  font-family: var(--ra-display) !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  min-height: 44px;
}
.cmplz-cookiebanner .cmplz-btn:hover { filter: brightness(1.08); }
.cmplz-cookiebanner .cmplz-close { color: #f3efe6 !important; }
.cmplz-cookiebanner .cmplz-title { color: #f3efe6; font-family: var(--ra-display); letter-spacing: 0.04em; }

/* ---------- Amelia: fuente propia (sin Roboto de Google) y hueco reservado mientras se carga ---------- */
[style*="--am-font-family"] { --am-font-family: "Barlow", "Helvetica Neue", Arial, sans-serif !important; }
.elementor-widget-stepbooking .amelia-v2-booking { min-height: 620px; }


/* ---------- Portada: botones de cita bajo el carrusel, juntos y centrados ---------- */
.elementor-element-4253f53 > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  gap: var(--ra-4);
  padding-block: var(--ra-7) !important;
}
.elementor-element-4253f53 .elementor-widget-button { width: auto !important; max-width: 100%; margin: 0 !important; }
.elementor-element-200af39 { order: -1; }
.elementor-element-4253f53 .elementor-button {
  min-width: 280px;
  min-height: 56px;
  padding: 0 var(--ra-6) !important;
  font-size: 16px !important;
  justify-content: center;
}
/* Llamar queda como segunda opción: mismo tamaño, sin relleno */
.elementor-element-c8d556f .elementor-button {
  background: transparent !important;
  color: var(--ra-oro) !important;
}
.elementor-element-c8d556f .elementor-button:hover { background: var(--ra-oro) !important; color: var(--ra-tinta) !important; }
@media (max-width: 575.98px) {
  .elementor-element-4253f53 > .e-con-inner { padding: var(--ra-6) 10px !important; }
  .elementor-element-4253f53 .elementor-widget-button,
  .elementor-element-4253f53 .elementor-button { width: 100% !important; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
