﻿/* ============================================================
   KodingRD.com â€” Estilos compartidos (v2 multi-pÃ¡gina)
   ============================================================ */

:root{
  --bg:#0b1020;
  --bg-2:#050814;
  --card:#070b18;
  --card-2:#0d1326;
  --text:#f5f5f5;
  --muted:rgba(255,255,255,.85);
  --border:rgba(255,255,255,.08);
  --border-2:rgba(255,255,255,.12);
  --cyan:#1B9CFF;
  --purple:#45E0FF;
  --grad:linear-gradient(135deg,#1B9CFF,#45E0FF);
  --whatsapp:#25d366;
  --shadow:0 18px 45px rgba(0,0,0,.65);
  --radius:1.2rem;
}

body.light{
  --bg:#ffffff;
  --bg-2:#f3f4f6;
  --card:#ffffff;
  --card-2:#f9fafb;
  --text:#111827;
  --muted:rgba(17,24,39,.85);
  --border:rgba(15,23,42,.12);
  --border-2:rgba(15,23,42,.2);
  --shadow:0 18px 45px rgba(15,23,42,.08);
}

*{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }

body{
  font-family:"Rubik", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background-color:var(--bg);
  color:var(--text);
  line-height:1.6;
  transition: background-color .3s ease, color .3s ease;
}

a{ text-decoration:none; color:inherit; }
img{ max-width:100%; display:block; }
ul{ list-style:none; }

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}

