/*
Theme Name: Altavilla
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Copy of Twenty Twenty-Four. Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4.
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.0
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: altavilla
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/* Oculta por defecto */
.i18n-es, .i18n-ca, .i18n-en, .i18n-fr { display: none; }

/* Muestra según el idioma activo */
:lang(es) .i18n-es { display: revert; }
:lang(ca) .i18n-ca { display: revert; }
:lang(en) .i18n-en { display: revert; }
:lang(fr) .i18n-fr { display: revert; }

html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

body {
	font-family: "EB Garamond", serif;
  font-size: 18px;
}

/* Evita que aparezca el overlay nativo */
.wp-block-navigation__responsive-container { display: none !important; }
body.has-modal-open { overflow: auto !important; }
.wp-block-navigation__responsive-container.is-menu-open { display:none !important; }


/* Overlay: pantalla completa */
.c-overlay[hidden] { display: none !important; }

.c-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;

  display: flex;
  align-items: center;
  /*justify-content: center;*/
  opacity: 0;                 /* estado base (cerrado) */
  pointer-events: none;       /* no interactivo cuando está cerrado */
  transition: opacity .25s ease;  /* ⏱ en sync con setTimeout(250) */
  will-change: opacity;

  /*padding-top: 45px;
  padding-bottom: 45px;
  padding-left: var(--wp--style--root--padding-left);
  padding-right: var(--wp--style--root--padding-right);*/
}

.c-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Panel que contiene todo */
.c-overlay__panel {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  /*justify-content: center;*/
  background: #000;           /* fondo negro */
  color: #fff;                /* texto blanco */

  /* Animación de entrada/salida del panel */
  opacity: 0;
  transform: translateY(12px) scale(.98);
  transition: transform .25s ease, opacity .25s ease;
  will-change: transform, opacity;
}

.c-overlay.is-open .c-overlay__panel {
  opacity: 1;
  transform: none;
}

/* Botón cerrar (esquina superior derecha) */
.c-overlay__close {
  position: absolute;
  top: 103px;
  right: 15%;
  font-size: 4rem;
  background: none;
  border: 0;
  color: #fff;
  cursor: pointer;
  font-family: "Cormorant Garamond", serif;
}

/* Contenido centrado */
.c-overlay__content {
  text-align: center;
  /*margin-top: 86px;*/
}

.c-overlay__logo {
  padding: 132px 0px 50px 0px;
}

/* Logo centrado */
.c-overlay__logo img {
  max-width: 200px;
  height: auto;
  /*margin-bottom: 2rem;*/
}

.c-overlay__nav {
  display: flex;
  flex-direction: column;     /* apila logo y nav */
  justify-content: center;    /* centra vertical */
  align-items: center;        /* centra horizontal */
  min-height: 100%;           /* ocupar toda la altura disponible */
  text-align: center;
}

/* Navegación centrada */
.c-overlay__nav .menu li {
  /*margin: 1rem 0;*/
  letter-spacing: 7px;
  height: 50px;
}

.c-overlay__nav .menu a {
  color: #fff;
  /*font-size: 1.5rem;*/
  text-decoration: none;
}

/* Accesibilidad: respetar usuarios que prefieren menos movimiento */
@media (prefers-reduced-motion: reduce) {
  .c-overlay,
  .c-overlay__panel {
    transition: none;
  }
}




/* El selector de idioma al fondo */
.language-switcher {
  margin-top: auto; /* empuja hacia abajo */
  margin-bottom: 2rem;
  width: 100%;
  display: flex;
  justify-content: center; /* centrado horizontal */
}

.language-switcher ul {
  display: flex;
  gap: 1.5rem;     /* espacio entre idiomas */
  list-style: none;
  padding: 0;
  margin: 0;
}

.language-switcher li {
  display: flex;
  align-items: center;
}

.language-switcher li:not(:last-child)::after {
  content: "/";
  margin-left: .5rem;
  margin-right: .5rem;
  color: #fff; /* mismo color que el texto */
  opacity: 0.7; /* un poco más suave */
}

.language-switcher a {
  color: #fff;          /* texto blanco para overlay negro */
  text-decoration: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: .5rem;           /* espacio bandera-texto */
}

.language-switcher a:hover {
  text-decoration: none;
}

.language-switcher .current-lang a {
  font-weight: 700;     /* resalta el idioma actual */
}





