/* 商品一覧ページ */
*{box-sizing:border-box}
body{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:#f7f8f7;color:#112}
.all-products{max-width:1080px;margin:0 auto;padding:32px 18px 18px}
.ap-hero{background:linear-gradient(135deg,#ccf7ea,#eefdf6);border-radius:24px;padding:22px 28px;margin-bottom:24px;box-shadow:0 12px 24px rgba(6,84,68,0.08)}
.ap-hero .ap-kicker{font-size:0.74rem;letter-spacing:0.34em;color:#0f7e61;margin-bottom:8px}
.ap-hero h1{font-size:1.85rem;margin-bottom:6px;color:#0c3d2c}
.ap-hero .ap-lead{color:#245b4b;font-size:0.9rem;max-width:640px;line-height:1.45}
.ap-sort{margin-bottom:14px}
.ap-sort-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid #dceee6;border-radius:18px;padding:10px 14px;box-shadow:0 6px 18px rgba(7,57,45,0.05)}
.ap-sort-label{font-size:0.9rem;color:#2f6b59;font-weight:600;letter-spacing:0.08em}
.ap-sort-control{display:flex;align-items:center;gap:8px}
.ap-sort-select{border-radius:999px;border:1px solid #b9d5cc;padding:8px 18px;font-size:0.9rem;min-width:180px;background:#fdfefe;color:#0f3b29}
.ap-sort-select:focus{outline:none;box-shadow:0 0 0 2px rgba(15,137,100,0.2);border-color:#0f8964}
.ap-sort-button{padding:8px 16px;border-radius:999px;border:none;background:#0f8964;color:#fff;font-weight:600;cursor:pointer}
.ap-sort-note{font-size:0.8rem;color:#6a7c75;margin-left:auto}
.ap-results{margin-top:24px}
.ap-alert{padding:12px 16px;background:#fff0e1;border:1px solid #f6c998;border-radius:10px;color:#ad540d;margin-bottom:14px}
.ap-empty{text-align:center;padding:48px 18px;color:#68827a;background:#fff;border-radius:16px;border:1px dashed #b9d5cc}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.ap-card{background:#fff;border-radius:16px;border:1px solid #e4f0eb;display:flex;flex-direction:column;min-height:320px;box-shadow:0 8px 16px rgba(17,53,45,0.08);overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease}
.ap-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(17,53,45,0.16)}
.ap-image{width:100%;padding-top:62%;position:relative;background:#f7fbf8}
.ap-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:14px}
.ap-card-body{padding:16px 18px 8px;text-align:center;flex:1}
.ap-category{font-size:0.8rem;color:#2a9c7d;letter-spacing:0.18em;margin-bottom:4px}
.ap-title{font-size:1rem;color:#0f3b29;margin-bottom:8px}
.ap-price{font-size:1.25rem;font-weight:700;color:#0f8964;margin-bottom:4px}
.ap-stock{font-size:0.85rem;color:#6a7c75}
.ap-sales{font-size:0.85rem;color:#0f8964;font-weight:600;margin-top:4px}
.ap-card-footer{padding:14px 16px 20px;text-align:center}
.ap-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 22px;border-radius:999px;background:#0f8964;color:#fff;text-decoration:none;font-weight:600;transition:background 0.2s ease}
.ap-link:hover{background:#0c6c4f}
@media (max-width:768px){
	.all-products{padding:96px 14px 48px}
	.ap-hero{padding:18px 18px}
	.ap-hero h1{font-size:1.55rem}
}
