/*
Theme Name: ReBalance Landing
Theme URI: https://re-balance.cz
Author: ReBalance Team
Author URI: https://re-balance.cz
Description: One-page landing theme pro ReBalance — digitální wellness aplikace pro rodiny.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rebalance-landing
*/

/* ═══════════ VARIABLES ═══════════ */
:root {
  --red: #E60000;
  --red-dark: #B20000;
  --red-light: #FF3333;
  --red-glow: rgba(230,0,0,0.12);
  --red-subtle: #FFEBEE;
  --teal: #0D9488;
  --teal-dark: #0A7A70;
  --teal-light: #2DD4BF;
  --blue: #0D6EAA;
  --blue-dark: #0A4F7A;
  --blue-light: #1E88C8;
  --blue-deep: #0B3D5C;
  --blue-subtle: #E1F0FA;
  --charcoal: #1A1A1A;
  --slate: #4A4A4A;
  --silver: #999999;
  --cloud: #E8E8E8;
  --snow: #F6F6F6;
  --white: #FFFFFF;
  --font-display: 'Outfit', sans-serif;
  --font-body: 'DM Sans', sans-serif;
}

/* ═══════════ RESET ═══════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--charcoal);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ═══════════ UTILITY ═══════════ */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:100px 0;position:relative}
.section-label{font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.15;color:var(--charcoal);margin-bottom:20px}
.section-subtitle{font-size:1.125rem;color:var(--slate);line-height:1.7;max-width:640px}

/* ═══════════ ANIMATIONS ═══════════ */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse-ring{0%{transform:scale(1);opacity:.4}100%{transform:scale(1.6);opacity:0}}
@keyframes phone-glow{0%,100%{box-shadow:0 40px 80px rgba(13,148,136,0.2),0 0 60px rgba(13,148,136,0.05)}50%{box-shadow:0 40px 80px rgba(13,148,136,0.35),0 0 80px rgba(13,148,136,0.1)}}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}

/* ═══════════ NAVBAR ═══════════ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px 0;transition:all .4s;background:transparent}
.navbar.scrolled{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 30px rgba(0,0,0,.06);padding:10px 0}
.navbar .container{display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-logo-img{height:42px;width:auto}
.nav-logo-text{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--charcoal)}
.nav-logo-text span{color:var(--red)}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none}
.nav-links a{font-family:var(--font-display);font-size:.9rem;font-weight:500;color:var(--slate);text-decoration:none;transition:color .3s;position:relative}
.nav-links a:hover{color:var(--red)}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--red);transition:width .3s}
.nav-links a:hover::after{width:100%}
.nav-cta{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:white!important;background:var(--red);padding:10px 24px;border-radius:50px;text-decoration:none;transition:all .3s;box-shadow:0 4px 20px rgba(230,0,0,.25)}
.nav-cta:hover{background:var(--red-dark);transform:translateY(-2px)}.nav-cta::after{display:none!important}
.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;width:32px;height:32px}
.nav-mobile-toggle span{display:block;width:24px;height:2px;background:var(--charcoal);margin:6px auto;transition:all .3s}

/* ═══════════ HERO ═══════════ */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--white) 0%,#F0F7FC 40%,var(--white) 100%)}
.hero::before{content:'';position:absolute;top:-300px;right:-200px;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.07),transparent 70%);pointer-events:none}
.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:80px}
.hero-content{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--blue-subtle);color:var(--blue);font-family:var(--font-display);font-size:.8rem;font-weight:600;padding:8px 16px;border-radius:50px;margin-bottom:28px;animation:fadeUp .8s ease both}
.hero-badge::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--teal);animation:pulse-ring 2s infinite}
.hero h1{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,4.2rem);font-weight:900;line-height:1.08;color:var(--charcoal);margin-bottom:24px;animation:fadeUp .8s .15s ease both}
.hero h1 em{font-style:normal;background:linear-gradient(135deg,var(--teal),var(--blue-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-description{font-size:1.2rem;line-height:1.75;color:var(--slate);margin-bottom:40px;max-width:500px;animation:fadeUp .8s .3s ease both}
.hero-actions{display:flex;gap:16px;align-items:center;animation:fadeUp .8s .45s ease both}
.btn-primary{font-family:var(--font-display);font-size:1rem;font-weight:600;color:white;background:var(--red);padding:16px 36px;border-radius:60px;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .4s cubic-bezier(.22,1,.36,1);box-shadow:0 8px 30px rgba(230,0,0,.3);position:relative;overflow:hidden}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(230,0,0,.4);background:var(--red-dark)}
.btn-secondary{font-family:var(--font-display);font-size:1rem;font-weight:500;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:16px 24px;transition:all .3s;border:2px solid var(--cloud);border-radius:60px}
.btn-secondary:hover{color:var(--red);border-color:var(--red)}

/* HERO PHONES */
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;animation:fadeUp 1s .3s ease both;min-height:560px}
.hero-phone{position:absolute;width:240px;background:var(--charcoal);border-radius:32px;padding:8px;z-index:3;animation:float 6s ease-in-out infinite,phone-glow 4s ease-in-out infinite}
.hero-phone-screen{width:100%;border-radius:26px;overflow:hidden;display:block}
.hero-phone-screen img{width:100%;height:auto;display:block}
.hero-phone-1{top:0;left:50%;transform:translateX(-50%);z-index:3}
.hero-phone-2{top:40px;left:calc(50% - 140px);transform:rotate(-8deg);z-index:2;opacity:.85;animation-delay:.5s;width:200px;filter:blur(0.5px)}
.hero-phone-3{top:40px;left:calc(50% + 60px);transform:rotate(8deg);z-index:1;opacity:.75;animation-delay:1s;width:200px;filter:blur(0.5px)}
.hero-phone-2,.hero-phone-3{box-shadow:0 20px 50px rgba(0,0,0,.1)}
.hero-glow-orb{position:absolute;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.1),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);z-index:0}
.hero-stats{display:flex;gap:48px;margin-top:48px;animation:fadeUp .8s .6s ease both}
.hero-stat-number{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--charcoal)}
.hero-stat-number span{color:var(--red)}
.hero-stat-label{font-size:.85rem;color:var(--slate);margin-top:4px}

