/*
Theme Name: Rayco
Template: twentytwentyfive
Description: Tema hijo con la identidad visual de Rayco S.A.
Version: 1.2.11
Text Domain: rayco
*/

/* ---------- Cabecera ---------- */
.rayco-header { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: 0 2px 12px rgba(0, 13, 27, .08); }
.admin-bar .rayco-header { top: 32px; }
.rayco-header .wp-block-navigation a { font-family: var(--wp--preset--font-family--roboto-condensed); text-transform: uppercase; letter-spacing: .04em; font-size: .95rem; }
.rayco-header .wp-block-navigation a:hover,
.rayco-header .current-menu-item > a { color: var(--wp--preset--color--acento); }
.rayco-header .wp-block-site-logo img { max-height: 64px; width: auto; }

/* ---------- Hero ---------- */
.rayco-hero { clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%); }
.wp-block-cover.rayco-hero.has-custom-content-position .wp-block-cover__inner-container { width: 100% !important; max-width: 1200px; margin: 0 auto !important; padding: 0 1.25rem; box-sizing: border-box; }

.rayco-hero .wp-block-cover__inner-container > *, .rayco-hero .wp-block-cover__inner-container > .wp-block-group > * { max-width: 760px; margin-left: 0 !important; margin-right: 0 !important; }
.rayco-hero .wp-block-cover__inner-container > .wp-block-group > p { max-width: 620px; }
.rayco-hero h1 { line-height: 1.15; }
.rayco-hero h1 .acento { color: var(--wp--preset--color--acento); display: block; }
.rayco-titulo-seccion { position: relative; padding-bottom: .75rem; }
.rayco-titulo-seccion::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 56px; height: 3px; margin-left: -28px; background: var(--wp--preset--color--acento); }
.rayco-titulo-seccion.has-text-align-left::after { left: 0; margin-left: 0; }

/* ---------- Tarjetas ---------- */
.rayco-tarjeta { background: #fff; border-radius: 6px; overflow: hidden; box-shadow: 0 4px 18px rgba(0, 13, 27, .08); height: 100%; transition: transform .2s ease, box-shadow .2s ease; }
.rayco-tarjeta:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(0, 13, 27, .14); }
.rayco-tarjeta .wp-block-image { margin: 0; }
.rayco-tarjeta .wp-block-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.rayco-tarjeta .wp-block-image img[src*="solucion-videovigilancia-ia"],
.rayco-tarjeta .wp-block-image img[src*="solucion-comunicacion-satelital"] { object-position: right center; }
.rayco-tarjeta .wp-block-image img[src*="solucion-control-activos-rfid"] { object-position: left center; }
.rayco-tarjeta > .wp-block-group { padding: 1.25rem 1.5rem 1.5rem; }
.rayco-tarjeta h3 { margin-top: 0; font-family: "Roboto Slab", Georgia, serif; font-size: 1.25rem; }
.wp-block-columns.rayco-grid > .wp-block-column { display: flex; flex-direction: column; }

/* ---------- Partners ---------- */
.rayco-logos .wp-block-image img { max-height: 56px; max-width: 170px; width: auto; height: auto; object-fit: contain; filter: grayscale(100%); opacity: .75; transition: filter .2s, opacity .2s; }
.rayco-logos .wp-block-image img:hover { filter: none; opacity: 1; }
.rayco-partner .wp-block-image { background: #fff; padding: 1.5rem 1.5rem 0; }
.rayco-partner .wp-block-image { height: 96px; display: flex; align-items: center; justify-content: center; }
.rayco-partner .wp-block-image img { max-height: 64px; max-width: 220px; width: auto; height: auto; aspect-ratio: auto; object-fit: contain; margin: 0 auto; }

/* ---------- Botones ---------- */
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 2px; }
.wp-block-button__link { transition: background-color .2s, color .2s; }

