/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


  /* (A) Quitar el “cuadro blanco” del wrapper del control móvil */
  nav#mobile-menu-control-wrapper{
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Muchas veces el blanco viene del botón hamburguesa (.menu-toggle) */
  .mobile-menu-control-wrapper .menu-toggle{
    background: transparent !important;
    box-shadow: none !important;
  }

  /* (B) Botón del carrito: círculo gris oscuro + icono blanco */
  a.gp-custom-cart{
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 999px;
    background: #2f2f2f;   /* gris oscuro */
    color: #fff;          /* el SVG hereda este color (currentColor) */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
    line-height: 1;
  }

  a.gp-custom-cart svg{
    width: 1.5rem;
    height: 1.5rem;
    display: block;
  }

  /* (C) Contador rojo */
  .gp-custom-cart__count{
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #e10000;  /* rojo */
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    font-weight: 700;
    text-align: center;
  }


.gp-icon{
    background-color: white;
    padding: 0px 7px 7px 7px;
    margin-left: 10px;
    color:black;
 }

 .gp-icon svg{
 	height:1.8rem;
 	width:1.8rem;
 	top:0.2rem;
 }

 .site-header{
 	position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index:5000;
 }

 h1.entry-title{
    color:black !important;
}

.site-header .header-image {
    max-width: 55vw;
}

body.page-id-81, body.page-id-82, body.product-template-default{ padding-top: 90px; }


/* Estilos formulario - perujo.es */

.cf7-grid{
  --label-w:160px;
  --gap:28px;
  --col-gap:80px;
  --row-gap:28px;
  --border:1px solid #666;
  --text:#333;

  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:var(--col-gap);
  row-gap:var(--row-gap);
}

.cf7-grid p{margin:0;}
.cf7-label p{margin:0;}

.cf7-full{grid-column:1/-1;}

.cf7-row{
  display:flex;
  align-items:center;
  gap:var(--gap);
}

.cf7-label{
  min-width:var(--label-w);
  font-size:24px;
  letter-spacing:.04em;
  color:var(--text);
  text-transform:uppercase;
  line-height:1;
}

.cf7-label .req{margin-left:2px;}

.cf7-control{flex:1;}

.cf7-input,
.cf7-textarea{
  width:100%;
  border:var(--border);
  background:transparent;
  border-radius:0;
  box-shadow:none;
  outline:none;
  color:var(--text);
  font-size:16px;
  padding:8px 12px;
}

.cf7-input{height:42px;}

.cf7-row--textarea{align-items:flex-start;}

.cf7-textarea{
  height:220px;
  resize:none;
  padding-top:12px;
}

.cf7-selectwrap{position:relative;}

.cf7-selectwrap select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:46px;
}

.cf7-selectwrap::after{
  content:"";
  position:absolute;
  right:16px;
  top:50%;
  width:12px;
  height:12px;
  border-right:3px solid var(--text);
  border-bottom:3px solid var(--text);
  transform:translateY(-60%) rotate(45deg);
  pointer-events:none;
}

.cf7-accept .wpcf7-list-item{margin:0;}

.cf7-accept label{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:18px;
  color:var(--text);
  white-space:nowrap;
}

.cf7-accept input[type="checkbox"]{
  width:24px;
  height:24px;
  border:1px solid var(--text);
  border-radius:0;
  background:transparent;
  appearance:none;
  -webkit-appearance:none;
  display:inline-block;
  position:relative;
  flex:0 0 24px;
}

.cf7-accept input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  left:7px;
  top:3px;
  width:7px;
  height:14px;
  border-right:3px solid var(--text);
  border-bottom:3px solid var(--text);
  transform:rotate(45deg);
}

.cf7-bottom{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px;
}

.cf7-bottom-left{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-left:calc(var(--label-w) + var(--gap));
  flex:0 0 auto;
}