/* ═══════════ APP PREVIEW ═══════════ */
.app-preview{background:linear-gradient(180deg,var(--snow),var(--white));overflow:hidden}
.app-preview-header{text-align:center;margin-bottom:64px}
.app-preview-header .section-subtitle{margin:0 auto}
.preview-showcase{display:flex;justify-content:center;align-items:flex-end;gap:32px;position:relative}
.preview-phone{background:var(--charcoal);border-radius:32px;padding:8px;transition:all .5s cubic-bezier(.22,1,.36,1);position:relative}
.preview-phone img{border-radius:26px;display:block;width:100%;height:auto}
.preview-phone:hover{transform:translateY(-12px)}
.preview-phone-main{width:260px;z-index:2}
.preview-phone-side{width:220px;opacity:.9}
.preview-phone-label{text-align:center;margin-top:16px;font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--slate)}
.preview-phone-label span{color:var(--teal)}

/* ═══════════ PROBLEM ═══════════ */
.problem{background:var(--blue-deep);color:white;overflow:hidden}
.problem::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.problem .section-label{color:var(--red-light)}.problem .section-title{color:white}.problem .section-subtitle{color:rgba(255,255,255,.7)}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:60px}
.problem-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.problem-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px;transition:all .4s}
.problem-stat:hover{background:rgba(230,0,0,.1);border-color:rgba(230,0,0,.3);transform:translateY(-4px)}
.problem-stat-number{font-family:var(--font-display);font-size:2.4rem;font-weight:800;color:var(--red-light);margin-bottom:8px}
.problem-stat-text{font-size:.9rem;color:rgba(255,255,255,.7);line-height:1.5}
.problem-consequences{display:flex;flex-direction:column;gap:20px}
.problem-consequence{display:flex;align-items:center;gap:16px;padding:20px 24px;background:rgba(255,255,255,.04);border-radius:16px;border-left:3px solid var(--red);transition:all .3s}
.problem-consequence:hover{background:rgba(255,255,255,.08);transform:translateX(8px)}
.problem-consequence-icon{width:48px;height:48px;border-radius:12px;background:rgba(230,0,0,.15);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.problem-consequence-text h4{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:white;margin-bottom:4px}
.problem-consequence-text p{font-size:.85rem;color:rgba(255,255,255,.6)}

/* ═══════════ FEATURES ═══════════ */
.features{background:var(--white)}
.features-header{text-align:center;margin-bottom:64px}
.features-header .section-subtitle{margin:0 auto}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature-card{background:var(--snow);border:1px solid var(--cloud);border-radius:24px;padding:36px;transition:all .5s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}
.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.feature-card:hover{border-color:var(--blue-subtle);transform:translateY(-6px);box-shadow:0 20px 60px rgba(13,110,170,.08)}
.feature-card:hover::before{transform:scaleX(1)}
.feature-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:20px}
.feature-icon.teal{background:#E0F2F1}.feature-icon.blue{background:var(--blue-subtle)}.feature-icon.green{background:#E8F5E9}
.feature-icon.amber{background:#FFF3E0}.feature-icon.purple{background:#F3E5F5}.feature-icon.red{background:var(--red-subtle)}
.feature-card h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin-bottom:12px;color:var(--charcoal)}
.feature-card p{font-size:.95rem;color:var(--slate);line-height:1.65}
.feature-tag{display:inline-block;font-size:.7rem;font-weight:600;font-family:var(--font-display);padding:4px 10px;border-radius:50px;margin-top:16px;background:#E0F2F1;color:var(--teal)}

/* ═══════════ MARKET ═══════════ */
.market{background:var(--snow)}
.market-header{text-align:center;margin-bottom:64px}
.market-header .section-subtitle{margin:0 auto}
.market-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}
.market-card{border-radius:24px;padding:40px 32px;color:white;text-align:center;position:relative;overflow:hidden;transition:transform .4s}
.market-card:nth-child(1){background:linear-gradient(135deg,var(--blue),var(--blue-dark))}
.market-card:nth-child(2){background:linear-gradient(135deg,var(--teal),var(--teal-dark))}
.market-card:nth-child(3){background:linear-gradient(135deg,var(--red),var(--red-dark))}
.market-card:hover{transform:translateY(-6px)}
.market-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 60%);pointer-events:none}
.market-card-phase{font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;opacity:.8;margin-bottom:8px}
.market-card-number{font-family:var(--font-display);font-size:3.5rem;font-weight:900;margin-bottom:4px}
.market-card-label{font-size:.95rem;opacity:.85;margin-bottom:20px}
.market-card-detail{font-size:.8rem;opacity:.7;line-height:1.5}
.market-total{text-align:center;padding:40px;background:var(--white);border:1px solid var(--cloud);border-radius:24px}
.market-total-number{font-family:var(--font-display);font-size:3rem;font-weight:900;color:var(--red);margin-bottom:8px}
.market-total-text{font-size:1.1rem;color:var(--slate)}.market-total-sub{font-size:.85rem;color:var(--silver);margin-top:4px}