.img-contacto {
	max-width: 1000px!important;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}


.is-layout-constrained > .alignwidefull {
  max-width: 1600px;
}

.block-editor-block-list__layout.is-root-container > .alignwidefull {
  max-width: 1600px!important;
}

.boder-simple table {
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
}
.boder-simple table tr td{
  border: none;
  padding: 0px;
}

.pantalla-completa-vertical {
  min-height: calc(100vh - 350px);
}
.pantalla-completa-vertical2 {
  min-height: 100vh;
}


.img-bnw{
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);          /* Safari */
  transition: filter .4s ease-in-out, 
  -webkit-filter .4s ease-in-out;
}

.img-bnw:hover,
.img-bnw:focus{
  filter: grayscale(0%);
  -webkit-filter: grayscale(0%);
}

/* Si prefieres que el hover sea en el contenedor/enlace: */
.link:hover .img-bnw,
.link:focus .img-bnw{
  filter: grayscale(0%);
  -webkit-filter: grayscale(0%);
}

/* Accesibilidad: menos movimiento si el usuario lo pide */
@media (prefers-reduced-motion: reduce){
  .img-bnw{
    transition: none;
  }
}


.img-atenua{
  background-color: rgba(0,0,0,.45)!important; /* el overlay */
  background-blend-mode: multiply;   /* mezcla color+imagen */
  color:#fff;
}

#icono_menu {
  cursor: pointer;
}

.kb-splide .splide__pagination__page {
  height: 5px;
  width: 5px;
}



/* Base: quita el subrayado nativo y prepara el pseudo-elemento */
p.fade-underline a,
div.language-switcher a,
div.menu a,
main p a {
  position: relative;
  text-decoration: none;
}

/* Línea “fake” que aparece con fade */
p.fade-underline a::after,
p.fade-underline button::after,
div.language-switcher a::after,
div.menu a::after,
main p a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;        /* separación respecto al texto: ajusta a tu gusto */
  width: 100%;
  height: 2px;         /* grosor de la línea */
  background: currentColor;
  opacity: 0;
  transition: opacity .25s ease;  /* suavidad */
}

/* Hover/focus: muestra la línea completa con fade */
p.fade-underline a:hover::after,
p.fade-underline button:hover::after,
div.language-switcher a:hover::after,
div.menu a:hover::after,
div.menu a:focus::after,
main p a:hover::after,
main p a:focus::after {
  opacity: 1;
}

/* Accesibilidad: sin animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  p.fade-underline a::after,
  div.language-switcher a::after,
  div.menu a::after,
  main p a::after {
    transition: none;
  }
}




#teatre_salons  .splide__arrow--prev {
  left: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}
#teatre_salons  .splide__arrow--next {
  right: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}


#golfes  .splide__arrow--prev {
  left: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}
#golfes  .splide__arrow--next {
  right: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}

#sales_nobles  .splide__arrow--prev {
  left: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}
#sales_nobles  .splide__arrow--next {
  right: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}

#jardi_templet  .splide__arrow--prev {
  left: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}
#jardi_templet  .splide__arrow--next {
  right: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}
#jardi_frances  .splide__arrow--prev {
  left: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}
#jardi_frances  .splide__arrow--next {
  right: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}
#placa_rodona  .splide__arrow--prev {
  left: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}
#placa_rodona  .splide__arrow--next {
  right: -15px;
  background: none;
  color: #000;
  font-size: 25px;
  top: -20px;
}


.columa-poster {
  position: relative;
}

.image-poster {
  position: absolute;      /* <-- clave: ya no cuenta para la altura */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);  /* centra exacto */
  z-index: 2;
  margin: 0;               /* evita que márgenes “empujen” nada */


}

.torregalana .image-poster {
  top: auto;
  bottom: 0;
}

.casagari .image-poster {
  top: auto;
  bottom: 10%;
}

.rocarubia .image-poster {
  top: auto;
  bottom: 13%;
}








/* ENVOLTORIO: añade esta clase al bloque/columna que contiene el formulario */
.form--line {
  --line-color: rgba(0,0,0,.35);   /* color línea por defecto */
  --line-focus: rgba(0,0,0,.75);   /* color línea en foco */
  --label: #333;                   /* color etiqueta */
  --gap: 18px;                     /* separación entre campos */
  --thickness: 1px;                /* grosor de la línea */
  --font: inherit;                 /* tipografía */
}

