.elementor-kit-7{--e-global-color-primary:#2E3A59;--e-global-color-secondary:#844300;--e-global-color-text:#3D4659;--e-global-color-accent:#E1AF81;--e-global-color-tinta:#040920;--e-global-color-crema:#FAF6F1;--e-global-color-beige:#E0D6CC;--e-global-color-borde:#D1C5BB;--e-global-color-acc600:#723700;--e-global-color-acc50:#FEF3E7;--e-global-color-blanco:#FFFFFF;--e-global-typography-primary-font-family:"Nunito";--e-global-typography-primary-font-size:46px;--e-global-typography-primary-font-weight:900;--e-global-typography-primary-line-height:1.12em;--e-global-typography-secondary-font-family:"Nunito";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-line-height:1.35em;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Nunito";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:800;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:2px;color:#3D4659;font-family:"Nunito", Sans-serif;font-size:18px;font-weight:400;line-height:1.7em;background-color:#FAF6F1;}.elementor-kit-7 a{color:#844300;}.elementor-kit-7 a:hover{color:#040920;}.elementor-kit-7 h1{color:#040920;font-family:"Nunito", Sans-serif;font-size:54px;font-weight:900;line-height:1.05em;}.elementor-kit-7 h2{color:#040920;font-family:"Nunito", Sans-serif;font-size:46px;font-weight:900;line-height:1.12em;}.elementor-kit-7 h3{color:#040920;font-family:"Nunito", Sans-serif;font-size:24px;font-weight:800;line-height:1.35em;}.elementor-kit-7 h4{color:#040920;font-family:"Nunito", Sans-serif;font-size:20px;font-weight:800;line-height:1.4em;}.elementor-kit-7 h5{color:#040920;font-family:"Nunito", Sans-serif;font-size:18px;font-weight:700;line-height:1.5em;}.elementor-kit-7 h6{color:#844300;font-family:"Nunito", Sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;line-height:1.4em;letter-spacing:2px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-family:"Nunito", Sans-serif;font-size:16px;font-weight:700;line-height:1.2em;color:#FFFFFF;background-color:#844300;border-radius:7px 7px 7px 7px;padding:16px 28px 16px 28px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{color:#FFFFFF;background-color:#723700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-kit-7 h1{font-size:44px;}.elementor-kit-7 h2{font-size:38px;}.elementor-kit-7 h3{font-size:23px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{font-size:16px;}.elementor-kit-7 h1{font-size:34px;}.elementor-kit-7 h2{font-size:30px;}.elementor-kit-7 h3{font-size:21px;}.elementor-kit-7 h4{font-size:18px;}.elementor-kit-7 h5{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* --- contenedores que se encogen a su contenido dentro de una fila --- */
.sb-auto, .sb-auto > .e-con-inner { width: auto !important; max-width: none !important; }

/* --- el nav de movil se renderiza abierto si el widget se creo por REST.
       La regla mira el estado: cerrado lo oculta, abierto no aplica, asi el
       boton de hamburguesa sigue funcionando. --- */
[data-elementor-type="header"] nav.elementor-nav-menu--dropdown[aria-hidden="true"] { display: none; }

/* --- cabecera: logo fijo | menu elastico | acciones fijas --- */
.sb-headerbar .elementor-nav-menu--main { flex-wrap: nowrap; }
.sb-headerbar .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap; }
.sb-headerbar .sb-logo { flex: 0 0 auto; }
.sb-nav { flex: 1 1 auto; min-width: 0; width: auto !important; }
.sb-headerbar > .e-con-inner > .sb-auto { flex: 0 0 auto; }

/* --- foco visible en todo el sitio (accesibilidad) --- */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible,
.elementor-button:focus-visible {
  outline: 3px solid #844300;
  outline-offset: 2px;
  border-radius: 4px;
}