/* ---------- Formulario de contacto ---------- */
.wpcf7 label { display: block; font-weight: 500; margin-bottom: 1rem; color: var(--wp--preset--color--contraste); }
.wpcf7 input:not([type=submit]):not([type=checkbox]), .wpcf7 select, .wpcf7 textarea {
  width: 100%; margin-top: .35rem; padding: .7rem .9rem; border: 1px solid #cfd6d9; border-radius: 4px; font: inherit; background: #fff; box-sizing: border-box; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid var(--wp--preset--color--primario); outline-offset: 1px; border-color: transparent; }
.wpcf7 textarea { min-height: 140px; }
.wpcf7 input[type=submit] { background: var(--wp--preset--color--primario); color: #fff; border: 0; border-radius: 4px; padding: .85rem 2.25rem; font-family: var(--wp--preset--font-family--roboto-condensed); text-transform: uppercase; letter-spacing: .05em; cursor: pointer; }
.wpcf7 input[type=submit]:hover { background: var(--wp--preset--color--acento); color: var(--wp--preset--color--oscuro); }
.wpcf7-acceptance { display: block; margin-bottom: 1rem; font-size: .9rem; }
.rayco-caja { background: #fff; border-radius: 6px; box-shadow: 0 4px 18px rgba(0, 13, 27, .08); }

/* ---------- Pie ---------- */
.rayco-footer a { color: #fff; text-decoration: none; }
.rayco-footer a:hover { color: var(--wp--preset--color--acento); }

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
  .rayco-hero { clip-path: none; }
  .rayco-header .wp-block-site-logo img { max-height: 48px; }
  .rayco-tarjeta:hover { transform: none; }
  .wp-block-columns.rayco-grid { gap: 1.5rem; }
}

/* Logos horizontales (proporción mayor a 4:1): más ancho para que se vean al nivel de los demás */
.rayco-partner .wp-block-image img[src$=".svg"] { height: 64px; width: auto; }
.rayco-logos .wp-block-image img[src$=".svg"] { height: 44px; width: auto; }
.rayco-logos .wp-block-image.logo-ancho img { height: 26px; }
/* Compensación óptica: logos apilados más altos, logos de bloque sólido más bajos */
.rayco-partner .wp-block-image img[src$="motorola-stacked.svg"],
.rayco-partner .wp-block-image img[src$="cambium.svg"] { height: 84px; max-height: 84px; }
.rayco-partner .wp-block-image img[src$="bartec.svg"] { height: 40px; }
.rayco-logos .wp-block-image img[src$="bartec.svg"] { height: 30px; }
.rayco-logos .wp-block-image img[src$="cambium.svg"] { height: 52px; max-height: 52px; }
.rayco-partner .wp-block-image img[src$="aveva.svg"] { height: 40px; }
.rayco-logos .wp-block-image img[src$="aveva.svg"] { height: 26px; }

/* ---------- Slider del inicio ---------- */
.rayco-slider { position: relative; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%); }
.rayco-slider::-webkit-scrollbar { display: none; }
.rayco-slider > .wp-block-cover { flex: 0 0 100%; scroll-snap-align: start; margin: 0 !important; clip-path: none; }
.rayco-slider .wp-block-cover h2 { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.15; }
.rayco-slider .wp-block-cover h2 .acento { color: var(--wp--preset--color--acento); display: block; }
.rayco-resaltado, .rayco-hero a.rayco-resaltado { color: var(--wp--preset--color--acento); }
.rayco-puntos { position: absolute; left: 0; right: 0; bottom: 9%; display: flex; justify-content: center; gap: .6rem; z-index: 5; }
.rayco-puntos button { width: 12px; height: 12px; padding: 0; border-radius: 50%; border: 2px solid #fff; background: transparent; cursor: pointer; }
.rayco-puntos button[aria-current="true"] { background: var(--wp--preset--color--acento); border-color: var(--wp--preset--color--acento); }
.rayco-slider-envoltura { position: relative; }
@media (max-width: 781px) {
  .rayco-slider { clip-path: none; }
  .rayco-slider > .wp-block-cover { min-height: 600px !important; padding-bottom: 3.5rem; }
  .rayco-puntos { bottom: 1rem; }
}

/* ---------- WhatsApp flotante ---------- */
.rayco-whatsapp { position: fixed; left: 24px; bottom: 24px; z-index: 100; width: 64px; height: 64px; border-radius: 50%; background: #25d366; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 22px rgba(37, 211, 102, .35), 0 2px 8px rgba(0, 0, 0, .12); transition: transform .2s ease, box-shadow .2s ease; }
.rayco-whatsapp:hover, .rayco-whatsapp:focus-visible { transform: scale(1.08); box-shadow: 0 10px 28px rgba(37, 211, 102, .45), 0 2px 8px rgba(0, 0, 0, .15); }
.rayco-whatsapp:focus-visible { outline: 3px solid var(--wp--preset--color--primario); outline-offset: 3px; }
@media (max-width: 781px) { .rayco-whatsapp { left: 16px; bottom: 16px; width: 56px; height: 56px; } }
.rayco-partner .wp-block-image img[src$="ge-vernova.svg"] { height: 40px; }
.rayco-logos .wp-block-image img[src$="ge-vernova.svg"] { height: 26px; }
.rayco-partner .wp-block-image img[src$="kerlink.svg"] { height: 60px; }
.rayco-logos .wp-block-image img[src$="kerlink.svg"] { height: 44px; }

/* Tarjetas con foto: el título reserva dos líneas para que las descripciones arranquen a la misma altura */
@media (min-width: 782px) { .rayco-grid .rayco-tarjeta:not(.rayco-partner):not(.rayco-sector) h3 { min-height: 2.5em; } }
/* Columnas vacías para centrar la última fila: no ocupan espacio en móvil */
@media (max-width: 781px) { .wp-block-columns.rayco-grid > .wp-block-column:empty { display: none; } }
