/* ============================================================
   Luisito Collagea Studio — estilos globales
   Superset de los bloques <style> de los prototipos originales.
   Fuentes en ruta relativa (../brand) para ser independiente del base.
   ============================================================ */

@font-face{font-family:'Europa Grotesk SH';src:url('../brand/EuropaGroteskSH-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Europa Grotesk SH';src:url('../brand/EuropaGroteskSH-LightItalic.otf') format('opentype');font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:'Europa Grotesk SH';src:url('../brand/EuropaGroteskSH-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Europa Grotesk SH';src:url('../brand/EuropaGroteskSH-MediumItalic.otf') format('opentype');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'Europa Grotesk SH';src:url('../brand/EuropaGroteskSH-DemiBold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Europa Grotesk SH';src:url('../brand/EuropaGroteskSH-DemiBoldItalic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap;}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#DAD7CF;font-family:'Europa Grotesk SH',sans-serif;font-weight:500;}
::selection{background:#E8432E;color:#F1EBDE;}
a{color:inherit;text-decoration:none;}
a:hover{opacity:0.75;}

.disp{font-family:'Europa Grotesk SH',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;}
.mono{font-family:'Europa Grotesk SH',sans-serif;font-weight:500;letter-spacing:0.5px;}
.stamp{clip-path:polygon(50% 0%,61% 7%,73% 2%,80% 12%,93% 12%,93% 25%,100% 35%,92% 45%,97% 57%,86% 62%,86% 75%,74% 75%,68% 87%,56% 82%,46% 92%,37% 82%,25% 87%,20% 75%,8% 75%,8% 62%,0% 52%,7% 42%,2% 30%,14% 25%,14% 12%,27% 12%,35% 2%);}
.bg-dots-light{background-image:radial-gradient(rgba(23,19,16,0.16) 2.5px,transparent 2.5px);background-size:24px 24px;}
.bg-dots-dark{background-image:radial-gradient(rgba(241,235,222,0.14) 2.5px,transparent 2.5px);background-size:24px 24px;}
.bg-stripes{background-image:repeating-linear-gradient(-45deg,transparent 0 16px,rgba(23,19,16,0.055) 16px 32px);}

@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes marquee-rev{from{transform:translateX(-50%);}to{transform:translateX(0);}}
@keyframes spin-slow{to{transform:rotate(360deg);}}
@keyframes spin-slow-rev{to{transform:rotate(-360deg);}}
@keyframes float-y{0%,100%{transform:translateY(0) rotate(var(--r,0deg));}50%{transform:translateY(-16px) rotate(var(--r,0deg));}}
@keyframes wiggle{0%,100%{transform:rotate(-6deg);}50%{transform:rotate(6deg);}}
@keyframes pulse-scale{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}
@keyframes pf-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes pf-jitter{0%,100%{transform:translate(0,0) rotate(0deg);}20%{transform:translate(-1.5px,1.5px) rotate(-0.4deg);}40%{transform:translate(1.5px,-1px) rotate(0.4deg);}60%{transform:translate(-1px,-1px) rotate(-0.3deg);}80%{transform:translate(1px,1.5px) rotate(0.3deg);}}
@keyframes pf-blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}

.pf-marquee-wrap{overflow:hidden;white-space:nowrap;}
.pf-marquee-track{display:inline-flex;animation:pf-marquee 14s linear infinite;}
.pf-title:hover{animation:pf-jitter .25s steps(3) infinite;}
.pf-blink{animation:pf-blink 1s steps(1) infinite;}

/* Cursor custom (se activa por JS; oculto en touch/reduced-motion) */
.lc-cursor{position:fixed;top:0;left:0;width:16px;height:16px;border-radius:50%;pointer-events:none;z-index:9999;background:#E8432E;border:1.5px solid transparent;transform:translate(-50%,-50%);display:none;}
body.lc-has-cursor .lc-cursor{display:block;}

/* Formulario de contacto */
.ct-input{width:100%;background:transparent;border:none;border-bottom:3px solid #171310;padding:14px 4px;font-family:'Europa Grotesk SH',sans-serif;font-size:17px;color:#171310;outline:none;transition:border-color .15s,background .15s;}
.ct-input:focus{border-color:#E8432E;background:rgba(232,67,46,0.05);}
.ct-input::placeholder{color:rgba(23,19,16,0.35);}
textarea.ct-input{resize:vertical;min-height:120px;font-size:16px;line-height:1.5;}

/* Placeholder de image-slot vacío (cuando no hay imagen real).
   Respeta el color de fondo definido en el style inline del slot. */
.lc-slot-empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;position:relative;color:#171310;background:#DAD7CF;}
.lc-slot-empty.lc-on-dark{color:#F1EBDE;}
.lc-slot-empty::after{content:'';position:absolute;inset:8px;border:1.5px dashed currentColor;opacity:0.22;pointer-events:none;}
.lc-slot-empty .lc-slot-cap{font-family:'Europa Grotesk SH',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:0.5px;opacity:0.6;position:relative;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition:none !important;}
}

@media (max-width:900px){
  .r-grid2{grid-template-columns:1fr !important;gap:32px !important;}
  .r-grid3{grid-template-columns:1fr !important;}
  .r-grid4{grid-template-columns:repeat(2,1fr) !important;}
  .r-modrow{grid-template-columns:56px 1fr !important;}
  .r-modrow-tags{display:none !important;}
  .r-nav-links{display:none !important;}
  .r-gallery{grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:150px !important;}
  .r-shop-grid{grid-template-columns:repeat(2,1fr) !important;}
  .ct-reasons{grid-template-columns:1fr !important;}
  .r-pad{padding:56px 22px !important;}
  .r-h1{font-size:clamp(38px,11vw,64px) !important;}
  .r-h2{font-size:30px !important;}
  .r-hero-visual{display:none !important;}
}
@media (max-width:560px){
  .r-shop-grid{grid-template-columns:1fr !important;}
}

/* ---- Navegación mobile (hamburguesa + overlay) ---- */
.lc-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:9px;color:inherit;}
.lc-burger span{display:block;height:3px;width:100%;background:currentColor;border-radius:2px;}
.lc-mobile-menu{display:none;position:fixed;inset:0;z-index:60;background:#171310;color:#F1EBDE;flex-direction:column;padding:22px 26px 40px;overflow-y:auto;}
.lc-mobile-menu.lc-open{display:flex;}
.lc-menu-close{align-self:flex-end;background:none;border:none;color:#F1EBDE;font-size:28px;line-height:1;cursor:pointer;padding:6px 8px;font-family:inherit;}
.lc-menu-links{display:flex;flex-direction:column;margin-top:10px;}
.lc-menu-links a{font-family:'Europa Grotesk SH',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#F1EBDE;font-size:clamp(26px,8vw,34px);padding:15px 0;border-bottom:1px solid rgba(241,235,222,0.15);}
.lc-menu-links a.lc-active{color:#E8432E;}
.lc-menu-cta{display:flex;flex-direction:column;gap:12px;margin-top:30px;}
.lc-menu-cta a{font-family:'Europa Grotesk SH',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:13px;text-align:center;padding:16px;border:2px solid #F1EBDE;color:#F1EBDE;}
.lc-menu-cta a.lc-cta-primary{background:#E8432E;color:#171310;border-color:#E8432E;}
@media (max-width:900px){
  .lc-nav{padding:16px 20px !important;}
  .lc-burger{display:flex;}
  .lc-nav-cta{display:none !important;}
}
@media (min-width:901px){
  .lc-mobile-menu{display:none !important;}
}

/* ---- Mobile: ocultar decoraciones que se superponen al texto ---- */
@media (max-width:900px){
  .stamp{display:none !important;}
  [aria-hidden="true"][style*="position:absolute"]{display:none !important;}
}
