.catalog-hero {
  min-height: 86svh;
  padding: 160px max(6vw, 28px) 90px;
  display: grid;
  align-items: end;
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(185, 133, 42, .22), transparent 30%),
    radial-gradient(circle at 12% 76%, rgba(87, 217, 255, .10), transparent 28%),
    #080808;
}
.catalog-hero-grid {
  width: min(1280px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: end;
  gap: clamp(45px, 8vw, 120px);
}
.catalog-hero h1 { max-width: 920px; }
.catalog-lead { max-width: 730px; margin-top: 28px; color: rgba(255,255,255,.62); font-size: clamp(1rem, 1.7vw, 1.18rem); }
.featured-invitation {
  min-height: 380px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(103,232,249,.32);
  background:
    linear-gradient(180deg, rgba(3,5,10,.1), rgba(3,5,10,.9)),
    radial-gradient(circle at 18% 18%, rgba(0,214,255,.75), transparent 32%),
    radial-gradient(circle at 84% 72%, rgba(255,40,137,.62), transparent 34%),
    #070811;
  box-shadow: 0 38px 90px rgba(0,0,0,.34);
  transition: transform .35s ease, border-color .35s ease;
}
.featured-invitation:hover { transform: translateY(-8px); border-color: rgba(103,232,249,.8); }
.featured-invitation span, .featured-invitation small { text-transform: uppercase; letter-spacing: .16em; font-size: .68rem; }
.featured-invitation span { color: #67e8f9; }
.featured-invitation strong { font: 600 clamp(2.2rem, 4vw, 4.3rem)/.92 var(--serif); }
.featured-invitation small { color: rgba(255,255,255,.72); }
.catalog-toolbar {
  position: sticky;
  z-index: 10;
  top: 88px;
  padding: 18px max(6vw, 28px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: rgba(248,245,239,.92);
  border-bottom: 1px solid rgba(0,0,0,.08);
  backdrop-filter: blur(16px);
}
.catalog-toolbar .filter-bar { margin: 0; }
.catalog-toolbar p { margin: 0; color: var(--muted); font-size: .78rem; white-space: nowrap; }
.catalog-section { padding: 70px max(6vw, 28px) 110px; background: var(--ivory); }
.catalog-showcase {
  width: min(1280px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 52px);
}
.invitation-card { display: grid; grid-template-columns: minmax(0, .92fr) minmax(230px, .58fr); min-height: 520px; background: #fff; box-shadow: 0 26px 75px rgba(26,22,16,.09); overflow: hidden; }
.invitation-card.is-featured { grid-column: 1 / -1; grid-template-columns: 1.15fr .85fr; min-height: 610px; }
.invitation-visual { position: relative; min-height: 100%; padding: 24px; display: grid; place-items: center; overflow: hidden; isolation: isolate; }
.invitation-visual::before { position: absolute; inset: 0; z-index: -2; content: ""; background: var(--card-background); transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.invitation-card:hover .invitation-visual::before { transform: scale(1.06); }
.invitation-visual::after { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(0,0,0,.22)); }
.phone-preview { width: min(260px, 76%); aspect-ratio: 9 / 17.5; padding: 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 32px; background: rgba(5,5,7,.88); box-shadow: 0 34px 70px rgba(0,0,0,.34); transform: rotate(-3deg); transition: transform .45s ease; }
.invitation-card:hover .phone-preview { transform: rotate(0deg) translateY(-6px); }
.phone-screen { height: 100%; padding: 26px 18px; display: flex; flex-direction: column; justify-content: space-between; text-align: center; color: var(--card-text); border-radius: 24px; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.18)); overflow: hidden; }
.phone-screen small { font-size: .52rem; letter-spacing: .19em; text-transform: uppercase; color: var(--card-accent); }
.phone-screen strong { font: 600 clamp(1.65rem, 3.2vw, 2.65rem)/.9 var(--serif); }
.phone-screen span { font-size: .62rem; letter-spacing: .13em; }
.phone-screen i { width: 38px; height: 1px; margin: 0 auto; background: var(--card-accent); }
.invitation-info { padding: clamp(28px, 4vw, 50px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.invitation-info .card-badge { color: var(--gold); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; }
.invitation-info h3 { margin: 12px 0 15px; font-size: clamp(2.3rem, 4vw, 4.2rem); }
.invitation-info p { color: var(--muted); }
.invitation-meta { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.invitation-meta span { padding: 7px 10px; border: 1px solid var(--line); font-size: .62rem; letter-spacing: .11em; text-transform: uppercase; }
.card-actions { width: 100%; margin-top: auto; padding-top: 32px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.card-actions a:first-child { font-size: .72rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.card-actions a:first-child:hover { color: var(--gold); }
.card-actions .mini-link { color: var(--muted); font-size: .75rem; }
.catalog-empty { grid-column: 1/-1; padding: 80px 25px; text-align: center; }
.catalog-custom { padding: 100px max(6vw, 28px); display: grid; grid-template-columns: 1fr 1fr; gap: 70px; color: #fff; background: #090909; }
.catalog-custom > * { max-width: 620px; }
.catalog-custom p:not(.eyebrow) { color: rgba(255,255,255,.62); margin-bottom: 30px; }
@media (max-width: 1050px) {
  .catalog-hero-grid, .catalog-custom { grid-template-columns: 1fr; }
  .featured-invitation { min-height: 300px; }
  .invitation-card, .invitation-card.is-featured { grid-column: auto; grid-template-columns: 1fr; min-height: 0; }
  .invitation-visual { min-height: 520px; }
}
@media (max-width: 760px) {
  .catalog-hero { padding-top: 130px; }
  .catalog-toolbar { top: 76px; align-items: flex-start; flex-direction: column; overflow-x: auto; }
  .catalog-toolbar .filter-bar { flex-wrap: nowrap; min-width: max-content; }
  .catalog-showcase { grid-template-columns: 1fr; }
  .invitation-visual { min-height: 460px; }
  .featured-invitation strong { font-size: 2.65rem; }
}

/* LN Studio v4.3 · catálogo creativo */
.catalog-hero{padding-top:145px;background:
 radial-gradient(circle at 8% 22%,rgba(115,87,231,.18),transparent 24%),
 radial-gradient(circle at 90% 18%,rgba(255,109,122,.16),transparent 23%),
 linear-gradient(145deg,#f9faff,#f3efff 55%,#fff7f8);color:#222433}
.catalog-hero h1{font-family:"Fraunces","Cormorant Garamond",serif;letter-spacing:-.055em}.catalog-hero h1 em{color:#7357e7;font-style:normal}.catalog-lead{color:#636b7f}.catalog-toolbar{border-color:#e1e5ef;background:#fff;box-shadow:0 10px 32px rgba(43,47,73,.05)}.filter-bar{gap:8px}.filter-button{border:1px solid #dde2ed;border-radius:999px;background:#fff;color:#626a7e;font-weight:800}.filter-button:hover{border-color:#b9adeb;color:#7357e7}.filter-button.active{border-color:#7357e7;background:#7357e7;color:#fff}.catalog-section{background:#f7f8fc}.catalog-card,.catalog-item{border-radius:22px!important;border-color:#e1e5ef!important;background:#fff!important;box-shadow:0 15px 38px rgba(42,46,70,.07)!important;overflow:hidden}.catalog-card h2,.catalog-item h2,.catalog-item h3{font-family:"Manrope","Inter",sans-serif!important;font-weight:800!important;letter-spacing:-.04em}.catalog-card a,.catalog-item a{border-radius:11px!important;background:#7357e7!important;color:#fff!important;border:0!important}.catalog-custom{background:linear-gradient(135deg,#ece8ff,#fff0f2 55%,#e8f8fa);color:#222433}.catalog-custom h2{font-family:"Fraunces","Cormorant Garamond",serif;letter-spacing:-.045em}.catalog-custom p{color:#5f677b}.catalog-custom .button{background:#7357e7;color:#fff}
@media(max-width:700px){.catalog-hero{padding:110px 20px 55px}.catalog-hero h1{font-size:clamp(2.8rem,13vw,4.7rem)}.catalog-toolbar{position:static;padding:14px 18px;align-items:flex-start;flex-direction:column}.filter-bar{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.filter-button{white-space:nowrap}.catalog-section{padding:34px 18px 70px}.catalog-custom{padding:55px 20px;grid-template-columns:1fr}}
.invitation-card{border:1px solid #e1e5ef;border-radius:22px;background:#fff;box-shadow:0 15px 38px rgba(42,46,70,.07)}.invitation-info .card-badge{color:#7357e7;font-weight:800}.invitation-info h3{font-family:"Manrope","Inter",sans-serif;font-weight:800;letter-spacing:-.045em;font-size:clamp(1.8rem,3.6vw,3.3rem)}.invitation-meta span{border:0;border-radius:999px;background:#f1eefc;color:#6350b4;font-weight:800}.card-actions a:first-child{padding:11px 14px;border-radius:10px;background:#7357e7;color:#fff}.card-actions a:first-child:hover{color:#fff;background:#6246d4}.card-actions .mini-link{font-weight:800;color:#697086}.phone-preview{border-radius:26px}.phone-screen{border-radius:20px}@media(max-width:760px){.invitation-card,.invitation-card.is-featured{border-radius:18px}.invitation-visual{min-height:380px}.phone-preview{width:min(230px,72%)}.invitation-info{padding:25px 20px}.card-actions{align-items:stretch;flex-direction:column}.card-actions a{text-align:center}}

/* =========================================================
   LN Studio v4.4.1 · catálogo oscuro definitivo
   ========================================================= */
.catalog-hero{background:radial-gradient(circle at 10% 22%,rgba(143,125,255,.16),transparent 24%),radial-gradient(circle at 88% 18%,rgba(255,127,145,.11),transparent 23%),linear-gradient(145deg,#090d15,#121a29 55%,#0b1019)!important;color:#eef2ff!important}
.catalog-hero h1{color:#fff!important}.catalog-hero h1 em{color:#bdb3ff!important}.catalog-lead{color:#aeb9cf!important}
.catalog-toolbar{background:rgba(9,13,21,.94)!important;border-color:rgba(255,255,255,.08)!important;box-shadow:0 12px 36px rgba(0,0,0,.28)!important;color:#eef2ff!important}
.catalog-toolbar p{color:#aab5ca!important}.filter-button{border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.03)!important;color:#d7def0!important}.filter-button:hover{border-color:rgba(143,125,255,.45)!important;color:#fff!important;background:rgba(143,125,255,.12)!important}.filter-button.active{border-color:#8f7dff!important;background:#8f7dff!important;color:#fff!important}
.catalog-section{background:#0c111b!important;color:#eef2ff!important}
.catalog-card,.catalog-item,.invitation-card,.invitation-card.is-featured{border:1px solid rgba(255,255,255,.08)!important;background:#111827!important;color:#eef2ff!important;box-shadow:0 20px 52px rgba(0,0,0,.28)!important}
.catalog-card h2,.catalog-item h2,.catalog-item h3,.invitation-info h3{color:#fff!important}.catalog-card p,.catalog-item p,.invitation-info p{color:#aeb9cf!important}
.invitation-info .card-badge{color:#bdb3ff!important}.invitation-meta span{background:rgba(143,125,255,.13)!important;color:#d9d2ff!important;border:1px solid rgba(143,125,255,.20)!important}
.card-actions a:first-child,.catalog-card a,.catalog-item a{background:linear-gradient(135deg,#8f7dff,#6f9dff)!important;color:#fff!important}.card-actions .mini-link{color:#b3bed3!important}
.catalog-custom{background:linear-gradient(135deg,#111827,#172239 55%,#10232c)!important;color:#eef2ff!important}.catalog-custom h2{color:#fff!important}.catalog-custom p,.catalog-custom p:not(.eyebrow){color:#aeb9cf!important}.catalog-custom .button{background:linear-gradient(135deg,#8f7dff,#6f9dff)!important;color:#fff!important}
.catalog-empty{color:#b8c2d8!important}

/* =========================================================
   LN Studio v4.4.3 · tarjetas grandes uniformes
   Todas las colecciones usan el formato amplio de Rebel.
   ========================================================= */
.catalog-showcase{
  grid-template-columns:1fr!important;
  gap:clamp(30px,4vw,54px)!important;
}
.invitation-card,
.invitation-card.is-featured{
  grid-column:1 / -1!important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
  min-height:610px!important;
  width:100%;
  border-radius:26px!important;
}
.invitation-visual{
  min-height:610px!important;
  padding:34px!important;
}
.phone-preview{
  width:min(285px,76%)!important;
  max-height:550px;
}
.invitation-info{
  min-width:0;
  padding:clamp(34px,5vw,62px)!important;
}
.invitation-info h3{
  overflow-wrap:anywhere;
}
@media(max-width:1050px){
  .invitation-card,
  .invitation-card.is-featured{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .invitation-visual{
    min-height:540px!important;
  }
  .phone-preview{
    width:min(270px,74%)!important;
  }
}
@media(max-width:620px){
  .catalog-section{padding-inline:16px!important}
  .catalog-showcase{gap:24px!important}
  .invitation-card,
  .invitation-card.is-featured{border-radius:20px!important}
  .invitation-visual{min-height:470px!important;padding:22px!important}
  .phone-preview{width:min(240px,82%)!important;max-height:430px}
  .invitation-info{padding:28px 22px!important}
}
