/* V0LT V18.68 — consistent cart controls and level repair actions.
 * Presentation only. Cart/quote IDs, prices, product records and event handlers
 * remain owned by the existing controller. Desktop (>900px) is untouched.
 */
/* No desktop box: preserve the original grid placement above 900px. */
#zt-cart-screen .v68-repair-identity {display:contents}
@media screen and (max-width:900px) {
  html.v65-cart-active {scroll-padding-top:84px;scroll-padding-bottom:calc(var(--v65-bar-height,126px) + 20px)}
  .zt-sequential-layout[data-current-screen="cart"] {background:#fcfcfd}
  .zt-sequential-layout[data-current-screen="cart"] .zt-workspace-shell {
    width:calc(100% - 32px);max-width:760px;padding:24px 0 calc(var(--v65-bar-height,126px) + 24px);
  }
  /* No animated transform ancestor around a viewport-fixed checkout bar. */
  #zt-cart-screen {animation:none;transform:none;min-width:0;font-size:17px;line-height:1.5}
  .v65-site-header {height:72px;padding-inline:16px;gap:12px;background:#fff}
  .v65-brand {gap:9px;min-width:0}
  .v65-brand img {width:24px;height:36px}
  .v65-brand strong {font-size:19px;letter-spacing:-.5px}
  .v65-brand small {font-size:10px;line-height:1.4;letter-spacing:.65px}
  .v65-tools {gap:2px;padding:0}
  .v65-tools > :is(a,button) {width:44px;height:44px;padding:10px}
  .v65-tools .v65-account {display:none}
  .v65-tools #v65-search-shop {display:grid}
  .v65-site-header svg {width:23px;height:23px}

  #zt-cart-screen .v65-intro {display:block;margin:0 0 20px}
  #zt-cart-screen .v65-intro h1 {font-size:36px;line-height:1.12;letter-spacing:-1.2px;font-weight:750}
  #zt-cart-screen .v65-intro p {font-size:17px;line-height:1.5;color:#63738a;margin-top:9px;max-width:none}
  #zt-cart-screen .v65-continue-shopping {display:none} /* The header Shop and browse links stay available. */
  #zt-cart-screen .v65-items {border:0;border-radius:0;padding:0;background:transparent}
  #zt-cart-screen .v65-item-list,
  #zt-cart-screen .zt-cart-products-list {display:grid;gap:12px;margin:0;padding:0;min-width:0}
  #zt-cart-screen #zt-cart-products-table {margin:0;padding:0;border:0;min-width:0}
  #zt-cart-screen :is(.v65-repair-row,.zt-cart-product) {
    border:1px solid #e3e8ef;border-radius:16px;background:#fff;padding:18px;
    box-shadow:0 4px 18px rgba(21,36,56,.025);margin:0;min-width:0;
  }
  #zt-cart-screen :is(.v65-part-visual,.zt-cart-product-image) {
    border-radius:12px;background:#f6f7f9;overflow:hidden;flex:none;
  }
  #zt-cart-screen .v65-part-visual img {object-fit:contain}
  #zt-cart-screen #v64-part-image-note {font-size:15px;line-height:1.35;left:0;right:0;bottom:3px;background:#f6f7f9}
  #zt-cart-screen :is(#v65-repair-name,.zt-cart-product-name) {
    font-size:19px;line-height:1.35;letter-spacing:-.35px;font-weight:650;overflow-wrap:break-word;
  }
  #zt-cart-screen .zt-cart-product-copy {display:flex;flex-direction:column;gap:0;min-width:0}
  #zt-cart-screen :is(#zt-cart-quality-name,.zt-cart-product-copy > small) {
    font-size:16px;line-height:1.5;color:#63738a;margin:4px 0 0;
  }
  #zt-cart-screen .v65-repair-badge {font-size:15px;line-height:1.4;padding:4px 9px;border-radius:8px;margin:0 0 7px}
  #zt-cart-screen .v65-repair-benefits {gap:5px 9px;align-items:center;margin-top:7px;flex-wrap:wrap}
  #zt-cart-screen .v65-recommended {font-size:15px;line-height:1.4;padding:3px 7px;font-weight:600}
  #zt-cart-screen #v65-installation {font-size:15px;line-height:1.4;color:#456154}
  #zt-cart-screen .v65-repair-actions {
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;
    grid-column:1/-1;grid-row:3;align-self:stretch;align-items:stretch;margin:2px 0 0;padding:10px 0 0;border-top:1px solid #edf0f4;
  }
  #zt-cart-screen .v65-repair-actions :is(a,button) {
    display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;align-self:stretch;
    min-height:48px;min-width:0;padding:10px 0;margin:0;font-size:16px;line-height:1.4;text-align:left;
    color:#4e6480;font-weight:500;white-space:normal;text-decoration:underline;text-underline-offset:3px;
  }
  #zt-cart-screen .v65-repair-actions :is(a,button)::after {
    content:"";width:6px;height:6px;flex:0 0 6px;margin-top:8px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);
  }
  #zt-cart-screen .v65-repair-quantity {min-height:46px;font-size:16px;line-height:1.4;border-radius:10px;width:128px;height:46px;box-sizing:border-box;padding:8px 12px;margin:0;color:#586b85}
  #zt-cart-screen .v65-repair-price {margin:0;white-space:nowrap}
  #zt-cart-screen .v65-repair-price strong {font-size:24px;line-height:1.25;letter-spacing:-.5px}
  #zt-cart-screen .v65-repair-price small {font-size:15px;line-height:1.4;margin-top:3px}
  /* The price is clearly a part in the named repair row. Keep the assessment qualifier visible. */
  #zt-cart-screen:not(.v65-deferred):not(.v64-assessment) .v65-repair-price small {display:none}
  #zt-cart-screen :is(.v65-remove-repair,.zt-cart-remove) {width:44px;height:46px;min-height:46px;padding:0;border-radius:10px;align-self:center}
  #zt-cart-screen :is(.v65-remove-repair,.zt-cart-remove) svg {width:19px;height:19px}
  #zt-cart-screen .v65-product-details {display:none} /* Product names and photos are the details links. */
  #zt-cart-screen .zt-cart-product-copy > small.zt-recommendation-label {font-size:15px;line-height:1.4;color:#277049;margin-top:5px}
  #zt-cart-screen .zt-cart-product-copy > small.v65-deferred-label {font-size:15px;line-height:1.5;color:#8a5b23}
  #zt-cart-screen .zt-protector-variants {margin-top:9px;padding:0;gap:6px;flex-wrap:wrap}
  #zt-cart-screen .zt-protector-variants button {min-height:44px;font-size:15px;line-height:1.4;padding:8px 13px;border-radius:9px}
  #zt-cart-screen .zt-protector-note {font-size:15px!important;line-height:1.45!important;margin-top:5px!important}
  #zt-cart-screen .zt-cart-quantity {width:128px;grid-template-columns:44px 38px 44px;min-height:46px;border-radius:10px;background:#fff}
  #zt-cart-screen .zt-cart-quantity button {width:44px;height:44px;min-height:44px;font-size:21px;border-radius:8px}
  #zt-cart-screen .zt-cart-quantity b {font-size:17px;font-weight:600;line-height:44px}
  #zt-cart-screen .zt-cart-product-controls {padding:0;margin:0}
  #zt-cart-screen .zt-cart-line-total {font-size:23px;line-height:1.3;pointer-events:auto;margin:0}
  #zt-cart-screen .v65-unit-note {font-size:15px;line-height:1.4;font-weight:400}
  #zt-cart-screen :is(.zt-recommendation-note,.v65-status) {padding:12px 2px 0;margin:0;font-size:15px;line-height:1.5;border:0;color:#65748a}
  #zt-cart-screen .zt-cart-review-notice {padding:12px;margin:12px 0 0;font-size:16px;line-height:1.5}

  /* Short horizontal recommendation tiles, not another tall product catalogue. */
  #zt-cart-screen .v65-extras {margin-top:28px}
  #zt-cart-screen .v65-extras-head {display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:12px}
  #zt-cart-screen .v65-extras-head h2 {font-size:25px;font-weight:700;line-height:1.25;letter-spacing:-.6px}
  #zt-cart-screen .v65-extras-head p {font-size:16px;line-height:1.5;margin-top:4px}
  #zt-cart-screen .zt-cart-browse {font-size:16px;line-height:1.4;min-height:44px;gap:8px;padding:4px 0;margin:0;width:auto}
  #zt-cart-screen .v64-product-rail {gap:12px;padding:2px 2px 8px;scroll-padding:2px;scroll-snap-type:x proximity}
  #zt-cart-screen .v64-product-card {
    flex:0 0 calc((100% - 12px)/2);min-width:278px;max-width:none;
    display:grid;grid-template-columns:100px minmax(0,1fr);grid-template-rows:auto 1fr;
    gap:8px 14px;padding:14px;border-radius:16px;align-items:start;
  }
  #zt-cart-screen .v64-product-image {grid-column:1;grid-row:1/3;width:100%;height:148px;margin:0;padding:6px;border-radius:10px;background:#f6f7f9}
  #zt-cart-screen .v64-product-copy {grid-column:2;grid-row:1;display:block;padding:0;min-width:0}
  #zt-cart-screen .v64-product-name {font-size:17px;line-height:1.35;letter-spacing:-.25px;font-weight:650}
  #zt-cart-screen .v64-product-copy p {display:none} /* The full product detail is one tap away. */
  #zt-cart-screen .v64-product-copy > small {display:block;margin-top:4px;font-size:15px;line-height:1.4}
  #zt-cart-screen .v64-product-bottom {grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;align-self:stretch;gap:7px;margin:0;padding:0}
  #zt-cart-screen .v64-product-bottom > strong {font-size:19px;line-height:1.3;font-weight:650}
  #zt-cart-screen .v64-product-bottom button {font-size:17px;line-height:1.4;min-height:44px;padding:8px 14px;gap:5px;border-radius:10px}
  #zt-cart-screen .v64-rail-controls {padding:0;margin-top:2px;gap:8px}
  #zt-cart-screen .v64-rail-controls button {width:44px;height:44px}
  #zt-cart-screen .v65-no-suggestions {font-size:16px;line-height:1.5;padding:16px}

  #zt-cart-screen .v64-help {
    display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px 12px;padding:18px;margin:24px 0 0;border-radius:16px;
    border-color:#ffdfd0;background:#fffcfa;
  }
  #zt-cart-screen .v64-help-icon {display:grid;grid-column:1;grid-row:1;width:56px;height:56px;align-self:start;border-radius:50%;background:#fff3eb;color:#ef4814}
  #zt-cart-screen .v64-help-icon svg {width:28px;height:28px}
  #zt-cart-screen .v64-help-copy {grid-column:2;grid-row:1;min-width:0}
  #zt-cart-screen .v64-help-copy > small {font-size:15px;line-height:1.4;margin-bottom:3px}
  #zt-cart-screen .v64-help h2 {font-size:21px;line-height:1.3;letter-spacing:-.4px}
  #zt-cart-screen .v64-help-copy p {font-size:16px;line-height:1.5;margin-top:4px}
  #zt-cart-screen .v64-help-message,#zt-cart-screen .v64-help-phone {font-size:17px;line-height:1.4;min-height:62px;padding:10px 12px;gap:8px;max-width:100%;min-width:0;border-radius:11px}
  #zt-cart-screen .v64-help-message {grid-column:1;grid-row:2}
  #zt-cart-screen .v64-help-phone {grid-column:2;grid-row:2}
  #zt-cart-screen .v64-help-phone small {font-size:15px;line-height:1.4}
  #zt-cart-screen .v64-help-phone strong {font-size:18px;line-height:1.4}
  /* Put the existing links in equal columns without changing their route or handlers. */
  #zt-cart-screen .v64-help {grid-template-columns:repeat(2,minmax(0,1fr))}
  #zt-cart-screen .v64-help-icon {grid-column:1;grid-row:1;justify-self:start}
  #zt-cart-screen .v64-help-copy {grid-column:1/-1;grid-row:1;padding-left:68px}

  /* One solid, viewport-fixed bottom bar. ResizeObserver reserves its actual height. */
  #zt-cart-screen .v65-total-bar {background:#fff;backdrop-filter:none;border-top:1px solid #e3e8ef;box-shadow:0 -4px 18px rgba(23,36,54,.035);padding:12px 0 calc(12px + env(safe-area-inset-bottom))}
  #zt-cart-screen .v65-total-inner {display:grid;grid-template-columns:minmax(142px,.85fr) minmax(0,1.15fr);gap:6px 16px;width:calc(100% - 32px);max-width:760px;margin:auto;align-items:center}
  #zt-cart-screen .v65-price-group {display:contents}
  #zt-cart-screen .v65-total-value {grid-column:1;grid-row:1;display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:baseline;min-width:0}
  #zt-cart-screen #zt-cart-total-label {font-size:17px;line-height:1.4;letter-spacing:0;font-weight:600}
  #zt-cart-screen #zt-cart-total {font-size:30px;line-height:1.25;font-weight:750;letter-spacing:-.7px}
  #zt-cart-screen .v65-gst {grid-column:1/-1;margin:2px 0 0;font-size:15px;line-height:1.4;white-space:normal}
  #zt-cart-screen .v65-adjustments {grid-column:1/-1;grid-row:2;margin:0;gap:3px 14px;min-width:0}
  #zt-cart-screen .v65-adjustments > span {font-size:15px;line-height:1.4;gap:6px;flex-wrap:wrap}
  #zt-cart-screen #zt-cart-continue {grid-column:2;grid-row:1;width:100%;min-height:54px;margin:0;padding:12px 14px;border-radius:11px;font-size:17px;line-height:1.4;gap:10px;box-shadow:0 4px 12px #ff4b151a;transform:none}
  #zt-cart-screen .v65-quote-status {grid-column:1/-1;grid-row:3;font-size:15px;line-height:1.4;margin:0;overflow-wrap:anywhere}
  #zt-cart-screen:is(.is-large-total,.v65-deferred) .v65-total-value {grid-template-columns:1fr}
  #zt-cart-screen:is(.is-large-total,.v65-deferred) #zt-cart-total {grid-column:1}
}

