footer{
    position: relative;
    background: black;
    position: relative;
    width: 100vw;
/*    background: red;*/
    left: 50%;
    transform: translateX(-50%);
    max-width: 100vw !important;

    /* Nuevo */
    background-color: #151413;    
    background: linear-gradient(180deg, #15141300, #151413ba 20px, #151413 50px);
}
  
  :root{
    --bg:#0f0f0f;
    --panel:#121212;
    --text:#eaeaea;
    --muted:#b7b7b7;
    --line:#222;
    --brand:#ff7a1a; /* naranja takeAway */
  }

  a{color:var(--text);text-decoration:none}
  a:hover{opacity:.9;text-decoration:underline}
  .footer{
    padding:50px 50px 34px;
    max-width:1260px;margin:0 auto;
  }
  .footer-grid{
    display:grid;gap:32px;
    
    transition: all 1.5s ease-in-out;
    padding-top: 20px;
  }

  /* 3 columnas en desktop */
  @media (min-width: 1100px){
    /*.footer-grid{grid-template-columns: 1.1fr .9fr 1fr;}*/
    .footer-grid{grid-template-columns: 1fr 1fr 1fr;}
  }
  @media (max-width: 1100px){
    /*.footer-grid{grid-template-columns: 1.1fr .9fr 1fr;}*/
    .footer-grid{grid-template-columns:1fr !important;}
  }
  h2{margin:0 0 20px;font-size:32px}
  label{display:block;font-size:14px;color:var(--muted);margin:16px 0 6px}
  .input, textarea, select{
    width:100%;background:#1b1b1b;border:1px solid #2a2a2a;
    border-radius:10px;color:var(--text);
    padding:10px 14px;outline:none;
  }
  .input::placeholder, textarea::placeholder{color:#777}
  textarea{min-height:110px;resize:vertical}
  .checkbox{
    display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--muted);font-size:14px
  }
  .checkbox input{width:18px;height:18px;border-radius:4px}
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    background:#1b1b1b;border:1px solid #2a2a2a; border-radius:10px;
    padding:14px 20px;margin-top:18px;cursor:pointer;color:var(--text);
  }
  .btn svg{width:18px;height:18px;flex:0 0 18px}
  .panel-20{
    background:radial-gradient(1200px 600px at 40% 40%, #1a120e 0, #0f0f0f 60%);

    border:1px solid #1e1e1e;
    border-radius:18px;
    /*min-height:100%;*/
    padding:28px 28px 40px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;position:
    relative;overflow:hidden;
        display: flex;
    align-items: center;
  }
  .panel-20 .big{
    /*transition: transform 50.5 ease;*/
    position:absolute;
    /*inset:auto 0 120px 0;*/
    top: 20%;
    inset: 20% 20px 20px;
        width: 100%;
    text-align:center;
    font-weight:300;
    font-size:240px;
    line-height:1;
    /*color:#3a2c25;*/
    opacity:.35;
    pointer-events:none;
    
height: 80%;
    transition: 
        opacity 0.4s ease,
        font-size 0.6s ease,
        font-weight 0.6s ease;    
  }
  .panel-20 p{
    margin:0;font-size:22px;max-width:46ch;letter-spacing:.2px;
    transition: 
        opacity 0.4s ease,
  }
  .panel-20 em{font-style:normal;color:var(--brand)}
  .contact{
    padding:12px 0 0 0;
  }
  .contact .tel, .contact .mail{
    font-size:26px;font-weight:600;margin-bottom:8px;display:block; 
  }
  .address{color:var(--muted);margin:16px 0 18px}
  .social{display:flex;gap:12px;margin:8px 0 16px}
  .social a{
    width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
    background:#191919;border:1px solid #272727;
  }
  .map{
    width:100%;height:150px;border-radius:18px;overflow:hidden;border:1px solid #222;
    background:#151515 url('../img/map_ej.png') center/cover no-repeat; 
    /*background:#151515 url('https://tile.openstreetmap.org/5/16/16.png') center/cover no-repeat;*/
  }
  .cookie-link{display:inline-block;margin-top:12px;color:var(--brand)}
  .footer-bottom{
    margin-top:38px;
    /*border-top:1px solid var(--line);*/
    padding-top:18px;
    display:flex;flex-direction:column;gap:12px;font-size:14px;color:var(--muted)
  }
  .copy{opacity:.9}
  .links{display:flex;flex-wrap:wrap;gap:18px;justify-content: flex-start;}
  .links a{color:var(--muted)}
  @media (min-width: 780px){
    .footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}
  }



