/* SEO Builder 2: scoped, responsive rendering. No global Elementor rules. */
.seob2-page{--seob2-navy:#08285f;--seob2-dark:#061a3d;--seob2-red:#c41444;--seob2-ink:#263245;--seob2-muted:#f4f6f8;max-width:1120px;margin:0 auto;padding:clamp(24px,4vw,56px) clamp(16px,3vw,28px);color:var(--seob2-ink);font-family:inherit;font-size:clamp(16px,1.5vw,18px);line-height:1.75;overflow-wrap:anywhere}
.seob2-page *{box-sizing:border-box}
.seob2-page h2{color:var(--seob2-navy);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.25;margin:2.15em 0 .65em;font-weight:750}
.seob2-page p{margin:0 0 1.25em}.seob2-intro{font-size:1.08em;line-height:1.8}
.seob2-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;list-style:none;padding:0!important;margin:28px 0 34px!important}
.seob2-benefits li{border:1px solid #dae1eb;border-left:4px solid var(--seob2-red);border-radius:12px;padding:17px 18px;background:#fff;box-shadow:0 6px 20px rgba(8,40,95,.04)}
.seob2-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:32px 0 40px}
.seob2-gallery-link{display:block;overflow:hidden;border-radius:14px;background:#e9eff4;aspect-ratio:1.25;outline-offset:4px}
.seob2-gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.seob2-gallery-link:hover img{transform:scale(1.04)}
.seob2-faq{background:var(--seob2-muted);padding:clamp(16px,3vw,35px);border-radius:18px;margin:36px 0}
.seob2-faq h2{margin-top:0}.seob2-faq h3{font-size:1.08em;color:var(--seob2-dark);margin:25px 0 8px;line-height:1.4}
.seob2-cta{background:var(--seob2-dark);color:#fff;padding:clamp(24px,4vw,46px);border-radius:18px;margin:44px 0 0}
.seob2-cta h2{color:#fff;margin-top:0}.seob2-cta-link{display:inline-block;border-radius:8px;background:var(--seob2-red);color:#fff!important;text-decoration:none!important;font-weight:700;line-height:1.3;padding:14px 22px;margin-top:10px}
.seob2-cta-link:hover,.seob2-cta-link:focus-visible{background:#a10f35;color:#fff}
@media(max-width:700px){.seob2-benefits{grid-template-columns:1fr}.seob2-gallery{grid-template-columns:1fr 1fr;gap:10px}.seob2-gallery-link:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:1.9}.seob2-page{padding:24px 16px}.seob2-faq{padding:20px}}
@media(prefers-reduced-motion:reduce){.seob2-gallery-img{transition:none}}
.seob2-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(3,13,31,.93);border:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;padding:55px 22px 25px;color:white}
.seob2-lightbox::backdrop{background:rgba(3,13,31,.93)}
.seob2-lightbox img{display:block;max-height:calc(100vh - 100px);max-width:100%;width:auto;height:auto;object-fit:contain;margin:auto}
.seob2-lightbox button{position:absolute;right:20px;top:12px;background:transparent;color:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-size:23px;cursor:pointer}

/* DEV3: Region coverage and internal related pages; all project-scoped. */
.seob2-regions{margin:44px 0 0;padding:clamp(18px,3vw,30px);background:var(--seob2-muted);border-radius:18px}
.seob2-regions>h2,.seob2-related>h2{margin-top:0}
.seob2-regions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.seob2-region{border:1px solid #d8e0ea;border-radius:12px;background:#fff;padding:16px}
.seob2-region h3{margin:0 0 10px;color:var(--seob2-dark);font-size:1.06em}
.seob2-region ul{margin:0;padding-left:22px}
.seob2-related{margin:36px 0 0;padding:20px 26px;border-top:3px solid var(--seob2-red)}
.seob2-related ul{margin:0;padding-left:24px}
.seob2-related a{color:var(--seob2-navy);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.seob2-regions-grid{grid-template-columns:1fr}}

/* DEV5: independent external and WhatsApp CTA buttons. */
.seob2-cta-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-top:12px}
.seob2-cta-actions .seob2-cta-link{margin-top:0;text-align:center}
.seob2-cta .seob2-cta-whatsapp{background:#187b4a;color:#fff!important}
.seob2-cta .seob2-cta-whatsapp:hover,.seob2-cta .seob2-cta-whatsapp:focus-visible{background:#126039}
@media(max-width:600px){.seob2-cta-actions{flex-direction:column}.seob2-cta-actions .seob2-cta-link{width:100%}}

/* DEV9: visual editorial, semantic accordion and condensed regions. Scoped to SEO Builder pages. */
.seob2-page .seob2-article-section{margin:clamp(28px,5vw,58px) 0;}
.seob2-page .seob2-article-section:first-child{margin-top:clamp(25px,4vw,42px)}
.seob2-page .seob2-article-section h2{margin:0 0 20px;font-weight:800;letter-spacing:-.025em}
.seob2-page .seob2-article-section p{max-width:none}
.seob2-page .seob2-gallery{margin:10px 0 38px;gap:12px}
.seob2-page .seob2-gallery-link{border-radius:11px;aspect-ratio:1.08;box-shadow:0 8px 25px rgba(8,40,95,.07)}
.seob2-page .seob2-benefits{margin-top:24px!important;margin-bottom:48px!important}
.seob2-page .seob2-benefits li{line-height:1.55}
.seob2-page .seob2-benefits strong{color:var(--seob2-navy)}
.seob2-page .seob2-faq{margin:48px 0;background:var(--seob2-muted)}
.seob2-page .seob2-faq-item{background:#fff;border:1px solid #dbe3ec;border-radius:11px;margin:10px 0;overflow:hidden}
.seob2-page .seob2-faq-item summary{display:list-item;cursor:pointer;padding:15px 20px;color:var(--seob2-navy);font-weight:750;line-height:1.45}
.seob2-page .seob2-faq-item summary:focus-visible{outline:3px solid var(--seob2-red);outline-offset:-3px}
.seob2-page .seob2-faq-answer{padding:0 20px 8px;line-height:1.7}
.seob2-page .seob2-faq-answer p:last-child{margin-bottom:9px}
.seob2-page .seob2-cta{margin:46px 0;background:var(--seob2-dark);box-shadow:0 15px 40px rgba(6,26,61,.10)}
.seob2-page .seob2-regions{margin:32px 0;background:#f6f8fa}
.seob2-page .seob2-regions-grid{gap:10px}
.seob2-page .seob2-region{padding:0;overflow:hidden}
.seob2-page .seob2-region summary{cursor:pointer;padding:15px 20px;font-size:1.04em;font-weight:750;line-height:1.4;color:var(--seob2-navy)}
.seob2-page .seob2-region summary:focus-visible{outline:3px solid var(--seob2-red);outline-offset:-3px}
.seob2-page .seob2-region ul{padding:0 18px 16px 40px;margin:0}
.seob2-page .seob2-related{margin:38px 0}
@media(max-width:700px){
  .seob2-page .seob2-gallery{gap:9px;margin:10px 0 26px}
  .seob2-page .seob2-gallery-link{aspect-ratio:1.12}
  .seob2-page .seob2-benefits{margin-bottom:34px!important}
  .seob2-page .seob2-article-section{margin:30px 0}
  .seob2-page .seob2-regions-grid{grid-template-columns:1fr}
}

/* Keep DEV8 generated pages readable until their layout is explicitly migrated. */
.seob2-page .seob2-region:not(details){padding:16px}

/* DEV14: related links presented as responsive cards, scoped to owned SEO pages. */
.seob2-page .seob2-related{border-top:3px solid var(--seob2-red);padding:26px 0 0;margin:44px 0 24px}
.seob2-page .seob2-related>h2{margin:0 0 24px;color:var(--seob2-navy);font-weight:800;letter-spacing:-.025em}
.seob2-page .seob2-related ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.seob2-page .seob2-related li{min-width:0;margin:0;padding:0;list-style:none}
.seob2-page .seob2-related li::marker{content:''}
.seob2-page .seob2-related li a{display:flex;align-items:center;min-height:82px;height:100%;padding:17px 18px;border:1px solid #dce4ee;border-radius:13px;background:#fff;color:var(--seob2-navy);font-weight:700;font-size:.93em;line-height:1.4;text-decoration:none;box-shadow:0 5px 20px rgba(8,40,95,.045);transition:border-color .2s,box-shadow .2s,transform .2s;overflow-wrap:anywhere}
.seob2-page .seob2-related li a:hover,.seob2-page .seob2-related li a:focus-visible{border-color:var(--seob2-red);box-shadow:0 10px 28px rgba(8,40,95,.12);transform:translateY(-2px);text-decoration:none;outline-offset:3px}
@media(max-width:900px){.seob2-page .seob2-related ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.seob2-page .seob2-related ul{grid-template-columns:1fr;gap:10px}.seob2-page .seob2-related li a{min-height:64px;padding:14px 16px}}
@media(prefers-reduced-motion:reduce){.seob2-page .seob2-related li a{transition:none}.seob2-page .seob2-related li a:hover{transform:none}}

/* DEV15: editorial long-tail searches, separated from internal related links. */
.seob2-page .seob2-related-searches{margin:38px 0 32px}
.seob2-page .seob2-related-searches>h2{margin:0 0 18px;color:var(--seob2-navy);font-weight:800;letter-spacing:-.025em}
.seob2-page .seob2-related-searches>p{margin:0;line-height:1.9;overflow-wrap:anywhere}