.cf7-bottom-right{
  margin-left:auto;
  text-align:right;
  flex:0 1 75%;
  max-width:75%;
  min-width:0;
}

.cf7-bottom-right .cf7-note{
  margin:0;
  font-size:16px;
  color:var(--text);
  line-height:1.4;
}

.cf7-submitwrap{display:inline-block;}

.cf7-submit{
  border:var(--border);
  background:transparent;
  padding:12px 24px;
  border-radius:0;
  cursor:pointer;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* <=1635px: bloque inferior debajo y alineado a la izquierda */
@media (max-width:1635px) and (min-width:901px){
  .cf7-bottom{
    flex-direction:column;
    align-items:stretch;
    gap:18px;
  }

  .cf7-bottom-left{
    margin-left:0;
    align-items:flex-start;
  }

  .cf7-bottom-right{
    margin-left:0;
    text-align:left;
    max-width:none;
    flex:1 1 auto;
  }
}

/* 901–1024px: labels arriba en todos los campos (manteniendo 2 columnas) */
@media (max-width:1024px) and (min-width:901px){
  .cf7-row{
    flex-direction:column;
    align-items:stretch;
    gap:1px;
  }
  .cf7-label{min-width:0;}
}

/* <=900px: 1 columna + labels arriba + centrado aceptación y botón + spinner no desplaza */
@media (max-width:900px){
  .cf7-grid{
    grid-template-columns:1fr;
    column-gap:0;
    --label-w:140px;
  }

  .cf7-row{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }

  .cf7-label{
    min-width:0;
    font-size:20px;
  }

  .cf7-bottom{
    flex-direction:column;
    align-items:stretch;
    gap:18px;
  }

  .cf7-bottom-left{
    margin-left:0;
    align-items:center;
  }

  .cf7-accept label{
    white-space:normal;
    justify-content:center;
    text-align:center;
  }

  .cf7-submitwrap{
    width:100%;
    display:flex;
    justify-content:center;
    position:relative;
  }

  .cf7-bottom-right{
    text-align:left;
    max-width:none;
    margin-left:0;
  }

  .cf7-submitwrap .wpcf7-spinner{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(calc(-50% + 90px), -50%);
    margin:0 !important;
    opacity:0;
  }

  .wpcf7 form.submitting .cf7-submitwrap .wpcf7-spinner{
    opacity:1;
  }
}



 /* FIN CF7 */

  .inside-header {
        padding-right: 3vw;
        padding-left: 4vw;
  }
}

@media (max-width: 768px){
  body.page-id-81,body.page-id-82, body.product-template-default{ padding-top: 74px; }
}


.woocommerce-result-count,
.woocommerce-ordering {
  display: none !important;
}

/* Mostrar bloques GenerateBlocks solo en el dispositivo adecuado - perujo.es */
/* add_filter( 'the_content', 'perujo_filtrar_bloques_html_por_dispositivo', 99 );
function perujo_filtrar_bloques_html_por_dispositivo( $content ) {
    // Detectar tipo de dispositivo
    $ua = strtolower( $_SERVER['HTTP_USER_AGENT'] ?? '' );
    $is_mobile = preg_match( '/(iphone|ipod|android.*mobile|windows phone|blackberry|opera mini)/', $ua );

    // Si estamos en escritorio/tablet → eliminar bloques con "name":"Movil"
    if ( ! $is_mobile ) {
        $content = preg_replace( '/<!--\s*wp:generateblocks\/[a-z0-9_-]+[^>]+?"name":"[^"]*movil[^"]*"[\s\S]*?-->/i', '', $content );
    }

    // Si estamos en móvil → eliminar bloques con "name":"Escritorio" o "Tablet"
    if ( $is_mobile ) {
        $content = preg_replace( '/<!--\s*wp:generateblocks\/[a-z0-9_-]+[^>]+?"name":"[^"]*(escritorio|tablet|desktop)[^"]*"[\s\S]*?-->/i', '', $content );
    }

    return $content;
} */