#contacto-titulo{
  font-size: 26px;
}
.social a{
  background-color: white;
}
.social a:hover{
  /*background-color: linear-gradient(90deg, #ff7134ff, #ff7134ff, #ffb656ff, #ffb656ff, #ffb656ff);*/
  /*background-color: #E47D3C;*/
  background-color: #FFAF52;
}  
.gradient-text a{
  color: linear-gradient(90deg, #ff7134ff, #ff7134ff, #ffb656ff, #ffb656ff, #ffb656ff);
}
.panel-20 .masgracias{
  text-align: center;
  opacity: 0;
    display: inline-block;
    transition: all 1s ease;
}
.panel-20 .gradient-text.big::after {
    content: "años";
    position: absolute;
    left: 0;
    /*margin-left: 1%;*/
     margin-left: 19%;
    margin-top: min(23vw,300px);
    font-size: min(7vw,120px);
    font-weight: 800;
    /*color: #000;*/
    opacity: 0;
    transition: all .5s ease;
    background: linear-gradient(90deg, #ff7134ff, #ff7134ff, #ffb656ff, #ffb656ff, #ffb656ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    mix-blend-mode: difference;
    transform: scale(0);
    transform-origin: center -7vw;
  }
.panel-20:hover .gradient-text.big::after {
    opacity: 1;
 
    transform: scale(1);
    
}
.text-gracias-container{
  display: flex;
    flex-flow: column;
}
.panel-20:hover .masgracias{
  opacity: 1;
}
.map:hover{
  border:3px solid #FE7335;    
}
.panel-20:hover{
  border:3px solid #FE7335;    
}
 .panel-20 .big{
    /*transition: all .8s ease-out;*/
    transition: 
        opacity 0.4s ease,
        font-size 0.6s ease,
        transform .5s ease-in-out,
        font-weight 0.6s ease;    
  }
.panel-20:hover .big {
    opacity: 1;
    transform: translateY(-30%);
    font-size: min(33vw,440px);
    font-weight: 900;
    /*animation: bounceGrow 0.8s ease-out forwards;*/
    /*animation: 0.8s ease-out forwards;*/
}

/*.panel-20 {
    overflow: hidden;  
    position: relative;
}*/
.panel-20:hover p.anyos {
  display: block;    
}
.panel-20 p.anyos{
  color: black;
    font-size: 7vw;
    font-weight: 900;
    z-index: 90000;
    margin-left: 40px !important;
    display: none;
    z-index: 1;
    bottom: 15%;
    left: 12%;
    position: absolute;
}

.panel-20:hover .text-gracias {
    opacity: 1;
}

.text-gracias{
  text-align: center;
  opacity: .35;
  font-weight: 600;
}
.contact .tel{
  /*padding-top: 26px;*/
}


/* COLOCAR ICONOS SOCIAL */
.rowSocial {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 20px;
  margin-top: 60px;
}

aside.contact .address {
  flex: 1;
}

aside.contact .social {
  margin-left: auto; 
  display: flex;
  gap: 12px;
  padding-top: 35px;
}

@keyframes bounceGrow {
    0% {
        font-size: 150px;
        transform: scale(1);
    }
    60% {
        font-size: 320px;      /* un poco más grande que el final */
        transform: scale(1.1);
    }
    80% {
        font-size: 290px;      /* rebote hacia abajo */
        transform: scale(0.98);
    }
    100% {
        font-size: 300px;      /* tamaño final */
        transform: scale(1);
    }
}
.btn-enviar{
  margin: 0px;
}
/*.swal2-title{*/
/*.swal2-popup swal2-modal swal2-icon-success swal2-show  {*/
.swal2-popup {
 border:3px solid #FE7335;   
}
.form-control:focus{
  background-color: #2a2a2a;
  /*color: red;*/
  color: #fff;
}
:root {
  --bs-danger: #ff7a00;      
  --bs-danger-rgb: 255,122,0;
}
.form-control.is-invalid, .was-validated .form-control:invalid{
  border-color: #FFAF52;;
}
.form-control.is-valid, .was-validated .form-control:valid {
    border-color: #7a7871 !important;
    box-shadow: none !important;       
}
.form-control:focus {
    color: #fff;
    /*background-color: #000;*/
    border-color: var(--color-naranja2);
    outline: 0;
    box-shadow: 0 0 0 .25rem rgb(253 178 13 / 5%);
}

.form-check-input.is-invalid~.form-check-label, .was-validated .form-check-input:invalid~.form-check-label {
  color: #FFAF52;
}
.invalid-feedback{
  font-size: 11px;
  color: #FFAF52;
}

.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus {
  border-color: #FFAF52;
} 


.sw-dark {
  background: #1a1a1a !important;    
  color: #ffffff !important;         
  border: 2px solid #ff7a00;         
}

.sw-title {
  color: #ff7a00 !important;         
}

.sw-html {
  color: #ddd !important;            
}

.sw-confirm {
  background-color: #ff7a00 !important;
  color: #1a1a1a !important;
  border-radius: 6px !important;
  font-weight: 600;
}

.sw-confirm:hover {
  background-color: #ffa34d !important;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    background-image: none !important;
    padding-right: .75rem !important; 
}
.form-control.is-valid, .was-validated .form-control:valid {
    background-image: none !important;
    padding-right: .75rem !important; 
} 

textarea.form-control.is-valid,
.was-validated textarea.form-control:valid {
    background-image: none !important;
    padding-right: .75rem !important; 
}

.form-check-input.is-valid ~ .form-check-label,
.form-check-input.is-invalid ~ .form-check-label,
.was-validated .form-check-input:valid ~ .form-check-label,
.was-validated .form-check-input:invalid ~ .form-check-label {
    /*color: inherit !important;   */
    color: var(--muted) !important;   
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #1a1a1a inset !important; /* color de fondo */
    -webkit-text-fill-color: var(--text) !important; /* color del texto */
    transition: background-color 5000s ease-in-out 0s !important;
}

.form-group {
  position: relative;
}

.invalid-feedback {
  position: absolute;
  bottom: -18px; 
  left: 0;
  margin: 0;
}
.mb-c{
  margin-bottom: 1.2rem !important;
}
.form-check-input.is-valid:checked, .was-validated .form-check-input:valid:checked {
    background-color: #0d6efd !important;;
}

.form-check-input.is-valid, .was-validated .form-check-input:valid {
    border-color: #0d6efd !important;;
} 

.li-publicidad{
    margin-left: 22px;
} 


/* Puntero del mapa */
.map {
    position: relative;
    cursor: pointer;
} 

.mapa-puntero {
  transform-origin: bottom;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%);
    width: 30px;
    height: auto;
    transition: all 0.3s ease;
}

.map:hover .mapa-puntero {
    transform: translate(-50%, -100%) scale(1.6);
    animation: latido 1s ease-in-out infinite;
}

@keyframes latido {
    0%, 100% { transform: translate(-50%, -100%) scale(1); }
    50% { transform: translate(-50%, -100%) scale(1.25); }
}



/* COLOCAR BOTON ENVIAR */
.form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    /*margin-top: 20px;*/
    padding-top: 15px;
    /*border-top: 1px solid #e0e0e0;*/
    margin-top: 1.5rem !important;
}

.checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    cursor: pointer;
}


/*.btn:hover {
    background: #0056b3;
}*/

@media (max-width: 1350px) {
  .panel-20:hover .big {
      opacity: 1;
      /*font-size: 230px !important;*/
      font-size: 33vw !important;
      font-weight: 900;
      /*transform: scale(1.5);*/
      /*animation: bounceGrow 0.8s ease-out forwards;*/
      animation: 0.8s ease-out forwards;
  }
}

  /*@media (max-width: 1100px){*/
  @media (max-width: 1099px){
    .panel-20{
      display: none;
    }
  }
/* Para móviles */
@media (max-width: 768px) {
    .form-footer {
        /*flex-direction: column;*/
        /*align-items: stretch;*/
        flex-flow: column;
        align-items: flex-start;
        margin-top: 0px !important;
        margin: 0;
        padding: 0;
    }
    .form-label{
      display: none;
    }
    #contacto-titulo{
      margin-bottom: 20px !important;
    }
    .form-check{
      padding-top: 20px;  
    }
    
    .btn {
        align-self: flex-end;
    }
    .footer {
      padding: 50px 20px 20px;
    }

    .label-acepto{
      max-width: 200px;
    }

    .copy, .cookie-link {
      text-align: center;
    } 
    .configuracion_cookies_container{
            display: flex;
            justify-content: space-between;
            align-items: center;
    }
    .cookie-link{
      margin: 0;
    }
    .mb-c{
      margin-bottom: 30px !important;
    }
    .links {
      position: absolute;
        flex-direction: row; /* Uno bajo el otro */
        justify-content: center; /* Centrado horizontalmente */
        align-items: center; /* Centro los elementos */
        gap: 12px; 
        position: absolute;
        /*margin-top: -40px;*/
        margin-top: -25px;
        line-height: 10px;
    }
    .contact .tel {
        padding-top: 0px;
    }    
    footer{
      padding-bottom: 300px;
    }   

    .popup_cookies p {
        font-size: 12px;
    }  
    .popup_cookies h3{
        font-size: 20px;   
    }
    .map{
      height: 150px;
    }
    .rowSocial{
      margin-top: 20px;
    }
    .footer-grid{
      padding-top: 0px;
    }
    #keyboard-spacer {
  height: 0;
  transition: height .25s ease;
}

}





