/* Sección CRM + Web: presencia, web y CRM a medida con precios */
.desktop-nav a { white-space:nowrap; }
.crm-web { position:relative; padding:72px var(--page-pad) 88px; overflow:hidden; color:#17062d; background:radial-gradient(ellipse 60% 50% at 0 0,rgba(200,164,255,.24),transparent 70%),radial-gradient(ellipse 50% 40% at 100% 30%,rgba(133,72,245,.10),transparent 70%),linear-gradient(180deg,#fcfaff 0%,#f6f1ff 100%); }
.crm-web::before { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(116,60,240,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(116,60,240,.05) 1px,transparent 1px); background-size:56px 56px; mask-image:radial-gradient(ellipse 80% 60% at 50% 0,#000 20%,transparent 75%); }
.crm-web>* { position:relative; max-width:1320px; margin-left:auto; margin-right:auto; }

/* Cabecera */
.crm-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; align-items:center; }
.crm-hero h2 { margin:16px 0 0; font-size:clamp(46px,5.6vw,84px); line-height:.94; letter-spacing:-.055em; }
.crm-hero h2 em { display:block; font-style:normal; background:linear-gradient(100deg,#8548f5 10%,#5d30dd 60%,#b07cff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.crm-hero-copy>p { max-width:520px; margin:22px 0 0; color:#5f5470; font-size:18px; line-height:1.6; }
.crm-flow { display:flex; flex-wrap:wrap; gap:8px; margin:30px 0 0; padding:0; list-style:none; }
.crm-flow li { display:inline-flex; align-items:center; gap:10px; padding:8px 16px 8px 8px; border:1px solid #e4d8f6; border-radius:999px; background:rgba(255,255,255,.8); font-size:14px; font-weight:800; box-shadow:0 6px 18px rgba(41,24,78,.05); }
.crm-flow li span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#fff; background:linear-gradient(135deg,#865aff,#5d30dd); font-size:10px; letter-spacing:.04em; }
.crm-flow li:not(:last-child)::after { content:'→'; margin-left:6px; color:#a993cf; font-weight:400; }

/* Maqueta del CRM */
.crm-board { padding:18px; border:1px solid #e4d8f6; border-radius:24px; background:rgba(255,255,255,.86); box-shadow:0 30px 80px rgba(54,25,110,.14),0 2px 0 rgba(255,255,255,.9) inset; backdrop-filter:blur(10px); transform:perspective(1400px) rotateY(-6deg) rotateX(3deg); transition:transform .5s ease; }
.crm-board:hover { transform:perspective(1400px) rotateY(0) rotateX(0); }
.crm-board-bar { display:flex; align-items:center; gap:7px; margin:0 0 14px; color:#8a7c9c; font-size:11px; font-weight:700; }
.crm-board-bar i { width:9px; height:9px; border-radius:50%; background:#e7def5; }
.crm-board-bar i:first-child { background:#ff8e8e; } .crm-board-bar i:nth-child(2) { background:#ffd27a; } .crm-board-bar i:nth-child(3) { background:#7fdc9f; }
.crm-board-bar b { margin-left:auto; padding:4px 10px; border-radius:999px; color:#5d30dd; background:#f1eaff; }
.crm-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.crm-kpis div { padding:12px; border-radius:14px; background:#faf7ff; border:1px solid #efe6fb; }
.crm-kpis small { display:block; color:#8a7c9c; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.crm-kpis strong { display:block; margin-top:4px; font-size:22px; letter-spacing:-.04em; }
.crm-kpis em { color:#1f9d5c; font-size:11px; font-style:normal; font-weight:800; }
.crm-cols { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.crm-col>small { display:flex; justify-content:space-between; margin-bottom:8px; color:#6e607c; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.crm-lead { margin-bottom:7px; padding:9px; border:1px solid #eee6fa; border-radius:10px; background:#fff; font-size:11px; font-weight:700; box-shadow:0 3px 10px rgba(41,24,78,.04); }
.crm-lead i { display:block; height:5px; margin-top:7px; border-radius:9px; background:linear-gradient(90deg,#c8a4ff var(--p,60%),#f1eaff 0); }
.crm-lead.is-won { border-color:#c9efd8; background:#f2fcf6; }
.crm-lead.is-won i { background:#7fdc9f; }

/* Bloques de precios */
.crm-block { margin-top:96px; }
.crm-block-head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:32px; }
.crm-block-head h3 { margin:14px 0 0; font-size:clamp(32px,3.6vw,52px); line-height:1; letter-spacing:-.05em; }
.crm-block-head h3 em { color:var(--violet); font-style:normal; }
.crm-block-head>p { max-width:330px; margin:0; color:#6e607c; font-size:14px; line-height:1.55; text-align:right; }

/* Web: pago único + mantenimiento */
.web-offer { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); overflow:hidden; border:1px solid #e4d8f6; border-radius:28px; background:#fff; box-shadow:0 24px 70px rgba(41,24,78,.08); }
.web-offer-main { padding:40px; }
.web-offer-main h4,.plan h4 { margin:0; font-size:28px; letter-spacing:-.045em; }
.web-offer-main>p { max-width:440px; margin:10px 0 0; color:#6e607c; font-size:15px; line-height:1.6; }
.web-prices { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }
.web-price { padding:22px; border:1px solid #ece3f8; border-radius:20px; background:#faf7ff; }
.web-price.is-main { color:#fff; border-color:transparent; background:linear-gradient(135deg,#865aff,#5d30dd); box-shadow:0 18px 40px rgba(112,71,235,.3); }
.web-price small { display:block; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; opacity:.75; }
.web-price strong { display:block; margin-top:8px; font-size:48px; line-height:1; letter-spacing:-.06em; }
.web-price strong span { margin-left:4px; font-size:15px; font-weight:600; letter-spacing:0; opacity:.75; }
.web-price p { margin:8px 0 0; font-size:13px; line-height:1.45; opacity:.8; }
.web-offer-list { padding:40px; border-left:1px solid #f0e8fb; background:linear-gradient(180deg,#fcfaff,#f7f2ff); }
.web-offer-list .button { margin-top:26px; }

/* Listas con check */
.check-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.check-list li { display:flex; gap:11px; color:#3d3150; font-size:15px; line-height:1.4; }
.check-list li::before { content:''; flex:0 0 20px; height:20px; margin-top:-1px; border-radius:50%; background:#efe6ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14 7.5' fill='none' stroke='%236c31dc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat; }

/* Planes de CRM */
.crm-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.plan { position:relative; display:flex; flex-direction:column; padding:30px; border:1px solid #e4d8f6; border-radius:26px; background:rgba(255,255,255,.9); box-shadow:0 18px 50px rgba(41,24,78,.06); transition:transform .3s ease,box-shadow .3s ease; }
.plan:hover { transform:translateY(-6px); box-shadow:0 28px 70px rgba(41,24,78,.12); }
.plan-top { display:flex; justify-content:flex-start; align-items:center; margin-bottom:24px; }
.plan-num { display:grid; place-items:center; width:38px; height:38px; border:1px solid #e4d8f6; border-radius:12px; color:#5d30dd; font-size:12px; font-weight:900; }
.plan-tag { color:#8a7c9c; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.plan-price { display:flex; align-items:baseline; gap:6px; margin:14px 0 0; }
.plan-price strong { font-size:58px; line-height:1; letter-spacing:-.065em; }
.plan-price span { color:#8a7c9c; font-size:15px; font-weight:600; }
.plan-setup { display:flex; justify-content:space-between; margin:22px 0 24px; padding:14px 0; border-top:1px solid #eee6fa; border-bottom:1px solid #eee6fa; color:#6e607c; font-size:13px; }
.plan-setup b { color:#17062d; font-size:15px; }
.plan .check-list { flex:1; }
.plan .button { width:100%; margin-top:28px; }
.plan .button-ghost { color:#5d30dd; border-color:#dccdf5; background:#fff; }
.plan .button-ghost:hover { background:#f4eeff; }
.plan.is-featured { color:#fff; border-color:transparent; background:radial-gradient(ellipse at 100% 0,rgba(200,164,255,.35),transparent 55%),linear-gradient(160deg,#6d35ea 0%,#4b1fc0 100%); box-shadow:0 30px 80px rgba(93,48,221,.38); transform:translateY(-10px); }
.plan.is-featured:hover { transform:translateY(-16px); }
.plan.is-featured .plan-num { color:#fff; border-color:rgba(255,255,255,.28); }
.plan.is-featured .plan-tag,.plan.is-featured .plan-price span,.plan.is-featured .plan-setup { color:rgba(255,255,255,.72); }
.plan.is-featured .plan-setup { border-color:rgba(255,255,255,.18); }
.plan.is-featured .plan-setup b { color:#fff; }
.plan.is-featured .check-list li { color:#fff; }
.plan.is-featured .check-list li::before { background-color:rgba(255,255,255,.18); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14 7.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.plan.is-featured .button-primary { color:#4b1fc0; background:#fff; box-shadow:0 14px 34px rgba(20,6,60,.3); }
.plan-badge { position:absolute; top:-13px; left:50%; padding:7px 14px; border-radius:999px; color:#4b1fc0; background:#fff; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; box-shadow:0 8px 22px rgba(41,24,78,.18); transform:translateX(-50%); }
.crm-note { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; margin-top:34px; color:#6e607c; font-size:13px; }
.crm-note span::before { content:'✦'; margin-right:8px; color:var(--violet); }

@media (max-width:1024px) {
  .crm-hero { grid-template-columns:1fr; gap:40px; }
  .crm-board { transform:none; }
  .web-offer { grid-template-columns:1fr; }
  .web-offer-list { border-left:0; border-top:1px solid #f0e8fb; }
  .crm-plans { grid-template-columns:1fr; max-width:520px; margin:0 auto; gap:26px; }
  .plan.is-featured { transform:none; }
  .plan.is-featured:hover { transform:translateY(-6px); }
}
@media (max-width:640px) {
  .crm-web { padding:56px 16px 64px; }
  .crm-block { margin-top:64px; }
  .crm-block-head { display:block; }
  .crm-block-head>p { margin-top:12px; text-align:left; }
  .crm-hero-copy>p { font-size:16px; }
  .crm-flow li { font-size:13px; }
  .crm-flow li:not(:last-child)::after { display:none; }
  .crm-board { padding:12px; }
  .crm-cols { grid-template-columns:repeat(2,1fr); }
  .crm-kpis strong { font-size:18px; }
  .web-offer-main,.web-offer-list { padding:26px 22px; }
  .web-prices { grid-template-columns:1fr; }
  .web-price strong { font-size:42px; }
  .plan { padding:26px 22px; }
  .plan-price strong { font-size:50px; }
  /* En móvil, todo centrado como el resto de la home */
  .crm-hero-copy,.crm-block-head,.web-offer-main,.web-offer-list,.web-price,.plan { text-align:center; }
  .crm-web .eyebrow,.crm-flow,.plan-top,.plan-price { justify-content:center; }
  .crm-hero-copy>p,.web-offer-main>p { margin-left:auto; margin-right:auto; }
  .crm-block-head>p { margin:12px auto 0; text-align:center; }
  .web-offer { grid-template-columns:minmax(0,1fr); }
  .check-list { width:fit-content; max-width:100%; margin:0 auto; text-align:left; }
  .web-offer-list .button { display:inline-flex; }
  .crm-web .crm-more { display:block; margin:18px 0 0; text-align:center; }
}
.crm-more { display:inline-block; margin:26px 0 0 18px; color:var(--violet); font-size:14px; font-weight:800; }
.crm-note .crm-more { margin:0; }
.crm-more:hover { text-decoration:underline; }
/* Aviso para clínicas bajo los planes generales (tools/planes_clinicas.py) */
.crm-salud { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 26px; max-width:900px; margin:26px auto 0; padding:20px 26px; border:1px solid #e4d8f6; border-radius:22px; background:linear-gradient(135deg,#faf6ff,#f3ecff); }
.crm-salud p { flex:1 1 380px; margin:0; color:#3d3150; font-size:15px; line-height:1.55; }
.crm-salud strong { color:#17062d; }
.crm-salud a { display:inline-flex; align-items:center; min-height:46px; padding:0 22px; border-radius:999px; color:#fff; background:#5d30dd; font-size:14px; font-weight:800; text-decoration:none; white-space:nowrap; box-shadow:0 12px 30px rgba(93,48,221,.28); transition:background .2s ease,transform .2s ease; }
.crm-salud a:hover { background:#4b1fc0; transform:translateY(-2px); }
.crm-salud a:focus-visible { outline:3px solid #c8a4ff; outline-offset:3px; }
@media (max-width:640px) { .crm-salud { justify-content:center; padding:20px; text-align:center; } .crm-salud a { white-space:normal; text-align:center; } }
@media (prefers-reduced-motion:reduce) { .crm-salud a { transition:none; } .crm-salud a:hover { transform:none; } }
.review-footer .review-name { display:block; color:#fff; font-size:13px; font-weight:800; }
.reviews-google-link { display:inline-block; margin-top:14px; padding:8px 14px; border:1px solid rgba(200,164,255,.35); border-radius:999px; color:#d9c8ff; font-size:13px; font-weight:800; text-decoration:none; }
.reviews-google-link:hover { background:rgba(200,164,255,.12); color:#fff; }
@media (prefers-reduced-motion:reduce) { .crm-board,.plan { transition:none; } }

/* Menú de escritorio con Instagram y TikTok: más compacto en pantallas medianas; por debajo de 1100 px las redes quedan en el menú móvil y el pie */
@media(max-width:1400px){.desktop-nav a{padding:0 11px}}
@media(max-width:1200px){.desktop-nav a{padding:0 9px;gap:6px}.desktop-nav a i{display:none}}
@media(max-width:1100px){.desktop-nav a[href*="instagram.com"],.desktop-nav a[href*="tiktok.com"]{display:none}}
.site-header .brand{flex-shrink:0}
