@import url('./tokens.css');
@import url('./base.css');
:root{--portal-green:#0b5a47;--portal-dark:#073d33;--portal-gold:#c5a04d;--portal-bg:#f3f7f5;--portal-line:#dfe8e4;--portal-ink:#15332a;--portal-muted:#66786f}
body{background:var(--portal-bg);color:var(--portal-ink)}
.portal-shell{min-height:100vh;background:linear-gradient(180deg,#eef6f2 0,#f9fbfa 46%,#eef4f1 100%)}
.portal-top{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,52px);background:rgba(255,255,255,.94);border-bottom:1px solid var(--portal-line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}
.portal-brand{display:flex;align-items:center;gap:11px;color:var(--portal-dark);font-weight:900;letter-spacing:.08em}.portal-brand .mark{width:34px;height:25px;position:relative}.portal-brand .mark:before,.portal-brand .mark:after{content:"";position:absolute;width:9px;height:26px;background:var(--portal-green);transform:skew(-30deg);border-radius:3px}.portal-brand .mark:before{left:8px}.portal-brand .mark:after{left:18px;background:var(--portal-gold);height:20px;top:5px}.portal-brand small{display:block;font-size:9px;color:var(--portal-gold);letter-spacing:.24em}
.portal-main{width:min(1100px,calc(100% - 30px));margin:auto;padding:34px 0 70px}
.portal-home{display:grid;gap:26px}.portal-hero-copy{padding:34px;border-radius:30px;min-height:320px;display:flex;flex-direction:column;justify-content:end;color:white;background:linear-gradient(90deg,rgba(5,58,47,.92),rgba(5,58,47,.36)),url('../img/yarumal-basilica.png') center/cover;box-shadow:0 26px 70px rgba(7,61,51,.16)}
.portal-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:#ead59e}.portal-hero-copy h1,.portal-detail-head h1{font-family:Georgia,serif;font-size:clamp(38px,7vw,70px);line-height:1;margin:9px 0 14px}.portal-hero-copy p{max-width:580px;font-size:17px;line-height:1.6;color:#e8f0ed}
.portal-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-action-card{display:grid;grid-template-columns:58px 1fr 25px;gap:16px;align-items:center;padding:22px;background:white;border:1px solid var(--portal-line);border-radius:20px;box-shadow:0 10px 30px rgba(15,70,56,.05);transition:.2s}.portal-action-card:hover{transform:translateY(-2px);border-color:#b5cbc2}.portal-action-card i{width:52px;height:52px;border-radius:16px;background:#eaf5f0;display:grid;place-items:center;font-style:normal;font-size:25px;color:var(--portal-green)}.portal-action-card h3{font-family:Georgia,serif;margin:0 0 5px;font-size:22px}.portal-action-card p{margin:0;color:var(--portal-muted);font-size:13px;line-height:1.45}.portal-action-card b{font-size:24px;color:var(--portal-gold)}
.portal-zone-banner{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:var(--portal-dark);color:white;border-radius:23px;padding:24px 28px}.portal-zone-banner span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#ead59e}.portal-zone-banner h2{font-family:Georgia,serif;font-size:28px;margin:7px 0}.portal-zone-banner p{margin:0;color:#bdd0c9}.portal-zone-chip{background:white;color:var(--portal-green);border-radius:999px;padding:12px 18px;font-weight:900}
.portal-detail{display:grid;gap:22px}.portal-back{border:0;background:transparent;color:var(--portal-green);font-weight:900;cursor:pointer;width:max-content}.portal-detail-head{background:white;border:1px solid var(--portal-line);border-radius:26px;padding:28px}.portal-detail-head h1{font-size:48px;color:var(--portal-dark)}.portal-detail-head p{color:var(--portal-muted);font-size:16px}.portal-surface{background:white;border:1px solid var(--portal-line);border-radius:26px;padding:28px}
.portal-form{display:grid;gap:18px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{display:grid;gap:8px}.form-field span{font-weight:800;font-size:13px}.form-field input,.form-field select,.form-field textarea{width:100%;padding:14px 15px;border-radius:13px;border:1px solid #cedbd5;background:#fbfdfc;color:var(--portal-ink);outline:none;font:inherit}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#5a9a84;box-shadow:0 0 0 3px rgba(15,107,85,.09)}.form-field small{color:var(--portal-muted)}.location-box{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f2f7f5;border:1px solid var(--portal-line);border-radius:16px;padding:16px}.location-box small{display:block;color:var(--portal-muted);margin-top:4px}.consent-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:#50675e}.form-actions{display:flex;justify-content:flex-end}.portal-btn{border:0;border-radius:13px;padding:13px 17px;font-weight:900;cursor:pointer}.portal-btn.primary{background:var(--portal-green);color:white}.portal-btn.ghost{background:white;border:1px solid #b9ccc4;color:var(--portal-green)}.portal-btn.success{background:#e3f5ed;color:#0d6f51}.form-feedback{padding:14px;border-radius:14px;display:flex;justify-content:space-between;gap:10px}.form-feedback.success{background:#eaf7f1;color:#0b704f}.form-feedback.error{background:#fff0ee;color:#a84135}
.proposal-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.proposal-public-card{background:white;border:1px solid var(--portal-line);border-radius:20px;padding:22px}.proposal-public-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--portal-gold);font-weight:900}.proposal-public-card h3{font-family:Georgia,serif;font-size:24px;margin:8px 0}.proposal-public-card p{color:var(--portal-muted);line-height:1.5}.proposal-progress{height:8px;background:#e9efec;border-radius:999px;overflow:hidden;margin:18px 0 7px}.proposal-progress i{height:100%;display:block;background:var(--portal-green)}.proposal-public-card small{color:var(--portal-muted)}
.agenda-public-list{display:grid;gap:12px}.agenda-public-list article{display:grid;grid-template-columns:90px 1fr;gap:16px;background:white;border:1px solid var(--portal-line);border-radius:18px;padding:18px}.agenda-public-list time{font-size:22px;font-weight:900;color:var(--portal-green)}.agenda-public-list h3{margin:0 0 4px;font-family:Georgia,serif}.agenda-public-list p{margin:0;color:var(--portal-muted)}
.portal-footer{padding:26px;text-align:center;color:#71827a;font-size:12px}.vtx-toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#153b31;color:#fff;padding:13px 17px;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.15);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.vtx-toast.show{opacity:1;transform:none}.vtx-toast[data-type="warn"]{background:#8a6519}.vtx-toast[data-type="success"]{background:#0b6f50}
@media(max-width:760px){.portal-actions-grid,.proposal-public-grid,.form-grid.two{grid-template-columns:1fr}.portal-zone-banner{grid-template-columns:1fr}.portal-main{padding-top:18px}.portal-hero-copy{min-height:380px;padding:25px}.portal-detail-head,.portal-surface{padding:20px}.location-box{align-items:flex-start;flex-direction:column}}
