/* ============================================================
   FUCANNAMEDCR — Inicio (estilos exclusivos de la home)
   Los estilos de header/menú viven en header-ds.css.
   ============================================================ */

@keyframes fucaFade { from { opacity:0; } to { opacity:1; } }
@keyframes fucaUp   { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }

/* Contenedor de ícono FA unificado en todas las secciones */
.fi-icon-circle {
  width:72px; height:72px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px; flex-shrink:0;
  box-shadow:0 6px 16px rgba(115,152,0,.28);
}
.fi-icon-circle.verde  { background:#739800; color:#fff; }
.fi-icon-circle.blanco { background:rgba(255,255,255,.14); color:#fff; }
.fi-icon-circle i      { font-size:1.55rem; }

/* Tarjeta de concepto (CannaEdu) */
.fi-card {
  background:#fff; border-top:5px solid #f28d00;
  box-shadow:0 4px 18px rgba(0,0,0,.08);
  border-radius:0 0 8px 8px; padding:36px 26px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.fi-card-title { font-size:1.3rem; color:#739800; font-weight:700; margin:0 0 12px; }
.fi-card-text  { font-weight:400; color:#555; font-size:1.05rem; line-height:1.7; margin:0; }

/* Tarjeta de servicio (fondo oscuro) */
.fi-serv {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  border-radius:10px; padding:32px 22px; text-align:center;
  text-decoration:none; display:block; transition:background .25s, border-color .25s;
}
.fi-serv:hover { background:rgba(255,255,255,.11); border-color:rgba(242,141,0,.5); }
.fi-serv-title { font-size:1.12rem; color:#fff; font-weight:700; margin:0 0 10px; }
.fi-serv-text  { font-weight:300; color:rgba(255,255,255,.7); font-size:.9rem; line-height:1.6; margin:0; }

/* Cards de cannabinoides (18 fichas) */
.fi-can-card {
  display:flex; align-items:center; gap:14px; text-decoration:none;
  background:#fff; border-radius:8px; border-left:4px solid #739800;
  box-shadow:0 2px 10px rgba(0,0,0,.07);
  padding:16px 16px 16px 18px; text-align:left;
  transition:box-shadow .25s, border-color .25s, transform .2s;
}
.fi-can-img  { width:108px; height:108px; border-radius:50%;
               object-fit:cover; background:#f28d00;
               display:block; flex-shrink:0; order:2;
               border:none; }
.fi-can-card.thc .fi-can-img { background:#739800; }
.fi-can-body { flex:1; order:1; min-width:0; }
.fi-can-card:hover {
  box-shadow:0 8px 24px rgba(115,152,0,.18);
  border-color:#f28d00;
  transform:translateY(-2px);
}
.fi-can-card.thc { border-left-color:#384a13; }
.fi-can-card.thc:hover { border-color:#f28d00; }
.fi-can-tag {
  display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; padding:3px 9px; border-radius:20px;
  margin-bottom:10px;
}
.fi-can-tag.cbd { background:#fde8c0; color:#f28d00; }
.fi-can-tag.thc { background:#eef3df; color:#739800; }
.fi-can-title {
  font-size:1.08rem; font-weight:700; color:#333; margin:0 0 12px; line-height:1.3;
}
.fi-can-link {
  font-size:.82rem; font-weight:700; color:#f28d00; display:flex;
  align-items:center; justify-content:flex-start; gap:6px;
}
.fi-can-card.thc .fi-can-link { color:#739800 !important; }
.fi-can-link i { font-size:.75rem; transition:transform .2s; }
.fi-can-card:hover .fi-can-link i { transform:translateX(3px); }

/* Subtítulo de grupo cannabinoide */
.fi-can-group-hdr {
  display:flex; align-items:center; gap:14px;
  margin-bottom:24px;
}
.fi-can-group-hdr h3 {
  font-size:1.5rem; font-weight:800; margin:0;
}
.fi-can-group-icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
}
.fi-can-group-icon.cbd { background:#739800; color:#fff; }
.fi-can-group-icon.thc { background:#384a13; color:#fff; }
.fi-can-group-icon i   { font-size:1.1rem; }

/* Badge FA sobre imagen circular (esquina inf-der) */
.fi-can-imgwrap { position:relative; flex-shrink:0; }
.fi-can-badge   { position:absolute; bottom:-4px; right:-4px;
                  width:34px; height:34px; border-radius:50%;
                  background:#f28d00; color:#fff;
                  display:flex; align-items:center; justify-content:center;
                  font-size:.85rem; border:2px solid #fff;
                  box-shadow:0 1px 4px rgba(0,0,0,.2); }
.fi-can-card.thc .fi-can-badge { background:#739800; }

/* Grid sección Aprende */
.fi-grid-aprende { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.fi-list-aprende { display:flex; flex-direction:column; gap:18px; max-width:820px; margin:0 auto; }
.fi-card-horizontal {
  display:flex; align-items:flex-start; gap:22px; text-align:left;
  padding:24px 28px;
}
.fi-card-horizontal .fi-icon-circle { margin:0; flex-shrink:0; }
.fi-card-horizontal .fi-card-title  { margin:0 0 8px; }
.fi-card-horizontal .fi-card-body   { flex:1; }
@media (max-width:600px) {
  .fi-card-horizontal { flex-direction:column; align-items:center; text-align:center; }
}

/* FAQ acordeón */
.fi-faq-item   { border:3px solid #739800 !important; border-radius:10px;
                 margin-bottom:14px; overflow:hidden; background:#fff; }
.fi-faq-q      { display:flex; justify-content:space-between; align-items:center;
                 padding:20px 24px; cursor:pointer; color:#739800;
                 font-weight:700; font-size:1.04rem; gap:18px; }
.fi-faq-arrow  { background:#739800; color:#fff; border-radius:50%;
                 width:26px; height:26px; display:flex; align-items:center;
                 justify-content:center; flex-shrink:0; font-size:13px;
                 transition:transform .3s; }
.fi-faq-a      { display:none; padding:0 24px 22px; }
.fi-faq-a p    { font-weight:300; line-height:1.75; color:#444; font-size:1rem; margin:0 0 10px; }
.fi-faq-a a    { color:#739800; font-weight:700; font-size:.92rem; text-decoration:none; }
.fi-faq-a a:hover { color:#384a13; text-decoration:underline; }
.fi-faq-item.open .fi-faq-a    { display:block; }
.fi-faq-item.open .fi-faq-arrow { transform:rotate(180deg); }

/* Carousel beneficios */
.fi-car-wrap    { position:relative; border-radius:14px; overflow:hidden;
                  box-shadow:0 14px 40px rgba(0,0,0,.12); background:#fff; }
.fi-car-track   { display:flex; transition:transform .6s cubic-bezier(.4,0,.2,1); }
.fi-car-slide   { min-width:100%; display:grid; grid-template-columns:1fr 1fr;
                  align-items:stretch; }
.fi-car-img     { width:100%; height:380px; object-fit:cover;
                  background:#f0f4e8; display:block; }
.fi-car-body    { padding:54px 48px; display:flex; flex-direction:column;
                  justify-content:center; background:#fff; }
.fi-car-kicker  { display:inline-block; align-self:flex-start; background:#eef3df;
                  color:#739800; font-weight:700; font-size:.72rem; letter-spacing:1.5px;
                  text-transform:uppercase; padding:6px 14px; border-radius:20px;
                  margin-bottom:18px; }
.fi-car-title   { font-size:1.7rem; font-weight:800; color:#384a13;
                  line-height:1.25; margin:0 0 16px; }
.fi-car-text    { font-weight:300; color:#555; font-size:1.05rem; line-height:1.7; margin:0; }
.fi-car-btn     { position:absolute; top:50%; transform:translateY(-50%);
                  width:46px; height:46px; border-radius:50%;
                  background:rgba(255,255,255,.92); box-shadow:0 4px 14px rgba(0,0,0,.18);
                  display:flex; align-items:center; justify-content:center;
                  cursor:pointer; color:#739800; font-size:1.6rem; font-weight:700;
                  border:none; font-family:var(--font-body); transition:background .2s, color .2s; }
.fi-car-btn:hover { background:#739800; color:#fff; }
.fi-car-prev    { left:14px; }
.fi-car-next    { right:14px; }

/* Thumbnails carrusel */
.fi-car-thumbs  { display:flex; flex-wrap:wrap; gap:10px;
                  justify-content:center; margin-top:28px; }
.fi-thumb       { display:flex; align-items:center; gap:9px;
                  padding:8px 15px 8px 8px; border-radius:30px; cursor:pointer;
                  border:1.5px solid #dde3cf; background:#fff;
                  box-shadow:0 1px 3px rgba(0,0,0,.06);
                  transition:background .25s, border-color .25s, box-shadow .25s; }
.fi-thumb.active { background:#739800; border-color:#739800;
                   box-shadow:0 6px 16px rgba(115,152,0,.3); }
.fi-thumb-num   { flex-shrink:0; width:25px; height:25px; border-radius:50%;
                  display:flex; align-items:center; justify-content:center;
                  font-weight:800; font-size:.8rem;
                  background:#eef3df; color:#739800; }
.fi-thumb.active .fi-thumb-num { background:#fff; color:#739800; }
.fi-thumb-lbl   { font-weight:700; font-size:.8rem; white-space:nowrap; color:#5a6b2e; }
.fi-thumb.active .fi-thumb-lbl { color:#fff; }

/* Botones CTA enlace */
.fi-btn-verde   { display:inline-block; background:#739800; color:#fff;
                  padding:11px 26px; border-radius:5px; font-weight:700;
                  font-size:.92rem; text-decoration:none;
                  box-shadow:0 6px 16px rgba(115,152,0,.25); transition:background .2s; }
.fi-btn-verde:hover { background:#384a13; color:#fff; }
.fi-btn-outline { display:inline-block; background:transparent;
                  border:1.5px solid rgba(255,255,255,.65); color:#fff;
                  padding:10px 24px; border-radius:5px; font-weight:600;
                  font-size:.92rem; text-decoration:none; transition:background .2s, border-color .2s; }
.fi-btn-outline:hover { background:#fff; color:#384a13; border-color:#fff; }

/* Responsive */
@media (max-width: 1024px) {
  .fi-car-slide { grid-template-columns:1fr !important; }
  .fi-car-img   { height:220px !important; object-fit:contain !important; }
  .fi-car-body  { padding:32px 28px !important; }
  .fi-car-title { font-size:1.3rem !important; }
}
@media (max-width: 880px) {
  section[data-fi] { padding-left:24px !important; padding-right:24px !important; }
}
@media (max-width: 760px) {
  h1 { font-size: 2.2rem !important; }
  .fi-grid-2col    { grid-template-columns:1fr !important; }
  .fi-grid-2col > *:nth-child(1) { order: 2; }  /* texto Historia → debajo */
  .fi-grid-2col > *:nth-child(2) { order: 1; }  /* imagen Historia → arriba */
  .fi-grid-2col > *:nth-child(3) { order: 3; }  /* imagen Cepas → arriba */
  .fi-grid-2col > *:nth-child(4) { order: 4; }  /* texto Cepas → debajo */
  .fi-grid-3col    { grid-template-columns:1fr 1fr !important; }
  .fi-grid-4col    { grid-template-columns:1fr 1fr !important; }
  .fi-grid-can     { grid-template-columns:1fr 1fr !important; }
  .fi-grid-aprende { grid-template-columns:repeat(2,1fr) !important; }
  section[data-fi] { padding-left:20px !important; padding-right:20px !important; }
  .fi-can-card    { flex-direction:column; align-items:flex-start; }
  .fi-can-imgwrap { margin:0 auto; }
  .fi-can-card .fi-can-img { width:84px; height:84px; order:1; }
  .fi-can-body    { order:2; width:100%; text-align:center; }
  .fi-can-link    { justify-content:center; }
}
@media (max-width: 480px) {
  .fi-grid-3col { grid-template-columns:1fr !important; }
  .fi-grid-4col { grid-template-columns:1fr !important; }
  .fi-grid-can  { grid-template-columns:1fr !important; }
}

.sr-only { position:absolute; width:1px; height:1px; padding:0;
           margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ── Carrusel Aprende (coverflow) ──────────────────────────── */
.ap-carousel { position:relative; display:flex; align-items:center; justify-content:center; gap:28px; max-width:960px; margin:0 auto; }
.ap-viewport  { overflow:hidden; flex:1; }
.ap-track     { display:flex; align-items:center; justify-content:center; gap:16px; }
.ap-track .fi-card { flex:0 0 300px; transition:transform .4s ease, opacity .4s ease; }
.ap-track .fi-card.ap-side   { transform:scale(.82); opacity:.45; pointer-events:none; }
.ap-track .fi-card.ap-hidden { display:none; }
.ap-prev, .ap-next { width:34px; height:34px; border-radius:50%; background:#8ab800;
                      border:none; color:#fff; font-size:16px;
                      cursor:pointer; flex-shrink:0; z-index:5; transition:background .2s; }
.ap-prev:hover, .ap-next:hover   { background:#739800; }
.ap-prev:active, .ap-next:active { background:#4d6600; }
.ap-dots { display:flex; justify-content:center; gap:8px; margin-top:22px; }
.ap-dot  { width:9px; height:9px; border-radius:50%; background:#cdd6b8;
            border:none; cursor:pointer; padding:0; transition:background .2s; }
.ap-dot.active { background:#739800; }
@media (max-width:600px) {
  .ap-track .fi-card         { flex:0 0 85%; }
  .ap-track .fi-card.ap-side { display:none; }
}

/* ── Hover animado: solo Conceptos esenciales (.fi-grid-3col) ── */
.fi-grid-3col .fi-card {
  transition: transform .3s ease, box-shadow .3s ease;
}
.fi-grid-3col .fi-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(56,74,19,.14);
}
.fi-grid-3col .fi-icon-circle {
  transition: transform .3s ease, box-shadow .3s ease;
}
.fi-grid-3col .fi-card:hover .fi-icon-circle {
  transform: scale(1.1);
  box-shadow: 0 8px 20px rgba(115,152,0,.4);
}
@media (prefers-reduced-motion: reduce) {
  .fi-grid-3col .fi-card,
  .fi-grid-3col .fi-card:hover,
  .fi-grid-3col .fi-icon-circle { transition: none; transform: none; }
}

.fi-can-letters {
  display:flex !important; align-items:center; justify-content:center;
  width:108px; height:108px; border-radius:50%;
  font-family:'Poppins','Raleway',sans-serif; font-weight:800; font-size:1.9rem;
  color:#fff; letter-spacing:1px;
}
.fi-can-letters.fi-cbd { background:#f28d00; }
.fi-can-letters.fi-thc { background:#739800; }

/* (A) Hover zoom en imagenes del bloque Historia/Cepas */
.fi-grid-2col figure {
  overflow: hidden;
  border-radius: 10px;
}
.fi-grid-2col figure img {
  transition: transform .5s ease;
}
.fi-grid-2col figure:hover img {
  transform: scale(1.06);
}

/* (B) Reveal on scroll */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .fi-grid-2col figure img { transition: none; }
}
