/* ============================================================
   Demo Clinic — "NutriVida" (public showcase site for prospects)
   Base design system: variables, typography, navbar, footer,
   buttons, badges, cards and shared utilities.
   Exclusive to the /demo route (see layouts/demo-clinic.blade.php).
   ============================================================ */

:root{
  /* Brand palette — warm, appetizing, distinct from the CRM's own
     marketing site but compatible with it (both lean on a health
     green primary). Terracotta accent gives it its own warmth. */
  --dc-primary:#2E6F4E;
  --dc-primary-rgb:46,111,78;
  --dc-primary-dark:#234F39;
  --dc-primary-light:#E7F1EA;
  --dc-primary-lighter:#F3F8F4;

  --dc-accent:#E2733A;
  --dc-accent-rgb:226,115,58;
  --dc-accent-dark:#C15F2C;
  --dc-accent-light:#FBEAE0;

  --dc-text:#20281F;
  --dc-muted:#5B6B5E;
  --dc-bg:#FBF8F3;
  --dc-surface:#FFFFFF;
  --dc-border:#E7E1D6;

  --dc-radius-sm:8px;
  --dc-radius-md:14px;
  --dc-radius-lg:20px;
  --dc-radius-xl:28px;

  --dc-shadow-sm:0 4px 14px rgba(32,40,31,.05);
  --dc-shadow-md:0 10px 26px rgba(32,40,31,.08);
  --dc-shadow-lg:0 20px 44px rgba(32,40,31,.12);

  /* Legacy tint aliases still referenced by a couple of shared blocks */
  --hero-primary-tint: rgba(var(--dc-primary-rgb),.14);
  --hero-secondary-tint: rgba(var(--dc-accent-rgb),.16);
  --hero-primary-bloom: rgba(var(--dc-primary-rgb),.22);
}

html,body{
  font-family:'Montserrat','Open Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--dc-text);
  background:var(--dc-bg);
}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',system-ui,sans-serif}

/* Utilities */
.fw-800{font-weight:800}
.fw-700{font-weight:700}
.mini{font-size:.92rem;line-height:1.35}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
i.fa-solid, i.fa-regular, i.fa-brands, i.fas, i.far, i.fab{font-style:normal}
.fa-solid, .fas{font-family:'Font Awesome 6 Free' !important;font-weight:900 !important}
.fa-regular, .far{font-family:'Font Awesome 6 Free' !important;font-weight:400 !important}
.fa-brands, .fab{font-family:'Font Awesome 6 Brands' !important;font-weight:400 !important}
.accent{color:var(--dc-primary)}
.theme-nutricion-demo .text-success{color:var(--dc-primary) !important}
[id]{scroll-margin-top:90px}

