/*
Theme Name: Corazón Conectado
Theme URI: https://corazonconectado.com
Author: Corazón Conectado
Author URI: https://corazonconectado.com
Description: Theme romántico, moderno y responsive para crear páginas personalizadas de parejas: historia, línea del tiempo, playlist, galería, cartas, notas de voz, contador de tiempo juntos y código QR automático. Paleta rosa/borgoña/dorado con animaciones suaves.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Text Domain: corazon-conectado
Tags: custom-colors, custom-menu, featured-images, full-width-template, translation-ready
*/

/* ============ TOKENS DE DISEÑO ============ */
:root{
  --blush: #F8DCE6;
  --blush-deep: #EFC1D3;
  --wine: #6E1E33;
  --wine-dark: #3A0F1E;
  --gold: #C6A15B;
  --gold-light: #F0DBA0;
  --cream: #FFF8F2;
  --ink: #3A222C;
  --f-script: 'Alex Brush', cursive;
  --f-display: 'Playfair Display', serif;
  --f-read: 'Cormorant Garamond', serif;
  --f-ui: 'Poppins', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--f-ui);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:var(--gold-light);color:var(--wine-dark);}
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--blush);}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:10px;}

.contenedor{max-width:1120px;margin:0 auto;padding:0 24px;}
.centro{text-align:center;margin:0 auto;}
.eyebrow{font-family:var(--f-script);font-size:1.6rem;color:var(--gold);display:inline-block;margin-bottom:6px;}
.titulo-seccion{font-family:var(--f-display);font-size:clamp(1.8rem,4.2vw,2.8rem);color:var(--wine);font-weight:600;line-height:1.2;}
.subtitulo{font-family:var(--f-read);font-style:italic;font-size:1.2rem;color:#7A5A66;max-width:520px;}
.seccion{padding:100px 0;position:relative;}

.cc-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease, transform .9s ease;}
.cc-reveal.cc-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;} }

.cc-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-ui);font-weight:500;font-size:.95rem;padding:16px 34px;border-radius:40px;border:none;cursor:pointer;letter-spacing:.02em;}
.cc-btn-primary{background:linear-gradient(135deg, var(--wine), var(--wine-dark));color:var(--gold-light);box-shadow:0 10px 30px rgba(110,30,51,.35);position:relative;transition:transform .25s ease, box-shadow .25s ease;}
.cc-btn-primary::after{content:"";position:absolute;inset:0;border-radius:40px;border:1px solid var(--gold);opacity:.6;transform:scale(1);transition:transform .3s ease, opacity .3s ease;}
.cc-btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(110,30,51,.45);}
.cc-btn-primary:hover::after{transform:scale(1.12);opacity:0;}
.cc-btn-outline{background:transparent;color:var(--wine);border:1.5px solid var(--gold);transition:background .25s ease, color .25s ease;}
.cc-btn-outline:hover{background:var(--wine);color:var(--gold-light);}
.cc-btn-grande{width:100%;justify-content:center;font-size:1.05rem;padding:17px;}