/* ═══════════ PRICING ═══════════ */
.pricing{background:var(--white)}
.pricing-header{text-align:center;margin-bottom:64px}
.pricing-header .section-subtitle{margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pricing-card{background:var(--snow);border:1px solid var(--cloud);border-radius:24px;padding:40px 32px;text-align:center;transition:all .4s;position:relative}
.pricing-card.featured{background:var(--white);border-color:var(--red);box-shadow:0 20px 60px rgba(230,0,0,.1);transform:scale(1.04)}
.pricing-card.featured::before{content:'Nejoblíbenější';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--red);color:white;font-family:var(--font-display);font-size:.7rem;font-weight:700;padding:6px 16px;border-radius:50px}
.pricing-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.06)}
.pricing-card.featured:hover{transform:scale(1.04) translateY(-6px)}
.pricing-card-icon{width:64px;height:64px;border-radius:20px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.pricing-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin-bottom:8px;color:var(--charcoal)}
.pricing-card-desc{font-size:.9rem;color:var(--slate);margin-bottom:24px;line-height:1.6;min-height:44px}
.pricing-card-price{font-family:var(--font-display);font-size:2.2rem;font-weight:800;color:var(--charcoal);margin-bottom:4px}
.pricing-card-price span{font-size:.9rem;font-weight:400;color:var(--slate)}
.pricing-features{list-style:none;margin:24px 0;text-align:left}
.pricing-features li{font-size:.9rem;color:var(--slate);padding:8px 0;display:flex;align-items:center;gap:10px}
.pricing-features li::before{content:'✓';color:var(--teal);font-weight:700;font-size:.85rem}
.pricing-btn{display:block;width:100%;padding:14px;border-radius:50px;font-family:var(--font-display);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;text-decoration:none;text-align:center}
.pricing-btn-primary{background:var(--red);color:white;border:none;box-shadow:0 6px 24px rgba(230,0,0,.25)}
.pricing-btn-primary:hover{background:var(--red-dark);transform:translateY(-2px)}
.pricing-btn-secondary{background:transparent;color:var(--charcoal);border:2px solid var(--cloud)}
.pricing-btn-secondary:hover{border-color:var(--teal);color:var(--teal)}