/* ---- Navbar ---- */
.nutricionista-navbar{position:sticky;top:0;z-index:1030;background:rgba(251,248,243,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--dc-border);padding-top:.65rem;padding-bottom:.65rem}
.nutricionista-navbar .navbar-brand img{height:44px}
@media (min-width:992px){ .nutricionista-navbar .navbar-brand img{height:50px} }
.nutricionista-navbar .nav-link{font-weight:600 !important;color:var(--dc-muted) !important;position:relative;padding:.5rem .85rem !important}
.nutricionista-navbar .nav-link::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.15rem;height:2px;background:var(--dc-primary);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nutricionista-navbar .nav-link:hover,
.nutricionista-navbar .nav-link.active{color:var(--dc-primary) !important}
.nutricionista-navbar .nav-link:hover::after,
.nutricionista-navbar .nav-link.active::after{transform:scaleX(1)}
.nutricionista-navbar .btn-phone-pill{background:var(--dc-primary);color:#fff;border:none;border-radius:999px;font-weight:700;padding:.55rem 1.1rem;box-shadow:0 8px 20px rgba(var(--dc-primary-rgb),.24);display:inline-flex;align-items:center;gap:.5rem;transition:transform .15s ease, filter .15s ease}
.nutricionista-navbar .btn-phone-pill i{background:rgba(255,255,255,.2);border-radius:999px;padding:.4rem;font-size:.75rem}
.nutricionista-navbar .btn-phone-pill:hover{filter:brightness(.96);transform:translateY(-1px);color:#fff}

/* ---- Buttons (brand skins on top of Bootstrap .btn) ---- */
.btn-nutricionista,
.btn-primary-nutricionista{
  background:var(--dc-primary);
  color:#fff;
  border:1px solid var(--dc-primary);
  border-radius:999px;
  font-weight:700;
  box-shadow:0 10px 24px rgba(var(--dc-primary-rgb),.24);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn-nutricionista:hover,
.btn-primary-nutricionista:hover{
  color:#fff;
  filter:brightness(.96);
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(var(--dc-primary-rgb),.3);
}
.btn-outline-nutricionista{
  background:transparent;
  color:var(--dc-primary);
  border:1.5px solid var(--dc-border);
  border-radius:999px;
  font-weight:700;
  transition:all .15s ease;
}
.btn-outline-nutricionista:hover{
  background:var(--dc-primary-light);
  border-color:var(--dc-primary);
  color:var(--dc-primary);
}
.btn-soft-nutricionista{
  background:#fff;
  color:var(--dc-primary);
  border:1px solid var(--dc-border);
  border-radius:999px;
  font-weight:700;
  transition:all .15s ease;
  display:inline-flex;align-items:center;justify-content:center;
}
.btn-soft-nutricionista:hover{background:var(--dc-primary-light);border-color:var(--dc-primary);color:var(--dc-primary)}

/* ---- Badges ---- */
.badge-soft{background:var(--dc-primary-light);color:var(--dc-primary-dark);border:1px solid var(--dc-border);font-weight:700;border-radius:999px}

/* ---- Sections & headings ---- */
.section{padding:clamp(3rem,2vw + 2rem,4.5rem) 0}
.section .section-title{font-weight:800;letter-spacing:-.015em;font-size:clamp(1.6rem,.9vw + 1.4rem,2.2rem);margin-bottom:.5rem}
.section .section-sub{color:var(--dc-muted);font-size:clamp(.95rem,.3vw + .9rem,1.05rem);margin-bottom:1.25rem;line-height:1.6}
.display-title{font-weight:800;letter-spacing:-.02em;margin:.5rem 0 0;font-size:clamp(2rem,3.2vw + .3rem,3.1rem);line-height:1.08}
.display-title .accent,
.section-title .accent{color:var(--dc-accent-dark)}
.section-alt{background:linear-gradient(180deg, var(--dc-primary-lighter), var(--dc-bg))}

/* ---- Cards & feature blocks ---- */
.feature-card{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius-md);box-shadow:var(--dc-shadow-sm);transition:transform .2s ease, box-shadow .2s ease}
.feature-card:hover{transform:translateY(-3px);box-shadow:var(--dc-shadow-md)}
.feature-icon{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--dc-primary-light), var(--dc-accent-light));color:var(--dc-primary-dark);border:1px solid var(--dc-border);flex:0 0 auto;aspect-ratio:1/1}
.feature-icon i{color:inherit;display:inline-block;line-height:1;font-size:1.1rem}
.feature-icon.sm{width:28px;height:28px}
.feature-icon.sm i{font-size:.9rem}
.feature-icon.lg{width:48px;height:48px}
.feature-icon.lg i{font-size:1.2rem}

/* ---- About ---- */
.about-media img{border-radius:var(--dc-radius-lg);box-shadow:var(--dc-shadow-lg)}
.about-badge{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.95);border:1px solid var(--dc-border);border-radius:999px;box-shadow:var(--dc-shadow-md);font-weight:700}
.about-features .about-feature{border-radius:var(--dc-radius-md);border-color:var(--dc-border)}
.about-features .about-feature h3.h6{line-height:1.2}

/* ---- Reveal-on-scroll & float animations ---- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.up{transform:translateY(16px)}
.reveal.left{transform:translateX(-16px)}
.reveal.right{transform:translateX(16px)}
.reveal.in{opacity:1;transform:none}
@keyframes floatY{0%{transform:translateY(0)}50%{transform:translateY(-6px)}100%{transform:translateY(0)}}
.float-y{animation:floatY 6s ease-in-out infinite;will-change:transform}
.float-y-slow{animation-duration:12s}
.hover-lift{transition:transform .2s ease, box-shadow .2s ease}
.hover-lift:hover{transform:translateY(-3px);box-shadow:var(--dc-shadow-md)}
@media (prefers-reduced-motion: reduce){ .float-y,.float-y-slow{animation:none !important} }

/* ---- Team avatars (fallback, shared with testimonials) ---- */
.team-avatar,.review-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--dc-border);background:#fff}
.team-avatar-fallback,.review-avatar-fallback{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg, var(--dc-primary-light), var(--dc-accent-light));display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--dc-primary-dark)}

