/* Shared purchase footer: one primary action, one quiet secondary action. */
.purchase-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: 44px;
  gap: 6px;
  width: 100%;
  margin: 14px 0 0;
  align-items: stretch;
}
.purchase-actions > button,
.purchase-actions > .button,
.zy-price-grid .purchase-actions > button {
  flex: none;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  height: 44px;
  max-height: 44px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #4c5148;
  box-shadow: none;
  font: 600 13px/1.4 'DM Sans', sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  transition: background .15s, border-color .15s;
}
.purchase-actions > [data-purchase="payment"],
.zy-price-grid .purchase-actions > [data-purchase="payment"] {
  order: -1;
  background: #f6c43d;
  border-color: #f6c43d;
  color: #2c2515;
  font-weight: 700;
}
.purchase-actions > button:hover:not(:disabled),
.zy-price-grid .purchase-actions > button:hover:not(:disabled) {background: #f4f4ef; border-color: #c8cbbf; transform: none;}
.purchase-actions > [data-purchase="payment"]:hover:not(:disabled),
.zy-price-grid .purchase-actions > [data-purchase="payment"]:hover:not(:disabled) {background: #edb82c; border-color: #edb82c;}
.purchase-actions > button:disabled {cursor: not-allowed;}

/* Website services */
#website .service {border-radius: 16px; padding: 28px;}
#website .service > p {font-size: 13px; line-height: 1.8;}
#website .service ul {font-size: 13px; line-height: 1.75; margin-bottom: 24px;}
#website .service li {margin-bottom: 8px;}
#website .service-bottom {padding-top: 18px; border-top: 1px solid #e5e6df;}
#website .service-bottom > small {font-size: 11px; color: #747a70; display: block; margin-bottom: 4px;}
#website .service-bottom > strong {font-size: 26px; line-height: 1.35; letter-spacing: -.7px; margin-bottom: 0;}
#website .service.blue .service-bottom {border-color: #4b4d49;}
#website .service.blue .service-bottom > small {color: #c2c6bb;}
#website .service.blue .purchase-actions > button:not([data-purchase]) {color: #eeeee7; border-color: transparent; background: transparent;}
#website .service.blue .purchase-actions > button:not([data-purchase]):hover {background: #383c36; border-color: transparent;}

/* API price gets its own row, never squeezed beside two buttons. */
.api-product {border-radius: 16px;}
.api-product-info {padding: 24px;}
.api-product-bottom {display: block; padding-top: 22px; margin-top: auto;}
.api-product-bottom > div:first-child {display: flex; align-items: baseline; justify-content: space-between; gap: 12px;}
.api-product-bottom > div:first-child small {font-size: 11px;}
.api-product-bottom > div:first-child strong {font-size: 23px; color: #252b24; letter-spacing: -.6px;}
.api-product-bottom > .purchase-actions {margin-top: 18px;}
.api-product-info .claude-package-details {margin-bottom: 22px; padding: 16px; background: #fafaf6; border-color: #e5e5dc;}
.api-product-info .claude-package-details li {font-size: 11px; line-height: 1.8;}

/* Email and Workspace: readable features followed by one aligned purchase footer. */
.business-cards {align-items: stretch; gap: 20px;}
.business-card {display: flex; flex-direction: column; padding: 28px; border-radius: 16px;}
.business-card h2 {font-size: 24px; margin: 16px 0;}
.business-card .business-price {font-size: 30px; line-height: 1.3;}
.business-card > .fine {margin-top: 8px;}
.business-card > ul {margin: 24px 0 26px; padding-top: 22px; font-size: 13px; line-height: 1.8;}
.business-card > ul li:last-child {margin-bottom: 0;}
.business-purchase {margin-top: auto; padding-top: 20px; border-top: 1px solid #e4e5dc;}
.business-purchase .business-total {display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 11px;}
.business-purchase .business-total strong {font-size: 20px; letter-spacing: -.4px; white-space: nowrap;}
.business-purchase .business-renewal {font-size: 10px; line-height: 1.7; margin: 8px 0 0; min-height: 34px;}
.business-purchase .purchase-actions {margin-top: 16px;}

/* AI pricing shares the same actions; an active plan is a status, not disabled CTAs. */
.zy-pricing {width: min(1010px, calc(100vw - 32px));}
.zy-price-grid {gap: 16px; margin-top: 24px;}
.zy-price-grid article {padding: 24px 22px; border-radius: 14px;}
.zy-price-grid article > small {font-size: 11px; letter-spacing: .6px; font-weight: 700;}
.zy-price-grid h3 {font-size: 14px; line-height: 1.6; margin: 12px 0 18px;}
.zy-price-grid strong {font-size: 28px;}
.zy-price-grid ul {font-size: 12px; line-height: 1.8; padding: 20px 0 6px; margin-top: 20px;}
.zy-price-grid li {padding-bottom: 10px;}
.zy-price-grid .nx-plan-models {font-size: 10px; line-height: 1.8; margin: 12px 0 24px;}
.zy-price-grid .plan-purchase {margin-top: auto; padding-top: 20px; border-top: 1px solid #e5e6db;}
.zy-price-grid .plan-purchase .purchase-actions {margin: 0;}
.plan-current {min-height: 96px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #506148; background: #f0f3e8; border: 1px solid #dbe3cc; border-radius: 10px;}
.plan-current b {font-size: 13px; font-weight: 700;}
.plan-current span {font-size: 11px; color: #697761;}
.zy-price-grid .zy-price-featured {background: #fffbef; border-color: #d7b44d;}
@media (max-width: 950px) and (min-width: 741px) {
  #website .service,.business-card,.api-product-info {padding: 20px;}
  .business-purchase .business-total {display: block;}
  .business-purchase .business-total strong {margin-top: 4px;}
}
@media (max-width: 740px) {
  #website .cards.three,.api-product-grid,.business-cards {grid-template-columns: 1fr;}
  .zy-price-grid {grid-template-columns: 1fr;}
  .zy-pricing {padding: 22px;}
  .api-product-bottom > div:first-child {display: flex;}
}

/* Pro, Max and Ultra: aligned pricing, compact features and grouped model lists. */
#zy-pricing-dialog {width:min(1180px,calc(100vw - 40px));max-width:1180px;}
#zy-pricing-dialog .zy-price-grid {align-items:stretch;gap:16px;}
#zy-pricing-dialog .nx-plan-card {min-width:0;padding:24px;border-radius:16px;}
#zy-pricing-dialog .nx-plan-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;}
#zy-pricing-dialog .nx-plan-name {font-size:15px;font-weight:700;letter-spacing:.3px;color:#8e711e;}
#zy-pricing-dialog .nx-plan-card h3 {min-height:44px;font-size:15px;line-height:1.5;margin:14px 0 18px;}
#zy-pricing-dialog .nx-plan-price {display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;}
#zy-pricing-dialog .nx-plan-price strong {font-size:29px;letter-spacing:-1px;white-space:nowrap;}
#zy-pricing-dialog .nx-plan-price>span {font-size:11px;color:#77806c;}
#zy-pricing-dialog .nx-plan-usd {display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;font-size:12px;color:#77806c;}
#zy-pricing-dialog .nx-plan-card ul {border:0;border-top:1px solid #e2e6d9;margin:20px 0 0;padding:18px 0 20px;gap:11px;}
#zy-pricing-dialog .nx-plan-card li {padding-bottom:0;font-size:12px;line-height:1.65;}
#zy-pricing-dialog .nx-plan-vip {display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #d9bc65;border-radius:999px;background:#f5df9c;color:#554016;font-size:10px;font-weight:800;letter-spacing:1px;}
#zy-pricing-dialog .nx-plan-vip svg {width:17px;height:17px;flex:none;}
#zy-pricing-dialog .nx-plan-ultra {background:#272b25;border-color:#272b25;color:#f7f7ee;}
#zy-pricing-dialog .nx-plan-ultra .nx-plan-name {color:#ecd181;}
#zy-pricing-dialog .nx-plan-ultra h3,#zy-pricing-dialog .nx-plan-ultra .nx-plan-price strong {color:#fffdf3;}
#zy-pricing-dialog .nx-plan-ultra .nx-plan-price>span,#zy-pricing-dialog .nx-plan-ultra .nx-plan-usd {color:#bfc6b5;}
#zy-pricing-dialog .nx-plan-ultra ul {color:#e2e6d9;border-top-color:#4a5142;}
#zy-pricing-dialog .nx-plan-ultra li:before {color:#ecd181;}
#zy-pricing-dialog .nx-plan-ultra .plan-purchase {border-color:#4a5142;}
#zy-pricing-dialog .nx-plan-ultra .purchase-actions>button:not([data-purchase]) {color:#e9e9da;}
#zy-pricing-dialog .nx-plan-ultra .purchase-actions>button:not([data-purchase]):hover {background:#3b4333;border-color:#59634e;}
@media(max-width:960px){#zy-pricing-dialog .zy-price-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto;}#zy-pricing-dialog{max-width:620px;}#zy-pricing-dialog .nx-plan-card h3{min-height:0;}}
@media(max-width:480px){#zy-pricing-dialog{width:calc(100vw - 20px);padding:18px 14px;}#zy-pricing-dialog .nx-plan-card{padding:20px;}#zy-pricing-dialog .nx-plan-price strong{font-size:28px;}}

/* Model details open independently, so all three pricing cards keep their height. */
#zy-pricing-dialog .nx-plan-bottom {margin-top:auto;padding-top:8px;}
#zy-pricing-dialog .nx-model-list-button {width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 13px;border:1px solid #dce1d3;background:#f8faf4;color:#46513d;font-size:12px;line-height:1.5;text-align:left;}
#zy-pricing-dialog .nx-model-list-button svg {width:17px;height:17px;flex:none;}
#zy-pricing-dialog .nx-model-list-button:hover {background:#f0f3e9;border-color:#abb69c;}
#zy-pricing-dialog .nx-model-list-button:focus-visible {outline:2px solid #b58c26;outline-offset:3px;}
#zy-pricing-dialog .nx-plan-includes {margin:8px 2px 18px;font-size:11px;line-height:1.6;color:#728062;}
#zy-pricing-dialog .nx-plan-bottom .plan-purchase {margin-top:0;padding-top:18px;}
#zy-pricing-dialog .nx-plan-ultra .nx-model-list-button {background:#32382d;border-color:#505a45;color:#f2f2e5;}
#zy-pricing-dialog .nx-plan-ultra .nx-model-list-button:hover {background:#3e4736;border-color:#a6af8d;}
#zy-pricing-dialog .nx-plan-ultra .nx-plan-includes {color:#bfc9b2;}
#nx-plan-model-dialog {width:min(660px,calc(100vw - 32px));max-width:660px;max-height:min(720px,88dvh);margin:auto;padding:0;overflow:hidden;border:1px solid #dfe4d6;border-radius:18px;background:#fbfcf8;color:#343e2c;box-shadow:0 24px 80px #131b1640;font-family:inherit;}
#nx-plan-model-dialog[open] {display:flex;flex-direction:column;}
#nx-plan-model-dialog::backdrop {background:#1c251b70;backdrop-filter:blur(3px);}
#nx-plan-model-dialog .nx-model-panel-head {display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;padding:22px 24px;border-bottom:1px solid #e2e6db;background:#fffefa;}
#nx-plan-model-dialog .nx-model-panel-head p {margin:0 0 7px;font-size:10px;letter-spacing:1.5px;color:#93804c;}
#nx-plan-model-dialog h2 {display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0;font-size:21px;line-height:1.4;letter-spacing:-.4px;}
#nx-plan-model-dialog [data-model-plan] {padding:3px 9px;border:1px solid #e3d5a3;border-radius:6px;background:#faf3d9;color:#816421;font-size:12px;line-height:1.5;letter-spacing:0;}
#nx-plan-model-dialog .nx-model-panel-close {flex:none;display:grid;place-items:center;width:36px;height:36px;min-height:36px;margin:0;padding:8px;border:1px solid #dfe5d6;border-radius:9px;background:#fff;color:#5e6a50;cursor:pointer;}
#nx-plan-model-dialog .nx-model-panel-close svg {width:18px;height:18px;}
#nx-plan-model-dialog .nx-model-panel-close:hover {background:#edf1e7;}
#nx-plan-model-dialog .nx-model-panel-close:focus-visible {outline:2px solid #ae8c34;outline-offset:3px;}
#nx-plan-model-dialog .nx-model-panel-body {min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 24px 24px;scrollbar-width:thin;}
#nx-plan-model-dialog [data-model-includes] {margin:0 0 18px;font-size:13px;line-height:1.6;color:#6f7b60;}
#nx-plan-model-dialog .nx-model-catalog {margin:0;border:1px solid #e0e5d8;border-radius:12px;overflow:hidden;background:#fff;}
#nx-plan-model-dialog .nx-model-provider {display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:14px;padding:15px 16px;}
#nx-plan-model-dialog .nx-model-provider+.nx-model-provider {border-top:1px solid #e8ece2;}
#nx-plan-model-dialog dt {padding-top:5px;font-size:13px;line-height:1.6;font-weight:650;color:#3c4831;}
#nx-plan-model-dialog dd {display:flex;flex-wrap:wrap;gap:7px;margin:0;min-width:0;}
#nx-plan-model-dialog .nx-model-tag {display:inline-block;max-width:100%;padding:5px 9px;border:1px solid #e3e8dc;border-radius:6px;background:#f6f8f1;font-size:12px;line-height:1.5;color:#4d5c3c;overflow-wrap:anywhere;}
#nx-plan-model-dialog .nx-model-soon {background:#faf5e6;border-color:#ebdfb7;color:#94742c;}
@media(max-width:480px){#nx-plan-model-dialog{width:calc(100vw - 20px);max-height:88dvh;border-radius:14px;}#nx-plan-model-dialog .nx-model-panel-head{padding:18px;}#nx-plan-model-dialog h2{font-size:19px;}#nx-plan-model-dialog .nx-model-panel-body{padding:16px 18px 20px;}#nx-plan-model-dialog .nx-model-provider{grid-template-columns:1fr;gap:8px;padding:13px 14px;}#nx-plan-model-dialog dt{padding-top:0;}}
