/* La Carpa — estilos base (réplica de lacarpa.ar) */
:root{
  --primary:#6EC1E4;
  --text:#6B6B6B; /* original #7A7A7A (4,3:1); este da 5,3:1 sobre blanco */
  --dark:#111111;
  --slate:#334155;
  --white:#FFFFFF;
  --input:#0D0D0D;
  --btn:#4B4B4B;
  --font-title:"Antonio",sans-serif;
  --font-text:"Poppins",sans-serif;
  --container:1140px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--slate);font-family:var(--font-text);font-size:16px;line-height:1.65}
img{max-width:100%;display:block}
h2{margin:0}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:url("../assets/img/ubicacion/Ubi-6-1.webp") 50% 50%/cover}
.hero__video{position:absolute;inset:0;pointer-events:none}
.hero__video iframe{position:absolute;top:50%;left:50%;width:max(100vw,177.78vh);height:max(56.25vw,100vh);transform:translate(-50%,-50%);border:0}
.hero__logo{position:relative;width:min(768px,80vw);height:auto;animation:rollIn 1s both}
@keyframes rollIn{from{opacity:0;transform:translateX(-100%) rotate(-120deg)}to{opacity:1;transform:none}}

/* Títulos */
.title{font-family:var(--font-title);font-size:60px;font-weight:800;text-align:center;line-height:1.2}
.title--dark{color:var(--slate)}
.title--light{color:var(--white)}
.title--xl{font-size:71px;padding-bottom:60px}

/* Historia / Ubicación */
.container{width:min(var(--container),100%);margin-inline:auto}
.split{display:flex;margin-block:30px;padding-inline:20px}
.split__col{flex:0 0 50%;display:flex;flex-direction:column;justify-content:center;padding:10px}
.text{color:var(--text);font-size:16px;font-weight:400}
.text p{margin:0 0 1em}

