/* Home LaserPro — composición Visa Hunter, paleta de marca, sin efectos */

.theme-public{
  --ink:#121920;
  --surface:#1a2530;
  --text:#f3ece8;
  --muted:#9aa6b0;
  --line:rgba(195,107,107,.32);
  --wrap:1100px;
  --gutter:1.25rem;
  background:var(--ink);
  color:var(--text);
}
.theme-public .wrap{
  width:min(var(--wrap),calc(100% - (var(--gutter) * 2)));
  margin-inline:auto;
}

.theme-public #siteHeader{
  background:rgb(18 25 32 / 92%);
  backdrop-filter:none;
  box-shadow:none;
  padding:1rem var(--gutter);
  gap:1rem;
}
.theme-public #siteHeader.is-scrolled{
  background:var(--ink);
  padding:1rem var(--gutter);
  box-shadow:none;
}
.theme-public .logo [data-brand="name"]{
  background:none;
  -webkit-text-fill-color:#fff;
  color:#fff;
}
.theme-public .logo-mark{
  box-shadow:none;
  border-color:rgba(255,255,255,.35);
}
.theme-public nav a::after{display:none}
.theme-public nav a:hover{color:var(--accent-soft)}
.theme-public .header-end{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-inline-start:auto;
}
.theme-public nav ul{gap:1.15rem}
.theme-public nav a{
  font-size:.9rem;
  white-space:nowrap;
}
.theme-public nav a.nav-360{letter-spacing:0}
.theme-public .menu-toggle{
  width:44px;
  height:44px;
}

.theme-public .hero{
  position:relative;
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:6.5rem var(--gutter) 4.5rem;
  isolation:isolate;
  overflow:hidden;
  text-align:center;
  background:var(--ink);
}
.theme-public .hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  background:#000 center/cover no-repeat;
}
.theme-public .hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, rgb(18 25 32 / .28) 0%, rgb(18 25 32 / .72) 58%, rgb(18 25 32 / .96) 100%),
    linear-gradient(180deg, rgb(18 25 32 / .55) 0%, transparent 38%, rgb(18 25 32 / .92) 100%);
}
.theme-public .hero-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:40rem;
}
.theme-public .eyebrow{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent-soft);
  margin-bottom:1.1rem;
}
.theme-public .hero h1{
  font-family:"Fraunces",Georgia,serif;
  font-weight:700;
  font-size:clamp(3.1rem,12vw,6.2rem);
  line-height:.9;
  letter-spacing:-.04em;
  color:#fff;
  margin:0 0 1rem;
  text-shadow:none;
}
.theme-public .hero h1 .line{display:block}
.theme-public .hero h1 .ch{color:var(--accent-soft);font-weight:600}
.theme-public .hero-lead{
  font-size:clamp(1.08rem,2.4vw,1.35rem);
  color:rgba(243,236,232,.9);
  max-width:22ch;
  margin:0 auto 1.75rem;
  line-height:1.4;
}
.theme-public .hero-cta{
  display:flex;
  justify-content:center;
}
.theme-public .tour-chip{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  margin-top:1.2rem;
  padding:.45rem 1.05rem .45rem .45rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-size:.92rem;
  font-weight:700;
  letter-spacing:.01em;
  background:rgb(18 25 32 / .35);
}
.theme-public .tour-chip:hover,
.theme-public .tour-chip:focus-visible{
  border-color:rgba(255,255,255,.5);
  background:rgb(255 255 255 / .08);
}
.theme-public .tour-chip:focus-visible{
  outline:2px solid var(--accent-soft);
  outline-offset:3px;
}
.theme-public .tour-chip__orb{
  position:relative;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.01em;
}
.theme-public .tour-chip__orb::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1.5px dashed rgba(232,196,196,.7);
  animation:tour-spin 9s linear infinite;
}
@keyframes tour-spin{
  to{transform:rotate(360deg)}
}

