/*
Theme Name: 07 Marketing
Theme URI: https://www.07marketing.com.ar/
Author: 07 Marketing
Author URI: https://www.07marketing.com.ar/
Description: Tema a medida de 07 Marketing. Réplica del sitio estático original con plantillas fijas por página.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: Propietario
Text Domain: 07marketing
*/

/* ══════════════════════════════════════
   07 Marketing — Sistema de estilos compartido
   ══════════════════════════════════════ */
:root {
  --negro:        #0D0D0B;
  --blanco:       #F7F4EE;
  --gris-calido:  #EDEAE5;
  --gris-texto:   #3D3D3B;
  --gris-medio:   #5A5A56;
  --celeste-deep: #1B4F72;
  --celeste-mid:  #2471A3;
  --celeste-lite: #5DADE2;
  --celeste-pale: #D6EAF8;
  --borde:        rgba(255,255,255,0.07);
  --borde-claro:  rgba(0,0,0,0.09);
}

*, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'DM Sans', sans-serif;
  background: var(--blanco);
  color: var(--negro);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* Barra de admin de WordPress: correr el nav fijo cuando estás logueada */
body.admin-bar nav { top: 32px; }
@media screen and (max-width:782px){ body.admin-bar nav { top: 46px; } }

/* ── NAV ── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  display: flex; justify-content:space-between; align-items:center;
  padding: 1.2rem 4rem;
  background: rgba(247,244,238,.95);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--borde-claro);
}
.nav-logo { text-decoration:none; display:block; }
.nav-links { display:flex; gap:2rem; list-style:none; align-items:center; }
.nav-links a { font-size:.78rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--gris-medio); text-decoration:none; transition:color .2s; }
.nav-links a:hover { color:var(--negro); }
.nav-cta { background:var(--celeste-deep) !important; color:var(--blanco) !important; padding:.6rem 1.3rem !important; transition:background .2s !important; }
.nav-cta:hover { background:var(--celeste-mid) !important; }

/* Dropdown */
.nav-dropdown { position:relative; }
.nav-dropdown-menu {
  position:absolute; top:100%; left:0;
  background:var(--blanco); border:1px solid var(--borde-claro);
  min-width:240px; padding:.5rem 0;
  opacity:0; pointer-events:none;
  transform:translateY(8px);
  transition:opacity .2s, transform .2s;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.nav-dropdown:hover .nav-dropdown-menu { opacity:1; pointer-events:all; transform:translateY(0); }
.nav-dropdown-menu a { display:block; padding:.7rem 1.25rem; font-size:.82rem; color:var(--gris-texto); text-decoration:none; transition:background .15s; letter-spacing:.02em; text-transform:none !important; font-weight:400 !important; }
.nav-dropdown-menu a:hover { background:var(--gris-calido); color:var(--celeste-deep); }

/* ── TIPOGRAFÍA ── */
h1, h2, h3 { font-family: Georgia, serif; line-height:1.1; letter-spacing:-.02em; }
h1 { font-size: clamp(2.4rem, 5vw, 4.2rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 3rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.6rem); }
em { font-style:italic; color:var(--celeste-deep); }

/* ── BOTONES ── */
.btn-p {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--celeste-deep); color:var(--blanco);
  padding:.95rem 2rem; font-size:.85rem; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  transition:background .25s, transform .2s; border:none; cursor:pointer;
}
.btn-p:hover { background:var(--celeste-mid); transform:translateY(-2px); }
.btn-g {
  display:inline-flex; align-items:center; gap:.5rem;
  border:1.5px solid var(--borde-claro); color:var(--gris-texto);
  padding:.95rem 2rem; font-size:.85rem; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  transition:border-color .2s, color .2s; background:none;
}
.btn-g:hover { border-color:var(--celeste-deep); color:var(--celeste-deep); }
.btn-blanco {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--blanco); color:var(--celeste-deep);
  padding:.95rem 2rem; font-size:.85rem; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  transition:background .2s, transform .2s;
}
.btn-blanco:hover { background:var(--celeste-pale); transform:translateX(4px); }

/* ── EYEBROW ── */
.ey {
  font-size:.7rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  color:var(--celeste-deep); display:flex; align-items:center; gap:.9rem; margin-bottom:1rem;
}
.ey::before { content:''; width:28px; height:1px; background:var(--celeste-deep); }
.ey-l { color:var(--celeste-lite); }
.ey-l::before { background:var(--celeste-lite); }

/* ── SECCIONES ── */
.sec { padding:7rem 4rem; }
.sec-sm { padding:4rem 4rem; }
.sec-dark { background:var(--negro); }
.sec-gris { background:var(--gris-calido); }
.sec-celeste { background:var(--celeste-deep); }
.container { max-width:1140px; margin:0 auto; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }

/* ── REVEAL ── */
.js-loaded .reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.js-loaded .reveal.on { opacity:1; transform:translateY(0); }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}