/* Sliders */
.slider{position:relative;overflow:hidden;background:#000;height:500px}
.slider--480{height:480px}
.slider__track{display:flex;height:100%;transition:transform .3s ease-in-out}
.slide{flex:0 0 100%;height:100%}
.slide img{width:100%;height:100%;object-fit:cover}
.slider__btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.slider__btn:hover{background:rgba(0,0,0,.75)}
.slider__btn--prev{left:16px}.slider__btn--next{right:16px}

/* Galería */
.gallery{background:var(--dark);padding:60px 0}
.gallery__grid{columns:250px;column-gap:20px;margin:0 20px 0 21px}
.tile{display:block;margin-bottom:20px;border:3px solid #000;position:relative;overflow:hidden;cursor:zoom-in}
.tile img{width:100%;height:auto;transition:transform .3s}
.tile::after{content:"";position:absolute;inset:0;background:#000;opacity:0;transition:opacity .3s}
.tile:hover::after{opacity:.5}

/* Contacto */
.contact{background:var(--dark);display:flex;flex-wrap:wrap;gap:20px;padding:0 50px 30px}
.contact__head{flex:0 0 34.392%;text-align:center}
.contact__head .title{font-weight:900}
.contact__sub{font-family:var(--font-title);font-weight:300;font-size:23px;color:var(--white);margin:20px 0 0}
.contact__form{flex:1 1 0;min-width:300px}
.form{background:var(--dark);border:3px solid #3f3f3f;border-radius:15px;padding:30px}
.form__row{display:flex;gap:16px;margin-bottom:14px}
.form__row>*{flex:1;min-width:0}
.form input[type=text],.form input[type=email],.form textarea{width:100%;background:var(--input);border:1px solid #2a2a2a;border-radius:3px;color:var(--white);font:400 14px var(--font-text);padding:8px 12px}
.form input[type=text],.form input[type=email]{height:38px}
.form textarea{height:116px;resize:vertical}
.form ::placeholder{color:#9a9a9a}
.form__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form__accept{display:flex;gap:10px;align-items:flex-start;color:var(--white);font-size:13px;font-weight:300;margin-bottom:6px}
.form__submit{text-align:center;margin-top:13px}
.form button{font-family:var(--font-title);font-size:28px;font-weight:500;color:#fff;background:var(--btn);border:0;border-radius:8px;padding:8px 32px;cursor:pointer;transition:background .2s}
.form button:hover{background:#000}
.form button:disabled{opacity:.6;cursor:wait}
.form__status.is-error{color:#ff8a80}
.form__status.is-ok{color:var(--primary)}
.form__status{text-align:center;color:var(--white);font-size:14px;margin:12px 0 0;min-height:1.2em}

/* Footer */
.footer{display:flex;align-items:center;background:var(--dark);border-top:2px solid var(--white);min-height:40px;color:var(--white);font-size:13px;font-weight:300}
.footer p{margin:0}
.footer__copy{flex:0 0 40.173%;text-align:center}
.footer__logo{flex:0 0 auto;width:150px;height:150px;margin:0 auto}
.footer__dev{flex:0 0 26.621%;text-align:end;padding-right:10px}
.footer__iso{flex:0 0 4.748%;display:flex;justify-content:center}

/* Volver arriba */
.to-top{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));width:48px;height:48px;padding:0;border:0;border-radius:50%;background:rgba(17,17,17,.92);color:var(--white);cursor:pointer;display:grid;place-items:center;z-index:50;box-shadow:0 4px 16px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s,background .2s,color .2s}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.to-top__ring circle{fill:none;stroke-width:2.5}
.to-top__track{stroke:rgba(255,255,255,.35)}
.to-top__progress{stroke:var(--primary);stroke-linecap:round}
.to-top__arrow{position:relative;transition:transform .2s}
.to-top:hover{background:var(--white);color:var(--dark)}
.to-top:hover .to-top__arrow{transform:translateY(-2px)}
.to-top:focus-visible{outline-color:var(--primary)}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;z-index:100}
.lightbox[hidden]{display:none}
.lightbox__img{max-width:92vw;max-height:90vh;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:48px;line-height:1}
.lightbox__close{top:14px;right:22px}
.lightbox__nav--prev{left:18px}.lightbox__nav--next{right:18px}

/* Táctil: 16 px evita el zoom automático de iOS al enfocar un campo; objetivos de 44 px */
@media(pointer:coarse){
  .form input[type=text],.form input[type=email],.form textarea{font-size:16px}
  .form input[type=text],.form input[type=email]{height:44px;min-height:44px}
  .footer__iso a{display:grid;place-items:center;min-width:44px;min-height:44px}
}
.lightbox__img{touch-action:pan-y pinch-zoom}

/* Tablet / móvil */
@media(max-width:1024px){.contact__head{flex-basis:100%}.contact__form{flex-basis:100%}}
@media(max-width:767px){
  .title{font-size:44px}.title--xl{font-size:48px}
  .split{flex-direction:column}.split__col{flex-basis:auto}
  .slider,.slider--480{height:400px}
  .gallery__grid{columns:2;column-gap:10px}
  .contact{padding:0 20px 30px}
  .form__row{flex-direction:column}
  .footer{flex-direction:column;gap:8px;padding:10px 0}
  .footer__copy,.footer__dev{flex-basis:auto;text-align:center;padding:0}
  .footer__iso{flex-basis:auto}
}
@media(prefers-reduced-motion:reduce){.to-top,.to-top__arrow{transition:none}.hero__logo{animation:none}.slider__track{transition:none}html{scroll-behavior:auto}}

/* Accesibilidad */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:-60px;z-index:200;background:#fff;color:#111;padding:10px 16px;border-radius:6px;font:500 14px var(--font-text);transition:top .15s}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.form input:focus-visible,.form textarea:focus-visible,.form button:focus-visible,.slider__btn:focus-visible,.lightbox button:focus-visible,.tile:focus-visible{outline-color:#fff}

/* 404 */
.notfound{background:var(--dark);min-height:100vh;display:grid;place-items:center;padding:24px}
.notfound__box{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.notfound__box img{width:min(240px,60vw);height:auto}
.notfound__text{color:#ddd;margin:0 0 12px}
.notfound__btn{font-family:var(--font-title);font-size:24px;color:#fff;background:var(--btn);border-radius:8px;padding:8px 28px;text-decoration:none}
.notfound__btn:hover{background:#000}
