/* Same visual language as plans, with room for real promotion conditions. */
html[data-theme] .puno-promos-v10 { background:#0a2036; }
html[data-theme="light"] .puno-promos-v10 { background:#f4f7fa; color:#091c30;--muted:#4c677d; }
html[data-theme="light"] .puno-promos-v10 .section-heading :is(h2,p) { color:#091c30; }
html[data-theme="light"] .puno-promos-v10 .section-heading :is(h2 span,.section-kicker) { color:#087fe8; }
html[data-theme] .puno-promos-v10[hidden] { display:none; }
.puno-promos-v10 .promo-v10-grid { grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;gap:24px;align-items:stretch; }
html[data-theme] .promo-v10-grid .promo-v10-card {
  --promo-ink:#fff;--promo-muted:#c1d7e9;--promo-panel:#102f4d;
  padding:0 26px 20px;min-height:0;border-radius:24px;border:1px solid #244967;
  background:#0d2944;color:var(--promo-ink);box-shadow:0 12px 30px rgba(3,19,34,.13);
}
html[data-theme="light"] .promo-v10-grid .promo-v10-card {
  --promo-ink:#091c30;--promo-muted:#4c677d;--promo-panel:#eaf7fe;
  background:linear-gradient(160deg,#fff,#f7fcff);border-color:#dceaf3;box-shadow:0 12px 30px rgba(9,28,48,.07);
}
html[data-theme] .promo-v10-grid .promo-v10-best { border-color:#1faef5;box-shadow:0 12px 30px rgba(31,174,245,.1); }
.promo-v10-grid .promo-v10-header { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 -26px 18px;padding:13px 26px;min-height:46px;background:linear-gradient(135deg,#1faef5,#2a9bd7,#087fe8);color:#fff; }
.promo-v10-header>span { font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px; }
html[data-theme] .promo-v10-grid .promo-v10-badge { position:static;width:auto;transform:none;padding:5px 8px;border-radius:99px;background:rgba(9,28,48,.17);color:#fff;font-size:10px;white-space:nowrap; }
.promo-v10-fiber { display:flex;align-items:center;gap:8px;color:var(--promo-muted);font-size:11px;font-weight:700; }
.promo-v10-fiber i { color:#1faef5;font-size:17px; }
html[data-theme] .promo-v10-grid .promo-v10-card h3 { display:flex;align-items:center;gap:10px;margin:10px 0 12px;font:800 clamp(3.7rem,5vw,5.8rem)/1.05 "Space Grotesk",Inter,system-ui,sans-serif;font-size:clamp(3.7rem,5vw,5.8rem) !important;letter-spacing:-3px;color:var(--promo-ink);white-space:nowrap; }
html[data-theme] .promo-v10-grid h3 small { padding:7px 9px;border-radius:10px;background:rgba(31,174,245,.13);font:700 12px Inter,system-ui,sans-serif;letter-spacing:0;color:#57caff; }
html[data-theme="light"] .promo-v10-grid h3 small { background:#ddf3fd;color:#087fe8; }
html[data-theme] .promo-v10-grid .promo-v10-label { color:var(--promo-muted);font-size:10px;letter-spacing:1px;margin-bottom:8px; }
html[data-theme] .promo-v10-grid .promo-v10-price { display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;padding:13px 18px;border-radius:20px;background:var(--promo-panel);color:var(--promo-ink);font:800 54px/1.05 "Space Grotesk",Inter,system-ui,sans-serif;letter-spacing:-2px; }
html[data-theme] .promo-v10-grid .promo-v10-price sup { top:auto;position:static;vertical-align:baseline;font-size:18px;letter-spacing:0;color:var(--promo-muted); }
html[data-theme] .promo-v10-grid .promo-v10-price small { font:500 11px Inter,system-ui,sans-serif;color:var(--promo-muted); }
html[data-theme] .promo-v10-grid .promo-v10-save { display:block;margin-left:auto;padding:6px 8px;border-radius:8px;background:rgba(31,174,245,.1);color:#57caff;font:800 9px/1.6 Inter,system-ui,sans-serif;letter-spacing:0; }
html[data-theme="light"] .promo-v10-grid .promo-v10-save { color:#087fe8; }
html[data-theme] .promo-v10-grid .promo-v10-period { margin:9px 0 12px;color:#1faef5;font-size:13px;text-align:center;text-transform:uppercase;letter-spacing:.7px; }
html[data-theme="light"] .promo-v10-grid .promo-v10-period { color:#087fe8; }
html[data-theme] .promo-v10-grid .promo-v10-regular { padding:10px 0 14px;border-top:0;border-bottom:1px solid rgba(31,174,245,.22);font-size:12px;color:var(--promo-muted);text-align:center; }
html[data-theme] .promo-v10-grid .promo-v10-regular b { color:var(--promo-ink);font-size:17px; }
html[data-theme] .promo-v10-grid .promo-v10-benefits { display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin:16px 0 18px;padding:0;list-style:none;white-space:normal; }
.promo-v10-benefits li { display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;color:var(--promo-muted); }
.promo-v10-benefits li i { flex-shrink:0;font-size:19px;color:#1faef5; }
html[data-theme] .promo-v10-grid .promo-v10-card p { color:var(--promo-muted);font-size:12px;line-height:1.6;margin:8px 0 12px; }
html[data-theme] .promo-v10-grid .promo-v10-cta { gap:10px;align-items:center;min-height:50px;padding:12px;border-radius:999px;background:linear-gradient(135deg,#1faef5,#078ce8);color:#fff;font:800 12px Inter,system-ui,sans-serif;transition:transform .2s; }
.promo-v10-grid .promo-v10-cta:hover { transform:translateY(-2px); }
html[data-theme] .promo-v10-grid .promo-v10-terms { color:var(--promo-muted);min-height:36px;font:500 11px Inter,system-ui,sans-serif; }
html[data-theme="light"] .puno-promos-v10 .promo-v10-note { color:#4c677d; }
@media(max-width:767px) {
  .puno-promos-v10 .promo-v10-grid { display:flex;gap:12px;max-width:100%; }
  html[data-theme] .promo-v10-grid .promo-v10-card { padding:0 18px 14px; }
  .promo-v10-grid .promo-v10-header { margin:0 -18px 14px;padding:11px 18px;min-height:42px; }
  .promo-v10-header>span { font-size:10px;letter-spacing:.5px; }
  html[data-theme] .promo-v10-grid .promo-v10-card h3 { font-size:clamp(3.7rem,15vw,5.4rem) !important;margin:10px 0; }
  html[data-theme] .promo-v10-grid .promo-v10-price { font-size:48px;padding:12px; }
  html[data-theme] .promo-v10-grid .promo-v10-save { font-size:8px;padding:5px; }
  html[data-theme] .promo-v10-grid .promo-v10-benefits { gap:12px 10px;margin:14px 0; }
  .promo-v10-benefits li { font-size:11px; }
  .puno-promos-v10 .promo-v10-grid>.promo-v10-card:only-child { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) { .promo-v10-grid .promo-v10-cta { transition:none; } }

/* Puno only: the approved plan identity on every dynamically rendered promotion. */
body[data-city="puno"] .puno-promos-v10 .promo-v10-grid { padding-top:20px;gap:24px; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-card {
  --promo-ink:#f4faff;--promo-muted:#bfd1e2;--promo-panel:#112d47;--promo-line:#264b6b;
  position:relative;container-type:inline-size;min-width:0;overflow:visible;
  padding:0 26px 20px;border:1px solid var(--promo-line);border-radius:24px;
  background:#091c30;color:var(--promo-ink);box-shadow:0 12px 30px rgba(8,127,199,.12);
  transition:transform .22s ease,box-shadow .22s ease;transform:none;
}
html[data-theme="light"] body[data-city="puno"] .puno-promos-v10 .promo-v10-card {
  --promo-ink:#05437c;--promo-muted:#425e78;--promo-panel:#e8f6ff;--promo-line:#c6e5f8;
  background:#fff;border-color:transparent;
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-best {
  border-color:#1faef5;box-shadow:0 0 0 1px #1faef5,0 12px 30px rgba(31,174,245,.22);
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-header {
  position:relative;justify-content:flex-start;gap:12px;min-height:56px;
  margin:0 -26px 20px;padding:14px 26px;border-radius:23px 23px 0 0;
  background:linear-gradient(120deg,#087fc7,#1faef5);color:#fff;
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-header::before {
  content:'';width:24px;height:24px;flex:0 0 24px;background:#fff;
  --promo-star:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="m12 2 3 6 7 1-5 5 1 8-6-4-6 4 1-8-5-5 7-1z"/%3E%3C/svg%3E');
  mask:var(--promo-star) center/contain no-repeat;-webkit-mask:var(--promo-star) center/contain no-repeat;
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-header>span { font-size:13px;letter-spacing:.6px; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-best .promo-v10-header { background:linear-gradient(120deg,#05437c,#087fc7); }
body[data-city="puno"] .puno-promos-v10 .promo-v10-badge {
  position:absolute;inset:-16px auto auto 50%;transform:translateX(-50%);
  width:max-content;max-width:calc(100% - 28px);padding:7px 16px;border-radius:13px;
  background:#ffd43b;color:#05437c;font-size:11px;line-height:1.4;letter-spacing:.5px;
  white-space:normal;overflow-wrap:anywhere;text-align:center;box-shadow:0 4px 14px rgba(255,212,59,.3);z-index:2;
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-fiber { font-size:12px; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-card h3 {
  min-width:0;gap:10px;color:#65ccff;letter-spacing:-.055em;
  font-size:clamp(46px,5vw,72px) !important;font-size:clamp(46px,24cqi,72px) !important;
}
html[data-theme="light"] body[data-city="puno"] .puno-promos-v10 .promo-v10-card h3 { color:#087fc7; }
body[data-city="puno"] .puno-promos-v10 h3 small { flex:0 0 auto;background:#164568;color:#a1e0ff;border-radius:8px; }
html[data-theme="light"] body[data-city="puno"] .puno-promos-v10 h3 small { background:#d5f0ff;color:#05437c; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-label { color:var(--promo-muted);font-size:11px; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-price {
  min-width:0;gap:8px;background:var(--promo-panel);color:var(--promo-ink);
  padding:15px 16px;border-radius:16px;font-size:46px;line-height:1.15;letter-spacing:-1.5px;
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-price sup { font-size:20px;color:inherit; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-price small { color:inherit;font-size:12px; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-save {
  flex:0 1 auto;max-width:100%;padding:6px 8px;background:#ffd43b;color:#05437c;
  font-size:10px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;align-self:center;
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-best .promo-v10-price { background:linear-gradient(120deg,#087fc7,#1faef5);color:#fff; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-best .promo-v10-price small { background:#05437c;box-shadow:0 0 0 3px #05437c;border-radius:3px; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-period { color:#65ccff;line-height:1.6; }
html[data-theme="light"] body[data-city="puno"] .puno-promos-v10 .promo-v10-period { color:#05437c; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-regular { border-bottom-color:var(--promo-line);line-height:1.6; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-benefits { grid-template-columns:minmax(0,1fr);gap:12px; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-benefits li { min-width:0;font-size:13px; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-benefits li span,
body[data-city="puno"] .puno-promos-v10 .promo-v10-card p { overflow-wrap:anywhere; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-benefits li i { flex:0 0 28px;font-size:22px;color:#1faef5; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-cta {
  width:100%;margin-top:auto;min-height:52px;padding:13px 16px;border-radius:22px;
  background:linear-gradient(120deg,#087fc7,#1faef5);color:#fff;font-size:14px;
  box-shadow:0 6px 16px rgba(31,174,245,.24);cursor:pointer;text-shadow:0 1px 2px #05437c;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-cta i { transition:transform .22s ease; }
body[data-city="puno"] .puno-promos-v10 .promo-v10-cta:focus-visible { outline:3px solid #a1e0ff;outline-offset:3px; }
html[data-theme="light"] body[data-city="puno"] .puno-promos-v10 .promo-v10-cta:focus-visible { outline-color:#05437c; }
@media(hover:hover) and (pointer:fine) {
  body[data-city="puno"] .puno-promos-v10 .promo-v10-card:hover { transform:translateY(-4px);box-shadow:0 16px 32px rgba(8,127,199,.2); }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-cta:hover { transform:translateY(-3px);filter:brightness(1.06);box-shadow:0 10px 22px rgba(31,174,245,.34); }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-cta:hover i { transform:translateX(4px); }
}
body[data-city="puno"] .puno-promos-v10 .promo-v10-cta:active { transform:scale(.98); }
@media(max-width:767px) {
  body[data-city="puno"] .puno-promos-v10 .promo-v10-grid { padding-top:24px;gap:14px; }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-card { padding:0 18px 18px; }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-header { margin:0 -18px 18px;padding:14px 18px; }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-header>span { font-size:11px; }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-price { padding:14px; }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-save { flex-basis:100%;margin:0;text-align:center; }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-card:hover { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
  body[data-city="puno"] .puno-promos-v10 .promo-v10-card,body[data-city="puno"] .puno-promos-v10 .promo-v10-cta,body[data-city="puno"] .puno-promos-v10 .promo-v10-cta i { transition:none; }
  body[data-city="puno"] .puno-promos-v10 .promo-v10-card:hover,body[data-city="puno"] .puno-promos-v10 .promo-v10-cta:hover,body[data-city="puno"] .puno-promos-v10 .promo-v10-cta:active,body[data-city="puno"] .puno-promos-v10 .promo-v10-cta:hover i { transform:none; }
}
