/* Final calculator presentation: leave the approved calculations and CTA flow untouched. */
@media (min-width: 901px) {
  .calculator-grid {
    grid-template-columns: minmax(0, 2.45fr) minmax(280px, .8fr);
    gap: 18px;
  }
  .activity-row {
    grid-template-columns: minmax(145px, .55fr) minmax(0, 2.25fr);
    gap: 13px;
  }
  .social-activity-rows .activity-row {
    grid-template-columns: minmax(132px, .52fr) minmax(0, 2.3fr);
  }
  .calculator-sidebar {
    position: sticky;
    top: 18px;
    align-self: start;
  }
  .calculator-sidebar .calculator-result {
    position: static;
    top: auto;
  }
}

.calculator-sidebar { display: grid; gap: 14px; min-width: 0; }
.choice-group { overflow: visible; }
.choice-group > button,
.custom-tile,
.custom-tile > button { min-height: 78px; }
.choice-group > button,
.custom-tile > button { white-space: normal; overflow: visible; word-break: normal; }
.choice-group > button span,
.custom-tile > button span { line-height: 1.12; }
.choice-group > button small,
.custom-tile small { overflow: visible; white-space: normal; text-align: center; }
.custom-tile { grid-template-rows: 1fr; }
.custom-tile > small { display:none; }
.custom-tile.is-custom { grid-template-rows: 1fr auto; }
.custom-tile.is-custom > small { display:block; }
.custom-tile input { min-width: 0; box-sizing: border-box; }

[data-activity-row="browsing"] .activity-icon { background:#e0f8e9; color:#078652; }
[data-activity-row="emails"] .activity-icon { background:#e3f0ff; color:#2678d9; }
[data-activity-row="videoStreaming"] .activity-icon { background:#ffe6e4; color:#d8504b; }
[data-activity-row="music"] .activity-icon { background:#efe5ff; color:#7b4cc7; }
[data-activity-row="maps"] .activity-icon { background:#fff3c9; color:#a66a00; }
[data-activity-row="gaming"] .activity-icon { background:#ffe3f3; color:#c5308b; }
[data-activity-row="calls"] .activity-icon { background:#e5edff; color:#426dcc; }
.calculator-social-group > summary .activity-icon { background:#fce4fb; color:#bc379e; }
.social-activity-rows .activity-icon { background:#fce4fb; color:#bc379e; }

.calculator-social-group { border-color:#d8e8e2; background:linear-gradient(180deg,#fdfffe,#f8fcfa); box-shadow:0 4px 14px rgba(9,45,36,.025); }
.calculator-social-group > summary { border-radius:11px; }
.calculator-social-group[open] > summary { border-bottom:1px solid #e3ece8; }

.calculator-breakdown { border:1px solid #d8e9e1; border-radius:14px; background:linear-gradient(145deg,#fbfffd,#f4fcf8); padding:0 16px; }
.calculator-breakdown details { margin:0; }
.calculator-breakdown summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 0; color:#102b43; font-size:17px; font-weight:900; cursor:pointer; list-style:none; }
.calculator-breakdown summary::-webkit-details-marker { display:none; }
.calculator-breakdown summary span { color:#4e7568; transition:transform .16s ease; }
.calculator-breakdown details[open] summary span { transform:rotate(180deg); }
.breakdown-empty { margin:0 0 15px; color:#60776f; font-size:13px; line-height:1.4; }
.breakdown-list { display:grid; gap:9px; margin:0; padding:0 0 13px; list-style:none; }
.breakdown-list li { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; column-gap:8px; color:#426057; font-size:13px; }
.breakdown-list strong { color:#183a4d; font-size:13px; }
.breakdown-dot { width:9px; height:9px; border-radius:50%; background:#0ab37f; }
[data-breakdown-key="browsing"] .breakdown-dot { background:#13b87d; }
[data-breakdown-key="emails"] .breakdown-dot { background:#4b99ef; }
[data-breakdown-key="videoStreaming"] .breakdown-dot { background:#ef625c; }
[data-breakdown-key="music"] .breakdown-dot { background:#9357dc; }
[data-breakdown-key="maps"] .breakdown-dot { background:#eead16; }
[data-breakdown-key="gaming"] .breakdown-dot { background:#e65ab4; }
[data-breakdown-key="calls"] .breakdown-dot { background:#547fe1; }
[data-breakdown-key="social"] .breakdown-dot { background:#d64ab8; }
.breakdown-total { display:flex; justify-content:space-between; gap:12px; padding:13px 0 15px; border-top:1px solid #d9e8e1; color:#153247; font-weight:850; }
.breakdown-total strong { font-size:17px; }

@media (max-width: 900px) {
  .calculator-sidebar { order:2; }
  .calculator-breakdown { padding:0 14px; }
}

@media (max-width: 900px) {
  .choice-group { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .choice-group > button,
  .custom-tile,
  .custom-tile > button { min-height:72px; }
}

@media (max-width: 420px) {
  .choice-group { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