/* ============ HEADER / NAV ============ */
#site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;transition:background .35s ease, padding .35s ease, box-shadow .35s ease;}
#site-header.cc-scrolled{background:rgba(255,248,242,.92);backdrop-filter:blur(10px);padding:12px 0;box-shadow:0 4px 24px rgba(110,30,51,.08);}
#site-header nav.cc-nav{display:flex;align-items:center;justify-content:space-between;}
.cc-logo-wrap{display:flex;align-items:center;gap:10px;}
.cc-logo-monograma{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  border:1.5px solid var(--gold);
  font-family:var(--f-display);font-weight:700;font-size:.95rem;letter-spacing:.03em;
  color:var(--wine);background:linear-gradient(135deg,#fff,var(--blush));
  box-shadow:0 4px 12px rgba(198,161,91,.25);
}
.cc-logo{font-family:var(--f-script);font-size:1.9rem;color:var(--wine);}
.cc-menu{display:none;gap:34px;font-size:.9rem;font-weight:500;color:var(--wine);list-style:none;margin:0;padding:0;}
.cc-menu li{display:inline-block;}
.cc-menu a{transition:color .2s ease;}
.cc-menu a:hover{color:var(--gold);}
@media(min-width:840px){.cc-menu{display:flex;}}
.cc-nav-cta{font-size:.82rem;padding:11px 24px;}
.cc-menu-toggle{display:block;background:none;border:none;font-size:1.6rem;color:var(--wine);cursor:pointer;}
@media(min-width:840px){.cc-menu-toggle{display:none;}}

/* ============ HERO ============ */
.cc-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 20%, var(--blush) 0%, var(--blush-deep) 55%, #E3A9C0 100%);}
.cc-hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 100%, rgba(198,161,91,.35), transparent 60%);pointer-events:none;}
.cc-hero-particulas{position:absolute;inset:0;z-index:1;pointer-events:none;}
.cc-particula{position:absolute;font-size:1.4rem;color:var(--gold);opacity:.55;animation:cc-flotar 14s linear infinite;filter:drop-shadow(0 0 6px rgba(198,161,91,.5));}
@keyframes cc-flotar{0%{transform:translateY(110%) translateX(0) rotate(0deg);opacity:0;}10%{opacity:.6;}90%{opacity:.5;}100%{transform:translateY(-15%) translateX(40px) rotate(360deg);opacity:0;}}
.cc-hero-contenido{position:relative;z-index:2;text-align:center;padding:0 24px;}
.cc-hero-eyebrow{font-family:var(--f-ui);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--wine);opacity:.75;margin-bottom:18px;display:block;}
.cc-hero h1{font-family:var(--f-script);font-size:clamp(3.4rem,11vw,7rem);line-height:1;background:linear-gradient(100deg, var(--wine) 20%, var(--gold) 45%, var(--wine) 65%, var(--gold-light) 85%);background-size:250% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:cc-brillo 7s ease-in-out infinite;margin-bottom:22px;}
@keyframes cc-brillo{0%,100%{background-position:0% center;}50%{background-position:100% center;}}
.cc-hero p{font-family:var(--f-read);font-style:italic;font-size:1.35rem;color:#6B3E4E;max-width:560px;margin:0 auto 40px;}
.cc-hero-botones{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.cc-hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:22px;height:36px;border:2px solid var(--wine);border-radius:14px;opacity:.55;}
.cc-hero-scroll::before{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:4px;height:8px;border-radius:2px;background:var(--gold);animation:cc-scrollpulse 1.8s ease-in-out infinite;}
@keyframes cc-scrollpulse{0%{opacity:1;top:6px;}100%{opacity:0;top:18px;}}

.cc-mockup-wrap{margin-top:56px;position:relative;display:flex;justify-content:center;}
.cc-mockup{width:min(300px,72vw);background:var(--cream);border-radius:26px;box-shadow:0 30px 70px rgba(58,15,30,.28);border:6px solid #fff;overflow:hidden;animation:cc-flotarSuave 5s ease-in-out infinite;}
@keyframes cc-flotarSuave{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.cc-mockup-top{background:linear-gradient(135deg,var(--wine),var(--wine-dark));padding:34px 18px;text-align:center;}
.cc-mockup-top span{font-family:var(--f-script);color:var(--gold-light);font-size:1.6rem;}
.cc-mockup-body{padding:16px;}
.cc-mockup-linea{height:8px;border-radius:6px;background:var(--blush);margin-bottom:10px;}
.cc-mockup-linea.corta{width:60%;}
.cc-mockup-foto{height:60px;border-radius:10px;background:linear-gradient(135deg,var(--blush-deep),var(--gold-light));margin-bottom:12px;}

/* ============ CÓMO FUNCIONA (hilo dorado) ============ */
.cc-pasos-wrap{position:relative;margin-top:70px;}
.cc-hilo-svg{position:absolute;top:36px;left:0;width:100%;height:6px;z-index:0;display:none;}
@media(min-width:760px){.cc-hilo-svg{display:block;}}
.cc-hilo-svg path{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.6s ease;}
.cc-hilo-svg.cc-visible path{stroke-dashoffset:0;}
.cc-pasos{display:grid;grid-template-columns:1fr;gap:50px;position:relative;z-index:1;}
@media(min-width:760px){.cc-pasos{grid-template-columns:repeat(3,1fr);}}
.cc-paso{text-align:center;}
.cc-paso-circulo{width:76px;height:76px;border-radius:50%;margin:0 auto 22px;background:var(--cream);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:1.6rem;color:var(--wine);box-shadow:0 8px 20px rgba(198,161,91,.25);transition:transform .3s ease;}
.cc-paso:hover .cc-paso-circulo{transform:scale(1.08) rotate(-4deg);}
.cc-paso h3{font-family:var(--f-display);color:var(--wine);font-size:1.25rem;margin-bottom:10px;}
.cc-paso p{font-family:var(--f-read);color:#7A5A66;font-size:1.05rem;}

/* ============ TARJETAS DE FUNCIONALIDADES ============ */
.cc-grid-cards{display:grid;grid-template-columns:1fr;gap:24px;margin-top:60px;}
@media(min-width:640px){.cc-grid-cards{grid-template-columns:repeat(2,1fr);}}
@media(min-width:980px){.cc-grid-cards{grid-template-columns:repeat(3,1fr);}}
.cc-card{background:#fff;border-radius:20px;padding:36px 28px;position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(110,30,51,.08);transition:transform .35s ease, box-shadow .35s ease;}
.cc-card::before{content:"";position:absolute;inset:0;border-radius:20px;padding:1.5px;background:linear-gradient(135deg,var(--gold),transparent 40%,transparent 60%,var(--gold));-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s ease;}
.cc-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(110,30,51,.16);}
.cc-card:hover::before{opacity:1;}
.cc-card-icono{font-size:2rem;margin-bottom:16px;display:block;}
.cc-card h3{font-family:var(--f-display);color:var(--wine);font-size:1.2rem;margin-bottom:10px;}
.cc-card p{font-family:var(--f-read);color:#7A5A66;font-size:1.02rem;line-height:1.5;}

/* ============ GALERÍA / EJEMPLOS REALES ============ */
.cc-galeria-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:60px;}
@media(min-width:700px){.cc-galeria-grid{grid-template-columns:repeat(4,1fr);}}
.cc-galeria-item, .cc-galeria-foto{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1/1.15;cursor:pointer;opacity:0;transform:scale(.85);transition:opacity .7s ease, transform .7s ease;display:block;}
.cc-galeria-item.cc-visible, .cc-galeria-foto.cc-visible{opacity:1;transform:scale(1);}
.cc-galeria-item .foto, .cc-galeria-foto img{width:100%;height:100%;object-fit:cover;background:linear-gradient(135deg,var(--blush-deep),var(--gold-light));transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.cc-galeria-item:nth-child(2) .foto{background:linear-gradient(135deg,var(--wine),var(--blush-deep));}
.cc-galeria-item:nth-child(3) .foto{background:linear-gradient(135deg,var(--gold),var(--blush));}
.cc-galeria-item:nth-child(4) .foto{background:linear-gradient(135deg,var(--blush),var(--wine-dark));}
.cc-galeria-item:hover .foto, .cc-galeria-foto:hover img{transform:scale(1.15) rotate(1deg);}
.cc-galeria-marco{position:absolute;inset:8px;border:1.5px solid rgba(255,255,255,.7);border-radius:10px;opacity:0;transition:opacity .4s ease;pointer-events:none;}
.cc-galeria-item:hover .cc-galeria-marco{opacity:1;}
.cc-galeria-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(0deg,rgba(58,15,30,.55),transparent 55%);opacity:0;transition:opacity .4s ease;}
.cc-galeria-item:hover .cc-galeria-overlay{opacity:1;}
.cc-galeria-overlay span{font-family:var(--f-script);color:#fff;font-size:1.3rem;}

/* ============ CITA ============ */
.cc-cita-seccion{background:linear-gradient(160deg,var(--wine),var(--wine-dark));color:var(--cream);text-align:center;position:relative;overflow:hidden;}
.cc-cita-seccion::before{content:"❝";position:absolute;top:-40px;left:50%;transform:translateX(-50%);font-family:var(--f-display);font-size:14rem;color:rgba(198,161,91,.12);}
.cc-cita{font-family:var(--f-read);font-style:italic;font-size:clamp(1.3rem,3vw,2rem);max-width:760px;margin:0 auto 24px;position:relative;line-height:1.5;}
.cc-cita-autor{font-family:var(--f-script);color:var(--gold-light);font-size:1.5rem;}

/* ============ CTA FINAL ============ */
.cc-cta-final{background:var(--blush);text-align:center;position:relative;}
.cc-corazon-latido{font-size:3rem;display:inline-block;margin-bottom:18px;animation:cc-latido 1.6s ease-in-out infinite;}
@keyframes cc-latido{0%,100%{transform:scale(1);}15%{transform:scale(1.18);}30%{transform:scale(1);}45%{transform:scale(1.12);}60%{transform:scale(1);}}

/* ============ FOOTER DEL SITIO ============ */
#site-footer{background:var(--wine-dark);color:rgba(255,248,242,.7);padding:50px 0 26px;text-align:center;}
#site-footer .cc-logo{color:var(--gold-light);margin-bottom:10px;}
#site-footer p{font-size:.85rem;}
#site-footer .cc-enlaces{display:flex;gap:24px;justify-content:center;margin:18px 0;font-size:.85rem;flex-wrap:wrap;list-style:none;padding:0;}

/* ============ PÁGINA GENÉRICA (page.php) ============ */
.cc-pagina-generica{max-width:760px;margin:0 auto;padding:160px 24px 100px;}
.cc-pagina-generica h1{font-family:var(--f-display);color:var(--wine);font-size:clamp(2rem,5vw,2.8rem);margin-bottom:24px;}
.cc-pagina-generica .cc-contenido{font-family:var(--f-read);font-size:1.15rem;line-height:1.8;}

/* ============ 404 ============ */
.cc-404{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;}
.cc-404 h1{font-family:var(--f-script);font-size:5rem;color:var(--wine);}
.cc-404 p{font-family:var(--f-read);font-style:italic;font-size:1.2rem;color:#7A5A66;margin-bottom:24px;}

/* ============ PÁGINA DE CADA PAREJA (single-pareja.php) ============ */
.cc-pareja-page{padding-top:0;}
.cc-hero-pareja{min-height:78vh;background-size:cover;background-position:center;background-color:var(--blush);background-image:radial-gradient(ellipse at 50% 20%, var(--blush) 0%, var(--blush-deep) 55%, #E3A9C0 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.cc-hero-pareja-overlay{background:linear-gradient(180deg, rgba(58,15,30,0.08), rgba(58,15,30,0.55));width:100%;height:100%;min-height:78vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;position:relative;z-index:2;}
.cc-nombres{font-family:var(--f-script);font-size:clamp(3rem,10vw,6rem);line-height:1;margin:0 0 22px 0;background:linear-gradient(100deg, var(--gold-light) 20%, #fff 45%, var(--gold-light) 65%, #fff 85%);background-size:250% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:cc-brillo 7s ease-in-out infinite;text-shadow:0 2px 30px rgba(0,0,0,.15);}
.cc-contador{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.cc-contador .cc-num-box{background:rgba(255,255,255,.18);border:1px solid rgba(240,219,160,.55);border-radius:14px;padding:12px 18px;min-width:74px;color:#fff;backdrop-filter:blur(6px);transition:transform .25s ease;}
.cc-contador .cc-num-box:hover{transform:translateY(-4px);}
.cc-contador .cc-num-box strong{display:block;font-size:1.7rem;font-family:var(--f-display);color:var(--gold-light);}
.cc-contador .cc-num-box span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;}

.cc-seccion-pareja{max-width:860px;margin:0 auto;padding:64px 20px;}
.cc-seccion-pareja h2{font-family:var(--f-display);color:var(--wine);text-align:center;font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:32px;position:relative;}
.cc-seccion-pareja h2::after{content:"✦";display:block;color:var(--gold);font-size:.9rem;margin-top:10px;}
.cc-historia .cc-texto{font-family:var(--f-read);font-size:1.15rem;line-height:1.85;}

.cc-timeline-lista{position:relative;padding-left:26px;border-left:3px solid var(--blush-deep);}
.cc-timeline-item{margin-bottom:30px;position:relative;padding-left:16px;}
.cc-timeline-item::before{content:"";position:absolute;left:-32px;top:6px;width:15px;height:15px;border-radius:50%;background:var(--gold);border:3px solid var(--cream);box-shadow:0 0 0 3px var(--blush-deep);transition:transform .3s ease;}
.cc-timeline-item:hover::before{transform:scale(1.3);}
.cc-timeline-fecha{font-size:.8rem;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.cc-timeline-item h3{font-family:var(--f-display);color:var(--wine);margin:4px 0;}
.cc-timeline-item p{font-family:var(--f-read);font-size:1.05rem;color:#7A5A66;}

.cc-acordeon-item{border-bottom:1px solid var(--blush-deep);}
.cc-acordeon-titulo{width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:var(--f-display);font-size:1.15rem;color:var(--wine);padding:18px 4px;transition:color .25s ease, padding-left .25s ease;}
.cc-acordeon-titulo:hover{color:var(--gold);padding-left:8px;}
.cc-acordeon-contenido{max-height:0;overflow:hidden;transition:max-height .4s ease;font-family:var(--f-read);font-size:1.08rem;}
.cc-acordeon-item.abierto .cc-acordeon-contenido{max-height:700px;padding-bottom:18px;}

.cc-audio-item{background:var(--blush);border-radius:14px;padding:16px;margin-bottom:14px;border-left:3px solid var(--gold);}
.cc-audio-item p{font-family:var(--f-display);color:var(--wine);margin-bottom:6px;}
.cc-audio-item audio{width:100%;margin-top:6px;}

.cc-seccion-qr{text-align:center;}
.cc-qr-box{display:inline-block;background:#fff;padding:24px;border-radius:18px;box-shadow:0 10px 34px rgba(110,30,51,.18);border:1px solid var(--blush-deep);transition:transform .3s ease;}
.cc-qr-box:hover{transform:translateY(-4px);}
.cc-qr-img{display:block;margin:0 auto 12px;border-radius:10px;}
.cc-qr-caption{font-family:var(--f-read);font-style:italic;font-size:.95rem;color:var(--wine);margin-bottom:14px;}

.cc-password-wrap{min-height:68vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 50% 30%, var(--blush) 0%, var(--blush-deep) 100%);}
.cc-password-box{background:#fff;padding:44px;border-radius:20px;text-align:center;max-width:420px;box-shadow:0 16px 44px rgba(110,30,51,.18);border-top:3px solid var(--gold);}
.cc-password-box h2{font-family:var(--f-display);color:var(--wine);margin-bottom:6px;}
.cc-password-box p{font-family:var(--f-read);color:#7A5A66;}
.cc-password-box input[type="password"]{width:100%;padding:13px;border-radius:10px;border:1px solid var(--blush-deep);margin:14px 0;font-family:var(--f-ui);}
.cc-password-box input[type="submit"]{background:linear-gradient(135deg, var(--wine), var(--wine-dark));color:var(--gold-light);border:none;padding:13px 28px;border-radius:40px;cursor:pointer;font-family:var(--f-ui);font-weight:500;}

.cc-footer-pareja{text-align:center;padding:36px 20px;font-family:var(--f-read);font-style:italic;color:#7A5A66;background:var(--blush);}
.cc-footer-pareja a{color:var(--wine);font-weight:600;}

/* ============ FORMULARIO CREAR/EDITAR PAREJA ============ */
.cc-formulario{max-width:720px;margin:0 auto;padding:160px 24px 100px;}
.cc-formulario h2{font-family:var(--f-display);color:var(--wine);margin-top:36px;font-size:1.4rem;border-bottom:1px solid var(--blush-deep);padding-bottom:10px;}
.cc-campo{margin-bottom:18px;}
.cc-campo label{display:block;font-weight:500;margin-bottom:7px;font-size:.88rem;color:var(--wine);}
.cc-campo input[type=text], .cc-campo input[type=url], .cc-campo input[type=date], .cc-campo textarea, .cc-campo input[type=file]{width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--blush-deep);font-family:var(--f-ui);transition:border-color .25s ease, box-shadow .25s ease;background:#fff;}
.cc-campo input:focus, .cc-campo textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,161,91,.18);}
.cc-repeater-row{background:var(--blush);border-radius:14px;padding:16px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px;border-left:3px solid var(--gold);}
.cc-repeater-row input, .cc-repeater-row textarea{padding:11px;border-radius:10px;border:1px solid var(--blush-deep);font-family:var(--f-ui);}
.cc-btn-quitar{align-self:flex-end;background:none;border:none;color:var(--wine);text-decoration:underline;cursor:pointer;font-size:.8rem;}
.cc-galeria-existente{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;}
.cc-foto-existente{text-align:center;font-size:.75rem;}
.cc-foto-existente img{border-radius:10px;display:block;margin-bottom:5px;}
.cc-aviso{max-width:600px;margin:160px auto 100px;text-align:center;background:var(--blush);padding:34px;border-radius:16px;font-family:var(--f-read);font-size:1.1rem;color:var(--wine);}
.cc-aviso a{color:var(--wine);text-decoration:underline;font-weight:600;}

/* ============ GALERÍA MASONRY INTERACTIVA ============ */
.cc-galeria-grid.cc-masonry{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-auto-rows:110px;
  gap:12px;
}
@media(min-width:640px){.cc-galeria-grid.cc-masonry{grid-template-columns:repeat(3,1fr);grid-auto-rows:130px;}}
@media(min-width:1024px){.cc-galeria-grid.cc-masonry{grid-template-columns:repeat(4,1fr);grid-auto-rows:140px;}}
.cc-galeria-grid.cc-masonry .cc-galeria-foto{aspect-ratio:auto;}
.cc-galeria-grid.cc-masonry .cc-galeria-foto:nth-child(5n+1){grid-row:span 2;}
.cc-galeria-grid.cc-masonry .cc-galeria-foto:nth-child(7n+3){grid-column:span 2;}
.cc-galeria-contador-badge{
  position:absolute;top:10px;right:10px;background:rgba(58,15,30,.65);color:var(--gold-light);
  font-size:.72rem;padding:4px 9px;border-radius:20px;font-family:var(--f-ui);opacity:0;transition:opacity .3s ease;z-index:2;
}
.cc-galeria-foto:hover .cc-galeria-contador-badge{opacity:1;}

/* ============ VIDEOS ============ */
.cc-video-item{margin-bottom:20px;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(110,30,51,.14);position:relative;}
.cc-video-item video, .cc-video-item iframe{width:100%;display:block;aspect-ratio:16/9;border:none;}
.cc-video-titulo{font-family:var(--f-display);color:var(--wine);padding:12px 4px 6px;font-size:1.05rem;}

/* ============ ENLACES ============ */
.cc-enlaces-lista{display:flex;flex-direction:column;gap:12px;max-width:420px;margin:0 auto;}
.cc-enlace-item{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:#fff;border:1.5px solid var(--gold);color:var(--wine);
  padding:14px 20px;border-radius:40px;font-family:var(--f-ui);font-weight:500;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.cc-enlace-item:hover{background:var(--wine);color:var(--gold-light);transform:translateY(-3px);}

/* ============ PANEL DE PAGO ============ */
.cc-pago-wrap{max-width:560px;margin:0 auto;padding:160px 24px 100px;}
.cc-pago-header{text-align:center;margin-bottom:34px;}
.cc-pago-header .cc-precio{font-family:var(--f-display);font-size:2.6rem;color:var(--wine);}
.cc-pago-header .cc-precio span{font-size:1.1rem;color:var(--gold);vertical-align:super;}
.cc-pago-tabs{display:flex;gap:8px;margin-bottom:26px;background:var(--blush);padding:6px;border-radius:40px;}
.cc-pago-tab{flex:1;text-align:center;padding:11px;border-radius:34px;border:none;background:transparent;cursor:pointer;font-family:var(--f-ui);font-weight:500;font-size:.85rem;color:var(--wine);transition:background .25s ease, color .25s ease;}
.cc-pago-tab.cc-activo{background:var(--wine);color:var(--gold-light);}
.cc-pago-panel{display:none;background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(110,30,51,.1);border-top:3px solid var(--gold);}
.cc-pago-panel.cc-activo{display:block;}
.cc-pago-panel h3{font-family:var(--f-display);color:var(--wine);margin-bottom:12px;}
.cc-pago-panel p{font-family:var(--f-read);color:#7A5A66;font-size:1rem;margin-bottom:14px;}
.cc-yape-qr{max-width:200px;margin:0 auto 18px;border-radius:14px;border:2px solid var(--gold);}
.cc-yape-numero{text-align:center;font-family:var(--f-display);font-size:1.5rem;color:var(--wine);margin-bottom:6px;}
.cc-yape-titular{text-align:center;font-size:.85rem;color:#7A5A66;margin-bottom:20px;}
#paypal-button-container{margin-top:10px;}
.cc-pago-aviso{background:var(--blush);border-radius:12px;padding:16px;font-size:.85rem;color:var(--wine);margin-top:16px;}
.cc-pago-pendiente{text-align:center;padding:50px 24px;}
.cc-pago-pendiente .icono{font-size:3rem;margin-bottom:16px;}

.cc-lightbox{position:fixed;inset:0;background:rgba(58,15,30,.9);z-index:999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .35s ease;}
.cc-lightbox.cc-abierto{opacity:1;pointer-events:auto;}
.cc-lightbox img{max-width:min(90vw, 640px);max-height:82vh;border-radius:16px;border:4px solid var(--gold);transform:scale(.9);transition:transform .35s ease;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.cc-lightbox.cc-abierto img{transform:scale(1);}
.cc-lightbox-cerrar{position:absolute;top:26px;right:26px;color:var(--gold-light);font-size:2.2rem;cursor:pointer;background:none;border:none;line-height:1;}
.cc-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,248,242,.12);border:1px solid var(--gold);color:var(--gold-light);font-size:1.6rem;width:48px;height:48px;border-radius:50%;cursor:pointer;transition:background .25s ease;}
.cc-lightbox-nav:hover{background:var(--gold);color:var(--wine-dark);}
.cc-lightbox-prev{left:16px;}
.cc-lightbox-next{right:16px;}
.cc-lightbox-contador{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:var(--gold-light);font-family:var(--f-ui);font-size:.85rem;letter-spacing:.05em;}
@media(max-width:600px){.cc-lightbox-nav{width:38px;height:38px;font-size:1.2rem;}}