/* Shared item anatomy: image + description, then price and controls.
 * Every repair/accessory uses the same columns at each breakpoint.
 * Wide: price above quantity + bin on the right.
 * Narrow: quantity | price | bin below the identity. No special 430px repair layout.
 */
@media screen and (min-width:600px) and (max-width:900px) {
  #zt-cart-screen :is(.v65-repair-row,.zt-cart-product) {
    display:grid;grid-template-columns:96px minmax(0,1fr) 128px 44px;
    grid-template-rows:min-content minmax(46px,1fr);gap:12px 16px;align-items:start;
  }
  #zt-cart-screen .v65-repair-row {grid-template-rows:min-content minmax(46px,1fr) auto}
  #zt-cart-screen :is(.v68-repair-identity,.zt-cart-product-identity) {display:contents}
  #zt-cart-screen :is(.v65-part-visual,.zt-cart-product-image) {
    grid-column:1;grid-row:1/3;width:96px;height:120px;padding:6px;align-self:start;
  }
  #zt-cart-screen .v65-part-visual img {height:90px}
  #zt-cart-screen :is(.v65-repair-copy,.zt-cart-product-copy) {grid-column:2;grid-row:1/3;align-self:start}
  #zt-cart-screen :is(.v65-repair-price,.zt-cart-line-total) {
    grid-column:3/5;grid-row:1;justify-self:end;align-self:start;text-align:right;
    padding:0;margin:0;font-size:24px;line-height:1.25;white-space:normal;
  }
  #zt-cart-screen :is(.v65-repair-price,.zt-cart-line-total) strong {
    font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.5px;white-space:nowrap;
  }
  #zt-cart-screen :is(.v65-repair-quantity,.zt-cart-product-controls) {
    grid-column:3;grid-row:2;justify-self:end;align-self:start;margin:0;
  }
  #zt-cart-screen :is(.v65-remove-repair,.zt-cart-remove-cell) {
    grid-column:4;grid-row:2;justify-self:end;align-self:start;margin:0;
  }
  #zt-cart-screen .v65-repair-actions {grid-column:1/-1;grid-row:3}
}