/* ---- Demo onboarding modal ---- */
.onboarding-modal{border:1px solid var(--dc-border);border-radius:var(--dc-radius-lg);box-shadow:var(--dc-shadow-lg);overflow:hidden}
.onboarding-modal .modal-header{border-bottom:1px solid var(--dc-border);background:linear-gradient(180deg, var(--dc-primary-lighter), #fff)}
.onboarding-modal .modal-title{color:var(--dc-primary-dark)}
.onboarding-modal .modal-footer{border-top:1px solid var(--dc-border)}
.onboarding-modal .module-grid .feature-card{box-shadow:none}
.preview-card{background:linear-gradient(180deg,#ffffff,var(--dc-primary-lighter));border:1px solid var(--dc-border);border-radius:var(--dc-radius-md);box-shadow:var(--dc-shadow-sm)}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border:1px solid var(--dc-border);border-radius:999px;background:#fff;color:var(--dc-primary);font-weight:700}
.chip.sm{padding:.2rem .5rem;font-size:.9em}
.check-list{list-style:none;padding-left:0;margin:0}
.check-list li{display:flex;gap:.5rem;margin-bottom:.35rem}
.onboarding-modal .fa-circle-check,
.check-list .fa-circle-check{
  background:linear-gradient(120deg,var(--dc-primary),var(--dc-accent));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent !important;
}

/* ---- Demo onboarding: sticky side banner ---- */
.demo-banner{position:fixed;right:18px;bottom:18px;max-width:400px;background:linear-gradient(180deg,#ffffff,var(--dc-primary-lighter));border:1px solid var(--dc-border);border-radius:var(--dc-radius-lg);padding:18px 20px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:1040;box-shadow:var(--dc-shadow-lg);overflow:hidden}
.demo-banner::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--dc-primary),var(--dc-accent));opacity:.9}
.demo-banner.show{opacity:1;transform:none;pointer-events:auto}
.demo-banner .feature-icon{background:linear-gradient(135deg, var(--dc-primary-light), var(--dc-accent-light))}
.demo-banner .banner-close{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:999px;background:var(--dc-primary-light);opacity:.75;border:none;color:var(--dc-primary-dark)}
.demo-banner .banner-close:hover{opacity:1}
.demo-banner .fw-800{letter-spacing:-.01em;font-size:1.3rem;margin-bottom:.25rem}
.demo-banner .title{color:var(--dc-primary)}
.demo-banner .small.text-muted{font-size:.95rem;line-height:1.35}
.demo-banner .features{padding-top:.35rem;border-top:1px solid var(--dc-border)}
.demo-banner .features li{margin-bottom:.45rem}
.demo-banner .fa-circle-check{background:none !important;-webkit-background-clip:initial !important;background-clip:initial !important;-webkit-text-fill-color:currentColor !important;color:var(--dc-primary) !important}
.demo-banner .btn-primary-nutricionista{display:block;width:100%;border-radius:999px;padding:.8rem 1rem;font-size:1rem}
@media (max-width:575.98px){ .demo-banner{left:12px;right:12px;bottom:12px;max-width:none} }
@media (min-width:768px){
  .demo-banner{top:50%;bottom:auto;transform:translateY(calc(-50% + 10px));min-height:280px}
  .demo-banner.show{transform:translateY(-50%)}
}
#demoBannerHandle{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:1029;width:44px;height:44px;border-radius:999px;border:none;background:linear-gradient(135deg, var(--dc-primary), var(--dc-accent));color:#fff;display:grid;place-items:center;box-shadow:var(--dc-shadow-lg);cursor:pointer;transition:filter .18s ease, transform .18s ease}
#demoBannerHandle:hover{filter:brightness(.98);transform:translateY(-50%) translateX(-2px)}
#demoBannerHandle[hidden]{display:none !important}

/* ---- Footer ---- */
.nutricionista-footer{background:linear-gradient(180deg,#1C2A1F,#1C2A1F 55%,#16241A);color:#D7E5DA}
.nutricionista-footer a{color:#8FCBA6;text-decoration:none}
.nutricionista-footer a:hover{opacity:.9;color:#fff}
.nutricionista-footer-modern{position:relative;border-top:1px solid rgba(255,255,255,.1)}
.nutricionista-footer .footer-title{color:#fff;margin-bottom:.75rem}
.nutricionista-footer .footer-links li{margin-bottom:.4rem}
.nutricionista-footer .footer-links a{color:#C4DDC9}
.nutricionista-footer .footer-links a:hover{color:#fff}
.nutricionista-footer .footer-contact li{margin-bottom:.4rem;color:rgba(255,255,255,.75)}
.nutricionista-footer .footer-contact a{color:#8FCBA6}
.nutricionista-footer .footer-social .social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;transition:background .15s ease}
.nutricionista-footer .footer-social .social-icon:hover{background:rgba(255,255,255,.16)}
.nutricionista-footer .footer-social .social-icon:focus-visible{outline:3px solid rgba(var(--dc-primary-rgb),.55);outline-offset:2px}
.nutricionista-footer .footer-map{border:1px solid rgba(255,255,255,.16);border-radius:var(--dc-radius-md);overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.28)}
.nutricionista-footer .footer-map .map-embed{display:block;width:100%;height:320px;border:0}
@media (min-width:992px){ .nutricionista-footer .footer-map .map-embed{height:380px} }
.nutricionista-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