.theme-public .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:48px;
  padding:.95rem 1.5rem;
  border:0;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  font-family:"DM Sans",sans-serif;
  font-weight:800;
  text-decoration:none;
  box-shadow:none;
  transform:none;
  width:auto;
  max-width:none;
  margin:0;
}
.theme-public .btn:hover{
  background:var(--accent-hover);
  transform:none;
  box-shadow:none;
}
.theme-public .btn:focus-visible{
  outline:2px solid var(--accent-soft);
  outline-offset:3px;
}
.theme-public .btn--ghost{
  background:transparent;
  color:var(--text);
  border:1px solid rgba(255,255,255,.28);
}
.theme-public .btn--ghost:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.theme-public .btn.nav-cta{display:none}
@media (min-width:900px){
  .theme-public .btn.nav-cta{display:inline-flex}
}
.theme-public .btn--whatsapp-lg{
  background:#25d366;
  color:#fff;
}
.theme-public .btn--whatsapp-lg:hover{background:#20bd5a}
.theme-public .btn--card-add{
  background:transparent;
  color:var(--text);
  border:1px solid rgba(255,255,255,.22);
  width:100%;
}

.theme-public .strip{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgb(195 107 107 / .06);
  padding:.85rem var(--gutter);
  text-align:center;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

.theme-public .proof{
  padding:4.5rem 0 2rem;
}
.theme-public .proof-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
  align-items:center;
  background:var(--surface);
  border-radius:28px;
  overflow:hidden;
}
.theme-public .proof-visual{
  margin:0;
  min-height:320px;
  background:var(--navy);
}
.theme-public .proof-visual img{
  width:100%;
  height:100%;
  max-height:560px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.theme-public .proof-copy{
  padding:0 1.5rem 2rem;
  text-align:center;
}
.theme-public .k{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent-soft);
  margin-bottom:.7rem;
}
.theme-public .proof-copy h2,
.theme-public .section-title h2,
.theme-public .about-content h3{
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.8rem,4.5vw,2.6rem);
  line-height:1.1;
  letter-spacing:-.03em;
  color:#fff;
  margin:0 0 .85rem;
}
.theme-public .section-title h2::after{display:none}
.theme-public .proof-copy p,
.theme-public .section-title p{
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.6;
  max-width:36ch;
  margin:0 auto 1.5rem;
}
@media (min-width:800px){
  .theme-public .proof-grid{
    grid-template-columns:1fr 1fr;
    min-height:460px;
  }
  .theme-public .proof-visual{min-height:100%}
  .theme-public .proof-visual img{max-height:none;height:100%}
  .theme-public .proof-copy{
    padding:2.75rem 2.75rem;
    text-align:center;
  }
}

