.cp-shop{padding:24px 18px 38px;max-width:1500px;margin:0 auto;color:#183b2f}
.cp-heading,.cp-list-heading,.cp-node-heading,.cp-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.cp-heading h1{margin:0;font-size:clamp(24px,3vw,36px);line-height:1.2}.cp-eyebrow{font-size:12px;letter-spacing:.1em;font-weight:700;color:#587269;margin:0 0 8px}
.cp-heading .btn{white-space:nowrap}.cp-filters{display:flex;align-items:end;gap:12px;margin:24px 0 16px;padding:16px;background:#fff;border:1px solid #d8e1dc;border-radius:14px}
.cp-filters label{display:grid;gap:6px;min-width:0;flex:1;font-size:13px;font-weight:700}.cp-filters label:first-of-type{flex:3}.cp-filters input,.cp-filters select,.cp-node-switch select{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #afc2b8;border-radius:8px;padding:10px 12px;background:#fff;color:#193b2f;font:inherit}.cp-filters .btn{min-height:44px}
.cp-note{font-size:14px;line-height:1.5;color:#5b6c65}.cp-notice{background:#fff2c7;border-radius:8px;padding:12px}.cp-list-heading{margin:26px 0 14px}.cp-list-heading h2,.cp-node-heading h2{margin:0;font-size:23px}.cp-list-heading>span{font-size:14px;color:#5b6c65}
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr));gap:18px}.cp-node-card{display:flex;flex-direction:column;color:inherit;text-decoration:none!important;border:1px solid #d5dfd8;border-radius:14px;background:#fff;overflow:hidden;transition:box-shadow .15s,border-color .15s}.cp-node-card:hover,.cp-node-card:focus-visible{border-color:#0b6b3a;box-shadow:0 5px 18px #173c2c15}.cp-thumb{height:235px;display:flex;justify-content:center;padding:12px;border-bottom:1px solid #edf1ee;background:white}.cp-thumb img{width:100%;height:100%;object-fit:contain}.cp-node-copy{padding:16px;display:flex;flex:1;flex-direction:column;gap:9px}.cp-node-copy h3{font-size:17px;line-height:1.3;margin:0}.cp-node-copy p{font-size:12px;line-height:1.5;color:#5b6c65;margin:0}.cp-node-link{margin-top:auto;padding-top:5px;color:#0b6b3a;font-weight:700;font-size:14px}
.cp-breadcrumb{font-size:14px;margin:24px 0}.cp-breadcrumb a,.cp-diagram-tools a{color:#0b6b3a;font-weight:700}.cp-breadcrumb>span{color:#607068}.cp-node-heading{align-items:end}.cp-node-switch{max-width:410px;display:grid;gap:5px;font-size:12px}.cp-applicability{font-size:14px;font-weight:700;background:#e8f2ec;border-radius:6px;padding:9px 12px;display:inline-block}.cp-diagram-tools{display:flex;justify-content:flex-end;margin:10px 0}.cp-diagram-scroll{border:1px solid #d6dfd9;background:#fff;border-radius:14px;padding:10px;overflow:auto}.cp-diagram{max-width:760px;position:relative;margin:auto}.cp-diagram>img{display:block;width:100%;height:auto}.cp-hotspot{position:absolute;display:block;box-sizing:border-box;border:1px solid transparent;border-radius:3px;background:transparent;min-width:10px;min-height:10px}.cp-hotspot:hover,.cp-hotspot:focus-visible,.cp-hotspot.is-selected{border-color:#0b6b3a;background:#ffe14c55;outline:2px solid #0b6b3a;z-index:2}.cp-hotspot:focus-visible{outline-offset:2px}
.cp-table-wrap{overflow-x:auto;border:1px solid #cddcd2;border-radius:12px;background:white}.cp-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.45}.cp-table caption{text-align:left;padding:14px 16px;font-size:19px;font-weight:700;background:#e9f1ec}.cp-table th,.cp-table td{padding:12px 10px;border-bottom:1px solid #dde6df;text-align:left;vertical-align:top;color:#243e31;background:transparent}.cp-table thead th{background:#f2f6f3;font-size:12px;line-height:1.4}.cp-table tbody tr{scroll-margin-top:110px;cursor:pointer}.cp-table tbody tr:hover{background:#f5f9f6}.cp-table tbody tr.is-selected{background:#e0f2e5;box-shadow:inset 4px 0 #0b6b3a}.cp-table tbody tr.cp-search-match{outline:1px solid #ddb33d;outline-offset:-1px}.cp-table td:nth-child(2){min-width:235px;width:52%}.cp-table code{font:inherit;font-size:12px;white-space:nowrap;background:transparent;color:#284938}.cp-position{display:flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer}.cp-position input{accent-color:#0b6b3a;min-width:17px;width:17px;height:17px;margin:1px 0}.cp-table td.cp-catalog-qty{text-align:center;white-space:nowrap}.cp-row-price{min-width:100px;font-weight:600}.cp-original{font-size:11px;color:#65736c;margin-top:7px}.cp-original summary{cursor:pointer;color:#637368}.cp-original p{margin:6px 0}.cp-row-note{font-size:12px;line-height:1.5;margin-top:7px;color:#696947}.cp-row-note a{display:block;color:#0b6b3a;font-weight:600;margin-top:3px}.cp-review{color:#87591d}.cp-selection{position:sticky;bottom:12px;z-index:12;background:#fff;border:2px solid #0b6b3a;border-radius:12px;box-shadow:0 4px 20px #122e2622;margin-top:18px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.cp-selection-info{display:grid;gap:4px;font-size:14px;min-width:0}.cp-selection-info>span{font-size:12px;color:#627266;overflow-wrap:anywhere}.cp-selection-buy{display:flex;align-items:center;gap:15px;flex-shrink:0}.cp-selection-buy>span{font-size:15px;font-weight:700}.cp-selection-buy button{white-space:nowrap;min-height:44px}.cp-selection button:disabled{opacity:.48;cursor:not-allowed}.cp-selection .cp-row-note{margin:0}.cp-selection .cp-original{display:none}
@media(max-width:640px){.cp-shop{padding:18px 10px 30px}.cp-heading{gap:12px}.cp-heading .btn{padding:9px 12px}.cp-filters{flex-wrap:wrap;gap:10px;padding:12px}.cp-filters label:first-of-type{flex-basis:100%}.cp-filters label{flex:1}.cp-filters .btn{flex:0 0 auto}.cp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cp-thumb{height:165px;padding:6px}.cp-node-copy{padding:10px;gap:6px}.cp-node-copy h3{font-size:14px}.cp-node-copy p{font-size:10px}.cp-node-link{font-size:12px}.cp-breadcrumb{gap:8px}.cp-node-heading h2{font-size:21px}.cp-node-switch{width:100%;max-width:none}.cp-diagram-scroll{padding:4px}.cp-table{font-size:12px}.cp-table th,.cp-table td{padding:10px 7px}.cp-table td:nth-child(2){min-width:200px}.cp-selection{padding:10px;gap:9px;bottom:6px;flex-wrap:wrap}.cp-selection-info{font-size:13px;width:100%}.cp-selection-buy{width:100%;justify-content:space-between}.cp-selection-buy>span{font-size:13px}.cp-selection .cp-row-note{max-height:80px;overflow:auto}.cp-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){.cp-node-card{transition:none}}
