/* Visage Hall-inspired retail structure, in beautydoc's own palette. */
:root{--ink:#33312e;--muted:#6b655f;--paper:#fff;--line:#e7e2da}
html{scroll-padding-top:108px}
.site-wrap{max-width:1600px;padding:0 32px 24px}
.topline{border-radius:0;margin:0 -32px;padding:8px 20px;font-size:11px;font-weight:400;letter-spacing:.03em}
.header{position:sticky;top:0;z-index:5;display:flex;gap:36px;min-height:82px;padding:15px 0;background:#fff;border-radius:0;border-bottom:1px solid var(--line)}
.logo{order:-1;font-size:36px;line-height:1.1;letter-spacing:-.04em;flex-shrink:0}
.nav-left{gap:25px;font-size:12px;font-weight:400}.nav-left a{display:flex;align-items:center;min-height:44px}
.nav-right{margin-left:auto;gap:24px;font-size:12px;font-weight:400;flex-shrink:0}
.text-button{font-weight:400;white-space:nowrap}
.intro{height:450px;display:grid;grid-template-columns:46% 54%;margin-top:24px;border-radius:8px;background:var(--pink);overflow:hidden}
.hero-photo{position:relative;grid-column:2;grid-row:1;inset:auto;width:100%;height:450px;object-position:72% center}
.hero-copy{grid-column:1;grid-row:1;width:100%;height:100%;padding:44px;background:var(--pink);color:var(--ink);order:0}
.hero-copy .eyebrow{font-size:11px;font-weight:400;letter-spacing:.08em;margin:0 0 26px}
.hero-copy h1{font-size:clamp(38px,4.3vw,64px);font-weight:400;letter-spacing:-.035em;line-height:1.06;margin:0 0 22px;max-width:none;text-wrap:balance}
.hero-description{font-size:16px;line-height:1.55;max-width:none;margin:0 0 30px}
.hero-link{background:var(--gold);color:#fff;border:0;border-radius:4px;padding:14px 22px;gap:24px;min-height:48px;font-size:12px;font-weight:400}
.brand-directory{display:flex;align-items:center;gap:40px;padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.brand-directory h2{font-size:13px;font-weight:400;color:var(--muted);max-width:100px;margin:0}
.brand-links{display:flex;justify-content:space-around;align-items:center;gap:40px;flex:1}
.brand-links button{font-size:22px;letter-spacing:.04em;text-transform:uppercase;min-height:56px;padding:4px 10px}
.brand-links button span{display:block;font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:3px}
.brand-links button[aria-pressed=true]{color:var(--gold);text-decoration:underline;text-underline-offset:5px}
.brand-directory>a{font-size:12px;min-height:44px;display:flex;align-items:center;gap:16px}
.collections{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:34px 0 54px}
.collection{position:relative;min-height:250px;overflow:hidden;border-radius:6px;text-align:left;padding:30px 32px;display:flex;align-items:center}
.collection-blue{background:var(--blue)}.collection-pink{background:var(--pink)}
.collection-copy{position:relative;z-index:1;display:flex;align-items:flex-start;flex-direction:column;width:63%}
.collection small{font-size:12px;color:var(--muted);margin-bottom:15px}
.collection strong{font-size:34px;line-height:1.07;font-weight:400;letter-spacing:-.025em}
.collection-cta{font-size:12px;display:block;border-bottom:1px solid var(--gold);padding:4px 0;margin-top:24px;color:var(--gold)}
.collection img{position:absolute;right:8px;top:10%;width:38%;height:80%;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s}
.collection:hover img{transform:scale(1.035)}
.catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.catalog-heading h2{font-size:32px;font-weight:400;letter-spacing:-.025em;margin:0}
.catalog-heading p{font-size:14px;color:var(--muted);margin:0}
.categories{justify-content:flex-start;gap:26px;border-bottom:1px solid var(--line);padding:15px 0 0;margin:0 0 18px;scroll-padding:4px}
.category{background:none!important;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:52px;padding:10px 0;font-size:13px;text-transform:none;color:var(--muted)!important}
.category.active{color:var(--gold)!important;border-bottom-color:var(--gold)}
.category:hover{color:var(--gold)!important}.category small{display:inline}
.catalog-toolbar{gap:22px;margin:0 0 18px;min-height:56px;flex-wrap:nowrap}
.catalog-title{flex:1;min-width:110px}.catalog-title h2{font-size:14px}
.search{order:0;min-width:0;width:250px;max-width:250px;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;min-height:44px}
.search input{font-size:16px;min-height:30px}
.brand-label select,.sort-label select{min-height:44px;padding:8px 4px;border:0;background:white;color:var(--ink);font-size:14px;max-width:180px}
.active-filters{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--blue);padding:8px 16px;margin-bottom:24px;font-size:13px}
.active-filters[hidden]{display:none}.active-filters span{overflow-wrap:anywhere}.active-filters button{min-height:44px;white-space:nowrap;text-decoration:underline;color:var(--gold)}
.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}
.card,.card:nth-child(n),.card:nth-child(n):hover{padding:0;border-radius:0;background:transparent;overflow:visible}
.photo-button{height:285px;border-radius:5px;background:#f6f7f7;padding:26px;margin:0 0 18px;overflow:hidden}
.card:nth-child(3n+2) .photo-button{background:#fcf5f6}.card:nth-child(3n) .photo-button{background:#f5f8fb}
.card-info{margin:0;display:flex;flex:1;flex-direction:column}
.card-brand{font-size:13px;font-weight:500;letter-spacing:.04em;min-height:0;margin:0 0 5px;display:block}
.name-button{min-height:44px;align-items:flex-start;flex:0 0 auto;padding-top:4px}
.name-button h3{font-size:15px;line-height:1.4;text-transform:none;font-weight:400;min-height:0;overflow-wrap:normal}
.card-subtitle{font-size:13px;line-height:1.5;min-height:40px;margin:2px 0 7px;color:var(--muted)}
.product-volume{font-size:12px;color:var(--muted);margin:0 0 8px}
.card-price-row{display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:48px;margin-top:auto;margin-bottom:8px}
.card-price-row .price{font-size:16px;font-weight:600}.card-price-row .review-link{font-size:11px;min-height:44px;width:auto;margin:0;padding:0}
.add{min-height:44px;border-radius:4px;padding:10px 14px;text-transform:none;font-weight:400;font-size:13px;letter-spacing:0}
.primary,.secondary{border-radius:4px}.review-filter{border-radius:4px}.review-card{border-radius:6px}
.reviews-heading h2{font-size:32px;font-weight:400}.reviews-section{margin-top:36px;border-top:1px solid var(--line)}
.order-guide{border-radius:6px;margin-top:48px}.order-guide h2{font-weight:400}
.footer-top{border-top:1px solid var(--line);padding:30px 0 20px}.footer-top p{font-weight:400}
.footer-logo{font-size:46px;letter-spacing:-.04em;text-align:left;line-height:1.2;padding:0;margin:20px 0}
@media(min-width:1600px){.intro,.hero-photo{height:490px}.photo-button{height:310px}}
@media(max-width:1150px){.header{gap:24px}.nav-left{gap:15px;font-size:11px}.nav-right{gap:16px}.nav-right .search-link span{display:none}.logo{font-size:32px}.hero-copy{padding:32px}.brand-directory{gap:22px}.brand-links{gap:14px}.brand-links button{font-size:19px}.brand-directory>a{display:none}.photo-button{height:240px;padding:20px}.catalog-toolbar{gap:16px}.search{width:200px}.collection strong{font-size:29px}.collection{padding:26px}.products{gap:30px 20px}}
@media(max-width:950px){.products{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-left .text-button{display:none}.photo-button{height:250px}.catalog-toolbar{flex-wrap:wrap}.catalog-title{min-width:45%}.search{order:3;width:100%;max-width:none;flex:1 0 100%}.intro,.hero-photo{height:390px}.hero-copy h1{font-size:42px}.hero-copy .eyebrow{font-size:10px}.hero-description{font-size:15px}.hero-link{padding:12px 16px;font-size:11px}.catalog-heading p{display:none}}
@media(max-width:800px){
 html{scroll-padding-top:85px}.site-wrap{padding:0 16px calc(88px + env(safe-area-inset-bottom))}.topline{margin:0 -16px;font-size:11px;padding:8px}.header{min-height:70px;padding:12px 0;gap:14px}.nav-left{display:flex;gap:15px}.nav-left a{font-size:11px}.nav-left a[href="#reviews"]{display:none}.logo{font-size:30px}.nav-right .search-link{display:none}.bag-button{font-size:11px}.brand-directory{scroll-margin-top:85px}
 .intro{margin-top:16px;grid-template-columns:48% 52%}.hero-copy{padding:26px}.hero-copy h1{font-size:36px}.hero-link{gap:15px}.brand-directory{padding:24px 0;display:block}.brand-directory h2{max-width:none;margin-bottom:14px;font-size:12px}.brand-links{justify-content:space-between;gap:8px}.brand-links button{font-size:18px;padding:4px}.collections{gap:16px;margin:24px 0 36px}.collection{min-height:210px;padding:22px}.collection strong{font-size:26px}.collection small{font-size:11px}.collection-copy{width:66%}.collection img{width:35%;right:2px}.catalog-heading h2{font-size:28px}.categories{gap:24px}.catalog-toolbar{gap:8px 14px}.brand-label select,.sort-label select{font-size:14px;max-width:160px}.catalog-title{min-width:100%;flex:1 0 100%}.brand-label{margin-right:auto}.search{padding:7px 0}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.photo-button{height:270px}.name-button h3{font-size:16px}.card-subtitle{font-size:14px;min-height:42px}.mobile-nav>a,.mobile-nav>button{border-radius:4px}.footer-logo{font-size:40px}.detail-reviews .review-card{border-radius:6px}
}
@media(max-width:550px){
 .site-wrap{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.topline{margin:0 -14px;font-size:10px}.header{min-height:66px}.logo{font-size:31px}.nav-left{display:none}.nav-right{margin-left:auto}.bag-button{font-size:11px}.intro{height:auto;display:flex;flex-direction:column;border-radius:6px;margin-top:14px}.hero-photo{height:220px;width:100%;order:0;object-position:72% center}.hero-copy{order:1;padding:25px 24px;background:var(--pink);height:auto;width:100%}.hero-copy .eyebrow{font-size:10px;margin-bottom:16px}.hero-copy h1{font-size:36px;margin-bottom:16px}.hero-description{font-size:15px;margin-bottom:20px}.hero-link{font-size:12px;min-height:46px;padding:12px 18px;gap:28px}.brand-links button{font-size:14px;letter-spacing:.02em;min-height:54px}.brand-links button span{font-size:10px}.brand-directory{padding:22px 0}.collections{grid-template-columns:1fr;gap:12px;margin:22px 0 34px}.collection{min-height:190px;padding:24px}.collection-copy{width:64%}.collection strong{font-size:30px}.collection small{margin-bottom:12px}.collection img{width:33%;right:12px}.collection-cta{margin-top:18px}.catalog-heading h2{font-size:26px}.categories{gap:24px;padding-top:10px;margin-bottom:12px}.category{font-size:13px;min-height:48px}.category small{display:none}.products{gap:28px 14px}.photo-button{height:195px;padding:16px 8px;margin-bottom:14px}.card-brand{font-size:11px;letter-spacing:.02em}.name-button{min-height:44px}.name-button h3{font-size:14px}.card-subtitle{font-size:13px;min-height:58px;margin-bottom:6px}.product-volume{font-size:12px}.card-price-row{flex-wrap:wrap;align-content:flex-start;min-height:72px;gap:0;margin-bottom:6px}.card-price-row .price{width:100%;font-size:16px;line-height:28px}.card-price-row .review-link{min-height:36px;font-size:11px}.add{font-size:13px;padding:10px 12px;min-height:46px}.reviews-heading h2{font-size:28px}.review-card h3{font-weight:400}.order-guide{margin-top:36px}.footer-top{padding:24px 0}.footer-logo{font-size:36px;margin:15px 0}.active-filters{flex-wrap:wrap;padding:8px 12px;gap:0}
}
@media(max-width:359px){.brand-links{gap:3px}.brand-links button{font-size:12px}.products{grid-template-columns:1fr}.photo-button{height:270px}.card-subtitle{min-height:0}.card-brand{font-size:13px}.name-button h3{font-size:18px}.card-price-row{min-height:48px;flex-wrap:nowrap}.card-price-row .price{width:auto}.hero-copy h1{font-size:32px}.collection strong{font-size:28px}}
@media(hover:none){.collection:hover img{transform:none}}
/* Expanded supplier catalog: compact brand directory and progressive results. */
.brand-directory{display:block;padding:30px 0 22px}
.brand-directory-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}
.brand-directory h2{font-size:20px;max-width:none;margin:0;color:var(--ink)}
#catalog-count{font-size:12px;color:var(--muted)}
.brand-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}
.brand-links button{font-size:18px;min-width:0;padding:17px 6px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;letter-spacing:.025em}
.brand-links button[hidden]{display:none}
.brand-links button span{font-size:11px;margin-top:5px}
.brand-toggle{color:var(--gold);font-size:13px;min-height:44px;margin-top:12px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.brand-directory>a{display:none}
.categories{flex-wrap:wrap;gap:0 24px}
.category{white-space:nowrap}
.catalog-pagination{display:flex;flex-direction:column;align-items:center;gap:16px;margin:40px 0 30px}
.catalog-pagination p{font-size:13px;color:var(--muted);margin:0}
.catalog-pagination .secondary{min-width:260px;min-height:48px;font-size:14px}
.catalog-pagination a{display:flex;align-items:center;min-height:44px;font-size:13px;color:var(--gold)}
#load-more[hidden]{display:none}
.professional-tag{align-self:flex-start;color:#755426;background:#f4ead7;padding:4px 7px;border-radius:3px;font-size:10px;margin-bottom:4px;line-height:1.4}
.professional-note{padding:14px;background:var(--blue);border-radius:4px;font-size:14px}
.image-note{font-size:12px!important;color:var(--muted)}
.card .name-button h3{overflow-wrap:anywhere}
.card .photo-button{border-radius:12px;overflow:hidden}
.card .photo-button img{object-fit:contain;border-radius:8px}
.detail-photo{border-radius:12px;overflow:hidden}
.detail-photo img,.cart-row img{border-radius:8px}
@media(max-width:800px){.categories{flex-wrap:nowrap;overflow-x:auto;gap:24px}.category{flex-shrink:0}.brand-directory h2{font-size:18px}.brand-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 14px}.brand-links button{font-size:14px}.brand-directory-heading{align-items:flex-start}}
@media(max-width:550px){.brand-directory{padding:24px 0 18px}.brand-directory-heading{flex-direction:column;gap:7px}.brand-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.brand-links button{font-size:15px;padding:14px 0}.brand-links button span{font-size:11px}.catalog-pagination .secondary{min-width:0;width:100%}.professional-tag{font-size:10px}.name-button h3{text-wrap:pretty}}

/* Preferred manufacturers stay first, including the planned Holy Land range. */
.brand-links .brand-priority{background:#faf6ec;border:1px solid #e7d7b8;border-radius:10px;padding:14px 16px;color:var(--gold);align-self:stretch}
.brand-links .brand-priority-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.brand-pending{font-size:18px;letter-spacing:.025em;text-transform:uppercase;overflow-wrap:anywhere}
.brand-pending>span:last-child{display:block;font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:5px}
.brand-links{row-gap:12px}
@media(max-width:800px){.brand-pending{font-size:14px}}
@media(max-width:550px){.brand-pending{font-size:15px}.brand-links .brand-priority{padding:12px 10px}.brand-links .brand-priority-label{font-size:9px}}
