/* CoupleIn visual reminder: preserve the warm pink-to-lilac editorial system, use asymmetric content blocks, and keep interaction states clear and calm. */
.polls-shell { padding-top: 26px; }
.polls-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:26px; align-items:stretch; margin-bottom:28px; }
.polls-hero-copy, .polls-hero-note, .polls-main-panel, .polls-aside { background:rgba(255,255,255,.93); border:1px solid rgba(255,255,255,.75); box-shadow:var(--blog-shadow); backdrop-filter:blur(10px); }
.polls-hero-copy { padding:clamp(30px,6vw,72px); border-radius:26px; }
.polls-hero h1 { max-width:650px; margin:18px 0; color:var(--blog-ink); font-size:clamp(2.9rem,7vw,6rem); line-height:.93; letter-spacing:-.06em; }
.polls-hero h1 span { color:var(--blog-primary); }
.polls-hero-copy p { max-width:560px; margin:0; color:var(--blog-muted); font-size:1rem; line-height:1.7; }
.polls-hero-note { display:flex; min-height:310px; flex-direction:column; justify-content:end; padding:28px; border-radius:26px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,239,255,.96)); }
.polls-hero-note .blog-feature-icon { margin-bottom:auto; }
.polls-hero-note h2 { margin:0 0 9px; font-size:1.45rem; line-height:1.1; }
.polls-hero-note p { margin:0; color:var(--blog-muted); font-size:.82rem; line-height:1.55; }
.polls-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:22px; align-items:start; }
.polls-main-panel { padding:24px; border-radius:22px; }
.polls-toolbar { display:block; margin:0 0 21px; }
.polls-toolbar h2 { font-size:1.55rem; }
.polls-toolbar p { margin-top:5px; }
.topic-filter { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }
.topic-filter button { padding:8px 11px; color:var(--blog-muted); background:rgba(255,255,255,.72); border:1px solid var(--blog-border); border-radius:999px; font:inherit; font-size:.68rem; font-weight:800; cursor:pointer; transition:color .2s ease, background .2s ease, transform .2s ease; }
.topic-filter button:hover, .topic-filter button:focus-visible { color:var(--blog-primary); background:var(--blog-pink); outline:none; transform:translateY(-1px); }
.topic-filter button.is-active { color:#fff; background:linear-gradient(135deg,var(--blog-primary),var(--blog-secondary)); border-color:transparent; }
.polls-list { display:grid; gap:15px; }
.poll-card { padding:21px; background:rgba(255,255,255,.88); border:1px solid var(--blog-border); border-radius:17px; }
.poll-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--blog-muted); font-size:.67rem; }
.poll-card-tag { padding:5px 8px; color:var(--blog-secondary); background:var(--blog-lilac); border-radius:999px; font-size:.59rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.poll-card h3 { margin:17px 0 16px; font-size:1.23rem; line-height:1.15; letter-spacing:-.035em; }
.poll-options { display:grid; gap:8px; margin:0; padding:0; border:0; }
.poll-option { display:flex; align-items:center; gap:10px; min-height:43px; padding:10px 12px; color:var(--blog-ink); background:#fff; border:1px solid rgba(83,49,94,.12); border-radius:11px; font-size:.78rem; cursor:pointer; transition:border-color .2s ease, background .2s ease, transform .2s ease; }
.poll-option:hover { border-color:rgba(255,77,109,.42); background:#fff8fa; transform:translateX(2px); }
.poll-option:has(input:checked) { color:var(--blog-secondary); background:var(--blog-lilac); border-color:rgba(106,0,244,.35); }
.poll-option input { width:15px; height:15px; accent-color:var(--blog-primary); }
  .poll-submit { display:block; margin:14px auto 0; padding:10px 14px; color:#fff; background:linear-gradient(135deg,var(--blog-primary),var(--blog-secondary)); border:0; border-radius:999px; font:inherit; font-size:.72rem; font-weight:850; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }
  .poll-share { display:block; margin:8px auto 0; padding:9px 16px; color:var(--blog-secondary); background:rgba(255,255,255,.82); border:1px solid rgba(106,0,244,.2); border-radius:999px; font:inherit; font-size:.7rem; font-weight:850; cursor:pointer; transition:transform .2s ease, background .2s ease, border-color .2s ease; }
  .poll-share:hover, .poll-share:focus-visible { color:var(--blog-primary); background:var(--blog-pink); border-color:rgba(255,77,109,.4); transform:translateY(-1px); outline:none; }
  .poll-share:disabled { cursor:wait; opacity:.7; transform:none; }
  .poll-share-status { min-height:17px; margin:5px 0 0; color:var(--blog-primary); font-size:.68rem; font-weight:750; text-align:center; }
  .poll-social-share { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin:9px auto 0; }
  .poll-social-button { display:inline-flex; align-items:center; justify-content:center; min-width:72px; padding:8px 11px; color:#fff; border-radius:999px; font:inherit; font-size:.66rem; font-weight:850; text-decoration:none; transition:transform .2s ease, filter .2s ease; }
  .poll-social-button:hover, .poll-social-button:focus-visible { color:#fff; filter:brightness(1.08); transform:translateY(-1px); outline:3px solid rgba(106,0,244,.16); outline-offset:2px; }
  .poll-social-facebook { background:#1877f2; }
  .poll-social-x { background:#111827; }
  .poll-social-whatsapp { background:#25d366; }
  .poll-social-telegram { background:#229ed9; }
  .poll-submit:hover, .poll-submit:focus-visible { transform:translateY(-2px); box-shadow:0 9px 20px rgba(106,0,244,.18); outline:none; }
.poll-submit:disabled { cursor:default; opacity:.65; transform:none; box-shadow:none; }
.poll-feedback { min-height:18px; margin:10px 0 0; color:var(--blog-primary); font-size:.7rem; font-weight:750; }
.poll-results { margin-top:17px; padding-top:15px; border-top:1px solid var(--blog-border); }
.poll-results-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:11px; color:var(--blog-muted); font-size:.68rem; font-weight:800; }
.poll-result-row { display:grid; grid-template-columns:minmax(110px,1fr) 2fr auto; align-items:center; gap:9px; margin:8px 0; color:var(--blog-muted); font-size:.68rem; }
.poll-result-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.poll-result-track { height:7px; overflow:hidden; background:#f2ebf5; border-radius:999px; }
.poll-result-fill { height:100%; background:linear-gradient(90deg,var(--blog-primary),var(--blog-secondary)); border-radius:inherit; transition:width .3s ease; }
.poll-result-percent { color:var(--blog-ink); font-weight:850; }
.polls-empty { padding:46px 22px; text-align:center; background:rgba(255,255,255,.8); border:1px dashed var(--blog-border); border-radius:17px; }
.polls-empty-icon, .polls-aside-icon { display:grid; place-items:center; width:52px; height:52px; color:var(--blog-primary); background:var(--blog-pink); border-radius:50%; font-size:1.4rem; }
.polls-empty-icon { margin:0 auto 15px; }
.polls-empty h2 { margin:0 0 8px; font-size:1.25rem; }
.polls-empty p { margin:0; color:var(--blog-muted); font-size:.8rem; line-height:1.6; }
.polls-aside { position:sticky; top:18px; padding:22px; border-radius:18px; }
.polls-aside-icon { margin-bottom:20px; }
.polls-aside h2 { margin:11px 0; font-size:1.25rem; }
.polls-aside p { margin:0 0 17px; color:var(--blog-muted); font-size:.78rem; line-height:1.6; }
.polls-note { padding:13px; color:#55425d; background:linear-gradient(135deg,var(--blog-pink),var(--blog-lilac)); border-left:3px solid var(--blog-primary); border-radius:9px; font-size:.7rem; line-height:1.55; }
@media (max-width:820px) { .polls-hero, .polls-layout { grid-template-columns:1fr; } .polls-hero-note { min-height:245px; } .polls-aside { position:static; } }
@media (max-width:560px) { .polls-shell { padding-top:12px; } .polls-hero-copy { padding:31px 22px; } .polls-hero h1 { font-size:clamp(2.75rem,15vw,4.4rem); } .polls-main-panel { padding:17px; } .poll-card { padding:17px; } .poll-result-row { grid-template-columns:minmax(90px,1fr) 1.5fr auto; } }