/* ── FOOTER ── */
footer {
  background:var(--negro); padding:3rem 4rem;
  border-top:1px solid var(--borde);
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:2rem;
}
.footer-links { display:flex; gap:2rem; list-style:none; justify-content:center; }
.footer-links a { font-size:.72rem; color:rgba(247,244,238,.35); text-decoration:none; transition:color .2s; }
.footer-links a:hover { color:rgba(247,244,238,.7); }
.footer-copy { font-size:.7rem; color:rgba(247,244,238,.2); text-align:right; }

/* ── FORMULARIO MODAL ── */
.modal-overlay {
  position:fixed; inset:0; z-index:1000;
  background:rgba(13,13,11,.85); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:2rem;
  opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal {
  background:var(--blanco); width:100%; max-width:560px; padding:3.5rem;
  position:relative; transform:translateY(24px); transition:transform .35s ease;
}
.modal-overlay.open .modal { transform:translateY(0); }
.modal-close { position:absolute; top:1.25rem; right:1.5rem; background:none; border:none; cursor:pointer; font-size:1.4rem; color:var(--gris-medio); line-height:1; padding:.25rem .5rem; transition:color .2s; }
.modal-close:hover { color:var(--negro); }
.modal .ey { margin-bottom:1rem; }
.modal h2 { font-size:1.8rem; margin-bottom:.75rem; }
.modal-desc { font-size:.95rem; color:var(--gris-medio); line-height:1.7; margin-bottom:2rem; }
.form-group { margin-bottom:1.2rem; }
.form-group label { display:block; font-size:.72rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.4rem; }
.form-group input, .form-group textarea, .form-group select {
  width:100%; background:var(--gris-calido); border:1px solid transparent;
  border-bottom:1.5px solid rgba(0,0,0,.15); padding:.85rem 1rem;
  font-family:'DM Sans',sans-serif; font-size:1rem; color:var(--negro);
  outline:none; transition:border-color .2s, background .2s; -webkit-appearance:none;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--celeste-deep); background:var(--celeste-pale); }
