/* ============================================================
   AUDIO PLANET — Footer (v1.1 · 29/09/2026)
   v1.1: íconos de contacto con trazo más fino; redes sin relleno;
         barra inferior = logo + copyright | redes | AFIP; columnas
         alineadas arriba (el logo pasó a la barra inferior).
   Scope: .apf  ·  Mismos tokens que la home (ap-home.css) y el header.
   El HTML va en un bloque "HTML personalizado" del Área de widgets
   del footer 1. Este archivo se carga en todo el sitio (functions.php, sección 14).
============================================================= */

/* ---- Neutralizar la fila de Blocksy que contiene el footer propio ---- */
.ct-footer:has(.apf){ background:#111 !important; }
.ct-footer [data-row]:has(.apf){ padding:0 !important; background:transparent !important; border:0 !important; }
.ct-footer [data-row]:has(.apf) > .ct-container,
.ct-footer [data-row]:has(.apf) > .ct-container-fluid{
  max-width:none !important; width:100% !important; padding:0 !important; display:block !important;
}
.ct-footer [data-row]:has(.apf) [data-column]{ padding:0 !important; }
.ct-footer .ct-widget:has(.apf){ margin:0 !important; }

.apf{
  --ink:#111111;
  --text:rgba(255,255,255,.66);
  --text-2:rgba(255,255,255,.46);
  --white:#f4f3ef;
  --accent:#C38356;
  --accent-2:#d9a079;
  --line:rgba(255,255,255,.1);
  --gut:clamp(16px,4vw,48px);
  --max:1280px;
  --ease:cubic-bezier(.16,1,.3,1);
  background:var(--ink); color:var(--text);
  font-size:15px; line-height:1.6; -webkit-font-smoothing:antialiased;
  text-align:left;
}
.apf *, .apf *::before, .apf *::after{ box-sizing:border-box; }
.apf :where(ul){ list-style:none; margin:0; padding:0; }
.apf :where(li, p, h2){ margin:0; }
.apf :where(img){ display:block; max-width:100%; height:auto; }
.apf a{ color:inherit; text-decoration:none; transition:color .3s var(--ease); }
.apf a:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }
.apf svg{ width:20px; height:20px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

.apf-wrap{ width:min(var(--max), 100% - 2 * var(--gut)); margin-inline:auto; }

/* ---------- Bloque superior ---------- */
.apf-cta{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:clamp(24px,6vw,96px); align-items:end;
  padding-block:clamp(72px,8vw,120px) clamp(48px,5vw,72px);
  border-bottom:1px solid var(--line);
}
.apf .apf-title{
  color:var(--white); font-size:clamp(28px,3.1vw,46px); line-height:1; font-weight:600;
  letter-spacing:-.03em; text-wrap:balance; padding-bottom:.06em;
}
.apf-title::before{
  content:""; display:block; width:36px; height:2px; margin-bottom:22px; border-radius:2px; background:var(--accent);
}
.apf .apf-lead{ font-size:clamp(16px,1.25vw,18px); line-height:1.32; letter-spacing:-.03em; color:var(--text); text-wrap:pretty; }
.apf-lead strong{ color:var(--white); font-weight:500; }
.apf-lead a{
  color:var(--white); font-weight:600;
  background:linear-gradient(var(--accent),var(--accent)) 0 100%/100% 1px no-repeat;
  padding-bottom:1px; transition:color .3s var(--ease), background-size .4s var(--ease);
}
.apf-lead a:hover{ color:var(--accent-2); background-size:100% 2px; }

/* ---------- Columnas ---------- */
.apf-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1.2fr);
  gap:clamp(32px,5vw,80px); padding-block:clamp(48px,5vw,72px); align-items:start;
}
/* Alineación: las tres columnas arrancan en la misma línea.
   La 1.ª línea de texto de cada columna (y de cada ítem de contacto)
   cae a la altura del centro del ícono de contacto (42px → 21px). */
.apf-col--brand, .apf-col--cats{ padding-top:var(--apf-top,10px); }
.apf-col--contact{ padding-top:0; }

