@import url("/assets/shared/product-lineup-base.css");
@import url("/assets/shared/product-lineup-filterable.css");
@import url("/assets/shared/disclosure-toggle-start.css");

.g002-page .g002-content-card a:not(.button){color:var(--color-brand-green-darker);text-decoration:underline;text-underline-offset:4px;}
.g002-page .g002-content-card {padding:24px;min-width:0;overflow-wrap:anywhere;}
.g002-page .g002-content-card {display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.g002-page .g002-content-card h3 {font-size:20px;line-height:1.6;margin:0;}
.g002-page .g002-content-card p {margin:0;}
.g002-page .g002-content-card .button {margin-top:auto;}
@media(max-width:767px){
 .g002-page .g002-content-card {padding:20px;}
 .g002-page .g002-content-card h3 {font-size:18px;}
}

.g002-page .product-feature__illustration {display:block;width:80px;height:80px;object-fit:contain;margin:0 auto 16px;}

.g002-page .product-overview__reference {display:grid;gap:20px;}
.g002-page .product-overview__reference h3,.g002-page .product-overview__reference p,.g002-page .product-overview__reference dl {margin:0;}
.g002-page .product-overview__reference dl {display:grid;gap:24px;}
.g002-page .product-overview__reference dt {font-weight:700;margin-bottom:8px;}
.g002-page .product-overview__reference dd {margin:0;line-height:1.8;}

.g002-page .product-overview__feature-details {display:grid;gap:24px;}
.g002-page .product-overview__feature-details h3 {margin:0 0 8px;font-size:18px;line-height:1.6;}
.g002-page .product-overview__feature-details p {margin:0;line-height:1.8;}
.g002-page .product-overview__details .annotation-note {margin-bottom:24px;}

/* Product-page card typography, shared across viewport sizes. */
.g002-page #column .column-card h3 {font-size:18px;}

/* Let the installation stack supply equal spacing around its lead. */
.g002-page #install .product-section__stack > .section-heading + p {margin-block-end:0;}

.g002-page .product-overview__reference-lead {font-weight:700;white-space:pre-line;}
.g002-page .product-overview__reference dd {white-space:pre-line;}

.g002-page #install .ui-table--details td {white-space:pre-line;}

.g002-page .product-overview__feature-details > article {display:grid;gap:16px;min-width:0;}
.g002-page .product-overview__feature-details h3 {padding:12px 16px;border-inline-start:3px solid var(--color-brand-green-dark);background:var(--color-surface-light-gray);}
.g002-page .product-overview__detail-images {display:grid;gap:20px;justify-items:start;}
.g002-page .product-overview__detail-images img {display:block;max-width:100%;width:auto;height:auto;}

/* Imported feature HTML: retain the source tags and classes within this scope. */
.g002-page .product-overview__feature-source {overflow-wrap:anywhere;margin-inline:32px;}
.g002-page .product-overview__feature-source .product-title-02 {margin:32px 0 20px;padding:12px 16px;border-inline-start:3px solid var(--color-brand-green-dark);background:var(--color-surface-light-gray);font-size:18px;line-height:1.6;}
.g002-page .product-overview__feature-source > .product-title-02:first-child {margin-block-start:0;}
.g002-page .product-overview__feature-source .feature {margin:0 0 24px;}
.g002-page .product-overview__feature-source h4 {margin:0 0 12px;padding:8px 12px;background:var(--color-surface-soft);font-size:16px;line-height:1.6;}
.g002-page .product-overview__feature-source .product-text {margin:0 0 12px;}
.g002-page .product-overview__feature-source p {margin:0 0 12px;line-height:1.8;}
.g002-page .product-overview__feature-source figure {margin:0 0 16px;}
.g002-page .product-overview__feature-source img {display:block;max-width:100%;width:auto;height:auto;}
.g002-page .product-overview__feature-source small {display:block;font-size:12px;line-height:1.7;}
.g002-page .product-overview__feature-source .mb10 {margin-bottom:10px;}
.g002-page .product-overview__feature-source .mb20 {margin-bottom:20px;}
.g002-page .product-overview__feature-source .mb40 {margin-bottom:40px;}

/* Align body text with the heading text (4px border + 14px padding). */
.g002-page .product-overview__reference > .product-overview__reference-lead,
.g002-page .product-overview__reference > dl {margin-inline:18px 28px;}
@media(max-width:767px){
 .g002-page .product-overview__reference > .product-overview__reference-lead,
 .g002-page .product-overview__reference > dl {margin-inline:0;}
 .g002-page .product-overview__feature-source {margin-inline:0;}
}

/* Reuse the lineup card directly below the hero actions. */
.g002-page .g002-lineup-preview { width: min(100%, 384px); margin-block-start: var(--space-lg); }

/* Lineup fragments adopted in the product hero. */
.g002-page .product-hero__copy:has(.product-hero__title-tags) { position: relative; }
.g002-page .product-hero__title-tags { justify-self: end; }
.g002-page .g002-hero-price { padding: var(--space-lg); border: 1px solid var(--color-border-default); border-radius: var(--radius-medium); }
.g002-page .g002-hero-price .price-summary { margin: 0; border: 0; padding: 0; }
.g002-page .g002-hero-price .price-summary__result { color: var(--color-sale-red); font-size: 2rem; }
@media(min-width:768px){
 .g002-page .product-hero__title-tags { position: absolute; inset-inline-end: 0; top: 40px; }
 .g002-page .product-hero__copy:has(.product-hero__title-tags) > .product-hero__title-row { padding-inline-end: 330px; }
}

.g002-page .product-hero__quote-lead { margin: 0 0 var(--space-lg); }

/* Approved hero: enlarged photo left, itemized price right. */
.g002-page #product .product-hero__quote { grid-column: 1 / -1; grid-row: 2; }
.g002-page .g002-price-panel { padding: 0; overflow: hidden; border: 1px solid var(--color-border-default); border-radius: 18px; background: #fff; }
.g002-price-panel__heading { padding: 20px 24px; border-bottom: 1px solid #dbe8e4; color: #536d66; font-size: 13px; }
.g002-price-panel__heading > span { display: inline-block; margin-right: 12px; padding: 4px 12px; background: #e0f4ec; border-radius: 5px; color: #006945; font-weight: 700; }
.g002-price-panel__layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 24px; padding: 24px; align-items: start; }
.g002-price-panel__photo,.g002-price-panel__amounts { min-width: 0; }
.g002-price-panel__photo img { display: block; width: 100%; height: auto; }
.g002-page .g002-price-panel__photo .product-hero__quote-lead { margin: 20px 0 0; font-size: 13px; line-height: 1.8; color: #536d66; }
.g002-price-panel__amounts { container-type: inline-size; }
.g002-price-panel__amounts p { margin: 0; }
.g002-price-panel__retail { padding-bottom: 12px; border-bottom: 1px solid #dbe8e4; color: #536d66; font-size: 13px; }
.g002-price-panel table { width: 100%; border-collapse: collapse; font-size: 13px; }
.g002-price-panel th,.g002-price-panel td { padding: 12px 0; border-bottom: 1px solid #dbe8e4; }
.g002-price-panel th { text-align: left; font-weight: 500; }
.g002-price-panel td { text-align: right; font-weight: 700; white-space: nowrap; }
.g002-price-panel__amounts .g002-price-panel__band { margin: 20px 0 12px; padding: 8px 6px; background: #ffd600; text-align: center; font-size: 14px; font-weight: 700; }
.g002-price-panel__total-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.g002-price-panel__label { font-size: 13px; color: #536d66; font-weight: 700; }
.g002-price-panel__total { font-size: clamp(28px,10cqi,40px); font-weight: 800; color: #e5002d; line-height: 1.3; letter-spacing: -1px; white-space: nowrap; }
.g002-price-panel__total small,.g002-price-panel__net small { font-size: 15px; letter-spacing: 0; }
.g002-price-panel__tax { font-size: 12px; color: #536d66; }
.g002-price-panel__discount { flex-shrink: 0; width: 64px; height: 64px; border-radius: 50%; background: #e5002d; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 12px; line-height: 1.1; font-weight: 700; }
.g002-price-panel__discount strong { font-size: 22px; }
.g002-price-panel__benefit { margin-top: 16px; background: #f0f9f5; padding: 14px 10px; }
.g002-price-panel__amounts .g002-price-panel__subsidy { margin-bottom: 10px; color: #006945; font-size: 14px; }
.g002-price-panel__subsidy strong { font-size: 20px; }
.g002-price-panel__net { color: #006945; font-size: clamp(28px,9cqi,34px); font-weight: 800; line-height: 1.3; }
@media(max-width:767px){ .g002-price-panel__layout { grid-template-columns: minmax(0,1fr); padding: 18px; } .g002-price-panel__heading { padding: 16px 18px; } }

.g002-price-panel__retail del { font-weight: 700; text-decoration-color: var(--color-sale-red); text-decoration-thickness: 2px; }

/* Match the shared heading gradient in the hero accents. */
.g002-page #product { --g002-hero-accent: linear-gradient(90deg, var(--color-brand-green) 40.385%, var(--color-brand-green-dark) 100%); }
.g002-page #product #product-title::after,
.g002-page #product .g002-price-panel__heading > span { background: var(--g002-hero-accent); }
.g002-page #product .g002-price-panel__heading > span { color: var(--color-text-inverse); }

.g002-price-panel__amounts > .g002-price-panel__heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0 0 16px; margin-bottom: 16px; }
.g002-price-panel__amounts > .g002-price-panel__heading > span { margin-right: 0; }

/* Keep case cards distinct on the product page's white section. */
.g002-page #product-cases { background: #fff; }
.g002-page #product-cases .work-card { border: 1px solid var(--color-border-default); }

/* Approved G002 FV: option 3-1 (2026-09-22). */
.g002-page .g002-price-panel--approved{border:0;border-radius:0}
.g002-page .g002-price-panel--approved .g002-price-panel__layout{padding:0}
.g002-page .g002-price-panel--approved table tr:nth-child(n+2){background:#edf8f2}
.g002-page .g002-price-panel--approved table th,.g002-page .g002-price-panel--approved table td{padding:12px 8px}
.g002-page .g002-price-panel--approved table tr:nth-child(n+2) > :is(th,td){padding-block:8px}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary{padding-block:12px;border-block:1px solid var(--color-border-default)}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__result{color:var(--color-sale-red);font-size:clamp(36px,22cqi,72px);font-family:Impact,"Arial Narrow",Arial,sans-serif}
.g002-page .g002-price-panel--approved .g002-price-panel__list-price{display:block;margin:0 12px 0 auto;font-size:13px;white-space:nowrap;color:#000}
.g002-page .g002-price-panel--approved .g002-price-panel__list-price del{font-weight:700;text-decoration-line:line-through;text-decoration-style:solid;text-decoration-color:currentColor;text-decoration-thickness:1px}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary{border-top:0}
.g002-page .g002-price-panel--approved .g002-price-panel__heading{margin-bottom:0}
.g002-page .g002-price-panel--approved .g002-price-panel__band{margin-bottom:0}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary{grid-template-columns:max-content minmax(0,1fr) 64px;column-gap:8px}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__label{grid-column:1/3}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__total{grid-column:1;grid-row:2;align-self:center;transform:none}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__subsidy{grid-column:2;grid-row:2;align-self:center;justify-self:center;flex-wrap:wrap;justify-content:center;white-space:normal;padding:4px 6px;gap:2px;font-size:11px;margin:0}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__subsidy strong{font-size:14px;white-space:nowrap}
.g002-page .g002-price-panel--approved .lineup-filterable .discount-badge{grid-column:3;width:64px;height:64px;transform:none}
@media(max-width:767px){.g002-page .g002-price-panel--approved .lineup-filterable .price-summary{grid-template-columns:max-content minmax(0,1fr) 48px;column-gap:5px}.g002-page .g002-price-panel--approved .lineup-filterable .discount-badge{width:48px;height:48px}.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__subsidy strong{font-size:12px}}
.g002-page .g002-price-panel--approved .g002-price-panel__band{background:#ffd600;color:#000;border-top:0}
.g002-page .g002-price-panel--approved .g002-price-panel__included{background-image:none;text-decoration:none}
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__result-label{margin-top:12px}
.g002-page .g002-price-panel--approved .g002-price-panel__list-price del,.g002-page .g002-price-panel--approved .g002-price-panel__number{font-size:22px}
.g002-page .g002-price-panel--approved .g002-price-panel__list-price del span{font-size:13px}
@media(max-width:360px){.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__total{font-size:20px}}
.g002-page .g002-price-panel--approved .g002-price-panel__band{text-align:left}
.g002-page .g002-price-panel--approved .g002-price-panel__included{color:#006945;font-weight:700}
/* Also adapt when the desktop photo/price split leaves a narrow price column. */
@container (max-width:310px){
  .g002-page .g002-price-panel--approved .lineup-filterable .price-summary{grid-template-columns:max-content minmax(0,1fr) 48px;column-gap:5px}
  .g002-page .g002-price-panel--approved .lineup-filterable .price-summary__total{font-size:20px}
  .g002-page .g002-price-panel--approved .lineup-filterable .discount-badge{width:48px;height:48px}
  .g002-page .g002-price-panel--approved .lineup-filterable .price-summary__subsidy strong{font-size:12px}
}

/* Match the full-width gray used by the warranty section. */
.g002-page #voice, .g002-page #related-products { background: var(--color-surface-light-gray); box-shadow: 0 0 0 100vmax var(--color-surface-light-gray); clip-path: inset(0 -100vmax); }

/* Give the reasons panel the same outer spacing above and below. */
.g002-page #reason { padding-block-start: var(--section-padding-standard); width: 100vw; margin-inline: calc(50% - 50vw); }
