.card-chain-context{border:1px solid #b3d3c6;border-radius:16px;background:#f0f8f4;padding:clamp(14px,3vw,24px);margin:18px 0;overflow-wrap:anywhere}.card-chain-context h2{font-size:clamp(20px,3vw,27px);margin:0 0 10px}.card-chain-context p{margin:9px 0}.card-chain-context button,.card-chain-context a{min-height:44px}.card-chain-context button{padding:10px 14px;margin:5px 8px 5px 0}.card-chain-context label{display:block;margin:10px 0}.card-chain-context select,.card-chain-context input{font:inherit;max-width:100%;min-height:44px;padding:8px}.card-chain-quantity{border-left:4px solid #387e63;padding:10px 14px;background:#f0f8f4;margin:14px 0}.card-chain-quantity strong{display:block}.card-chain-evidence{font-size:.92rem;color:#31594b}.card-chain-context details>summary{cursor:pointer;min-height:44px;padding:8px 0}.card-chain-context .choice-photo{max-width:280px;margin:12px 0}.card-chain-context form{margin-top:12px}.card-chain-context input[type=number]{width:96px}
.container .chain-intro{padding:14px 18px;margin:10px 0}.container .chain-intro h1{font-size:23px;margin:3px 0}.container .chain-intro h1 br{display:none}.container .chain-intro>p:first-child{display:none}.container .chain-intro p{font-size:14px;margin:6px 0}.card-chain-context>h2{font-size:20px}.card-chain-context>p{font-size:14px}.card-chain-quantity p{font-size:14px;margin:6px 0}

.card-chain-context fieldset{border:0;margin:0;padding:0;min-width:0}

.chain-group-title{grid-column:1/-1;margin:8px 0;font-size:22px}.chain-kind{font-weight:700;color:#17694f}.chain-unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.chain-unit-grid div{background:white;border:1px solid #c7d8ce;padding:10px;border-radius:8px}.chain-unit-grid dt{font-size:13px}.chain-unit-grid dd{font-weight:700;margin:7px 0 0}.card-chain-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card-chain-preview-grid article{background:white;border:1px solid #d4dfd7;border-radius:12px;padding:12px;min-width:0}.card-chain-preview-grid h3{font-size:17px}.card-chain-preview-grid .choice-photo{max-width:100%}@media(max-width:700px){.chain-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-chain-preview-grid{grid-template-columns:1fr}.card-chain-preview-grid article{max-width:100%}}

[data-card-quick]{display:flex;gap:10px;align-items:end;flex-wrap:wrap}[data-card-quick] label{flex:1;min-width:140px}[data-card-quick] input,[data-card-quick] select{width:100%;box-sizing:border-box}[data-card-quick] p{flex-basis:100%;margin:0}.chain-shopping{border:1px solid #bfd1c5;border-radius:14px;padding:16px;margin:14px 0;background:#fff}.chain-shopping h2{font-size:20px;margin:0 0 8px}.chain-shopping ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;list-style:none}.chain-shopping li{min-width:0;border-left:3px solid #17694f;padding:8px 12px;background:#f3f7f3}.chain-shopping p{font-size:14px;margin:6px 0}.chain-picked{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:start}.chain-picked h3{font-size:18px;margin:2px 0}.chain-picked .choice-photo{max-width:160px;margin:0}.chain-picked .choice-photo .choice-ad{height:auto;min-height:160px}.chain-picked .choice-ad img{max-width:100%;height:auto}.chain-picked figcaption{font-size:11px;line-height:1.5}.chain-picked-quantity{font-size:18px;font-weight:700;color:#12664f}.chain-picked .chain-manual{margin:8px 0}.chain-purchase a{display:inline-block;min-height:44px;padding:8px 0;overflow-wrap:anywhere}.chain-shopping li a{min-height:44px}.chain-picked details{font-size:13px}.chain-picked .choice-ad{display:flex;justify-content:center;align-items:center}.chain-quick-edit summary{min-height:44px;cursor:pointer}@media(max-width:700px){.chain-shopping ol{grid-template-columns:1fr}.chain-picked{grid-template-columns:120px minmax(0,1fr);gap:10px}.chain-picked .choice-photo{max-width:120px}.chain-picked .choice-photo .choice-ad{min-height:120px}.chain-picked h3{font-size:16px}.chain-picked>div{min-width:0}.chain-picked .chain-fields{grid-template-columns:1fr}.chain-picked .chain-manual input{width:100%}[data-card-quick] label{min-width:125px}.chain-picked figcaption{font-size:11px}}

.chain-picked .choice-ad>a{max-width:100%;display:block}.chain-picked .choice-ad img{width:auto;max-width:100%;height:auto}.chain-picked .chain-manual{min-width:0}.chain-picked .chain-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.chain-picked input{box-sizing:border-box;max-width:100%}@media(max-width:700px){.chain-picked .chain-fields{grid-template-columns:1fr}}

#chain-app .chain-picked .choice-photo .choice-ad{width:100%;height:auto;min-height:0;aspect-ratio:1}#chain-app .chain-picked .choice-ad>a{width:100%;max-width:100%;display:block}#chain-app .chain-picked .choice-ad img{width:100%;max-width:100%;height:auto}#chain-app .card-chain-context>button{display:inline-block;width:auto;margin-right:8px}#chain-app .chain-picked button{width:auto;max-width:100%}#chain-app .chain-quick-edit{margin:8px 0}#chain-app .chain-picked .chain-purchase{margin:8px 0}.chain-shopping h2{line-height:1.4}

.chain-shelf-use{border:1px solid #bfd1c5;border-radius:12px;padding:16px;margin:16px 0;background:#f3f7f3}.chain-shelf-use h3{margin-top:0}.chain-shelf-use label{display:block;font-weight:700}.chain-shelf-use input{display:block;width:100%;max-width:240px;box-sizing:border-box;margin-top:8px;min-height:44px}.chain-shelf-use p{font-size:14px;line-height:1.7}.chain-shelf-use button{min-height:44px;max-width:100%}

/* Phase15.9: one selected product/photo per purchase-plan row. */
#chain-app .chain-shopping{padding:14px}.chain-shopping .chain-plan-status{font-size:13px;margin:6px 0 12px}
#chain-app .chain-plan-item{display:block;border:1px solid #d4dfd7;border-radius:10px;padding:12px;background:#f7faf7;min-width:0}
.chain-plan-heading{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:start}.chain-plan-step{grid-column:1/-1;color:#28654f;font-size:12px;font-weight:700}.chain-plan-heading h3{font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}.chain-plan-heading button{font-size:12px;padding:6px 8px;min-height:44px;white-space:nowrap}
#chain-app .chain-plan-item .choice-photo{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;max-width:none;width:100%;margin:10px 0;align-items:start}#chain-app .chain-plan-item .choice-ad{width:80px;height:80px;min-height:0;aspect-ratio:1}#chain-app .chain-plan-item figcaption{font-size:11px;line-height:1.5}
.chain-plan-numbers dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.chain-plan-numbers dl>div{background:white;border:1px solid #d4dfd7;border-radius:8px;padding:8px}.chain-plan-numbers dt{font-size:12px;line-height:1.4}.chain-plan-numbers dd{font-size:23px;font-weight:700;line-height:1.4;color:#12664f;margin:4px 0 0}.chain-plan-numbers small{font-size:12px;font-weight:400}.chain-shopping .chain-plan-pack{font-size:12px}.chain-shopping .chain-plan-basis{font-size:12px;color:#426454}
.chain-plan-details>summary,.chain-plan-cautions>summary{cursor:pointer;min-height:44px;box-sizing:border-box;padding:10px 0;font-size:13px}.chain-plan-cautions{margin-top:8px}.chain-plan-jump{display:inline-block;min-height:44px;padding:10px 0;font-weight:700}
#chain-app .chain-plan-item .chain-purchase{font-size:12px;margin:8px 0}#chain-app .chain-plan-item .chain-purchase a{font-size:13px;line-height:1.5;min-height:44px;padding:8px 0}
@media(max-width:700px){.chain-shopping ol{gap:10px;margin:10px 0}.chain-plan-heading h3{font-size:15px}.chain-shopping .chain-plan-item p{line-height:1.6}.chain-shopping .chain-plan-item .chain-plan-details p{font-size:13px}.chain-plan-numbers dl{gap:6px}.chain-plan-numbers dd{font-size:22px}}

.chain-shopping .chain-photo-spec{font-size:12px;font-weight:600;margin:0 0 4px;line-height:1.5}.chain-photo-note>summary,.chain-other-shops>summary{min-height:44px;box-sizing:border-box;padding:10px 0;cursor:pointer;line-height:1.5}.chain-shop-link{border:1px solid #a3beae;border-radius:7px;padding:9px 10px!important;background:white;font-weight:600;box-sizing:border-box;width:100%}.chain-other-shops{font-size:12px}.chain-other-shops a{display:inline-block;min-height:44px;overflow-wrap:anywhere}.chain-plan-numbers p{font-size:12px}.chain-plan-item .chain-plan-variant{font-size:12px!important;line-height:1.5}

.chain-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-price{padding:14px;border:1px solid #ccd9cd;background:#f3f7f1;border-radius:10px;margin:12px 0;min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.offer-price p{margin:6px 0}.offer-price a{display:inline-block;min-height:44px;align-content:center}.offer-amount strong{font-size:24px;color:#155748}.offer-date{color:#52655a;font-size:11px}.offer-price details{font-size:11px}.chain-grand-total{padding:20px;background:#183e36;color:white;border-radius:12px}.chain-grand-total strong{font-size:28px;display:block}.price-hold{padding:12px;border:1px solid #d8cbb5;color:#70501e}.chain-shopping .offer-price{margin-top:12px}.choice-body{min-width:0}

/* Preserve the newly issued Yanoman advertisement size (240 x 240). */
#chain-app .chain-plan-item .choice-photo[data-choice-photo^="yanoman-"]{grid-template-columns:minmax(0,1fr)}
#chain-app .chain-plan-item .choice-photo[data-choice-photo^="yanoman-"] .choice-ad{width:240px;height:240px}
#chain-app .chain-plan-item .choice-photo[data-choice-photo^="yanoman-"] .choice-ad img{width:240px;max-width:none;height:240px}