/* Espaciado entre filas (CF7 usa <p>, otros .form-row/.kb-form-field) */
.form--line p,
.form--line .form-row,
.form--line .kb-form-field { 
  margin: var(--gap) 0;
}

/* Etiquetas */
.form--line label {
  display: block;
  margin: 0 0 6px;
  color: var(--label);
  font-weight: 400;
}

/* Inputs “underlined” */
.form--line input[type="text"],
.form--line input[type="email"],
.form--line input[type="tel"],
.form--line input[type="url"],
.form--line input[type="number"],
.form--line input[type="search"],
.form--line input[type="password"],
.form--line select,
.form--line textarea {
  width: 100%;
  border: none;
  border-bottom: var(--thickness) solid var(--line-color);
  background: transparent;
  border-radius: 0;
  padding: 8px 0;
  font: var(--font);
  color: inherit;
  outline: none;
  box-shadow: none;
  transition: border-color .2s ease;
  font-size: 15px;
}

/* Foco/hover */
.form--line input:focus,
.form--line select:focus,
.form--line textarea:focus,
.form--line input:hover,
.form--line select:hover,
.form--line textarea:hover {
  border-bottom-color: var(--line-focus);
}

/* Textarea estilo “línea” */
.form--line textarea {
  
  line-height: 1.5;
}

.form--line input::placeholder,
.form--line textarea::placeholder {
  color: #000;
}

/* Placeholders sutiles (opcional) */
.form--line ::placeholder { color: rgba(0,0,0,.45); }

/* Botón enviar minimal */
.form--line input[type="submit"],
.form--line button[type="submit"] {
  font-family: "EB Garamond";
  appearance: none;
  background: transparent;
  border: none;
  border-bottom: var(--thickness) solid var(--line-focus);
  padding: 8px 0;
  cursor: pointer;
  color: inherit;
  transition: opacity .2s ease;
  display: block;
  margin: 0 auto;
  font-size: 20px;
  max-height: 33px;


}
.form--line input[type="submit"]:hover,
.form--line button[type="submit"]:hover { opacity: .8; }

/* Quita estilos extra de plugins comunes (CF7/Kadence) */
.form--line .wpcf7-form-control,
.form--line .kb-forms .kb-input { box-shadow: none !important; }

/* Autofill (Chrome) */
.form--line input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px transparent inset;
  -webkit-text-fill-color: inherit;
}

/* Accesibilidad: respeta reduced motion */
@media (prefers-reduced-motion: reduce) {
  .form--line * { transition: none !important; }
}

.avis-form {
  text-align: center;
  font-size: 12px;
}







.bloc-segona-pagina {
  display: none;
}


.wp-block-cover {
  margin-block-start: 0px;
  margin-block-end: 0px;
}

.image-poster img {
  max-width: 150px;
}


.vh-grid {
  display: grid;
  grid-template-rows: auto 1fr;
  /*position: relative;*/
  min-height: 100svh;
}

/* Imagen de arriba */
.vh-grid .is-top2 {
  align-self: start;
  justify-self: center;
  
}

/* Imagen centrada dentro del espacio restante */
.vh-grid .is-centered {
  align-self: start;
  justify-self: center;
  max-width: min(90vw, 900px);
  height: auto;

/*
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
*/

}

ul.menu-peu li {
  list-style-type: none;
  font-size: 14px;
}
ul.menu-peu li a {
  text-decoration: none;
}

.wpcf7-list-item {
  margin: 0px!important;
}


.btn-panel-cookies {
    padding: 0;
    margin: 0;
    text-decoration: underline;
    cursor: pointer;
    font: inherit;
}


.tabla-cookies {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-family: sans-serif;
    font-size: 0.9em;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}
.tabla-cookies thead tr {
    background-color: #000;
    color: #ffffff;
    text-align: left;
}
.tabla-cookies th, .tabla-cookies td {
    padding: 12px 15px;
    border: 1px solid #dddddd;
}
.tabla-cookies tbody tr:nth-of-type(even) {
    background-color: #f3f3f3;
}
.tabla-cookies tbody tr:hover {
    background-color: #f1f1f1;
}
@media (max-width: 600px) {
    .tabla-cookies {
        font-size: 0.8em;
    }
}