:root {
  --bg: #f5f3ef;
  --panel: #ffffff;
  --ink: #1f2f4b;
  --muted: #6b7890;
  --brand: #ff6a2b;
  --brand-2: #1f3560;
  --line: #d9e0ea;
  --success: #1aa98a;
  --shadow: 0 20px 50px rgba(31, 53, 96, 0.12);
  --radius: 22px;
  --radius-sm: 14px;
  --max: 1180px;
}

/* PrecioGas editorial theme */
:root {
  --navy: #172a4b;
  --navy-2: #22385d;
  --orange: #ff6336;
  --orange-dark: #f05127;
  --mint: #15b991;
  --cream: #f5f4f1;
  --soft-line: #e5e8ee;
}

body {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  background: #fff;
  color: var(--navy);
}

.site-header { position: sticky; min-height: 58px; background: var(--navy); border: 0; box-shadow: none; }
.site-header__inner { min-height: 58px; }
.site-header .brand { color: #fff; font-size: .88rem; letter-spacing: -.02em; }
.site-header .brand__mark, .footer .brand__mark { width: 26px; height: 26px; border-radius: 7px; font-size: .72rem; box-shadow: none; background: var(--orange); }
.site-header .nav { gap: 3px; }
.site-header .nav a { color: #fff; padding: 8px 11px; font-size: .72rem; font-weight: 600; }
.site-header .nav a:hover { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); }
.site-header .nav .nav-cta { border: 1px solid rgba(255,255,255,.85); border-radius: 5px; margin-left: 12px; }

.landing-hero { color: #fff; background: var(--orange); text-align: center; }
.landing-hero__inner { padding: 82px 16px 72px; }
.hero-label { display: none; }
.landing-hero h1 { margin: 0 auto 16px; max-width: 780px; font-size: clamp(2rem, 4.2vw, 3.35rem); line-height: 1.08; letter-spacing: -.045em; }
.landing-hero p { max-width: 680px; margin: 0 auto; color: rgba(255,255,255,.82); font-size: .96rem; line-height: 1.6; }
.landing-search { display: flex; align-items: center; width: min(100%, 590px); margin: 28px auto 18px; padding: 5px 6px 5px 16px; border-radius: 999px; background: #fff; box-shadow: 0 10px 25px rgba(90,30,10,.16); }
.landing-search span { color: #778196; font-size: 1.2rem; }
.landing-search input { min-width: 0; flex: 1; border: 0; outline: 0; padding: 12px; color: var(--navy); }
.landing-search button { border: 0; border-radius: 999px; background: var(--orange); color: #fff; padding: 11px 25px; font-weight: 700; cursor: pointer; }
.popular { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; font-size: .69rem; }
.popular a { padding: 6px 11px; border-radius: 999px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.18); }

.price-strip { padding: 36px 0 25px; background: #fff; }
.price-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.mini-price { padding: 14px 15px; border: 1px solid var(--soft-line); border-radius: 7px; box-shadow: 0 5px 15px rgba(23,42,75,.05); }
.mini-price small { display: block; color: #6e788b; font-size: .59rem; font-weight: 800; text-transform: uppercase; }
.mini-price strong { display: inline-block; margin-top: 6px; font-size: 1.12rem; }
.mini-price span { margin-left: 5px; color: var(--mint); font-size: .57rem; font-weight: 800; }
.price-date { grid-column: 1 / -1; margin: 6px 0 0; text-align: center; color: #8991a0; font-size: .61rem; }
.price-date strong { color: var(--mint); }

.landing-section { padding: 70px 0; }
.landing-section.soft { background: var(--cream); }
.center-head { text-align: center; margin: 0 auto 38px; }
.center-head h2, .info-layout h2, .subscribe h2 { margin: 0 0 10px; color: var(--navy); font-size: clamp(1.55rem, 2.7vw, 2.25rem); letter-spacing: -.045em; }
.center-head p { margin: 0; color: #7a8495; font-size: .86rem; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.step-card { position: relative; min-height: 190px; padding: 26px; border: 1px solid var(--soft-line); border-radius: 9px; background: #fff; }
.step-card b { position: absolute; top: 27px; right: 25px; color: #ffd4c8; font-size: 1.5rem; }
.step-icon { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: #fff0eb; color: var(--orange); font-size: 1.2rem; }
.step-card h3 { margin: 22px 0 8px; font-size: 1rem; }
.step-card p { margin: 0; color: #727c8e; font-size: .76rem; line-height: 1.55; }

.state-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.state-card { padding: 18px; border: 1px solid var(--soft-line); border-radius: 5px; background: #fff; }
.state-card small { color: #8a93a2; font-size: .55rem; font-weight: 800; }
.state-card h3 { margin: 8px 0 3px; font-size: .88rem; }
.state-card strong { font-size: 1rem; }
.state-card span { display: block; margin-top: 11px; color: var(--orange); font-size: .68rem; font-weight: 700; }
.center-action { margin-top: 30px; text-align: center; }
.outline-action { display: inline-block; padding: 11px 20px; border: 1px solid var(--orange); border-radius: 5px; color: var(--orange); font-size: .75rem; font-weight: 800; }

.landing-section.navy { background: var(--navy); }
.center-head.light h2 { color: #fff; }
.center-head.light p { color: rgba(255,255,255,.55); }
.provider-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.provider { display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding: 24px; border-radius: 8px; background: #fff; }
.avatar { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: #fff; font-size: 1.5rem; font-weight: 800; }
.avatar.green { background: #12b883; }.avatar.aqua { background: #28bead; }
.provider small { float: right; color: var(--orange); font-size: .51rem; font-weight: 800; }
.provider h3 { margin: 1px 0 6px; font-size: 1rem; }
.provider p { min-height: 38px; margin: 0 0 8px; color: #778092; font-size: .7rem; line-height: 1.45; }
.provider b { display: block; font-size: .75rem; }
.provider a { display: block; margin-top: 12px; padding: 9px; border-radius: 5px; text-align: center; background: var(--orange); color: #fff; font-size: .7rem; font-weight: 800; }

.brand-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.brand-row { display: flex; align-items: center; gap: 13px; padding: 15px; border-radius: 7px; background: #fff; border: 1px solid #eceef1; }
.brand-row > span { display:grid; flex:none; width:40px; height:40px; place-items:center; overflow:hidden; border-radius:50%; background:var(--navy); color:#fff; font-size:.72rem; font-weight:800; }
.brand-row__avatar.brand-avatar--image { border:1px solid #e2e7ed; background:#fff; }
.brand-row__avatar img,.provider-brand-avatar img { display:block; width:100%; height:100%; padding:5px; object-fit:contain; border-radius:50%; }
.provider-brand-avatar { display:grid; width:48px; height:48px; place-items:center; overflow:hidden; border-radius:50%; background:var(--navy); color:#fff; font-weight:900; }
.provider-brand-avatar.brand-avatar--image { border:1px solid #e2e7ed; background:#fff; }
.brand-row h3 { margin: 0; font-size: .79rem; }.brand-row p { margin: 4px 0 0; color: #748093; font-size: .64rem; }

.info-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 58px; align-items: start; }
.info-layout article > p { color: #687386; font-size: .8rem; line-height: 1.7; }
.info-layout aside { padding: 26px; border-radius: 12px; background: var(--cream); }
.info-layout aside h3 { margin: 0 0 18px; font-size: .92rem; }
.info-layout ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.info-layout li { position: relative; padding-left: 20px; color: #657084; font-size: .72rem; line-height: 1.5; }
.info-layout li::before { content: '✓'; position: absolute; left: 0; color: var(--mint); font-weight: 900; }

.explore-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.explore-card { overflow:hidden; border:1px solid var(--soft-line); border-radius:12px; background:#fff; padding-bottom:20px; box-shadow:0 8px 24px rgba(23,42,75,.04); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.explore-card:hover { border-color:rgba(255,99,54,.35); box-shadow:0 16px 35px rgba(23,42,75,.1); transform:translateY(-4px); }
.explore-card > .explore-card__visual { display:flex; height:116px; padding:18px; align-items:center; justify-content:space-between; background:#f5f7f8; }
.explore-card__visual b { align-self:flex-start; padding:6px 8px; border:1px solid rgba(23,42,75,.08); border-radius:999px; color:#52647b; background:rgba(255,255,255,.72); font-size:.57rem; letter-spacing:.03em; }
.explore-icon { display:grid; width:66px; height:66px; margin:0!important; place-items:center; border-radius:18px; color:#fff; box-shadow:0 12px 24px rgba(23,42,75,.14); }
.explore-icon svg { display:none; }
.explore-icon::before { font:var(--fa-font-solid); font-size:2rem; line-height:1; }
.explore-card.map .explore-icon::before { content:"\f5a0"; }
.explore-card.city .explore-icon::before { content:"\f64f"; }
.explore-card.chart .explore-icon::before { content:"\f201"; }
.explore-card.scale .explore-icon::before { content:"\f48b"; }
.explore-card.map .explore-card__visual { background:linear-gradient(135deg,#e9f8f5,#d2eee8); }.explore-card.map .explore-icon { background:#18a584; }
.explore-card.city .explore-card__visual { background:linear-gradient(135deg,#fff4ee,#ffe0d3); }.explore-card.city .explore-icon { background:#ff6336; }
.explore-card.chart .explore-card__visual { background:linear-gradient(135deg,#e9f0f8,#cfdeee); }.explore-card.chart .explore-icon { background:#24466f; }
.explore-card.scale .explore-card__visual { background:linear-gradient(135deg,#f3f0e8,#e7dfcb); }.explore-card.scale .explore-icon { background:#b8842e; }
.explore-card > small,.explore-card > h3,.explore-card > p,.explore-card > span { display:block; margin-left:18px; margin-right:18px; }
.explore-card > small { margin-top:16px; color:var(--orange); font-size:.54rem; font-weight:800; }.explore-card > h3 { margin-top:8px; margin-bottom:7px; font-size:.9rem; }.explore-card > p { color:#778092; font-size:.68rem; line-height:1.5; }.explore-card > span { color:var(--orange); font-size:.67rem; font-weight:800; }

.news-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.news-grid article small { display: block; margin-top: 13px; color: var(--mint); font-size: .57rem; font-weight: 800; }.news-grid h3 { margin: 8px 0; font-size: .94rem; line-height: 1.3; }.news-grid p { color: #727d8e; font-size: .7rem; line-height: 1.5; }.news-grid a { color: var(--orange); font-size: .68rem; font-weight: 800; }
.news-image { border-radius: 8px; }.news-image.industrial { background: linear-gradient(135deg,#233b51,#8e9da8); }.news-image.building { background: linear-gradient(145deg,#d7e8f3,#376f96); }.news-image.kitchen { background: linear-gradient(145deg,#f1eee8,#9ba096); }

.subscribe { padding: 62px 0; text-align: center; color: #fff; background: var(--orange-dark); }.subscribe h2 { color: #fff; }.subscribe p { font-size: .78rem; color: rgba(255,255,255,.75); }.subscribe form { display: flex; width: min(100%,480px); margin: 20px auto 0; padding: 4px; border-radius: 999px; background: #fff; }.subscribe input { flex: 1; min-width: 0; padding: 10px 15px; border: 0; outline: 0; }.subscribe button { padding: 9px 22px; border: 0; border-radius: 999px; background: var(--navy); color: #fff; font-size: .7rem; font-weight: 800; }

.footer { padding: 55px 0 25px; background: var(--navy); }.footer__grid { grid-template-columns: 1.5fr repeat(3,1fr); }.footer strong { font-size: .65rem; color: #fff; }.footer-links { display: grid; gap: 9px; margin-top: 16px; }.footer-links a { color: rgba(255,255,255,.62); font-size: .68rem; }.footer__note { max-width: 280px; margin-top: 15px; font-size: .7rem; }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 42px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.4); font-size: .58rem; }

@media (max-width: 980px) {
  .price-grid,.state-grid,.explore-grid { grid-template-columns: repeat(2,1fr); }
  .steps-grid,.brand-list,.news-grid { grid-template-columns: 1fr; }
  .provider-grid,.info-layout { grid-template-columns: 1fr; }
  .site-header__inner { align-items: center; flex-direction: row; padding: 8px 0; }
  .site-header .nav { display: none; }
  .landing-hero__inner { padding: 62px 16px; }
}

@media (max-width: 560px) {
  .landing-section { padding: 48px 0; }
  .price-grid,.state-grid,.explore-grid,.footer__grid { grid-template-columns: 1fr; }
  .landing-search { padding-left: 12px; }.landing-search button { padding-inline: 18px; }
  .popular span { width: 100%; }
  .provider { grid-template-columns: 44px 1fr; padding: 18px; }.avatar { width: 42px; height: 42px; }
  .footer-bottom { flex-direction: column; }
}

.municipality-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.price-calc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.info-note { margin:24px 0; padding:18px 20px; border-left:4px solid var(--orange); border-radius:6px; background:#fff3ee; color:#596579; line-height:1.6; }
.search-page { border:1px solid var(--soft-line); }
.result-count { margin:25px 0 12px; color:#697589; }
.request-brand { margin-top:40px; }
.brand-profile { max-width:760px; margin:0 auto; }.brand-profile .avatar { margin-bottom:18px; }.brand-profile .btn { margin-top:20px; }
.article-page { padding:65px 0; }.article-wrap { max-width:820px; }.article-wrap > h1 { font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; letter-spacing:-.05em; }.article-lead { color:#6b7688; font-size:1.1rem; line-height:1.7; }.article-wrap > img { width:100%; max-height:480px; object-fit:cover; border-radius:12px; margin:28px 0; }.article-content { font-family:Georgia,serif; font-size:1.03rem; line-height:1.85; color:#34425a; }.article-content h2,.article-content h3 { font-family:"Trebuchet MS",sans-serif; color:var(--navy); }
.password-field { display:flex; }.password-field input { border-radius:var(--radius-sm) 0 0 var(--radius-sm); }.password-field button { padding:0 15px; border:1px solid var(--line); border-left:0; border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:#f5f6f8; color:var(--navy); font-weight:700; }
.admin-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; padding:10px; border-radius:9px; background:var(--navy); }.admin-nav a { padding:9px 13px; border-radius:5px; color:#fff; font-size:.75rem; font-weight:700; }.admin-nav a:hover { background:rgba(255,255,255,.12); }
.admin-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr); gap:30px; align-items:start; }
.admin-form { display:grid; gap:15px; padding:24px; }.admin-form label { display:grid; gap:7px; font-size:.78rem; font-weight:800; }.admin-form input,.admin-form textarea,.admin-form select { width:100%; padding:12px 13px; border:1px solid var(--soft-line); border-radius:6px; background:#fff; color:var(--navy); }.admin-form textarea { resize:vertical; line-height:1.5; }.admin-form fieldset { border:1px solid var(--soft-line); border-radius:6px; }.admin-form .check { display:flex; grid-template-columns:auto 1fr; align-items:center; }.admin-form .check input,.checkbox-grid input { width:auto; }.checkbox-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:10px; }.checkbox-grid label { display:flex; align-items:center; gap:6px; font-weight:500; }.danger { border:0; background:transparent; color:#b53b2c; cursor:pointer; }.legal-tabs { display:flex; gap:10px; margin:20px 0; }.legal-tabs a { padding:9px 13px; border:1px solid var(--soft-line); border-radius:5px; }.upload-form { max-width:700px; margin:25px 0; }.preview-box { margin:30px 0; }.table-scroll { overflow:auto; margin-bottom:20px; }.table-scroll table { width:100%; border-collapse:collapse; font-size:.75rem; }.table-scroll th,.table-scroll td { padding:9px; border:1px solid var(--soft-line); text-align:left; white-space:nowrap; }

@media(max-width:980px){.price-calc-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.checkbox-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.municipality-grid,.price-calc-grid,.checkbox-grid{grid-template-columns:1fr}.admin-nav{overflow-x:auto;flex-wrap:nowrap}.admin-nav a{white-space:nowrap}}

/* Final shared-shell overrides must remain after the legacy template rules. */
body { background:#fff; color:var(--navy); font-family:"Trebuchet MS","Segoe UI",sans-serif; }
.site-header { position:sticky; top:0; z-index:50; min-height:58px; background:var(--navy); border:0; box-shadow:none; backdrop-filter:none; }
.site-header__inner { min-height:58px; }
.site-header .brand { color:#fff; font-size:.88rem; }
.site-header .brand__mark,.footer .brand__mark { width:26px; height:26px; border-radius:7px; font-size:.72rem; box-shadow:none; background:var(--orange); }
.site-header .nav { gap:3px; }
.site-header .nav a { color:#fff; padding:8px 11px; font-size:.72rem; }
.site-header .nav .nav-cta { border:1px solid rgba(255,255,255,.85); border-radius:5px; margin-left:12px; }
.footer { padding:55px 0 25px; color:#d9e0ea; background:var(--navy); }
.footer__grid { grid-template-columns:1.5fr repeat(3,1fr); }
.footer .brand { color:#fff; }
@media(max-width:980px){.site-header__inner{align-items:center;flex-direction:row;padding:8px 0}.site-header .nav{display:none}.footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer__grid{grid-template-columns:1fr}}

/* Final logo overrides must remain last. */
.site-header .brand--logo,.footer .brand--logo,.cms-brand img { background:transparent; }
.cms-brand img { padding:0; border-radius:0; }
.site-header .site-logo,.footer .site-logo,.cms-brand img { filter:grayscale(1) brightness(0) invert(1); }

/* Transparent monochrome brand treatment on dark surfaces. */
.site-header .brand--logo,.footer .brand--logo { padding:0; background:transparent; border-radius:0; }
.site-header .site-logo,.footer .site-logo,.cms-brand img { filter:grayscale(1) brightness(0) invert(1); }
.cms-brand img { padding:0; background:transparent; border-radius:0; }
.footer-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:14px 24px; }
.footer-powered { display:inline-flex; align-items:center; gap:8px; margin-left:auto; color:rgba(255,255,255,.68); text-decoration:none; }
.footer-powered>span { font-size:.68rem; white-space:nowrap; }
.footer-powered img { display:block; width:auto; height:18px; }
.footer-powered:hover { color:#fff; opacity:1; }
@media(max-width:700px){.footer-powered{width:100%;margin-left:0}.footer-bottom{align-items:flex-start;flex-direction:column}}

/* Predictive location search */
.predictive-search { position:relative; }
.suggestions { position:absolute; z-index:80; top:calc(100% + 9px); left:0; width:100%; max-height:360px; overflow:auto; padding:7px; border:1px solid #dce3ed; border-radius:15px; background:#fff; box-shadow:0 18px 45px rgba(15,35,65,.2); text-align:left; }
.suggestions[hidden] { display:none; }
.suggestions a { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 12px; color:#172a4b; border-radius:10px; text-decoration:none; }
.suggestions a:hover,.suggestions a:focus { background:#f4f7fb; outline:none; }
.suggestions a span { display:grid; gap:2px; }
.suggestions b { font-size:.92rem; }
.suggestions small { color:#68778d; font-size:.76rem; }
.suggestions em { flex:none; padding:4px 7px; color:#d74821; background:#fff0eb; border-radius:999px; font-size:.65rem; font-style:normal; font-weight:800; text-transform:uppercase; }

/* CMS workspace */
.cms-body { margin:0; min-height:100vh; color:#1d2b3f; background:#f4f6f9; font-family:"Segoe UI",Tahoma,sans-serif; }
.cms-body * { box-sizing:border-box; }
.cms-shell { min-height:100vh; }
.cms-sidebar { position:fixed; inset:0 auto 0 0; z-index:110; display:flex; width:248px; flex-direction:column; padding:22px 14px 16px; color:#d8e1ef; background:#172a4b; box-shadow:8px 0 30px rgba(20,38,68,.08); }
.cms-brand { display:flex; align-items:center; gap:11px; padding:0 10px 24px; color:#fff; text-decoration:none; }
.cms-brand>span { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:#ff6336; font-weight:900; }
.cms-brand div,.cms-user div { display:grid; gap:2px; }
.cms-brand strong { font-size:1rem; }
.cms-brand small { color:#91a3bd; font-size:.67rem; letter-spacing:.07em; text-transform:uppercase; }
.cms-navigation { display:grid; gap:4px; }
.cms-navigation p { margin:14px 11px 8px; color:#7489a8; font-size:.64rem; font-weight:800; letter-spacing:.14em; }
.cms-navigation a { display:flex; align-items:center; gap:11px; min-height:44px; padding:8px 11px; color:#c9d4e4; border-radius:9px; font-size:.88rem; font-weight:650; text-decoration:none; }
.cms-navigation a>span { display:grid; width:26px; height:26px; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:7px; font-size:.62rem; }
.cms-navigation a:hover { color:#fff; background:rgba(255,255,255,.06); }
.cms-navigation a.active { color:#fff; background:#ff6336; box-shadow:0 8px 20px rgba(255,99,54,.22); }
.cms-navigation a b { margin-left:auto; min-width:22px; padding:3px 6px; color:#172a4b; background:#fff; border-radius:999px; font-size:.68rem; text-align:center; }
.cms-sidebar-footer { display:grid; gap:12px; margin-top:auto; padding:16px 8px 0; border-top:1px solid rgba(255,255,255,.1); }
.cms-user { display:flex; align-items:center; gap:9px; }
.cms-user>span { display:grid; width:34px; height:34px; place-items:center; color:#172a4b; background:#dce7f6; border-radius:50%; font-weight:800; }
.cms-user strong { max-width:150px; overflow:hidden; color:#fff; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.cms-user small,.cms-sidebar-footer>a { color:#91a3bd; font-size:.7rem; text-transform:capitalize; }
.cms-sidebar-footer>a { text-decoration:none; }
.cms-workspace { min-height:100vh; margin-left:248px; }
.cms-topbar { position:sticky; top:0; z-index:90; display:flex; align-items:center; min-height:70px; padding:10px 32px; border-bottom:1px solid #e2e7ee; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.cms-topbar>div:first-of-type { display:grid; gap:2px; }
.cms-topbar small { color:#8a97a9; font-size:.62rem; font-weight:800; letter-spacing:.13em; }
.cms-topbar strong { color:#172a4b; font-size:.98rem; }
.cms-top-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.cms-top-actions a { color:#53657c; font-size:.8rem; font-weight:700; text-decoration:none; }
.cms-top-actions .cms-create { padding:9px 13px; color:#fff; background:#ff6336; border-radius:8px; }
.cms-menu-toggle { display:none; margin-right:10px; padding:8px 10px; color:#172a4b; background:#edf1f6; border:0; border-radius:7px; font-weight:700; }
.cms-content { padding:30px 32px 60px; }
.cms-content>.section { padding:0; }
.cms-body .site-wrap { width:100%; max-width:1480px; margin:0 auto; padding:0; }
.cms-body .admin-nav { display:none; }
.cms-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.cms-page-heading h1,.cms-body .section h1 { margin:2px 0 5px; color:#172a4b; font-size:clamp(1.55rem,2vw,2rem); }
.cms-page-heading p { max-width:680px; margin:0; color:#69788d; line-height:1.55; }
.cms-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.cms-metrics>a { display:flex; align-items:center; gap:13px; min-height:118px; padding:18px; color:inherit; border:1px solid #e3e8ef; border-radius:13px; background:#fff; box-shadow:0 5px 18px rgba(19,39,70,.04); text-decoration:none; }
.cms-metrics>a:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(19,39,70,.08); }
.cms-metric-icon { display:grid; width:44px; height:44px; flex:none; place-items:center; border-radius:11px; font-size:.65rem; font-weight:900; }
.cms-metric-icon.orange { color:#d74a22; background:#fff0eb; }.cms-metric-icon.blue { color:#2775bd; background:#e9f4ff; }.cms-metric-icon.green { color:#138064; background:#e8f7f2; }.cms-metric-icon.navy { color:#fff; background:#172a4b; }
.cms-metrics div { display:grid; gap:3px; min-width:0; }
.cms-metrics small,.cms-panel-head small { color:#8b98a9; font-size:.62rem; font-weight:800; letter-spacing:.11em; }
.cms-metrics strong { color:#172a4b; font-size:1.05rem; }
.cms-metrics p { margin:0; color:#76859a; font-size:.72rem; }
.cms-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr); gap:18px; }
.cms-panel { overflow:hidden; border:1px solid #e2e7ee; border-radius:14px; background:#fff; box-shadow:0 5px 18px rgba(19,39,70,.035); }
.cms-panel-head { display:flex; align-items:center; justify-content:space-between; padding:19px 21px; border-bottom:1px solid #edf0f4; }
.cms-panel-head h2 { margin:3px 0 0; color:#172a4b; font-size:1rem; }
.cms-panel-head>a { color:#e6532a; font-size:.76rem; font-weight:800; text-decoration:none; }
.cms-content-list>a,.cms-quick-actions>a { display:flex; align-items:center; gap:12px; padding:13px 20px; color:#24344a; border-bottom:1px solid #edf0f4; text-decoration:none; }
.cms-content-list>a:last-child,.cms-quick-actions>a:last-child { border-bottom:0; }
.cms-content-list>a:hover,.cms-quick-actions>a:hover { background:#f8fafc; }
.cms-doc-icon,.cms-quick-actions>a>span { display:grid; width:32px; height:32px; flex:none; place-items:center; color:#d84e28; background:#fff0eb; border-radius:8px; font-size:.7rem; font-weight:900; }
.cms-content-list div,.cms-quick-actions div { display:grid; min-width:0; gap:3px; }
.cms-content-list strong,.cms-quick-actions strong { overflow:hidden; font-size:.82rem; text-overflow:ellipsis; white-space:nowrap; }
.cms-content-list small,.cms-quick-actions small { color:#8793a4; font-size:.7rem; }
.cms-status { margin-left:auto; padding:5px 8px; color:#8a6c1f; background:#fff7dd; border-radius:999px; font-size:.62rem; font-weight:800; text-transform:uppercase; }
.cms-status.published { color:#137457; background:#e6f7f0; }
.cms-body .card,.cms-list-card { border:1px solid #e2e7ee; border-radius:13px; background:#fff; box-shadow:0 5px 18px rgba(19,39,70,.035); }
.cms-body .admin-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr); gap:20px; align-items:start; }
.cms-body .admin-form { padding:22px; }
.cms-body .admin-form label { color:#34465e; font-size:.8rem; font-weight:700; }
.cms-body input,.cms-body textarea,.cms-body select { border:1px solid #ced7e2; border-radius:8px; background:#fff; }
.cms-body input:focus,.cms-body textarea:focus,.cms-body select:focus { border-color:#ff6336; outline:3px solid rgba(255,99,54,.12); }
.cms-body .list { overflow:hidden; border:1px solid #e2e7ee; border-radius:11px; background:#fff; }
.cms-body .list__item { padding:13px 15px; }
.cms-body table { width:100%; background:#fff; }
.cms-overlay { display:none; }

@media(max-width:1120px){.cms-metrics{grid-template-columns:1fr 1fr}.cms-body .admin-layout,.cms-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .cms-sidebar{transform:translateX(-105%);transition:transform .22s ease}.cms-workspace{margin-left:0}.cms-body.cms-menu-open .cms-sidebar{transform:none}
  .cms-menu-toggle{display:block}.cms-topbar{padding:10px 15px}.cms-top-actions>a:first-child{display:none}.cms-content{padding:22px 15px 45px}
  .cms-overlay{position:fixed;inset:0;z-index:100;border:0;background:rgba(10,24,45,.45)}.cms-body.cms-menu-open .cms-overlay{display:block}
  .cms-metrics{grid-template-columns:1fr}.cms-page-heading{align-items:flex-start;flex-direction:column}.cms-page-heading .btn{width:100%}
}

/* Search-intent support block shared by public pages */
.service-query-section { padding:64px 0; border-top:1px solid #e8ebef; background:linear-gradient(135deg,#f6f4f1 0%,#fff 54%,#fff3ee 100%); }
.service-query-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:40px; align-items:end; margin-bottom:24px; }
.service-query-heading h2 { max-width:650px; margin:5px 0 0; color:#172a4b; font-size:clamp(1.55rem,3vw,2.35rem); line-height:1.12; }
.service-query-heading>p { margin:0; color:#66758a; line-height:1.7; }
.service-query-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.service-query-grid article { position:relative; min-height:220px; padding:24px; border:1px solid #e1e6ed; border-radius:14px; background:rgba(255,255,255,.92); box-shadow:0 8px 25px rgba(20,40,70,.05); }
.service-query-grid article>span { display:grid; width:34px; height:34px; place-items:center; color:#df4d25; background:#fff0eb; border-radius:9px; font-size:.7rem; font-weight:900; }
.service-query-grid h3 { margin:20px 0 8px; color:#172a4b; font-size:1rem; }
.service-query-grid p { margin:0 0 17px; color:#6b788a; font-size:.86rem; line-height:1.62; }
.service-query-grid a { color:#e6532a; font-size:.8rem; font-weight:800; text-decoration:none; }
.service-query-faq { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:16px; color:#56667b; font-size:.75rem; }
.service-query-faq strong { margin-right:4px; color:#172a4b; }
.service-query-faq span { padding:6px 9px; border:1px solid #dfe5ec; border-radius:999px; background:#fff; }
@media(max-width:860px){.service-query-heading{grid-template-columns:1fr;gap:14px}.service-query-grid{grid-template-columns:1fr}.service-query-grid article{min-height:0}.service-query-section{padding:48px 0}}

/* Official PrecioGas identity */
.brand--logo { display:inline-flex; width:max-content; padding:3px 8px; border-radius:9px; background:#fff; }
.site-logo { display:block; width:178px; height:auto; object-fit:contain; }
.site-header .brand--logo { flex:none; }
.footer-logo { padding:7px 10px; border-radius:11px; }
.footer-logo .site-logo { width:196px; }
.cms-brand { display:grid; gap:6px; padding:7px 10px 18px; }
.cms-brand img { display:block; width:100%; height:auto; padding:0; border-radius:0; background:transparent; }
.cms-brand>small { color:#91a3bd; font-size:.62rem; font-weight:800; letter-spacing:.16em; text-align:center; text-transform:uppercase; }
@media(max-width:560px){.site-logo{width:146px}.brand--logo{padding:3px 6px}.site-header__inner{min-height:54px}}
.editor-toolbar{display:flex;gap:6px;padding:8px;border:1px solid var(--soft-line);border-bottom:0;border-radius:6px 6px 0 0;background:#f5f6f8}.editor-toolbar button{padding:6px 9px;border:1px solid var(--soft-line);border-radius:4px;background:#fff;color:var(--navy);font-weight:700}.rich-editor{min-height:260px;padding:16px;border:1px solid var(--soft-line);border-radius:0 0 6px 6px;background:#fff;line-height:1.7}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.media-grid figure{margin:0;padding:10px;border:1px solid var(--soft-line);border-radius:7px}.media-grid img{width:100%;height:140px;object-fit:cover;border-radius:5px}.media-grid figcaption{margin-top:8px;overflow-wrap:anywhere;font-size:.65rem}@media(max-width:700px){.media-grid{grid-template-columns:repeat(2,1fr)}}

/* Editorial widgets and local landing pages */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.widget-eyebrow{display:block;margin-bottom:9px;color:var(--orange);font-size:.68rem;font-weight:900;letter-spacing:.13em}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px;color:#758096;font-size:.72rem}.breadcrumbs a:last-child{color:var(--navy);font-weight:800}.breadcrumbs span{opacity:.5}
.block-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.block-heading h2{margin:0;color:var(--navy);font-size:clamp(1.45rem,2.5vw,2.15rem);letter-spacing:-.045em}.block-heading p{margin:8px 0 0;color:#778195}.block-heading>a{color:var(--orange);font-size:.75rem;font-weight:900}
.search-widget{border-radius:14px}.search-widget>div h2{margin:0 0 7px;font-size:1.35rem;letter-spacing:-.04em}.search-widget>div p{margin:0;color:#727d8f;font-size:.78rem;line-height:1.5}.search-widget form{display:flex;padding:5px;border-radius:9px;background:#fff;border:1px solid var(--soft-line);box-shadow:0 12px 30px rgba(23,42,75,.08)}.search-widget input{min-width:0;flex:1;padding:12px 14px;border:0;outline:0}.search-widget button{padding:11px 18px;border:0;border-radius:6px;background:var(--orange);color:#fff;font-weight:900;cursor:pointer}.search-widget--inline{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:center;margin-bottom:54px;padding:26px;background:#fff}.search-widget--sidebar,.search-widget--article{display:block;padding:22px;background:#f5f4f1}.search-widget--sidebar form,.search-widget--article form{margin-top:16px;display:grid}.search-widget--footer{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:center;padding:34px max(16px,calc((100% - 1180px)/2));border-radius:0;background:#ff6336;color:#fff}.search-widget--footer .widget-eyebrow,.search-widget--footer p{color:rgba(255,255,255,.75)}.search-widget--footer h2{color:#fff}.search-widget--hero{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:center;margin-top:34px;padding:24px;background:#fff;color:var(--navy);text-align:left}
.local-hero,.directory-hero,.blog-hero,.faq-hero,.search-results-hero,.brand-request-hero,.brand-profile-hero,.article-hero{padding:38px 0 58px;background:linear-gradient(135deg,#fff7f3,#f7f7f4)}
.local-hero{color:#fff;background:linear-gradient(130deg,#172a4b,#263f68)}.local-hero .breadcrumbs a,.local-hero .breadcrumbs{color:rgba(255,255,255,.68)}.local-hero .breadcrumbs a:last-child{color:#fff}.local-hero__grid{display:grid;grid-template-columns:1.45fr .75fr;gap:55px;align-items:center}.local-hero h1,.directory-hero h1,.blog-hero h1,.faq-hero h1,.search-results-hero h1,.brand-request-hero h1,.article-hero h1{margin:0;font-size:clamp(2.2rem,4.7vw,4.1rem);line-height:1.02;letter-spacing:-.06em}.local-hero p{max-width:650px;color:rgba(255,255,255,.72);line-height:1.7}.headline-price{padding:27px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.09);box-shadow:0 24px 60px rgba(0,0,0,.12)}.headline-price small,.headline-price span{display:block;color:rgba(255,255,255,.65);font-size:.69rem}.headline-price strong{display:block;margin:8px 0;font-size:3rem;letter-spacing:-.06em}.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.hero-facts span{padding:8px 11px;border-radius:5px;background:rgba(255,255,255,.09);font-size:.7rem}.hero-action{display:inline-block;margin-top:14px;padding:10px 15px;border-radius:5px;background:var(--orange);font-weight:900;font-size:.75rem}
.price-widget{padding:19px;border:1px solid var(--soft-line);border-radius:9px;background:#fff;box-shadow:0 9px 25px rgba(23,42,75,.05)}.price-widget small{display:block;color:#8a93a2;font-size:.58rem;text-transform:uppercase}.price-widget h3{margin:9px 0 5px;font-size:.83rem}.price-widget strong{font-size:1.45rem;letter-spacing:-.04em}.source-widget{margin-top:20px;padding:20px 23px;border-radius:9px;background:#f5f4f1}.source-widget p{margin:7px 0;color:#697589;font-size:.75rem;line-height:1.6}.source-widget a{color:var(--orange);font-size:.72rem;font-weight:900}
.section--soft{background:#f5f4f1}.municipalities-heading{margin-top:8px}.municipality-grid--dense{max-height:620px;overflow:auto;padding-right:8px}.municipality-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--soft-line);border-radius:7px;background:#fff}.municipality-link strong,.municipality-link small{display:block}.municipality-link small{margin-top:3px;color:#8992a1;font-size:.62rem}.municipality-link>span:last-child{color:var(--orange);font-size:.7rem;font-weight:900}
.content-block{margin:22px 0;padding:28px;border:1px solid var(--soft-line);border-radius:11px;background:#fff}.content-block h2{margin-top:0;letter-spacing:-.035em}.provider-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.provider-cards article{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:19px;border:1px solid var(--soft-line);border-radius:9px}.provider-cards h3{margin:0 0 6px}.provider-cards p{color:#727d8f;font-size:.73rem;line-height:1.5}.small-action{color:var(--orange);font-size:.72rem;font-weight:900}.coverage-notice{margin-bottom:18px;padding:14px 16px;border-radius:7px;background:#fff3ee;color:#745e58;font-size:.72rem;line-height:1.55}.empty-directory{padding:24px;border:1px dashed #cfd5df;border-radius:9px;text-align:center;background:#fff}.empty-directory h2,.empty-directory h3{margin-top:0}.empty-directory p{color:#737e90;line-height:1.6}.empty-directory--large{padding:48px}.seo-copy-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:40px;margin-top:45px}.seo-copy-grid article p,.seo-copy-grid article li{color:#657186;line-height:1.75}.seo-copy-grid aside,.useful-card{padding:25px;border-radius:10px;background:#f5f4f1}.seo-copy-grid aside a{display:block;padding:11px 0;border-bottom:1px solid #dde1e7;font-size:.75rem;font-weight:800}.useful-card div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #dde1e7}.useful-card>a{display:block;margin-top:17px;color:var(--orange);font-weight:900;font-size:.75rem}.related-widget{margin-top:48px}.related-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.related-links a{padding:14px;border:1px solid var(--soft-line);border-radius:7px;font-weight:800}.related-links span{display:block;margin-top:6px;color:#7a8495;font-size:.68rem}
.directory-hero p,.blog-hero p,.faq-hero>div>p,.brand-request-hero p,.article-hero p{max-width:720px;color:#667286;line-height:1.7}.directory-hero__grid{display:grid;grid-template-columns:1.4fr .6fr;gap:45px;align-items:end}.hero-cta-card{display:grid;gap:8px;padding:24px;border-radius:10px;background:var(--navy);color:#fff}.hero-cta-card span{color:#ff9a78;font-size:.75rem;font-weight:900}.updated-badge{padding:8px 11px;border-radius:5px;background:#e7faf5;color:#0a8e70;font-size:.67rem;font-weight:900}.state-grid--directory .state-card h2{margin:8px 0 3px;font-size:.88rem}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-cards article{padding:25px;border:1px solid var(--soft-line);border-radius:10px;background:#fff}.info-cards article>span{color:#ffc9b8;font-size:1.7rem;font-weight:900}.info-cards h2{font-size:1rem}.info-cards p{color:#727e90;font-size:.75rem;line-height:1.65}.info-cards a{color:var(--orange);font-size:.72rem;font-weight:900}
.home-order-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-order-grid>div{padding:25px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#fff;background:rgba(255,255,255,.06)}.home-order-grid span{color:#ff9a78;font-size:1.4rem;font-weight:900}.home-order-grid p{color:rgba(255,255,255,.65);font-size:.75rem;line-height:1.6}.outline-action--light{border-color:#fff;color:#fff}
.blog-layout,.article-layout,.faq-layout,.search-layout,.request-layout,.brand-profile-layout{display:grid;grid-template-columns:minmax(0,1.5fr) 320px;gap:38px;align-items:start}.post-featured{display:grid;grid-template-columns:1fr 1.05fr;gap:28px;margin-bottom:32px;padding:18px;border:1px solid var(--soft-line);border-radius:12px}.post-featured .post-cover{height:100%;min-height:260px}.post-featured h2{font-size:1.7rem;letter-spacing:-.04em}.post-featured p,.post-card p{color:#707b8d;line-height:1.6}.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.post-card{overflow:hidden;border:1px solid var(--soft-line);border-radius:10px;background:#fff}.post-card>div:last-child{padding:19px}.post-card h2{font-size:1rem;line-height:1.35}.post-card small{color:#11a984;font-size:.62rem}.post-card a:last-child{color:var(--orange);font-size:.72rem;font-weight:900}.post-cover{height:160px;background-size:cover}.post-cover.industrial{background:linear-gradient(135deg,#203a50,#8799a7)}.post-cover.building{background:linear-gradient(145deg,#d7e8f3,#376f96)}.post-cover.kitchen{background:linear-gradient(145deg,#f1eee8,#9ba096)}.blog-sidebar,.article-sidebar{display:grid;gap:18px;position:sticky;top:80px}.sidebar-box{display:grid;gap:2px;padding:23px;border:1px solid var(--soft-line);border-radius:10px;background:#fff}.sidebar-box h2{font-size:1rem}.sidebar-box a{padding:10px 0;border-bottom:1px solid #e5e8ed;font-size:.75rem;font-weight:800}.sidebar-box p,.sidebar-box li{color:#6f7a8c;font-size:.75rem;line-height:1.6}.sidebar-box--accent{border:0;background:var(--navy);color:#fff}.sidebar-box--accent h2{color:#fff}.sidebar-box--accent p{color:rgba(255,255,255,.68)}.sidebar-box--accent a{color:#ff9a78}.pagination{display:flex;flex-wrap:wrap;gap:7px;margin-top:34px}.pagination a{padding:9px 12px;border:1px solid var(--soft-line);border-radius:5px;font-size:.72rem;font-weight:800}.pagination a.active{background:var(--navy);color:#fff}
.article-hero h1{max-width:900px}.article-meta{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px;color:#7a8494;font-size:.69rem}.article-content .search-widget{font-family:"Trebuchet MS",sans-serif;margin-top:35px}.editorial-note{margin-top:30px;padding:19px;border-left:4px solid var(--orange);background:#fff3ee;font-family:"Trebuchet MS",sans-serif;font-size:.78rem}.related-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.related-posts article{padding:22px;border-radius:9px;background:#fff}.related-posts h3{font-size:.95rem}.related-posts p{color:#727d8f;font-size:.73rem;line-height:1.5}.related-posts>a,.related-posts article>a{color:var(--orange);font-size:.7rem;font-weight:900}
.brand-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.brand-directory article{display:grid;grid-template-columns:55px 1fr;gap:17px;padding:24px;border:1px solid var(--soft-line);border-radius:10px}.brand-directory h2{margin:0;font-size:1.05rem}.brand-directory p{color:#727d8f;font-size:.74rem;line-height:1.55}.brand-avatar{display:grid;width:48px;height:48px;place-items:center;overflow:hidden;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.brand-avatar--image{border:1px solid #e2e7ed;border-radius:50%;background:#fff}.brand-avatar--image img{display:block;width:100%;height:100%;padding:6px;object-fit:contain;border-radius:50%}.brand-avatar__fallback{display:grid;width:100%;height:100%;place-items:center;border-radius:inherit}.brand-avatar__fallback[hidden]{display:none!important}.brand-avatar--large{width:72px;height:72px;font-size:1.6rem}.brand-avatar--large.brand-avatar--image{border-radius:50%}.brand-tags{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}.brand-tags span{padding:6px 8px;border-radius:4px;background:#f5f4f1;font-size:.61rem}.brand-request-hero{text-align:center}.brand-request-hero p{margin-inline:auto}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.process-steps article{padding:18px;border:1px solid var(--soft-line);border-radius:8px}.process-steps span{color:var(--orange);font-weight:900}.process-steps h2{font-size:.85rem}.process-steps p{color:#758094;font-size:.67rem}.brand-request-form{display:grid;gap:20px}.brand-request-form fieldset{padding:24px;border:1px solid var(--soft-line);border-radius:10px}.brand-request-form legend{padding:0 8px;font-weight:900}.brand-request-form label{display:grid;gap:7px;font-size:.74rem;font-weight:800}.brand-request-form input,.brand-request-form textarea{width:100%;padding:12px;border:1px solid var(--soft-line);border-radius:6px}.form-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:15px}.national-check,.consent-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start!important}.national-check input,.consent-check input,.public-checkboxes input{width:auto}.success-message{padding:34px;border-radius:10px;background:#e9faf5}.success-message a{color:#087a62;font-weight:900}
.brand-profile-heading{display:flex;align-items:center;gap:20px}.brand-avatar--large{width:72px;height:72px;font-size:1.6rem}.brand-profile-heading h1{margin:2px 0;font-size:2.5rem}.coverage-states{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.coverage-states a,.national-coverage{padding:11px;border-radius:6px;background:#f5f4f1;font-size:.72rem;font-weight:800}.contact-card{display:grid;padding:23px;border-radius:10px;background:var(--navy);color:#fff}.contact-card h2{color:#fff}.contact-card a{display:grid;gap:3px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}.contact-card span{color:rgba(255,255,255,.6);font-size:.64rem}.contact-card strong{font-size:.78rem}
.brand-intro>p,.brand-order-guide>p,.brand-coverage-content>p{color:#647187;line-height:1.75}.brand-order-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.brand-order-steps article{display:flex;min-height:190px;flex-direction:column;padding:18px;border:1px solid var(--soft-line);border-radius:10px;background:#fff}.brand-order-steps article>span{color:var(--orange);font-size:.67rem;font-weight:900;letter-spacing:.08em}.brand-order-steps h3{margin:10px 0 7px;font-size:.88rem}.brand-order-steps p{margin:0 0 15px;color:#6d788b;font-size:.7rem;line-height:1.55}.brand-order-steps a{margin-top:auto;color:var(--orange);font-size:.69rem;font-weight:850}.brand-coverage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:18px}.brand-coverage-grid a{display:grid;gap:5px;padding:14px;border:1px solid var(--soft-line);border-radius:8px;background:#fff;transition:border-color .2s ease,transform .2s ease}.brand-coverage-grid a:hover{border-color:rgba(255,99,54,.45);transform:translateY(-2px)}.brand-coverage-grid strong{font-size:.75rem}.brand-coverage-grid span{color:#748096;font-size:.63rem;line-height:1.45}.brand-query-links{display:grid;gap:0}.brand-query-links a{padding:10px 0;border-bottom:1px solid var(--soft-line);color:#425470;font-size:.7rem;font-weight:750}.brand-query-links a:last-child{border-bottom:0}.brand-faq-list{display:grid;gap:10px}.brand-faq-list details{border:1px solid var(--soft-line);border-radius:9px;background:#fff}.brand-faq-list summary{position:relative;padding:17px 48px 17px 18px;cursor:pointer;font-size:.78rem;font-weight:850;list-style:none}.brand-faq-list summary::-webkit-details-marker{display:none}.brand-faq-list summary::after{content:'+';position:absolute;top:13px;right:18px;color:var(--orange);font-size:1.25rem}.brand-faq-list details[open] summary::after{content:'−'}.brand-faq-list p{margin:0;padding:0 18px 18px;color:#68758a;font-size:.72rem;line-height:1.7}.brand-profile-layout [id]{scroll-margin-top:90px}
@media(max-width:900px){.brand-order-steps{grid-template-columns:1fr}.brand-coverage-grid{grid-template-columns:1fr}.brand-profile-heading{align-items:flex-start}.brand-profile-heading h1{font-size:clamp(1.65rem,7vw,2.5rem)}}
.faq-list{display:grid;gap:10px}.faq-list details{padding:0 20px;border:1px solid var(--soft-line);border-radius:9px;background:#fff}.faq-list summary{display:flex;justify-content:space-between;gap:15px;padding:18px 0;cursor:pointer;font-weight:900;list-style:none}.faq-list summary span{color:var(--orange);font-size:1.2rem}.faq-list p{margin:0;padding:0 0 20px;color:#687487;line-height:1.7}.location-search-large{display:flex;max-width:720px;margin-top:28px;padding:6px;border:1px solid var(--soft-line);border-radius:9px;background:#fff}.location-search-large input{flex:1;min-width:0;padding:13px;border:0;outline:0}.location-search-large button{padding:11px 22px;border:0;border-radius:6px;background:var(--orange);color:#fff;font-weight:900}.search-result-list{display:grid;gap:9px}.search-result-list>a{display:grid;grid-template-columns:1fr auto 20px;gap:16px;align-items:center;padding:16px;border:1px solid var(--soft-line);border-radius:8px}.search-result-list strong,.search-result-list small{display:block}.search-result-list small{margin-top:4px;color:#818b9a;font-size:.65rem}
@media(max-width:980px){.local-hero__grid,.directory-hero__grid,.blog-layout,.article-layout,.faq-layout,.search-layout,.request-layout,.brand-profile-layout,.seo-copy-grid{grid-template-columns:1fr}.blog-sidebar,.article-sidebar{position:static}.state-grid--directory{grid-template-columns:repeat(3,1fr)}.price-calc-grid{grid-template-columns:repeat(4,1fr)}.related-links{grid-template-columns:repeat(2,1fr)}.search-widget--footer{padding-inline:16px}}
@media(max-width:700px){.search-widget--inline,.search-widget--footer,.search-widget--hero,.post-featured{grid-template-columns:1fr}.search-widget form,.location-search-large{display:grid}.local-hero__grid{gap:28px}.headline-price strong{font-size:2.4rem}.price-calc-grid,.state-grid--directory,.provider-cards,.info-cards,.home-order-grid,.post-grid,.related-posts,.brand-directory,.process-steps,.form-columns,.coverage-states{grid-template-columns:1fr}.municipality-grid{grid-template-columns:1fr}.block-heading{align-items:start;flex-direction:column}.blog-hero h1,.faq-hero h1,.directory-hero h1,.search-results-hero h1,.brand-request-hero h1,.article-hero h1,.local-hero h1{font-size:2.35rem}.article-meta{display:grid}.search-result-list>a{grid-template-columns:1fr auto}.search-result-list>a>b{display:none}}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(255, 106, 43, 0.12), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
}

main { min-height: 58vh; }

input, select, textarea, button { font: inherit; }

.form-grid { display: grid; gap: 16px; margin-top: 24px; }
.form-grid label { display: grid; gap: 8px; font-weight: 700; }
.form-grid input { width: 100%; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); }
.auth-section { padding-top: 56px; }
.auth-card { width: min(100%, 520px); margin: 0 auto; }
.alert { padding: 12px 14px; border-radius: var(--radius-sm); color: #8a2b18; background: #fff0eb; border: 1px solid #ffd1c2; }
.admin-bar { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 28px; }
.metric { margin: 18px 0 2px; font-size: 2.8rem; letter-spacing: -0.06em; }
.admin-grid { margin-top: 24px; }

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

.site-wrap {
  width: min(100% - 32px, var(--max));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  background: rgba(255, 255, 255, 0.88);
  border-bottom: 1px solid rgba(31, 53, 96, 0.08);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 76px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.brand__mark {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--brand), #ff8f57);
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 12px 24px rgba(255, 106, 43, 0.28);
}

.nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.nav a,
.nav button {
  border: 1px solid transparent;
  background: transparent;
  color: var(--ink);
  padding: 11px 14px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 600;
}

.nav a:hover,
.nav button:hover {
  border-color: rgba(255, 106, 43, 0.28);
  background: rgba(255, 106, 43, 0.08);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 20px;
  border-radius: 999px;
  font-weight: 700;
  border: 1px solid transparent;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn--brand {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 16px 34px rgba(255, 106, 43, 0.26);
}

.btn--ghost {
  border-color: rgba(31, 53, 96, 0.16);
  background: rgba(255, 255, 255, 0.8);
}

.hero {
  padding: 48px 0 28px;
}

.hero__panel {
  background: linear-gradient(180deg, #ff6a2b 0%, #ff7a42 100%);
  color: #fff;
  border-radius: 30px;
  padding: 44px 28px;
  box-shadow: 0 26px 80px rgba(255, 106, 43, 0.24);
}

.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.92rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: 0.9;
}

.hero__title {
  margin: 18px 0 12px;
  font-size: clamp(2.2rem, 5vw, 4.3rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  max-width: 11ch;
}

.hero__lead {
  margin: 0;
  max-width: 65ch;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  line-height: 1.7;
  opacity: 0.92;
}

.searchbar {
  display: flex;
  gap: 12px;
  padding: 10px;
  background: #fff;
  border-radius: 999px;
  box-shadow: var(--shadow);
  margin-top: 28px;
}

.searchbar input,
.searchbar select {
  border: 0;
  outline: 0;
  background: transparent;
  padding: 0 18px;
  flex: 1;
  font-size: 1rem;
  min-width: 0;
}

.searchbar .btn {
  padding-inline: 24px;
}

.section {
  padding: 24px 0 64px;
}

.section__head {
  margin-bottom: 22px;
}

.section__kicker {
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
  font-size: 0.8rem;
}

.section__title {
  margin: 8px 0 10px;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.section__text {
  margin: 0;
  color: var(--muted);
  max-width: 72ch;
  line-height: 1.7;
}

.grid {
  display: grid;
  gap: 18px;
}

.grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 14px 40px rgba(31, 53, 96, 0.06);
  overflow: hidden;
}

.card__body {
  padding: 22px;
}

.card__title {
  margin: 0 0 8px;
  font-size: 1.08rem;
  line-height: 1.25;
}

.card__meta {
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.6;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255, 106, 43, 0.12);
  color: var(--brand);
  font-size: 0.85rem;
  font-weight: 700;
}

.sidebar-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
  align-items: start;
}

.sidebar {
  display: grid;
  gap: 18px;
}

.sidebar .card {
  position: sticky;
  top: 96px;
}

.list {
  display: grid;
  gap: 10px;
}

.list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--line);
}

.list__item strong {
  font-size: 0.98rem;
}

.list__item span {
  color: var(--muted);
  font-size: 0.9rem;
}

.footer {
  padding: 42px 0;
  color: #d9e0ea;
  background: var(--brand-2);
}

.footer a {
  color: #fff;
  opacity: 0.92;
}

.footer__grid {
  display: grid;
  gap: 22px;
  grid-template-columns: 2fr 1fr 1fr 1fr;
}

.footer__note {
  margin-top: 24px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.92rem;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .grid--4,
  .grid--3,
  .grid--2,
  .footer__grid,
  .sidebar-layout {
    grid-template-columns: 1fr;
  }

  .site-header__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 14px 0;
  }

  .nav {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .hero__panel {
    padding: 28px 18px;
  }

  .searchbar {
    flex-direction: column;
    border-radius: 24px;
  }

  .admin-bar { align-items: flex-start; flex-direction: column; }
}

/* Shared shell overrides: keep this block last. */
body { background:#fff; color:var(--navy); font-family:"Trebuchet MS","Segoe UI",sans-serif; }
.site-header { position:sticky; top:0; z-index:50; min-height:58px; background:#172a4b; border:0; box-shadow:none; backdrop-filter:none; }
.site-header__inner { min-height:58px; }
.site-header .brand { color:#fff; font-size:.88rem; }
.site-header .brand__mark,.footer .brand__mark { width:26px; height:26px; border-radius:7px; font-size:.72rem; box-shadow:none; background:#ff6336; }
.site-header .nav { gap:3px; }
.site-header .nav a { color:#fff; padding:8px 11px; font-size:.72rem; }
.site-header .nav .nav-cta { border:1px solid rgba(255,255,255,.85); border-radius:5px; margin-left:12px; }
.footer { padding:55px 0 25px; color:#d9e0ea; background:#172a4b; }
.footer__grid { grid-template-columns:1.5fr repeat(3,1fr); }
.footer .brand { color:#fff; }
@media(max-width:980px){.site-header__inner{align-items:center;flex-direction:row;padding:8px 0}.site-header .nav{display:none}.footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer__grid{grid-template-columns:1fr}}

/* Professional CMS layout */
.cms-breadcrumbs { display:flex; align-items:center; gap:8px; max-width:1480px; margin:0 auto 18px; color:#8a97a9; font-size:.72rem; }
.cms-breadcrumbs a { color:#53657c; font-weight:750; text-decoration:none; }
.cms-breadcrumbs a:hover { color:#e6532a; }
.cms-breadcrumbs span:last-child { color:#25364d; font-weight:750; }
.cms-module { padding:0; }
.cms-body .section>.site-wrap,.cms-module>.site-wrap { width:100%; max-width:1480px; padding:0; }
.cms-body .section__text { max-width:760px; margin:-4px 0 22px; color:#6d7c90; line-height:1.6; }
.cms-body .section>.site-wrap>h1 { margin:0 0 8px; }
.cms-body .section>.site-wrap>h2 { margin:30px 0 14px; color:#172a4b; font-size:1.12rem; }
.cms-body .admin-layout>div,.cms-body .admin-layout>aside { min-width:0; }
.cms-body .admin-layout>aside { position:sticky; top:94px; padding:18px; border:1px solid #e2e7ee; border-radius:14px; background:#fff; }
.cms-body .admin-layout>aside>h2 { margin:0 0 14px; font-size:1rem; }
.cms-body .upload-form { max-width:none; margin:18px 0 28px; }
.cms-body .preview-box { padding:20px; border:1px solid #e2e7ee; border-radius:14px; background:#fff; }
.cms-body .legal-tabs { padding:5px; border:1px solid #e2e7ee; border-radius:10px; background:#fff; }
.cms-body .legal-tabs a { border:0; border-radius:7px; }
.cms-body .legal-tabs a:hover { color:#fff; background:#172a4b; }

.cms-editor-form { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start; }
.cms-editor-main,.cms-editor-sidebar { display:grid; gap:20px; min-width:0; }
.cms-editor-sidebar { position:sticky; top:94px; }
.cms-form-panel,.cms-publish-panel,.cms-image-panel { overflow:visible; }
.cms-panel-body { display:grid; gap:18px; padding:21px; }
.cms-field { display:grid; gap:7px; color:#34465e; font-size:.78rem; font-weight:750; }
.cms-field>span { display:flex; align-items:center; justify-content:space-between; }
.cms-field input,.cms-field textarea,.cms-field select { width:100%; padding:11px 12px; color:#203149; border:1px solid #ccd6e2; border-radius:8px; background:#fff; font:inherit; font-weight:500; }
.cms-field input:focus,.cms-field textarea:focus,.cms-field select:focus { border-color:#ff6336; outline:3px solid rgba(255,99,54,.12); }
.cms-field--title input { padding:14px 15px; font-size:1.18rem; font-weight:750; }
.cms-slug-field { display:flex; align-items:center; overflow:hidden; border:1px solid #ccd6e2; border-radius:8px; background:#f7f9fb; }
.cms-slug-field:focus-within { border-color:#ff6336; outline:3px solid rgba(255,99,54,.12); }
.cms-slug-field input { flex:1; min-width:0; border:0; border-radius:0; outline:0!important; }
.cms-slug-field small { padding:0 10px; color:#7b899b; font-weight:650; }
.field-help { color:#8a97a8; font-size:.68rem; font-weight:500; text-align:right; }
.cms-seo-fields { grid-template-columns:1fr 1fr; align-items:start; }
.cms-alert { margin-bottom:18px; padding:13px 16px; border-radius:9px; font-size:.8rem; font-weight:700; }
.cms-alert--success { color:#126b51; border:1px solid #bfe7d8; background:#eaf8f3; }
.cms-alert--error { color:#9a3027; border:1px solid #f0c4bf; background:#fff0ee; }
.cms-save-button { width:100%; justify-content:center; }
.cms-publish-meta { margin:0; padding:10px 12px; color:#65758a; border-radius:8px; background:#f5f7fa; font-size:.72rem; }

.rich-editor-shell { overflow:hidden; border:1px solid #ccd6e2; border-radius:10px; background:#fff; }
.editor-toolbar { display:flex; flex-wrap:wrap; gap:5px; padding:8px; border:0; border-bottom:1px solid #e0e6ed; border-radius:0; background:#f7f9fb; }
.editor-toolbar button { padding:6px 9px; color:#33465e; border:1px solid #d8e0e9; border-radius:6px; background:#fff; font-size:.7rem; font-weight:750; cursor:pointer; }
.editor-toolbar button:hover,.editor-toolbar button:focus { color:#fff; border-color:#172a4b; background:#172a4b; outline:0; }
.rich-editor { min-height:420px; padding:24px; color:#28394f; border:0; border-radius:0; background:#fff; font-size:.94rem; font-weight:400; line-height:1.75; outline:0; }
.rich-editor:empty::before { color:#9aa5b3; content:attr(data-placeholder); }
.rich-editor h2 { margin:1.6em 0 .55em; font-size:1.45rem; }.rich-editor h3 { margin:1.35em 0 .45em; font-size:1.15rem; }
.rich-editor blockquote { margin:1.2em 0; padding:12px 16px; border-left:4px solid #ff6336; background:#fff5f1; }
.editor-footer { display:flex; justify-content:space-between; padding:7px 11px; color:#8491a2; border-top:1px solid #edf0f4; background:#fafbfc; font-size:.65rem; font-weight:600; }

.featured-image-preview { display:grid; overflow:hidden; aspect-ratio:16/9; place-items:center; border:1px solid #dce3eb; border-radius:10px; background:#edf1f5; }
.featured-image-preview img { width:100%; height:100%; object-fit:cover; }
.featured-image-preview>div { display:grid; gap:4px; color:#7b899a; text-align:center; }
.featured-image-preview>div strong { color:#52647a; font-size:.82rem; }.featured-image-preview>div span { font-size:.68rem; }
.cms-upload-control { display:grid; gap:7px; padding:12px; border:1px dashed #bdc9d7; border-radius:9px; color:#34465e; background:#fafbfd; font-size:.76rem; font-weight:750; cursor:pointer; }
.cms-upload-control input { width:100%; font-size:.7rem; }.cms-upload-control small { color:#8491a2; font-weight:500; }
.cms-check { display:flex; align-items:center; gap:7px; color:#66768a; font-size:.72rem; }.cms-check input { width:auto; }

.cms-post-list-panel { margin-top:22px; }
.cms-post-list { display:grid; }
.cms-post-list article { display:grid; grid-template-columns:104px minmax(0,1fr) auto 105px; gap:15px; align-items:center; padding:13px 20px; border-bottom:1px solid #edf0f4; }
.cms-post-list article:last-child { border-bottom:0; }
.cms-post-thumb { display:grid; overflow:hidden; width:104px; aspect-ratio:16/9; place-items:center; color:#8a97a8; border-radius:7px; background:#edf1f5; font-size:.62rem; text-decoration:none; }
.cms-post-thumb img { width:100%; height:100%; object-fit:cover; }
.cms-post-list h3 { margin:0 0 4px; font-size:.85rem; }.cms-post-list h3 a { color:#203149; text-decoration:none; }
.cms-post-list p { max-width:720px; margin:0 0 4px; overflow:hidden; color:#718095; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.cms-post-list small { color:#8b97a7; font-size:.65rem; }
.cms-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; font-size:.7rem; }.cms-row-actions>a { color:#315b87; font-weight:750; text-decoration:none; }

.post-cover-link,.post-card-media,.news-image-link { display:block; overflow:hidden; }
.post-cover-link { min-height:260px; border-radius:8px; }
.post-cover,.news-image { display:block; width:100%; object-fit:cover; }
.post-featured .post-cover { height:100%; min-height:260px; }
.post-card .post-cover { height:180px; }
.post-cover--fallback { background:linear-gradient(135deg,#203a50,#8ca1b1); }
.news-image-link { border-radius:8px; }.news-image { height:160px; transition:transform .3s ease; }.news-image-link:hover .news-image { transform:scale(1.025); }

@media(max-width:1050px){.cms-editor-form{grid-template-columns:1fr}.cms-editor-sidebar{position:static;grid-template-columns:1fr 1fr}.cms-seo-fields{grid-template-columns:1fr}.cms-post-list article{grid-template-columns:90px minmax(0,1fr) auto}.cms-row-actions{grid-column:2/4;justify-content:flex-start}}
@media(max-width:700px){.cms-editor-sidebar{grid-template-columns:1fr}.cms-post-list article{grid-template-columns:78px minmax(0,1fr);padding:12px}.cms-post-thumb{width:78px}.cms-post-list .cms-status{grid-column:2}.cms-row-actions{grid-column:2}.editor-toolbar{position:static}.rich-editor{min-height:320px;padding:17px}.cms-panel-body{padding:16px}}
.cms-media-upload { grid-template-columns:minmax(0,1fr) auto; align-items:end; }.cms-media-upload .btn { min-height:43px; }
.cms-media-library { margin-top:20px; }.cms-media-library .media-grid { padding:18px; grid-template-columns:repeat(5,minmax(0,1fr)); }
.cms-media-library .media-grid figure { overflow:hidden; padding:0; border-color:#e0e6ed; border-radius:10px; background:#fff; }
.cms-media-library .media-grid img { height:150px; border-radius:0; }
.cms-media-library figcaption { display:grid; gap:7px; padding:9px; }.cms-media-library figcaption span { overflow:hidden; color:#68788d; text-overflow:ellipsis; white-space:nowrap; }
.cms-media-library figcaption button { padding:6px; color:#315b87; border:0; border-radius:5px; background:#edf4fb; font-size:.65rem; font-weight:750; cursor:pointer; }
.cms-empty-state { padding:50px 20px; color:#718095; text-align:center; }.cms-empty-state strong { color:#34465e; }
@media(max-width:1100px){.cms-media-library .media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.cms-media-upload{grid-template-columns:1fr}.cms-media-library .media-grid{grid-template-columns:repeat(2,1fr);padding:12px}}

/* Social sharing */
.social-share { padding:34px 0; border-top:1px solid #e4e9ef; background:#fff; }
.social-share__inner { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.social-share__inner>div:first-child { max-width:650px; }.social-share h2 { margin:4px 0 6px; color:#172a4b; font-size:1.18rem; }.social-share p { margin:0; color:#718095; font-size:.78rem; line-height:1.55; }
.social-share__links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.social-share__button { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:8px 11px; color:#fff; border-radius:8px; font-size:.68rem; font-weight:800; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.social-share__button:hover { color:#fff; transform:translateY(-2px); box-shadow:0 7px 16px rgba(25,42,68,.16); }
.social-share__button svg { width:17px; height:17px; fill:currentColor; }
.social-share__button--whatsapp { background:#1f9d61; }.social-share__button--facebook { background:#3168b2; }.social-share__button--x { background:#111827; }.social-share__button--telegram { background:#248bc1; }.social-share__button--linkedin { background:#176ca4; }.social-share__button--correo { background:#e6532a; }

/* 404 page */
.error-page { display:grid; min-height:calc(100vh - 58px); place-items:center; padding:70px 0; background:radial-gradient(circle at 50% 15%,#fff 0,#f7f8fa 46%,#eef2f6 100%); text-align:center; }
.error-page__inner { max-width:920px; }.error-page__code { display:flex; align-items:center; justify-content:center; gap:5px; height:116px; margin-bottom:14px; color:#172a4b; font-size:7rem; font-weight:900; letter-spacing:-.09em; line-height:1; }
.error-page__code i { position:relative; display:block; width:84px; height:104px; border-radius:50% 50% 55% 55%; background:#ff4f1f; transform:rotate(45deg); }.error-page__code i::after { position:absolute; right:18px; bottom:17px; width:42px; height:55px; border-radius:50%; background:#fff; content:""; }
.error-page h1 { margin:6px 0 12px; color:#172a4b; font-size:clamp(2rem,5vw,3.4rem); letter-spacing:-.045em; }.error-page__inner>p { max-width:680px; margin:0 auto 26px; color:#68788d; line-height:1.7; }
.error-page .search-widget { margin:0 auto 22px; text-align:left; }.error-page__links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }.error-page__links a { padding:9px 12px; color:#34506f; border:1px solid #d9e1e9; border-radius:8px; background:#fff; font-size:.72rem; font-weight:800; text-decoration:none; }.error-page__links a:hover { color:#fff; border-color:#172a4b; background:#172a4b; }
@media(max-width:820px){.social-share__inner{align-items:flex-start;flex-direction:column}.social-share__links{justify-content:flex-start}.social-share__button span{display:none}.social-share__button{width:40px;justify-content:center;padding:8px}.error-page__code{height:90px;font-size:5rem}.error-page__code i{width:62px;height:78px}}

/* Compact brand manager */
.cms-brands-module .cms-page-heading { margin-bottom:18px; }
.cms-brand-form { grid-template-columns:minmax(0,1fr) 310px; }
.cms-brand-form .cms-panel-body { gap:14px; padding:18px; }
.cms-panel-hint { align-self:center; color:#8794a5; font-size:.66rem; font-weight:650; }
.cms-compact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cms-compact-grid .cms-field--wide { grid-column:1/-1; }
.cms-compact-grid textarea { min-height:92px; resize:vertical; }
.cms-national-toggle { display:flex; align-items:center; gap:12px; padding:13px 15px; border:1px solid #ccd7e3; border-radius:9px; background:#f8fafc; cursor:pointer; }
.cms-national-toggle input { width:18px; height:18px; accent-color:#ff6336; }
.cms-national-toggle span { display:grid; gap:2px; }.cms-national-toggle strong { color:#2a3d55; font-size:.78rem; }.cms-national-toggle small { color:#7c899a; font-size:.66rem; }
.cms-state-selector { overflow:hidden; border:1px solid #e0e6ed; border-radius:10px; transition:opacity .2s ease; }
.cms-state-selector.is-disabled { opacity:.48; }
.cms-state-selector-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 13px; border-bottom:1px solid #e6ebf0; background:#f8fafc; }
.cms-state-selector-head>div:first-child { display:grid; gap:2px; }.cms-state-selector-head strong { color:#34465e; font-size:.75rem; }.cms-state-selector-head small { color:#8794a5; font-size:.63rem; }
.cms-state-selector-head>div:last-child { display:flex; gap:5px; }.cms-state-selector-head button { padding:5px 8px; color:#365d87; border:1px solid #d7e1eb; border-radius:5px; background:#fff; font-size:.61rem; font-weight:750; cursor:pointer; }
.cms-state-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; max-height:236px; overflow:auto; padding:7px; }
.cms-state-grid label { display:flex; align-items:center; gap:7px; padding:7px 8px; border-radius:6px; color:#53647a; font-size:.67rem; cursor:pointer; }
.cms-state-grid label:hover { background:#f1f5f8; }.cms-state-grid input { flex:none; width:14px; height:14px; accent-color:#ff6336; }
.brand-logo-preview { display:grid; height:132px; place-items:center; overflow:hidden; padding:16px; border:1px solid #dce3eb; border-radius:10px; background:#f2f5f8; }
.brand-logo-preview img { width:100%; height:100%; object-fit:contain; }.brand-logo-preview>div { display:grid; gap:4px; color:#8a97a8; text-align:center; }.brand-logo-preview strong { color:#52647a; font-size:.8rem; }.brand-logo-preview span { font-size:.65rem; }
.cms-secondary-action { display:block; color:#315b87; font-size:.7rem; font-weight:750; text-align:center; text-decoration:none; }
.cms-brand-list-panel { margin-top:20px; }.cms-brand-list-panel>.cms-panel-head>a { color:#315b87; font-size:.7rem; font-weight:750; text-decoration:none; }
.cms-brand-list { display:grid; }.cms-brand-list article { display:grid; grid-template-columns:52px minmax(0,1fr) auto 105px; gap:14px; align-items:center; padding:11px 18px; border-bottom:1px solid #edf0f4; }
.cms-brand-list article:last-child { border-bottom:0; }.cms-brand-thumb { display:grid; width:52px; height:52px; place-items:center; overflow:hidden; border:1px solid #e0e6ed; border-radius:9px; color:#fff; background:#172a4b; font-size:.69rem; font-weight:850; text-decoration:none; }
.cms-brand-thumb img { display:block; width:100%; height:100%; padding:5px; object-fit:contain; border-radius:50%; background:#fff; }.cms-brand-thumb.brand-avatar--image { background:#fff; }.cms-brand-list article>a { display:block; border-radius:50%; text-decoration:none; }.cms-brand-list h3 { margin:0 0 3px; font-size:.82rem; }.cms-brand-list h3 a { color:#203149; text-decoration:none; }
.cms-brand-thumb { border-radius:50%; }
.cms-brand-list p { margin:0 0 3px; color:#718095; font-size:.68rem; }.cms-brand-list small { color:#8b97a7; font-size:.63rem; }
.cms-heading-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }.cms-heading-actions .btn { margin:0; }
.cms-import-layout { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.cms-import-layout .btn { margin-top:0; }.cms-download-template { width:100%; justify-content:center; }
.cms-import-preview { margin-top:20px; }.cms-import-preview .table-scroll { margin:0; padding:18px; }.cms-import-publish { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border-top:1px solid #edf0f4; }.cms-import-publish p { margin:0; color:#627287; font-size:.75rem; }.cms-import-publish .btn { flex:none; margin:0; }
.cms-import-issues { margin:18px; padding:15px 17px; color:#8b3c30; border:1px solid #f0c4bf; border-radius:9px; background:#fff3f1; font-size:.72rem; }.cms-import-issues ul { display:grid; gap:5px; max-height:230px; margin:10px 0 0; padding-left:18px; overflow:auto; }
@media(max-width:1100px){.cms-brand-form{grid-template-columns:1fr}.cms-brand-form .cms-editor-sidebar{grid-template-columns:1fr 1fr}.cms-state-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.cms-import-layout{grid-template-columns:1fr}.cms-import-publish{align-items:stretch;flex-direction:column}.cms-import-publish .btn{width:100%}}
@media(max-width:700px){.cms-brand-form .cms-editor-sidebar,.cms-compact-grid{grid-template-columns:1fr}.cms-state-grid{grid-template-columns:repeat(2,1fr)}.cms-state-selector-head{align-items:flex-start;flex-direction:column}.cms-brand-list article{grid-template-columns:46px minmax(0,1fr) auto;padding:10px 12px}.cms-brand-thumb{width:46px;height:46px}.cms-brand-list .cms-row-actions{grid-column:2/4}.cms-panel-hint{display:none}.cms-heading-actions{width:100%;justify-content:stretch}.cms-heading-actions .btn{flex:1}}

/* Responsive public navigation */
.mobile-menu-toggle,.mobile-menu-overlay { display:none; }
.mobile-menu-toggle { position:relative; z-index:104; width:42px; height:42px; padding:10px; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:9px; background:rgba(255,255,255,.08); cursor:pointer; }
.mobile-menu-toggle span { display:block; width:20px; height:2px; margin:2px 0; border-radius:2px; background:#fff; transition:transform .22s ease,opacity .18s ease; }
@media(max-width:980px){
  body.site-menu-open { overflow:hidden; }
  .site-header__inner { position:relative; }
  .site-header .brand { position:relative; z-index:104; }
  .mobile-menu-toggle { display:grid; }
  .site-header .nav { display:flex!important; position:fixed; z-index:103; inset:0 0 0 auto; width:min(86vw,360px); padding:88px 22px 30px; align-items:stretch; align-content:flex-start; flex-direction:column; flex-wrap:nowrap; gap:5px; overflow-y:auto; background:#172a4b; box-shadow:-20px 0 60px rgba(4,15,34,.28); transform:translateX(105%); visibility:hidden; pointer-events:none; transition:transform .24s ease,visibility 0s linear .24s; }
  .site-header .nav::before { margin-bottom:8px; color:#91a3bd; content:"NAVEGACIÓN"; font-size:.63rem; font-weight:850; letter-spacing:.14em; }
  .site-header .nav a { width:100%; padding:13px 12px; border-bottom:1px solid rgba(255,255,255,.09); border-radius:7px; font-size:.84rem; }
  .site-header .nav .nav-cta { margin:12px 0 0; padding:13px; border-color:#ff6336; background:#ff6336; text-align:center; }
  .mobile-menu-overlay { position:fixed; z-index:101; inset:0; width:100%; height:100%; border:0; background:rgba(5,17,36,.58); opacity:0; cursor:pointer; pointer-events:none; transition:opacity .22s ease; }
  .site-menu-open .site-header .nav { transform:none; visibility:visible; pointer-events:auto; transition:transform .24s ease; }
  .site-menu-open .mobile-menu-overlay { display:block; opacity:1; pointer-events:auto; }
  .site-menu-open .mobile-menu-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .site-menu-open .mobile-menu-toggle span:nth-child(2) { opacity:0; }
  .site-menu-open .mobile-menu-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
}
@media(prefers-reduced-motion:reduce){.site-header .nav,.mobile-menu-overlay,.mobile-menu-toggle span{transition:none!important}}

/* CMS UX: navigation, searchable records and contextual batch actions. */
.cms-navigation a>span{font-size:.78rem}.cms-navigation a>span i{line-height:1}.cms-sidebar-footer>a,.cms-top-actions a,.cms-menu-toggle,.cms-breadcrumbs a{display:inline-flex;align-items:center;gap:7px}
.cms-top-actions .cms-create{box-shadow:0 7px 18px rgba(255,99,54,.2)}.cms-menu-toggle span{display:inline}.cms-breadcrumbs>span[aria-hidden]{font-size:.55rem}
.cms-body a:focus-visible,.cms-body button:focus-visible,.cms-body input:focus-visible,.cms-body select:focus-visible,.cms-body textarea:focus-visible{outline:3px solid rgba(255,99,54,.28);outline-offset:2px}
.cms-brands-module>.site-wrap{display:flex;flex-direction:column}.cms-brands-module .cms-page-heading,.cms-brands-module .cms-alert{order:0}.cms-brands-module .cms-brand-list-panel{order:1;margin:0 0 22px}.cms-brands-module .cms-brand-form{order:2}.cms-brands-module.is-editing .cms-brand-form{order:1}.cms-brands-module.is-editing .cms-brand-list-panel{order:2;margin:22px 0 0}
.cms-brand-list-panel>.cms-panel-head p{margin:4px 0 0;color:#8290a2;font-size:.68rem}.cms-brand-list-panel>.cms-panel-head>a{display:inline-flex;align-items:center;gap:6px}
.cms-table-toolbar{display:flex;align-items:center;gap:9px;padding:12px 16px;border-bottom:1px solid #e6ebf0;background:#f8fafc}.cms-brand-search{position:relative;display:flex;flex:1;min-width:220px;align-items:center}.cms-brand-search>i{position:absolute;left:13px;color:#8391a3;font-size:.8rem}.cms-brand-search input{width:100%;min-height:42px;padding:10px 38px;border-color:#cbd5e1!important;background:#fff!important}.cms-status-filter{position:relative;display:flex;align-items:center}.cms-status-filter>i{position:absolute;left:12px;z-index:1;color:#718095;font-size:.72rem}.cms-status-filter select{min-height:42px;padding:9px 32px 9px 34px;color:#34465e;background:#fff}.cms-toolbar-button,.cms-clear-filter{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border:1px solid #172a4b;border-radius:8px;color:#fff;background:#172a4b;font-size:.74rem;font-weight:800;cursor:pointer}.cms-clear-filter{color:#52647a;border-color:#d2dae4;background:#fff;text-decoration:none}
.cms-list-columns{display:grid;grid-template-columns:34px 52px minmax(0,1fr) 100px 120px;gap:12px;align-items:center;padding:9px 18px;color:#7b899b;border-bottom:1px solid #e6ebf0;background:#fff;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cms-list-columns label{display:grid;place-items:center}.cms-list-columns>span:first-of-type{grid-column:2/4}.cms-list-columns input,.cms-row-select input{width:17px;height:17px;accent-color:#ff6336;cursor:pointer}
.cms-batch-bar{display:flex;min-height:50px;align-items:center;gap:10px;padding:8px 16px;color:#fff;background:#172a4b}.cms-batch-bar[hidden]{display:none}.cms-batch-bar strong{margin-right:auto;font-size:.78rem}.cms-batch-bar select{min-height:34px;padding:6px 30px 6px 10px;border-color:rgba(255,255,255,.3);font-size:.72rem}.cms-batch-bar button{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:6px 11px;color:#172a4b;border:0;border-radius:6px;background:#fff;font-size:.7rem;font-weight:800;cursor:pointer}.cms-batch-bar .cms-batch-cancel{color:#fff;background:rgba(255,255,255,.12)}
.cms-brand-list article{grid-template-columns:34px 52px minmax(0,1fr) 100px 120px;padding:11px 18px;transition:background .15s ease,box-shadow .15s ease}.cms-brand-list article:hover{background:#f8fafc}.cms-brand-list article.is-selected{background:#fff5f1;box-shadow:inset 3px 0 #ff6336}.cms-row-select{display:grid;place-items:center}.cms-brand-list small i{margin-right:4px;color:#8795a7}.cms-row-actions{gap:5px}.cms-row-actions>a,.cms-row-actions button{display:inline-flex;align-items:center;gap:5px;padding:7px 8px;border:0;border-radius:6px;font-size:.68rem;font-weight:800;cursor:pointer}.cms-row-actions>a{color:#315b87;background:#edf4fb}.cms-row-actions button.danger{color:#a33a30;background:#fff0ee}.cms-row-actions form{margin:0}.cms-empty-state>i{display:grid;width:44px;height:44px;margin:0 auto 12px;place-items:center;color:#66768a;border-radius:11px;background:#eef2f6}.cms-empty-state a{display:inline-block;margin-top:7px;color:#315b87;font-size:.74rem;font-weight:800}
.cms-brand-list-panel>.pagination{padding:0 18px 18px}.cms-heading-actions .btn--brand{box-shadow:none}.cms-save-button i,.cms-secondary-action i{margin-right:5px}
@media(max-width:850px){.cms-table-toolbar{flex-wrap:wrap}.cms-brand-search{flex-basis:100%}.cms-list-columns{display:none}.cms-brand-list article{grid-template-columns:28px 48px minmax(0,1fr) auto}.cms-brand-thumb{width:48px;height:48px}.cms-brand-list article>.cms-status{grid-column:3}.cms-row-actions{grid-column:3/5;justify-content:flex-start}.cms-batch-bar{flex-wrap:wrap}.cms-batch-bar strong{flex:1 0 100%}}
@media(max-width:560px){.cms-table-toolbar>*{width:100%}.cms-status-filter select,.cms-toolbar-button,.cms-clear-filter{width:100%}.cms-brand-list article{gap:10px;padding:12px}.cms-row-actions span{display:none}.cms-row-actions>a,.cms-row-actions button{width:34px;height:34px;justify-content:center}.cms-batch-bar label{flex:1}.cms-batch-bar select{width:100%}}

/* Public embeddable widget configurator. */
.widget-page-hero{padding:58px 0;color:#fff;background:linear-gradient(135deg,#172a4b 0%,#244e7d 100%)}
.widget-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:50px;align-items:center}.widget-page-hero h1{max-width:760px;margin:8px 0 14px;font-size:clamp(2rem,5vw,3.65rem);line-height:1.02;letter-spacing:-.045em}.widget-page-hero p{max-width:720px;margin:0;color:#d9e4ef;font-size:1.03rem;line-height:1.7}.widget-page-features{display:grid;grid-template-columns:1fr 1fr;gap:10px}.widget-page-features span{padding:13px 14px;border:1px solid rgba(255,255,255,.17);border-radius:10px;background:rgba(255,255,255,.07);font-size:.78rem;font-weight:750}
.widget-builder__layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:28px;align-items:start}.widget-config,.widget-output{padding:22px;border:1px solid #dfe6ee;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(23,42,75,.07)}.widget-config{display:grid;gap:14px}.widget-config [hidden]{display:none!important}.widget-config .block-heading,.widget-output .block-heading{margin-bottom:2px}.widget-config label{display:grid;gap:7px;color:#34465e;font-size:.74rem;font-weight:800}.widget-config select{width:100%;min-height:41px;padding:8px 34px 8px 11px;color:#253b56;border:1px solid #cbd6e1;border-radius:8px;background:#fff;font:inherit}.widget-config fieldset{margin:0;padding:0;border:0}.widget-config legend{margin-bottom:9px;color:#34465e;font-size:.76rem;font-weight:800}.widget-config-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;border-radius:10px;background:#eef2f6}.widget-config-tabs button{min-height:36px;padding:7px 8px;color:#607187;border:0;border-radius:7px;background:transparent;font-size:.69rem;font-weight:850;cursor:pointer}.widget-config-tabs button[aria-selected="true"]{color:#fff;background:#172a4b;box-shadow:0 4px 10px rgba(23,42,75,.16)}.widget-config-tabs button:focus-visible{outline:3px solid rgba(255,99,54,.28);outline-offset:1px}.widget-config-panel{display:grid;gap:14px;min-width:0}.widget-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.widget-checks label{display:flex;min-width:0;align-items:center;gap:7px;padding:8px;border:1px solid #e1e7ed;border-radius:8px;background:#f8fafc;font-size:.67rem;cursor:pointer}.widget-checks input{width:15px;height:15px;flex:0 0 auto;accent-color:#ff6336}.widget-config__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.widget-config .widget-switch{display:flex;min-height:41px;align-items:center;gap:8px;padding:8px 11px;border:1px solid #dce4ec;border-radius:8px}.widget-switch input{width:17px;height:17px;accent-color:#ff6336}
.widget-output{position:sticky;top:18px}.widget-preview{min-height:230px;padding:26px;border-radius:13px;background-color:#eef3f7;background-image:linear-gradient(45deg,rgba(23,42,75,.035) 25%,transparent 25%),linear-gradient(-45deg,rgba(23,42,75,.035) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(23,42,75,.035) 75%),linear-gradient(-45deg,transparent 75%,rgba(23,42,75,.035) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.widget-code-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:27px 0 10px}.widget-code-head h2{margin:2px 0 0;font-size:1.3rem}.copy-widget-code{padding:9px 14px;color:#fff;border:0;border-radius:8px;background:#ff6336;font-size:.72rem;font-weight:850;cursor:pointer}.widget-code{display:block;width:100%;min-height:150px;padding:14px;resize:vertical;color:#dce9f7;border:1px solid #233b5a;border-radius:10px;background:#12243d;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.widget-code-note{margin:9px 0 0;color:#718095;font-size:.7rem;line-height:1.55}.widget-code-note code,.useful-card code{padding:2px 5px;border-radius:4px;background:#edf1f5;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.widget-config .widget-customization{padding-top:15px;border-top:1px solid #e4e9ef}.widget-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.widget-show-presets,.widget-palette-presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.widget-show-presets button,.widget-palette-presets button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:7px 10px;color:#53647a;border:1px solid #d7e0e8;border-radius:8px;background:#fff;font-size:.66rem;font-weight:800;cursor:pointer}.widget-show-presets button:hover,.widget-palette-presets button:hover{border-color:#9aabba}.widget-show-presets button.is-active,.widget-palette-presets button.is-active{color:#172a4b;border-color:#ff6336;box-shadow:0 0 0 2px rgba(255,99,54,.12)}.widget-palette-presets i{display:block;width:15px;height:15px;border-radius:50%;background:#172a4b;box-shadow:inset 0 0 0 4px #234b79}.widget-palette-presets [data-palette="morado"] i{background:#4c1d95;box-shadow:inset 0 0 0 4px #7c3aed}.widget-palette-presets [data-palette="gris"] i{background:#1f2937;box-shadow:inset 0 0 0 4px #6b7280}.widget-palette-presets [data-palette="verde"] i{background:#064e3b;box-shadow:inset 0 0 0 4px #10b981}.widget-palette-presets [data-palette="naranja"] i{background:#7c2d12;box-shadow:inset 0 0 0 4px #f97316}.widget-color-help{margin:-2px 0 9px;color:#718095;font-size:.66rem;line-height:1.45}.widget-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.widget-color-grid label{min-width:0;font-size:.64rem}.widget-color-grid input[type="color"]{display:block;width:100%;height:38px;padding:3px;border:1px solid #ccd7e3;border-radius:7px;background:#fff;cursor:pointer}.reset-widget-colors{justify-self:start;padding:7px 10px;color:#51647b;border:1px solid #d5dee7;border-radius:7px;background:#f7f9fb;font-size:.66rem;font-weight:800;cursor:pointer}.widget-code{cursor:copy}.widget-code:focus{outline:3px solid rgba(255,99,54,.22);outline-offset:2px}.widget-code-note strong{color:#334a65}
/* Location picker: one or many states and municipalities. */
.widget-config-tabs{grid-template-columns:repeat(4,1fr)}
.widget-scope{padding:0}.widget-scope-options{display:grid;gap:8px}.widget-radio{display:flex!important;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #dce4ec;border-radius:9px;background:#fff;cursor:pointer}.widget-radio:has(input:checked){border-color:#ff6336;background:#fff8f5;box-shadow:0 0 0 2px rgba(255,99,54,.12)}.widget-radio input{width:17px;height:17px;margin-top:1px;flex:0 0 auto;accent-color:#ff6336}.widget-radio span{display:grid;gap:2px}.widget-radio strong{color:#22364f;font-size:.76rem}.widget-radio small{color:#7a8798;font-size:.66rem;font-weight:650}
.widget-picker{display:grid;gap:10px;padding:14px;border:1px solid #e2e8ef;border-radius:11px;background:#f8fafc}.widget-picker[hidden]{display:none!important}.widget-picker__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.widget-picker__row button{min-height:41px;padding:8px 12px;color:#fff;border:0;border-radius:8px;background:#172a4b;font-size:.68rem;font-weight:850;white-space:nowrap;cursor:pointer}.widget-picker__row button:hover:not(:disabled){background:#22406b}.widget-picker__row button:disabled{color:#8b98a8;background:#e5eaf0;cursor:not-allowed}
.widget-selection{display:grid;gap:8px;padding-top:4px;border-top:1px solid #e2e8ef}.widget-selection__title{color:#5b6b80;font-size:.66rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.widget-selection__title b{display:inline-grid;min-width:19px;height:19px;place-items:center;margin-left:5px;padding:0 5px;color:#fff;border-radius:20px;background:#ff6336;font-size:.62rem}
.widget-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.widget-chips__empty{color:#8894a5;font-size:.68rem;line-height:1.5}.widget-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;border:1px solid #cfdae6;border-radius:8px;background:#fff}.widget-chip.is-state{border-color:#ffb59c;background:#fff6f2}.widget-chip span{display:grid;gap:1px;line-height:1.2}.widget-chip strong{color:#22364f;font-size:.7rem}.widget-chip small{color:#7d8a9b;font-size:.6rem;font-weight:700}.widget-chip button{display:grid;width:22px;height:22px;place-items:center;color:#6b7a8d;border:0;border-radius:6px;background:#eef2f6;font-size:.9rem;line-height:1;cursor:pointer}.widget-chip button:hover{color:#fff;background:#d8492a}
.widget-clear-selection{justify-self:start;padding:6px 9px;color:#51647b;border:1px solid #d5dee7;border-radius:7px;background:#fff;font-size:.64rem;font-weight:800;cursor:pointer}
.widget-amount-add{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(0,1.3fr) auto;gap:8px;align-items:end}.widget-config input[type="number"]{width:100%;min-height:41px;padding:8px 10px;color:#253b56;border:1px solid #cbd6e1;border-radius:8px;background:#fff;font:inherit}.widget-amount-add button{min-height:41px;padding:8px 13px;color:#fff;border:0;border-radius:8px;background:#ff6336;font-size:.68rem;font-weight:850;white-space:nowrap;cursor:pointer}.widget-amount-add button:hover{background:#e5512a}
.widget-amount-error{margin:0;color:#a63a24;font-size:.66rem;font-weight:800}.widget-amount-error[hidden]{display:none}
.widget-chip.is-liters{border-color:#bcd7f0;background:#f2f8fd}
.widget-scope-hint{margin:0;padding:11px 12px;border-left:3px solid #ff6336;border-radius:0 8px 8px 0;background:#fff5f1;color:#5c5049;font-size:.69rem;line-height:1.55}.widget-scope-hint strong{color:#2c3d54}
.widget-preview-scope{align-self:center;padding:5px 9px;border:1px solid #cfe3d8;border-radius:20px;background:#eef8f3;color:#1c6a52;font-size:.62rem;font-weight:850;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.widget-preview-scope.is-single{border-color:#cfdcee;background:#eef3fb;color:#1f4272}
.widget-output .block-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.widget-preview{min-height:180px;padding:20px}.widget-code{min-height:118px;max-height:240px}.copy-widget-code.is-copied{background:#0f9d70}
@media(max-width:920px){.widget-page-hero__grid,.widget-builder__layout{grid-template-columns:1fr}.widget-page-features{max-width:520px}.widget-output{position:static}}
@media(max-width:560px){.widget-page-hero{padding:42px 0}.widget-page-features,.widget-checks,.widget-config__row,.widget-control-grid,.widget-picker__row,.widget-amount-add{grid-template-columns:1fr}.widget-config-tabs{grid-template-columns:repeat(2,1fr)}.widget-chip{width:100%;justify-content:space-between}.widget-output .block-heading{align-items:flex-start;flex-direction:column}.widget-show-presets button{flex:1 1 calc(50% - 7px)}.widget-palette-presets button{flex:1 1 calc(33.333% - 7px)}.widget-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.widget-config,.widget-output{padding:17px}.widget-preview{padding:12px}.widget-code-head{align-items:flex-start;flex-direction:column}.copy-widget-code{width:100%}}

/* Contextual calls to the embeddable price widget. */
.widget-config__row{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
.widget-embed-cta{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:9px 13px;border:1px solid #ff6336;border-radius:7px;color:#d84b25!important;background:#fff;font-size:.7rem!important;font-weight:850!important;line-height:1.2;text-decoration:none!important;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.widget-embed-cta__icon{display:inline-grid;width:25px;height:21px;flex:0 0 25px;place-items:center;border-radius:5px;color:#fff!important;background:#ff6336;font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.widget-embed-cta__label{display:block!important;min-width:0;width:auto!important;height:auto!important;color:inherit!important;background:transparent!important;font:inherit!important;overflow-wrap:anywhere}.widget-embed-cta:hover{background:#fff8f5;box-shadow:0 7px 18px rgba(255,99,54,.15);transform:translateY(-1px)}
.widget-embed-cta--hero{width:100%;margin-top:16px;color:#172a4b!important;border-color:#fff;background:#fff}.widget-embed-cta--hero:hover{background:#f7fafc}.widget-embed-cta--inline{background:transparent}.source-widget__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.source-widget__actions>a:first-child{white-space:nowrap}
.price-strip__widget-cta{grid-column:1/-1;display:flex;justify-content:center;margin-top:4px}.widget-embed-cta--strip{color:#172a4b!important;border-color:#fff;background:#fff}.widget-embed-cta--strip:hover{background:#f7fafc}.directory-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.sidebar-box .widget-embed-cta{margin-top:8px}
@media(max-width:700px){.source-widget__actions,.directory-heading-actions{align-items:stretch;flex-direction:column}.source-widget__actions>a:first-child{white-space:normal}.widget-embed-cta{width:100%}.directory-heading-actions{width:100%}.updated-badge{text-align:center}}

/* Widget subscriptions, adapted from Orliv's dashboard language. */
.pricing-hero{padding:70px 0 62px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(126,224,189,.2),transparent 28%),linear-gradient(135deg,#172a4b,#244e7d)}
.pricing-hero .section__kicker{color:#7ee0bd}.pricing-hero h1{max-width:780px;margin:8px 0 14px;font-size:clamp(2.1rem,5vw,4rem);line-height:1.02;letter-spacing:-.045em}.pricing-hero p:last-child{max-width:720px;margin:0;color:#d8e5f1;font-size:1.05rem;line-height:1.65}
.pricing-section{background:#f5f7fa}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.pricing-card{position:relative;display:flex;min-width:0;flex-direction:column;gap:20px;padding:25px;border:1px solid #dfe6ee;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(23,42,75,.055)}.pricing-card.is-featured{border:2px solid #ff6336;box-shadow:0 18px 42px rgba(255,99,54,.13)}.pricing-badge{position:absolute;top:-12px;right:18px;padding:5px 10px;color:#fff;border-radius:30px;background:#ff6336;font-size:.62rem;font-weight:900;letter-spacing:.07em}.pricing-domain-count{margin:0;color:#ff6336;font-size:2.7rem;font-weight:900;line-height:1}.pricing-card h2{margin:2px 0 0;color:#172a4b;font-size:1.05rem}.pricing-price{display:grid;gap:3px;margin:0}.pricing-price strong{color:#172a4b;font-size:2rem;letter-spacing:-.04em}.pricing-price span{color:#77869a;font-size:.72rem;font-weight:750}.pricing-card ul{display:grid;gap:10px;margin:0 0 auto;padding:0;list-style:none}.pricing-card li{position:relative;padding-left:20px;color:#52647a;font-size:.76rem;line-height:1.45}.pricing-card li:before{position:absolute;left:0;color:#15906c;content:'✓';font-weight:900}.pricing-card form,.pricing-card .btn{width:100%}.pricing-card .btn{min-height:45px}.pricing-note{max-width:820px;margin:28px auto 0;color:#718095;font-size:.72rem;line-height:1.6;text-align:center}
.account-auth{min-height:70vh;background:#f5f7fa}.account-auth-card{max-width:490px;margin:auto;padding:32px;border:1px solid #dfe6ee;border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(23,42,75,.09)}.account-auth-card h1{margin:5px 0 8px;color:#172a4b;font-size:2rem}.account-auth-card>p:not(.section__kicker):not(.alert){color:#68798f;line-height:1.55}.account-form{display:grid;gap:15px;margin-top:24px}.account-form label,.domain-add label{display:grid;gap:7px;color:#34465e;font-size:.75rem;font-weight:800}.account-form input,.domain-add input,.widget-license-field input{width:100%;min-height:44px;padding:10px 12px;color:#172a4b;border:1px solid #cbd6e1;border-radius:8px;background:#fff;font:inherit}.account-form small,.widget-license-field small{color:#7a899b;font-size:.66rem;font-weight:600;line-height:1.45}.account-auth-link{margin:20px 0 0!important;font-size:.74rem;text-align:center}.account-auth-link a{color:#df4d25;font-weight:800}
.account-dashboard{min-height:75vh;padding:44px 0 70px;background:#f3f6f9}.account-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.account-dashboard-head h1{margin:3px 0 5px;color:#172a4b;font-size:clamp(1.8rem,4vw,2.5rem)}.account-dashboard-head p{margin:0;color:#68798e}.account-dashboard-head>a{color:#53657c;font-size:.75rem;font-weight:800}.account-notice,.account-success{margin:0 0 18px;padding:13px 15px;border-radius:9px;font-size:.75rem;line-height:1.5}.account-notice{color:#315679;border:1px solid #c9deef;background:#edf6fd}.account-success{color:#12694f;border:1px solid #bfe4d5;background:#ecf9f4}.account-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.account-metrics article{position:relative;display:grid;gap:4px;min-height:125px;padding:20px 20px 20px 74px;border:1px solid #dfe6ed;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(23,42,75,.045)}.account-metrics article>span{position:absolute;top:22px;left:20px;display:grid;width:40px;height:40px;place-items:center;color:#df4d25;border-radius:11px;background:#fff0eb}.account-metrics small,.account-panel small{color:#8997a8;font-size:.62rem;font-weight:850;letter-spacing:.1em}.account-metrics strong{color:#172a4b;font-size:1.15rem}.account-metrics p{margin:0;color:#748398;font-size:.7rem}.account-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px}.account-panel{padding:21px;border:1px solid #dfe6ed;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(23,42,75,.045)}.account-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.account-panel h2{margin:3px 0 0;color:#172a4b;font-size:1.15rem}.account-panel-head>b{padding:5px 9px;color:#172a4b;border-radius:20px;background:#edf2f7;font-size:.68rem}.license-reveal{display:grid;gap:8px;margin-bottom:15px;padding:14px;border:1px solid #bde3d4;border-radius:10px;background:#effaf6}.license-reveal>strong{color:#11684f;font-size:.8rem}.license-reveal p,.license-summary p{margin:0;color:#6b7d8e;font-size:.67rem}.license-reveal code,.license-summary code{display:block;overflow:auto;padding:11px;color:#dbe8f6;border-radius:8px;background:#152944;font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.license-reveal button{justify-self:start;padding:6px 10px;color:#fff;border:0;border-radius:6px;background:#167f61;font-size:.68rem;font-weight:800;cursor:pointer}.license-summary{display:grid;gap:8px;margin-bottom:16px}.domain-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:15px}.domain-add .btn{min-height:44px}.domain-list{display:grid}.domain-list>div{display:flex;min-height:49px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ebeff3}.domain-list>div>span{display:flex;align-items:center;gap:9px;color:#344a64;font-size:.76rem}.domain-list i{color:#8090a3}.domain-list form{margin:0}.domain-list button{display:grid;width:36px;height:36px;place-items:center;color:#a74232;border:0;border-radius:8px;background:#fff0ee;cursor:pointer}.empty-row{margin:0;padding:20px 0;color:#8190a2;font-size:.72rem;text-align:center}.integration-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:18px}.integration-panel p{max-width:700px;margin:7px 0 0;color:#6b7b8f;font-size:.74rem;line-height:1.55}.integration-panel code{padding:2px 5px;border-radius:4px;background:#edf1f5}.integration-panel .btn{flex:none}.stripe-portal{margin-top:15px;text-align:right}.stripe-portal button{padding:8px 0;color:#52657c;border:0;background:transparent;font-size:.7rem;font-weight:750;cursor:pointer}.account-empty{display:grid;max-width:620px;justify-items:center;margin:35px auto;padding:42px;border:1px solid #dfe6ed;border-radius:16px;background:#fff;text-align:center}.account-empty>span{display:grid;width:55px;height:55px;place-items:center;color:#df4d25;border-radius:15px;background:#fff0eb;font-size:1.3rem}.account-empty h2{margin:16px 0 7px;color:#172a4b}.account-empty p{margin:0 0 20px;color:#6e7e91}
.widget-license-field{padding:12px;border:1px solid #bed9ee;border-radius:10px;background:#f2f8fd}.widget-license-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:.72rem!important}
.cms-business-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 20px}.cms-business-strip>div{position:relative;display:grid;min-height:108px;gap:3px;padding:17px 17px 17px 65px;color:#d9e6f3;border-radius:13px;background:linear-gradient(135deg,#172a4b,#234b79)}.cms-business-strip>div>span{position:absolute;top:18px;left:17px;display:grid;width:36px;height:36px;place-items:center;color:#172a4b;border-radius:10px;background:#7ee0bd}.cms-business-strip small{color:#9eb0c5;font-size:.59rem;font-weight:850;letter-spacing:.1em}.cms-business-strip strong{color:#fff;font-size:1.15rem}.cms-business-strip p,.cms-business-strip a{margin:0;color:#aebed0;font-size:.67rem}.cms-business-strip a{font-weight:800}.cms-subscription-overview{margin-top:18px}.cms-subscription-list>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto 90px;gap:12px;align-items:center;padding:12px 18px;border-top:1px solid #e8edf2}.cms-subscription-list>div>div{display:grid;gap:3px}.cms-subscription-list strong{color:#283c55;font-size:.75rem}.cms-subscription-list small{color:#8190a2;font-size:.66rem}.cms-filter-tabs{display:flex;gap:7px;margin:0 0 16px;overflow-x:auto}.cms-filter-tabs a{padding:8px 11px;color:#66778c;border:1px solid #dce3ea;border-radius:8px;background:#fff;font-size:.7rem;font-weight:800;white-space:nowrap}.cms-filter-tabs a.active{color:#fff;border-color:#172a4b;background:#172a4b}.cms-subscriptions-row{display:grid;grid-template-columns:minmax(180px,1.4fr) .7fr .7fr .7fr .8fr 1fr auto;gap:12px;align-items:center;padding:12px 18px;border-top:1px solid #e8edf2;color:#53657a;font-size:.72rem}.cms-subscriptions-row.is-head{color:#7d8b9d;background:#f8fafc;font-size:.61rem;font-weight:850;letter-spacing:.06em}.cms-subscriptions-row span:first-child{display:grid;gap:3px}.cms-subscriptions-row strong{color:#253a54}.cms-subscriptions-row small{color:#8190a2}.cms-subscriptions-row span:last-child{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.cms-inline-actions{display:inline;margin:0}.btn--sm{padding:6px 10px;font-size:.66rem}
@media(max-width:1050px){.pricing-grid{grid-template-columns:repeat(2,1fr)}.cms-subscriptions-table{overflow-x:auto}.cms-subscriptions-row{min-width:1060px}}
@media(max-width:780px){.account-metrics,.cms-business-strip{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr}.integration-panel{align-items:flex-start;flex-direction:column}.integration-panel .btn{width:100%}.account-dashboard-head{align-items:flex-start;flex-direction:column}.cms-subscription-list>div{grid-template-columns:38px minmax(0,1fr) auto}.cms-subscription-list>div>strong:last-child{grid-column:2}}
@media(max-width:560px){.pricing-grid{grid-template-columns:1fr}.pricing-card{padding:22px}.account-auth-card{padding:23px}.account-dashboard{padding-top:30px}.account-metrics article{padding-left:70px}.domain-add{grid-template-columns:1fr}.domain-add .btn{width:100%}.cms-business-strip>div{padding-left:62px}}

/* Private API documentation and integration choices. */
.integration-actions{display:flex;flex:none;gap:9px}.integration-actions .btn{white-space:nowrap}
.api-docs{min-height:75vh;padding:44px 0 72px;background:#f3f6f9}.api-docs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.api-docs-head h1{margin:3px 0 6px;color:#172a4b;font-size:clamp(1.9rem,4vw,2.65rem)}.api-docs-head p{max-width:720px;margin:0;color:#68798e;line-height:1.55}.api-docs-head>a{color:#52657c;font-size:.74rem;font-weight:800}.api-docs-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}.api-docs-nav{position:sticky;top:90px;display:grid;overflow:hidden;border:1px solid #dfe6ed;border-radius:13px;background:#fff}.api-docs-nav a{padding:12px 15px;color:#52657a;border-bottom:1px solid #e8edf2;font-size:.72rem;font-weight:800}.api-docs-nav a:last-child{border:0}.api-docs-nav a:hover{color:#df4d25;background:#fff6f2}.api-docs-content{display:grid;gap:16px}.api-docs-content .account-panel{scroll-margin-top:90px}.api-docs-content h2{margin:4px 0 9px}.api-docs-content p{color:#64768b;font-size:.77rem;line-height:1.65}.api-docs-content code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.api-docs-content p code,.api-params code{padding:2px 5px;color:#203b5c;border-radius:4px;background:#eaf1f7}.api-docs-content pre{max-width:100%;margin:15px 0 0;padding:16px;overflow:auto;color:#dce8f6;border:1px solid #263e5d;border-radius:10px;background:#142740;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre}.api-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.api-facts>span{display:grid;gap:5px;padding:12px;border:1px solid #e0e7ee;border-radius:9px;background:#f8fafc}.api-facts b{color:#7b899a;font-size:.62rem;letter-spacing:.06em}.api-facts code,.api-facts strong{color:#223a57;font-size:.76rem}.api-params{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:15px}.api-params>div,.api-error-list>div{padding:12px;border:1px solid #e2e8ee;border-radius:9px;background:#f9fbfc}.api-params p,.api-error-list p{margin:7px 0 0;font-size:.69rem}.api-error-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}.api-error-list b{color:#df4d25;font-size:.85rem}
@media(max-width:780px){.integration-actions{width:100%;flex-direction:column}.integration-actions .btn{width:100%}.api-docs-head{align-items:flex-start;flex-direction:column}.api-docs-layout{grid-template-columns:1fr}.api-docs-nav{position:static;grid-template-columns:repeat(3,1fr)}.api-docs-nav a{text-align:center}}
@media(max-width:560px){.api-docs{padding-top:30px}.api-docs-nav{grid-template-columns:repeat(2,1fr)}.api-facts,.api-params,.api-error-list{grid-template-columns:1fr}}

.account-simulation-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:13px 16px;color:#fff;border-radius:11px;background:linear-gradient(135deg,#172a4b,#244e7d);box-shadow:0 10px 24px rgba(23,42,75,.16);font-size:.75rem}.account-simulation-bar span{display:flex;align-items:center;gap:8px}.account-simulation-bar form{margin:0}.account-simulation-bar button{min-height:40px;padding:8px 13px;color:#172a4b;border:0;border-radius:7px;background:#fff;font-weight:850;cursor:pointer;white-space:nowrap}@media(max-width:620px){.account-simulation-bar{align-items:stretch;flex-direction:column}.account-simulation-bar button{width:100%}}

/* Bootstrap-backed administration modules. Custom properties keep PrecioGas branding. */
.cms-body{--bs-primary:#172a4b;--bs-primary-rgb:23,42,75;--bs-link-color:#d94d27;--bs-link-hover-color:#b83e1f}
.cms-body .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none}
.cms-alert.success{color:#12694f;border-color:#bfe4d5;background:#ecf9f4}
.cms-admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);gap:18px;align-items:start}
.cms-editor-form{margin-top:20px;scroll-margin-top:90px}.cms-editor-form>label,.cms-panel.admin-form>label{display:grid;gap:7px;margin-top:14px}
.cms-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.cms-form-grid label,.admin-form>label{display:grid;gap:7px;color:#34465e;font-size:.75rem;font-weight:800}
.cms-form-grid input,.cms-form-grid select,.cms-form-grid textarea,.admin-form>label input,.admin-form>label textarea{width:100%;min-height:44px;padding:10px 12px;color:#172a4b;border:1px solid #cbd6e1;border-radius:8px;background:#fff;font:inherit}.cms-form-grid textarea{min-height:88px}.cms-form-grid small{color:#7a899b;font-size:.66rem;line-height:1.45}
.cms-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:17px;border-top:1px solid #e5eaf0}.cms-form-actions .btn{min-height:44px}
.cms-check-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.cms-switch{display:flex!important;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dce3ea;border-radius:10px;background:#f8fafc;cursor:pointer}.cms-switch input{width:18px!important;min-height:18px!important;margin-top:2px;accent-color:#ff6336}.cms-switch span{display:grid;gap:3px}.cms-switch strong{color:#263c57}.cms-switch small{color:#75859a;font-size:.66rem;font-weight:600;line-height:1.4}
.cms-plan-list{display:grid;gap:12px}.cms-plan-row{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(135px,.3fr) auto;gap:15px;align-items:center;padding:18px;border:1px solid #dfe6ed;border-radius:13px;background:#fff;box-shadow:0 6px 20px rgba(23,42,75,.04)}.cms-plan-row.is-disabled{opacity:.67}.cms-plan-icon{display:grid;width:44px;height:44px;place-items:center;color:#df4d25;border-radius:11px;background:#fff0eb}.cms-plan-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cms-plan-title h2{margin:0;color:#172a4b;font-size:1rem}.cms-plan-row p{margin:4px 0;color:#65778c;font-size:.72rem}.cms-plan-row small{color:#8492a3;font-size:.65rem}.cms-plan-price{display:grid;text-align:right}.cms-plan-price strong{color:#172a4b;font-size:1.1rem}.cms-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.cms-row-actions form{margin:0}.cms-row-actions .btn{min-height:38px;padding:7px 10px;font-size:.68rem;white-space:nowrap}
.cms-mini-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:17px}.cms-mini-metrics article{display:grid;gap:5px;padding:16px;border:1px solid #dfe6ed;border-radius:11px;background:#fff}.cms-mini-metrics small{color:#8190a2;font-size:.61rem;font-weight:850;letter-spacing:.08em}.cms-mini-metrics strong{color:#172a4b;font-size:1.35rem}.cms-filters{display:grid;grid-template-columns:minmax(190px,1fr) 180px 160px auto auto;gap:9px;margin-bottom:15px;padding:13px;border:1px solid #dfe6ed;border-radius:11px;background:#fff}.cms-filters input,.cms-filters select{width:100%;min-height:42px;padding:8px 10px;border:1px solid #ccd7e2;border-radius:7px;background:#fff}.cms-table-wrap{max-width:100%;overflow:auto;border:1px solid #dfe6ed;border-radius:12px;background:#fff}.cms-table{width:100%;margin:0;border-collapse:collapse}.cms-table th{padding:11px 13px;color:#76869a;background:#f7f9fb;font-size:.62rem;letter-spacing:.05em;text-transform:uppercase}.cms-table td{padding:12px 13px;color:#53657a;border-top:1px solid #e8edf2;font-size:.72rem;vertical-align:middle}.cms-table td>small{display:block;margin-top:3px;color:#8492a3}.cms-person{display:flex;align-items:center;gap:10px}.cms-person>span{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;color:#fff;border-radius:10px;background:#172a4b;font-weight:850}.cms-person div{display:grid;gap:2px}.cms-person strong{color:#263b55}.cms-health-list{display:grid}.cms-health-list>div{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #e8edf2}.cms-health-list>div:last-child{border:0}.cms-health-list div div{display:grid;gap:2px}.cms-health-list strong{color:#263b55;font-size:.76rem}.cms-health-list small{color:#7b899b;font-size:.66rem}.cms-health-dot{width:12px;height:12px;flex:0 0 12px;border:3px solid #f4cbc2;border-radius:50%;background:#d84b2a}.cms-health-dot.ok{border-color:#c5ebde;background:#15906c}.cms-security-note{display:flex;gap:9px;margin:14px 0 0;padding:12px;color:#496179;border-radius:9px;background:#edf5fb;font-size:.68rem;line-height:1.5}
@media(max-width:1050px){.cms-admin-grid{grid-template-columns:1fr}.cms-plan-row{grid-template-columns:46px minmax(0,1fr) auto}.cms-plan-price{grid-column:2;text-align:left}.cms-row-actions{grid-column:3;grid-row:1/3}.cms-filters{grid-template-columns:1fr 1fr 1fr}.cms-filters .btn{width:100%}}
@media(max-width:760px){.cms-form-grid,.cms-check-row{grid-template-columns:1fr}.cms-mini-metrics{grid-template-columns:repeat(2,1fr)}.cms-plan-row{grid-template-columns:42px minmax(0,1fr)}.cms-plan-price{grid-column:2}.cms-row-actions{grid-column:1/-1;grid-row:auto;justify-content:stretch}.cms-row-actions>*{flex:1}.cms-row-actions .btn{width:100%}.cms-filters{grid-template-columns:1fr}.cms-table thead{display:none}.cms-table,.cms-table tbody,.cms-table tr,.cms-table td{display:block;width:100%}.cms-table tr{padding:10px 12px;border-top:1px solid #e2e8ee}.cms-table tr:first-child{border:0}.cms-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border:0}.cms-table td:before{content:attr(data-label);color:#8190a2;font-size:.6rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.cms-table td.cms-row-actions:before{display:none}}
@media(max-width:390px){.cms-mini-metrics{grid-template-columns:1fr 1fr}.cms-form-actions{flex-direction:column-reverse}.cms-form-actions .btn{width:100%}}

/* ---------------------------------------------------------------------------
   Barra de guardado del generador de widgets (pública y panel de cliente)
   --------------------------------------------------------------------------- */
.widget-savebar{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:14px 18px;margin:0 0 26px;padding:18px 20px;border:1px solid #dce5ee;border-radius:14px;background:#f8fafc}
.widget-savebar__field{display:grid;gap:6px;min-width:0}
.widget-savebar__field label{color:#172a4b;font-size:.72rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.widget-savebar__field input{width:100%;padding:10px 12px;border:1px solid #cfd9e6;border-radius:9px;background:#fff;color:#172a4b;font:inherit}
.widget-savebar__field input:focus-visible{outline:2px solid #ff6336;outline-offset:1px;border-color:#ff6336}
.widget-savebar__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.widget-savebar__status{grid-column:1/-1;margin:0;color:#617188;font-size:.8rem;line-height:1.45}
.widget-savebar__status[data-tone=ok]{color:#0f7b53;font-weight:700}
.widget-savebar__status[data-tone=error]{color:#c0392b;font-weight:700}
.widget-savebar__status[data-tone=dirty]{color:#a35b12;font-weight:700}
.widget-savebar--anon{grid-template-columns:1fr auto;background:#fff8f5;border-color:#ffd9cc}
.widget-savebar--anon p{grid-column:1;margin:0;color:#172a4b;font-size:.9rem;line-height:1.5}
.widget-license-note{margin:0 0 18px;padding:12px 14px;border:1px solid #dce5ee;border-radius:10px;background:#f8fafc;color:#48566b;font-size:.82rem;line-height:1.5}
@media(max-width:720px){.widget-savebar,.widget-savebar--anon{grid-template-columns:1fr}.widget-savebar__actions .btn{flex:1 1 auto}}

/* La vista previa acompaña al formulario mientras se ajusta la configuración. */
@media(min-width:1080px){.widget-builder__layout>.widget-output{position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow:auto}}

/* ------------------------------------------------------------------ planes */
/* Dos familias de licencia (sólo widget / widget + API) con un conmutador que
   funciona sin JavaScript: radios ocultos delante de los bloques. */
.pricing-switcher{position:relative}
.pricing-switcher__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pricing-switcher__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:660px;margin:0 auto 30px;padding:6px;border:1px solid #dbe3ec;border-radius:16px;background:#fff;box-shadow:0 10px 26px -18px rgba(23,42,75,.5)}
.pricing-switcher__tab{display:grid;gap:3px;padding:12px 14px;border-radius:11px;text-align:center;cursor:pointer;transition:background .18s ease,color .18s ease}
.pricing-switcher__tab strong{color:#172a4b;font-size:.95rem;font-weight:800}
.pricing-switcher__tab small{color:#6b7c92;font-size:.72rem;line-height:1.35}
.pricing-switcher__tab:hover{background:#f2f6fa}
#familia-widget:checked~.pricing-switcher__tabs label[for=familia-widget],#familia-api:checked~.pricing-switcher__tabs label[for=familia-api]{background:#172a4b}
#familia-widget:checked~.pricing-switcher__tabs label[for=familia-widget] strong,#familia-api:checked~.pricing-switcher__tabs label[for=familia-api] strong{color:#fff}
#familia-widget:checked~.pricing-switcher__tabs label[for=familia-widget] small,#familia-api:checked~.pricing-switcher__tabs label[for=familia-api] small{color:#c8d6e6}
#familia-widget:focus-visible~.pricing-switcher__tabs label[for=familia-widget],#familia-api:focus-visible~.pricing-switcher__tabs label[for=familia-api]{outline:3px solid rgba(255,99,54,.35);outline-offset:2px}
.pricing-family{display:none}
#familia-widget:checked~.pricing-family[data-family=widget],#familia-api:checked~.pricing-family[data-family=api]{display:block}

.pricing-compare{margin-top:46px}
.pricing-compare h2{margin:0 0 16px;color:#172a4b;font-size:1.3rem}
.table-scroll{overflow-x:auto;border:1px solid #dce5ee;border-radius:14px;background:#fff}
.compare-table{width:100%;min-width:620px;border-collapse:collapse;font-size:.86rem}
.compare-table th,.compare-table td{padding:12px 14px;border-bottom:1px solid #eef2f7;text-align:center;vertical-align:middle}
.compare-table thead th{background:#f7fafc;color:#172a4b;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.compare-table tbody th{color:#31405a;font-weight:700;text-align:left}
.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table tbody tr:hover{background:#fbfdff}
.compare-yes{display:inline-block;color:#0f7b53;vertical-align:middle}
.compare-no{color:#b3bfcd;font-weight:800}
.compare-text{color:#48566b;font-weight:700}
@media(max-width:720px){.pricing-switcher__tabs{grid-template-columns:1fr}}

/* -------------------------------------------------- landing del widget (/widget-gas-lp/) */
.wl-hero{padding:56px 0 44px;background:linear-gradient(135deg,#0f1f3a,#1d3d63 58%,#24507f);color:#fff}
.wl-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:38px}
.wl-hero__copy .widget-eyebrow{color:#7ee0bd}
.wl-hero h1{margin:8px 0 14px;font-size:clamp(2rem,4.2vw,3rem);line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
.wl-hero__copy>p{max-width:34rem;margin:0;color:#cfdcea;font-size:1.02rem;line-height:1.6}
.wl-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 24px}
.wl-hero__actions .btn--outline{border-color:rgba(255,255,255,.5);color:#fff}
.wl-hero__actions .btn--outline:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.wl-hero__facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.16);list-style:none}
.wl-hero__facts li{display:grid;gap:1px}
.wl-hero__facts strong{color:#fff;font-size:1.02rem}
.wl-hero__facts span{color:#a9bed6;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}
.wl-hero__demo{display:grid;gap:9px}
.wl-hero__caption{margin:0;color:#a9bed6;font-size:.75rem;text-align:center}

.wl-showcase__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:20px;margin-top:22px}
.wl-showcase__grid figure{display:grid;align-content:start;gap:9px;margin:0;padding:16px;border:1px solid #e2e9f1;border-radius:16px;background:#f8fafc}
.wl-showcase__grid figcaption{color:#5c6d84;font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}

.wl-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:18px;margin-top:24px;align-items:start}
.wl-plan{position:relative;display:grid;align-content:start;gap:12px;padding:24px;border:1px solid #dce5ee;border-radius:18px;background:#fff}
.wl-plan.is-featured{border-color:#ff6336;box-shadow:0 18px 44px -26px rgba(255,99,54,.65)}
.wl-plan .pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%)}
.wl-plan h3{margin:0;color:#172a4b;font-size:1.12rem}
.wl-plan__price{display:flex;align-items:baseline;gap:7px;margin:0}
.wl-plan__price strong{color:#172a4b;font-size:2rem;font-weight:850;letter-spacing:-.035em}
.wl-plan__price span{color:#6b7c92;font-size:.74rem;font-weight:700}
.wl-plan__pitch{margin:0;color:#48566b;font-size:.86rem;line-height:1.55}
.wl-plan ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.wl-plan li{position:relative;padding-left:22px;color:#31405a;font-size:.84rem;line-height:1.45}
/* La palomita va en SVG: el carácter ✓ falta en algunas pilas de fuentes. */
.wl-plan li::before{position:absolute;top:.24em;left:0;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.6l3.9 3.9L16 6.4' fill='none' stroke='%230f7b53' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;content:""}
.wl-plan li.is-off{color:#95a3b5}
.wl-plan li.is-off::before{top:.1em;width:auto;height:auto;background:none;color:#c3ccd8;content:"–";font-weight:900}
.wl-plan__note{margin:0;color:#7a8798;font-size:.74rem}
.wl-plan .btn{justify-content:center;text-align:center}

.wl-api-teaser{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:26px;align-items:center;margin-top:34px;padding:26px;border:1px solid #dce5ee;border-radius:18px;background:#fff}
.wl-api-teaser h3{margin:6px 0 10px;color:#172a4b;font-size:1.25rem}
.wl-api-teaser p{margin:0 0 16px;color:#48566b;font-size:.9rem;line-height:1.6}
.wl-api-teaser__code{overflow-x:auto;margin:0;padding:18px;border-radius:14px;background:#0f1f3a;color:#d7e3f2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.65}
@media(max-width:960px){.wl-hero__grid,.wl-api-teaser{grid-template-columns:1fr}.wl-hero{padding:40px 0 34px}}

/* --------------------------------------------- documentación: demos y probador */
.doc-demo{display:grid;gap:12px;margin:0 0 26px;padding:18px;border:1px solid #e2e9f1;border-radius:16px;background:#fbfdff}
.doc-demo figcaption{display:grid;gap:2px}
.doc-demo figcaption strong{color:#172a4b;font-size:.94rem}
.doc-demo figcaption span{color:#6b7c92;font-size:.78rem;line-height:1.45}
.doc-demo__stage{padding:16px;border:1px dashed #d7e0ea;border-radius:12px;background:repeating-linear-gradient(45deg,#fff,#fff 9px,#f6f9fc 9px,#f6f9fc 18px)}
.doc-demo .doc-code{margin:0}

.doc-tester{display:grid;gap:14px;margin-bottom:16px;padding:18px;border:1px solid #dce5ee;border-radius:16px;background:#f8fafc}
.doc-tester__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}
.doc-tester label{display:grid;gap:5px;color:#31405a;font-size:.8rem;font-weight:700}
.doc-tester select,.doc-tester input{padding:9px 11px;border:1px solid #ccd7e3;border-radius:9px;background:#fff;color:#172a4b;font:inherit;font-size:.85rem;font-weight:500}
.doc-tester select:focus-visible,.doc-tester input:focus-visible{outline:3px solid rgba(255,99,54,.25);outline-offset:1px}
.doc-tester small{color:#7a8798;font-size:.7rem;font-weight:500;line-height:1.4}
.doc-tester__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.doc-tester__status{color:#5c6d84;font-size:.78rem;font-weight:700}
.doc-tester__result{display:grid;gap:12px}
.doc-tester__result pre{max-height:22rem;overflow:auto}
.doc-tester__result code,[data-tester-curl]{white-space:pre-wrap;word-break:break-word}
.doc-demo__tag{justify-self:start;margin-top:3px;padding:2px 8px;border-radius:999px;background:#fff1ec;color:#c2410c;font-size:.66rem;font-style:normal;font-weight:800;letter-spacing:.04em;text-transform:uppercase}


/* Catálogo de planes agrupado por familia y enlaces privados de contratación. */
.cms-plan-family{margin-bottom:26px}
.cms-plan-family__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.cms-plan-family__head h2{display:flex;align-items:center;gap:9px;margin:0;color:#172a4b;font-size:1.05rem}
.cms-plan-family__head p{margin:2px 0 0;color:#6b7c92;font-size:.78rem}
.cms-offer-url{width:min(320px,100%);padding:6px 9px;border:1px solid #d5dfea;border-radius:8px;background:#fff;color:#41506a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}
.offer-card{position:relative;display:grid;gap:11px;max-width:520px;margin:0 auto 34px;padding:26px;border:1px solid #ff6336;border-radius:18px;background:#fff;box-shadow:0 20px 46px -30px rgba(255,99,54,.7)}
.offer-card .pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%)}
.offer-card h2{margin:0;color:#172a4b;font-size:1.2rem}
.offer-card p{margin:0;color:#48566b;font-size:.88rem;line-height:1.55}
.offer-card__price{display:flex;align-items:baseline;gap:8px}
/* Salida discreta al catálogo público: con un enlace privado abierto la página
   ya no lo muestra, para que nadie contrate por error un plan que no era. */
.offer-card__alt{margin-top:4px;text-align:center}
.offer-card__alt a{color:#66778c;font-size:.8rem;font-weight:650;text-decoration:underline}
.offer-card__alt a:hover{color:#172a4b}
.offer-card__price strong{color:#172a4b;font-size:2rem;font-weight:850;letter-spacing:-.035em}
.offer-card__price span{color:#6b7c92;font-size:.74rem;font-weight:700}
.offer-card ul{display:grid;gap:6px;margin:0;padding-left:18px;color:#31405a;font-size:.85rem}
.offer-card__note{color:#7a8798;font-size:.75rem}



/* Landing: audiencias y preguntas frecuentes */
.wl-uses__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px;margin-top:22px}
.wl-uses__grid article{padding:20px;border:1px solid #e2e9f1;border-radius:16px;background:#fff}
.wl-uses__grid h3{margin:0 0 7px;color:#172a4b;font-size:1rem}
.wl-uses__grid p{margin:0;color:#48566b;font-size:.87rem;line-height:1.6}
.wl-faq{display:grid;gap:10px;margin-top:20px;max-width:52rem}
.wl-faq details{border:1px solid #e2e9f1;border-radius:14px;background:#fff}
.wl-faq summary{padding:15px 18px;color:#172a4b;font-size:.94rem;font-weight:700;cursor:pointer;list-style:none}
.wl-faq summary::-webkit-details-marker{display:none}
.wl-faq summary::after{float:right;color:#8298b2;content:"＋"}
.wl-faq details[open] summary::after{content:"－"}
.wl-faq p{margin:0;padding:0 18px 16px;color:#48566b;font-size:.88rem;line-height:1.65}

/* Invitación a publicar el widget desde las fichas de precio. */
.widget-cta__box{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:26px;padding:28px;border:1px solid #dce5ee;border-radius:20px;background:linear-gradient(135deg,#f8fafc,#fff)}
.widget-cta__box h2{margin:8px 0 10px;color:#172a4b;font-size:1.35rem;line-height:1.2;text-wrap:balance}
.widget-cta__box p{margin:0 0 18px;color:#48566b;font-size:.92rem;line-height:1.6}
@media(max-width:820px){.widget-cta__box{grid-template-columns:1fr}}

/* ==========================================================================
   SISTEMA VISUAL 2026 — capa de modernización
   --------------------------------------------------------------------------
   Se carga al final para reafinar la base heredada sin reescribirla: tokens,
   tipografía, superficies, contornos, botones y campos. La paleta conserva el
   naranja de la marca y sólo enfría los neutros y el azul marino.
   ========================================================================== */
:root{
  /* Marca */
  --pg-orange-50:#fff5f1;--pg-orange-100:#ffe7dc;--pg-orange-200:#ffcbb4;
  --pg-orange:#ff6336;--pg-orange-600:#ee4e1d;--pg-orange-700:#c93e15;
  /* Azul marino y neutros fríos */
  --pg-navy:#0f2547;--pg-navy-soft:#17335c;--pg-navy-600:#22456f;
  --pg-ink:#0f1b2e;--pg-body:#4a5a70;--pg-muted:#7c8aa0;--pg-faint:#98a5b8;
  --pg-line:#e7ecf3;--pg-line-strong:#d8e0ea;
  --pg-page:#fbfcfe;--pg-soft:#f5f8fb;--pg-surface:#fff;
  --pg-mint:#12a87f;--pg-mint-soft:#e6f7f0;--pg-mint-ink:#0d7a56;--pg-danger:#c8382c;
  --pg-navy-900:#0b1b33;
  /* Radios */
  --pg-r-xs:8px;--pg-r-sm:10px;--pg-r-md:14px;--pg-r-lg:18px;--pg-r-xl:24px;--pg-r-2xl:32px;
  /* Sombras: capas cortas y difusas, nunca una sola sombra dura */
  --pg-sh-xs:0 1px 2px rgba(15,27,46,.05);
  --pg-sh-sm:0 1px 2px rgba(15,27,46,.04),0 4px 12px -6px rgba(15,27,46,.12);
  --pg-sh-md:0 1px 2px rgba(15,27,46,.04),0 12px 28px -14px rgba(15,27,46,.2);
  --pg-sh-lg:0 2px 4px rgba(15,27,46,.04),0 28px 60px -32px rgba(15,27,46,.35);
  --pg-ring:0 0 0 3px rgba(255,99,54,.22);
  /* Alias heredados: los nombres viejos apuntan a los nuevos valores */
  --brand:var(--pg-orange);--orange:var(--pg-orange);--orange-dark:var(--pg-orange-600);
  --navy:var(--pg-navy);--navy-2:var(--pg-navy-soft);
  --ink:var(--pg-ink);--muted:var(--pg-muted);--line:var(--pg-line);--soft-line:var(--pg-line);
  --cream:var(--pg-soft);--bg:var(--pg-page);--mint:var(--pg-mint);
  --radius:var(--pg-r-xl);--radius-sm:var(--pg-r-md);
  --shadow:var(--pg-sh-md);
}

/* --- Tipografía -------------------------------------------------------- */
/* Trebuchet MS era el origen del aire anticuado: la pila del sistema da
   formas modernas en cualquier plataforma sin pedir una webfont. */
body{
  font-family:"Inter var",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",ui-sans-serif,system-ui,sans-serif;
  font-feature-settings:"cv02","cv03","cv04","ss01";
  color:var(--pg-body);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,.brand{color:var(--pg-ink);letter-spacing:-.025em;text-wrap:balance}
h1{letter-spacing:-.038em}
h2{letter-spacing:-.032em}
p{text-wrap:pretty}
strong,b{color:inherit}
::selection{background:var(--pg-orange-200);color:var(--pg-ink)}

/* Foco visible homogéneo: un anillo naranja, nunca el contorno del navegador */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--pg-orange);outline-offset:2px;border-radius:var(--pg-r-xs)}

/* --- Botones ----------------------------------------------------------- */
.btn{
  padding:11px 18px;border-radius:var(--pg-r-md);
  font-size:.875rem;font-weight:650;letter-spacing:-.01em;line-height:1.2;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.btn:hover{transform:none}
.btn:active{transform:translateY(.5px)}
.btn--brand{background:var(--pg-orange);border-color:var(--pg-orange);color:#fff;box-shadow:var(--pg-sh-sm)}
.btn--brand:hover{background:var(--pg-orange-600);border-color:var(--pg-orange-600);box-shadow:var(--pg-sh-md)}
.btn--outline{border:1px solid var(--pg-line-strong);background:var(--pg-surface);color:var(--pg-ink);box-shadow:var(--pg-sh-xs)}
.btn--outline:hover{border-color:var(--pg-orange);color:var(--pg-orange-700);background:var(--pg-orange-50)}
.btn--ghost{border-color:transparent;background:var(--pg-soft);color:var(--pg-ink);box-shadow:none}
.btn--ghost:hover{background:#eaeff6}
.btn--lg{padding:14px 24px;font-size:.95rem;border-radius:var(--pg-r-lg)}
.btn[disabled],.btn[aria-disabled=true]{opacity:.55;pointer-events:none}

/* --- Campos ------------------------------------------------------------ */
input[type=text],input[type=email],input[type=password],input[type=search],
input[type=number],input[type=url],select,textarea{
  border-radius:var(--pg-r-sm);border:1px solid var(--pg-line-strong);
  background:var(--pg-surface);color:var(--pg-ink);
  transition:border-color .14s ease,box-shadow .14s ease}
input:focus,select:focus,textarea:focus{border-color:var(--pg-orange);box-shadow:var(--pg-ring);outline:0}
::placeholder{color:var(--pg-faint)}
input[type=checkbox],input[type=radio]{accent-color:var(--pg-orange)}

/* --- Superficies y contornos ------------------------------------------- */
/* Los bordes duros de 1px gris se sustituyen por hairlines fríos y las
   sombras negras por sombras cortas de tinte azulado. */
body:not(.cms-body) .section--soft,
body:not(.cms-body) .landing-section.soft{background:var(--pg-soft)}
.step-card,.state-card,.explore-card,.brand-row,.news-grid article,
.wl-uses__grid article,.wl-faq details,.useful-card,.pricing-card,.info-note{
  border-color:var(--pg-line)}
.step-card,.state-card{border-radius:var(--pg-r-lg);box-shadow:var(--pg-sh-xs)}
.explore-card{border-radius:var(--pg-r-xl);box-shadow:var(--pg-sh-sm)}
.explore-card:hover{box-shadow:var(--pg-sh-lg);transform:translateY(-3px)}
.brand-row{border-radius:var(--pg-r-md)}
.pricing-card{border-radius:var(--pg-r-xl);box-shadow:var(--pg-sh-sm)}
.pricing-card.is-featured{box-shadow:0 2px 4px rgba(255,99,54,.08),0 28px 60px -34px rgba(255,99,54,.6)}
.mini-price{border-radius:var(--pg-r-md);border-color:var(--pg-line);box-shadow:var(--pg-sh-xs)}
.info-note{border-radius:var(--pg-r-md)}

/* --- Cabecera y pie ---------------------------------------------------- */
.site-header{background:var(--pg-navy);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.site-header .nav a{border-radius:var(--pg-r-xs);font-weight:600;letter-spacing:-.005em}
.site-header .nav .nav-cta{border-radius:var(--pg-r-xs);border-color:rgba(255,255,255,.7)}
.footer{background:var(--pg-navy)}

/* --- Encabezados de bloque --------------------------------------------- */
.block-heading h2{letter-spacing:-.035em}
.block-heading p{color:var(--pg-muted)}
.widget-eyebrow,.admin-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--pg-orange-700);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

/* ==========================================================================
   GENERADOR DE WIDGETS (.wb)
   --------------------------------------------------------------------------
   Editor de dos zonas: ajustes a la izquierda en pestañas, lienzo de vista
   previa pegado al scroll a la derecha y el código debajo. La jerarquía la
   marcan el espacio y los hairlines; no hay tarjetas dentro de tarjetas ni
   más de un color de acento por pantalla.
   ========================================================================== */
.wb{
  --wb-side:340px;
  --wb-line:var(--pg-line);--wb-ink:var(--pg-ink);--wb-soft:var(--pg-muted);
  --wb-field:var(--pg-line-strong);
  overflow:hidden;margin:0 auto;max-width:1420px;
  border:1px solid var(--wb-line);border-radius:var(--pg-r-xl);background:var(--pg-surface);
  box-shadow:var(--pg-sh-sm)}

/* --- Barra superior ----------------------------------------------------- */
.wb__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;
  padding:14px 18px;border-bottom:1px solid var(--wb-line);background:var(--pg-surface)}
.wb__bar-title{display:grid;gap:1px;margin-right:auto;min-width:0}
.wb__eyebrow{color:var(--pg-orange-700);font-size:.62rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.wb__bar-title b{overflow:hidden;color:var(--wb-ink);font-size:.98rem;font-weight:650;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
.wb__bar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wb__bar-actions .btn{padding:9px 15px;font-size:.82rem}
.wb__name input{min-width:210px;padding:9px 12px;border:1px solid var(--wb-field);border-radius:var(--pg-r-sm);
  background:var(--pg-surface);color:var(--wb-ink);font:inherit;font-size:.84rem}
.wb__status{flex-basis:100%;margin:0;color:var(--wb-soft);font-size:.75rem}
.wb__status[data-tone=ok]{color:#0d7a56;font-weight:650}
.wb__status[data-tone=error]{color:var(--pg-danger);font-weight:650}
.wb__status[data-tone=dirty]{color:#a35b12;font-weight:650}

/* --- Estructura --------------------------------------------------------- */
.wb__body{display:grid;grid-template-columns:var(--wb-side) minmax(0,1fr);align-items:start}
/* La columna de ajustes hace su propio scroll: el editor se comporta como una
   aplicación de altura fija y la vista previa nunca se pierde de vista.
   (No se usa `position:sticky` porque `.wb` recorta con overflow:hidden.) */
.wb__side{display:grid;overflow:hidden;grid-template-rows:auto minmax(0,1fr);
  border-right:1px solid var(--wb-line);background:var(--pg-surface)}

/* Pestañas: un control segmentado compacto, sin descripciones que compitan. */
.wb__tabs{display:grid;grid-auto-flow:column;gap:2px;margin:12px;padding:3px;
  border-radius:var(--pg-r-sm);background:var(--pg-soft)}
.wb__tabs button{overflow:hidden;min-width:0;padding:8px 4px;border:0;border-radius:calc(var(--pg-r-sm) - 3px);
  background:none;color:var(--pg-body);font:inherit;font-size:.75rem;font-weight:600;
  text-overflow:ellipsis;white-space:nowrap;cursor:pointer;
  transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}
.wb__tabs button:hover{color:var(--wb-ink)}
.wb__tabs button[aria-selected=true]{background:var(--pg-surface);color:var(--wb-ink);box-shadow:var(--pg-sh-xs)}

.wb .widget-config{display:block;overflow-y:auto;max-height:min(74vh,780px);padding:4px 16px 20px;
  border:0;background:none;box-shadow:none;scrollbar-width:thin;overscroll-behavior:contain}
.wb__panel{display:grid;gap:0}

/* --- Grupos y campos ---------------------------------------------------- */
/* Cada grupo es una sección separada por un hairline, no una tarjeta. */
.wb-block{padding:16px 0;border-top:1px solid var(--wb-line)}
.wb-block:first-child{border-top:0;padding-top:8px}
.wb-block__title{margin:0 0 12px;color:var(--pg-faint);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.wb-rows{display:grid;gap:2px}

/* Un campo es una fila etiqueta / control, para que la columna de controles
   quede alineada y la lista se lea de un vistazo. */
.wb-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:10px;
  min-width:0;padding:6px 0}
.wb-row__label{color:var(--pg-body);font-size:.8rem;font-weight:500;line-height:1.3}
.wb-row select,.wb-row input[type=text],.wb-row input[type=number]{
  width:100%;padding:8px 10px;border:1px solid var(--wb-field);border-radius:var(--pg-r-xs);
  background:var(--pg-surface);color:var(--wb-ink);font:inherit;font-size:.81rem}
.wb-row--stack{grid-template-columns:minmax(0,1fr);gap:6px}
.wb-row--stack .wb-row__label{font-size:.76rem;font-weight:600}
.wb-row--switch{grid-template-columns:minmax(0,1fr) auto}
.wb-row--switch input[type=checkbox]{width:auto;margin:0;justify-self:end}
.wb-row small{grid-column:1/-1;color:var(--wb-soft);font-size:.72rem;line-height:1.45}
.wb-key{padding:12px;border:1px solid var(--pg-line);border-radius:var(--pg-r-md);background:var(--pg-soft)}
.wb-note{margin:14px 0 0;padding:11px 13px;border-radius:var(--pg-r-md);
  background:var(--pg-orange-50);color:#8a4225;font-size:.78rem;line-height:1.5}
.wb-note a{color:var(--pg-orange-700);font-weight:650}
/* Bloque del logotipo propio: la vista del archivo subido sobre un tablero
   claro, para que un PNG transparente se distinga del fondo del panel. */
.wb-brand{margin:12px 0 0;padding:12px;border:1px solid var(--pg-line);border-radius:var(--pg-r-md);background:var(--pg-soft)}
.wb-brand[hidden]{display:none}
.wb-brand__preview{display:flex;align-items:center;justify-content:center;min-height:64px;padding:10px;
  border:1px dashed var(--wb-field);border-radius:var(--pg-r-sm);background:#fff}
.wb-brand__preview img{max-width:100%;max-height:48px;width:auto;height:auto;object-fit:contain}
.wb-brand__empty{color:var(--wb-soft);font-size:.74rem;line-height:1.4;text-align:center}
.wb-brand__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.wb-brand__pick{cursor:pointer}
.wb-brand__hint{margin:10px 0 0;color:var(--wb-soft);font-size:.72rem;line-height:1.45}
.wb-brand__hint[data-tone=ok]{color:var(--pg-mint);font-weight:600}
.wb-brand__hint[data-tone=error]{color:var(--pg-danger);font-weight:600}
.wb-brand__note[hidden]{display:none}
.wb-hint{margin:12px 0 0;color:var(--wb-soft);font-size:.74rem;line-height:1.5}
.wb-limit{padding:10px 12px;border-radius:var(--pg-r-sm);background:var(--pg-orange-50);color:#8a4225}
.wb-error{margin:8px 0 0;color:var(--pg-danger);font-size:.74rem;font-weight:650}

/* --- Selecciones -------------------------------------------------------- */
.wb-choice{display:grid;gap:8px}
.wb-choice label{display:flex;align-items:flex-start;gap:10px;padding:12px;
  border:1px solid var(--wb-line);border-radius:var(--pg-r-md);background:var(--pg-surface);cursor:pointer;
  transition:border-color .14s ease,background-color .14s ease}
.wb-choice label:hover{border-color:var(--pg-line-strong)}
.wb-choice label:has(input:checked){border-color:var(--pg-orange);background:var(--pg-orange-50)}
.wb-choice input[type=radio]{flex:0 0 auto;margin-top:2px;width:auto}
.wb-choice span{display:grid;gap:1px}
.wb-choice strong{color:var(--wb-ink);font-size:.82rem;font-weight:600}
.wb-choice small{color:var(--wb-soft);font-size:.73rem}

.wb-checks{display:grid;gap:2px}
.wb-checks label{display:flex;align-items:center;gap:9px;padding:7px 0;color:var(--pg-body);font-size:.82rem;cursor:pointer}
.wb-checks input[type=checkbox]{flex:0 0 auto;width:auto;margin:0}

.wb-amount{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.wb-add{grid-column:1/-1;padding:9px 12px;border:1px dashed var(--pg-line-strong);border-radius:var(--pg-r-sm);
  background:var(--pg-surface);color:var(--pg-body);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;
  transition:border-color .14s ease,color .14s ease,background-color .14s ease}
.wb-add:hover:not(:disabled){border-color:var(--pg-orange);background:var(--pg-orange-50);color:var(--pg-orange-700)}
.wb-add:disabled{opacity:.45;cursor:not-allowed}

.wb-presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.wb-presets button,.wb-clear{padding:6px 11px;border:1px solid var(--pg-line-strong);border-radius:999px;
  background:var(--pg-surface);color:var(--pg-body);font:inherit;font-size:.73rem;font-weight:600;cursor:pointer;
  transition:border-color .14s ease,color .14s ease,background-color .14s ease}
.wb-presets button:hover,.wb-clear:hover{border-color:var(--pg-line-strong);background:var(--pg-soft)}
.wb-presets button.is-active{border-color:var(--pg-orange);background:var(--pg-orange-50);color:var(--pg-orange-700)}
.wb-selection{display:grid;gap:9px;margin-top:14px}
.wb-selection__title{color:var(--pg-body);font-size:.75rem;font-weight:600}
.wb-clear{justify-self:start}

/* --- Color -------------------------------------------------------------- */
.wb-palettes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.wb-palettes button{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;
  border:1px solid var(--pg-line-strong);border-radius:999px;background:var(--pg-surface);
  color:var(--pg-body);font:inherit;font-size:.73rem;font-weight:600;cursor:pointer}
.wb-palettes button.is-active{border-color:var(--pg-orange);background:var(--pg-orange-50);color:var(--pg-orange-700)}
.wb-palettes i{display:block;width:12px;height:12px;border-radius:50%;background:#1d4ed8}
.wb-palettes [data-palette=morado] i{background:#6d28d9}.wb-palettes [data-palette=gris] i{background:#334155}
.wb-palettes [data-palette=verde] i{background:#047857}.wb-palettes [data-palette=naranja] i{background:#ff6336}
.wb-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}
.wb-colors label{display:grid;gap:5px;min-width:0}
.wb-colors span{color:var(--wb-soft);font-size:.7rem;font-weight:500;line-height:1.3}
.wb-colors input[type=color]{width:100%;height:32px;padding:3px;border:1px solid var(--wb-field);
  border-radius:var(--pg-r-xs);background:var(--pg-surface);cursor:pointer}

/* Desplegable de lo avanzado: sin caja, sólo un encabezado accionable. */
.wb-more{margin-top:14px;border-top:1px solid var(--wb-line)}
.wb-more>summary{padding:12px 0;color:var(--wb-ink);font-size:.79rem;font-weight:600;cursor:pointer;list-style:none}
.wb-more>summary::-webkit-details-marker{display:none}
.wb-more>summary::after{float:right;color:var(--pg-faint);content:"+";font-size:1rem;font-weight:600;line-height:1}
.wb-more[open]>summary::after{content:"–"}
.wb-more>*:not(summary){margin-bottom:12px}

/* --- Plantillas --------------------------------------------------------- */
.wb-templates{display:grid;gap:8px}
.wb-template{position:relative;display:block;cursor:pointer}
.wb-template input{position:absolute;width:1px;height:1px;opacity:0}
.wb-template__body{display:grid;gap:3px;padding:12px;border:1px solid var(--wb-line);
  border-radius:var(--pg-r-md);background:var(--pg-surface);transition:border-color .14s ease,background-color .14s ease}
.wb-template:hover .wb-template__body{border-color:var(--pg-line-strong)}
.wb-template input:checked+.wb-template__body{border-color:var(--pg-orange);background:var(--pg-orange-50)}
.wb-template input:focus-visible+.wb-template__body{outline:2px solid var(--pg-orange);outline-offset:2px}
.wb-template strong{color:var(--wb-ink);font-size:.84rem;font-weight:600}
.wb-template small{color:var(--wb-soft);font-size:.72rem;line-height:1.4}
.wb-template__art{display:grid;gap:3px;margin-bottom:6px;padding:10px;border-radius:var(--pg-r-sm);background:var(--pg-soft)}
.wb-template__art i{display:block;height:6px;border-radius:3px;background:#ccd6e2}
.wb-template__art--moderna{background:#fff;border:1px solid var(--pg-line)}
.wb-template__art--moderna i:first-child{width:38%;height:12px;background:var(--pg-navy)}
.wb-template__art--moderna i:nth-child(2){width:70%;background:#dde4ed}
.wb-template__art--moderna i:last-child{width:100%;background:#eef2f7}
.wb-template__art--clasica{background:#fff;border:1px solid var(--pg-line-strong)}
.wb-template__art--clasica i:first-child{width:52%;background:var(--pg-navy)}
.wb-template__art--clasica i:nth-child(2){width:100%}
.wb-template__art--clasica i:last-child{width:100%}
.wb-template__art--minimalista{background:#fff}
.wb-template__art--minimalista i:first-child{width:44%;height:12px;background:var(--pg-navy)}
.wb-template__art--minimalista i:nth-child(2){width:26%}
.wb-template__art--minimalista i:last-child{display:none}

/* --- Lienzo y código ---------------------------------------------------- */
.wb__main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0}
.wb__canvas-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 16px;border-bottom:1px solid var(--wb-line);background:var(--pg-surface)}
.wb__devices{display:inline-flex;padding:3px;border-radius:var(--pg-r-sm);background:var(--pg-soft)}
.wb__devices button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:0;
  border-radius:calc(var(--pg-r-sm) - 3px);background:none;color:var(--pg-body);font:inherit;font-size:.76rem;
  font-weight:600;cursor:pointer;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}
.wb__devices button.is-active{background:var(--pg-surface);color:var(--wb-ink);box-shadow:var(--pg-sh-xs)}
.wb__canvas-meta{display:inline-flex;align-items:center;gap:10px}
.wb .widget-preview-scope{color:var(--wb-soft);font-size:.74rem;font-weight:600}
.wb__bg{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--pg-line-strong);
  border-radius:var(--pg-r-sm);background:var(--pg-surface);color:var(--pg-body);font:inherit;font-size:.76rem;
  font-weight:600;cursor:pointer}
.wb__bg:hover{background:var(--pg-soft)}

/* Damero muy tenue: comunica «esto es un lienzo» sin pelearse con el widget. */
.wb__canvas{display:grid;align-content:center;justify-items:center;gap:14px;padding:36px 28px;min-height:400px;
  background-color:#f4f6fa;
  background-image:radial-gradient(circle at 1px 1px,rgba(15,27,46,.07) 1px,transparent 0);
  background-size:16px 16px}
.wb__canvas.is-dark{background-color:#0f1521;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.09) 1px,transparent 0)}
.wb__frame{width:100%;max-width:100%;transition:max-width .25s ease}
.wb__canvas[data-device-width=tablet] .wb__frame{max-width:768px}
.wb__canvas[data-device-width=mobile] .wb__frame{max-width:390px}
.wb__frame [data-attribution]{margin-top:10px;font-size:.78rem}
.wb__canvas.is-dark .wb__frame [data-attribution]{color:rgba(255,255,255,.6)}

.wb__code{padding:16px;border-top:1px solid var(--wb-line);background:var(--pg-surface)}
.wb__code-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.wb__code-head strong{display:block;color:var(--wb-ink);font-size:.86rem;font-weight:650}
.wb__code-head small{display:block;margin-top:2px;color:var(--wb-soft);font-size:.74rem}
.wb__code-head .btn{padding:9px 15px;font-size:.82rem}
.wb__code-head .btn.is-copied{background:#0d7a56;border-color:#0d7a56}
.wb__code-area{width:100%;min-height:96px;padding:14px;border:0;border-radius:var(--pg-r-md);
  background:#101a2b;color:#cfdcec;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.74rem;line-height:1.65;resize:vertical;cursor:copy}
.wb__code-note{margin:10px 0 0;color:var(--wb-soft);font-size:.73rem;line-height:1.55}
.wb__code-note code{padding:1px 5px;border-radius:5px;background:var(--pg-soft);font-size:.9em}

@media(max-width:1080px){
  .wb__body{grid-template-columns:1fr}
  .wb__side{border-right:0;border-bottom:1px solid var(--wb-line)}
  .wb .widget-config{max-height:none}
  .wb__canvas{padding:22px 16px;min-height:300px}
}
@media(max-width:560px){
  .wb__bar{padding:12px 14px}
  .wb__name input{min-width:0;width:100%}
  .wb__bar-actions{width:100%}
  .wb__bar-actions .btn{flex:1}
  .wb__tabs button{padding:9px 3px;font-size:.72rem}
  .wb-row{grid-template-columns:minmax(0,1fr);gap:6px}
  .wb-amount{grid-template-columns:1fr}
  .wb__devices button span{display:none}
}

/* ==========================================================================
   LANDING DEL WIDGET — pasos y cierres
   ========================================================================== */
.wl-hero__copy .widget-eyebrow{color:#8fe3c4}
.wl-hero__facts strong{font-weight:650}

.wl-steps__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px;
  margin:24px 0 0;padding:0;list-style:none;counter-reset:none}
.wl-steps__grid li{display:grid;align-content:start;gap:8px;padding:22px;
  border:1px solid var(--pg-line);border-radius:var(--pg-r-xl);background:var(--pg-surface);box-shadow:var(--pg-sh-xs)}
.wl-steps__num{display:grid;width:32px;height:32px;place-items:center;border-radius:11px;
  background:var(--pg-orange-50);color:var(--pg-orange-700);font-size:.88rem;font-weight:700}
.wl-steps__grid h3{margin:4px 0 0;font-size:1rem}
.wl-steps__grid p{margin:0;color:var(--pg-body);font-size:.87rem;line-height:1.6}

.wl-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;
  margin-top:26px;padding:22px 26px;border:1px solid var(--pg-line);border-radius:var(--pg-r-xl);
  background:var(--pg-soft)}
.wl-cta strong{display:block;color:var(--pg-ink);font-size:1.05rem;letter-spacing:-.02em}
.wl-cta p{margin:4px 0 0;color:var(--pg-body);font-size:.88rem}
.wl-cta--strong{margin-top:0;border-color:var(--pg-orange-200);background:var(--pg-orange-50)}

.wl-seo{max-width:62rem}
.wl-seo h2{margin:0 0 14px;font-size:clamp(1.35rem,2.4vw,1.85rem)}
.wl-seo p{margin:0 0 14px;color:var(--pg-body);font-size:.95rem;line-height:1.75}
.wl-seo p:last-child{margin-bottom:0}
.wl-close{padding-top:0}

/* State and municipality landing pages ---------------------------------
   These rules intentionally live after the global typography refresh. The
   global heading color is useful on white surfaces, but it must not override
   text placed on the dark local-page hero. */
.local-hero{
  padding:40px 0 60px;
  color:#fff;
  background:linear-gradient(128deg,#14243f 0%,#1e365c 58%,#294a78 100%);
}
.local-hero__grid{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:clamp(36px,6vw,72px);
}
.local-hero h1{
  max-width:12ch;
  margin:8px 0 16px;
  color:#fff;
  font-size:clamp(2.65rem,5vw,4.25rem);
  font-weight:750;
  line-height:1.01;
  letter-spacing:-.055em;
}
.local-hero p{
  margin:0;
  color:#d5dfec;
  font-size:1rem;
  line-height:1.7;
}
.local-hero .widget-eyebrow{color:#ff9b7d}
.local-hero .breadcrumbs{margin-bottom:36px;color:#bdcada}
.local-hero .breadcrumbs a{color:#bdcada}
.local-hero .breadcrumbs a:last-child{color:#fff}
.hero-facts{gap:9px;margin-top:22px}
.hero-facts span{
  padding:8px 11px;
  color:#e8eef6;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  background:rgba(255,255,255,.09);
}
.headline-price{
  padding:28px;
  border-color:rgba(255,255,255,.2);
  border-radius:16px;
  background:rgba(255,255,255,.11);
  box-shadow:0 24px 60px rgba(5,15,31,.18);
}
.headline-price small,.headline-price span{color:#c9d5e5}
.headline-price strong{color:#fff;font-weight:750}
.widget-embed-cta--hero{
  min-height:42px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:8px;
  box-shadow:var(--pg-sh-xs);
}
.price-calc-grid{align-items:stretch}
.price-widget{
  display:flex;
  min-height:110px;
  flex-direction:column;
  justify-content:center;
  padding:19px 20px;
  border-color:var(--pg-line-strong);
  border-radius:12px;
  box-shadow:var(--pg-sh-xs);
}
.price-widget small{color:#718097;font-weight:700;letter-spacing:.025em}
.price-widget h3{color:var(--pg-ink);font-weight:650}
.price-widget strong{color:#4a5d77;font-weight:700}

@media(max-width:980px){
  .local-hero__grid{grid-template-columns:1fr;gap:30px}
  .local-hero h1{max-width:15ch}
  .headline-price{max-width:560px}
}
@media(max-width:700px){
  .local-hero{padding:28px 0 42px}
  .local-hero .breadcrumbs{margin-bottom:26px}
  .local-hero h1{font-size:clamp(2.25rem,11vw,3rem)}
  .headline-price{padding:22px}
  .price-widget{min-height:0}
}

/* Dark-surface contract -------------------------------------------------
   Components on dark backgrounds must opt into the light text palette.
   This sits after the global heading/button rules so future shared-theme
   adjustments cannot silently produce navy-on-navy or white-on-white UI. */
:is(
  .landing-hero,
  .landing-section.navy,
  .local-hero,
  .widget-page-hero,
  .pricing-hero,
  .wl-hero,
  .subscribe,
  .hero-cta-card,
  .sidebar-box--accent,
  .contact-card
) :is(h1,h2,h3,h4,h5,h6){color:#fff}

:is(.landing-hero,.local-hero,.widget-page-hero,.pricing-hero,.wl-hero) :is(h1,h2){
  text-shadow:0 1px 1px rgba(4,14,30,.08);
}

:is(.widget-page-hero,.pricing-hero,.wl-hero) :is(p,li){color:#d8e4f1}

:is(.landing-section.navy,.home-order-grid) :is(h2,h3,h4){color:#fff}

/* Outline actions invert on dark surfaces: transparent at rest and a
   restrained translucent fill on hover. */
:is(.landing-hero,.local-hero,.widget-page-hero,.pricing-hero,.wl-hero,.landing-section.navy) .btn--outline{
  color:#fff;
  border-color:rgba(255,255,255,.62);
  background:transparent;
  box-shadow:none;
}
:is(.landing-hero,.local-hero,.widget-page-hero,.pricing-hero,.wl-hero,.landing-section.navy) .btn--outline:hover{
  color:#fff;
  border-color:#fff;
  background:rgba(255,255,255,.1);
}

/* The small embed CTA is intentionally a light surface inside a dark hero. */
.local-hero .widget-embed-cta--hero{
  color:var(--pg-navy)!important;
  background:#fff;
}
.local-hero .widget-embed-cta--hero:hover{color:var(--pg-navy)!important;background:#f5f8fc}

/* Los campos del generador viven dentro de `.widget-config`, que arrastra
   reglas heredadas para `label` y `select`. Se reafirman aquí con el contexto
   `.wb` para ganar en especificidad sin tocar el bloque antiguo. */
.wb .widget-config .wb-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:10px;
  color:inherit;font-size:inherit;font-weight:inherit}
.wb .widget-config .wb-row--stack{grid-template-columns:minmax(0,1fr);gap:6px}
.wb .widget-config .wb-row--switch{grid-template-columns:minmax(0,1fr) auto}
.wb .widget-config .wb-row__label{color:var(--pg-body);font-size:.8rem;font-weight:500}
.wb .widget-config .wb-row--stack .wb-row__label{font-size:.76rem;font-weight:600}
.wb .widget-config select{min-height:0;padding:8px 10px;border-color:var(--pg-line-strong);border-radius:var(--pg-r-xs);font-size:.81rem}
.wb .widget-config .wb-choice label{display:flex;gap:10px;color:inherit;font-size:inherit;font-weight:inherit}
.wb .widget-config .wb-checks label{display:flex;gap:9px;color:var(--pg-body);font-size:.82rem;font-weight:500}
.wb .widget-config .wb-colors label{display:grid;gap:5px;font-size:inherit;font-weight:inherit}
.wb .widget-config .wb-template{display:block;gap:0;font-size:inherit;font-weight:inherit}
/* Catalogue figures are rendered from the editable plan record. */
.pricing-card__intro h2{font-size:1.2rem;line-height:1.3;margin:8px 0}
.pricing-card__intro>small{font-size:.62rem;letter-spacing:.06em;color:#68788c}
.pricing-card__intro>p{font-size:.8rem;line-height:1.6;color:#68788c;margin:0}
.pricing-figures{display:grid;gap:0;margin:0 0 auto}
.pricing-figures>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #eef1f5;font-size:.74rem}
.pricing-figures dt{font-weight:400;color:#65748a}.pricing-figures dd{margin:0;text-align:right;font-weight:700;color:#172a4b;white-space:nowrap}
.pricing-free{margin-bottom:32px}.pricing-free .pricing-card{display:grid;grid-template-columns:1.2fr .8fr 1.4fr;align-items:center;gap:24px;box-shadow:none}
.pricing-free .pricing-card>.btn{grid-column:1/3;width:auto;justify-self:start}.pricing-free .pricing-figures{grid-column:3;grid-row:1/3;width:100%}
.pricing-compare .compare-table th,.pricing-compare .compare-table td{min-width:165px}.pricing-compare .compare-table th:first-child{position:sticky;left:0;background:#f7f9fc;z-index:1}
.pricing-compare>p{color:#68788c;font-size:.8rem}.pricing-compare .table-scroll:focus-visible{outline:2px solid #ff6036;outline-offset:4px}
@media(max-width:760px){.pricing-free .pricing-card{display:flex;align-items:stretch}.pricing-free .pricing-card>.btn{width:100%}}

/* Catálogo 2026: tres familias y tres planes por familia. */
.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pricing-switcher__tabs{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}
#familia-bundle:checked~.pricing-switcher__tabs label[for=familia-bundle]{background:#172a4b}
#familia-bundle:checked~.pricing-switcher__tabs label[for=familia-bundle] strong{color:#fff}
#familia-bundle:checked~.pricing-switcher__tabs label[for=familia-bundle] small{color:#c8d6e6}
#familia-bundle:focus-visible~.pricing-switcher__tabs label[for=familia-bundle]{outline:3px solid rgba(255,99,54,.35);outline-offset:2px}
#familia-bundle:checked~.pricing-family[data-family=bundle]{display:block}
.pricing-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:38px 0 0;padding:30px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#172a4b,#244e7d);box-shadow:0 18px 42px rgba(23,42,75,.14)}
.pricing-contact span{color:#7ee0bd;font-size:.65rem;font-weight:900;letter-spacing:.1em}.pricing-contact h2{margin:6px 0;color:#fff}.pricing-contact p{max-width:720px;margin:0;color:#d8e5f1;font-size:.82rem;line-height:1.55}.pricing-contact .btn{flex:0 0 auto}
@media(max-width:720px){.pricing-grid{grid-template-columns:1fr}.pricing-switcher__tabs{grid-template-columns:1fr}.pricing-contact{align-items:flex-start;flex-direction:column}.pricing-contact .btn{width:100%}}

/* Pricing page: decision-first layout. */
.pricing-hero{padding:66px 0;background:radial-gradient(circle at 78% 18%,rgba(126,224,189,.18),transparent 27%),radial-gradient(circle at 96% 92%,rgba(76,142,199,.3),transparent 31%),linear-gradient(135deg,#12233f,#1e456f)}
.pricing-hero__layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:70px;align-items:center}
.pricing-hero__layout h1{max-width:760px}.pricing-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.pricing-hero__actions .btn{min-height:48px}
.pricing-hero__proof{display:grid;gap:0;margin:0;padding:8px 0;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(9,24,46,.27);box-shadow:0 24px 60px rgba(6,19,38,.18);list-style:none;backdrop-filter:blur(8px)}
.pricing-hero__proof li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.pricing-hero__proof li:last-child{border:0}.pricing-hero__proof i{display:grid;width:42px;height:42px;place-items:center;color:#172a4b;border-radius:12px;background:#7ee0bd}.pricing-hero__proof span{color:#bdd0e1;font-size:.72rem;line-height:1.45}.pricing-hero__proof strong{display:block;margin-bottom:2px;color:#fff;font-size:.82rem}
.pricing-section{padding-top:54px}.pricing-switcher{scroll-margin-top:90px}.pricing-switcher__tabs{position:relative;z-index:2;margin-bottom:40px;padding:7px;border:0;border-radius:18px;box-shadow:0 16px 38px -26px rgba(23,42,75,.65)}
.pricing-switcher__tab{min-height:72px;place-content:center;border:1px solid transparent}.pricing-switcher__tab strong{font-size:1rem}.pricing-switcher__tab small{font-weight:550}
.pricing-family__heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:44px;align-items:end;margin:0 0 24px;padding:0 4px}.pricing-family__heading span,.pricing-section-heading>span{color:#df4d25;font-size:.64rem;font-weight:900;letter-spacing:.1em}.pricing-family__heading h2,.pricing-section-heading h2{margin:6px 0 0;color:#172a4b;font-size:clamp(1.45rem,3vw,2rem);letter-spacing:-.025em}.pricing-family__heading p,.pricing-section-heading p{margin:0;color:#64758a;font-size:.84rem;line-height:1.65}
.pricing-family[data-family=widget] .pricing-card{border-top:4px solid #31a67e}.pricing-family[data-family=bundle] .pricing-card{border-top:4px solid #ff6336}.pricing-family[data-family=api] .pricing-card{border-top:4px solid #3979b4}
.pricing-card{gap:18px;padding:28px;border-radius:18px;transition:transform .18s ease,box-shadow .18s ease}.pricing-card:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(23,42,75,.1)}.pricing-card.is-featured{transform:translateY(-4px)}.pricing-card.is-featured:hover{transform:translateY(-7px)}
.pricing-card__intro h2{font-size:1.35rem}.pricing-card__intro>small{font-weight:900}.pricing-card__intro>p{min-height:50px}.pricing-price{padding:4px 0 2px}.pricing-price strong{font-size:2.35rem}.pricing-figures>div{padding:11px 0}.pricing-card .btn{margin-top:4px;border-radius:10px}
.pricing-paths{margin-top:72px;padding-top:62px;border-top:1px solid #dfe6ee}.pricing-section-heading{max-width:670px;margin:0 auto 28px;text-align:center}.pricing-section-heading p{margin-top:9px}.pricing-paths__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pricing-path-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:26px;border:1px solid #dce5ee;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(23,42,75,.045);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.pricing-path-card:hover{transform:translateY(-3px);border-color:#aebfd0;box-shadow:0 18px 38px rgba(23,42,75,.08)}.pricing-path-card>i{display:grid;width:46px;height:46px;margin-bottom:19px;place-items:center;color:#1a7159;border-radius:13px;background:#e5f7f0;font-size:1.05rem}.pricing-path-card>span{color:#748399;font-size:.61rem;font-weight:900;letter-spacing:.1em}.pricing-path-card h3{margin:6px 0 9px;color:#172a4b;font-size:1.12rem}.pricing-path-card p{min-height:68px;margin:0 0 18px;color:#67788d;font-size:.77rem;line-height:1.55}.pricing-path-card strong{margin-top:auto;color:#263d59;font-size:.78rem}.pricing-path-card small{margin-top:4px;color:#8491a2;font-size:.68rem}.pricing-path-card>b{position:absolute;top:16px;right:16px;padding:5px 8px;color:#fff;border-radius:20px;background:#ff6336;font-size:.55rem;letter-spacing:.07em}.pricing-path-card.is-recommended{border-color:#ffc1ae}.pricing-path-card.is-recommended>i{color:#c94a26;background:#fff0eb}
.pricing-starter{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:20px;align-items:center;margin-top:26px;padding:25px 28px;border:1px solid #dce5ee;border-radius:17px;background:#fff}.pricing-starter__icon{display:grid;width:52px;height:52px;place-items:center;color:#172a4b;border-radius:15px;background:#e9f8f2;font-size:1.05rem}.pricing-starter span{color:#15906c;font-size:.6rem;font-weight:900;letter-spacing:.1em}.pricing-starter h2{margin:4px 0;color:#172a4b;font-size:1.12rem}.pricing-starter p{margin:0;color:#68798e;font-size:.74rem;line-height:1.5}.pricing-starter__price{display:grid;min-width:105px}.pricing-starter__price strong{color:#172a4b;font-size:2rem;line-height:1}.pricing-starter__price small{margin-top:5px;color:#7c8a9d;font-size:.62rem}.pricing-starter>.btn{white-space:nowrap}
.pricing-contact{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:45px;margin-top:26px;padding:38px 42px;scroll-margin-top:90px}.pricing-contact h2{font-size:clamp(1.4rem,3vw,2rem)}.pricing-contact ul{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}.pricing-contact li{padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:20px;color:#dbe7f2;font-size:.64rem}.pricing-contact__action{display:grid;align-content:center;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(7,22,43,.25);text-align:center}.pricing-contact__action>i{margin-bottom:10px;color:#7ee0bd;font-size:1.45rem}.pricing-contact__action>strong{color:#fff;font-size:.9rem}.pricing-contact__action>small{margin:5px 0 17px;color:#b7c9da;font-size:.68rem}.pricing-contact__action .btn{width:100%}
.pricing-section>.site-wrap>.pricing-note{margin-top:24px}
@media(max-width:900px){.pricing-hero__layout{grid-template-columns:1fr;gap:34px}.pricing-hero__proof{grid-template-columns:repeat(3,1fr)}.pricing-hero__proof li{grid-template-columns:1fr;align-content:start;border-right:1px solid rgba(255,255,255,.1);border-bottom:0}.pricing-hero__proof li:last-child{border-right:0}.pricing-family__heading{grid-template-columns:1fr;gap:8px}.pricing-paths__grid{grid-template-columns:1fr}.pricing-path-card p{min-height:0}.pricing-starter{grid-template-columns:auto 1fr auto}.pricing-starter>.btn{grid-column:2/4;justify-self:start}.pricing-contact{grid-template-columns:1fr}}
@media(max-width:560px){.pricing-hero{padding:48px 0}.pricing-hero__actions{display:grid}.pricing-hero__actions .btn{width:100%}.pricing-hero__proof{grid-template-columns:1fr}.pricing-hero__proof li{grid-template-columns:42px 1fr;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.pricing-family__heading{margin-bottom:20px}.pricing-card{padding:24px}.pricing-starter{grid-template-columns:auto 1fr;padding:22px}.pricing-starter__price{grid-column:1/2}.pricing-starter>.btn{grid-column:2;width:100%}.pricing-contact{padding:28px 24px}.pricing-contact ul{display:grid}.pricing-paths{margin-top:54px;padding-top:48px}}

/* ==========================================================================
   CAPA INSTITUCIONAL
   --------------------------------------------------------------------------
   Reviste el marcado existente sin tocar su estructura. La idea rectora: el
   naranja deja de ser fondo y pasa a ser acento; el azul marino sostiene las
   zonas de autoridad; y cada cifra se presenta como un dato con procedencia
   —etiqueta, vigencia y fuente— en lugar de como un reclamo comercial.
   ========================================================================== */

/* --- Cabecera: filete de marca bajo la barra institucional --------------- */
.site-header{border-bottom:3px solid var(--pg-orange)}
.site-header .nav .nav-cta{border-color:transparent;background:var(--pg-orange);color:#fff}
.site-header .nav .nav-cta:hover{background:var(--pg-orange-600)}

/* --- Portada: el hero deja de ser un bloque naranja promocional ---------- */
.landing-hero{
  position:relative;
  background:var(--pg-navy);
  background-image:radial-gradient(120% 130% at 85% -20%,rgba(255,99,54,.18),transparent 58%),
    linear-gradient(160deg,#14243f 0%,#17335c 60%,#1b3b68 100%);
}
/* La antesala del titular vuelve a ser visible: declara la fuente del dato. */
.hero-label{
  display:inline-flex;align-items:center;gap:8px;
  margin-bottom:20px;padding:7px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);
  color:#dbe6f4;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pg-mint)}
.landing-hero h1{letter-spacing:-.038em}
.landing-hero p{color:#c3d3e6;font-size:1.02rem}
.landing-search{
  width:min(100%,620px);padding:8px 8px 8px 20px;border-radius:14px;
  box-shadow:var(--pg-sh-lg)}
.landing-search input{font-size:.98rem}
.landing-search button{
  border-radius:10px;padding:13px 26px;font-size:.9rem;font-weight:650;letter-spacing:-.01em;
  background:var(--pg-orange)}
.landing-search button:hover{background:var(--pg-orange-600)}
.popular{color:#a9bed6;font-size:.72rem}
.popular a{
  padding:7px 13px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;font-weight:500}
.popular a:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* --- Franja de precios: cada cifra es un dato con etiqueta y vigencia ---- */
.price-strip{padding:40px 0 30px}
.price-grid{gap:14px}
.mini-price{
  padding:17px 18px;border:1px solid var(--pg-line);border-radius:var(--pg-r-md);
  background:var(--pg-surface);box-shadow:var(--pg-sh-xs)}
.mini-price small{color:var(--pg-muted);font-size:.62rem;font-weight:700;letter-spacing:.07em}
.mini-price strong{
  display:block;margin-top:9px;color:var(--pg-ink);font-size:1.35rem;font-weight:700;
  letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.mini-price span{
  display:inline-block;margin:9px 0 0;padding:3px 8px;border-radius:999px;
  background:var(--pg-mint-soft);color:var(--pg-mint-ink);font-size:.58rem;font-weight:700;letter-spacing:.06em}
/* Línea de procedencia: separada por un filete, como el pie de una tabla. */
.price-date{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--pg-line);
  color:var(--pg-muted);font-size:.72rem;text-align:left}
.price-date strong{color:var(--pg-ink);font-weight:650}

/* --- Encabezados de sección --------------------------------------------- */
.center-head h2,.info-layout h2,.subscribe h2,.block-heading h2{letter-spacing:-.035em}
.center-head p,.block-heading p{color:var(--pg-muted);font-size:.95rem;line-height:1.65}
.center-head{margin-bottom:42px}

/* --- Tarjetas de contenido ---------------------------------------------- */
.step-card{border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);box-shadow:var(--pg-sh-xs)}
.step-card b{color:var(--pg-line-strong);font-size:1.35rem;font-weight:700}
.step-icon{width:44px;height:44px;border-radius:12px;background:var(--pg-orange-50);color:var(--pg-orange-700)}
.step-card h3{font-size:1.02rem;letter-spacing:-.02em}
.step-card p{color:var(--pg-body);font-size:.83rem;line-height:1.65}

.state-card{
  padding:20px;border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);
  box-shadow:var(--pg-sh-xs);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.state-card:hover{border-color:var(--pg-line-strong);box-shadow:var(--pg-sh-md);transform:translateY(-2px)}
.state-card small{color:var(--pg-faint);font-size:.6rem;font-weight:700;letter-spacing:.07em}
.state-card h3{margin:9px 0 6px;font-size:1rem;letter-spacing:-.02em}
.state-card strong{
  color:var(--pg-ink);font-size:1.5rem;font-weight:700;letter-spacing:-.035em;
  font-variant-numeric:tabular-nums}
.state-card span{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--pg-line);
  color:var(--pg-muted);font-size:.72rem;font-weight:500}

.brand-row{border:1px solid var(--pg-line);border-radius:var(--pg-r-md);transition:border-color .16s ease}
.brand-row:hover{border-color:var(--pg-line-strong)}
.brand-row h3{font-size:.86rem;letter-spacing:-.015em}
.brand-row p{color:var(--pg-muted);font-size:.68rem}

.news-grid h3{letter-spacing:-.025em}
.news-grid p{color:var(--pg-body);font-size:.78rem}
.news-image{border-radius:var(--pg-r-md)}

/* --- Banda de suscripción: institucional, no promocional ---------------- */
.subscribe{background:var(--pg-navy-900)}
.subscribe p{color:#a9bed6;font-size:.86rem}
.subscribe form{border-radius:14px;padding:6px}
.subscribe input{padding:12px 16px}
.subscribe button{
  padding:11px 24px;border-radius:10px;background:var(--pg-orange);
  font-size:.82rem;font-weight:650;letter-spacing:-.01em}
.subscribe button:hover{background:var(--pg-orange-600)}

/* --- Fichas de estado y municipio --------------------------------------- */
.local-hero{
  background:var(--pg-navy);
  background-image:radial-gradient(110% 120% at 88% -15%,rgba(255,99,54,.15),transparent 55%),
    linear-gradient(160deg,#14243f,#1b3b68)}
.local-hero p{color:#c3d3e6}
.hero-facts{gap:0;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}
.hero-facts span{
  padding:0 26px 0 0;margin-right:26px;border-right:1px solid rgba(255,255,255,.15);
  border-radius:0;background:none;color:#a9bed6;font-size:.72rem}
.hero-facts span:last-child{border-right:0;margin-right:0;padding-right:0}
.hero-facts strong{display:block;margin-top:3px;color:#fff;font-size:.95rem;font-weight:650}
/* El dato principal se presenta como ficha blanca: se lee como un certificado
   y no como un recuadro traslúcido más del degradado. */
.headline-price{
  padding:28px;border:0;border-radius:var(--pg-r-xl);
  background:var(--pg-surface);box-shadow:var(--pg-sh-lg)}
.headline-price small{
  color:var(--pg-muted);font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.headline-price strong{
  margin:14px 0 6px;color:var(--pg-ink);font-size:3.1rem;font-weight:800;
  letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.headline-price span{
  padding-top:14px;border-top:1px solid var(--pg-line);
  color:var(--pg-body);font-size:.8rem;font-variant-numeric:tabular-nums}

.breadcrumbs{
  gap:9px;margin-bottom:30px;color:var(--pg-muted);font-size:.74rem}
.breadcrumbs a:last-child{font-weight:650}

.price-widget{
  padding:20px;border:1px solid var(--pg-line);border-radius:var(--pg-r-md);
  box-shadow:var(--pg-sh-xs)}
.price-widget small{
  color:var(--pg-faint);font-size:.6rem;font-weight:700;letter-spacing:.07em}
.price-widget h3{margin:10px 0 7px;font-size:.85rem;letter-spacing:-.015em}
.price-widget strong{
  color:var(--pg-ink);font-size:1.55rem;font-weight:700;letter-spacing:-.04em;
  font-variant-numeric:tabular-nums}

.municipality-link{
  padding:15px 17px;border:1px solid var(--pg-line);border-radius:var(--pg-r-md);
  transition:border-color .14s ease,background-color .14s ease}
.municipality-link:hover{border-color:var(--pg-line-strong);background:var(--pg-soft)}
.municipality-link small{color:var(--pg-faint);font-size:.66rem}
.municipality-link>span:last-child{
  color:var(--pg-ink);font-size:.85rem;font-weight:650;font-variant-numeric:tabular-nums}

/* --- Bloque de fuente: la pieza que sostiene la credibilidad ------------- */
.source-widget{
  margin-top:26px;padding:22px 24px;border:1px solid var(--pg-line);
  border-left:3px solid var(--pg-mint);border-radius:var(--pg-r-md);
  background:var(--pg-surface)}
.source-widget>strong{
  display:block;color:var(--pg-ink);font-size:.82rem;font-weight:650;letter-spacing:-.015em}
.source-widget p{margin:9px 0 0;color:var(--pg-body);font-size:.8rem;line-height:1.7}
.source-widget a{color:var(--pg-orange-700);font-size:.76rem;font-weight:650}
.source-widget__actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--pg-line)}

.updated-badge{
  padding:7px 12px;border-radius:999px;background:var(--pg-mint-soft);
  color:var(--pg-mint-ink);font-size:.68rem;font-weight:650;letter-spacing:0}
.coverage-notice{
  padding:15px 18px;border:1px solid var(--pg-orange-100);border-radius:var(--pg-r-md);
  background:var(--pg-orange-50);color:#8a4225;font-size:.78rem;line-height:1.65}

.provider-cards article{
  padding:20px;border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);
  background:var(--pg-surface);box-shadow:var(--pg-sh-xs)}
.provider-cards p{color:var(--pg-body);font-size:.78rem;line-height:1.6}

.useful-card{
  padding:26px;border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);
  background:var(--pg-surface);box-shadow:var(--pg-sh-xs)}
.useful-card div{padding:13px 0;border-bottom:1px solid var(--pg-line)}
.useful-card>a{color:var(--pg-orange-700);font-weight:650;font-size:.78rem}

.info-layout aside{
  padding:28px;border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);background:var(--pg-surface)}
.info-note{
  border-left:3px solid var(--pg-orange);border-radius:var(--pg-r-md);
  background:var(--pg-orange-50);color:var(--pg-body)}

.outline-action{
  padding:12px 22px;border:1px solid var(--pg-line-strong);border-radius:var(--pg-r-sm);
  color:var(--pg-ink);font-size:.82rem;font-weight:650;letter-spacing:-.01em;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease}
.outline-action:hover{border-color:var(--pg-orange);background:var(--pg-orange-50);color:var(--pg-orange-700)}
.outline-action--light{border-color:rgba(255,255,255,.34);color:#fff}
.outline-action--light:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}

/* Toda cifra monetaria se alinea en columna: es lo que hace que una tabla de
   precios se lea como un documento y no como texto suelto. */
.mini-price strong,.state-card strong,.price-widget strong,.headline-price strong,
.municipality-link>span:last-child,.pricing-price strong,.wl-plan__price strong{
  font-variant-numeric:tabular-nums}

/* ==========================================================================
   ESTRUCTURA INSTITUCIONAL — componentes del sistema
   --------------------------------------------------------------------------
   Traduce al sitio el sistema que definimos en Figma: barra de procedencia,
   ficha del dato oficial, bloque de confianza, tabla de presentaciones y aviso
   de independencia. Las secciones del sitio no cambian de sitio ni de orden;
   cambia cómo se organizan por dentro.
   ========================================================================== */

/* --- Barra de procedencia ------------------------------------------------ */
.gov-bar{background:var(--pg-navy-900);border-bottom:1px solid rgba(255,255,255,.08)}
.gov-bar__inner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;
  min-height:38px;padding-block:8px}
.gov-bar__source{
  display:inline-flex;align-items:center;gap:8px;margin:0;
  color:#b6c6dc;font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.gov-bar__dot{width:7px;height:7px;border-radius:50%;background:var(--pg-mint);flex:none}
.gov-bar__meta{display:flex;flex-wrap:wrap;align-items:center;gap:20px;color:#a9bed6;font-size:.72rem}
.gov-bar__meta time{color:#fff;font-weight:600}
.gov-bar__meta a{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.3)}
.gov-bar__meta a:hover{border-bottom-color:#fff}
/* La cabecera ya no es sólo la barra de navegación: el filete naranja cierra
   el bloque institucional completo. */
.site-header{border-bottom:3px solid var(--pg-orange)}
.site-header .site-header__inner{min-height:66px}

/* --- Portada: hero de dos columnas -------------------------------------- */
.landing-hero{text-align:left}
.landing-hero__inner{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);
  align-items:center;gap:64px;padding:72px 16px}
.landing-hero__copy{min-width:0}
.landing-hero h1{margin:0 0 16px;max-width:none;text-align:left}
.landing-hero p{margin:0;max-width:34rem;text-align:left}
.landing-hero .landing-search{margin:26px 0 18px;width:100%}
.landing-hero .popular{justify-content:flex-start}

/* Ficha del dato oficial: el mismo lenguaje que la tarjeta del widget. */
.official-card{
  padding:28px 30px 24px;border-radius:var(--pg-r-xl);
  background:var(--pg-surface);box-shadow:var(--pg-sh-lg);color:var(--pg-ink);text-align:left}
.official-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.official-card__head small{
  color:var(--pg-muted);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.official-card__badge{
  padding:5px 11px;border-radius:999px;background:var(--pg-mint-soft);
  color:var(--pg-mint-ink);font-size:.62rem;font-weight:700;letter-spacing:.05em}
.official-card__price{display:flex;align-items:baseline;gap:9px;margin:16px 0 0}
.official-card__price strong{
  color:var(--pg-ink);font-size:3rem;font-weight:800;letter-spacing:-.05em;line-height:1;
  font-variant-numeric:tabular-nums}
.official-card__price span{color:var(--pg-muted);font-size:.85rem}
.official-card__second{
  margin:8px 0 0;color:var(--pg-body);font-size:.9rem;font-variant-numeric:tabular-nums}
.official-card__meta{
  display:grid;gap:5px;margin-top:20px;padding-top:16px;border-top:1px solid var(--pg-line)}
.official-card__meta span{color:var(--pg-muted);font-size:.75rem;line-height:1.5}
.official-card__meta strong{color:var(--pg-ink);font-weight:650}

/* --- Franja de precios: la nota de origen sustituye al sello genérico ---- */
.mini-price span{
  display:block;margin-top:8px;padding:0;border-radius:0;
  background:none;color:var(--pg-faint);font-size:.68rem;font-weight:500;letter-spacing:0}
.price-source{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;
  margin-top:20px;padding-top:18px;border-top:1px solid var(--pg-line)}
.price-source p{
  display:flex;align-items:flex-start;gap:9px;margin:0;max-width:78ch;
  color:var(--pg-muted);font-size:.78rem;line-height:1.6}
.price-source svg{flex:none;width:16px;height:16px;margin-top:1px;color:var(--pg-faint)}
.price-source strong{color:var(--pg-ink);font-weight:650}
.price-source a{color:var(--pg-orange-700);font-size:.78rem;font-weight:650;white-space:nowrap}
.price-strip__widget-cta{margin-top:20px}

/* --- Bloque de confianza ------------------------------------------------- */
.trust-section{background:var(--pg-page)}
.trust-head{max-width:52rem;margin-inline:0;text-align:left}
.trust-head h2{margin:10px 0}
.trust-head p{margin:0}
.trust-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:38px;align-items:stretch}
.trust-card{
  display:flex;flex-direction:column;gap:14px;padding:26px 24px;
  border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);
  background:var(--pg-surface);box-shadow:var(--pg-sh-xs)}
.trust-card__icon{
  display:grid;place-items:center;width:44px;height:44px;flex:none;
  border-radius:12px;background:var(--pg-orange-50);color:var(--pg-orange-700)}
.trust-card__icon svg{width:22px;height:22px}
.trust-card h3{margin:0;font-size:1rem;letter-spacing:-.02em}
.trust-card p{margin:0;color:var(--pg-body);font-size:.84rem;line-height:1.65}

/* --- Tabla de presentaciones -------------------------------------------- */
.price-table-wrap{
  overflow:hidden;border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);background:var(--pg-surface)}
.price-table{width:100%;border-collapse:collapse;text-align:left}
.price-table thead th{
  padding:14px 24px;background:var(--pg-soft);
  color:var(--pg-muted);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.price-table tbody tr{border-top:1px solid var(--pg-line)}
.price-table tbody th,.price-table tbody td{padding:17px 24px;vertical-align:middle}
.price-table tbody th{color:var(--pg-ink);font-size:.9rem;font-weight:600}
.price-table tbody td strong{
  color:var(--pg-ink);font-size:1.02rem;font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
.price-table__origin{color:var(--pg-muted);font-size:.8rem}
/* Lo publicado por la autoridad se distingue de lo que calculamos nosotros. */
.price-table__origin.is-official{
  display:inline-block;padding:4px 10px;border-radius:999px;
  background:var(--pg-mint-soft);color:var(--pg-mint-ink);font-size:.72rem;font-weight:600}

/* --- Aviso de independencia en el pie ------------------------------------ */
.footer-notice{
  display:flex;align-items:flex-start;gap:13px;
  margin-top:34px;padding:17px 20px;border-radius:var(--pg-r-md);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.footer-notice svg{flex:none;width:20px;height:20px;margin-top:1px;color:rgba(255,255,255,.55)}
.footer-notice p{margin:0;color:#a9bed6;font-size:.76rem;line-height:1.65}
.footer__grid strong{font-size:.64rem;letter-spacing:.09em}

/* ==========================================================================
   ADAPTACIÓN DEL RESTO DEL SITIO
   Secciones que no pasaron por Figma, alineadas al mismo sistema.
   ========================================================================== */

/* Planes y licencias */
.pricing-section{background:var(--pg-page)}
.pricing-hero{background:var(--pg-navy);background-image:linear-gradient(160deg,#14243f,#1b3b68)}
.pricing-card{border:1px solid var(--pg-line);border-radius:var(--pg-r-xl);box-shadow:var(--pg-sh-sm)}
.pricing-card.is-featured{border:1px solid var(--pg-orange);box-shadow:var(--pg-sh-lg)}
.pricing-badge{border-radius:999px;font-size:.6rem;font-weight:700;letter-spacing:.07em}
.pricing-price strong,.pricing-domain-count{font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.pricing-card h2{letter-spacing:-.025em}
.pricing-card li{color:var(--pg-body)}
.pricing-note{color:var(--pg-muted)}
.pricing-path-card,.pricing-starter,.offer-card{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-xl);box-shadow:var(--pg-sh-sm)}
.offer-card{border-color:var(--pg-orange)}

/* Directorio de marcas y fichas de proveedor */
.brand-directory>a,.brand-profile-card,.provider-cards article{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);box-shadow:var(--pg-sh-xs)}
.empty-directory{
  border:1px dashed var(--pg-line-strong);border-radius:var(--pg-r-lg);
  background:var(--pg-surface);color:var(--pg-muted)}

/* Blog y artículos */
.blog-hero,.faq-hero,.directory-hero,.search-results-hero,.brand-request-hero,.article-hero{
  background:var(--pg-soft);border-bottom:1px solid var(--pg-line)}
.post-grid article,.related-posts article,.post-featured{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);background:var(--pg-surface)}
.article-content{color:var(--pg-body)}
.blog-sidebar>div,.article-sidebar>div{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);background:var(--pg-surface)}

/* Preguntas frecuentes y búsqueda */
.faq-layout details,.service-query-faq details{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-md);background:var(--pg-surface)}
.search-result-list>a{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-md);background:var(--pg-surface)}
.search-result-list>a:hover{border-color:var(--pg-line-strong);background:var(--pg-soft)}
.search-widget{border-radius:var(--pg-r-lg)}
.service-query-section{background:var(--pg-page)}
.service-query-grid article{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);background:var(--pg-surface)}

/* Cuenta de cliente en el sitio público */
.account-dashboard{background:var(--pg-page)}
.account-panel,.account-metrics article,.account-empty,.account-auth-card{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);box-shadow:var(--pg-sh-xs)}
.account-metrics strong{font-variant-numeric:tabular-nums}

/* Bloques narrativos de la portada */
.home-order-grid>div,.info-cards article,.process-steps article{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);background:var(--pg-surface)}
.landing-section.navy .home-order-grid>div{
  border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05)}

/* --- Adaptaciones responsivas de lo nuevo -------------------------------- */
@media(max-width:1080px){
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .landing-hero__inner{grid-template-columns:1fr;gap:36px;padding:52px 16px}
  .official-card{max-width:440px}
  .gov-bar__inner{justify-content:flex-start}
}
@media(max-width:760px){
  .trust-grid{grid-template-columns:1fr}
  .price-source{flex-direction:column;align-items:flex-start}
  /* La tabla se apila: cada fila pasa a ser una ficha con su etiqueta. */
  .price-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .price-table,.price-table tbody,.price-table tr,.price-table th,.price-table td{display:block;width:100%}
  .price-table tbody tr{padding:14px 18px}
  .price-table tbody th,.price-table tbody td{
    display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 0}
  .price-table tbody td::before{
    content:attr(data-label);color:var(--pg-faint);font-size:.66rem;font-weight:700;
    letter-spacing:.07em;text-transform:uppercase}
  .price-table tbody th{border-bottom:1px solid var(--pg-line);padding-bottom:10px;margin-bottom:4px}
}
@media(max-width:560px){
  .gov-bar__source{font-size:.6rem}
  .gov-bar__meta{font-size:.68rem;gap:14px}
  .official-card__price strong{font-size:2.5rem}
  .footer-notice{padding:15px 16px}
}

/* ==========================================================================
   CABECERA Y HERO — réplica del sistema de diseño
   --------------------------------------------------------------------------
   Valores tomados del archivo de Figma: azul institucional plano (sin
   degradados que ensucien el contraste), naranja sólo en la acción principal
   y estado activo explícito en la navegación.
   ========================================================================== */

/* --- Barra de procedencia ------------------------------------------------ */
.gov-bar{background:var(--pg-navy-900);border-bottom:0}
.gov-bar__inner{min-height:36px;padding-block:7px;gap:8px 24px}
.gov-bar__source{gap:8px;font-size:.63rem;letter-spacing:.11em}
.gov-bar__meta{gap:24px;font-size:.72rem;color:#afc0d6}
.gov-bar__meta time{color:#fff;font-weight:600}
.gov-bar__meta a{color:#fff;font-weight:500;border-bottom:0}
.gov-bar__meta a:hover{border-bottom:1px solid rgba(255,255,255,.5)}

/* --- Navegación ---------------------------------------------------------- */
.site-header{background:var(--pg-navy);border-bottom:0;box-shadow:none}
.site-header__inner{min-height:72px;gap:32px}
.site-header .brand--logo{display:grid;gap:2px;align-content:center}
.brand__tagline{
  display:block;color:#afc0d6;font-size:.6rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;line-height:1.2}
.site-header .nav{gap:4px}
.site-header .nav a{
  padding:9px 13px;border:0;border-radius:8px;
  color:#afc0d6;font-size:.81rem;font-weight:600;letter-spacing:-.005em;
  transition:background-color .15s ease,color .15s ease}
.site-header .nav a:hover{background:rgba(255,255,255,.07);color:#fff}
/* El estado activo es un bloque sólido, no un subrayado: se lee de un vistazo
   en qué zona del sitio está el visitante. */
.site-header .nav a.is-current{background:var(--pg-navy-600);color:#fff}
.site-header .nav .nav-account{margin-left:12px;color:#dbe6f4}
.site-header .nav .nav-cta{
  margin-left:4px;padding:11px 18px;border:0;border-radius:10px;
  background:var(--pg-orange);color:#fff;font-weight:650}
.site-header .nav .nav-cta:hover{background:var(--pg-orange-600)}

/* --- Hero ---------------------------------------------------------------- */
/* Azul plano: el degradado radial competía con la ficha blanca y bajaba el
   contraste del titular. */
.landing-hero{background:var(--pg-navy);background-image:none}
.landing-hero__inner{gap:72px;padding:76px 16px 80px;align-items:center}
.hero-label{
  gap:8px;margin-bottom:22px;padding:7px 14px 7px 12px;
  border:0;border-radius:999px;background:var(--pg-navy-600);
  color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.09em}
.hero-label::before{content:none}
.hero-label svg{width:14px;height:14px;flex:none;color:var(--pg-mint)}
.landing-hero h1{
  margin:0 0 18px;font-size:clamp(2.2rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.035em}
.landing-hero p{color:#c3d3e6;font-size:1rem;line-height:1.65;max-width:35rem}
.landing-hero .landing-search{
  display:flex;align-items:center;gap:0;width:100%;max-width:620px;
  margin:28px 0 20px;padding:8px 8px 8px 22px;border-radius:14px;
  background:#fff;box-shadow:var(--pg-sh-lg)}
.landing-search>span{display:grid;place-items:center;color:var(--pg-faint)}
.landing-search>span svg{width:20px;height:20px}
.landing-search input{padding:12px 14px;font-size:.98rem;color:var(--pg-ink)}
.landing-search input::placeholder{color:var(--pg-faint)}
.landing-search button{
  flex:none;padding:13px 26px;border-radius:10px;background:var(--pg-orange);
  font-size:.88rem;font-weight:650;letter-spacing:-.01em}
.landing-search button:hover{background:var(--pg-orange-600)}
.landing-hero .popular{gap:8px;color:#afc0d6;font-size:.76rem}
.landing-hero .popular a{
  padding:7px 13px;border:1px solid var(--pg-navy-600);border-radius:999px;
  background:transparent;color:#fff;font-size:.78rem;font-weight:500}
.landing-hero .popular a:hover{border-color:#7d9ac0;background:rgba(255,255,255,.06)}

/* --- Ficha del dato oficial ---------------------------------------------- */
.official-card{
  padding:28px 30px 24px;border-radius:20px;background:#fff;
  box-shadow:0 2px 4px rgba(15,27,46,.04),0 28px 60px -32px rgba(15,27,46,.5)}
.official-card__head small{color:#5b6b84;font-size:.66rem;letter-spacing:.09em}
.official-card__badge{
  padding:5px 11px;background:#e4f5ee;color:#0e8f66;font-size:.63rem;font-weight:700;letter-spacing:.05em}
.official-card__price{margin:18px 0 0;gap:9px;align-items:baseline}
.official-card__price strong{font-size:3rem;font-weight:800;letter-spacing:-.05em}
.official-card__price span{color:#5b6b84;font-size:.88rem}
.official-card__second{margin:9px 0 0;color:#33445e;font-size:.92rem}
/* Variación semanal: verde cuando baja, rojo cuando sube. El sentido del color
   es el del bolsillo del lector, no el del gráfico bursátil. */
.official-card__trend{
  display:inline-flex;align-items:center;gap:7px;margin:14px 0 0;
  padding:7px 13px 7px 11px;border-radius:999px;
  font-size:.79rem;font-weight:650;font-variant-numeric:tabular-nums}
.official-card__trend svg{width:13px;height:13px;flex:none}
.official-card__trend.is-down{background:#e4f5ee;color:#0e8f66}
.official-card__trend.is-up{background:#fdeceb;color:#c8382c}
.official-card__trend.is-up svg{transform:rotate(180deg)}
.official-card__meta{margin-top:20px;padding-top:16px;gap:6px}
.official-card__meta span{color:#5b6b84;font-size:.78rem}
.official-card__meta span:last-child{color:#8494a9}
.official-card__meta strong{color:#33445e;font-weight:600}

/* ==========================================================================
   NAVEGACIÓN — prácticas transversales
   ========================================================================== */
/* Salto al contenido: lo primero que encuentra quien navega con teclado. */
.skip-link{
  position:absolute;left:16px;top:-100px;z-index:200;
  padding:12px 18px;border-radius:0 0 10px 10px;
  background:var(--pg-orange);color:#fff;font-size:.85rem;font-weight:650;
  transition:top .16s ease}
.skip-link:focus{top:0}

/* Migas: la ruta de vuelta siempre visible en las pantallas interiores. */
.breadcrumbs{align-items:center}
.breadcrumbs a{color:inherit;border-bottom:1px solid transparent}
.breadcrumbs a:hover{border-bottom-color:currentColor}
.breadcrumbs a:last-child{color:var(--pg-ink);border-bottom:0;pointer-events:none}
.local-hero .breadcrumbs a:last-child{color:#fff}
.page-breadcrumbs{
  padding:14px 0;background:var(--pg-surface);border-bottom:1px solid var(--pg-line)}
.page-breadcrumbs .breadcrumbs{margin:0}

/* El enlace de sección repetido en cada bloque ancla la lectura larga. */
.center-action{margin-top:36px}

@media(max-width:1180px){
  .site-header__inner{gap:20px}
  .site-header .nav a{padding:9px 10px;font-size:.78rem}
  .site-header .nav .nav-account{margin-left:6px}
}
@media(max-width:980px){
  .landing-hero__inner{gap:40px;padding:56px 16px 60px}
  .landing-hero h1{font-size:clamp(1.95rem,6vw,2.5rem)}
  .brand__tagline{display:none}
  .official-card{max-width:460px}
}
@media(max-width:560px){
  .landing-hero .landing-search{padding:6px 6px 6px 16px;border-radius:12px}
  .landing-search button{padding:12px 18px;font-size:.82rem}
  .official-card{padding:24px 22px 20px}
  .official-card__price strong{font-size:2.5rem}
}

/* ==========================================================================
   HERO DE INICIO — valores exactos del nodo 5:32
   --------------------------------------------------------------------------
   Escala tipográfica y elevaciones tomadas literalmente del archivo de diseño.
   Los anchos internos (620 del titular, 600 del lead, 620 del buscador, 420 de
   la ficha) son los del nodo: el contenedor del sitio es más estrecho que el
   lienzo de 1440, pero al fijar los hijos el resultado coincide.
   ========================================================================== */

/* Elevaciones del sistema, con los valores del archivo */
:root{
  --pg-elev-2:0 1px 2px rgba(15,27,46,.04),0 8px 20px -10px rgba(15,27,46,.16);
  --pg-elev-3:0 2px 4px rgba(15,27,46,.04),0 24px 48px -24px rgba(15,27,46,.28);
}

.landing-hero{background:var(--pg-navy);background-image:none}
.landing-hero__inner{
  display:grid;grid-template-columns:minmax(0,1fr) 420px;
  align-items:center;gap:64px;padding:72px 16px}
.landing-hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}

/* Distintivo oficial — Label/S sobre navy/600 */
.hero-label{
  display:inline-flex;align-items:center;gap:8px;
  margin:0;padding:7px 14px 7px 12px;border:0;border-radius:999px;
  background:var(--pg-navy-600);color:#fff;
  font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.88px;text-transform:uppercase}
.hero-label::before{content:none}
.hero-label svg{display:block;width:14px;height:14px;flex:none}

/* Display/L — 44 / 1.08 / -1.232px */
.landing-hero h1{
  margin:0;max-width:620px;
  font-size:clamp(2rem,4.4vw,2.75rem);font-weight:700;line-height:1.08;letter-spacing:-.028em;
  color:#fff;text-align:left}
/* Body/L — 17 / 1.65 sobre ink/on-dark-soft */
.landing-hero p{
  margin:0;max-width:600px;color:#afc0d6;
  font-size:17px;font-weight:400;line-height:1.65;text-align:left}

/* Buscador — 620 × 64, Elevation/2 */
.landing-hero .landing-search{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:620px;height:64px;margin:0;
  padding:8px 8px 8px 22px;border-radius:14px;
  background:#fff;box-shadow:var(--pg-elev-2)}
.landing-search>span{display:grid;place-items:center;flex:none}
.landing-search>span svg{display:block;width:20px;height:20px}
.landing-hero .landing-search input{
  min-width:0;flex:1;margin-left:12px;padding:0;border:0;outline:0;background:none;
  color:var(--pg-ink);font-size:17px;line-height:1.65}
.landing-hero .landing-search input::placeholder{color:#8494a9;opacity:1}
/* Label/M — 13 / 1.25 / -0.065px */
.landing-hero .landing-search button{
  flex:none;padding:13px 26px;border:0;border-radius:10px;
  background:var(--pg-orange);color:#fff;
  font-size:13px;font-weight:600;line-height:1.25;letter-spacing:-.005em;cursor:pointer}
.landing-hero .landing-search button:hover{background:var(--pg-orange-600)}

/* Estados frecuentes — Body/S */
.landing-hero .popular{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;
  color:#afc0d6;font-size:13px;line-height:1.55}
.landing-hero .popular a{
  padding:7px 13px;border:1px solid var(--pg-navy-600);border-radius:999px;
  background:transparent;color:#fff;font-size:13px;font-weight:400;line-height:1.55}
.landing-hero .popular a:hover{border-color:#7d9ac0;background:rgba(255,255,255,.06)}

/* --- Ficha del promedio nacional — 420 px, Elevation/3 ------------------- */
.official-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  width:420px;max-width:100%;padding:28px 30px 24px;border:0;border-radius:20px;
  background:#fff;color:var(--pg-ink);text-align:left;box-shadow:var(--pg-elev-3)}
.official-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.official-card__head small{
  color:#5b6b84;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.88px;text-transform:uppercase}
.official-card__badge{
  padding:5px 10px;border-radius:999px;background:#e4f5ee;color:#0e8f66;
  font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.88px;text-transform:uppercase}
/* Number/XL — 48 / 1 / -1.92px */
.official-card__price{display:flex;align-items:baseline;gap:8px;margin:0;padding-top:14px}
.official-card__price strong{
  color:#0f1b2e;font-size:48px;font-weight:800;line-height:1;letter-spacing:-.04em;
  font-variant-numeric:tabular-nums}
.official-card__price span{color:#5b6b84;font-size:15px;font-weight:400;line-height:1.6}
.official-card__second{
  margin:0;color:#33445e;font-size:15px;font-weight:400;line-height:1.6;
  font-variant-numeric:tabular-nums}
/* Variación — Label/M en píldora verified-soft */
.official-card__trend{
  display:inline-flex;align-items:center;gap:7px;margin:0;
  padding:7px 13px 7px 11px;border-radius:999px;
  font-size:13px;font-weight:600;line-height:1.25;letter-spacing:-.005em;
  font-variant-numeric:tabular-nums}
.official-card__trend svg{display:block;width:12px;height:12px;flex:none}
.official-card__trend.is-down{background:#e4f5ee;color:#0e8f66}
.official-card__trend.is-up{background:#fdeceb;color:#c8382c}
.official-card__trend.is-up svg{transform:rotate(180deg)}
/* Separador + procedencia — Body/S */
.official-card__meta{
  display:flex;flex-direction:column;gap:4px;width:100%;
  margin:0;padding-top:16px;border-top:1px solid #e4eaf2}
.official-card__meta span{color:#33445e;font-size:13px;font-weight:400;line-height:1.55}
.official-card__meta span:last-child{color:#8494a9}
.official-card__meta strong{color:#33445e;font-weight:400}

@media(max-width:980px){
  .landing-hero__inner{grid-template-columns:minmax(0,1fr);gap:40px;padding:56px 16px 60px}
  .official-card{width:100%;max-width:460px}
}
@media(max-width:560px){
  .landing-hero__copy{gap:16px}
  .landing-hero .landing-search{height:auto;padding:6px 6px 6px 16px;border-radius:12px}
  .landing-hero .landing-search input{font-size:16px}
  .landing-hero .landing-search button{padding:12px 18px}
  .official-card{padding:24px 22px 20px}
  .official-card__price strong{font-size:40px}
}

/* ==========================================================================
   NORMALIZACIÓN — botones, buscadores y tarjetas
   --------------------------------------------------------------------------
   El sitio arrastraba media docena de familias de botón (.btn, .outline-action,
   .small-action, .cms-toolbar-button, .widget-embed-cta…) con radios, pesos y
   alturas distintos. Aquí convergen todas en el mismo control, y los buscadores
   y las tarjetas hacen lo propio.
   ========================================================================== */

/* --- Superficie de control compartida ------------------------------------ */
.btn,.outline-action,.small-action,.widget-embed-cta,.cms-toolbar-button,.hero-action{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:11px 18px;border-radius:var(--pg-r-sm);
  border:1px solid transparent;
  font-size:.875rem;font-weight:650;line-height:1.2;letter-spacing:-.01em;
  text-align:center;text-decoration:none;cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.btn--lg{min-height:52px;padding:14px 24px;font-size:.95rem;border-radius:var(--pg-r-md)}
.btn--sm,.small-action{min-height:36px;padding:8px 14px;font-size:.8rem}
/* Primario: naranja lleno. Es el único control que puede usar la marca. */
.btn--brand{background:var(--pg-orange);border-color:var(--pg-orange);color:#fff;box-shadow:none}
.btn--brand:hover{background:var(--pg-orange-600);border-color:var(--pg-orange-600)}
/* Secundario: contorno neutro que vira a marca al pasar por encima. */
.btn--outline,.outline-action,.widget-embed-cta,.cms-toolbar-button,.hero-action{
  border-color:var(--pg-line-strong);background:var(--pg-surface);color:var(--pg-ink)}
.btn--outline:hover,.outline-action:hover,.widget-embed-cta:hover,
.cms-toolbar-button:hover,.hero-action:hover{
  border-color:var(--pg-orange);background:var(--pg-orange-50);color:var(--pg-orange-700)}
.btn--ghost{border-color:transparent;background:var(--pg-soft);color:var(--pg-ink)}
.btn--ghost:hover{background:#e6ecf4}
/* Sobre fondo oscuro el contorno se aclara en lugar de desaparecer. */
.landing-section.navy .outline-action,.outline-action--light,
.local-hero .hero-action,.wl-hero__actions .btn--outline{
  border-color:rgba(255,255,255,.34);background:transparent;color:#fff}
.landing-section.navy .outline-action:hover,.outline-action--light:hover,
.local-hero .hero-action:hover,.wl-hero__actions .btn--outline:hover{
  border-color:#fff;background:rgba(255,255,255,.1);color:#fff}
.btn[disabled],.btn[aria-disabled=true]{opacity:.5;pointer-events:none}

/* --- Buscadores ---------------------------------------------------------- */
/* Un solo campo de búsqueda en todo el sitio: caja blanca, contorno neutro,
   lupa a la izquierda y acción a la derecha. */
.search-widget form,.location-search-large,.cms-brand-search,.cms-filters label{
  display:flex;align-items:center;gap:10px;
  padding:6px 6px 6px 16px;border:1px solid var(--pg-line-strong);
  border-radius:var(--pg-r-md);background:var(--pg-surface)}
.search-widget form:focus-within,.location-search-large:focus-within,
.cms-brand-search:focus-within,.cms-filters label:focus-within{
  border-color:var(--pg-orange);box-shadow:var(--pg-ring)}
.search-widget input,.location-search-large input,.cms-brand-search input,.cms-filters input[type=search]{
  flex:1;min-width:0;padding:11px 0;border:0;outline:0;background:none;
  color:var(--pg-ink);font-size:.95rem}
.search-widget input::placeholder,.location-search-large input::placeholder{color:var(--pg-faint)}
.search-widget button,.location-search-large button{flex:none;min-height:40px;padding:10px 20px}

/* --- Tarjetas ------------------------------------------------------------ */
/* Un solo lenguaje de tarjeta: fondo blanco, hairline y elevación mínima.
   Las sombras largas quedan reservadas a lo que flota sobre color. */
.step-card,.state-card,.explore-card,.brand-row,.pricing-card,.trust-card,
.price-widget,.provider-cards article,.useful-card,.account-panel,
.account-metrics article,.wl-uses__grid article,.wl-plan,.wl-faq details,
.post-grid article,.related-posts article,.service-query-grid article{
  border:1px solid var(--pg-line);border-radius:var(--pg-r-lg);
  background:var(--pg-surface);box-shadow:var(--pg-sh-xs)}
/* Sólo las tarjetas accionables reaccionan al puntero. */
a.state-card:hover,a.explore-card:hover,a.brand-row:hover,a.municipality-link:hover{
  border-color:var(--pg-line-strong);box-shadow:var(--pg-sh-md)}
.pricing-card.is-featured,.wl-plan.is-featured{border-color:var(--pg-orange)}

/* ==========================================================================
   DESBORDES Y ALINEACIÓN
   ========================================================================== */
/* Un hijo de flex/grid no encoge por debajo de su contenido salvo que se le
   permita: es el origen de casi todo el texto que se salía de su caja. */
.price-source>p,.source-widget__actions>*,.block-heading>div,.center-head,
.footer-notice>p,.gov-bar__source,.wl-cta>div,.integration-panel>div,
.account-panel-head>div,.cms-page-heading>div{min-width:0}
.price-source{align-items:flex-start}
.price-source>p{flex:1 1 24rem;max-width:none}
.price-source>a{flex:0 0 auto;align-self:center}
.price-source svg{flex:none}
/* El texto largo parte por palabra en lugar de estirar la caja. */
.mini-price small,.state-card h3,.price-widget h3,.municipality-link strong,
.brand-row h3,.trust-card h3,.wl-uses__grid h3{overflow-wrap:break-word}
/* Las tablas anchas hacen su propio scroll, nunca el documento. */
.price-table-wrap,.table-scroll,.cms-table-wrap{overflow-x:auto;max-width:100%}
/* Las rejillas nunca fuerzan una columna más ancha que su celda. */
.state-grid,.price-grid,.trust-grid,.municipality-grid,.brand-list,
.explore-grid,.steps-grid,.wl-plans,.pricing-grid{min-width:0}
.state-grid>*,.price-grid>*,.trust-grid>*,.municipality-grid>*,.brand-list>*,
.explore-grid>*,.steps-grid>*{min-width:0}
/* Encabezados de bloque: el título y la acción se separan sin encimarse. */
.block-heading{flex-wrap:wrap;align-items:flex-end}
.block-heading>div{flex:1 1 22rem}
.block-heading>a,.block-heading>.btn{flex:0 0 auto}

/* --- Paginación ---------------------------------------------------------- */
/* Listas largas (municipios, marcas, blog) reparten su contenido en páginas
   en lugar de crecer sin fin o esconderse tras un scroll interno. */
.pagination{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  margin:24px 0 0;padding:0;list-style:none}
.pagination a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;min-height:42px;padding:10px 14px;
  border:1px solid var(--pg-line);border-radius:var(--pg-r-sm);
  background:var(--pg-surface);color:var(--pg-body);
  font-size:.85rem;font-weight:600;line-height:1;
  transition:border-color .14s ease,background-color .14s ease,color .14s ease}
.pagination a:hover{border-color:var(--pg-line-strong);background:var(--pg-soft);color:var(--pg-ink)}
.pagination a.active{
  border-color:var(--pg-orange);background:var(--pg-orange);color:#fff;pointer-events:none}
.pagination__step{padding-inline:16px;color:var(--pg-ink)}
.pagination__gap{padding:0 4px;color:var(--pg-faint);font-size:.85rem}
/* El recuento explica de un vistazo cuánto falta por recorrer. */
.list-count{
  margin:18px 0 0;color:var(--pg-muted);font-size:.8rem;font-variant-numeric:tabular-nums}
.list-count b{color:var(--pg-ink);font-weight:650}
/* La rejilla de municipios ya no necesita scroll interno: hay páginas. */
.municipality-grid--dense{max-height:none;overflow:visible;padding-right:0}
@media(max-width:560px){
  .pagination a{min-width:38px;min-height:38px;padding:9px 11px;font-size:.8rem}
  .pagination__step{width:100%}
}

/* ==========================================================================
   GENERADOR — refinamiento de uso
   --------------------------------------------------------------------------
   Tres correcciones de fondo: la columna de ajustes deja de tener scroll
   propio (un scroll dentro de otro es la queja clásica de estos editores), la
   vista previa se ancla para no perderse al configurar, y el nombre del widget
   deja de aparecer tres veces en la misma barra.
   ========================================================================== */

/* --- Barra ---------------------------------------------------------------- */
.wb__bar{align-items:flex-end;padding:16px 20px;gap:12px 16px}
.wb__bar-title b{font-size:1.02rem;font-weight:650}
.wb__name{display:grid;gap:4px}
.wb__name-label{
  color:var(--pg-faint);font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.wb__name input{min-width:230px}
.wb__status{order:9;flex-basis:100%;margin:0}
/* El estado sólo grita cuando hay algo pendiente o algo falló. */
.wb__status[data-tone=dirty]::before,.wb__status[data-tone=error]::before{
  content:"";display:inline-block;width:6px;height:6px;margin-right:7px;
  border-radius:50%;background:currentColor;vertical-align:middle}

/* --- Estructura: sin scroll anidado, con vista previa anclada ------------ */
.wb{overflow:visible}
.wb__body{align-items:start}
/* Tres hijos posibles (aviso, pestañas, formulario): una columna simple se
   comporta mejor que una rejilla de filas fijas. Y sin `overflow:hidden` en la
   raíz hay que redondear las esquinas pieza por pieza. */
.wb__side{display:block;overflow:visible;border-radius:0 0 0 var(--pg-r-xl)}
.wb__bar{border-radius:var(--pg-r-xl) var(--pg-r-xl) 0 0}
.wb__code{border-radius:0 0 var(--pg-r-xl) 0}
.wb .widget-config{max-height:none;overflow:visible;padding:4px 18px 24px}
.wb__main{position:sticky;top:12px;align-self:start}
.wb__canvas{min-height:340px}

/* --- Pestañas numeradas --------------------------------------------------- */
.wb__tabs{margin:14px 18px;gap:3px}
.wb__tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 6px}
.wb__tab-step{
  display:grid;place-items:center;width:18px;height:18px;flex:none;
  border-radius:50%;background:var(--pg-line);color:var(--pg-muted);
  font-size:.63rem;font-weight:700;line-height:1}
.wb__tabs button[aria-selected=true] .wb__tab-step{background:var(--pg-orange);color:#fff}

/* --- Aviso de plan: una sola vez, fuera del área que hace scroll ---------- */
.wb-note{margin:16px 18px 0;padding:12px 14px;font-size:.78rem}

/* --- Elección de alcance -------------------------------------------------- */
/* El control va a la izquierda del texto, no encima: es una lista de opciones,
   no una rejilla de tarjetas. */
.wb-choice label{align-items:flex-start;padding:13px 14px}
.wb-choice input[type=radio]{
  width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;accent-color:var(--pg-orange)}
.wb-choice span{flex:1 1 auto;min-width:0}

/* --- Lienzo --------------------------------------------------------------- */
.wb .widget-preview-scope{
  padding:5px 10px;border-radius:999px;background:var(--pg-soft);
  color:var(--pg-muted);font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}
/* La atribución es parte de lo que se pega: se anuncia como tal. */
.wb__frame [data-attribution]{margin-top:12px}

/* --- Código --------------------------------------------------------------- */
.wb__code-area{min-height:132px;font-size:.76rem;line-height:1.7}
.wb__code-head .btn.is-copied{background:#0d7a56;border-color:#0d7a56;color:#fff}

@media(max-width:1080px){
  .wb__main{position:static}
  .wb__side{border-radius:0}
}
@media(max-width:560px){
  .wb__name input{min-width:0;width:100%}
  .wb__tabs{margin:12px 14px}
  .wb-note{margin:12px 14px 0}
  .wb .widget-config{padding:4px 14px 20px}
}

/* ==========================================================================
   MIGAS DE PAN
   --------------------------------------------------------------------------
   Eran una línea de 11 px con barras inclinadas sueltas sobre una franja
   blanca que no pertenecía ni a la cabecera ni al hero. Ahora es una banda
   propia, con el separador convertido en chevron y la página actual marcada.
   ========================================================================== */
.page-breadcrumbs{
  padding:0;background:var(--pg-soft);border-bottom:1px solid var(--pg-line)}
.page-breadcrumbs .breadcrumbs{margin:0;min-height:46px}
.breadcrumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:2px;
  margin-bottom:28px;color:var(--pg-muted);font-size:.8rem;line-height:1.4}
.breadcrumbs a{
  display:inline-flex;align-items:center;padding:5px 9px;border:0;border-radius:7px;
  color:var(--pg-body);font-weight:500;text-decoration:none;
  transition:background-color .14s ease,color .14s ease}
.breadcrumbs a:hover{background:rgba(15,27,46,.06);color:var(--pg-ink)}
/* El primer salto lleva un icono de inicio: ancla la ruta sin añadir palabras. */
.breadcrumbs a:first-child::before{
  content:"";width:14px;height:14px;margin-right:7px;flex:none;background:currentColor;
  -webkit-mask:var(--pg-home-icon) center/14px no-repeat;mask:var(--pg-home-icon) center/14px no-repeat}
.breadcrumbs a:last-child{
  color:var(--pg-ink);font-weight:650;background:none;pointer-events:none}
/* La barra inclinada del marcado se sustituye por un chevron más discreto. */
.breadcrumbs span{
  display:inline-flex;align-items:center;justify-content:center;width:16px;
  opacity:1;color:var(--pg-faint);font-size:0}
.breadcrumbs span::before{content:"\203A";font-size:.95rem;line-height:1}
:root{--pg-home-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.6 10.4 12 3.5l8.4 6.9V20a1 1 0 0 1-1 1h-4.7v-6.1H9.3V21H4.6a1 1 0 0 1-1-1v-9.6Z'/%3E%3C/svg%3E")}
/* Sobre cualquier hero oscuro las migas conservan el mismo esqueleto y
   comparten su fondo, en lugar de formar una franja aparte. */
.local-hero .breadcrumbs,.wl-hero .breadcrumbs,.pricing-hero .breadcrumbs{
  margin:0 0 4px;padding-top:22px}
.local-hero .breadcrumbs a,.wl-hero .breadcrumbs a,.pricing-hero .breadcrumbs a{color:rgba(255,255,255,.72)}
.local-hero .breadcrumbs a:hover,.wl-hero .breadcrumbs a:hover,.pricing-hero .breadcrumbs a:hover{
  background:rgba(255,255,255,.12);color:#fff}
.local-hero .breadcrumbs a:last-child,.wl-hero .breadcrumbs a:last-child,
.pricing-hero .breadcrumbs a:last-child{color:#fff}
.local-hero .breadcrumbs span,.wl-hero .breadcrumbs span,.pricing-hero .breadcrumbs span{
  color:rgba(255,255,255,.4)}
/* El hero cede el aire que antes ocupaba la franja de migas. */
.wl-hero:has(.breadcrumbs),.pricing-hero:has(.breadcrumbs){padding-top:0}
@media(max-width:560px){
  .page-breadcrumbs .breadcrumbs{min-height:42px;font-size:.76rem}
  .breadcrumbs a{padding:4px 7px}
}

/* ==========================================================================
   GENERADOR — distribución de los controles
   --------------------------------------------------------------------------
   Con la navegación del panel en horizontal el editor recupera ancho, así que
   los ajustes dejan de ser una columna estrecha e interminable: a partir de
   cierto ancho la lista se reparte en dos columnas de campos apilados, que es
   lo que corta la altura a la mitad sin esconder nada tras un scroll.
   ========================================================================== */
.wb{--wb-side:420px}
.wb__side{container-type:inline-size;container-name:wbside}

@container wbside (min-width:400px){
  /* Dos columnas de campos: la etiqueta pasa encima de su control porque a
     media anchura ya no caben lado a lado. */
  .wb .widget-config .wb-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
  .wb .widget-config .wb-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:5px}
  .wb .widget-config .wb-row__label{font-size:.75rem;font-weight:600}
  /* Los que necesitan la línea entera la conservan. */
  .wb .widget-config .wb-row--switch{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .wb .widget-config .wb-row--stack.wb-key,
  .wb .widget-config .wb-row small{grid-column:1/-1}
  .wb-add{grid-column:1/-1}
  /* Las plantillas caben en fila: se comparan de un vistazo. */
  .wb-templates{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .wb-template__body{padding:11px 10px}
  .wb-template small{display:none}
  /* Alcance y cantidades también aprovechan el ancho. */
  .wb-choice{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wb-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}
}
/* Por encima de dos columnas los bloques largos se reparten mejor todavía. */
@container wbside (min-width:640px){
  .wb .widget-config .wb-rows{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wb-templates{gap:12px}
  .wb-template small{display:block}
}
.wb-choice{display:grid;gap:8px}

/* El bloque de ajustes finos era el más alto: sus grupos se pliegan y sólo
   queda abierto el primero. */
.wb-block--fold{padding:0;border-top:1px solid var(--wb-line)}
.wb-block--fold>summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:15px 0;color:var(--pg-ink);font-size:.82rem;font-weight:650;
  cursor:pointer;list-style:none}
.wb-block--fold>summary::-webkit-details-marker{display:none}
.wb-block--fold>summary::after{
  content:"+";color:var(--pg-faint);font-size:1.05rem;font-weight:600;line-height:1}
.wb-block--fold[open]>summary::after{content:"–"}
.wb-block--fold>*:not(summary){margin-bottom:16px}

@media(max-width:1080px){
  .wb{--wb-side:auto}
}

/* ==========================================================================
   GENERADOR — controles
   --------------------------------------------------------------------------
   Los `<select>` se conservan: para cinco u ocho opciones siguen siendo el
   control más compacto, y además son los que enlazan las pruebas de extremo a
   extremo. Lo que cambia es cómo se ven y cuánto ocupan: altura fija de 34 px,
   chevron propio en lugar del cromo del sistema —que en Windows y Linux mide
   distinto y descuadraba las filas— y un anillo de foco consistente.
   ========================================================================== */
.wb{
  --wb-control-h:34px;
  --wb-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b84' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}

.wb .widget-config select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  height:var(--wb-control-h);min-height:0;
  padding:0 30px 0 11px;
  border:1px solid var(--pg-line-strong);border-radius:8px;
  background-color:var(--pg-surface);
  background-image:var(--wb-chevron);
  background-repeat:no-repeat;background-position:right 9px center;background-size:13px;
  color:var(--pg-ink);font:inherit;font-size:.81rem;line-height:1.2;cursor:pointer;
  transition:border-color .14s ease,box-shadow .14s ease}
.wb .widget-config select:hover{border-color:#bcc9d9}
.wb .widget-config select:focus-visible{
  border-color:var(--pg-orange);box-shadow:var(--pg-ring);outline:0}
.wb .widget-config input[type=text],
.wb .widget-config input[type=number]{
  height:var(--wb-control-h);padding:0 11px;border:1px solid var(--pg-line-strong);border-radius:8px;
  font-size:.81rem}

/* --- Interruptor: sustituye la casilla suelta del modo compacto ---------- */
.wb .widget-config .wb-row--switch input[type=checkbox]{
  position:relative;flex:none;
  -webkit-appearance:none;appearance:none;
  width:38px;height:22px;margin:0;border:0;border-radius:999px;
  background:var(--pg-line-strong);cursor:pointer;
  transition:background-color .16s ease}
.wb .widget-config .wb-row--switch input[type=checkbox]::after{
  content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;
  border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(15,27,46,.32);
  transition:transform .16s cubic-bezier(.2,.7,.3,1)}
.wb .widget-config .wb-row--switch input[type=checkbox]:checked{background:var(--pg-orange)}
.wb .widget-config .wb-row--switch input[type=checkbox]:checked::after{transform:translateX(16px)}
.wb .widget-config .wb-row--switch input[type=checkbox]:focus-visible{
  box-shadow:var(--pg-ring);outline:0}

/* --- Casillas de precio: fichas seleccionables, no casillas sueltas ------ */
.wb .widget-config .wb-checks label{
  display:flex;align-items:center;gap:9px;
  padding:9px 12px;border:1px solid var(--pg-line);border-radius:10px;
  background:var(--pg-surface);cursor:pointer;
  transition:border-color .14s ease,background-color .14s ease}
.wb .widget-config .wb-checks label:hover{border-color:var(--pg-line-strong)}
.wb .widget-config .wb-checks label:has(input:checked){
  border-color:var(--pg-orange);background:var(--pg-orange-50)}
.wb .widget-config .wb-checks input[type=checkbox]{
  flex:none;width:16px;height:16px;margin:0;accent-color:var(--pg-orange)}

/* --- Alcance: dos opciones con su control alineado al texto -------------- */
.wb .widget-config .wb-choice input[type=radio]{
  flex:none;width:17px;height:17px;margin:1px 0 0;accent-color:var(--pg-orange)}

/* --- Cantidad: el número y su unidad forman un solo control -------------- */
.wb-amount{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.wb-add{min-height:var(--wb-control-h);padding:0 12px;font-size:.77rem}

/* --- Paletas: muestra de color con su nombre, en una sola fila ----------- */
.wb-palettes{gap:5px}
.wb-palettes button{gap:7px;padding:5px 10px 5px 6px;font-size:.72rem}
.wb-palettes i{width:16px;height:16px;border-radius:5px}

/* --- Colores: muestra y etiqueta en línea, dos por fila ------------------ */
/* En rejilla de cuatro columnas los nombres se partían en tres renglones. */
.wb .widget-config .wb-colors{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}
.wb .widget-config .wb-colors label{
  display:flex;align-items:center;gap:9px;min-width:0;padding:3px 0;cursor:pointer}
.wb-colors input[type=color]{
  flex:none;width:28px;height:28px;padding:2px;border:1px solid var(--pg-line-strong);
  border-radius:7px;background:var(--pg-surface);cursor:pointer}
.wb-colors input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}
.wb-colors input[type=color]::-moz-color-swatch{border:0;border-radius:4px}
.wb-colors span{
  min-width:0;overflow:hidden;color:var(--pg-body);font-size:.75rem;font-weight:500;
  text-overflow:ellipsis;white-space:nowrap}

/* --- Atajos: la fila de presets no compite con los campos --------------- */
.wb-presets button{min-height:30px;padding:5px 11px;font-size:.72rem}
