/* ============================================================
   features/_shared/theme.css
   Design tokens + shared landing components for per-feature pages.
   Mirrors the visual system used in crear-web-boda.html and
   invitacion-de-boda-digital.html so feature landings feel native.
   ============================================================ */:root{--primary:#FF6B35;--primary-light:#FF8A5C;--primary-soft:rgba(255, 107, 53, 0.08);--primary-soft-border:rgba(255, 107, 53, 0.18);--primary-medium:rgba(255, 107, 53, 0.12);--accent:#FFA044;--accent-light:#FFB76B;--gradient-start:#FF6B35;--gradient-end:#FFA044;--bg-main:#FFF9F6;--bg-section-alt:#FFF7F3;--bg-section-warm:#FFF5F0;--bg-card:#ffffff;--border-light:rgba(255, 107, 53, 0.1);--border-medium:rgba(255, 107, 53, 0.2);--text-heading:#1E1E2F;--text-body:#4A4A5A;--text-muted:#7A7A8A;--text-muted-light:#A0A0B0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--bg-main);color:var(--text-body);overflow-x:hidden;font-size:16px;line-height:1.7}/* ===== Layout ===== */.container{max-width:1100px;margin:0 auto;padding:0 20px;position:relative;z-index:1}.text-center{text-align:center}/* ===== Typography ===== */.heading-xl{font-size:clamp(2.2rem, 5vw, 3.5rem);font-weight:700;line-height:1.1;font-family:'Rubik',sans-serif;color:var(--text-heading)}.heading-lg{font-size:clamp(1.75rem, 4vw, 2.5rem);font-weight:700;line-height:1.15;font-family:'Rubik',sans-serif;color:var(--text-heading)}.heading-md{font-size:clamp(1.25rem, 3vw, 1.5rem);font-weight:700;line-height:1.2;font-family:'Rubik',sans-serif;color:var(--text-heading)}.text-body-lg{font-size:clamp(1rem, 1.8vw, 1.15rem);color:var(--text-body);line-height:1.7}.gradient-text{background:linear-gradient(135deg, var(--gradient-start), var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}/* ===== Buttons ===== */.gradient-btn{display:inline-block;background:linear-gradient(135deg, var(--gradient-start), var(--gradient-end));color:#fff;padding:16px 36px;border-radius:50px;font-weight:600;border:none;cursor:pointer;transition:all 0.3s ease;box-shadow:0 8px 25px -8px rgba(255, 107, 53, 0.4);text-decoration:none;font-family:Inter,sans-serif;font-size:1.05rem;text-align:center}.gradient-btn:hover{transform:translateY(-2px);box-shadow:0 14px 35px -8px rgba(255, 107, 53, 0.5)}.gradient-btn-lg{font-size:1.15rem;padding:18px 44px}/* ===== Badge ===== */.badge{display:inline-block;padding:8px 20px;background:var(--primary-soft);border:1px solid var(--primary-soft-border);border-radius:24px;font-size:14px;color:var(--primary);font-weight:600;text-decoration:none;transition:background 0.2s ease}a.badge:hover{background:var(--primary-soft-border);color:var(--primary)}/* ===== Logo / Brand ===== */.logo-icon{width:40px;height:40px;background:linear-gradient(135deg, var(--gradient-start), var(--gradient-end));border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:#fff;font-family:'Rubik',sans-serif}.brand{display:flex;align-items:center;gap:10px;padding:20px 0}.brand-text{font-weight:700;font-size:20px;color:var(--text-heading);font-family:'Rubik',sans-serif}/* ===== Decorative rings ===== */.deco-ring{position:fixed;border-radius:50%;border:1px solid var(--border-light);pointer-events:none;z-index:0}.deco-ring-1{width:600px;height:600px;top:-200px;right:-200px;opacity:0.4}.deco-ring-2{width:400px;height:400px;bottom:-100px;left:-100px;opacity:0.3}/* ===== Top banner ===== */.top-banner{display:block;background:linear-gradient(135deg, var(--gradient-start), var(--gradient-end));color:#fff;text-decoration:none;text-align:center;padding:8px 16px;font-size:0.85rem;font-weight:600;letter-spacing:0.02em;position:relative;z-index:11}.top-banner:hover{color:#fff;filter:brightness(1.05)}/* ===== Header ===== */.landing-header{position:relative;z-index:10}/* ===== Hero ===== */.hero{padding:40px 0 64px 0;position:relative;z-index:1}.hero-content{display:flex;flex-direction:column;gap:24px;text-align:center;align-items:center;max-width:760px;margin:0 auto}.hero-subtitle{font-size:clamp(1rem, 1.8vw, 1.2rem);color:var(--text-body);line-height:1.6}.hero-cta-group{display:flex;flex-direction:column;gap:16px;align-items:center}.hero-trust{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.hero-trust-item{display:flex;align-items:center;gap:6px;font-size:0.875rem;color:var(--text-muted);font-weight:500}.hero-trust-item svg{flex-shrink:0;color:var(--primary)}.hero-media{margin:24px auto 0;max-width:960px;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(0, 0, 0, 0.12)}.hero-media img,.hero-media video{width:100%;display:block}/* ===== Sections ===== */.section{padding:80px 0;position:relative;z-index:1}.section-alt{background:var(--bg-section-alt)}.section-warm{background:var(--bg-section-warm)}.section-header{text-align:center;margin-bottom:48px;max-width:720px;margin-left:auto;margin-right:auto}.section-header .badge{margin-bottom:14px}.section-header p{margin-top:12px;color:var(--text-muted);font-size:1.05rem}/* ===== Benefits (orange gradient section, 4-card grid) ===== */.section-benefits{background:linear-gradient(135deg, var(--gradient-start), var(--gradient-end))}.section-benefits .heading-lg{color:#fff}.section-benefits .section-header p{color:rgba(255, 255, 255, 0.85)}.section-benefits .section-header .badge{background:rgba(255, 255, 255, 0.15);border-color:rgba(255, 255, 255, 0.3);color:#fff}.benefits-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:20px}.benefit-card{padding:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-card);border-radius:20px;box-shadow:0 2px 20px rgba(0,0,0,0.04)}.benefit-illustration{width:100%;height:160px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, #FFF0E8, #FFE4D6);color:var(--primary)}.benefit-illustration svg{width:56px;height:56px}.benefit-card-body{padding:22px}.benefit-card h3{font-family:'Rubik',sans-serif;color:var(--text-heading);font-size:1.1rem;margin-bottom:8px}.benefit-card p{font-size:0.925rem;color:var(--text-muted);line-height:1.6}/* ===== Deep-dive (alternating rows) ===== */.deep-dive-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid var(--border-light)}.deep-dive-row:last-child{border-bottom:none}.deep-dive-row.reverse .deep-dive-visual{order:-1}.deep-dive-text h3{font-family:'Rubik',sans-serif;color:var(--text-heading);font-size:clamp(1.4rem, 2.4vw, 1.85rem);margin-bottom:16px;line-height:1.2}.deep-dive-text p{font-size:1.02rem;color:var(--text-body);line-height:1.7;margin-bottom:14px}.deep-dive-text ul{list-style:none;margin-top:16px}.deep-dive-text ul li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:0.97rem;color:var(--text-body)}.deep-dive-text ul li::before{content:'';width:18px;height:18px;flex-shrink:0;margin-top:3px;background:var(--primary-soft);border-radius:50%;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><path d='M13.3 4.3L6.3 11.3L2.7 7.7' stroke='%23FF6B35' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:center}.deep-dive-visual{border-radius:18px;overflow:hidden;box-shadow:0 18px 40px rgba(0, 0, 0, 0.08);background:var(--bg-card)}.deep-dive-visual img,.deep-dive-visual video{width:100%;display:block}/* ===== Testimonials ===== */.testimonials-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:24px}.testimonial-card{padding:32px;display:flex;flex-direction:column;gap:16px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:24px;box-shadow:0 2px 20px rgba(0,0,0,0.03)}.testimonial-quote{font-size:1rem;color:var(--text-body);line-height:1.7;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:12px}.testimonial-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg, var(--primary-soft), rgba(255, 160, 68, 0.15));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:var(--primary);flex-shrink:0;object-fit:cover}.testimonial-name{font-weight:600;font-size:0.9rem;color:var(--text-heading)}.testimonial-detail{font-size:0.8rem;color:var(--text-muted)}.testimonial-stars{color:var(--primary);font-size:0.85rem;letter-spacing:2px}/* ===== FAQ ===== */.faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.faq-item{border:1px solid var(--border-light);border-radius:16px;background:var(--bg-card);overflow:hidden;transition:border-color 0.3s}.faq-item:hover{border-color:var(--border-medium)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:none;border:none;cursor:pointer;font-family:'Rubik',sans-serif;font-size:1.05rem;font-weight:600;color:var(--text-heading);text-align:left;gap:16px}.faq-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform 0.3s;color:var(--primary)}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.3s ease}.faq-answer-inner{padding:0 24px 20px;font-size:0.95rem;color:var(--text-muted);line-height:1.7}/* ===== Final CTA ===== */.cta-card{padding:72px 40px;background:linear-gradient(135deg, var(--primary-soft), rgba(255, 160, 68, 0.08));border-radius:32px;border:1px solid var(--border-light);text-align:center}.cta-card h2{margin-bottom:16px}.cta-card p{margin-bottom:24px;color:var(--text-muted)}.cta-card .gradient-btn{margin-bottom:16px}.cta-subtext{font-size:0.9rem;color:var(--text-muted)}/* ===== Footer ===== */.landing-footer{border-top:1px solid var(--border-light);padding:40px 0;position:relative;z-index:1;background:var(--bg-main)}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-left{display:flex;align-items:center;gap:10px}.footer-left .logo-icon{width:32px;height:32px;font-size:16px;border-radius:8px}.footer-copy{font-size:0.85rem;color:var(--text-muted-light)}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer-links a{font-size:0.85rem;color:var(--text-muted);text-decoration:none;transition:color 0.3s}.footer-links a:hover{color:var(--primary)}/* ===== Sticky mobile CTA ===== */.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;padding:12px 16px;background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(12px);border-top:1px solid var(--border-light);z-index:50;text-align:center}.sticky-cta .gradient-btn{width:100%;padding:14px 24px}@media (min-width: 769px){.sticky-cta{left:50%;right:auto;bottom:20px;transform:translateX(-50%);width:min(520px, calc(100vw - 40px));padding:10px;border:1px solid var(--border-light);border-radius:999px;box-shadow:0 12px 35px rgba(0, 0, 0, 0.12)}}/* ===== Fade-in (JS toggles .visible) ===== */.fade-in{opacity:0;transform:translateY(24px);transition:all 0.6s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-delay-1{transition-delay:0.1s}.fade-in-delay-2{transition-delay:0.2s}.fade-in-delay-3{transition-delay:0.3s}/* ===== Responsive ===== */@media (max-width: 768px){.badge{display:none}.badge.badge-keep{display:inline-block}.hero{padding:24px 0 40px 0}.benefits-grid{grid-template-columns:1fr}.deep-dive-row{grid-template-columns:1fr;gap:24px;padding:40px 0}.deep-dive-row.reverse .deep-dive-visual{order:0}.testimonials-grid{grid-template-columns:1fr}.section{padding:56px 0}.section-header{margin-bottom:32px}.cta-card{padding:48px 24px}.footer-inner{flex-direction:column;text-align:center}.footer-links{justify-content:center}.sticky-cta{display:block}.landing-footer{padding-bottom:80px}}@media (max-width: 480px){.heading-xl{font-size:1.85rem}.heading-lg{font-size:1.5rem}.hero-trust{gap:8px}}