/* Estilos de las paginas legales. Base de identidad + tipografia de documento.
   Compartido por politicas-privacidad y politicas-cancelacion. */

@font-face {
  font-family: 'LemonMilk';
  src: url('../fonts/LEMONMILK-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'LemonMilk';
  src: url('../fonts/LEMONMILK-Bold.otf') format('opentype');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'LemonMilk';
  src: url('../fonts/LEMONMILK-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'LemonMilk';
  src: url('../fonts/LEMONMILK-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'TTKnickerbockers';
  src: url('../fonts/TT Knickerbockers Grotesk Trial.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

/* RESET */
*{margin:0;padding:0;box-sizing:border-box;}

html, body {
  height: auto;
  overflow-y: auto;
}

body{
  font-family:'Montserrat', sans-serif;
  background:#f3f1ec;
  color:#2c2c2c;
}

/* HEADER */
header{
  position:fixed;
  width:100%;
  top:0;
  background:#2c2c2c;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 50px;
  z-index:1000;
}

header nav a{
  color:#fff;
  margin-left:25px;
  text-decoration:none;
  font-size:18px;
  letter-spacing:1px;
}


.footer{

background:linear-gradient(
180deg,
#2b2b2b 0%,
#1c1c1c 100%
);

color:#c9a46c;

padding:100px 80px 60px;
font-family:Helvetica, Arial;
}

/* GRID PRINCIPAL */

.footer-container{

display:grid;
grid-template-columns: 1fr 1.5fr 1fr;
gap:120px;
max-width:1400px;
margin:auto;
}

/* NAV */

.footer-nav{
display:flex;
flex-direction:column;
gap:36px;
}

.footer-nav a{

color:rgb(209, 209, 209);
text-decoration:underline;
font-size:22px;
letter-spacing:2px;
}

.footer-nav a:hover{
opacity:.7;
}

/* CONTACT */

.footer-contact h4{

font-size:22px;
letter-spacing:3px;
margin-bottom:10px;
}

.footer-contact p{

font-size:22px;
line-height:1.6;
margin-bottom:30px;
color:#b6b6b6;
}

/* SOCIAL */

.footer-social{
font-size:22px;
}

.social-icons{
display:flex;
gap:20px;
margin-bottom:20px;
}

.footer-links{
display:flex;
flex-direction:column;
gap:10px;
margin-bottom:20px;
}

.footer-links a{
color:#c9a46c;
text-decoration:none;
font-size:22px;
}

/* NUESTRA FAMILIA */

.footer-family{
margin-top:80px;
text-align:center;
margin-left:-80px;
margin-right:-80px;
}

.footer-family h3{
font-size:24px;
letter-spacing:8px;
margin-bottom:40px;
}

/* LOGOS CAROUSEL */
.logo-carousel-wrapper{
overflow:hidden;
width:100%;
}

.logo-carousel-track{
display:flex;
align-items:center;
width:max-content;
animation:logoScroll 45s linear infinite;
}

.logo-carousel-track img{
width:calc(100vw / 6);
max-height:240px;
object-fit:contain;
padding:0 50px;
filter:grayscale(100%);
opacity:.6;
transition:opacity .3s;
}

.logo-carousel-track img:hover{
opacity:1;
}

.hamburger { display:none; flex-direction:column; justify-content:space-between; width:28px; height:20px; background:none; border:none; cursor:pointer; padding:0; z-index:1200; flex-shrink:0; }
.hamburger span { display:block; width:100%; height:2px; background:#fff; border-radius:2px; transition:transform 0.3s ease,opacity 0.3s ease; }
.hamburger.open span:nth-child(1) { transform:translateY(9px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-9px) rotate(-45deg); }
.mobile-nav { display:none; position:fixed; inset:0; background:#2c2c2c; z-index:1100; flex-direction:column; align-items:center; justify-content:flex-start; gap:20px; padding:80px 40px 30px; overflow-y:auto; }
.mobile-nav.open { display:flex; }
.mobile-nav a { color:#e0d5c5; text-decoration:none; font-family:'Oswald',sans-serif; font-weight:300; font-size:28px; letter-spacing:4px; text-transform:uppercase; transition:color 0.2s; border-bottom:1px solid rgba(201,164,108,0.2); width:100%; text-align:center; padding-bottom:20px; }
.mobile-nav a:last-child { border-bottom:none; }

@keyframes logoScroll{
0%{ transform:translateX(0); }
100%{ transform:translateX(calc(-9 * (100vw / 6))); }
}


/* ══════════ PÁGINAS LEGALES ══════════ */
.legal{
  max-width:900px;
  margin:0 auto;
  padding:180px 40px 100px;
}

.legal__eyebrow{
  font-family:'Oswald', sans-serif;
  font-weight:300;
  font-size:15px;
  letter-spacing:6px;
  text-transform:uppercase;
  color:#c9a46c;
  margin-bottom:18px;
}

.legal__titulo{
  font-family:'LemonMilk', sans-serif;
  font-weight:300;
  font-size:42px;
  letter-spacing:2px;
  color:#2c2c2c;
  margin-bottom:14px;
  line-height:1.2;
}

.legal__divisor{
  width:80px;
  height:2px;
  background:#c9a46c;
  margin-bottom:45px;
}

.legal__cuerpo{
  font-family:'Montserrat', sans-serif;
  font-weight:300;
  font-size:16px;
  line-height:1.85;
  color:#3d3d3d;
}

.legal__cuerpo p{ margin-bottom:20px; }

.legal__cuerpo strong{
  font-weight:500;
  color:#2c2c2c;
}

.legal__cuerpo h2{
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size:22px;
  letter-spacing:1px;
  color:#2c2c2c;
  margin:45px 0 18px;
}

.legal__cuerpo ul{
  margin:0 0 22px 22px;
  padding-left:14px;
}

.legal__cuerpo li{
  margin-bottom:10px;
  padding-left:6px;
}

.legal__cuerpo li::marker{ color:#c9a46c; }

.legal__cuerpo a{
  color:#146050;
  text-decoration:underline;
  text-underline-offset:3px;
  word-break:break-word;
}

.legal__cuerpo a:hover{ color:#c9a46c; }

.legal__fecha{
  margin-top:45px;
  padding-top:22px;
  border-top:1px solid rgba(44,44,44,0.15);
  font-family:'Oswald', sans-serif;
  font-weight:300;
  font-size:14px;
  letter-spacing:1px;
  color:#6b6b6b;
}

@media (max-width:768px){
  .legal{ padding:130px 22px 70px; }
  .legal__titulo{ font-size:29px; }
  .legal__cuerpo{ font-size:15px; }
  .legal__cuerpo h2{ font-size:19px; }
}