.form-group textarea { resize:vertical; min-height:90px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-submit { width:100%; background:var(--celeste-deep); color:var(--blanco); border:none; cursor:pointer; padding:1.1rem 2rem; font-family:'DM Sans',sans-serif; font-size:.85rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; transition:background .25s; margin-top:.5rem; }
.form-submit:hover { background:var(--celeste-mid); }
.form-submit:disabled { opacity:.5; cursor:not-allowed; }
.form-success { display:none; text-align:center; padding:2rem 0; }
.form-success h3 { font-family:Georgia,serif; font-size:1.4rem; margin-bottom:.6rem; }
.form-success p { font-size:.95rem; color:var(--gris-medio); line-height:1.7; }
.form-error { display:none; font-size:.85rem; color:#C0392B; background:#FDECEA; padding:.75rem 1rem; margin-top:1rem; border-left:2px solid #C0392B; }

/* ── ANIMACIONES / DETAILS (antes inline en la home) ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
details summary::-webkit-details-marker { display:none; }

/* ── CONTENIDO GENÉRICO (páginas sin plantilla propia) ── */
.entry-content { max-width:760px; }
.entry-content p { font-size:1.05rem; color:var(--gris-texto); line-height:1.9; margin-bottom:1.25rem; }
.entry-content h2 { margin:3rem 0 1.25rem; }
.entry-content h3 { margin:2rem 0 1rem; }
.entry-content ul, .entry-content ol { margin:0 0 1.25rem 1.25rem; color:var(--gris-texto); line-height:1.9; }
.entry-content a { color:var(--celeste-deep); }


/* ── PÁGINAS INTERNAS (v1.1) ── */
.page-hero { padding:9rem 4rem 5rem; }
.lead { font-size:1.1rem; color:var(--gris-texto); max-width:640px; line-height:1.9; font-weight:400; }
.lead-l { color:rgba(247,244,238,.8); }
.txt { font-size:1.02rem; color:var(--gris-texto); font-weight:400; line-height:1.9; }
.txt + .txt { margin-top:1.1rem; }
.txt-l { color:rgba(247,244,238,.78); }
.lista { display:flex; flex-direction:column; gap:.7rem; list-style:none; }
.lista li { font-size:1rem; color:var(--gris-texto); font-weight:400; line-height:1.7; display:flex; gap:.8rem; }
.lista li::before { content:''; width:14px; height:1px; background:var(--celeste-deep); flex-shrink:0; margin-top:.85rem; }
.sec-dark .lista li { color:rgba(247,244,238,.78); }
.sec-dark .lista li::before { background:var(--celeste-lite); }
.bloques { display:flex; flex-direction:column; gap:1px; }
.bloque { background:var(--gris-calido); border-left:2px solid var(--borde-claro); padding:1.6rem 2rem; transition:border-color .3s; }
.bloque:hover { border-color:var(--celeste-deep); }
.sec-gris .bloque { background:var(--blanco); }
.bloque h3 { font-size:1.12rem; margin-bottom:.45rem; }
.bloque p { font-size:.98rem; color:var(--gris-texto); line-height:1.8; font-weight:400; }
.num-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--borde-claro); }
.num-grid > div { padding:2.25rem 2rem 0 0; }
.num-grid .n { font-family:Georgia,serif; font-size:2.2rem; color:var(--celeste-deep); line-height:1; margin-bottom:.8rem; }
.num-grid h3 { font-size:1.1rem; margin-bottom:.5rem; }
.num-grid p { font-size:.96rem; color:var(--gris-texto); line-height:1.8; font-weight:400; }
.tag { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--celeste-deep); border:1px solid rgba(27,79,114,.22); padding:.35rem .9rem; display:inline-block; }
.tags { display:flex; flex-wrap:wrap; gap:.5rem; }
.faq-grupo { margin-bottom:4rem; }
.faq-grupo:last-child { margin-bottom:0; }
.faq-grupo > h2 { font-size:clamp(1.4rem,2.4vw,1.9rem); margin-bottom:1.5rem; }
.faq { background:var(--gris-calido); border-left:2px solid var(--borde-claro); margin-bottom:1px; }
.faq[open] { border-color:var(--celeste-deep); }
.faq summary { padding:1.4rem 2rem; cursor:pointer; font-family:Georgia,serif; font-size:1.05rem; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; }
.faq summary span { color:var(--celeste-deep); font-size:1.2rem; transition:transform .2s; }
.faq[open] summary span { transform:rotate(45deg); }
.faq > div { padding:0 2rem 1.5rem; font-size:.98rem; color:var(--gris-texto); line-height:1.85; }
.canal { background:var(--gris-calido); padding:1.5rem 2rem; display:flex; align-items:flex-start; gap:1.25rem; border-left:2px solid var(--borde-claro); margin-bottom:1px; }
.canal .ic { font-family:Georgia,serif; font-size:1.1rem; color:var(--celeste-deep); min-width:1.8rem; }
.canal strong { display:block; font-size:1rem; font-weight:500; margin-bottom:.2rem; }
.canal a, .canal span.v { font-size:.95rem; color:var(--gris-texto); text-decoration:none; }
.canal a:hover { color:var(--celeste-deep); }
.form-inline { background:var(--blanco); border:1px solid var(--borde-claro); border-top:2px solid var(--celeste-deep); padding:2.5rem; }
.timeline { display:flex; flex-direction:column; }
.timeline > div { display:grid; grid-template-columns:10rem 1fr; gap:2rem; padding:2rem 0; border-bottom:1px solid var(--borde-claro); }
.timeline > div:first-child { padding-top:0; }
.timeline .cuando { font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--celeste-deep); font-weight:500; padding-top:.3rem; }
.timeline h3 { font-size:1.2rem; margin-bottom:.4rem; }
.timeline p { font-size:.98rem; color:var(--gris-texto); line-height:1.8; font-weight:400; }
.cita { font-family:Georgia,serif; font-style:italic; font-size:clamp(1.3rem,2.4vw,1.8rem); line-height:1.45; color:var(--blanco); }
.wa-link { cursor:pointer; }

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav { padding:1.2rem 1.5rem; }
  .nav-links { display:none; }
  .sec { padding:5rem 1.5rem; }
  .sec-sm { padding:3rem 1.5rem; }
  .grid-2 { grid-template-columns:1fr; gap:3rem; }
  .grid-3 { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr; text-align:center; padding:2rem 1.5rem; }
  .footer-copy { text-align:center; }
  .page-hero { padding:7rem 1.5rem 3.5rem; }
  .num-grid { grid-template-columns:1fr; }
  .num-grid > div { padding:2rem 0 0; }
  .timeline > div { grid-template-columns:1fr; gap:.5rem; }
  .form-inline { padding:1.75rem; }
  .form-row { grid-template-columns:1fr; }
  /* Grilla de casos a una columna (antes inline en /casos/) */
  .container > div[style*="grid-template-columns:repeat(2"]{ grid-template-columns:1fr !important; }
}
footer .wa-link { color:inherit; text-decoration:none; }
footer .wa-link:hover { color:rgba(247,244,238,.6); }
.sec-celeste .wa-link { font-size:.95rem; color:rgba(247,244,238,.75); font-weight:400; text-decoration:none; }
.sec-celeste .wa-link:hover { color:var(--blanco); }

/* ── Logo 07 Marketing (familia hallazgo / on demand / tracción) ── */
.sm07-logo { font-family:'Fraunces', Georgia, serif; font-weight:700; letter-spacing:-.02em; line-height:1; color:#1B4F72; white-space:nowrap; display:inline-block; font-variation-settings:'opsz' 72; }
.sm07-logo-07 { background:linear-gradient(transparent 55%, #C7D7E4 55%, #C7D7E4 95%, transparent 95%); padding:0 .06em; }
.sm07-logo--light { color:#F7F4EE; }
.sm07-logo--light .sm07-logo-07 { background:linear-gradient(transparent 55%, #2F6A93 55%, #2F6A93 95%, transparent 95%); }
footer > a[aria-label="07 Marketing"] { text-decoration:none; }