/* ═══════════ TEAM ═══════════ */
.team{background:var(--snow)}
.team-header{text-align:center;margin-bottom:64px}
.team-header .section-subtitle{margin:0 auto}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:900px;margin:0 auto}
.team-member{text-align:center;transition:transform .4s}.team-member:hover{transform:translateY(-6px)}
.team-avatar{width:140px;height:140px;border-radius:50%;margin:0 auto 20px;position:relative;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,var(--blue-subtle),var(--cloud))}
.team-avatar::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:2.5px solid var(--teal)}
.team-member h4{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--charcoal);margin-bottom:4px}
.team-member-role{font-size:.9rem;color:var(--teal);font-weight:500;margin-bottom:8px}
.team-member-info{font-size:.85rem;color:var(--slate);line-height:1.5}

/* ═══════════ CTA ═══════════ */
.cta-section{background:var(--blue-deep);color:white;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.15),transparent 70%);pointer-events:none}
.cta-section .section-title{color:white;max-width:700px;margin:0 auto 20px}
.cta-section .section-subtitle{color:rgba(255,255,255,.7);margin:0 auto 40px;text-align:center}
.cta-actions{display:flex;justify-content:center;gap:16px;margin-bottom:48px}
.cta-privacy{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 20px;margin-top:24px;font-size:.85rem;color:rgba(255,255,255,.7)}

/* ═══════════ FOOTER ═══════════ */
.site-footer{background:var(--charcoal);padding:32px 0;border-top:1px solid rgba(255,255,255,.06)}
.site-footer .container{display:flex;justify-content:space-between;align-items:center}
.footer-left{display:flex;align-items:center;gap:12px}
.footer-logo{height:28px;width:auto;opacity:.7}
.footer-text{font-size:.85rem;color:var(--slate)}
.footer-links{display:flex;gap:24px}
.footer-links a{font-size:.85rem;color:var(--slate);text-decoration:none;transition:color .3s}
.footer-links a:hover{color:var(--teal-light)}

/* ═══════════ RESPONSIVE ═══════════ */
@media(max-width:992px){
  .hero .container{grid-template-columns:1fr;text-align:center}
  .hero-description{margin:0 auto 40px}
  .hero-actions{justify-content:center;flex-wrap:wrap}
  .hero-stats{justify-content:center}
  .hero-visual{margin-top:40px;min-height:420px}
  .hero-phone-1{width:200px}.hero-phone-2,.hero-phone-3{width:160px}
  .problem-grid{grid-template-columns:1fr}
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .market-cards{grid-template-columns:1fr;max-width:400px;margin:0 auto 48px}
  .pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .pricing-card.featured{transform:none}.pricing-card.featured:hover{transform:translateY(-6px)}
  .preview-showcase{gap:16px}.preview-phone-main{width:200px}.preview-phone-side{width:170px}
}
@media(max-width:768px){
  .section{padding:72px 0}
  .nav-links{display:none}.nav-mobile-toggle{display:block}
  .features-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr;max-width:300px;margin:0 auto}
  .hero-stats{flex-direction:column;gap:20px;align-items:center}
  .hero-phone-2,.hero-phone-3{display:none}
  .hero-phone-1{position:relative;left:auto;transform:none;width:240px}
  .hero-visual{min-height:auto}
  .site-footer .container{flex-direction:column;gap:16px;text-align:center}
  .cta-actions{flex-direction:column;align-items:center}
  .preview-showcase{flex-direction:column;align-items:center}.preview-phone-side{width:200px}
}

/* WordPress overrides — reset WP admin bar offset */
.admin-bar .navbar { top: 32px; }
@media (max-width: 782px) { .admin-bar .navbar { top: 46px; } }
