/* Only loaded by guides with an explicitly registered product lineup. */
.product-lineup{margin-top:28px}
.lineup-methods{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 30px}
.lineup-method{padding:22px;background:#f3f6ef;border-top:3px solid #315b48}
.lineup-method h3{margin:8px 0 12px;font-size:21px}
.lineup-method p{margin:0 0 12px}
.lineup-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px}
.lineup-table th,.lineup-table td{padding:18px;text-align:left;vertical-align:top;border-bottom:1px solid #dce4da;overflow-wrap:anywhere}
.lineup-table thead{background:#edf3e9;color:#315b48}
.lineup-table th:first-child{width:25%}
.lineup-table th:last-child{width:25%}
.lineup-type{display:block;font-size:13px;font-weight:400;color:#56705f;margin-bottom:5px}
.lineup-mobile-label{display:none}
.lineup-note{font-size:15px;color:#55645b;line-height:1.8}
.lineup-jumps{display:flex;flex-wrap:wrap;gap:14px 30px;padding:20px;background:#f3f6ef;margin-bottom:28px}
.lineup-integrated{border-top:1px solid #dce4da;padding-top:30px;margin-top:40px}
.model-page .lineup-integrated .model-steps--four{grid-template-columns:repeat(2,minmax(0,1fr))}
.lineup-purchase{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #dce4da}
.lineup-purchase li{margin:10px 0}
[id^="replacement-"]{scroll-margin-top:24px}
.family-measure{padding:26px;background:#f3f6ef;border-top:3px solid #315b48;margin:28px 0 42px}
.family-measure h2{margin-top:8px}
.family-measure li{margin:10px 0}
.family-table-scroll{overflow-x:auto}
.family-size-table,.family-series-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.7}
.family-size-table caption{text-align:left;font-weight:700;margin-bottom:12px}
.family-size-table th,.family-size-table td,.family-series-table th,.family-series-table td{padding:15px 12px;text-align:left;border-bottom:1px solid #d7e0d3}
.family-size-table thead,.family-series-table thead{background:#e6eee0;color:#315b48}
.family-size-table tbody{background:#fff}
.family-size-table strong{font-size:22px;white-space:nowrap}
.family-fit{margin-top:32px}
.family-purchase{padding:18px;background:#f3f6ef}
#size-identification,#krp-series{scroll-margin-top:24px}
.guide-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;margin:32px 0}
.guide-intro h2{font-size:clamp(23px,2.5vw,30px);margin:8px 0 18px}
.guide-body-photo{max-width:480px}
.guide-body-photo .product-figure{margin:0}
.guide-body-photo .product-figure>img{width:100%;height:auto;display:block;object-fit:contain}
.guide-body-dimension,.guide-body-measure-note,.guide-body-sale-note{display:block}
.guide-body-dimension{font-size:17px;color:#2b5140;margin-bottom:8px}
.guide-body-measure-note{font-size:15px;line-height:1.8}
.guide-body-sale-note{font-size:14px;margin-top:8px}
.guide-confirmed{font-size:15px;color:#315b48}
.guide-flow-nav{display:flex;flex-wrap:wrap;gap:1px;margin:28px 0 40px;background:#dce4da;border:1px solid #dce4da}
.guide-flow-nav a{flex:1;text-align:center;padding:16px 12px;background:#f3f6ef;white-space:nowrap;font-weight:700;text-decoration:none}
.guide-flow-nav a:hover{background:#e6eee0}
/* KRP only: visual hierarchy for paired body / cloth size cards. */
.guide-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:24px 0}
.guide-sizes .krp-size-card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid #e0e5df;border-radius:6px;background:#fff}
.guide-sizes .krp-size-card.is-current{border-color:#315b48}
.krp-size-card h3{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 18px;font-size:24px;line-height:1.5;color:#273d32}
.krp-current-size{font-size:13px;line-height:1.5;padding:4px 10px;border-radius:3px;background:#315b48;color:#fff}
.krp-size-part+.krp-size-part{border-top:1px solid #e7ebe5;padding-top:18px;margin-top:18px}
.krp-size-part h4{font-size:16px;font-weight:600;line-height:1.65;margin:0 0 10px;color:#45524a}
.krp-size-part-row{display:grid;grid-template-columns:minmax(0,min(42%,180px)) minmax(0,1fr);gap:16px;align-items:center}
.krp-size-photo{min-width:0;background:#fff}
.krp-size-photo .product-figure{margin:0}
.krp-size-photo .product-figure>img{display:block;width:100%;height:auto;object-fit:contain}
.krp-size-photo figcaption:empty{display:none}
.krp-size-measurements{min-width:0}
.krp-size-measurements p{margin:5px 0;line-height:1.65;overflow-wrap:normal}
.krp-size-measurements .krp-size-label{font-size:15px;color:#667168}
.krp-size-measurements .krp-size-primary{font-size:28px;font-weight:700;line-height:1.35;color:#243b2e;white-space:nowrap;font-variant-numeric:tabular-nums}
.krp-size-primary .krp-size-unit{font-size:.65em;font-weight:500}
.krp-size-measurements .krp-size-detail{font-size:15px;color:#515f55}
.krp-size-actions{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.krp-size-actions a{display:block;box-sizing:border-box;min-height:44px;font-size:15px;line-height:1.6}
.krp-size-actions .krp-size-check{align-self:flex-start;padding:10px 0;color:#52685a;text-underline-offset:3px}
.krp-size-actions .krp-size-select{display:flex;align-items:center;justify-content:center;min-height:52px;padding:13px 16px;border-radius:4px;background:#315b48;color:#fff;text-align:center;font-weight:700;text-decoration:none}
.krp-size-actions .krp-size-select:hover{background:#234634}
.krp-size-actions a:focus-visible{outline:3px solid #224c37;outline-offset:4px}
@media(max-width:800px){
 .guide-sizes{grid-template-columns:1fr;gap:18px}
 .guide-sizes .krp-size-card{padding:18px}
 .krp-size-part-row{grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:12px}
 .krp-size-photo{max-width:200px}
 .krp-size-measurements .krp-size-primary{font-size:22px}
 .krp-size-measurements .krp-size-label,.krp-size-measurements .krp-size-detail{font-size:14px}
 .krp-size-actions{margin-top:24px;padding-top:0}
}
.guide-flow-section .family-fit{margin:0}
.guide-choice-table th:first-child{width:25%}
.guide-choice-table td p{margin:6px 0 0;font-size:15px}
.guide-choice-table td:last-child a{display:inline-block;line-height:1.7}
.guide-retainer{padding:16px 0;border-bottom:1px solid #dce4da;font-size:15px}
.product-lineup .lineup-store-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.product-lineup .lineup-store-links a{padding:6px 0;font-size:15px;line-height:1.7}
.guide-retainer .lineup-store-links,.guide-related-offer .lineup-store-links{flex-direction:row;flex-wrap:wrap;gap:8px 22px}
.guide-related-offer{margin:22px 0;padding:18px 20px;background:#f3f6ef;border:1px solid #dce4da;font-size:15px}
.guide-related-offer h3{margin:0 0 10px;font-size:19px}
.guide-related-offer p{margin:8px 0}
.guide-filter-photo{max-width:230px;margin:0 auto 24px}
.guide-filter-photo figcaption{font-size:14px}
.guide-method{margin:18px 0!important;padding:0!important;border:1px solid #dce4da!important}
.guide-method>summary{background:#f3f6ef;padding:20px!important;color:#315b48;font-size:19px;font-weight:700}
.guide-method>.model-details-content{padding:24px}
.guide-method .model-steps{margin-top:24px}
.guide-anchor{display:block;scroll-margin-top:24px}
.guide-flow-section h2,.guide-intro h2,#lineup-title{scroll-margin-top:24px}
.guide-flow-nav a:focus-visible,.guide-method summary:focus-visible{outline:3px solid #315b48;outline-offset:3px}
/* Opt-in KRP photo comparison. Body dimensions and product facts use the existing masters. */
.krp-type-grid{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:26px 0}
.krp-type-card{min-width:0;border:1px solid #dce4da;border-top:4px solid #315b48;padding:24px;background:#fff}
.krp-comparison-photo{height:240px;display:flex;align-items:center;justify-content:center;background:#fff}
.krp-comparison-photo .product-figure{margin:0;width:100%;max-width:470px}
.krp-comparison-photo .product-figure>img{width:100%;height:224px;object-fit:contain;display:block}
.krp-comparison-photo figcaption:empty{display:none}
.krp-type-card .krp-photo-caption{font-size:13px;color:#607166;margin:8px 0 20px;line-height:1.6}
.krp-type-card h3{font-size:25px;line-height:1.5;margin:0 0 4px}
.krp-type-card .krp-type-label{font-size:14px;font-weight:700;color:#526d5d;margin:0 0 12px}
.krp-type-card p{font-size:16px;line-height:1.8;margin:10px 0}
.krp-buy-option{border-top:1px solid #dce4da;padding-top:18px;margin-top:20px}
.krp-buy-option .krp-choice-when{font-size:14px;color:#315b48;font-weight:700;margin:0 0 6px}
.krp-buy-option h4{font-size:19px;line-height:1.6;margin:0 0 8px}
.krp-type-card .krp-method-link{margin:22px 0 0;font-size:15px;font-weight:700}
.krp-stores{border:1px solid #cbd8cc;border-radius:4px;background:#f6f8f3;margin-top:14px}
.krp-stores>summary{cursor:pointer;min-height:44px;box-sizing:border-box;padding:12px 16px;font-size:16px;font-weight:700;line-height:1.6;color:#315b48}
.krp-stores[open]>summary{border-bottom:1px solid #dce4da}
.krp-stores>.model-details-content{padding:12px 16px;background:#fff}
.krp-stores .lineup-store-links a{display:block;min-height:44px;box-sizing:border-box;padding:8px 0}
.krp-stores summary:focus-visible,.krp-type-card a:focus-visible{outline:3px solid #315b48;outline-offset:3px}
.krp-supplementary-offer{padding:20px 0;border-bottom:1px solid #dce4da}
.krp-supplementary-offer h3{font-size:19px;margin:0 0 8px}
.krp-supplementary-offer p{font-size:15px;margin:8px 0}
.krp-supplementary-offer .krp-stores{max-width:620px}
.krp-method-preview{margin:28px 0 36px;padding:24px;border:1px solid #dce4da}
.krp-method-preview h3{font-size:22px;margin:0 0 18px}
.krp-method-photo{max-width:420px}
.krp-method-photo .product-figure{margin:0}
.krp-method-photo figcaption{font-size:14px;line-height:1.7}
.krp-method-preview .guide-method{margin:20px 0 0!important}
@media(max-width:800px){
 .krp-type-grid{grid-template-columns:1fr}
 .krp-type-card{padding:20px}
 .krp-comparison-photo{height:220px;max-width:440px;margin:auto}
 .krp-comparison-photo .product-figure>img{height:204px}
 .krp-type-card h3{font-size:24px}
 .krp-type-card .krp-photo-caption{font-size:13px;margin-bottom:18px}
 .krp-method-preview{padding:18px 14px}
 .krp-stores>summary{padding:12px}
}
@media(max-width:800px){
 .guide-intro{gap:24px}
 .guide-method>.model-details-content{padding:18px}
}
@media(max-width:650px){
 .guide-intro{grid-template-columns:1fr;gap:20px}
 .guide-body-photo{max-width:380px;margin:auto}
 .guide-intro h2{font-size:24px}
 .guide-flow-nav{display:grid;grid-template-columns:1fr;margin-bottom:28px}
 .guide-flow-nav a{padding:12px;text-align:left}
 .guide-choice-table td p{font-size:15px}
 .guide-method>summary{font-size:17px;padding:16px!important}
 .guide-method>.model-details-content{padding:16px}
 .family-measure{padding:20px 16px}
 .family-size-table,.family-series-table{font-size:15px}
 .family-size-table thead,.family-series-table thead{display:none}
 .family-size-table tbody,.family-series-table tbody,.family-size-table tr,.family-series-table tr{display:block}
 .family-size-table tr,.family-series-table tr{margin-bottom:16px;border:1px solid #d7e0d3}
 .family-size-table th,.family-series-table th{display:block;background:#e6eee0}
 .family-size-table td,.family-series-table td{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
 .family-size-table td::before,.family-series-table td::before{content:attr(data-label);color:#56705f;font-size:13px;flex-shrink:0}
 .model-page .lineup-integrated .model-steps--four{grid-template-columns:1fr}
 .lineup-methods{grid-template-columns:1fr;gap:16px}
 .lineup-table,.lineup-table tbody,.lineup-table tr,.lineup-table th,.lineup-table td{display:block;width:auto!important}
 .lineup-table thead{display:none}
 .lineup-table tr{border:1px solid #dce4da;margin:0 0 16px}
 .lineup-table th{background:#f3f6ef;padding:15px}
 .lineup-table td{border:0;padding:12px 15px}
 .lineup-mobile-label{display:block;font-size:13px;color:#56705f;margin-bottom:5px}
 .lineup-method{padding:18px}
}

.krp-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.krp-method-grid .krp-method-preview{min-width:0;margin:12px 0 0}
.krp-method-grid .krp-method-preview:has(details[open]){grid-column:1/-1}
@media(max-width:800px){.krp-method-grid{grid-template-columns:1fr;gap:12px}}