/* ============ HEADER ============ */
header{
  position:sticky;
  top:0;
  z-index:100;
  background: rgba(5,8,20,.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
body.light header{ background: rgba(255,255,255,.92); }

.navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 0;
  gap:1rem;
}

.logo{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-weight:700;
  font-size:1.2rem;
  letter-spacing:.05em;
  white-space:nowrap;
}
.logo img{ width:34px; height:34px; object-fit:contain; }
.logo span{ color:var(--cyan); }

nav ul{
  display:flex;
  gap:1.4rem;
}
nav ul li a{
  font-size:.92rem;
  opacity:.85;
  transition: opacity .2s, color .2s;
  padding:.2rem 0;
}
nav ul li a:hover{ opacity:1; color:var(--cyan); }
nav ul li a.active{
  opacity:1;
  color:var(--cyan);
  border-bottom:2px solid var(--cyan);
}

.right-actions{
  display:flex;
  align-items:center;
  gap:.6rem;
}

/* Botones */
.btn-cta{
  padding:.6rem 1.2rem;
  border-radius:999px;
  border:none;
  cursor:pointer;
  background:var(--grad);
  color:#0b1020;
  font-weight:600;
  font-size:.9rem;
  font-family:inherit;
  box-shadow:0 10px 30px rgba(27,156,255,.35);
  transition: transform .15s ease, box-shadow .15s ease;
  white-space:nowrap;
  display:inline-block;
  text-align:center;
}
.btn-cta:hover{
  transform: translateY(-2px);
  box-shadow:0 16px 40px rgba(27,156,255,.45);
}
.btn-ghost{
  padding:.6rem 1.2rem;
  border-radius:999px;
  border:1px solid var(--border-2);
  background:transparent;
  color:var(--text);
  font-weight:600;
  font-size:.9rem;
  font-family:inherit;
  cursor:pointer;
  transition: background .2s, color .2s, border-color .2s;
  white-space:nowrap;
  display:inline-block;
  text-align:center;
}
.btn-ghost:hover{ background:var(--cyan); color:#0b1020; border-color:transparent; }

.btn-lang{
  padding:.4rem .9rem;
  border-radius:999px;
  border:1px solid var(--border-2);
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-size:.8rem;
  font-weight:500;
  font-family:inherit;
  transition: background .2s, color .2s, border-color .2s;
  white-space:nowrap;
}
.btn-lang:hover{ background:var(--cyan); color:#0b1020; border-color:transparent; }

.btn-theme{
  width:38px; height:38px;
  border-radius:999px;
  border:1px solid var(--border-2);
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-size:1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: background .2s;
}
.btn-theme:hover{ background:var(--cyan); color:#0b1020; }

/* Hamburguesa */
.hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:.4rem;
}
.hamburger span{
  width:24px; height:2px;
  background:var(--text);
  border-radius:2px;
  transition: transform .25s ease, opacity .25s ease;
}
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ============ HERO (home) ============ */
.hero{
  padding:4rem 0 3rem;
  background: radial-gradient(circle at top, #1b2540 0, var(--bg-2) 55%);
}
body.light .hero{ background:#f3f4f6; }

.hero-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:3rem;
  align-items:center;
}
.hero h1{ font-size:clamp(2.2rem,4vw,3rem); margin-bottom:1rem; line-height:1.2; }
.hero h1 span{
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.35rem .95rem;
  border-radius:999px;
  border:1px solid rgba(27,156,255,.35);
  background:rgba(27,156,255,.08);
  font-size:.8rem;
  font-weight:500;
  color:var(--cyan);
  margin-bottom:1.1rem;
  letter-spacing:.02em;
}
.hero p{ font-size:1rem; max-width:32rem; opacity:.9; margin-bottom:1.5rem; }

.hero-tags{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.5rem; }
.tag{
  border-radius:999px;
  padding:.3rem .8rem;
  font-size:.8rem;
  border:1px solid var(--border-2);
  opacity:.9;
}
.hero-secondary{ font-size:.9rem; opacity:.85; }

.hero-card{
  border-radius:1.5rem;
  border:1px solid var(--border);
  background:
    radial-gradient(circle at 0 0, rgba(27,156,255,.15), transparent 50%),
    radial-gradient(circle at 100% 100%, rgba(69,224,255,.15), transparent 55%),
    var(--card);
  padding:1.75rem;
  box-shadow:var(--shadow);
}
.hero-card h3{ margin-bottom:.8rem; font-size:1.1rem; }
.hero-card p{ font-size:.9rem; opacity:.9; margin-bottom:1rem; }
.hero-card-list{ font-size:.85rem; }
.hero-card-list li::before{ content:"â—"; color:var(--cyan); margin-right:.4rem; }
.hero-badge{ font-size:.75rem; margin-top:1rem; opacity:.8; }

.section-image, .card-img, .hero-illustration{
  width:100%;
  border-radius:1rem;
  margin-bottom:1rem;
  object-fit:cover;
}
.hero-illustration, .card-img{ max-height:260px; }

/* ============ PAGE HERO (internas) ============ */
.page-hero{
  padding:4.5rem 0 3rem;
  text-align:center;
  background: radial-gradient(circle at top, #1b2540 0, var(--bg-2) 60%);
}
body.light .page-hero{ background:#f3f4f6; }
.page-hero h1{
  font-size:clamp(2rem,4vw,2.8rem);
  margin-bottom:.6rem;
}
.page-hero h1 span{
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.page-hero p{ font-size:1rem; opacity:.88; max-width:40rem; margin:0 auto 1rem; }
.breadcrumb{
  font-size:.8rem;
  opacity:.7;
  margin-bottom:1rem;
}
.breadcrumb a{ color:var(--cyan); }

/* ============ SECCIONES ============ */
section{ padding:3.5rem 0; }
#tarifario, #portafolio, #impacto{ background: rgba(255,255,255,.02); }
body.light #portafolio, body.light #impacto{ background:#f3f4f6; }

.section-title{ text-align:center; margin-bottom:2.5rem; }
.section-title h2{ font-size:1.8rem; margin-bottom:.3rem; }
.section-title p{ font-size:.95rem; opacity:.85; }

/* Servicios */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.5rem;
}
.service-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--card);
  padding:1.5rem;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.service-card:hover{
  transform: translateY(-4px);
  box-shadow:var(--shadow);
  border-color: rgba(27,156,255,.6);
}
.service-label{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--cyan);
  margin-bottom:.5rem;
  font-weight:600;
}
/* Icon tile para servicios */
.card-icon{
  width:56px; height:56px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(27,156,255,.12);
  border:1px solid rgba(27,156,255,.25);
  font-size:1.6rem;
  margin-bottom:1rem;
}
.service-card h3{ font-size:1.05rem; margin-bottom:.6rem; }
.service-card p{ font-size:.9rem; opacity:.85; margin-bottom:.8rem; }
.service-card ul{ font-size:.85rem; opacity:.9; }
.service-card ul li::before{ content:"â–¹"; margin-right:.3rem; color:var(--cyan); }

/* Tarifario */
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1.5rem;
  align-items:stretch;
}
.pricing-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--card);
  padding:1.5rem;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  display:flex;
  flex-direction:column;
  gap:.9rem;
}
.pricing-card:hover{
  transform: translateY(-4px);
  box-shadow:var(--shadow);
  border-color: rgba(27,156,255,.6);
}
.pricing-card.featured{
  border-color: rgba(27,156,255,.55);
  box-shadow:0 0 0 1px rgba(27,156,255,.35), var(--shadow);
}
.price{
  font-size:1.9rem;
  font-weight:700;
  letter-spacing:-.02em;
}
.price small{ font-size:.9rem; opacity:.85; font-weight:500; }
.pricing-card ul{ font-size:.88rem; opacity:.92; }
.pricing-card ul li{ margin-bottom:.45rem; }
.pricing-card ul li::before{ content:"âœ“"; color:var(--cyan); margin-right:.45rem; font-weight:700; }
.paypal-wrap{
  margin-top:auto;
  padding-top:.8rem;
  border-top:1px solid var(--border);
}
.pricing-note{
  text-align:center;
  font-size:.85rem;
  opacity:.75;
  margin-top:2rem;
}

/* Portafolio */
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:1.2rem;
}
.project-card{
  border-radius:1.1rem;
  border:1px solid var(--border);
  background:var(--card);
  overflow:hidden;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.project-card:hover{
  transform: translateY(-3px);
  box-shadow:var(--shadow);
  border-color: rgba(27,156,255,.55);
}
.project-card .card-img{
  max-height:140px;
  filter: grayscale(100%);
  transition: filter .25s ease, transform .25s ease;
}
.project-card:hover .card-img{
  filter: grayscale(0%);
  transform: scale(1.02);
}
/* Monograma para clientes (fallback de logos) */
.monogram{
  height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.6rem;
  font-weight:700;
  background:
    radial-gradient(circle at 20% 20%, rgba(27,156,255,.25), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(69,224,255,.25), transparent 55%),
    var(--card-2);
  color:var(--text);
  transition: transform .25s ease;
}
.monogram span{
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.project-card:hover .monogram{ transform:scale(1.02); }
.project-content{ padding:.8rem .9rem 1rem; }
.project-tag{ font-size:.75rem; color:var(--cyan); margin-bottom:.3rem; }
.project-card h3{ font-size:.9rem; margin-bottom:.3rem; }
.project-card p{ font-size:.8rem; opacity:.85; }

/* Nosotros */
.about-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:2rem;
  align-items:center;
}
.about-text p{ font-size:.95rem; opacity:.9; margin-bottom:1rem; }
.about-stats{ display:flex; flex-wrap:wrap; gap:1.5rem; margin-top:.5rem; }
.stat{ min-width:110px; }
.stat strong{ font-size:1.4rem; display:block; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat span{ font-size:.8rem; opacity:.85; }
.about-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--card);
  padding:1.5rem;
  font-size:.9rem;
  opacity:.95;
}

