:root{--navy:#071e3d;--blue:#1769ff;--sky:#57c5ff;--yellow:#ffd33d;--ink:#11223b;--muted:#617089;--line:#e5eaf2;--paper:#f7f9fc;--white:#fff;--radius:18px;--shadow:0 15px 40px rgba(12,35,70,.10)}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:15px/1.55 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(15px);border-bottom:1px solid #edf0f5}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;gap:10px;align-items:center;letter-spacing:.2px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(140deg,var(--blue),#8b43ff);color:#fff;font:700 21px/1 'Space Grotesk'}.brand strong,.brand em{display:block;font:700 14px/1 'Space Grotesk'}.brand em{font-style:normal;color:var(--blue);letter-spacing:2.9px;font-size:12px;margin-top:3px}.main-nav{display:flex;align-items:center;gap:22px;font-weight:700;font-size:13px}.main-nav a:not(.btn):hover{color:var(--blue)}.nav-user{color:var(--blue)}.admin-link{color:#854c00!important}.nav-toggle{display:none;background:none;border:0;font-size:23px}.btn{border:0;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:7px;border-radius:11px;padding:13px 18px;font:800 13px Manrope;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(125deg,var(--blue),#6b4dff);color:white;box-shadow:0 9px 20px rgba(25,96,255,.23)}.btn-dark{background:var(--navy);color:#fff}.btn-light{background:#fff;color:var(--navy)}.btn-ghost{border:1px solid #d5deec;background:#fff;color:var(--navy)}.btn-small{padding:9px 13px;font-size:12px}.btn-full{width:100%}.alert{margin-top:14px;padding:13px 16px;border-radius:12px;font-weight:700}.alert.success{background:#ebfbef;color:#176b2a}.alert.error,.form-errors{background:#fff0f0;color:#a12626;border:1px solid #ffd9d9}.hero{position:relative;overflow:hidden;padding:76px 0 65px;background:radial-gradient(circle at 88% 15%,#ddecff 0,transparent 30%),linear-gradient(160deg,#f9fcff 0%,#edf5ff 100%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.eyebrow{font:800 11px/1.1 Manrope;letter-spacing:1.8px;color:var(--blue);margin:0 0 13px}.hero h1,.page-hero h1,.auth-card h1,.proposal-detail h1{font:700 clamp(35px,4vw,62px)/1.03 'Space Grotesk';letter-spacing:-2.5px;margin:0 0 18px}.hero h1 span{color:var(--blue)}.hero-text{font-size:18px;max-width:585px;color:#40516b}.hero-actions{display:flex;gap:12px;margin:29px 0 17px}.hero-note{font-size:12px;color:#65738a}.hero-panel{background:#fff;border:1px solid #e8eef8;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.pulse-top{padding:16px 18px;font-size:10px;letter-spacing:1px;font-weight:800;border-bottom:1px solid var(--line);color:var(--navy)}.pulse-top small{float:right;color:#7d8aa0;letter-spacing:0}.pulse-dot{display:inline-block;width:7px;height:7px;background:#16c784;border-radius:20px;margin-right:5px}.mini-map{height:260px;background:#dfeaff}.pulse-card{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}.pulse-card small,.pulse-card strong{display:block}.pulse-card small{font-size:10px;color:var(--muted)}.pulse-card strong{font-size:13px;margin-top:3px}.pulse-card>span{font-size:25px;color:var(--blue)}.stats{background:var(--navy);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stats-grid div{padding:27px 22px;border-right:1px solid rgba(255,255,255,.12)}.stats-grid b{display:block;font:700 30px/1 'Space Grotesk';color:var(--yellow)}.stats-grid span{font-size:11px;color:#cdd8e8}.section{padding:70px 0}.section-soft{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading h2,.two-col h2,.poll-home h2{font:700 33px/1.1 'Space Grotesk';letter-spacing:-1px;margin:0}.section-heading.small{margin-bottom:17px}.section-heading.small h2{font-size:21px}.text-link,.card-link{font-weight:800;color:var(--blue);font-size:13px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.proposal-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:0 4px 20px rgba(11,37,77,.035);overflow:hidden;background:#fff}.proposal-card-head{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-bottom:16px}.category-chip,.status{display:inline-flex;align-items:center;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:800}.category-chip{background:#f0f5ff;color:#284573}.status-pending{background:#fff1d7;color:#a75f00}.status-received{background:#e5f2ff;color:#1768a7}.status-reviewing{background:#ece7ff;color:#5c45b0}.status-submitted{background:#e6f9f7;color:#087467}.status-resolved{background:#e9f9e9;color:#26762a}.status-rejected{background:#f7ebeb;color:#8f3636}.proposal-image{width:calc(100% + 38px);height:176px;object-fit:cover;margin:-3px -19px 17px}.proposal-card h3{font:700 18px/1.22 'Space Grotesk';margin:0 0 9px}.proposal-card p{color:var(--muted);font-size:13px;margin:0 0 17px}.proposal-meta{display:flex;justify-content:space-between;color:#687991;border-top:1px solid var(--line);padding-top:13px;font-size:11px;margin-bottom:13px}.empty-state{border:1px dashed #cdd8e8;border-radius:18px;padding:35px;text-align:center;background:#fbfdff;grid-column:1/-1}.two-col{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:center}.section-intro{color:var(--muted);max-width:370px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.steps div{background:#fff;border-radius:16px;padding:20px}.steps i{font:700 18px 'Space Grotesk';color:var(--blue);font-style:normal}.steps h3{font:700 17px 'Space Grotesk';margin:19px 0 6px}.steps p{color:var(--muted);font-size:12px;margin:0}.poll-home{border-radius:22px;padding:37px;background:linear-gradient(120deg,#07224b,#153b77);color:#fff;display:grid;grid-template-columns:1fr .8fr;gap:40px}.poll-home .eyebrow{color:var(--yellow)}.poll-home h2{font-size:34px}.poll-home p{color:#c9d8ed}.poll-preview{align-self:center}.poll-preview div{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;font-size:13px}.cta-strip{padding:45px 0;background:linear-gradient(135deg,var(--blue),#7b44ef);color:#fff}.cta-strip .container{display:flex;align-items:center;justify-content:space-between}.cta-strip .eyebrow{color:#f9df5d}.cta-strip h2{font:700 34px/1 'Space Grotesk';margin:0}.cta-strip p{margin:10px 0 0;color:#e9efff}.site-footer{background:#071a36;color:#d3def0;padding-top:46px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer-brand{color:#fff}.site-footer p{color:#9db1cf}.site-footer strong,.site-footer a,.site-footer span{display:block;margin-bottom:10px;font-size:12px}.site-footer strong{color:#fff}.site-footer a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding:17px 0;font-size:11px;color:#8ea1c0}.page-hero{padding:65px 0;background:linear-gradient(120deg,#eef5ff,#fafcff)}.page-hero.compact{padding:46px 0}.page-hero h1{font-size:48px;margin-bottom:12px}.page-hero p{margin:0 0 20px;color:#53647b;font-size:16px}.filter-bar{display:flex;gap:10px;padding:13px;background:#f5f8fc;border-radius:15px;margin-bottom:17px}.filter-bar input{flex:1}.filter-bar select{min-width:170px}.results-count{font-size:12px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #dce4ef;border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink);font:500 14px Manrope;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,255,.1)}textarea{resize:vertical}.narrow{max-width:780px}.info-box{padding:14px 16px;border-radius:12px;background:#edf5ff;color:#254a7a;margin-bottom:19px;font-size:13px}.form-errors{padding:11px 14px;border-radius:12px;margin-bottom:18px}.form-errors p{margin:3px 0;font-size:12px}.form-stack{display:grid;gap:16px}.form-stack label{font-size:12px;font-weight:800;color:#354965}.form-stack label>input,.form-stack label>select,.form-stack label>textarea{margin-top:6px}.form-stack small{display:block;color:var(--muted);font-weight:500;margin-top:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel-form{padding:26px;border:1px solid var(--line);border-radius:18px}.check{display:flex!important;gap:8px;align-items:flex-start;font-weight:500!important}.check input{width:auto;margin:3px 0 0!important}.map-picker,.public-map,.detail-map{border-radius:15px;border:1px solid #d7e1ed;height:340px;overflow:hidden}.auth-page{min-height:calc(100vh - 230px);display:grid;place-items:center;background:linear-gradient(135deg,#f6f9ff,#edf5ff);padding:55px 18px}.auth-card{width:min(100%,470px);padding:37px;background:#fff;border:1px solid #e5ebf4;border-radius:22px;box-shadow:var(--shadow)}.auth-card h1{font-size:36px;letter-spacing:-1.5px}.muted{color:var(--muted);font-size:13px}.auth-foot{text-align:center;color:var(--muted);font-size:13px}.auth-foot a{color:var(--blue);font-weight:800}.center{text-align:center}.big-icon{margin:0 auto 13px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e8f9ea;color:#26762a;font-size:29px;font-weight:bold}.proposal-detail{max-width:1050px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:25px}.breadcrumb a{color:var(--blue)}.proposal-detail-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:35px}.proposal-detail h1{font-size:44px;margin:13px 0}.proposal-author{font-size:12px;color:var(--muted);margin-bottom:21px}.detail-image{width:100%;max-height:460px;object-fit:cover;border-radius:18px;margin:0 0 20px}.detail-text{font-size:16px;line-height:1.8}.location-text{font-size:13px;color:#52647c}.support-box{height:max-content;background:#f5f8ff;border-radius:18px;padding:25px;text-align:center}.support-box strong{display:block;font:700 56px/1 'Space Grotesk';color:var(--blue)}.support-box>span{display:block;font-size:12px;color:var(--muted);margin:8px 0 20px}.support-box p{font-size:12px;color:var(--muted)}.support-box hr{border:0;border-top:1px solid #dae3f0;margin:19px 0}.map-legend{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:15px}.map-legend span{font-size:11px;background:#f3f6fb;padding:7px 10px;border-radius:20px}.public-map{height:590px}.map-disclaimer{color:var(--muted);font-size:11px}.poll-page{padding:35px;background:#fff;border:1px solid var(--line);border-radius:20px}.poll-page h1{font:700 35px/1.12 'Space Grotesk';margin:0 0 10px}.vote-list{display:grid;gap:10px;margin:25px 0}.vote-list label{display:flex;gap:10px;align-items:center;border:1px solid #dae3ed;border-radius:12px;padding:14px;font-weight:700;cursor:pointer}.vote-list input{width:auto}.poll-results{border-top:1px solid var(--line);padding-top:21px}.result-row{margin:13px 0}.result-row>div{display:flex;justify-content:space-between;font-size:13px}.result-row i{display:block;height:9px;background:#ecf1f8;border-radius:9px;overflow:hidden;margin:6px 0}.result-row em{height:100%;display:block;background:linear-gradient(90deg,var(--blue),#67b8ff);border-radius:9px}.result-row small{font-size:10px;color:var(--muted)}.profile-head{display:flex;justify-content:space-between;align-items:center}.profile-stats,.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:38px}.profile-stats div,.admin-metrics div{padding:20px;border:1px solid var(--line);border-radius:15px}.profile-stats b,.admin-metrics b{display:block;font:700 30px/1 'Space Grotesk';color:var(--blue)}.profile-stats span,.admin-metrics span{font-size:11px;color:var(--muted)}.profile-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:32px}.profile-proposal{display:flex;justify-content:space-between;gap:15px;padding:14px;border-bottom:1px solid var(--line)}.profile-proposal b,.profile-proposal span{display:block}.profile-proposal b{font-size:13px}.profile-proposal span{font-size:11px;color:var(--muted);margin-top:3px}.profile-proposal strong{color:var(--blue);font-size:12px}.notifications{background:#f8faff;border-radius:15px;padding:18px}.notification{display:block;padding:12px 0;border-bottom:1px solid #e4eaf3}.notification b{font-size:12px}.notification p{font-size:11px;color:var(--muted);margin:3px 0}.notification small{font-size:10px;color:#8b9ab0}.legal h1{font:700 42px/1.1 'Space Grotesk';margin:0 0 24px}.legal h2{font:700 21px 'Space Grotesk';margin:30px 0 8px}.legal p{color:#4e607a}.admin-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.admin-heading h1{font:700 38px/1 'Space Grotesk';margin:0}.admin-tabs{display:flex;gap:7px}.admin-tabs a{padding:8px 10px;font-size:11px;font-weight:800;border-radius:8px;background:#eff3f8}.admin-tabs a.active{color:#fff;background:var(--navy)}.admin-metrics{grid-template-columns:repeat(4,1fr)}.admin-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}.admin-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;letter-spacing:.5px;color:#7d8da5;padding:10px;border-bottom:1px solid var(--line)}td{font-size:12px;padding:13px 10px;border-bottom:1px solid #edf1f5}td b,td small{display:block}td small{color:var(--muted);font-size:10px;margin-top:2px}.admin-split{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:start}.review-card{position:sticky;top:94px}.review-card h2{font:700 23px/1.2 'Space Grotesk'}.review-image{width:100%;max-height:200px;object-fit:cover;border-radius:12px}.history-item{padding:12px 0;border-bottom:1px solid var(--line)}.history-item b,.history-item span{display:block}.history-item b{font-size:12px}.history-item span{font-size:10px;color:var(--muted);margin-top:4px}@media(max-width:820px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:14px}.main-nav.open{display:flex}.hero{padding:44px 0}.hero-grid,.two-col,.poll-home,.proposal-detail-grid,.profile-grid,.admin-split{grid-template-columns:1fr;gap:28px}.hero-panel{max-width:550px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid div{padding:18px}.cards-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:20px}.filter-bar,.profile-head,.admin-heading,.cta-strip .container{flex-direction:column;align-items:stretch}.filter-bar select{min-width:0}.form-row{grid-template-columns:1fr}.proposal-detail h1,.page-hero h1{font-size:36px}.public-map{height:430px}.profile-stats,.admin-metrics{grid-template-columns:1fr 1fr}.review-card{position:static}.admin-tabs{overflow:auto}.cta-strip{padding:35px 0}.cta-strip .btn{margin-top:20px}.hero h1{letter-spacing:-1.7px}.section{padding:48px 0}}


/* Seguimiento público de las propuestas */
.proposal-progress{margin:18px 0;padding:16px 18px;border-radius:14px;display:grid;gap:5px;font-size:15px;line-height:1.45}
.proposal-progress b{font-size:16px}
.proposal-progress-submitted{background:#e9fbf8;border:1px solid #b6ede5;color:#0e6f63}
.proposal-progress-resolved{background:#eefaf0;border:1px solid #c7e9cf;color:#20743b}
.review-card label small{display:block;margin-top:6px;color:#63738c;font-size:12px;line-height:1.35}


/* ─────────────────────────────────────────────────────────────
   Identidad visual · La Línea Más Fuerte
   ───────────────────────────────────────────────────────────── */
:root{
  --brand-navy:#08274b;
  --brand-blue:#2864ff;
  --brand-violet:#7554ff;
  --brand-soft:#f2f6ff;
}

body{background:#fff;color:#112747}
.site-header{box-shadow:0 1px 0 rgba(10,39,75,.04)}
.nav-wrap{min-height:84px}
.brand{gap:9px;min-width:max-content}
.brand-mark{width:40px;height:40px;border-radius:13px;font-size:22px;box-shadow:0 8px 18px rgba(56,89,255,.18)}
.brand-wordmark{display:grid;gap:3px;line-height:1}
.brand-wordmark strong{font-size:13px;letter-spacing:.25px}
.brand-wordmark em{font-size:11px;letter-spacing:2.15px;margin:0;color:var(--blue)}
.brand-subtitle{font:700 9px/1.25 Manrope;letter-spacing:.6px;text-transform:uppercase;color:#7a89a1;border-left:1px solid #dce4ef;padding-left:10px;margin-left:2px}
.main-nav{gap:24px;font-size:13px}
.main-nav .nav-join{color:#fff}

.hero{padding:82px 0 72px;background:
 radial-gradient(circle at 94% 10%,rgba(82,151,255,.20),transparent 26%),
 radial-gradient(circle at 48% 100%,rgba(111,86,255,.10),transparent 28%),
 linear-gradient(145deg,#fbfdff 0%,#edf4ff 100%)}
.hero h1{max-width:710px;font-size:clamp(39px,4.5vw,66px)}
.hero-text{max-width:610px}
.hero-panel{border-radius:25px;box-shadow:0 20px 50px rgba(11,42,86,.12)}
.pulse-top{color:#13355e}
.pulse-card{background:#fff}
.pulse-card strong{font-size:14px}
.stats{background:linear-gradient(105deg,#08274b,#123d75)}
.stats-grid div:last-child{border-right:0}

.page-hero.compact,.profile-hero{
  background:linear-gradient(135deg,#f4f8ff 0%,#eef4ff 52%,#f9fbff 100%);
  border-bottom:1px solid #e4ebf5;
}
.profile-hero{padding:48px 0 44px}
.profile-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.profile-hero h1{font:700 clamp(35px,4vw,52px)/1.05 'Space Grotesk';letter-spacing:-2px;margin:0 0 12px}
.profile-hero p:not(.eyebrow){margin:0;color:#4d6481;max-width:630px;font-size:16px}
.profile-new-btn{white-space:nowrap}
.profile-section{padding:38px 0 74px}
.profile-stats{margin:0 0 30px;gap:16px}
.profile-stat-card{
  background:#fff;
  border:1px solid #e0e8f3!important;
  box-shadow:0 10px 24px rgba(14,42,83,.06);
  padding:22px!important;
}
.profile-grid{align-items:start}
.profile-panel{border:1px solid #e1e8f1;border-radius:18px;background:#fff;padding:22px;box-shadow:0 9px 25px rgba(12,42,79,.045)}
.profile-panel.notifications{background:#fbfcff}
.profile-panel .section-heading{margin-bottom:14px}
.profile-panel .eyebrow{margin-bottom:7px}
.profile-proposal{border:1px solid #e6edf5;border-radius:13px;margin:9px 0;padding:15px;background:#fff;transition:.18s}
.profile-proposal:hover{border-color:#b9cbff;transform:translateY(-1px)}
.profile-empty{margin-top:10px}
.profile-empty h3{font:700 18px 'Space Grotesk';margin:0 0 7px}
.profile-empty p{margin:0 0 16px;color:#617089}

.form-stack label>input,.form-stack label>select,.form-stack label>textarea,
.filter-bar input,.filter-bar select{
  border-color:#d6e0ed;
  background:#fff;
}
.form-stack label>input:focus,.form-stack label>select:focus,.form-stack label>textarea:focus,
.filter-bar input:focus,.filter-bar select:focus{
  border-color:#5a79ff;box-shadow:0 0 0 3px rgba(69,102,255,.12)
}

.proposal-detail-grid{align-items:start}
.support-box{box-shadow:0 10px 30px rgba(14,42,83,.06)}
.proposal-progress-submitted{background:#edfdf9;border-color:#b8eee3}
.site-footer{margin-top:0}

@media(max-width:820px){
  .nav-wrap{min-height:72px}
  .brand-subtitle{display:none}
  .brand-mark{width:36px;height:36px}
  .brand-wordmark strong{font-size:12px}
  .brand-wordmark em{font-size:10px}
  .profile-hero{padding:36px 0}
  .profile-hero-inner{align-items:flex-start;flex-direction:column}
  .profile-new-btn{width:100%}
  .profile-section{padding:25px 0 48px}
  .profile-stats{grid-template-columns:1fr!important}
  .profile-grid{gap:17px}
}

/* Búsqueda de dirección en el mapa */
.map-location-heading{margin-top:.3rem}
.address-search{margin:-.2rem 0 1rem}
.address-search-row{display:flex;gap:.7rem;align-items:stretch}
.address-search-row input{flex:1;min-width:0}
.address-search-row .btn{white-space:nowrap}
.map-search-results{display:grid;gap:.45rem;margin-top:.5rem}
.map-result{width:100%;padding:.7rem .85rem;border:1px solid #dce7fb;background:#fff;border-radius:.7rem;text-align:left;color:#12305b;cursor:pointer;font:inherit;line-height:1.35}
.map-result:hover{border-color:#2468ff;background:#f4f7ff}
@media(max-width:620px){.address-search-row{flex-direction:column}.address-search-row .btn{width:100%}}

/* ─────────────────────────────────────────────────────────────
   Propuestas · miniatura profesional sin perder el diseño actual
   ───────────────────────────────────────────────────────────── */

.proposal-cards-mini {
    gap: 18px;
}

.proposal-card-mini {
    padding: 17px;
    border-color: #dee7f2;
    box-shadow: 0 10px 26px rgba(12, 42, 85, .055);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.proposal-card-mini:hover {
    transform: translateY(-3px);
    border-color: #b9ccff;
    box-shadow: 0 16px 32px rgba(24, 78, 158, .11);
}

.proposal-card-mini .proposal-card-head {
    margin-bottom: 13px;
}

.proposal-card-body {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
}

.proposal-thumb {
    position: relative;
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    min-width: 92px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid #d7e2f0;
    border-radius: 15px;
    background: linear-gradient(135deg, #eaf1fb, #f9fbff);
    box-shadow: 0 7px 15px rgba(14, 43, 83, .10);
}

/* Fondo suave de la misma foto: permite ver entera la imagen real sin cortar. */
.proposal-thumb::before {
    content: "";
    position: absolute;
    inset: -18px;
    z-index: -2;
    background-image: var(--proposal-thumb-image);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: blur(14px) saturate(1.06);
    opacity: .56;
    transform: scale(1.18);
}

.proposal-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(6,27,56,.07));
}

.proposal-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 4px 7px rgba(9, 30, 58, .18));
}

.proposal-thumb-placeholder {
    background:
        radial-gradient(circle at 35% 25%, rgba(112,87,255,.22), transparent 44%),
        linear-gradient(135deg, #eef4ff, #f8faff);
}

.proposal-thumb-placeholder::before,
.proposal-thumb-placeholder::after {
    display: none;
}

.proposal-thumb-placeholder span {
    font-size: 29px;
    filter: drop-shadow(0 4px 5px rgba(15, 45, 85, .12));
}

.proposal-card-copy {
    min-width: 0;
    flex: 1;
}

.proposal-card-mini h3 {
    margin: 0 0 6px;
    font-size: 17px;
    line-height: 1.22;
}

.proposal-card-mini p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 12px;
    line-height: 1.48;
}

.proposal-card-mini .proposal-meta {
    margin-top: 14px;
    margin-bottom: 11px;
}

.proposal-card-mini .card-link {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
}

/* En listado general: dos columnas amplias, más cómoda y similar a una ficha profesional. */
.page-hero + .section .proposal-cards-mini {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 820px) {
    .page-hero + .section .proposal-cards-mini {
        grid-template-columns: 1fr;
    }

    .proposal-card-mini {
        padding: 15px;
    }

    .proposal-thumb {
        width: 98px;
        height: 98px;
        min-width: 98px;
        border-radius: 14px;
    }
}

@media (max-width: 430px) {
    .proposal-card-body {
        gap: 11px;
    }

    .proposal-thumb {
        width: 82px;
        height: 82px;
        min-width: 82px;
        border-radius: 13px;
    }

    .proposal-card-mini h3 {
        font-size: 15px;
    }

    .proposal-card-mini p {
        -webkit-line-clamp: 3;
        font-size: 11.5px;
    }
}

/* Calle o zona indicada dentro de la miniatura de propuesta */
.proposal-card-mini .proposal-address {
    display: block;
    margin: 0 0 5px;
    color: #536d94;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 430px) {
    .proposal-card-mini .proposal-address {
        font-size: 10.5px;
    }
}

/* ─────────────────────────────────────────────────────────────
   Seguimiento visible en cada tarjeta de propuesta
   ───────────────────────────────────────────────────────────── */
.proposal-progress-mini {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    width: 100%;
    margin: 14px 0 13px;
    padding: 10px 8px 8px;
    border: 1px solid #e2eaf4;
    border-radius: 12px;
    background: #fbfdff;
}

.proposal-progress-step {
    display: grid;
    justify-items: center;
    gap: 4px;
    min-width: 0;
    flex: 1;
    color: #91a0b5;
}

.proposal-progress-step i {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border: 2px solid #cbd7e6;
    border-radius: 50%;
    background: #fff;
    color: #728198;
    font: 800 10px/1 Manrope, Arial, sans-serif;
    font-style: normal;
}

.proposal-progress-step b {
    max-width: 100%;
    overflow: hidden;
    color: inherit;
    font: 800 9.5px/1.15 Manrope, Arial, sans-serif;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.proposal-progress-line {
    width: 18px;
    height: 2px;
    margin-top: 9px;
    flex: 0 0 18px;
    border-radius: 999px;
    background: #d9e2ed;
}

.proposal-progress-step.is-current {
    color: #087e57;
}

.proposal-progress-step.is-current i {
    border-color: #19a974;
    background: linear-gradient(135deg, #18ad77, #31c78f);
    color: #fff;
    box-shadow: 0 5px 10px rgba(22, 165, 108, .22);
}

.proposal-progress-step.is-current b {
    color: #087e57;
}

.proposal-progress-step.is-done {
    color: #299b70;
}

.proposal-progress-step.is-done i {
    border-color: #58c99b;
    background: #e8fbf2;
    color: #168658;
}

.proposal-progress-step.is-done i::before {
    content: "✓";
    font-size: 12px;
    font-weight: 900;
}

.proposal-progress-step.is-done i {
    font-size: 0;
}

.proposal-progress-line.is-done {
    background: linear-gradient(90deg, #53c89a, #18a974);
}

.proposal-card-mini .proposal-meta {
    margin-top: 0;
}

@media (max-width: 430px) {
    .proposal-progress-mini {
        gap: 3px;
        padding-left: 5px;
        padding-right: 5px;
    }

    .proposal-progress-line {
        width: 12px;
        flex-basis: 12px;
    }

    .proposal-progress-step b {
        font-size: 8.5px;
    }
}

/* ─────────────────────────────────────────────────────────────
   Seguimiento de tres fases compacto en la cabecera de tarjetas
   ───────────────────────────────────────────────────────────── */
.proposal-card-head-with-progress {
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.proposal-card-head-with-progress .category-chip {
    flex: 0 1 auto;
    white-space: nowrap;
}

.proposal-progress-top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    min-width: 0;
    margin-left: auto;
}

.proposal-progress-top-step {
    display: inline-grid;
    grid-template-columns: 16px auto;
    align-items: center;
    column-gap: 3px;
    color: #9aa7b9;
    white-space: nowrap;
}

.proposal-progress-top-step i {
    display: grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border: 2px solid #ccd7e5;
    border-radius: 50%;
    background: #fff;
    color: #718197;
    font: 800 8px/1 Manrope, Arial, sans-serif;
    font-style: normal;
}

.proposal-progress-top-step b {
    color: inherit;
    font: 800 8.5px/1 Manrope, Arial, sans-serif;
}

.proposal-progress-top-line {
    width: 10px;
    height: 2px;
    flex: 0 0 10px;
    border-radius: 999px;
    background: #dce4ed;
}

.proposal-progress-top-step.is-current {
    color: #087e57;
}

.proposal-progress-top-step.is-current i {
    border-color: #1aac75;
    background: linear-gradient(135deg, #1db57c, #35cf95);
    color: #fff;
    box-shadow: 0 3px 8px rgba(22,165,108,.22);
}

.proposal-progress-top-step.is-done {
    color: #269b70;
}

.proposal-progress-top-step.is-done i {
    border-color: #57c99a;
    background: #e9fbf3;
    color: transparent;
    font-size: 0;
}

.proposal-progress-top-step.is-done i::before {
    content: "✓";
    color: #168658;
    font: 900 11px/1 Arial, sans-serif;
}

.proposal-progress-top-line.is-done {
    background: linear-gradient(90deg, #5acb9f, #1aaa73);
}

/* Se deja desactivado el bloque de seguimiento grande inferior. */
.proposal-card-mini .proposal-progress-mini {
    display: none;
}

@media (max-width: 670px) {
    .proposal-card-head-with-progress {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .proposal-progress-top {
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }

    .proposal-progress-top-step b {
        font-size: 8px;
    }
}

@media (max-width: 380px) {
    .proposal-progress-top {
        gap: 3px;
    }

    .proposal-progress-top-line {
        width: 6px;
        flex-basis: 6px;
    }

    .proposal-progress-top-step {
        grid-template-columns: 14px auto;
        column-gap: 2px;
    }

    .proposal-progress-top-step i {
        width: 14px;
        height: 14px;
    }
}

/* Corrección de diseño: las fases no se montan sobre la categoría */
.proposal-card-head-with-progress {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 8px !important;
    margin-bottom: 13px !important;
}

.proposal-card-head-with-progress .category-chip {
    width: max-content;
    max-width: 100%;
}

.proposal-card-head-with-progress .proposal-progress-top {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr) 14px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: initial !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    border: 1px solid #e2eaf4;
    border-radius: 11px;
    background: #fbfdff;
}

.proposal-card-head-with-progress .proposal-progress-top-step {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
}

.proposal-card-head-with-progress .proposal-progress-top-step i {
    flex: 0 0 auto;
}

.proposal-card-head-with-progress .proposal-progress-top-step b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 8.5px !important;
}

.proposal-card-head-with-progress .proposal-progress-top-line {
    width: 14px !important;
    flex: none !important;
    margin: 0 !important;
}

@media (max-width: 430px) {
    .proposal-card-head-with-progress .proposal-progress-top {
        grid-template-columns: minmax(0, 1fr) 8px minmax(0, 1fr) 8px minmax(0, 1fr) !important;
        padding: 7px 5px !important;
    }

    .proposal-card-head-with-progress .proposal-progress-top-line {
        width: 8px !important;
    }

    .proposal-card-head-with-progress .proposal-progress-top-step {
        gap: 3px;
    }

    .proposal-card-head-with-progress .proposal-progress-top-step b {
        font-size: 8px !important;
    }
}

/* Categoría + barriada arriba, en la misma línea */
.proposal-head-tags {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.neighborhood-chip-top {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 9px;
    border: 1px solid #bfe3ff;
    border-radius: 999px;
    background: linear-gradient(135deg, #eaf6ff, #f5fbff);
    color: #0b5fa5;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.proposal-card-mini .proposal-meta {
    justify-content: flex-end;
}

@media (max-width: 430px) {
    .proposal-head-tags {
        gap: 6px;
    }

    .neighborhood-chip-top {
        font-size: 9.5px;
        padding: 6px 8px;
    }
}

/* Cabecera profesional: servicio + barriada */
.proposal-card-head-with-progress {
    gap: 9px !important;
}

.proposal-head-tags {
    align-items: center;
    gap: 9px !important;
}

.proposal-head-tags .category-chip {
    min-height: 30px;
    padding: 7px 11px;
    border: 1px solid #e0e9f7;
    background: linear-gradient(135deg, #f5f8ff, #edf4ff);
    color: #1f426f;
    box-shadow: 0 4px 10px rgba(24, 66, 123, .04);
}

.neighborhood-chip-top {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 4px 10px 4px 5px;
    border: 1px solid #9fd6ff;
    border-radius: 999px;
    background: linear-gradient(135deg, #e4f5ff, #f7fcff);
    color: #135a9a;
    box-shadow: 0 5px 12px rgba(37, 133, 198, .08);
}

.neighborhood-chip-label {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    background: #1688d4;
    color: #fff;
    font: 900 8px/1 Manrope, Arial, sans-serif;
    letter-spacing: .65px;
}

.neighborhood-chip-name {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #0b5f9f;
    font: 800 10px/1 Manrope, Arial, sans-serif;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .proposal-head-tags {
        gap: 6px !important;
    }

    .proposal-head-tags .category-chip {
        min-height: 28px;
        padding: 6px 9px;
        font-size: 9px;
    }

    .neighborhood-chip-top {
        min-height: 28px;
        padding-right: 8px;
        gap: 5px;
    }

    .neighborhood-chip-label {
        min-height: 19px;
        padding: 0 6px;
        font-size: 7.5px;
    }

    .neighborhood-chip-name {
        font-size: 9px;
    }
}

/* Barriada · versión más sobria y editorial */
.proposal-head-tags {
    gap: 8px !important;
}

.neighborhood-chip-top {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid #d4e6f6;
    border-radius: 10px;
    background: #f7fbff;
    color: #315a82;
    box-shadow: none;
}

.neighborhood-chip-top::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #4ca7dc;
    box-shadow: 0 0 0 3px #e3f4ff;
}

.neighborhood-chip-label {
    display: inline;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #7b91a9;
    font: 800 9px/1 Manrope, Arial, sans-serif;
    letter-spacing: .15px;
    text-transform: uppercase;
}

.neighborhood-chip-label::after {
    content: "·";
    margin-left: 5px;
    color: #b4c4d5;
}

.neighborhood-chip-name {
    display: inline;
    color: #1d5f92;
    font: 800 10.5px/1 Manrope, Arial, sans-serif;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .neighborhood-chip-top {
        min-height: 26px;
        padding: 4px 8px;
        gap: 5px;
    }

    .neighborhood-chip-label {
        font-size: 8px;
    }

    .neighborhood-chip-name {
        font-size: 9.5px;
    }
}



/* Icono tipo pin rosa para calle / dirección */
.proposal-card-mini .proposal-address {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2f5a87;
    font-weight: 700;
}

.proposal-address-pin {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #f35d92;
    box-shadow: 0 0 0 3px rgba(243, 93, 146, .14);
    margin-left: 1px;
}

.proposal-address-pin::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 6px;
    width: 6px;
    height: 6px;
    background: #f35d92;
    border-radius: 0 0 5px 0;
    transform: translateX(-50%) rotate(45deg);
}

/* ─────────────────────────────────────────────────────────────
   Ficha de propuesta · presentación profesional
   ───────────────────────────────────────────────────────────── */
.proposal-detail-pro {
    max-width: 1160px;
}

.proposal-detail-pro .breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 21px;
    color: #6b7f9b;
}

.proposal-detail-pro .breadcrumb span:last-child {
    color: #2d5a88;
    font-weight: 800;
}

.proposal-detail-pro .proposal-detail-grid {
    grid-template-columns: minmax(0, 1.46fr) minmax(270px, .54fr);
    gap: 30px;
}

.proposal-detail-main {
    min-width: 0;
}

.proposal-detail-hero-card {
    position: relative;
    overflow: hidden;
    margin-bottom: 18px;
    padding: 29px 31px 27px;
    border: 1px solid #dce7f6;
    border-radius: 23px;
    background:
        radial-gradient(circle at 91% 12%, rgba(86, 124, 255, .18), transparent 30%),
        linear-gradient(135deg, #fbfdff 0%, #f1f6ff 100%);
    box-shadow: 0 15px 35px rgba(20, 57, 110, .075);
}

.proposal-detail-hero-card::after {
    content: "";
    position: absolute;
    right: -64px;
    bottom: -72px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    border: 30px solid rgba(91, 107, 255, .055);
    pointer-events: none;
}

.proposal-detail-topline,
.proposal-detail-meta-row {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

.proposal-detail-topline {
    justify-content: space-between;
    margin-bottom: 24px;
}

.detail-category-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 31px;
    padding: 7px 11px;
    border: 1px solid #dfe9f7;
    border-radius: 999px;
    background: rgba(255, 255, 255, .83);
    color: #294970;
    font-size: 11px;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(28, 62, 110, .035);
}

.proposal-detail-pro .status {
    min-height: 31px;
    padding: 7px 12px;
    font-size: 10px;
    box-shadow: 0 5px 12px rgba(17, 68, 97, .05);
}

.proposal-detail-kicker {
    position: relative;
    z-index: 1;
    margin: 0 0 9px;
    color: #3571ff;
    font: 900 10px/1 Manrope, Arial, sans-serif;
    letter-spacing: 1.65px;
}

.proposal-detail-pro h1 {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 0 18px;
    color: #0a2d59;
    font: 700 clamp(34px, 4.2vw, 58px)/1.03 "Space Grotesk", Manrope, sans-serif;
    letter-spacing: -2.25px;
}

.proposal-detail-meta-row {
    color: #637997;
    font-size: 12px;
}

.detail-neighborhood-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid #cfe7f8;
    border-radius: 9px;
    background: #f7fbff;
    color: #24669a;
    font-size: 11px;
    font-weight: 800;
}

.detail-author b {
    color: #234f7d;
}

.proposal-detail-photo-card,
.proposal-description-card,
.proposal-map-card,
.proposal-location-card {
    border: 1px solid #dfe8f3;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 11px 30px rgba(19, 55, 103, .055);
}

.proposal-detail-photo-card {
    position: relative;
    display: grid;
    place-items: center;
    max-height: none;
    margin: 0 0 18px;
    padding: 38px 9px 9px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 8%, rgba(77, 121, 255, .11), transparent 48%),
        linear-gradient(135deg, #f3f7ff, #fbfdff);
}

.proposal-detail-photo-card .detail-section-label {
    position: absolute;
    top: 13px;
    left: 16px;
    color: #6c82a1;
    font: 900 9px/1 Manrope, Arial, sans-serif;
    letter-spacing: 1.1px;
}

.proposal-detail-photo-card .detail-image {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 420px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 13px;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
    object-position: center !important;
}

.proposal-description-card {
    margin-bottom: 18px;
    padding: 25px 27px 28px;
}

.detail-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.detail-section-heading .eyebrow {
    margin-bottom: 7px;
    color: #4380ff;
}

.detail-section-heading h2 {
    margin: 0;
    color: #11345e;
    font: 700 23px/1.15 "Space Grotesk", Manrope, sans-serif;
    letter-spacing: -.8px;
}

.detail-section-icon {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border-radius: 12px;
    background: linear-gradient(135deg, #eef4ff, #e8f9ff);
    color: #3975f9;
    font-size: 17px;
}

.proposal-detail-pro .detail-text {
    color: #314a6b;
    font-size: 16px;
    line-height: 1.85;
}

.proposal-detail-pro .detail-text br + br {
    display: block;
    margin-top: 10px;
    content: "";
}

.proposal-location-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
    padding: 17px 19px;
    border-color: #cfe4f5;
    background: linear-gradient(135deg, #f7fbff, #fbfdff);
}

.proposal-location-pin {
    position: relative;
    display: block;
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    margin-top: 6px;
    border-radius: 50%;
    background: #f0598d;
    box-shadow: 0 0 0 5px rgba(240, 89, 141, .12);
}

.proposal-location-pin::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 9px;
    width: 9px;
    height: 9px;
    border-radius: 0 0 7px 0;
    background: #f0598d;
    transform: translateX(-50%) rotate(45deg);
}

.proposal-location-card small,
.proposal-location-card strong,
.proposal-location-card span {
    display: block;
}

.proposal-location-card small {
    margin-bottom: 4px;
    color: #7590ad;
    font: 900 9px/1 Manrope, Arial, sans-serif;
    letter-spacing: 1.05px;
}

.proposal-location-card strong {
    color: #154d80;
    font-size: 14px;
}

.proposal-location-card span {
    margin-top: 3px;
    color: #7187a1;
    font-size: 11px;
}

.proposal-detail-pro .proposal-progress {
    margin: 0 0 18px;
    padding: 18px 20px;
    border-radius: 17px;
    box-shadow: 0 9px 20px rgba(13, 98, 77, .06);
}

.proposal-detail-pro .proposal-progress b {
    font-size: 16px;
}

.proposal-map-card {
    overflow: hidden;
    margin-top: 18px;
}

.proposal-map-card .proposal-map-heading {
    align-items: center;
    margin: 0;
    padding: 22px 23px 17px;
}

.proposal-map-note {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 6px 9px;
    border: 1px solid #d6e4f4;
    border-radius: 999px;
    background: #f8fbff;
    color: #627d9d;
    font-size: 10px;
    font-weight: 800;
}

.proposal-map-card .detail-map {
    height: 365px;
    border: 0;
    border-top: 1px solid #e1e9f2;
    border-radius: 0;
}

.support-box-pro {
    position: sticky;
    top: 102px;
    overflow: hidden;
    padding: 28px 25px 24px;
    border: 1px solid #dfe8f5;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% -12%, rgba(85, 115, 255, .16), transparent 44%),
        linear-gradient(145deg, #f9fbff, #edf4ff);
    box-shadow: 0 16px 35px rgba(13, 49, 99, .09);
}

.support-box-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.support-box-pro .eyebrow {
    margin: 0;
    color: #5d7898;
}

.support-box-heart {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 11px;
    background: #fff;
    color: #ec5e85;
    box-shadow: 0 6px 16px rgba(26, 63, 115, .08);
    font-size: 15px;
}

.support-box-pro > strong {
    margin-top: 16px;
    color: #216cff;
    font: 700 60px/.95 "Space Grotesk", Manrope, sans-serif;
    letter-spacing: -3px;
}

.support-box-pro > span {
    margin: 9px 0 22px;
    color: #607895;
}

.support-box-pro .btn {
    min-height: 48px;
    border-radius: 13px;
}

.support-box-divider {
    height: 1px;
    margin: 21px 0 18px;
    background: #d9e4f1;
}

.support-box-pro .support-box-note {
    margin: 0;
    color: #66809f;
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 820px) {
    .proposal-detail-pro .proposal-detail-grid {
        grid-template-columns: 1fr;
        gap: 19px;
    }

    .proposal-detail-hero-card {
        padding: 23px 20px 22px;
        border-radius: 18px;
    }

    .proposal-detail-topline {
        margin-bottom: 19px;
    }

    .proposal-detail-pro h1 {
        font-size: 36px;
        letter-spacing: -1.55px;
    }

    .proposal-description-card {
        padding: 21px 19px 22px;
        border-radius: 17px;
    }

    .proposal-detail-pro .detail-text {
        font-size: 15px;
        line-height: 1.75;
    }

    .proposal-map-card .detail-map {
        height: 315px;
    }

    .support-box-pro {
        position: static;
        padding: 23px 20px;
    }
}

@media (max-width: 480px) {
    .proposal-detail-pro {
        width: min(100% - 24px, 1160px);
    }

    .proposal-detail-hero-card {
        padding: 20px 16px;
    }

    .proposal-detail-topline {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .proposal-detail-pro h1 {
        font-size: 31px;
    }

    .detail-section-heading h2 {
        font-size: 20px;
    }

    .proposal-detail-photo-card {
        padding-top: 35px;
        border-radius: 17px;
    }

    .proposal-detail-photo-card .detail-image {
        max-height: 320px !important;
        border-radius: 10px;
    }

    .proposal-location-card {
        padding: 15px;
        border-radius: 15px;
    }

    .proposal-map-card .proposal-map-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}



/* ─────────────────────────────────────────────────────────────
   Crear propuesta · selector aviso / mejora
   ───────────────────────────────────────────────────────────── */
.create-choice-page .container { max-width: 900px; }
.create-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.create-choice-card {
    position: relative;
    display: block;
    min-height: 278px;
    padding: 27px 25px 22px;
    overflow: hidden;
    border: 1px solid #dbe6f4;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(15, 48, 94, .07);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.create-choice-card:hover {
    transform: translateY(-5px);
    border-color: #a9c5ff;
    box-shadow: 0 22px 40px rgba(24, 77, 158, .13);
}
.create-choice-card::after {
    content: "";
    position: absolute;
    right: -54px;
    bottom: -62px;
    width: 185px;
    height: 185px;
    border: 24px solid rgba(66, 114, 255, .07);
    border-radius: 50%;
}
.create-choice-improvement::after { border-color: rgba(126, 88, 255, .08); }
.create-choice-icon {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    margin-bottom: 19px;
    border-radius: 17px;
    background: #eaf3ff;
    font-size: 26px;
}
.create-choice-improvement .create-choice-icon { background: #f1edff; }
.create-choice-label {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 8px;
    color: #4878d9;
    font: 900 10px/1 Manrope, Arial, sans-serif;
    letter-spacing: 1.1px;
}
.create-choice-improvement .create-choice-label { color: #7056d9; }
.create-choice-card strong {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 280px;
    color: #12345e;
    font: 700 23px/1.13 "Space Grotesk", Manrope, sans-serif;
    letter-spacing: -.7px;
}
.create-choice-card p {
    position: relative;
    z-index: 1;
    margin: 11px 0 20px;
    color: #627997;
    font-size: 13px;
    line-height: 1.55;
}
.create-choice-action {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2368ed;
    font-size: 13px;
    font-weight: 900;
}
.create-choice-improvement .create-choice-action { color: #6c50d7; }
.create-choice-action b { font-size: 17px; }
.create-choice-help {
    margin: 19px 0 0;
    color: #6e82a0;
    text-align: center;
    font-size: 12px;
}
.back-create-choice {
    display: inline-flex;
    margin-bottom: 17px;
    color: #356bca;
    font-size: 12px;
    font-weight: 800;
}
.improvement-intro-card {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin: 0 0 17px;
    padding: 17px;
    border: 1px solid #ddd5ff;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8f6ff, #f5f8ff);
}
.improvement-intro-card > span {
    display: grid;
    place-items: center;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    border-radius: 13px;
    background: #e9e1ff;
    font-size: 19px;
}
.improvement-intro-card b { display: block; color: #3f357d; font-size: 14px; }
.improvement-intro-card p { margin: 3px 0 0; color: #6b6b8b; font-size: 12px; line-height: 1.45; }
.proposal-improvement-form {
    border-color: #ddd9f6;
    background: linear-gradient(140deg, #fff, #fcfbff);
}
.proposal-kind-improvement,
.detail-category-chip.proposal-kind-improvement {
    border-color: #ded2ff !important;
    background: linear-gradient(135deg, #f5f0ff, #fbfaff) !important;
    color: #674cb8 !important;
}
.detail-improvement-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid #ded4ff;
    border-radius: 9px;
    background: #faf8ff;
    color: #654cb0;
    font-size: 11px;
    font-weight: 800;
}
.admin-improvement-type {
    padding: 13px 14px;
    border: 1px solid #ded4ff;
    border-radius: 12px;
    background: #faf8ff;
    color: #5f479f;
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 680px) {
    .create-choice-grid { grid-template-columns: 1fr; }
    .create-choice-card { min-height: 235px; }
}