.apf-brand{ display:flex; align-items:center; gap:14px; }
.apf-logo{ display:inline-block; flex:0 0 auto; border-radius:50%; transition:transform .6s var(--ease); }
.apf-logo:hover{ transform:rotate(-8deg) scale(1.04); }
.apf-logo img{ width:36px; height:36px; }
.apf .apf-company{ color:var(--accent-2); font-size:15px; font-weight:600; letter-spacing:-.01em; margin-bottom:14px; }

.apf-links li{ line-height:0.8; }
.apf-links a{
  position:relative; display:inline-flex; align-items:center; padding:6px 0; font-size:14px; color:var(--text);
}
.apf-links a::before{
  content:""; width:0; height:1px; margin-right:0; border-radius:2px; background:var(--accent);
  transition:width .4s var(--ease), margin .4s var(--ease);
}
.apf-links a:hover{ color:var(--white); }
.apf-links a:hover::before{ width:11px; margin-right:8px; }
.apf-links--2col{ columns:2; column-gap:32px; }
.apf-links--2col li{ break-inside:avoid; }

/* Contacto */
.apf-contact{ display:grid; gap:10px; }
.apf-contact li{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; line-height:1.4; }
/* texto alineado arriba: su 1.ª línea queda centrada con el ícono (42px),
   aunque el texto ocupe dos líneas */
.apf-contact li > :not(.apf-ico){ padding-top:10px; }
.apf-contact strong{ color:var(--white); font-weight:500; }
.apf-contact a:hover, .apf-contact a:hover strong{ color:var(--accent-2); }
.apf-ico{
  flex:0 0 42px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); color:var(--accent-2);
}
.apf-ico svg{ width:19px; height:19px; stroke-width:1.2; }

.apf-btn{
  display:inline-flex; align-items:center; gap:10px; margin-top:28px;
  min-height:48px; padding:0 22px; border-radius:999px;
  background:var(--accent-2); color:#1b1b1b !important; font-size:14.5px; font-weight:600; line-height:1.2;
  transition:background-color .35s var(--ease), transform .5s var(--ease) !important;
}
.apf-btn:hover{ background:#e6b590; transform:translateY(-2px); }
.apf-btn svg{ width:18px; height:18px; stroke-width:1.4; }

/* ---------- Barra inferior ---------- */
.apf-bottom{
  /* 3 columnas iguales a los lados: las redes quedan centradas en la página */
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:20px;
  padding-block:26px 32px; border-top:1px solid var(--line);
}
.apf-bottom .apf-afip{ justify-self:end; }
.apf-afip{ display:block; flex:0 0 auto; border-radius:2px; overflow:hidden; opacity:.85; transition:opacity .3s; }
.apf-afip:hover{ opacity:1; }
.apf-afip{ width:32px; max-height:48px; }
.apf-afip img{ width:32px; height:auto; }
.apf-social{ display:flex; gap:8px; }
.apf-social a{
  display:grid; place-items:center; width:44px; height:44px; border-radius:50%;
  color:var(--white); box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  transition:background-color .35s var(--ease), color .35s var(--ease), transform .5s var(--ease), box-shadow .35s;
}
.apf-social a:hover{ background:#e6b590; color:#111; box-shadow:none; transform:translateY(-2px); }
.apf-social svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.4; }
.apf-social svg path[d^="M17.2 6.8"]{ stroke-width:2.2; }   /* punto de Instagram */
.apf .apf-copy{ font-size:13px; color:var(--text-2); }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .apf-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .apf-col--contact{ grid-column:1 / -1; }
  .apf-contact{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 32px; }
}
@media (max-width:760px){
  .apf-cta{ grid-template-columns:1fr; align-items:start; gap:20px; }
  .apf-grid{ grid-template-columns:1fr; gap:40px; }
  .apf-contact{ grid-template-columns:1fr; }
  .apf-btn{ width:100%; justify-content:center; }
  .apf-bottom{ grid-template-columns:1fr; justify-items:start; gap:22px; }
  .apf-bottom .apf-afip{ justify-self:start; }
  .apf-col--brand, .apf-col--cats{ padding-top:0; }
}
@media (max-width:360px){
  .apf-links--2col{ columns:1; }
}
@media (prefers-reduced-motion:reduce){
  .apf *, .apf *::before{ transition:none !important; }
}