/* Expertise */
.exp-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.8rem;
  align-items:flex-start;
}
.exp-card{ padding:1.6rem; }
.exp-column-title{ font-size:1rem; font-weight:600; margin-bottom:.7rem; }
.exp-list{ font-size:.9rem; }
.exp-list li{ margin-bottom:.65rem; }
.exp-list li strong{ color:var(--cyan); font-weight:600; }
.tech-row{ display:flex; gap:.65rem; align-items:flex-start; }
.tech-icon{ width:18px; height:18px; margin-top:.15rem; flex:0 0 auto; opacity:.95; }
body:not(.light) .tech-icon{ filter:invert(1); }
body.light .tech-icon{ filter:none; }
.tech-desc{ opacity:.9; }
.exp-footnote{ font-size:.85rem; opacity:.9; margin-top:1.2rem; }

/* Impacto */
.impact-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.5rem;
}
.impact-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--card);
  padding:1.5rem;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.impact-card:hover{
  transform: translateY(-4px);
  box-shadow:var(--shadow);
  border-color: rgba(27,156,255,.6);
}
.impact-icon{
  width:46px; height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(27,156,255,.14);
  margin-bottom:.9rem;
  font-size:1.3rem;
}
.impact-icon img{ width:26px; height:26px; object-fit:contain; }
body.light .impact-icon{ background: rgba(17,24,39,.06); }
.impact-card h3{ font-size:1.05rem; margin-bottom:.6rem; }
.impact-card p{ font-size:.9rem; opacity:.85; margin-bottom:.8rem; }
.impact-card ul{ font-size:.85rem; opacity:.9; }
.impact-card ul li::before{ content:"â–¹"; margin-right:.3rem; color:var(--cyan); }

