/* Beauty Shop — Catalog & category page v9.
   Scoped: keeps the product detail page, cart, and home untouched. */
.bs-catalog-page{padding-top:42px;padding-bottom:85px;min-height:65vh}
.bs-catalog-page>h1{font:400 clamp(30px,3.6vw,49px)/1.15 Georgia,serif;letter-spacing:-.035em;color:#362e32;margin:0 0 16px}
.bs-catalog-page>h1+p{color:#7c6f73;font-size:15px;line-height:1.75;max-width:950px;margin:0 0 27px}
.bs-catalog-page .layout{grid-template-columns:minmax(220px,250px) minmax(0,1fr);align-items:start;gap:30px;margin-top:23px}
.bs-catalog-page .layout>div{min-width:0}
.bs-catalog-page .layout>div>p:first-child{color:#8b7a7f;font-size:13px;margin:0 0 17px}
/* Filter panel */
.bs-catalog-page .filter{background:#fff;border:1px solid #f0e4e5;box-shadow:0 9px 34px rgba(92,53,67,.045);border-radius:19px;padding:22px;position:sticky;top:155px}
.bs-catalog-page .filter label{display:block;color:#54464b;font-size:12px;font-weight:600;letter-spacing:.012em;margin:0 0 17px}
.bs-catalog-page .filter input,.bs-catalog-page .filter select{display:block;width:100%;height:43px;margin-top:8px;border:1px solid #eadde1;background:#fdfafb;border-radius:10px;padding:0 12px;color:#45383d;outline:none;font:400 13px Arial,sans-serif;transition:border-color .2s,box-shadow .2s}
.bs-catalog-page .filter input:focus,.bs-catalog-page .filter select:focus{border-color:#b9859c;box-shadow:0 0 0 3px #b9859c1c}
.bs-catalog-page .filter button{width:100%;min-height:46px;border-radius:12px;background:#a8738a;border:1px solid #a8738a;color:#fff;font-size:13px;font-weight:600;transition:background .2s,transform .2s}
.bs-catalog-page .filter button:hover{background:#936079;transform:translateY(-1px)}
/* Consistent product cards */
.bs-catalog-page .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.bs-catalog-page .product{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #f0e4e5;border-radius:17px;padding:11px;transition:box-shadow .2s,transform .2s,border-color .2s}
.bs-catalog-page .product:hover{transform:translateY(-3px);border-color:#e2c8d1;box-shadow:0 13px 32px rgba(93,61,73,.09)}
.bs-catalog-page .product>a{display:block;color:inherit}
.bs-catalog-page .product .photo{width:100%;aspect-ratio:1/1;background:#f8f4f2;border-radius:12px;overflow:hidden}
.bs-catalog-page .product .photo img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .3s}
.bs-catalog-page .product:hover .photo img{transform:scale(1.045)}
.bs-catalog-page .product small{display:block;margin:12px 5px 3px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#aa8191;min-height:16px}
.bs-catalog-page .product h3{font-family:Arial,sans-serif;color:#40353a;font-size:14px;font-weight:600;line-height:1.5;margin:0 5px 12px;min-height:42px;overflow-wrap:anywhere}
.bs-catalog-page .product .price{font:600 18px/1.35 Arial,sans-serif;color:#44353b;margin:auto 5px 11px}
.bs-catalog-page .product .price del{display:inline-block;color:#aaa0a3;font-size:12px;font-weight:400;margin-left:5px}
.bs-catalog-page .product form{margin:0}
.bs-catalog-page .product button{display:block;width:100%;min-height:44px;margin:0;background:#a8738a;color:#fff;border-radius:11px;border:1px solid #a8738a;font:600 13px Arial,sans-serif;transition:background .2s}
.bs-catalog-page .product button:hover:not(:disabled){background:#936079}
.bs-catalog-page .product button:disabled{background:#f0e9eb;color:#988b90;border-color:#f0e9eb;cursor:not-allowed}
/* Pagination mirrors the product page buttons */
.bs-catalog-page .pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:37px}
.bs-catalog-page .pagination .btn{min-width:42px;min-height:42px;padding:10px 13px;text-align:center;border-radius:11px;border:1px solid #ead9df;color:#725b66;background:#fff;font:600 13px Arial,sans-serif}
.bs-catalog-page .pagination .btn:hover{color:#fff;background:#a8738a;border-color:#a8738a}
@media(min-width:1450px){.bs-catalog-page .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1040px){.bs-catalog-page .layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.bs-catalog-page .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-catalog-page .filter{padding:16px}}
@media(max-width:720px){.bs-catalog-page{padding-top:30px;padding-bottom:50px}.bs-catalog-page .layout{display:block}.bs-catalog-page .filter{position:static;margin-bottom:24px;padding:18px}.bs-catalog-page .filter form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.bs-catalog-page .filter button{grid-column:1/-1}.bs-catalog-page .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.bs-catalog-page .product{padding:8px;border-radius:13px}.bs-catalog-page .product .photo{border-radius:9px}.bs-catalog-page .product small{margin:9px 2px 3px}.bs-catalog-page .product h3{font-size:12px;margin:0 2px 9px;min-height:54px}.bs-catalog-page .product .price{font-size:15px;margin:0 2px 9px}.bs-catalog-page .product button{min-height:41px;font-size:12px}}
@media(max-width:370px){.bs-catalog-page .filter form{grid-template-columns:1fr}.bs-catalog-page .grid{gap:8px}}
@media(prefers-reduced-motion:reduce){.bs-catalog-page .product,.bs-catalog-page .product .photo img,.bs-catalog-page button{transition:none!important}}
