/*
Theme Name: Legal Planning
Theme URI: https://legalplanning.cl
Author: Legal Planning
Description: Tema de bloques a medida para Legal Planning. Todos los textos, precios y botones se editan desde Apariencia > Editor.
Version: 1.2.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: legal-planning
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
[id] { scroll-margin-top: 1rem; }
.lp-main > * { margin-block: 0; }
:focus-visible { outline: 2px solid #B4532A; outline-offset: 3px; }

/* Botones */
.wp-block-button .wp-block-button__link { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: #14213D; border: 1.5px solid #14213D; }
.wp-block-button__link:hover { opacity: .88; }
.lp-btn-small .wp-block-button__link { min-height: 44px; padding: .6rem 1.35rem; font-size: .95rem; }

/* Secciones */
.lp-section { padding-block: clamp(4rem, 8vw, 6.5rem); }
.lp-sand { background: #EDE8DC; }
.lp-dark { background: #14213D; color: #F6F3EC; }
.lp-dark h1, .lp-dark h2, .lp-dark h3 { color: inherit; }
.lp-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #F6F3EC; color: #14213D; }

.lp-section-head > * { margin-block: 0; }
.lp-section-head > * + * { margin-block-start: .75rem; }
.lp-section-head { margin-bottom: 2.75rem !important; }
.lp-section-head > * { max-width: 760px; }
.lp-lead { font-size: 1.25rem; line-height: 1.5; color: #2B3550; }
.lp-muted { color: #5B6478; }

.lp-eyebrow { font-size: .875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #8F3F1D; }

/* ---------- Encabezado ---------- */
.lp-header { padding-block: 1.25rem; }
.lp-header-inner { gap: 1.5rem; }
.lp-header-right { gap: 2.25rem; }
.lp-brand { display: inline-flex; align-items: center; gap: .875rem; text-decoration: none; color: #14213D; }
.lp-brand svg { width: 44px; height: 44px; flex: none; }
.lp-brand span { font-family: var(--wp--preset--font-family--fraunces); font-weight: 600; font-size: 1.625rem; letter-spacing: -0.02em; white-space: nowrap; }
.lp-nav { font-size: 1rem; font-weight: 500; gap: 2.25rem; }
.lp-nav a { text-decoration: none; }
.lp-nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.wp-block-navigation__responsive-container.is-menu-open { background: #F6F3EC !important; color: #14213D !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { font-size: 1.375rem; gap: 1.25rem; }
@media (max-width: 600px) {
  .lp-header .wp-block-buttons { display: none; }
  .lp-brand svg { width: 36px; height: 36px; }
  .lp-brand span { font-size: 1.375rem; }
}

/* ---------- Portada ---------- */
.lp-hero { padding-block: clamp(3rem, 7vw, 6rem) clamp(4rem, 8vw, 7rem); }
.lp-hero > .wp-block-columns { column-gap: 4rem; row-gap: 3rem; }
.lp-hero-text > * { margin-block: 0; }
.lp-hero-text > * + * { margin-block-start: 1.75rem; }
.lp-hero-text h1 { letter-spacing: -0.025em; }
.lp-hero-text .lp-lead { font-size: clamp(1.125rem, 1.8vw, 1.375rem); max-width: 540px; }
.lp-hero-text .wp-block-buttons { padding-top: .5rem; gap: 1rem; }

.lp-week { background: #fff; border: 1px solid rgba(20,33,61,.14); border-radius: 20px; padding: 1.75rem !important; }
.lp-week > * { margin-block: 0; }
.lp-week > * + * { margin-block-start: 1.25rem; }
.lp-week-head { justify-content: space-between; align-items: baseline; }
.lp-week-head > * { margin: 0; }
.lp-week-title { font-family: var(--wp--preset--font-family--fraunces); font-weight: 600; font-size: 1.5rem; }
.lp-week-sub { font-size: .8125rem; color: #5B6478; }
.lp-week-item { position: relative; background: #F6F3EC; border-radius: 12px; padding: 1rem 1rem 1rem 3rem; min-height: 76px; display: flex; flex-direction: column; justify-content: center; }
.lp-week-item > * { margin: 0 !important; }
.lp-week-item::before { content: ""; position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); width: 14px; height: 44px; border-radius: 5px; background: #14213D; box-sizing: border-box; }
.lp-week-item.lp-kind-plazo::before { background: #B4532A; }
.lp-week-item.lp-kind-correo::before { background: transparent; border: 1.5px solid rgba(20,33,61,.35); }
.lp-week-kind { font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5B6478; }
.lp-kind-plazo .lp-week-kind { color: #8F3F1D; }
.lp-week-text { font-size: 1.0625rem; font-weight: 500; }

/* ---------- Tarjetas ---------- */
.lp-cards { gap: 1.5rem; }
.lp-card { background: #fff; border: 1px solid rgba(20,33,61,.14); border-radius: 16px; padding: 2rem !important; }
.lp-card > * { margin-block: 0; }
.lp-card > * + * { margin-block-start: .875rem; }
.lp-card h3 { font-size: 1.625rem; }
.lp-card p:not([class]) { color: #2B3550; }
.lp-card-sm { padding: 1.75rem !important; }
.lp-card-sm h3 { font-size: 1.5rem; }

/* Íconos (se eligen con la clase lp-ico-… en "Avanzado > Clases CSS adicionales") */
[class*="lp-ico-"]::before { content: ""; display: block; width: 36px; height: 36px; background: #14213D; -webkit-mask: var(--lp-ico) center / contain no-repeat; mask: var(--lp-ico) center / contain no-repeat; margin-bottom: .875rem; }
:root {
  --lp-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12.5l4.5 4.5L19 7.5%22/%3E%3C/svg%3E");
  --lp-dash: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 12h12%22/%3E%3C/svg%3E");
}
.lp-ico-reloj { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3.5 2%22/%3E%3C/svg%3E"); }
.lp-ico-calendario { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223.5%22 y=%225%22 width=%2217%22 height=%2215%22 rx=%222.5%22/%3E%3Cpath d=%22M3.5 10h17M8 3v4M16 3v4%22/%3E%3C/svg%3E"); }
.lp-ico-correo { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225.5%22 width=%2218%22 height=%2213%22 rx=%222.5%22/%3E%3Cpath d=%22M4 7.5l8 6 8-6%22/%3E%3C/svg%3E"); }
.lp-ico-recinto { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20V9l8-5 8 5v11M9 20v-6h6v6%22/%3E%3C/svg%3E"); }
.lp-ico-telefono { --lp-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z%22/%3E%3C/svg%3E"); }


/* Listas con check */
ul.lp-checks, ul.lp-dashes { list-style: none; padding-left: 0; }
ul.lp-checks li, ul.lp-dashes li { position: relative; padding-left: 2rem; }
ul.lp-checks li + li, ul.lp-dashes li + li { margin-top: .875rem; }
ul.lp-checks li::before, ul.lp-dashes li::before, .lp-check-note::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; background: #B4532A; -webkit-mask: var(--lp-check) center / contain no-repeat; mask: var(--lp-check) center / contain no-repeat; }
ul.lp-dashes li::before { background: #5B6478; -webkit-mask-image: var(--lp-dash); mask-image: var(--lp-dash); }
.lp-dark ul.lp-checks li::before { background: #E9925F; }
.lp-check-note { position: relative; padding-left: 1.875rem; font-size: .9375rem; font-weight: 500; color: #2B3550; }
.lp-label { font-size: .875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8F3F1D; }
.lp-label.lp-muted { color: #5B6478; }

/* ---------- Causas penales ---------- */
.lp-penal > .wp-block-columns { column-gap: 3.5rem; row-gap: 2rem; }
.lp-penal-text > * { margin-block: 0; }
.lp-penal-text > * + * { margin-block-start: .875rem; }
.lp-penal-text h2 { font-size: clamp(1.875rem, 3.5vw, 2.5rem); }

/* ---------- Cómo funciona ---------- */
.lp-steps { column-gap: 2rem; row-gap: 2rem; margin-top: 2.5rem !important; }
.lp-steps .wp-block-column > * { margin-block: 0; }
.lp-steps .wp-block-column > * + * { margin-block-start: .625rem; }
.lp-step-num { font-family: var(--wp--preset--font-family--fraunces); font-size: 3.5rem; line-height: 1; color: #E9925F; }
.lp-step-title { font-size: 1.25rem; font-weight: 700; }
.lp-step-text { font-size: 1rem; line-height: 1.5; color: #D9D6CE; }

/* ---------- Gestión, no litigación ---------- */
.lp-scope h2 { margin-bottom: 2rem !important; }
.lp-scope .lp-card { padding: 1.75rem 2rem !important; }

/* ---------- Planes ---------- */
.lp-plans { gap: 2rem; }
.lp-plan { border-radius: 20px; padding: 2.25rem !important; display: flex; flex-direction: column; }
.lp-plan > * + * { margin-block-start: 1rem; }
.lp-plan h3 { font-size: 1.75rem; }
.lp-price { display: flex; align-items: baseline; gap: .5rem; color: #5B6478 !important; }
.lp-price strong { font-family: var(--wp--preset--font-family--fraunces); font-weight: 600; font-size: clamp(2.75rem, 5vw, 3.75rem); line-height: 1; letter-spacing: -0.02em; color: #14213D; }
.lp-plan-cap { font-weight: 700; color: #8F3F1D !important; }
.lp-plan ul { font-size: 1rem; color: #14213D; }
.lp-plan .wp-block-buttons { margin-top: auto !important; padding-top: 1.5rem; }
.lp-plan .wp-block-button, .lp-plan .wp-block-button__link { width: 100%; }
.lp-card.lp-card--dark { background: #14213D; color: #F6F3EC; border-color: #14213D; }
.lp-card--dark h3, .lp-card--dark .lp-price strong { color: #F6F3EC; }
.lp-card--dark .lp-price { color: #D9D6CE !important; }
.lp-card--dark .lp-plan-cap { color: #E9925F !important; }
.lp-card--dark ul { color: #F6F3EC; }
.lp-card--dark ul.lp-checks li::before { background: #E9925F; }
.lp-card--dark .wp-block-button__link { background: #F6F3EC !important; color: #14213D !important; }

/* ---------- Confidencialidad ---------- */
.lp-trust > .wp-block-columns { column-gap: 4rem; row-gap: 1.5rem; }
.lp-trust h2 { font-size: clamp(1.875rem, 3.5vw, 2.5rem); margin: 0; }
.lp-trust ul { font-size: 1.125rem; line-height: 1.45; }

/* ---------- Preguntas ---------- */
.lp-faq h2 { margin-bottom: 2rem !important; }
.lp-faq .lp-cards + .lp-cards { margin-top: 1.5rem !important; }
.lp-faq .lp-card { padding: 1.75rem !important; }
.lp-faq .lp-card h3 { font-size: 1.375rem; }
.lp-faq .lp-card > * + * { margin-block-start: .625rem; }
.lp-faq .lp-card p { font-size: 1rem; }

/* ---------- Contacto y pie ---------- */
.lp-contact { padding-block: clamp(4rem, 8vw, 6rem) clamp(3rem, 6vw, 4.5rem); }
.lp-contact h2 { font-size: clamp(2.125rem, 4.5vw, 3.125rem); line-height: 1.05; padding-right: max(0px, calc(100% - 780px)); margin-block: 0; }
.lp-contact-row { gap: 1.75rem; margin-top: 1.25rem !important; }
.lp-contact-row > * { margin: 0; }
.lp-contact-line { color: #D9D6CE; }
.lp-contact-line a { text-decoration: underline; text-underline-offset: 3px; }
.lp-footer { padding-block: 2.25rem; }
.lp-footer-inner { border-top: 1px solid rgba(246,243,236,.18); padding-top: 2.25rem; gap: 1rem 2rem; }
.lp-footer-inner > * { margin: 0; }
.lp-footer .lp-brand { color: #F6F3EC; }
.lp-footer .lp-brand svg { width: 36px; height: 36px; }
.lp-footer .lp-brand span { font-size: 1.375rem; }
.lp-footer-by { font-size: .875rem; letter-spacing: .12em; text-transform: uppercase; color: #E9925F; }
.lp-footer-links { font-size: .875rem; color: #D9D6CE; }

/* ---------- Páginas internas ---------- */
.lp-page { padding-block: clamp(3rem, 6vw, 5rem); }
.lp-page .wp-block-post-title { margin-bottom: 2rem; }

/* ---------- Móvil ---------- */
@media (max-width: 781px) {
  .lp-card, .lp-plan { padding: 1.5rem !important; }
  .lp-section-head { margin-bottom: 2rem !important; }
  .lp-steps { margin-top: 2rem !important; }
}

/* Materias en 2x2 */
.lp-plans + .lp-plans { margin-top: 2rem !important; }

/* ---------- Noticias ---------- */
.lp-news-grid { gap: 1.5rem !important; }
.lp-news-grid > li { background: #fff; border: 1px solid rgba(20,33,61,.14); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; padding-bottom: 1.5rem; }
.lp-news-grid > li > * { margin: 0 1.5rem !important; }
.lp-news-grid > li > * + * { margin-top: .625rem !important; }
.lp-news-grid > li > .wp-block-post-featured-image { margin: 0 0 .5rem !important; }
.lp-news-grid > li > .wp-block-post-featured-image img { border-radius: 0; }
.lp-news-grid > li > .wp-block-post-featured-image + * { margin-top: 1rem !important; }
.lp-news-grid > li > :first-child:not(.wp-block-post-featured-image) { margin-top: 1.5rem !important; }
.lp-news-date { font-size: .875rem; font-weight: 500; color: #8F3F1D; }
.lp-news-title { font-size: 1.375rem !important; line-height: 1.2; }
.lp-news-title a { text-decoration: none; }
.lp-news-title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lp-news-excerpt { font-size: 1rem; color: #2B3550; }
.lp-news-excerpt .wp-block-post-excerpt__more-text { margin-top: .5rem; }
.lp-news-excerpt p { margin: 0; }
.lp-news-more { margin-top: 2.5rem !important; }
@media (max-width: 781px) { .lp-news-grid { grid-template-columns: 1fr !important; } }
.lp-pagination { margin-top: 2.5rem !important; gap: 1rem; }
.lp-archive-title { font-size: clamp(2.25rem, 5vw, 3.5rem); }

.lp-single .lp-back { font-size: .9375rem; font-weight: 500; }
.lp-single .lp-back a { text-decoration: none; }
.lp-single .lp-back a::before { content: "\2190\00a0"; }
.lp-single-title { font-size: clamp(2.125rem, 5vw, 3.25rem); margin-top: .5rem !important; }
.lp-single-image { margin-top: 2rem !important; }
.lp-single-image img { border-radius: 16px; }
.lp-single-content { margin-top: 2rem !important; font-size: 1.125rem; line-height: 1.65; }
.lp-single-content h2 { font-size: 1.75rem; margin-top: 2.5rem; }
.lp-single-content a { text-decoration: underline; text-underline-offset: 3px; }
.lp-single-content blockquote { border-left: 3px solid #B4532A; margin-left: 0; padding-left: 1.25rem; }
.lp-single-content .wp-block-embed iframe { border-radius: 12px; }
.lp-single-cta { border-radius: 20px; padding: 2rem !important; margin-top: 3.5rem !important; }
.lp-single-cta > * { margin-block: 0; }
.lp-single-cta > * + * { margin-block-start: .875rem; }
.lp-single-cta .wp-block-buttons { margin-top: 1.25rem !important; }