/* Contacto */
.contact-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:2rem;
}
.contact-info p{ font-size:.95rem; opacity:.9; margin-bottom:1rem; }
.contact-list{ font-size:.9rem; }
.contact-list li{ margin-bottom:.4rem; }
.contact-list strong{ color:var(--cyan); }
.contact-list a{ color:var(--cyan); }
.contact-list a:hover{ text-decoration:underline; }

form{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--card);
  padding:1.5rem;
}
.form-group{ margin-bottom:1rem; }
label{ display:block; font-size:.85rem; margin-bottom:.3rem; }
input, textarea{
  width:100%;
  padding:.65rem .75rem;
  border-radius:.6rem;
  border:1px solid var(--border-2);
  background: rgba(5,8,20,.95);
  color:var(--text);
  font-family:inherit;
  font-size:.9rem;
  transition: border-color .2s, box-shadow .2s;
}
body.light input, body.light textarea{ background:#f9fafb; }
textarea{ resize:vertical; min-height:120px; }
input:focus, textarea:focus{
  outline:none;
  border-color:var(--cyan);
  box-shadow:0 0 0 1px rgba(27,156,255,.6);
}
.form-status{
  display:none;
  margin-top:.8rem;
  padding:.7rem .9rem;
  border-radius:.6rem;
  font-size:.85rem;
  background: rgba(37,211,102,.12);
  border:1px solid rgba(37,211,102,.4);
  color:var(--text);
}

/* CTA banner */
.cta-banner{
  margin-top:1rem;
  padding:3rem 1.5rem;
  text-align:center;
  border-radius:1.5rem;
  border:1px solid var(--border);
  background:
    radial-gradient(circle at 10% 10%, rgba(27,156,255,.18), transparent 45%),
    radial-gradient(circle at 90% 90%, rgba(69,224,255,.18), transparent 45%),
    var(--card);
}
.cta-banner h2{ font-size:1.6rem; margin-bottom:.5rem; }
.cta-banner p{ font-size:.95rem; opacity:.85; margin-bottom:1.4rem; }
.cta-banner .btn-cta{ font-size:1rem; padding:.8rem 1.8rem; }

/* Footer */
footer{
  border-top:1px solid var(--border);
  padding:1.5rem 0 2rem;
  font-size:.8rem;
  opacity:.85;
}
.footer-flex{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
}
.footer-links{ display:flex; gap:1rem; flex-wrap:wrap; }
.footer-links a{ opacity:.8; }
.footer-links a:hover{ opacity:1; color:var(--cyan); }

/* ============ CHATBOT ============ */
.chatbot-button{
  position:fixed;
  bottom:25px;
  right:25px;
  background:var(--grad);
  border-radius:50%;
  width:60px;
  height:60px;
  display:flex;
  justify-content:center;
  align-items:center;
  color:white;
  font-size:28px;
  cursor:pointer;
  box-shadow:0 6px 20px rgba(0,0,0,.3);
  z-index:9999;
  border:none;
  transition: transform .15s ease;
}
.chatbot-button:hover{ transform:scale(1.06); }

.chatbot-window{
  position:fixed;
  bottom:100px;
  right:25px;
  width:340px;
  height:460px;
  background:#f9fafb;
  color:#111;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  display:none;
  flex-direction:column;
  overflow:hidden;
  z-index:9999;
  font-size:.9rem;
}
.chatbot-header{
  background:var(--grad);
  padding:12px;
  color:white;
  font-weight:bold;
}
.chatbot-header-inner{ display:flex; align-items:center; gap:10px; }
.chatbot-avatar{
  width:42px; height:42px;
  background:url("../img/logo.png") center/cover;
  border-radius:50%;
  animation: floatAvatar 3s ease-in-out infinite;
  border:2px solid rgba(255,255,255,.7);
  flex:0 0 auto;
}
@keyframes floatAvatar{
  0%{ transform:translateY(0); }
  50%{ transform:translateY(-4px); }
  100%{ transform:translateY(0); }
}
.chatbot-title-text{ display:flex; flex-direction:column; }
.chatbot-title-text span:first-child{ font-size:.9rem; }
.chatbot-title-text span:last-child{ font-size:.7rem; opacity:.85; }

.chatbot-messages{
  flex:1;
  padding:10px 12px;
  overflow-y:auto;
  background:#e5e7eb;
}
.message-row{ display:flex; margin-bottom:8px; }
.message-row.user{ justify-content:flex-end; }
.message-row.bot{ justify-content:flex-start; }
.message-bubble{
  max-width:80%;
  padding:8px 10px;
  border-radius:14px;
  line-height:1.4;
}
.message-row.user .message-bubble{
  background:var(--cyan);
  color:#0b1020;
  border-bottom-right-radius:4px;
}
.message-row.bot .message-bubble{
  background:#fff;
  color:#111827;
  border-bottom-left-radius:4px;
}
.typing-indicator{ display:none; margin:4px 0 8px 4px; }
.typing-indicator span{
  height:6px; width:6px;
  margin:0 2px;
  background-color:#9ca3af;
  display:inline-block;
  border-radius:50%;
  opacity:.4;
  animation: blink 1.4s infinite both;
}
.typing-indicator span:nth-child(2){ animation-delay:.2s; }
.typing-indicator span:nth-child(3){ animation-delay:.4s; }
@keyframes blink{
  0%{ opacity:.3; }
  20%{ opacity:1; }
  100%{ opacity:.3; }
}
.quick-options{ display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.quick-options button{
  padding:7px 9px;
  background:#eef1f5;
  border-radius:8px;
  border:1px solid #d1d5db;
  cursor:pointer;
  width:100%;
  text-align:left;
  font-size:.8rem;
  font-family:inherit;
  transition:.2s;
}
.quick-options button:hover{ background:#dbeafe; border-color:var(--purple); }
.chatbot-input-area{ display:flex; border-top:1px solid #ddd; background:#f3f4f6; }
.chatbot-input-area input{
  flex:1;
  padding:10px;
  border:none;
  font-size:.9rem;
  background:transparent;
  box-shadow:none;
}
.chatbot-input-area input:focus{ box-shadow:none; }
.chatbot-input-area button{
  background:var(--cyan);
  border:none;
  padding:10px 15px;
  cursor:pointer;
  color:#000;
  font-weight:bold;
  font-size:.9rem;
}
.whatsapp-btn{
  background:var(--whatsapp);
  padding:7px 10px;
  border-radius:6px;
  color:#fff;
  text-decoration:none;
  display:inline-block;
  margin-top:5px;
  font-size:.85rem;
}
.whatsapp-btn:hover{ background:#1ebe57; }

/* ============ ANIMACIONES ============ */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.visible{ opacity:1; transform:none; }

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px){
  .portfolio-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .pricing-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 900px){
  .hero-grid, .services-grid, .about-grid, .contact-grid, .exp-grid, .impact-grid{
    grid-template-columns:1fr;
  }
  .hero{ padding-top:3rem; }
  nav ul{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    background: rgba(5,8,20,.98);
    border-bottom:1px solid var(--border);
    padding:1rem 1.5rem 1.5rem;
    gap:1rem;
    box-shadow:0 20px 40px rgba(0,0,0,.5);
  }
  body.light nav ul{ background: rgba(255,255,255,.98); }
  nav ul.open{ display:flex; }
  nav ul li a.active{ border-bottom:none; }
  .hamburger{ display:flex; }
  .right-actions .btn-cta{ display:none; }
}
@media (max-width: 600px){
  .hero{ padding-top:2.5rem; }
  .section-title h2{ font-size:1.5rem; }
  .service-card, .project-card, .about-card, form, .impact-card, .pricing-card{ padding:1.2rem; }
  .chatbot-window{ width:95%; right:2.5%; }
  .portfolio-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .pricing-grid{ grid-template-columns:1fr; }
  .footer-flex{ flex-direction:column; text-align:center; }
}
