
    :root{--ink:#162a36;--muted:#72818a;--line:#e3e9e9;--dark:#123b5c;--accent:#216a9e;--accent-2:#b9dcf6;--chip:#e4f1fb;--focus:#216a9e;--theme-hero-end:#1b527b;--theme-control-hover:#245a7d;--bg:#f6f8f6;--card:#fff;--sand:#eae9de;--shadow:0 18px 48px rgba(19,52,60,.10);font-family:Inter,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.65}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #88b8ac;outline-offset:3px}svg{display:block} .sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}
    .topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4.3vw,20px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;gap:16px}
    .identity{display:flex;align-items:center;gap:12px;min-width:0}.monogram{width:39px;height:39px;background:var(--dark);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden;flex:none}.monogram:before,.monogram:after{content:'';position:absolute;width:22px;height:8px;border:2px solid #d3e5d7;border-radius:80% 40% 70% 40%;transform:rotate(-27deg)}.monogram:before{top:11px;left:7px}.monogram:after{top:18px;left:10px;opacity:.7}.brand{line-height:1.24;font-size:15px;font-weight:830;letter-spacing:.15em;white-space:nowrap}.brand span{font-size:9px;color:var(--accent);letter-spacing:.24em;font-weight:850;display:block;margin-bottom:4px}.header-links{display:flex;gap:27px;color:#52636b;font-size:12px;font-weight:650;align-items:center}.header-links a:hover{color:var(--accent)}.header-end{display:flex;align-items:center;gap:12px}.preview-pill{font-size:10px;letter-spacing:.07em;border:1px solid #d5e0da;background:#f1f5f1;color:#537066;border-radius:99px;padding:7px 12px;font-weight:800}.small-btn{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:38px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:700}.small-btn:hover{border-color:#aac6b9;background:#f9fbf9}.heart-count{display:inline-grid;place-items:center;width:20px;height:20px;background:#e4f0eb;border-radius:50%;font-size:10px}.menu-btn{display:none}
    .hero{background:var(--dark);color:#fff;min-height:307px;overflow:hidden;position:relative}.hero-inner{max-width:1480px;margin:auto;padding:54px max(4.3vw,20px) 62px;position:relative;display:flex;gap:30px;align-items:center}.hero-copy{width:58%;z-index:2}.eyebrow{letter-spacing:.22em;color:#a9d3c7;font-weight:800;font-size:10px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:26px;height:1px;background:#a9d3c7}.hero h1{font-weight:600;font-size:clamp(27px,3.1vw,45px);line-height:1.43;letter-spacing:.055em;margin:22px 0 17px}.hero h1 em{font-style:normal;color:#a9d6c4}.hero p{color:#c1d0d3;font-size:13px;max-width:560px;line-height:2;margin:0}.hero-stats{display:flex;gap:27px;margin-top:26px;align-items:center;font-size:11px;color:#b4c9c8}.hero-stats b{font-size:17px;font-weight:730;color:#fff;margin-right:7px}.hero-art{position:absolute;width:52%;height:115%;right:0;top:0;pointer-events:none;opacity:.95}.hero-art svg{height:100%;width:100%}.hero:after{content:'';position:absolute;inset:0;background-image:linear-gradient(120deg,transparent 62%,rgba(160,208,187,.025) 62.2%,rgba(160,208,187,.025) 62.7%,transparent 62.9%);background-size:60px 60px;pointer-events:none}
    .page{max-width:1480px;padding:0 max(4.3vw,20px) 74px;margin:0 auto}.bread{padding:25px 0 23px;font-size:11px;color:#91a09f}.bread strong{color:#4b6663;font-weight:700}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:22px}.overline{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--accent);margin-bottom:6px}.section-title h2{margin:0;font-size:26px;line-height:1.3;letter-spacing:.015em;font-weight:750}.section-title p{font-size:12px;color:var(--muted);margin:5px 0 0}.data-note{font-size:11px;color:#81918f;background:#eef3ef;border:1px solid #dfe9e3;padding:9px 12px;border-radius:7px;max-width:360px}
    .catalog-layout{display:grid;grid-template-columns:227px minmax(0,1fr);align-items:start;gap:29px}.sidebar{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:19px 18px;position:sticky;top:94px}.filter-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid #edf0ef}.filter-header b{font-size:14px}.reset{border:0;background:none;color:var(--accent);font-weight:750;font-size:11px;padding:4px}.filter-group{padding:20px 0 19px;border-bottom:1px solid #edf0ef}.filter-group:last-of-type{border:0;padding-bottom:5px}.filter-label{font-size:12px;font-weight:780;margin-bottom:12px;display:block}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-options button,.chip{border:1px solid #e0e8e5;background:#fff;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:720;color:#50656a;transition:.16s}.filter-options button:hover{background:#f4f8f6;border-color:#9dc1af}.filter-options button.active{background:var(--dark);border-color:var(--dark);color:#fff}.filter-options.stacked{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-options.stacked button{padding:8px 6px}.check{display:flex;align-items:center;gap:10px;color:#526269;font-size:12px;margin:12px 0;cursor:pointer}.check input{accent-color:var(--accent);width:16px;height:16px;margin:0}.sidebar-footer{padding-top:18px;font-size:10px;line-height:1.9;color:#93a19f}.control-row{display:flex;gap:13px;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap}.searchbox{height:48px;flex:1 1 320px;min-width:160px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;padding:0 15px;border-radius:10px;transition:border .2s}.searchbox:focus-within{border-color:#7eaea3}.searchbox svg{color:#73908a;flex:none}.searchbox input{width:100%;border:0;outline:none;color:var(--ink);background:transparent;font-size:13px}.searchbox input::placeholder{color:#a3b0b0}.sort{background:white;border:1px solid var(--line);border-radius:10px;height:48px;padding:0 15px;color:#53666c;font-size:12px;max-width:185px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:9px 0 17px}.toolbar-count{font-size:12px;color:#687981}.toolbar-count strong{color:var(--ink);font-size:18px;margin-right:4px}.toolbar-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:#899b99}.dot{width:5px;height:5px;border-radius:50%;background:#6e9c88}.mobile-filter{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 12px;height:48px;font-weight:760;white-space:nowrap}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
    .product-card{background:#fff;border:1px solid #e5eae8;border-radius:13px;overflow:hidden;transition:.22s;cursor:pointer;position:relative;display:flex;flex-direction:column;min-width:0}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d4e0d9}.product-img{height:auto;aspect-ratio:1.28/1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#ebefeb,#e0e8e5)}.pad-svg{width:91%;height:91%;transition:transform .4s}.product-card:hover .pad-svg{transform:scale(1.035) rotate(-1.2deg)}.product-img .imagelabel{position:absolute;bottom:12px;left:13px;background:rgba(255,255,255,.73);backdrop-filter:blur(4px);font-size:9px;color:#81908b;padding:3px 7px;border-radius:4px}.favorite{position:absolute;top:13px;right:13px;width:35px;height:35px;display:grid;place-items:center;background:rgba(255,255,255,.94);border:1px solid rgba(234,237,233,.7);border-radius:50%;color:#8a9993;z-index:3}.favorite:hover,.favorite.on{color:#bc655e;background:#fff}.favorite.on svg{fill:#f9e4e1}.product-body{padding:17px 17px 15px;display:flex;flex-direction:column;flex:1}.product-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.tag{font-size:10px;padding:3px 7px;border-radius:4px;background:#e8f1ed;color:#3c7766;font-weight:750}.tag.order{background:#f3eee0;color:#95804a}.tag.grey{background:#f1f3f2;color:#7a8587}.product-title{font-size:20px;letter-spacing:.03em;line-height:1.2;font-weight:800;margin:0 0 3px}.alias{font-size:11px;color:#859295;margin-bottom:14px}.spec-mini{display:flex;gap:10px;font-size:11px;color:#65767c;flex-wrap:wrap;margin-bottom:13px}.spec-mini span+span:before{content:'・';padding-right:9px;color:#c8d2d0}.product-foot{border-top:1px solid #edf0ed;padding-top:11px;display:flex;align-items:end;justify-content:space-between;gap:7px;margin-top:auto}.product-arrow{width:31px;height:31px;border:1px solid #dce6e2;border-radius:50%;display:grid;place-items:center;color:var(--accent)}.product-card:hover .product-arrow{background:var(--accent);color:#fff}.empty{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed #d8e1dc;border-radius:13px;padding:62px 18px;color:#6e7f7c}.empty b{display:block;color:#253e3c;font-size:18px;margin-bottom:5px}.empty button{background:var(--dark);color:#fff;border:0;border-radius:8px;padding:10px 18px;margin-top:15px}.bottom-disclaimer{background:#eaf0eb;border:1px solid #dce6df;border-radius:10px;padding:15px 19px;margin-top:35px;display:flex;gap:15px;align-items:flex-start;color:#5e746d;font-size:11px;line-height:2}.bottom-disclaimer b{color:#3f6557}.footer{border-top:1px solid #e1e7e4;margin-top:52px;padding:25px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#91a09a}.footer strong{letter-spacing:.14em;color:#5d726c}
    .compare-tray{position:fixed;bottom:20px;left:50%;transform:translate(-50%,130%);background:#142e38;color:#fff;border-radius:14px;padding:11px 14px 11px 19px;box-shadow:0 20px 55px rgba(12,34,43,.25);display:flex;align-items:center;gap:20px;z-index:35;min-width:min(520px,calc(100vw - 24px));transition:transform .25s,opacity .2s;opacity:0;visibility:hidden;pointer-events:none}.compare-tray.show{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}.compare-tray .names{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;color:#d1e3dd}.compare-tray b{display:block;font-size:12px;margin-bottom:2px}.compare-tray button{border:0;background:#b7dbc9;color:#143a36;font-weight:800;padding:12px 19px;border-radius:9px;white-space:nowrap;margin-left:auto}.compare-tray .cancel-compare{background:transparent;color:#d6e3e2;border:1px solid #52676d;padding:9px 12px;margin:0}
    .veil{position:fixed;inset:0;background:rgba(11,32,43,.58);z-index:50;display:none;align-items:center;justify-content:center;padding:18px;overflow:auto}.veil.open{display:flex}.modal{width:min(940px,100%);max-height:min(92vh,940px);overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.19);position:relative}.modal-close{position:sticky;top:16px;float:right;margin:16px 16px -48px 0;width:36px;height:36px;border-radius:50%;border:1px solid #e1e9e5;background:#fff;display:grid;place-items:center;z-index:6;color:#56736d}.detail-layout{display:grid;grid-template-columns:45% 55%;min-height:440px}.detail-visual{background:#e6ede8;display:flex;align-items:center;justify-content:center;position:relative;min-height:410px}.detail-visual .pad-svg{width:100%;height:auto;max-height:395px}.detail-visual .smallnote{position:static;font-size:10px;color:#6f857c;background:#fff9;padding:4px 9px;border-radius:5px}.detail-info{padding:45px 38px 35px}.detail-info h2{font-size:32px;line-height:1.2;letter-spacing:.03em;margin:13px 0 4px}.detail-alias{font-size:12px;color:#8a9997;margin-bottom:25px}.detail-lead{font-size:13px;color:#657a7b;line-height:1.9}.detail-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#eaf0ec;border:1px solid #eaf0ec;border-radius:10px;overflow:hidden;margin:22px 0}.detail-spec{background:#fff;padding:14px 17px}.detail-spec .label{font-size:10px;color:#8c9995}.detail-spec b{font-size:16px;display:block;margin-top:3px}.detail-subtitle{font-size:13px;font-weight:800;margin:20px 0 10px}.recs{display:flex;gap:7px;flex-wrap:wrap}.rec{padding:7px 12px;background:#edf4f0;color:#416e62;border-radius:7px;font-size:11px;font-weight:730}.caveat{font-size:10px;color:#8c9994;line-height:1.8;margin:12px 0 0}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0 0}.primary,.secondary{padding:12px 17px;border-radius:9px;font-weight:800;font-size:12px}.primary{border:1px solid var(--dark);color:#fff;background:var(--dark)}.primary:hover{background:#274a51}.secondary{border:1px solid #d9e5de;color:#416760;background:#fff}.secondary:hover{background:#f1f7f2}.detail-small{border-top:1px solid var(--line);padding:14px 38px;color:#94a09a;font-size:10px}
    .compare-modal{width:min(920px,100%);padding:32px 34px 40px}.compare-modal h2{margin:0;font-size:24px}.compare-table-wrap{overflow-x:auto;margin-top:20px}.compare-table{width:100%;min-width:540px;border-collapse:collapse;text-align:left;font-size:12px}.compare-table th,.compare-table td{padding:14px 12px;border-bottom:1px solid var(--line)}.compare-table th{font-size:11px;color:#83938e;font-weight:700;white-space:nowrap;background:#f6f9f6}.compare-table td:not(:first-child){font-weight:680}.compare-table tr:first-child td{font-size:17px;font-weight:800;color:var(--dark)}.compare-note{font-size:11px;color:var(--muted);margin-top:17px}
    .floating-help{position:fixed;right:18px;bottom:16px;background:#fff;border:1px solid #e3e9e5;box-shadow:0 6px 28px #203b3b13;z-index:10;border-radius:100px;padding:10px 15px;color:#50766a;font-weight:800;font-size:11px}
    @media(max-width:1130px){.catalog-layout{grid-template-columns:204px minmax(0,1fr);gap:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{width:55%;opacity:.72}.section-title h2{font-size:23px}}
@media(max-width:780px){.topbar{height:66px;padding:0 18px}.brand{font-size:13px}.brand span{font-size:8px}.header-links{display:none}.preview-pill{display:none}.menu-btn{display:inline-flex}.hero{min-height:290px}.hero-inner{padding:38px 21px 44px}.hero-copy{width:85%}.hero h1{font-size:30px;margin:15px 0}.hero p{max-width:320px;font-size:11px}.hero-art{right:-20%;width:90%;opacity:.42}.hero-stats{margin-top:21px;gap:13px}.hero-stats b{font-size:15px}.page{padding:0 17px 55px}.bread{padding:18px 0}.section-title{align-items:flex-start;margin-bottom:16px}.data-note{display:none}.section-title h2{font-size:23px}.catalog-layout{display:block}.sidebar{display:none;position:static;margin-bottom:14px}.sidebar.open{display:block}.mobile-filter{display:block}.product-grid{gap:12px}.searchbox{flex-basis:200px}.toolbar-meta{font-size:10px}.product-body{padding:12px}.product-title{font-size:17px}.alias{font-size:10px}.spec-mini{font-size:10px;gap:0}.product-img .imagelabel{font-size:8px;bottom:7px;left:7px}.footer{flex-direction:column;gap:5px}.detail-layout{display:block}.detail-visual{height:285px;min-height:285px}.detail-visual .pad-svg{max-height:280px}.detail-info{padding:25px 24px 26px}.detail-info h2{font-size:27px}.detail-small{padding:14px 24px}.modal{max-height:94vh}.compare-modal{padding:25px 18px}.floating-help{display:none}}
@media(max-width:440px){.brand{font-size:12px}.header-end{gap:7px}.small-btn{font-size:11px;padding:0 9px}.monogram{width:34px;height:34px}.hero-copy{width:100%}.hero h1{font-size:25px;letter-spacing:0}.hero-art{opacity:.27}.hero-stats{font-size:9px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-body{padding:11px}.product-meta{gap:4px;margin-bottom:6px}.tag{font-size:9px;padding:2px 5px}.product-title{font-size:17px}.alias{font-size:9px;margin-bottom:9px}.spec-mini{display:block;margin-bottom:9px;font-size:10px}.spec-mini span{display:block}.spec-mini span+span:before{display:none}.product-arrow{display:none}.favorite{top:8px;right:8px;width:28px;height:28px}.favorite svg{width:15px}.searchbox{height:44px;flex:1 1 160px}.mobile-filter,.sort{height:44px}.sort{max-width:100%;flex:1}.toolbar{margin-top:6px}.compare-tray{gap:8px}.compare-tray button{padding:10px 12px;font-size:11px}.compare-tray .cancel-compare{padding:7px}}
  

.audience{font-size:10px;font-weight:800;letter-spacing:.035em;color:#487466;background:#e7f2ed;padding:7px 11px;border-radius:99px;white-space:nowrap}
.product-foot{margin-top:auto}.product-foot .spec-link{font-weight:780;font-size:11px;color:#3c7667;letter-spacing:.02em}
.material-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 0 12px}
.material-intro .detail-subtitle{margin:0}.material-intro small{color:#8a9b95;font-weight:600;font-size:10px}
.material-filters{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 15px}
.material-filters button{border:1px solid #dde7e0;background:#fff;color:#526f67;padding:7px 11px;border-radius:7px;font-size:11px;font-weight:750}
.material-filters button.active{background:#193941;border-color:#193941;color:#fff}
.material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.material-card{border:1px solid #e0e9e3;border-radius:10px;background:#fff;overflow:hidden;padding:0;text-align:left;min-width:0;display:flex;flex-direction:column;transition:border .15s,box-shadow .15s}
.material-card:hover{border-color:#91bcaa}.material-card.chosen{border:2px solid #2b7965;box-shadow:0 0 0 2px #d6e9de}
.material-photo{height:86px;background:linear-gradient(125deg,#eef0e8,#e4eae6);position:relative;display:grid;place-items:center}.material-photo svg{height:82px;max-width:100%;width:100%}
.material-photo[data-kind="タレ芯"]{background:linear-gradient(125deg,#ebece9,#dde6e1)}
.material-photo .illustration-tag{position:absolute;bottom:5px;left:7px;font-size:8px;background:#fffd;border-radius:4px;padding:1px 4px;color:#7d8e83}
.material-text{padding:9px 10px 10px;display:flex;flex-direction:column;gap:2px;flex:1}.material-name{font-size:15px;font-weight:820;color:#1a363c}.material-meta{font-size:10px;color:#788e85}.material-type{font-size:9px;color:#3b7a68;font-weight:760}.material-dim{font-size:10px;color:#354f4d;padding-top:4px;font-weight:650}.material-choice{font-size:10px;color:#317966;font-weight:800;margin-top:5px}.material-card.chosen .material-choice{color:#126147}
.material-selected{background:#eff7f0;border:1px solid #cfe3d5;padding:13px;border-radius:9px;margin-top:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.material-selected b{font-size:12px}.material-selected p{margin:4px 0 0;font-size:10px;color:#6b857b;line-height:1.7}.material-selected button{white-space:nowrap;font-size:11px;border:1px solid #9bcab5;border-radius:7px;background:#fff;padding:8px 9px;color:#367965;font-weight:700}
.preview-tabs{position:absolute;top:22px;left:20px;display:flex;gap:8px;z-index:2}
.preview-tabs button{border:1px solid #cfded5;color:#56746b;background:#fffe;padding:8px 12px;border-radius:8px;font-size:11px;font-weight:780}
.preview-tabs button.active{background:#193942;color:#fff;border-color:#193942}
.three-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:36px;text-align:center;color:#577168;min-height:260px}.three-placeholder svg{width:110px;height:110px;opacity:.45}.three-placeholder strong{font-size:17px;letter-spacing:.05em;color:#2a4d4a}.three-placeholder p{font-size:11px;line-height:1.9;max-width:230px;color:#72877e}
.detail-visual[data-mode="3d"]{background:linear-gradient(155deg,#e0e9e6,#f0f3ed)}
.detail-info .detail-alias{margin-bottom:16px}.detail-info .detail-lead{margin-top:0}
.detail-actions{margin-top:20px}.detail-caveat{border-top:1px solid #e8efea;margin-top:16px;padding-top:10px}
@media(min-width:781px){.modal{width:min(1050px,100%)}.detail-layout{grid-template-columns:40% 60%}.detail-info{padding:42px 36px 30px}.detail-visual{align-self:stretch;position:sticky;top:0;max-height:720px}}
@media(max-width:520px){.material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.material-photo{height:74px}.material-name{font-size:13px}.material-meta{font-size:9px}.material-dim{font-size:9px}.audience{display:none}.material-selected{flex-direction:column}.material-selected button{align-self:flex-start}.detail-visual{height:250px;min-height:250px}}


.order-banner{border:1px solid #eadfc1;background:#fffaf0;border-radius:10px;display:flex;align-items:baseline;gap:10px;padding:11px 14px;margin:6px 0 18px;color:#6e5c3c;font-size:11px;line-height:1.8}
.order-banner strong{color:#79612d;white-space:nowrap;font-size:11px}
.order-card-note{font-size:10px;color:#936b36;background:#fff8e9;border-radius:5px;padding:5px 7px;margin:3px 0 8px;line-height:1.55}
.order-detail-note{background:#fff8eb;border-left:3px solid #c9a16c;padding:12px 14px;margin:12px 0 17px;color:#765f42;font-size:11px;line-height:1.75;border-radius:0 7px 7px 0}
@media(max-width:520px){.order-banner{display:block;font-size:10px}.order-banner strong{display:block}}
/* Image and interaction refinements for the catalog UI. */
.product-img.tone-1{background:linear-gradient(135deg,#ebefeb,#e0e8e5)}
.product-img.tone-2{background:linear-gradient(145deg,#e9eeea,#dfe9e4)}
.product-img.tone-3{background:linear-gradient(145deg,#edeae3,#e8e5dc)}
.product-img.tone-4{background:linear-gradient(145deg,#eeeae4,#e7e8df)}
.photo-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.photo-frame>img{position:relative;z-index:1;width:80%;height:80%;max-width:82%;max-height:82%;object-fit:contain}
.photo-frame>.image-placeholder{position:absolute;inset:0}
.image-placeholder{width:100%;height:100%;display:grid;place-items:center;position:relative;overflow:hidden}
.image-placeholder .pad-svg{width:91%;height:91%}
.image-placeholder>span{position:absolute;bottom:12px;left:13px;background:#ffffffbb;color:#81908b;padding:3px 7px;border-radius:4px;font-size:9px}
.photo-frame>.imagelabel{z-index:2}
.photo-frame.failed>.image-placeholder{position:relative}
.product-img .favorite{z-index:4}
.image-switch{position:absolute;z-index:4;top:15px;left:15px;display:flex;gap:5px}
.image-switch button{border:1px solid #dbe5df;background:#ffffffdf;color:#46665d;border-radius:6px;padding:6px 10px;font-size:10px;font-weight:750}
.image-switch button[aria-pressed="true"]{background:#193941;color:#fff;border-color:#193941}
.preview-tabs{position:absolute;top:15px;left:15px;z-index:5;display:flex;gap:6px}
.preview-tabs button{border:1px solid #d7e2db;background:#ffffffdf;color:#45655d;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:750}
.preview-tabs button.active{background:#193941;color:#fff;border-color:#193941}
.detail-visual>.photo-frame{top:52px;bottom:76px}
.detail-visual .photo-frame>.imagelabel{display:none}
.detail-visual .image-switch{top:auto;bottom:43px;left:50%;transform:translateX(-50%)}
.detail-visual>.photo-frame .image-placeholder>span{display:none}
.detail-visual .smallnote{position:static;font-size:10px;color:#6f857c;background:#ffffffd9;padding:5px 9px;border-radius:5px;text-align:center}
.accessory-art{height:86px;width:100%;position:relative;display:grid;place-items:center;overflow:hidden}
.accessory-art .pad-svg{height:82px;width:100%}
.accessory-art .illustration-tag{position:absolute;bottom:5px;left:7px;font-size:8px;background:#fffd;border-radius:4px;padding:1px 4px;color:#7d8e83}
.material-photo .photo-frame{position:absolute;inset:0}
.material-photo .photo-frame .image-placeholder>span{display:none}
.material-photo .photo-frame>.imagelabel{display:none}
.material-photo .diagram-frame{display:flex;align-items:center;justify-content:center;padding:12px 10px 19px;background:linear-gradient(125deg,#eef0e8,#e4eae6);box-sizing:border-box}
.material-photo .diagram-frame>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-width:100%;max-height:100%}
.material-photo .diagram-frame>.diagram-label{display:block;position:absolute;left:7px;bottom:5px;font-size:8px;line-height:1.2;color:#64796f;background:#ffffffd9;border-radius:4px;padding:2px 5px}
.material-empty{grid-column:1/-1;color:#788e85;font-size:11px}
.compare-message{font-size:10px;color:#f3d7a6;margin-top:3px;max-width:230px}
.compare-intro{font-size:12px;color:#71847b;margin:6px 0}
.compare-actions{margin-top:20px}
@media(max-width:780px){.image-switch{top:8px;left:8px}.image-switch button{padding:5px 8px}.detail-visual>.photo-frame{top:50px;bottom:76px}.detail-visual .image-switch{top:auto;bottom:43px;left:50%;transform:translateX(-50%)}}

/* Detail preview uses a vertical flow so controls and notes never cover the photo. */
.detail-visual{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:relative;max-height:none;padding:15px 20px}
.detail-visual .preview-tabs{position:static;flex:none;align-self:flex-start}
.detail-visual>.photo-frame{position:relative;inset:auto;flex:1 1 0;min-height:200px;width:100%;display:flex;align-items:center;justify-content:center}
.detail-visual>.photo-frame>img{width:100%;height:100%;max-width:82%;max-height:82%;object-fit:contain}
.detail-visual>.photo-frame>.image-placeholder{position:absolute;inset:0}
.detail-visual .image-switch{position:static;transform:none;align-self:center;justify-content:center;flex:none;margin:8px 0}
.detail-visual .smallnote{position:static;z-index:auto;flex:none;width:100%;font-size:10px;color:#6f857c;background:#ffffffd9;padding:5px 9px;border-radius:5px;text-align:center}
.detail-visual>.three-placeholder{flex:1;align-self:stretch}
@media(max-width:780px){.detail-visual{height:auto;min-height:360px;padding:12px 16px}.detail-visual>.photo-frame{min-height:200px}.detail-visual .preview-tabs{align-self:center}}
@media(min-width:781px){.detail-visual{position:sticky;top:0;align-self:start;height:min(640px,calc(92vh - 36px));max-height:720px}.detail-visual>.photo-frame{min-height:0}}

/* Clear accessory status chips, matching shoulder-pad cards. */
.material-type{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-height:22px;margin:0 0 4px}
.material-type>.tag{display:inline-block;font-size:10px;line-height:1.35;padding:3px 7px;white-space:nowrap}
.material-type>.material-kind{font-size:10px;color:#54756a;font-weight:750;line-height:1.35}
@media(max-width:520px){.material-type{gap:4px}.material-type>.tag{font-size:9px;padding:3px 5px}.material-type>.material-kind{font-size:9px}}

/* Washable is a processing consultation, not blanket wash safety. */
.washable-service-note{border:1px solid #d4e4db;border-left:3px solid #5d9385;background:#f3f8f5;border-radius:8px;padding:11px 13px;margin:12px 0 15px;color:#335e58;font-size:11px;line-height:1.6}
.washable-service-note strong{display:block;color:#275b52;font-size:13px;line-height:1.45;margin-bottom:5px}
.washable-service-note p{margin:0}
.washable-service-note .washable-conditions{font-size:10px;color:#5b776e;line-height:1.55;margin-top:5px}
.washable-material{display:inline-block;color:#275d68;background:#e5f1f4;border:1px solid #c5dfe5;font-size:9px;line-height:1.4;font-weight:700;padding:3px 6px;border-radius:4px;align-self:flex-start;margin-top:4px}
.washable-material-note:not([hidden]){display:block;border:1px solid #cfe4e2;background:#f0f7f6;color:#4c6f6b;font-size:10px;line-height:1.7;padding:9px 11px;border-radius:6px;margin:8px 0}
@media(max-width:520px){.washable-service-note{padding:10px 11px;margin:10px 0 13px;font-size:11px}.washable-service-note strong{font-size:12px}.washable-service-note .washable-conditions{font-size:10px}.washable-material{font-size:9px;padding:3px 5px}}

/* Compact human-approved washable process note (C copy). */



/* Compare by pad + accessory combination, not pad SKU alone. */
.compare-tray .names .compare-token{display:inline-flex;gap:5px;align-items:center;max-width:100%;border-radius:5px;background:#294650;padding:3px 5px 3px 9px;color:#f2f7f3;overflow-wrap:anywhere}
.compare-tray button.compare-remove{margin:0;padding:0 4px;min-width:22px;height:24px;background:transparent;color:#f7f8f4;border:0;border-radius:4px;font-size:17px;font-weight:700;cursor:pointer}
.compare-tray button.compare-remove:hover{background:#3c5c65}
.compare-photos{display:flex;gap:7px;align-items:flex-start;min-width:170px}
.compare-photo{flex:1;min-width:76px;max-width:145px}
.compare-photo .photo-frame{position:relative;width:100%;height:100px;border-radius:7px;background:#e7eee9;overflow:hidden}
.compare-photo .photo-frame img{width:100%;height:100%;object-fit:contain}
.compare-photo .imagelabel{position:absolute;bottom:2px;left:2px;background:#fffd;font-size:8px;padding:2px 3px}
.compare-photo small{display:block;color:#687a73;font-size:10px;text-align:center;margin-top:3px}
.compare-photo-note{display:block;font-size:9px;color:#7b8986;line-height:1.5;max-width:220px}
.compare-material-art{max-width:220px;min-width:140px}
.compare-material-art .photo-frame{width:100%;height:95px;position:relative;overflow:hidden;border-radius:6px;background:#eef2ed}
.compare-material-art .photo-frame img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
/* In comparison columns, do not let the SVG and diagram caption compete
   for flex width: pin the caption to the bottom and give the full vector
   independent, padded space above it. Original SVG data stays untouched. */
.compare-material-art .photo-frame.diagram-frame{
  position:relative;display:block;width:100%;height:126px;
  padding:0;box-sizing:border-box;overflow:hidden;
  background:#eef2ed;border-radius:6px;
}
.compare-material-art .diagram-frame>img{
  position:absolute;display:block;z-index:1;
  left:12px;top:9px;width:calc(100% - 24px);height:calc(100% - 44px);
  max-width:none;max-height:none;min-width:0;min-height:0;
  object-fit:contain;object-position:center center;
}
.compare-material-art .diagram-frame>.diagram-label{
  position:absolute;display:block;z-index:2;
  left:50%;bottom:6px;transform:translateX(-50%);
  width:max-content;max-width:calc(100% - 14px);
  padding:3px 7px;box-sizing:border-box;
  font-size:9px;line-height:1.25;font-weight:650;
  color:#60756d;background:#ffffffeb;border-radius:4px;
  white-space:nowrap;text-align:center;pointer-events:none;
}
.compare-combo-name{display:block;font-size:11px;font-weight:750;min-width:145px}
.compare-column-remove{margin-top:7px;padding:5px 9px;color:#446b64;background:#fff;border:1px solid #d1ded8;border-radius:5px;font-size:10px;cursor:pointer}
.compare-muted{color:#86938d;font-weight:500}
.compare-table td{min-width:168px;vertical-align:top}
.compare-table td:first-of-type{min-width:185px}
.compare-table tr:first-child td strong{font-size:15px}
@media(max-width:780px){
 .compare-modal{padding:24px 15px 28px}
 .compare-table{min-width:610px;font-size:11px}
 .compare-table th,.compare-table td{padding:10px 9px}
 .compare-tray{max-width:calc(100vw - 20px);gap:8px;padding:10px 10px}
 .compare-tray .names{max-height:70px;overflow-y:auto}
 .compare-tray button:not(.compare-remove){padding:9px 11px}
}

/* Avoid excess vertical whitespace now that product group subtitle is removed. */
.detail-info h2+.detail-lead{margin-top:10px}

/* Keep the three product actions reachable while the modal content scrolls. */
#detailContent .detail-actions-sticky{
  position:sticky;
  bottom:0;
  z-index:8;
  float:none;
  clear:both;
  margin:0;
  padding:12px 28px max(12px, env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
  gap:9px;
  background:#fff;
  border-top:1px solid #dbe7e1;
  box-shadow:0 -7px 22px rgba(19,45,48,.065);
}
#detailContent .detail-actions-sticky button{
  min-width:0;
  min-height:44px;
  margin:0;
  line-height:1.4;
  white-space:normal;
}
@media(max-width:560px){
  #detailContent .detail-actions-sticky{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:10px 14px max(10px, env(safe-area-inset-bottom));
  }
  #detailContent .detail-actions-sticky .primary{grid-column:1/-1}
  #detailContent .detail-actions-sticky button{font-size:11px;padding:10px 7px;min-height:42px}
}


.topbar{background:var(--dark);border-bottom-color:var(--dark)}
.monogram{flex:none;color:var(--dark)}
.monogram:before,.monogram:after{content:none}
.monogram path{stroke:var(--accent-2)}
.brand{color:#fff}
.brand span{color:var(--accent-2)}
.header-links{color:#e7eef3}
.header-links a:hover{color:#fff}
.preview-pill{border-color:var(--accent-2);background:var(--dark);color:var(--accent-2)}
.topbar .small-btn{border-color:var(--accent-2);background:transparent;color:#fff}
.topbar .small-btn:hover{border-color:var(--focus);background:var(--theme-control-hover)}
.heart-count{background:var(--theme-control-hover);color:#fff}
.hero{background:linear-gradient(115deg,var(--dark),var(--theme-hero-end))}
.hero .eyebrow,.hero h1 em{color:var(--accent-2)}
.hero .eyebrow:before{background:var(--accent-2)}
.filter-options button.active,.primary,.empty button{background:var(--dark);border-color:var(--dark)}
.filter-options button:hover,.small-btn:hover,.secondary:hover{border-color:var(--accent)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.searchbox:focus-within{border-color:var(--focus);outline:3px solid var(--focus);outline-offset:3px}
.topbar :focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}
.primary:hover{background:var(--theme-control-hover)}
.compare-tray{background:var(--dark)}
.compare-tray .names{color:var(--accent-2)}
.compare-tray .names .compare-token{background:var(--theme-control-hover);color:var(--accent-2)}
.compare-tray > button:not(.cancel-compare):not(.compare-remove){background:var(--accent-2);border-color:var(--accent-2);color:var(--dark)}
.compare-tray .cancel-compare{background:transparent;color:var(--accent-2);border-color:var(--accent-2)}
.compare-tray button.compare-remove{background:transparent;color:#f7f8f4}
.compare-tray button.compare-remove:hover{background:var(--theme-control-hover)}
.compare-tray :focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}