/* One consistent footer row for all cards on phones. */
@media screen and (max-width:599px) {
  #zt-cart-screen :is(.v65-repair-row,.zt-cart-product) {
    display:grid;grid-template-columns:128px minmax(0,1fr) 44px;
    grid-template-rows:auto auto;gap:14px 10px;align-items:center;padding:14px;
  }
  #zt-cart-screen :is(.v68-repair-identity,.zt-cart-product-identity) {
    display:grid;grid-template-columns:76px minmax(0,1fr);grid-column:1/-1;
    grid-row:1;gap:12px;align-items:start;min-width:0;
  }
  #zt-cart-screen :is(.v65-part-visual,.zt-cart-product-image) {
    grid-column:1;grid-row:1;width:76px;height:104px;padding:5px;align-self:start;
  }
  #zt-cart-screen .v65-part-visual img {height:76px}
  #zt-cart-screen #zt-cart-device-icon svg {width:42px;height:62px}
  #zt-cart-screen :is(.v65-repair-copy,.zt-cart-product-copy) {grid-column:2;grid-row:1;align-self:start}
  #zt-cart-screen :is(#v65-repair-name,.zt-cart-product-name) {font-size:18px;line-height:1.35;letter-spacing:-.25px}
  #zt-cart-screen :is(.v65-repair-quantity,.zt-cart-product-controls) {
    grid-column:1;grid-row:2;justify-self:start;align-self:center;margin:0;
  }
  #zt-cart-screen .v65-repair-quantity {
    width:128px;height:46px;min-height:46px;padding:8px 10px;font-size:16px;
    border:1px solid #d9e1ec;background:#fafbfd;border-radius:10px;
  }
  #zt-cart-screen :is(.v65-repair-price,.zt-cart-line-total) {
    grid-column:2;grid-row:2;justify-self:end;align-self:center;text-align:right;
    margin:0;padding:0;font-size:22px;line-height:1.3;white-space:normal;overflow-wrap:normal;
  }
  #zt-cart-screen :is(.v65-repair-price,.zt-cart-line-total) strong {
    font-size:22px;line-height:1.3;font-weight:700;letter-spacing:-.5px;white-space:nowrap;
  }
  #zt-cart-screen :is(.v65-remove-repair,.zt-cart-remove-cell) {
    grid-column:3;grid-row:2;justify-self:end;align-self:center;margin:0;
  }
  #zt-cart-screen .v65-repair-actions {grid-column:1/-1;grid-row:3;margin:0;padding:8px 0 0;gap:8px}
  #zt-cart-screen .v65-repair-actions :is(a,button) {
    display:flex;align-items:flex-start;justify-content:center;min-height:48px;
    padding:8px 0;font-size:15px;line-height:1.4;text-align:center;
  }
  #zt-cart-screen .v65-repair-actions :is(a,button)::after {display:none}
  #zt-cart-screen .v65-extras-head h2 {font-size:24px}
  #zt-cart-screen .v64-product-card {flex-basis:calc(100% - 34px);min-width:264px;grid-template-columns:92px minmax(0,1fr);gap:8px 12px;padding:12px}
  #zt-cart-screen .v64-product-image {height:140px}
  #zt-cart-screen .v64-product-copy > small {font-size:15px}
  #zt-cart-screen .v64-help {padding:16px;gap:14px 10px}
  #zt-cart-screen .v64-help-icon {width:42px;height:42px}
  #zt-cart-screen .v64-help-icon svg {width:24px;height:24px}
  #zt-cart-screen .v64-help-copy {padding-left:52px}
  #zt-cart-screen .v64-help h2 {font-size:20px;line-height:1.3}
  #zt-cart-screen .v64-help-message,#zt-cart-screen .v64-help-phone {font-size:17px;padding:9px 8px;gap:7px}
  #zt-cart-screen .v64-help-message > span {display:none}
  #zt-cart-screen .v64-help-phone strong {font-size:17px}
  #zt-cart-screen .v64-help-phone svg {width:18px;height:18px}
  #zt-cart-screen .v65-total-inner {grid-template-columns:minmax(138px,.9fr) minmax(0,1.1fr);gap:6px 12px}
  #zt-cart-screen #zt-cart-total {font-size:27px}
  #zt-cart-screen #zt-cart-continue {gap:7px;padding:11px 10px;min-height:54px}
}
@media screen and (max-width:429px) {
  #zt-cart-screen #zt-cart-continue .v64-booking-word {display:none}
}
@media screen and (max-width:374px) {
  .v65-site-header {padding-inline:12px;gap:4px}
  .v65-brand {gap:6px}
  .v65-brand img {width:20px}
  .v65-brand small {font-size:9px;letter-spacing:0}
  .v65-tools {gap:0}
  .zt-sequential-layout[data-current-screen="cart"] .zt-workspace-shell {width:calc(100% - 24px)}
  #zt-cart-screen :is(.v65-repair-row,.zt-cart-product) {padding:12px}
  #zt-cart-screen :is(#v65-repair-name,.zt-cart-product-name) {font-size:17px}
  #zt-cart-screen :is(.v65-repair-row,.zt-cart-product) {grid-template-columns:114px minmax(0,1fr) 44px;column-gap:8px}
  #zt-cart-screen .v65-repair-quantity {width:114px}
  #zt-cart-screen .zt-cart-quantity {width:114px;grid-template-columns:44px 24px 44px}
  #zt-cart-screen :is(.v68-repair-identity,.zt-cart-product-identity) {grid-template-columns:76px minmax(0,1fr);gap:10px}
  #zt-cart-screen :is(.v65-part-visual,.zt-cart-product-image) {width:76px;height:100px}
  #zt-cart-screen :is(.v65-repair-price,.zt-cart-line-total) strong {font-size:19px}
  #zt-cart-screen .v64-product-card {min-width:252px;flex-basis:calc(100% - 22px);grid-template-columns:76px minmax(0,1fr)}
  #zt-cart-screen .v64-help {padding:12px;gap:12px 8px}
  #zt-cart-screen .v64-help-icon {display:none}
  #zt-cart-screen .v64-help-copy {padding-left:0}
  #zt-cart-screen .v64-help-phone svg {display:none}
  #zt-cart-screen .v64-help-message {gap:5px;font-size:17px}
  #zt-cart-screen .v64-help-message svg {width:18px;height:18px}
  #zt-cart-screen .v65-total-inner {width:calc(100% - 24px);grid-template-columns:minmax(132px,1fr) minmax(0,1fr);column-gap:10px}
  #zt-cart-screen #zt-cart-total {font-size:25px}
}
/* A placeholder illustration has internal whitespace; enlarge only those assets. */
@media screen and (max-width:900px) {
  #zt-cart-screen .v65-part-visual:has(#v64-part-image-note:not([hidden])) img {transform:scale(1.65);transform-origin:50% 44%}
}
/* All labels share the same flex box. On the narrowest phones use two
 * deliberate lines for ALL three actions instead of one button dropping lower. */
@media screen and (max-width:429px) {
  #zt-cart-screen .v65-repair-actions :is(a,button) {min-height:52px}
  #zt-cart-screen .v65-repair-actions .v68-action-label {max-inline-size:7.4ch;white-space:normal;text-align:center}
}
@media screen and (max-width:479px) {
  #zt-cart-screen #zt-cart-continue .v64-booking-word {display:none}
}

/* A shorter visual label keeps the same full accessible link name. */
#zt-cart-screen .v67-part-details-full {display:contents}
#zt-cart-screen .v67-part-details-short {display:none}
@media screen and (max-width:599px) {
  #zt-cart-screen .v67-part-details-full {display:none}
  #zt-cart-screen .v67-part-details-short {display:inline}
}
