
/* Energy Choice premium additions.
   Base editorial system is the exact research-report-v7.css used by AI Search Visibility. */

.tr-cover--energy {
  aspect-ratio: 1 / 1;
  background:
    radial-gradient(circle at 69% 29%, rgba(255,255,255,.92) 0 5%, transparent 5.5%),
    radial-gradient(circle at 69% 29%, transparent 0 17%, rgba(83,69,0,.14) 17.5% 18%, transparent 18.5%),
    radial-gradient(circle at 69% 29%, transparent 0 29%, rgba(83,69,0,.12) 29.5% 30%, transparent 30.5%),
    linear-gradient(145deg,#fffef7,#f5e680);
  border: 1px solid #eee6af;
  border-radius: 8px;
  padding: 1.15rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 255px;
}
.tr-cover--energy .tr-ec-brand {
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .11em;
}
.tr-cover--energy .tr-ec-title {
  margin-top: auto;
  font-size: 2rem;
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 780;
}
.tr-cover--energy .tr-ec-sub {
  margin-top: .45rem;
  font-size: .82rem;
}
.tr-cover--energy .tr-ec-premium {
  margin-top: 1rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(23,32,51,.32);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.tr-premium-badge {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: .25rem .6rem;
  border: 1px solid #eadc83;
  background: #fffbea;
  color: #6f5b00;
  font-size: .7rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.tr-locked {
  position: relative;
  min-height: 220px;
  overflow: hidden;
}
.tr-locked-preview {
  opacity: .35;
  filter: blur(1.5px);
  pointer-events: none;
  user-select: none;
}
.tr-lock-panel {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%,-50%);
  width: min(460px,calc(100% - 40px));
  padding: 1.15rem 1.25rem;
  border: 1px solid #e1d9aa;
  background: rgba(255,253,238,.97);
  text-align: center;
  z-index: 2;
}
.tr-lock-panel span {
  display: block;
  color: var(--tr-purple);
  text-transform: uppercase;
  letter-spacing: .075em;
  font-size: .68rem;
  font-weight: 750;
}
.tr-lock-panel strong {
  display: block;
  margin: .35rem 0 .4rem;
  font-size: 1.05rem;
}
.tr-lock-panel p {
  margin: 0 0 .55rem;
  color: var(--tr-muted);
  font-size: .78rem;
  line-height: 1.55;
}
.tr-lock-panel a { font-size: .8rem; font-weight: 650; }
.tr-premium-list {
  margin: 1.2rem 0 1.5rem;
  border-top: 2px solid var(--tr-ink);
}
.tr-premium-list > div {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 1rem;
  padding: .95rem 0;
  border-bottom: 1px solid var(--tr-rule);
}
.tr-premium-list b { color: var(--tr-purple); font-size: .8rem; }
.tr-premium-list span { font-size: .9rem; line-height: 1.55; }
.tr-premium-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: .65rem .85rem;
  background: var(--tr-purple);
  color: #fff !important;
  text-decoration: none !important;
  font-size: .875rem;
  font-weight: 700;
}
.tr-premium-cta:hover { background: #372487; color: #fff !important; }
.tr-report .tr-premium-small {
  margin-top: .6rem;
  color: var(--tr-muted);
  font-size: .75rem;
}
.tr-choice-map {
  position: relative;
  height: 390px;
  border: 1px solid var(--tr-rule);
  background:
    linear-gradient(90deg, transparent 49.9%, #dfe3e9 50%, transparent 50.1%),
    linear-gradient(0deg, transparent 49.9%, #dfe3e9 50%, transparent 50.1%),
    #fcfcfd;
}
.tr-choice-map .tr-map-axis {
  position:absolute;
  color:var(--tr-muted);
  font-size:.7rem;
}
.tr-choice-map .tr-map-axis--x { right:.75rem; bottom:.55rem; }
.tr-choice-map .tr-map-axis--y { left:.55rem; top:.75rem; writing-mode:vertical-rl; transform:rotate(180deg); }
.tr-choice-map .tr-map-quad {
  position:absolute;
  color:#969ba8;
  font-size:.7rem;
  line-height:1.35;
}
.tr-choice-map .q1{right:.8rem;top:.8rem;text-align:right}
.tr-choice-map .q2{left:.8rem;top:.8rem}
.tr-choice-map .q3{right:.8rem;bottom:1.3rem;text-align:right}
.tr-choice-map .q4{left:.8rem;bottom:1.3rem}
.tr-choice-map .dot {
  position:absolute;width:8px;height:8px;border-radius:50%;background:var(--tr-purple);opacity:.28
}
.tr-choice-map .d1{left:68%;top:23%}.tr-choice-map .d2{left:61%;top:38%}
.tr-choice-map .d3{left:43%;top:29%}.tr-choice-map .d4{left:32%;top:66%}.tr-choice-map .d5{left:77%;top:58%}
@media(max-width:600px){
  .tr-cover--energy{display:none}
  .tr-premium-list>div{grid-template-columns:32px minmax(0,1fr)}
  .tr-choice-map{height:340px}
}


/* =========================================================
   V4.1 PREMIUM POLISH
   ========================================================= */

.tr-premium-mark {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  min-height:30px;
  color:#493690;
}
.tr-premium-lock {
  width:20px;
  height:20px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tr-premium-mark-copy {
  display:flex;
  flex-direction:column;
  line-height:1;
}
.tr-premium-mark-copy strong {
  font-size:.69rem;
  letter-spacing:.11em;
  font-weight:800;
}
.tr-premium-mark-copy small {
  margin-top:.18rem;
  color:#777b88;
  font-size:.61rem;
  letter-spacing:.045em;
  font-weight:600;
}

/* Ranking gates: editorial, low-friction */
.tr-locked {
  min-height:auto;
  padding-top:.15rem;
}
.tr-locked-preview {
  position:relative;
  opacity:.58;
  filter:none;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.92) 35%,rgba(0,0,0,.18) 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.92) 35%,rgba(0,0,0,.18) 100%);
}
.tr-locked-preview .tr-bar:nth-child(n+3) { opacity:.55; }

.tr-locked .tr-lock-panel {
  position:relative;
  inset:auto;
  transform:none;
  width:100%;
  margin-top:-.3rem;
  padding:.72rem .85rem;
  border:1px solid #e3e0ef;
  border-left:3px solid var(--tr-purple);
  background:#fbfaff;
  text-align:left;
  box-shadow:none;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.8rem;
}
.tr-locked .tr-lock-panel > strong {
  margin:0;
  font-size:.83rem;
  line-height:1.25;
}
.tr-locked .tr-lock-panel > p { display:none; }
.tr-locked .tr-lock-panel > a {
  white-space:nowrap;
  font-size:.72rem;
}

/* Choice Map: still clearly gated */
.tr-choice-map .tr-lock-panel {
  width:min(360px,calc(100% - 46px));
  padding:1rem 1.05rem;
  border:1px solid #ddd9ec;
  border-top:3px solid var(--tr-purple);
  background:rgba(251,250,255,.97);
  box-shadow:0 8px 28px rgba(40,31,86,.08);
}
.tr-choice-map .tr-lock-panel .tr-premium-mark { justify-content:center; }
.tr-choice-map .tr-lock-panel > strong { margin:.45rem 0 .3rem; }
.tr-choice-map .tr-lock-panel > p { margin-bottom:.45rem; }

/* Persistent desktop sidebar cue */
.tr-sidebar-premium {
  margin-top:1rem;
  padding:.8rem .72rem .75rem;
  border:1px solid var(--tr-rule);
  border-top:2px solid var(--tr-purple);
  background:#fbfaff;
}
.tr-sidebar-premium .tr-premium-mark { margin-bottom:.45rem; }
.tr-sidebar-premium p {
  margin:.15rem 0 .5rem;
  color:var(--tr-muted);
  font-size:.69rem;
  line-height:1.45;
}
.tr-sidebar-premium p strong { color:var(--tr-ink); }
.tr-sidebar-premium > a {
  display:inline;
  padding:0;
  color:var(--tr-purple);
  font-size:.7rem;
  font-weight:700;
}

/* Report section: same editorial-material language as research pages */
.tr-premium-section {
  background:linear-gradient(180deg,#fff 0,#fbfbfd 100%);
}
.tr-premium-heading {
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  gap:1.2rem;
  align-items:start;
  padding-top:.25rem;
}
.tr-premium-heading .tr-premium-mark { padding-top:.15rem; }
.tr-premium-heading h2 { margin-top:.2rem; }

.tr-premium-materials {
  margin-top:1.35rem;
  border-top:2px solid var(--tr-ink);
  border-bottom:1px solid var(--tr-rule);
}
.tr-premium-materials-head {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.55rem 0;
  border-bottom:1px solid var(--tr-rule);
  color:var(--tr-muted);
  text-transform:uppercase;
  letter-spacing:.065em;
  font-size:.65rem;
  font-weight:700;
}
.tr-premium-materials .tr-premium-list {
  margin:0;
  border-top:0;
}
.tr-premium-access {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:1rem;
  padding:.8rem .9rem;
  background:#f7f6fb;
  border-left:3px solid var(--tr-purple);
}
.tr-premium-access strong {
  display:block;
  font-size:.82rem;
}
.tr-premium-access p {
  margin:.15rem 0 0;
  color:var(--tr-muted);
  font-size:.7rem;
  line-height:1.4;
}
.tr-premium-cta { flex:0 0 auto; }

/* Small mark in metadata */
.tr-meta .tr-premium-mark { min-height:24px; }
.tr-meta .tr-premium-lock { width:17px;height:17px; }
.tr-meta .tr-premium-mark-copy strong { font-size:.62rem; }
.tr-meta .tr-premium-mark-copy small { font-size:.56rem; }

/* Related access block */
.tr-related .tr-premium-mark { margin-bottom:.35rem; }

@media(max-width:720px){
  .tr-locked .tr-lock-panel {
    grid-template-columns:auto minmax(0,1fr);
    gap:.65rem;
  }
  .tr-locked .tr-lock-panel > a {
    grid-column:1 / -1;
    padding-left:2.5rem;
  }
  .tr-choice-map .tr-lock-panel {
    display:block;
    text-align:center;
  }
  .tr-choice-map .tr-lock-panel > p { display:block; }
  .tr-premium-heading {
    grid-template-columns:1fr;
    gap:.5rem;
  }
  .tr-premium-materials-head {
    flex-direction:column;
    gap:.2rem;
  }
  .tr-premium-access {
    align-items:flex-start;
    flex-direction:column;
  }
  .tr-premium-cta {
    width:100%;
    justify-content:center;
  }
}