/* --- el tema pone los botones en MAYUSCULAS con letter-spacing; la demo no --- */
.elementor-button, .elementor-button .elementor-button-text,
.woocommerce a.button, .woocommerce button.button {
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* --- overlay de contenedor: creado por REST, Elementor NO pinta el div
       .elementor-background-overlay, asi que el ajuste no se ve. Se consigue
       el mismo velo con un box-shadow interior. --- */
.sb-cat { box-shadow: inset 0 0 0 9999px rgba(5, 10, 27, .55); }
.sb-cat:hover { box-shadow: inset 0 0 0 9999px rgba(5, 10, 27, .42); }
.sb-hero { box-shadow: inset 0 0 0 9999px rgba(5, 10, 27, .68); }
.sb-hero-img { box-shadow: inset 0 0 0 9999px rgba(5, 10, 27, .55); }

/* --- encabezado de seccion: titulo elastico, enlace a la derecha --- */
.sb-cab > .e-con { flex: 1 1 auto; width: auto !important; max-width: none !important; }
.sb-cab > .elementor-widget { flex: 0 0 auto; }
@media (max-width: 767px) {
  .sb-cab > .e-con { width: 100% !important; }
}

/* --- resalte del H1 del hero ("en Alzira") --- */
.sb-hl { color: #E1AF81; }

/* --- tarjetas --- */
.sb-card {
  background: #FFFFFF;
  border: 1px solid #D1C5BB;
  border-radius: 14px;
  transition: box-shadow .25s ease, transform .25s ease;
}
.sb-card:hover { box-shadow: 0 14px 34px rgba(4,9,32,.10); transform: translateY(-3px); }

/* --- sobretitulo de seccion --- */
.sb-overline .elementor-heading-title { letter-spacing: .22em; }

/* --- el acordeon nativo trae un borde gris por defecto --- */
.sb-faq .e-n-accordion-item,
.sb-faq .e-n-accordion-item-title { border: 0; }

/* --- la franja oscura: enlaces y texto legibles --- */
.sb-dark a { color: #E1AF81; }
.sb-dark a:hover { color: #FFFFFF; }

/* --- formularios (Contact Form 7) --- */
.sb-form .sb-f { margin: 0 0 16px; }
.sb-form label { display: block; font-weight: 700; color: #040920; margin-bottom: 6px; font-size: 15px; }
.sb-form .sb-req { color: #844300; }
.sb-form input[type=text], .sb-form input[type=email], .sb-form input[type=tel],
.sb-form select, .sb-form textarea {
  width: 100%; box-sizing: border-box;
  padding: 11px 13px; font: inherit; font-size: 16px; color: #040920;
  background: #FFFFFF; border: 1px solid #D1C5BB; border-radius: 8px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.sb-form textarea { min-height: 130px; resize: vertical; }
.sb-form input:focus, .sb-form select:focus, .sb-form textarea:focus {
  border-color: #844300; box-shadow: 0 0 0 3px rgba(132, 67, 0, .14); outline: none;
}
.sb-form .sb-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.sb-form .sb-ayuda { display: block; margin-top: 5px; font-size: 13px; color: #737C90; }
.sb-form .sb-consent label { display: flex; align-items: flex-start; gap: 9px; font-weight: 400; font-size: 15px; }
.sb-form .sb-consent input[type=checkbox] { width: 17px; height: 17px; margin-top: 2px; accent-color: #844300; flex: 0 0 auto; }
.sb-form .wpcf7-list-item { margin: 0; }
.sb-form .sb-submit {
  background: #844300; color: #FFFFFF; border: 0; border-radius: 8px;
  padding: 14px 28px; font-weight: 700; font-size: 16px; cursor: pointer;
  transition: background .2s ease;
}
.sb-form .sb-submit:hover { background: #723700; }
/* el honeypot no debe verse, pero tiene que seguir en el DOM */
.sb-form .sb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sb-form .wpcf7-not-valid-tip { color: #B3261E; font-size: 14px; margin-top: 5px; }
.sb-form .wpcf7-response-output {
  margin: 16px 0 0; padding: 12px 15px; border-radius: 8px; font-size: 15px;
  border: 1px solid #D1C5BB;
}
.sb-form form.sent .wpcf7-response-output { border-color: #2E7D32; background: #EDF7ED; color: #1B5E20; }
.sb-form form.invalid .wpcf7-response-output,
.sb-form form.failed .wpcf7-response-output { border-color: #B3261E; background: #FDECEA; color: #8C1D18; }

@media (max-width: 600px) {
  .sb-form .sb-f2 { grid-template-columns: 1fr; }
}

/* --- fichas de producto de WooCommerce ---
   El titulo del bucle es un <h2>, asi que hereda los 46px del kit. Los ajustes
   de tipografia del widget no llegan al CSS, se fija aqui. --- */
.woocommerce ul.products li.product {
  position: relative; overflow: hidden;
  background: #FFFFFF;
  border: 1px solid #D1C5BB;
  border-radius: 14px;
  padding: 14px;
  display: flex; flex-direction: column;
  transition: box-shadow .25s ease, transform .25s ease;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 14px 34px rgba(4, 9, 32, .10); transform: translateY(-3px);
}
.woocommerce ul.products li.product a img {
  border-radius: 10px; margin-bottom: 12px; aspect-ratio: 1 / 1; object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 17px !important; font-weight: 800; line-height: 1.35;
  color: #040920; padding: 0; margin: 0 0 8px;
}
.woocommerce ul.products li.product .price {
  font-size: 20px !important; font-weight: 900; color: #844300; margin: 0 0 12px;
}
.woocommerce ul.products li.product .price * { font-size: inherit; }
.woocommerce ul.products li.product .price del { font-size: 15px !important; font-weight: 600; color: #8A93A8; margin-right: 7px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { color: #844300; font-size: 13px; margin: 0 0 8px; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  margin-top: auto; align-self: stretch; text-align: center;
  background: #37456A; color: #FFFFFF;
  border-radius: 8px; padding: 11px 16px; font-weight: 700; font-size: 15px;
}
.woocommerce ul.products li.product .button:hover { background: #844300; color: #FFFFFF; }
.woocommerce ul.products li.product span.onsale { top: 20px; right: 20px; left: auto; margin: 0; }
.woocommerce span.onsale {
  background: #844300; color: #FFFFFF; font-weight: 800;
  border-radius: 999px; padding: 4px 12px; min-height: 0; min-width: 0; line-height: 1.6;
}
/* ficha de producto suelta */
.woocommerce div.product .product_title { font-size: 32px; }
.woocommerce div.product p.price { color: #844300; font-weight: 900; }
.woocommerce div.product .button.alt,
.woocommerce #respond input#submit, .woocommerce button.button.alt {
  background: #844300; color: #FFFFFF; border-radius: 8px; font-weight: 700;
}
.woocommerce div.product .button.alt:hover, .woocommerce button.button.alt:hover {
  background: #723700; color: #FFFFFF;
}

/* --- movil --- */
@media (max-width: 767px) {
  .sb-headerbar { flex-wrap: nowrap; }
  .sb-auto, .sb-auto > .e-con-inner { width: 100% !important; }
}/* End custom CSS */