.theme-public .catalog,
.theme-public .about-section,
.theme-public .tour-band,
.theme-public .contact{
  background:transparent;
  padding:3.5rem 0;
}
.theme-public .tour-band__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  align-items:center;
  background:var(--surface);
  border-radius:28px;
  overflow:hidden;
}
.theme-public .tour-band__copy{
  padding:2rem 1.5rem 2.1rem;
  text-align:center;
}
.theme-public .tour-band__copy h2{
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.8rem,4.5vw,2.6rem);
  line-height:1.1;
  letter-spacing:-.03em;
  color:#fff;
  margin:0 0 .85rem;
}
.theme-public .tour-band__copy p:not(.k){
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.6;
  max-width:36ch;
  margin:0 auto 1.5rem;
}
.theme-public .tour-band__visual{
  position:relative;
  display:block;
  min-height:280px;
  background:var(--navy);
}
.theme-public .tour-band__visual img{
  width:100%;
  height:100%;
  max-height:420px;
  object-fit:cover;
  display:block;
}
.theme-public .tour-band__visual .tour-chip__orb{
  position:absolute;
  left:50%;
  top:50%;
  width:72px;
  height:72px;
  transform:translate(-50%,-50%);
  font-size:.95rem;
  color:#fff;
  background:rgb(18 25 32 / .45);
  border-radius:50%;
}
.theme-public .tour-band__visual:focus-visible{
  outline:2px solid var(--accent-soft);
  outline-offset:3px;
}
@media (min-width:800px){
  .theme-public .tour-band__grid{
    grid-template-columns:1fr 1fr;
    min-height:420px;
  }
  .theme-public .tour-band__copy{
    padding:2.75rem;
  }
  .theme-public .tour-band__visual,
  .theme-public .tour-band__visual img{
    height:100%;
    max-height:none;
    min-height:420px;
  }
}
.theme-public .section-title{margin-bottom:2rem}
.theme-public .catalog-grid,
.theme-public .catalog-grid--featured{
  align-items:stretch;
}
.theme-public .catalog-grid--featured .catalog-card,
.theme-public .catalog-grid .catalog-card{
  background:var(--surface);
  box-shadow:none;
  border:1px solid rgba(255,255,255,.06);
  color:var(--text);
  display:flex;
  flex-direction:column;
  height:100%;
}
.theme-public .catalog-card{
  transition:transform .2s ease,border-color .2s ease;
}
.theme-public .card-content{
  display:flex;
  flex-direction:column;
  flex:1;
  text-align:center;
}
.theme-public .card-content h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.6em;
  line-height:1.3;
}
.theme-public .card-content p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:3.2em;
  margin-bottom:.85rem;
}
.theme-public .card-price{margin-top:auto}
.theme-public .card-actions{margin-top:.75rem;width:100%}
.theme-public .catalog-card:hover{
  transform:translateY(-4px);
  box-shadow:none;
  border-color:rgba(195,107,107,.38);
}
.theme-public .whatsapp-float:hover,
.theme-public .cart-float:hover{
  transform:none;
}
.theme-public .cart-float{
  background:var(--surface);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 8px 28px rgb(0 0 0 / 35%);
}
.theme-public .cart-drawer__panel{
  background:var(--surface);
  box-shadow:-16px 0 48px rgb(0 0 0 / 42%);
}
.theme-public .cart-drawer__head{
  background:var(--surface);
  border-bottom-color:rgba(255,255,255,.08);
}
.theme-public .cart-drawer__head h2,
.theme-public .cart-item__title,
.theme-public .cart-drawer__total,
.theme-public .cart-qty-val{color:#fff}
.theme-public .cart-drawer__empty,
.theme-public .cart-item__price,
.theme-public .cart-drawer__clear{color:var(--muted)}
.theme-public .cart-drawer__foot{
  background:#151c22;
  border-top-color:rgba(255,255,255,.08);
}
.theme-public .cart-drawer__close{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.theme-public .cart-item{border-bottom-color:rgba(255,255,255,.08)}
.theme-public .cart-qty-btn{
  background:transparent;
  border-color:rgba(255,255,255,.2);
  color:#fff;
}
.theme-public .card-price{color:var(--accent-soft)}
.theme-public .card-badge{
  background:rgb(18 25 32 / 82%);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:none;
}
.theme-public .card-media{background:#151c22}
.theme-public .card-content h3{color:#fff}
.theme-public .card-content p{color:var(--muted)}
.theme-public .catalog-more{margin-top:2rem}

.theme-public .about-layout{
  display:grid;
  gap:2rem;
  max-width:var(--wrap);
  margin:0 auto;
  padding:0 var(--gutter);
}
.theme-public .about-content{
  text-align:center;
}
.theme-public .about-content p{color:var(--muted);max-width:48ch;margin:0 auto .8rem}
.theme-public .features{display:none}

.theme-public .piece-carousel{
  position:relative;
  max-width:none;
  margin:0;
}
.theme-public .piece-carousel__track{
  display:flex;
  gap:.85rem;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:var(--gutter);
  padding:0 var(--gutter);
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.theme-public .piece-carousel__track::-webkit-scrollbar{display:none}
.theme-public .piece-carousel__track:focus-visible{
  outline:2px solid var(--accent-soft);
  outline-offset:4px;
}
.theme-public .piece-carousel__slide{
  margin:0;
  flex:0 0 min(78vw,20rem);
  scroll-snap-align:start;
}
.theme-public .piece-carousel__slide img{
  width:100%;
  height:min(58vw,26rem);
  object-fit:cover;
  border-radius:22px;
  display:block;
  background:var(--surface);
}
.theme-public .piece-carousel__btn{
  position:absolute;
  top:50%;
  z-index:2;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgb(18 25 32 / .82);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
}
.theme-public .piece-carousel__btn:hover,
.theme-public .piece-carousel__btn:focus-visible{
  border-color:rgba(255,255,255,.4);
  background:var(--surface);
}
.theme-public .piece-carousel__btn:focus-visible{
  outline:2px solid var(--accent-soft);
  outline-offset:3px;
}
.theme-public .piece-carousel__btn:disabled{
  opacity:.28;
  cursor:default;
}
.theme-public .piece-carousel__btn--prev{left:max(.35rem,env(safe-area-inset-left))}
.theme-public .piece-carousel__btn--next{right:max(.35rem,env(safe-area-inset-right))}
@media (min-width:800px){
  .theme-public .piece-carousel__slide{flex-basis:min(34vw,22rem)}
  .theme-public .piece-carousel__slide img{height:22rem}
  .theme-public .piece-carousel__btn--prev{left:max(1rem,calc((100% - var(--wrap)) / 2 - 1.4rem))}
  .theme-public .piece-carousel__btn--next{right:max(1rem,calc((100% - var(--wrap)) / 2 - 1.4rem))}
}

.theme-public .contact .section-title{margin-bottom:1.5rem}
.theme-public .contact-tiles{
  display:grid;
  grid-template-columns:1fr;
  gap:.85rem;
  max-width:52rem;
  margin:0 auto;
}
.theme-public .contact-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  min-height:11.5rem;
  padding:1.5rem 1.15rem 1.35rem;
  background:var(--surface);
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;
  color:var(--text);
  text-decoration:none;
}
.theme-public .contact-tile i{
  font-size:1.35rem;
  color:var(--accent-soft);
  margin-bottom:.85rem;
}
.theme-public .contact-tile h3{
  font-family:"DM Sans",sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 .45rem;
}
.theme-public .contact-tile p{
  color:var(--muted);
  margin:0;
  line-height:1.45;
  min-height:2.9em;
}
.theme-public .contact-tile--wa{
  border-color:rgba(37,211,102,.28);
}
.theme-public .contact-tile--wa i{color:#25d366}
.theme-public .contact-tile--wa:hover{
  background:#1e2d28;
  border-color:#25d366;
}
.theme-public a.contact-tile:hover{
  border-color:rgba(195,107,107,.38);
}
@media (min-width:720px){
  .theme-public .contact-tiles{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
.theme-public .social-links a{
  color:#fff;
  border-color:rgba(255,255,255,.2);
}

.theme-public footer{
  background:transparent;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted);
}
.theme-public footer a{color:var(--accent-soft)}
.theme-public .footer-links a,
.theme-public .footer-address a{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  text-decoration:none;
}
.theme-public .footer-address{margin-top:.55rem}
.theme-public .footer-credit a{text-shadow:none}

@media (max-width:1100px) and (min-width:769px){
  .theme-public nav ul{gap:.75rem}
  .theme-public nav a{font-size:.8rem}
}
@media (max-width:768px){
  .theme-public nav a{
    white-space:normal;
    text-align:center;
    font-size:1.15rem;
  }
  .theme-public .menu-toggle{
    display:grid;
    place-items:center;
    margin-inline-start:auto;
    order:2;
  }
  .theme-public .header-end{
    width:0;
    height:0;
    overflow:visible;
    margin:0;
    padding:0;
    gap:0;
  }
  .theme-public nav ul{
    background:var(--ink);
  }
  .theme-public .hero{
    padding:6rem var(--gutter) 3.5rem;
    min-height:100svh;
  }
  .theme-public .hero-media{display:block}
  .theme-public .proof{padding:2rem 0}
  .theme-public .catalog,
  .theme-public .about-section,
  .theme-public .tour-band,
  .theme-public .contact{padding:2.75rem 0}
  .theme-public .btn{width:auto;max-width:none}
}

/* Catálogo */
.theme-public.page-catalog .catalog-page{
  padding:6.5rem 0 3rem;
}
.theme-public.page-catalog .catalog,
.theme-public.page-catalog .catalog--full{
  background:transparent;
  padding:0;
}
.theme-public .catalog-grid{
  justify-items:stretch;
}
.theme-public .catalog-grid .catalog-card{
  background:var(--surface);
  box-shadow:none;
  border:1px solid rgba(255,255,255,.06);
  color:var(--text);
  width:100%;
  max-width:none;
  display:flex;
  flex-direction:column;
  height:100%;
}
.theme-public .section-title h1{
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(2rem,6vw,3rem);
  color:#fff;
  letter-spacing:-.03em;
}
.theme-public .section-title h1::after{display:none}
.theme-public .catalog-summary,
.theme-public .catalog-empty{
  text-align:center;
  color:var(--muted);
}
.theme-public .catalog-back{
  text-align:center;
  margin-top:2rem;
}
.theme-public .catalog-filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.5rem;
  margin:0 auto 1.6rem;
  padding:0;
}
.theme-public .catalog-filter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  min-height:44px;
  padding:.55rem 1.05rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:transparent;
  color:rgba(255,255,255,.82);
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
  box-shadow:none;
  transform:none;
}
.theme-public .catalog-filter:hover,
.theme-public .catalog-filter.is-active{
  background:rgba(195,107,107,.16);
  border-color:var(--accent);
  color:#fff;
  transform:none;
  box-shadow:none;
}
.theme-public .catalog-filter i{color:var(--accent-soft)}
@media (max-width:600px){
  .theme-public .catalog-filter span{display:inline}
}
.theme-public .catalog-pagination{
  display:flex;
  justify-content:center;
  gap:.45rem;
  margin-top:1.75rem;
}
.theme-public .catalog-pagination__btn{
  min-width:44px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  text-decoration:none;
  background:transparent;
}
.theme-public .catalog-pagination__btn.is-active,
.theme-public .catalog-pagination__btn:hover{
  background:var(--accent);
  border-color:var(--accent);
}

/* Aparición — KDK: vertical (Y) y horizontal (X) */
.reveal{
  opacity:0;
  transform:translateY(40px);
}
.reveal.reveal-x{
  transform:translateX(60px);
}
.reveal.reveal-x-left{
  transform:translateX(-60px);
}
.reveal.is-in{
  opacity:1;
  transform:none;
  transition:opacity .55s ease,transform .55s ease;
}
.reveal-d1.is-in{transition-delay:70ms}
.reveal-d2.is-in{transition-delay:140ms}
@media (prefers-reduced-motion:reduce){
  .reveal,
  .reveal.is-in{
    opacity:1;
    transform:none;
    transition:none;
  }
  .theme-public .catalog-card:hover{transform:none}
  .theme-public .tour-chip__orb::before{animation:none}
  .theme-public .piece-carousel__track{scroll-behavior:auto}
}
