:root {
  --bg: #070310;
  --bg-2: #0d061b;
  --panel: #120925;
  --panel-2: #160b2f;
  --line: rgba(137, 69, 216, .42);
  --purple: #7b28dc;
  --purple-2: #a536ff;
  --cyan: #22e3e8;
  --cyan-soft: #6af7f4;
  --gold: #f4bd3f;
  --white: #f9f7ff;
  --muted: #b8aec9;
  --muted-2: #7f7691;
  --shadow: 0 22px 65px rgba(0,0,0,.42);
  --radius: 14px;
  --radius-sm: 9px;
  --header-h: 78px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 14px); }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 22% 7%, rgba(94, 19, 173, .18), transparent 30%),
    radial-gradient(circle at 92% 22%, rgba(105, 29, 190, .15), transparent 28%),
    var(--bg);
  color: var(--white);
  font-family: "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  overflow-x: hidden;
}
body::selection { background: var(--purple); color: white; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; display: block; }
.container-xl { max-width: 1240px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--header-h);
  background: rgba(8, 3, 18, .9);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(121, 49, 204, .3);
  transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.site-header.is-scrolled {
  background: #080312;
  border-bottom-color: rgba(121, 49, 204, .5);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .42);
}
.site-header__inner {
  height: 100%;
  display: grid;
  grid-template-columns: 145px 1fr 170px;
  align-items: center;
  gap: 18px;
}
.brand {
  position: relative;
  align-self: start;
  z-index: 3;
  width: 126px;
  height: 126px;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 14px 25px rgba(82, 20, 153, .35));
  transition: width .25s ease, height .25s ease, filter .25s ease;
}
.brand img { width: 126px; height: 126px; object-fit: contain; transition: width .25s ease, height .25s ease; }
.site-header.is-scrolled .brand {
  align-self: center;
  width: 66px;
  height: 66px;
  filter: drop-shadow(0 8px 16px rgba(82, 20, 153, .28));
}
.site-header.is-scrolled .brand img { width: 66px; height: 66px; }
.main-nav {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.4vw, 36px);
}
.main-nav a {
  position: relative;
  height: 100%;
  display: inline-flex;
  align-items: center;
  color: #f3eefb;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
  transition: color .25s ease;
}
.main-nav a::after {
  content: "";
  position: absolute;
  left: 50%; right: 50%; bottom: 0;
  height: 3px;
  background: var(--cyan);
  box-shadow: 0 0 14px rgba(34,227,232,.55);
  transition: left .25s ease, right .25s ease;
}
.main-nav a:hover, .main-nav a.is-active { color: var(--cyan-soft); }
.main-nav a:hover::after, .main-nav a.is-active::after { left: 0; right: 0; }
.btn-order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 44px;
  border-radius: 7px;
  background: linear-gradient(135deg, #f4c44d 0%, #eaa32d 100%);
  color: #1a0e03;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 9px 25px rgba(237,170,48,.18);
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-order:hover { transform: translateY(-2px); color: #1a0e03; box-shadow: 0 13px 32px rgba(237,170,48,.3); }
.nav-toggle { display: none; }

.hero {
  position: relative;
  min-height: 575px;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(90deg, #06020f 0%, rgba(6,2,15,.96) 33%, rgba(6,2,15,.55) 62%, rgba(6,2,15,.9) 100%),
    radial-gradient(circle at 75% 24%, rgba(123,40,220,.24), transparent 34%),
    #05020b;
  border-bottom: 1px solid rgba(126, 54, 209, .28);
}
.hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(ellipse at 78% 34%, rgba(136,44,236,.23), transparent 24%),
    radial-gradient(ellipse at 86% 58%, rgba(82,17,138,.25), transparent 28%);
  filter: blur(10px);
}
.hero__pattern {
  position:absolute;
  inset:0 auto 0 0;
  width:44%;
  background-image: linear-gradient(90deg, rgba(7,3,16,.72), rgba(7,3,16,.15)), url('../img/backgrounds/seigaiha.svg');
  background-size:auto, 106px 53px;
  opacity:.68;
  z-index:-1;
  mask-image: linear-gradient(90deg, #000 25%, transparent 100%);
}
.hero-slider { position: relative; min-height: 575px; }
.hero-slide {
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform: translateX(26px);
  transition: opacity .32s ease, transform .32s ease, visibility .32s;
}
.hero-slide.is-active { opacity:1; visibility:visible; transform:none; position:relative; }
.hero-slide__grid {
  min-height:575px;
  display:grid;
  grid-template-columns: 42% 58%;
  align-items:center;
  gap:0;
  padding-top: 35px;
  padding-bottom: 26px;
}
.hero-copy { position:relative; z-index:5; padding: 20px 20px 20px 4px; }
.eyebrow {
  display:inline-block;
  margin-bottom: 8px;
  color: #b95cff;
  font-size: 13px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.hero-title {
  margin:0;
  max-width: 520px;
  text-transform:uppercase;
  line-height:.88;
  letter-spacing:-.035em;
  font-family: Impact, "Arial Black", "Segoe UI Black", sans-serif;
  font-style:italic;
  transform: skew(-4deg);
  text-shadow: 0 12px 35px rgba(0,0,0,.5);
}
.hero-title span { display:block; color:#fff; font-size: clamp(44px, 4.5vw, 72px); }
.hero-title strong { display:block; color:var(--cyan); font-size: clamp(51px, 5vw, 80px); font-weight:900; }
.hero-lead { max-width: 490px; margin: 20px 0 5px; color:#e3dcec; font-size:16px; line-height:1.55; }
.hero-price { color: var(--gold); font-size: 19px; font-weight: 900; letter-spacing: .02em; margin: 0 0 16px; }
.hero-actions { display:flex; align-items:center; gap:15px; flex-wrap:wrap; }
.btn-primary-hakiri, .btn-outline-gold {
  min-width: 154px;
  min-height: 46px;
  padding: 0 19px;
  border-radius: 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
  transition:.25s ease;
}
.btn-primary-hakiri { background:linear-gradient(135deg, #22e3e8, #16c6d2); color:#06161a; box-shadow:0 10px 26px rgba(34,227,232,.18); }
.btn-primary-hakiri:hover { color:#06161a; transform:translateY(-2px); box-shadow:0 13px 30px rgba(34,227,232,.28); }
.btn-outline-gold { border:1px solid rgba(244,189,63,.8); color:#f6c957; background:rgba(20,12,21,.38); }
.btn-outline-gold:hover { background:rgba(244,189,63,.1); color:#ffd874; transform:translateY(-2px); }
.hero-benefits { margin-top:22px; display:flex; flex-wrap:wrap; gap:22px; color:#c5bdcf; font-size:11px; }
.hero-benefits span { display:flex; align-items:center; gap:5px; }
.hero-benefits span::first-letter { color:var(--gold); }
.hero-media { position:relative; height: 500px; align-self:end; display:grid; place-items:center; }
.hero-media::after {
  content:"";
  position:absolute;
  left:8%; right:3%; bottom:23px;
  height:70px;
  border-radius:50%;
  background:rgba(0,0,0,.7);
  filter:blur(18px);
  z-index:-1;
}
.hero-media__glow {
  position:absolute;
  width:72%; height:62%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(126,32,224,.22), rgba(126,32,224,0) 70%);
  filter:blur(20px);
  z-index:-1;
}
.hero-media img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center 55%;
  filter: drop-shadow(0 20px 35px rgba(0,0,0,.55)) saturate(1.05) contrast(1.03);
  transform:scale(1.04);
}
.hero-product-label {
  position:absolute;
  right:5%; bottom:18%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  padding:9px 12px;
  border:1px solid rgba(93,229,231,.25);
  border-radius:9px;
  background:rgba(9,5,19,.72);
  backdrop-filter: blur(8px);
  box-shadow:var(--shadow);
}
.hero-product-label span { color:#fff; font-size:12px; font-weight:700; }
.hero-product-label strong { color:var(--cyan); font-size:14px; }
.hero-controls {
  position:absolute;
  left:50%; bottom:17px;
  transform:translateX(-50%);
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  pointer-events:none;
}
.hero-arrow, .hero-dot { pointer-events:auto; }
.hero-arrow {
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(181,105,244,.34);
  background:rgba(17,8,32,.78); color:#e9dbf6; display:grid; place-items:center; font-size:24px; line-height:1;
  transition:.2s ease;
}
.hero-arrow:hover { color:var(--cyan); border-color:var(--cyan); }
.hero-dots { display:flex; gap:7px; align-items:center; }
.hero-dot { width:8px; height:8px; border:0; padding:0; border-radius:20px; background:#655975; transition:.25s ease; }
.hero-dot.is-active { width:25px; background:var(--cyan); box-shadow:0 0 12px rgba(34,227,232,.6); }

.section-pad { padding: 36px 0 42px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:18px; }
.section-heading--compact { align-items:flex-start; }
.section-heading > div { flex:1; }
.section-heading h2 { margin:0; font-size:30px; line-height:1.1; font-weight:760; letter-spacing:-.025em; }
.section-heading p { margin:7px 0 0; color:var(--muted); font-size:14.5px; line-height:1.5; }
.menu-section, .tables-section { position:relative; background:linear-gradient(180deg, #100723 0%, #0a0416 100%); }
.menu-section::before, .tables-section::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:url('../img/backgrounds/seigaiha.svg'); background-size:110px 55px; opacity:.11;
  mask-image:linear-gradient(90deg, transparent 0%, black 18%, black 82%, transparent 100%);
}
.menu-section .container-xl, .tables-section .container-xl { position:relative; z-index:1; }
.menu-tabs-wrap { position:relative; margin-bottom:14px; }
.menu-tabs-wrap::after { content:""; position:absolute; right:0; top:0; bottom:0; width:55px; pointer-events:none; background:linear-gradient(90deg, transparent, #100723 80%); opacity:.7; }
.menu-tabs { display:flex; gap:8px; overflow-x:auto; padding:4px 5px 8px 0; scrollbar-width:none; -ms-overflow-style:none; }
.menu-tabs::-webkit-scrollbar { width:0; height:0; display:none; }
.menu-tab {
  flex:0 0 auto;
  min-height:44px;
  padding:0 20px;
  border-radius:8px;
  border:1px solid rgba(118,73,166,.3);
  background:#160d26;
  color:#bdb4c8;
  font-size:14px;
  font-weight:700;
  transition:.22s ease;
}
.menu-tab:hover { border-color:rgba(34,227,232,.55); color:#fff; }
.menu-tab.is-active { color:#fff; border-color:rgba(34,227,232,.75); background:linear-gradient(180deg, rgba(30,191,202,.18), rgba(13,32,42,.3)); box-shadow:0 0 16px rgba(34,227,232,.11), inset 0 0 0 1px rgba(34,227,232,.09); }
.menu-grid { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:11px; min-height:250px; }
.menu-card {
  display:none;
  border:1px solid rgba(121,70,178,.42);
  border-radius:var(--radius-sm);
  overflow:hidden;
  background:linear-gradient(180deg, rgba(29,16,49,.96), rgba(15,8,29,.98));
  box-shadow:0 14px 32px rgba(0,0,0,.2);
  transform:translateY(10px);
  opacity:0;
}
.menu-card.is-visible { display:block; animation:cardIn .38s ease forwards; }
@keyframes cardIn { to { transform:none; opacity:1; } }
.menu-card__image { position:relative; height:148px; overflow:hidden; background:#050308; }
.menu-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.menu-card:hover .menu-card__image img { transform:scale(1.045); }
.menu-card__category { position:absolute; left:9px; top:9px; padding:5px 8px; background:rgba(21,8,42,.78); border:1px solid rgba(170,76,255,.38); border-radius:6px; backdrop-filter:blur(7px); color:#e1cff3; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.menu-card__body { padding:14px 14px 12px; }
.menu-card h3 { font-size:19.5px; line-height:1.25; margin:0 0 9px; font-weight:760; }
.menu-card p { margin:0; min-height:92px; color:#c0b7ca; font-size:15px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.menu-card__footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; }
.menu-card__footer strong { color:var(--cyan); font-size:20.5px; line-height:1; }
.menu-card__hint { color:#b5a8c2; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; }
.section-action { display:flex; justify-content:center; margin-top:12px; }
.btn-ghost-wide { min-width:270px; height:42px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:18px; border:1px solid rgba(114,77,154,.35); border-radius:5px; color:#a99bb7; text-transform:uppercase; font-size:10.5px; letter-spacing:.04em; transition:.2s ease; }
.btn-ghost-wide:hover { border-color:var(--cyan); color:var(--cyan); }

.promo-strip { border-top:1px solid rgba(126,54,209,.18); border-bottom:1px solid rgba(126,54,209,.18); background:linear-gradient(90deg, rgba(31,12,57,.9), rgba(12,6,25,.98)); }
.promo-strip__inner { min-height:82px; display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:18px; }
.promo-strip__tag { background:linear-gradient(135deg, #6e1bcb, #9633ff); border-radius:20px; padding:6px 11px; text-transform:uppercase; font-size:9px; font-weight:900; letter-spacing:.1em; }
.promo-strip strong { font-size:14px; }
.promo-strip p { margin:0; color:#998da7; font-size:11px; }
.promo-strip a { color:var(--cyan); font-size:11px; font-weight:800; white-space:nowrap; }

.tables-section { background:linear-gradient(180deg, #0b0518 0%, #120727 100%); }
.tables-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.table-card {
  position:relative;
  min-height:220px;
  display:grid;
  grid-template-columns: 52% 48%;
  border:1px solid rgba(141,77,210,.46);
  border-radius:8px;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(20,10,38,.98), rgba(35,11,65,.92));
  box-shadow:0 16px 34px rgba(0,0,0,.2);
}
.table-card__copy { position:relative; z-index:2; padding:16px 10px 14px 16px; display:flex; flex-direction:column; align-items:flex-start; }
.table-card__badge { margin-bottom:8px; padding:5px 8px; border-radius:4px; background:rgba(142,41,232,.55); color:#eee2ff; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.table-card h3 { margin:0 0 8px; font-size:18px; }
.table-card p { margin:0; color:#b1a4bd; font-size:15px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.table-card strong { margin-top:auto; color:var(--cyan); font-size:20px; }
.table-card a { margin-top:8px; padding:7px 11px; border-radius:4px; background:linear-gradient(135deg,#6b21c4,#912ff5); color:white; text-transform:uppercase; font-size:10px; font-weight:800; }
.table-card__media { position:relative; overflow:hidden; }
.table-card__media::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, #1a0c30 0%, transparent 45%); }
.table-card__media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(1.08) contrast(1.04); }

.about-section { position:relative; overflow:hidden; background:#080312; }
.about-section::after { content:""; position:absolute; width:520px; height:520px; right:-190px; top:-230px; border-radius:50%; background:radial-gradient(circle, rgba(108,27,194,.22), transparent 70%); }
.about-grid { display:grid; grid-template-columns: 38% 62%; align-items:center; min-height:300px; }
.about-mark { position:relative; display:grid; place-items:center; }
.about-mark::before { content:""; position:absolute; width:230px; height:230px; border-radius:50%; background:radial-gradient(circle, rgba(129,39,224,.25), transparent 72%); filter:blur(12px); }
.about-mark img { position:relative; width:220px; height:220px; object-fit:contain; filter:drop-shadow(0 15px 30px rgba(96,24,167,.3)); }
.about-copy { position:relative; z-index:2; max-width:650px; padding:20px 0; }
.about-copy h2 { margin:0 0 12px; font-size:34px; letter-spacing:-.035em; }
.about-copy > p { color:#b6acbf; line-height:1.7; font-size:14px; margin:0; }
.about-points { margin-top:22px; display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.about-points span { padding:13px 12px; border:1px solid rgba(118,59,174,.25); background:rgba(26,11,46,.62); border-radius:8px; color:#d8cee2; font-size:11px; }
.about-points b { display:block; color:var(--cyan); font-size:15px; margin-bottom:3px; }

.site-footer { position:relative; background:#0a0415; border-top:1px solid rgba(128,58,201,.35); }
.site-footer__accent { height:2px; background:linear-gradient(90deg, #dd9e25, #f4c34a 20%, rgba(112,37,196,.55) 65%, transparent); opacity:.85; }
.site-footer__grid { display:grid; grid-template-columns:1.45fr 1fr 1fr .75fr; gap:34px; align-items:center; padding-top:16px; padding-bottom:17px; }
.footer-brand { display:grid; grid-template-columns:112px 1fr; gap:16px; align-items:center; padding-right:26px; border-right:1px solid rgba(146,88,200,.28); }
.footer-brand img { width:105px; height:105px; object-fit:contain; }
.footer-brand p { margin:0; color:#a79daf; font-size:13.5px; line-height:1.7; }
.footer-col h3 { margin:0 0 10px; color:#a84cff; text-transform:uppercase; font-size:13px; letter-spacing:.08em; }
.footer-col p { margin:5px 0; color:#aca1b9; font-size:13px; line-height:1.6; }
.footer-col p span { color:var(--gold); display:inline-block; width:15px; }
.footer-contact-link { color:inherit; transition:color .2s ease; }
.footer-contact-link:hover { color:var(--cyan); }
.social-links { display:flex; gap:9px; }
.social-links a, .social-link { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(163,93,225,.35); border-radius:50%; color:#fff; background:#130824; transition:.2s ease; }
.social-links svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.social-links a:hover { color:var(--cyan); border-color:var(--cyan); transform:translateY(-2px); }
.social-link { cursor:default; }
.footer-bottom { min-height:54px; border-top:1px solid rgba(114,68,151,.22); display:flex; justify-content:space-between; align-items:center; gap:20px; color:#8b8197; font-size:11.5px; }
.footer-credit { display:flex; align-items:center; gap:10px; color:#786f84; }
.footer-credit a { display:inline-flex; align-items:center; height:31px; padding:2px 6px; border-radius:5px; background:rgba(255,255,255,.96); }
.footer-credit img { width:105px; height:25px; object-fit:contain; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* Modal de canales de pedido */
body.order-modal-open { overflow: hidden; }
.order-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .24s ease, visibility .24s ease;
}
.order-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.order-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 1, 10, .74);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.order-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  padding: 28px 30px 30px;
  border: 1px solid rgba(158, 77, 231, .48);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(128, 38, 220, .18), transparent 34%),
    linear-gradient(180deg, #130723 0%, #0b0415 100%);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .58), 0 0 45px rgba(112, 32, 201, .13);
  text-align: center;
  transform: translateY(16px) scale(.98);
  transition: transform .25s ease;
}
.order-modal.is-open .order-modal__dialog { transform: none; }
.order-modal__close {
  position: absolute;
  top: 13px;
  right: 13px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(180, 114, 237, .3);
  border-radius: 50%;
  background: rgba(29, 12, 52, .85);
  color: #eee7f6;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  transition: .2s ease;
}
.order-modal__close:hover { color: var(--cyan); border-color: rgba(34, 227, 232, .6); transform: rotate(5deg); }
.order-modal__logo { width: 96px; height: 96px; object-fit: contain; margin: 0 auto 4px; filter: drop-shadow(0 12px 24px rgba(87, 23, 153, .35)); }
.order-modal h2 { margin: 1px 0 8px; font-size: 30px; letter-spacing: -.035em; }
.order-modal__dialog > p { max-width: 390px; margin: 0 auto; color: var(--muted); font-size: 14.5px; line-height: 1.6; }
.order-modal__actions { display: grid; gap: 11px; margin-top: 24px; }
.order-option {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.order-option:hover { transform: translateY(-2px); }
.order-option__icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; font-size: 16px; }
.order-option--whatsapp { border: 1px solid rgba(34, 227, 232, .56); background: rgba(13, 81, 85, .22); color: #f7ffff; box-shadow: inset 0 0 0 1px rgba(34, 227, 232, .04); }
.order-option--whatsapp .order-option__icon { background: rgba(34, 227, 232, .14); color: var(--cyan); }
.order-option--whatsapp:hover { border-color: var(--cyan); box-shadow: 0 10px 30px rgba(34, 227, 232, .1); color: #fff; }
.order-option--platform { border: 1px solid rgba(166, 65, 255, .5); background: rgba(75, 24, 121, .24); color: #f5ebff; }
.order-option--platform .order-option__icon { background: rgba(165, 54, 255, .14); color: #c77aff; }
.order-option--platform:hover { border-color: rgba(197, 112, 255, .8); box-shadow: 0 10px 30px rgba(125, 42, 197, .13); }

/* Constructor de pedido */
.order-option__icon svg { width:20px; height:20px; display:block; }
.order-option--whatsapp .order-option__icon { color:#2ee36f; background:rgba(46,227,111,.12); }
.order-option--whatsapp { border-color:rgba(46,227,111,.48); background:rgba(12,82,43,.2); }
.order-option--whatsapp:hover { border-color:#2ee36f; box-shadow:0 10px 30px rgba(46,227,111,.1); }

.order-builder {
  position:fixed;
  inset:0;
  z-index:3100;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
}
.order-builder.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.order-builder__backdrop {
  position:absolute;
  inset:0;
  background:rgba(4,1,10,.78);
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
}
.order-builder__dialog {
  position:relative;
  z-index:1;
  width:min(1240px, calc(100vw - 44px));
  height:min(860px, calc(100dvh - 44px));
  min-height:620px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(153,74,226,.5);
  border-radius:20px;
  background:linear-gradient(180deg,#10061e 0%,#090311 100%);
  box-shadow:0 30px 100px rgba(0,0,0,.65),0 0 60px rgba(112,32,201,.13);
  transform:translateY(14px) scale(.985);
  transition:transform .24s ease;
}
.order-builder.is-open .order-builder__dialog { transform:none; }
.order-builder__header {
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 20px;
  border-bottom:1px solid rgba(127,66,185,.28);
  background:rgba(17,7,31,.94);
}
.order-builder__heading { display:flex; align-items:center; gap:13px; }
.order-builder__heading h2 { margin:2px 0 0; font-size:26px; line-height:1.05; }
.order-builder__cart-icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(34,227,232,.38);
  border-radius:13px;
  background:rgba(34,227,232,.08);
  color:var(--cyan);
}
.order-builder__cart-icon svg { width:25px; height:25px; }
.order-builder__close,
.quantity-modal__close {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(180,114,237,.3);
  border-radius:50%;
  background:#180c29;
  color:#eee7f6;
  font-size:27px;
  line-height:1;
  cursor:pointer;
  transition:.2s ease;
}
.order-builder__close:hover,
.quantity-modal__close:hover { color:var(--cyan); border-color:rgba(34,227,232,.6); }
.order-builder__layout {
  min-height:0;
  flex:1;
  display:grid;
  grid-template-columns:minmax(300px, 350px) minmax(0, 1fr);
}
.order-builder__summary {
  min-height:0;
  display:flex;
  flex-direction:column;
  border-right:1px solid rgba(127,66,185,.28);
  background:linear-gradient(180deg,rgba(24,10,43,.94),rgba(13,6,24,.98));
}
.order-summary__mobile-head { display:none; }
.order-summary__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:20px 20px 14px;
  border-bottom:1px solid rgba(127,66,185,.18);
}
.order-summary__head h3 { margin:2px 0 0; font-size:23px; }
.order-summary__clear {
  border:0;
  padding:5px 0;
  background:transparent;
  color:#9b8ca9;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  cursor:pointer;
}
.order-summary__clear:hover:not(:disabled) { color:#ff7f96; }
.order-summary__clear:disabled { opacity:.35; cursor:not-allowed; }
.order-summary__items { flex:1; min-height:0; overflow:auto; padding:12px 15px 18px; }
.order-summary__empty {
  min-height:240px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  text-align:center;
  color:#a99eb4;
}
.order-summary__empty > span { font-size:34px; opacity:.65; }
.order-summary__empty strong { color:#e6deec; font-size:15px; }
.order-summary__empty p { margin:0; max-width:220px; font-size:12.5px; line-height:1.5; }
.cart-line {
  padding:13px 12px;
  border:1px solid rgba(124,69,171,.25);
  border-radius:10px;
  background:rgba(25,11,44,.72);
}
.cart-line + .cart-line { margin-top:9px; }
.cart-line__top,.cart-line__bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cart-line__top > div { min-width:0; }
.cart-line__top strong { display:block; color:#f3edf7; font-size:13.5px; line-height:1.35; }
.cart-line__top span { display:block; margin-top:3px; color:#9f93ab; font-size:11px; }
.cart-line__remove {
  flex:0 0 auto;
  width:28px;
  height:28px;
  border:1px solid rgba(255,111,137,.25);
  border-radius:50%;
  background:rgba(99,30,47,.15);
  color:#d993a1;
  font-size:18px;
  cursor:pointer;
}
.cart-line__bottom { margin-top:11px; }
.cart-line__bottom > strong { color:var(--cyan); font-size:14px; }
.cart-line__qty { display:inline-flex; align-items:center; gap:8px; }
.cart-line__qty button,
.quantity-picker button {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(158,91,215,.38);
  border-radius:7px;
  background:#1a0d2d;
  color:#fff;
  font-size:18px;
  cursor:pointer;
}
.cart-line__qty span { min-width:20px; text-align:center; font-weight:800; font-size:12px; }
.order-summary__footer {
  padding:15px 18px 18px;
  border-top:1px solid rgba(127,66,185,.22);
  background:#0c0516;
}
.order-summary__total { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:13px; }
.order-summary__total span { color:#b7aabb; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.order-summary__total strong { color:#fff; font-size:24px; }
.order-summary__submit {
  width:100%;
  min-height:48px;
  border:1px solid rgba(46,227,111,.55);
  border-radius:9px;
  background:linear-gradient(135deg,rgba(25,159,78,.95),rgba(29,117,64,.95));
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  transition:.2s ease;
}
.order-summary__submit.is-platform { border-color:rgba(169,73,247,.58); background:linear-gradient(135deg,#6924ab,#8f31df); }
.order-summary__submit:hover:not(:disabled) { transform:translateY(-1px); filter:brightness(1.08); }
.order-summary__submit:disabled { opacity:.38; cursor:not-allowed; }
.order-summary__status { margin:10px 0 0; color:#b9afc2; font-size:11px; line-height:1.45; }
.order-summary__sent-clear {
  margin-top:10px;
  width:100%;
  min-height:38px;
  border:1px solid rgba(34,227,232,.35);
  border-radius:8px;
  background:rgba(34,227,232,.07);
  color:var(--cyan);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.order-builder__catalog-panel { min-width:0; min-height:0; overflow:auto; padding:20px 22px 26px; background:radial-gradient(circle at 75% 0,rgba(101,30,171,.12),transparent 28%); }
.order-catalog__intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:16px; }
.order-catalog__intro h3 { margin:3px 0 0; font-size:24px; }
.order-catalog__intro p { margin:0; max-width:420px; color:#a99eaf; font-size:12.5px; line-height:1.5; text-align:right; }
.order-categories {
  display:flex;
  gap:7px;
  overflow:auto;
  padding:0 0 12px;
  scrollbar-width:thin;
  scrollbar-color:#5f3379 transparent;
}
.order-category {
  flex:0 0 auto;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(127,77,170,.3);
  border-radius:999px;
  background:#150a26;
  color:#b8acbf;
  font:inherit;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
.order-category.is-active { color:#fff; border-color:rgba(34,227,232,.62); background:rgba(34,227,232,.1); box-shadow:0 0 20px rgba(34,227,232,.06); }
.order-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.order-product-card {
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(121,70,178,.34);
  border-radius:12px;
  background:linear-gradient(180deg,#160a27,#0f071b);
}
.order-product-card__media { position:relative; height:138px; overflow:hidden; background:#07030b; }
.order-product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.order-product-card:hover img { transform:scale(1.035); }
.order-product-card__media span {
  position:absolute;
  left:8px;
  top:8px;
  padding:4px 7px;
  border:1px solid rgba(173,93,238,.35);
  border-radius:5px;
  background:rgba(16,6,29,.82);
  color:#e5d5f1;
  font-size:8.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  backdrop-filter:blur(6px);
}
.order-product-card__body { padding:12px; }
.order-product-card h4 { margin:0 0 7px; color:#f7f1fa; font-size:15px; line-height:1.3; }
.order-product-card p {
  margin:0;
  min-height:68px;
  color:#bdb2c3;
  font-size:12px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.order-product-card__footer { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-top:11px; }
.order-product-card__footer strong { color:var(--cyan); font-size:15px; }
.order-product-card__footer button {
  min-height:32px;
  padding:0 9px;
  border:1px solid rgba(160,78,227,.5);
  border-radius:7px;
  background:linear-gradient(135deg,#5e1ea4,#8427d6);
  color:#fff;
  font:inherit;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
  cursor:pointer;
}
.order-product-card__footer button:hover { filter:brightness(1.12); }
.order-mobile-bar { display:none; }

.quantity-modal {
  position:fixed;
  inset:0;
  z-index:3300;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.2s ease;
}
.quantity-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.quantity-modal__backdrop { position:absolute; inset:0; background:rgba(4,1,10,.72); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
.quantity-modal__dialog {
  position:relative;
  z-index:1;
  width:min(390px,100%);
  padding:25px 24px 23px;
  border:1px solid rgba(157,75,229,.5);
  border-radius:16px;
  background:linear-gradient(180deg,#180a2b,#0c0516);
  box-shadow:0 25px 80px rgba(0,0,0,.6);
  text-align:center;
}
.quantity-modal__close { position:absolute; right:12px; top:12px; width:34px; height:34px; font-size:22px; }
.quantity-modal h3 { margin:7px 0 4px; padding:0 30px; font-size:21px; }
.quantity-modal__price { margin:0; color:var(--cyan); font-size:16px; font-weight:800; }
.quantity-picker { display:flex; align-items:center; justify-content:center; gap:16px; margin:21px 0; }
.quantity-picker button { width:42px; height:42px; border-radius:10px; font-size:24px; }
.quantity-picker output { min-width:34px; color:#fff; font-size:24px; font-weight:900; }
.quantity-modal__actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.quantity-modal__actions button { min-height:42px; border-radius:8px; font:inherit; font-size:12px; font-weight:900; cursor:pointer; }
.quantity-modal__cancel { border:1px solid rgba(137,93,170,.35); background:#160b25; color:#bdb1c4; }
.quantity-modal__confirm { border:1px solid rgba(34,227,232,.45); background:linear-gradient(135deg,#17666d,#198f96); color:#fff; }

/* Checkout por transferencia */
.payment-modal {
  position:fixed;
  inset:0;
  z-index:3300;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
.payment-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.payment-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(4,1,10,.83);
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
}
.payment-modal__dialog {
  position:relative;
  z-index:1;
  width:min(980px,calc(100vw - 44px));
  max-height:calc(100dvh - 44px);
  overflow:auto;
  border:1px solid rgba(153,74,226,.52);
  border-radius:20px;
  background:
    radial-gradient(circle at 85% 0,rgba(34,227,232,.07),transparent 25%),
    linear-gradient(180deg,#11071f 0%,#090311 100%);
  box-shadow:0 30px 100px rgba(0,0,0,.68),0 0 55px rgba(112,32,201,.13);
  transform:translateY(14px) scale(.985);
  transition:transform .24s ease;
}
.payment-modal.is-open .payment-modal__dialog { transform:none; }
.payment-modal__header {
  position:sticky;
  top:0;
  z-index:4;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 22px;
  border-bottom:1px solid rgba(127,66,185,.28);
  background:rgba(16,6,30,.97);
  backdrop-filter:blur(12px);
}
.payment-modal__header h2 { margin:2px 0 0; font-size:27px; }
.payment-modal__close {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(180,114,237,.3);
  border-radius:50%;
  background:#180c29;
  color:#eee7f6;
  font-size:27px;
  cursor:pointer;
}
.payment-modal__close:hover { color:var(--cyan); border-color:rgba(34,227,232,.6); }
.payment-modal__body { display:grid; grid-template-columns:1.05fr .95fr; gap:16px; padding:20px; }
.payment-transfer,.payment-customer,.payment-proof,.payment-order-preview {
  border:1px solid rgba(133,71,184,.28);
  border-radius:14px;
  background:rgba(20,8,36,.76);
  padding:18px;
}
.payment-transfer { grid-column:1/-1; }
.payment-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:15px; }
.payment-section-heading h3,.payment-customer h3,.payment-proof h3 { margin:2px 0 0; font-size:19px; }
.payment-transfer__total { color:var(--cyan); font-size:26px; white-space:nowrap; }
.transfer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.transfer-field {
  min-height:72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:12px 14px;
  border:1px solid rgba(143,75,198,.25);
  border-radius:10px;
  background:#0d0519;
}
.transfer-field span { color:#7fe8e9; text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:800; }
.transfer-field strong { color:#f5f0f8; font-size:14px; line-height:1.3; overflow-wrap:anywhere; }
.transfer-field--wide { grid-column:span 2; }
.payment-customer__grid { display:grid; gap:13px; margin-top:16px; }
.payment-customer label { display:grid; gap:7px; }
.payment-customer label>span { color:#d9cfe1; font-size:12px; font-weight:800; }
.payment-customer input,
.payment-customer textarea {
  width:100%;
  border:1px solid rgba(144,78,197,.38);
  border-radius:9px;
  background:#0b0414;
  color:#fff;
  padding:0 13px;
  outline:0;
  font:inherit;
  font-size:14px;
}
.payment-customer input { height:46px; }
.payment-customer textarea { min-height:108px; padding:12px 13px; resize:vertical; line-height:1.5; }
.payment-customer input:focus,
.payment-customer textarea:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(34,227,232,.08); }
.payment-customer small { color:#8f829a; font-size:10.5px; }
.phone-field { display:grid; grid-template-columns:auto 1fr; align-items:center; border:1px solid rgba(144,78,197,.38); border-radius:9px; background:#0b0414; overflow:hidden; }
.phone-field:focus-within { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(34,227,232,.08); }
.phone-field__prefix { height:46px; display:flex; align-items:center; padding:0 13px; border-right:1px solid rgba(144,78,197,.25); color:var(--cyan); background:#130823; font-size:14px; font-weight:900; white-space:nowrap; }
.phone-field input { border:0; border-radius:0; box-shadow:none!important; }
.payment-dropzone {
  min-height:174px;
  margin-top:14px;
  padding:18px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  text-align:center;
  border:1px dashed rgba(34,227,232,.4);
  border-radius:12px;
  background:rgba(8,46,53,.12);
  cursor:pointer;
}
.payment-dropzone:hover { border-color:var(--cyan); background:rgba(34,227,232,.035); }
.payment-dropzone__icon { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:rgba(34,227,232,.1); color:var(--cyan); font-size:24px; }
.payment-dropzone strong { font-size:14px; }
.payment-dropzone small { color:#92869d; font-size:10.5px; }
.payment-dropzone input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.payment-proof__selected { margin-top:9px; min-height:36px; display:flex; align-items:center; padding:8px 10px; border-radius:8px; background:#0c0516; color:#a99daf; font-size:11px; overflow-wrap:anywhere; }
.payment-order-preview__items { display:grid; gap:8px; max-height:260px; overflow:auto; }
.payment-preview-line { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:10px 11px; border-radius:9px; background:#0c0516; border:1px solid rgba(128,67,178,.2); }
.payment-preview-line>div { min-width:0; }
.payment-preview-line strong { color:#eee8f2; font-size:12.5px; line-height:1.35; }
.payment-preview-line>strong { color:var(--cyan); white-space:nowrap; }
.payment-preview-line span { display:block; margin-top:3px; color:#8f8299; font-size:10.5px; }
.payment-modal__status { grid-column:1/-1; min-height:20px; margin:0; color:#ff9aae; font-size:12px; text-align:center; }
.payment-submit { grid-column:1/-1; min-height:50px; border:1px solid rgba(34,227,232,.55); border-radius:10px; background:linear-gradient(135deg,#0e7d83,#7b22cf); color:#fff; font:inherit; font-size:13px; font-weight:900; cursor:pointer; }
.payment-submit:hover:not(:disabled) { filter:brightness(1.08); }
.payment-submit:disabled { opacity:.55; cursor:wait; }
.payment-success { padding:55px 24px 60px; text-align:center; }
.payment-success__icon { width:68px; height:68px; margin:0 auto 14px; display:grid; place-items:center; border-radius:50%; background:rgba(77,224,151,.12); border:1px solid rgba(77,224,151,.42); color:#68e6ad; font-size:34px; font-weight:900; }
.payment-success h3 { margin:4px 0 9px; font-size:28px; }
.payment-success p { max-width:480px; margin:0 auto 18px; color:var(--muted); line-height:1.6; }
.payment-success__code { display:inline-flex; gap:7px; padding:10px 14px; border:1px solid rgba(34,227,232,.25); border-radius:9px; background:#0c0616; color:#cfc6d6; }
.payment-success__code strong { color:var(--cyan); }
.payment-success__date { margin-top:10px; color:#92869d; font-size:12px; }
.payment-success__close { margin-top:22px; min-width:180px; min-height:44px; border:0; border-radius:9px; background:#8127dc; color:#fff; font:inherit; font-weight:900; cursor:pointer; }

/* Previsualización del comprobante de transferencia */
.payment-proof__preview{margin-top:10px;min-height:150px;max-height:310px;border:1px solid rgba(34,227,232,.24);border-radius:11px;background:#07030d;overflow:hidden;display:grid;place-items:center}.payment-proof__preview[hidden]{display:none}.payment-proof__preview img{display:block;width:100%;max-height:310px;object-fit:contain;background:#050208}.payment-proof__pdf-preview{width:100%;min-height:150px;display:grid;place-items:center;align-content:center;gap:8px;color:#cfc5d6}.payment-proof__pdf-preview span{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:#251043;color:var(--cyan);font-weight:900}.payment-proof__pdf-preview strong{font-size:13px}

/* Carta web completa */
.carta-hero{padding:150px 0 48px;background:radial-gradient(circle at 78% 20%,rgba(93,25,168,.24),transparent 36%),#090414;border-bottom:1px solid rgba(151,72,222,.2)}
.carta-hero__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.carta-hero h1{margin:7px 0 10px;font-size:clamp(38px,5vw,66px);letter-spacing:-.055em}.carta-hero p{max-width:720px;margin:0;color:#b7aabd;font-size:16px;line-height:1.7}
.carta-browser{background:linear-gradient(180deg,#0c0618,#080311)}.carta-tabs-wrap{position:sticky;top:76px;z-index:20;margin-bottom:26px;padding:10px 0;background:rgba(9,4,20,.92);backdrop-filter:blur(14px)}.carta-tabs{display:flex;gap:9px;overflow:auto;padding:2px 1px 8px;scrollbar-width:none;-ms-overflow-style:none}.carta-tabs::-webkit-scrollbar{width:0;height:0;display:none}.carta-tab{flex:0 0 auto;border:1px solid rgba(151,72,222,.35);border-radius:999px;background:#130823;color:#c8b9d2;padding:10px 16px;font-size:13px;font-weight:800;cursor:pointer}.carta-tab.is-active{border-color:var(--cyan);background:rgba(34,227,232,.09);color:#fff;box-shadow:0 0 24px rgba(34,227,232,.08)}
.carta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.carta-product{scroll-margin-top:160px;border:1px solid rgba(151,72,222,.34);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#12071f,#0d0518);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.carta-product:hover{transform:translateY(-3px);border-color:rgba(34,227,232,.36)}.carta-product[hidden]{display:none}.carta-product.is-targeted{border-color:#20e7ee;box-shadow:0 0 0 2px rgba(32,231,238,.23),0 0 42px rgba(118,40,223,.42);animation:targetPulse 1.15s ease-in-out 3}.carta-product__media{position:relative;height:210px;background:#040207;overflow:hidden}.carta-product__media img{width:100%;height:100%;object-fit:cover}.carta-product__media span{position:absolute;top:12px;left:12px;padding:6px 9px;border:1px solid rgba(185,93,255,.36);border-radius:6px;background:rgba(22,7,40,.83);color:#eadcff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.carta-product__body{padding:17px}.carta-product h2{font-size:20px;margin:0 0 9px}.carta-product p{min-height:96px;margin:0;color:#bdb1c6;font-size:14.5px;line-height:1.58}.carta-product__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.carta-product__footer strong{color:var(--cyan);font-size:21px}.carta-product__order{border:1px solid rgba(151,72,222,.45);border-radius:8px;background:#451274;color:#fff;padding:8px 11px;font-size:11px;font-weight:850;cursor:pointer}.carta-product__order:hover{background:#6320a2}@keyframes targetPulse{0%,100%{box-shadow:0 0 0 2px rgba(32,231,238,.22),0 0 32px rgba(118,40,223,.28)}50%{box-shadow:0 0 0 4px rgba(32,231,238,.38),0 0 58px rgba(118,40,223,.56)}}

/* Iconografía de contacto */
.footer-icon{width:18px;height:18px;display:inline-grid;place-items:center;vertical-align:-4px;margin-right:6px;color:var(--gold)}
.footer-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Icono de carta: hoja con lápiz */
.hero-menu-icon{width:19px;height:19px;display:inline-grid;place-items:center;flex:0 0 auto}
.hero-menu-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Descarga de carta PDF */
.carta-pdf-download{min-width:230px;display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid rgba(34,227,232,.35);border-radius:12px;background:linear-gradient(135deg,rgba(20,8,39,.95),rgba(37,13,64,.95));box-shadow:0 16px 42px rgba(0,0,0,.24);color:#fff;transition:.25s ease}
.carta-pdf-download:hover{color:#fff;border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 18px 45px rgba(34,227,232,.12)}
.carta-pdf-download__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:rgba(34,227,232,.1);color:var(--cyan);flex:0 0 auto}
.carta-pdf-download__icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.carta-pdf-download span:last-child{display:grid;gap:2px;line-height:1.15}
.carta-pdf-download small{color:#a99ab7;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.carta-pdf-download strong{font-size:13px}

/* v14 - Fuji Roll recortado para hero: WebP transparente */
.hero-media img[src$="fuji-roll-cutout.webp"] {
  width: auto;
  max-width: 86%;
  height: 94%;
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: drop-shadow(0 24px 38px rgba(0,0,0,.58)) saturate(1.04) contrast(1.02);
}

/* v15 - optimización de render bajo el primer pantallazo */
@supports (content-visibility: auto) {
  .menu-section,
  .promo-strip,
  .tables-section,
  .about-section,
  .site-footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 720px;
  }
}

/* v15 - recortes transparentes del hero */
.hero-media img[src$="lima-roll-cutout.webp"],
.hero-media img[src$="fuji-roll-cutout.webp"] {
  width: auto;
  height: auto;
  max-width: min(100%, 760px);
  max-height: min(500px, 58vh);
  object-fit: contain;
  object-position: center;
  transform: none;
  margin: auto;
}


/* v16 - comprobante integrado en el mismo recuadro */
.payment-dropzone{position:relative;min-height:218px;padding:0;display:grid;place-items:stretch;border:1px dashed rgba(34,227,232,.45);border-radius:13px;background:#0b071d;overflow:hidden}
.payment-dropzone:hover{border-color:var(--cyan);background:#0b071d}
.payment-dropzone>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.payment-dropzone__empty{min-height:218px;display:grid;place-items:center;align-content:center;gap:8px;padding:28px;cursor:pointer;text-align:center}
.payment-proof__preview{position:relative;margin:0;width:100%;height:100%;min-height:218px;max-height:340px;border:0;border-radius:12px;background:#050208;overflow:hidden;display:grid;place-items:center}
.payment-proof__preview[hidden]{display:none}
.payment-proof__preview img{width:100%;height:100%;min-height:218px;max-height:340px;object-fit:contain;background:#050208}
.payment-proof__pdf-preview{min-height:218px}
.payment-proof__overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:linear-gradient(180deg,transparent,rgba(5,2,8,.94) 34%);color:#eee4f4;font-size:11px}
.payment-proof__overlay>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.payment-proof__actions{display:flex;gap:8px;flex:0 0 auto}
.payment-proof__action{border:1px solid rgba(34,227,232,.45);border-radius:7px;background:#10263b;color:#dffcff;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer;text-decoration:none}
.payment-proof__action:hover{border-color:var(--cyan);color:#fff}
.payment-proof__action--danger{border-color:rgba(255,83,116,.48);background:#3a1020;color:#ffdce4}
.payment-proof__selected{display:none}


/* v19 - aparición suave del contenido al hacer scroll */
.scroll-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .62s cubic-bezier(.2,.72,.2,1),
    transform .62s cubic-bezier(.2,.72,.2,1);
  will-change: opacity, transform;
}
.scroll-reveal--delay-1 { transition-delay: .045s; }
.scroll-reveal--delay-2 { transition-delay: .09s; }
.scroll-reveal--delay-3 { transition-delay: .135s; }
.scroll-reveal--delay-4 { transition-delay: .18s; }
.scroll-reveal.is-revealed {
  opacity: 1;
  transform: none;
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  .scroll-reveal,
  .scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
