/* Shopping controls and compact layouts; existing photography stays in place. */
.mj-product-image-link{display:block;color:inherit}
.product h3 a{color:inherit;text-decoration:none}
.product h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.mj-product-image-link:focus-visible{outline-offset:3px}
.mj-retail #productGrid .product:nth-child(n){padding-top:0}
.mj-catalog-search{display:flex;width:min(100%,420px);margin:0 0 18px;border:1px solid #c9cec4;border-radius:2px;overflow:hidden;background:#fff}
.mj-catalog-search input{min-width:0;flex:1;min-height:44px;padding:10px 12px;font:inherit;font-size:16px;border:0;background:transparent}
.mj-catalog-search button{flex:0 0 48px;min-height:44px;border:0;background:#f0f1ea;color:#26372a;cursor:pointer}
.mj-catalog-search:focus-within{outline:2px solid #173e72;outline-offset:3px}
.mj-catalog-search input:focus-visible{outline-offset:-3px}
.mj-catalog-quote{display:inline-flex;align-items:center;min-height:44px;margin-right:14px}
.mj-site-header .mj-mobile-navigation{display:none}
.option-head span{line-height:1.5;text-align:right}
.choice{min-height:44px}
#quote{scroll-margin-top:110px}
.mj-quote-help{font-size:13px;line-height:1.6;margin-top:12px}
@media(max-width:1000px){
 :root{--mj-header-height:72px}
 .mj-site-header .nav,.mj-retail .mj-site-header .nav{width:calc(100% - 32px);height:72px;min-height:72px;padding:0;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr;gap:14px}
 .mj-site-header .nav-left.mega-nav{display:none}
 .mj-site-header .logo{font-size:31px;grid-row:1;grid-column:1}
 .mj-site-header .nav-right{grid-column:2;grid-row:1;gap:12px}
 .mj-site-header .nav-right>a{display:none!important}
 .mj-site-header .nav-right>a.cart{display:inline-flex!important;align-items:center;min-height:44px;font-size:13px}
 .mj-site-header .nav-right>.mj-mobile-navigation{display:block;color:#26372a}
 .mj-mobile-navigation>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;cursor:pointer;font-size:13px;list-style:none}
 .mj-mobile-navigation>summary::-webkit-details-marker{display:none}
 .mj-mobile-navigation>summary:after{content:'+';margin-left:7px;font-size:18px}
 .mj-mobile-navigation[open]>summary:after{content:'−'}
 .mj-dark-cover .mj-site-header:not(.is-scrolled) .mj-mobile-navigation>summary{color:#fff9ed}
 .mj-mobile-navigation>summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}
 .mj-mobile-navigation-panel{position:absolute;top:100%;left:-16px;right:-16px;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px 20px 28px;background:#fff;border-bottom:1px solid #d9d9ce;box-shadow:0 12px 24px #17202a1f;color:#26372a}
 .mj-mobile-navigation-panel strong{display:block;font-size:13px;margin-bottom:6px}
 .mj-site-header .mj-mobile-navigation-panel a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:14px;color:#26372a;text-decoration:none;line-height:1.4}
 .mj-site-header .mj-mobile-navigation-panel a:hover{text-decoration:underline}
 .mj-catalog-search{width:100%;max-width:none}
 .mj-retail #filterPanel .checks label,.mj-trade #filterPanel .checks label{min-height:44px;font-size:14px}
 .mj-retail #filterPanel .filter-group summary{font-size:14px}
 .mj-retail #mobileFilter{font-size:14px;min-height:44px}
 [id="catalog"],[id="pricing"],[id="types"],[id="pearl-types"],[id="source-updates"],#quote{scroll-margin-top:88px}
}
@media(max-width:680px){
 .mj-home .mj-home-cover{min-height:clamp(480px,78svh,620px);padding-top:72px;background-image:url("/uploads/site/banner_m.webp");background-size:cover;background-position:center top}
 .mj-home .mj-home-cover .wrap{min-height:calc(clamp(480px,78svh,620px) - 72px);padding-top:34px;padding-bottom:28px}
 .mj-home .mj-home-cover h1{font-size:clamp(34px,9vw,43px);line-height:1.08}
 .mj-home .mj-home-cover .hero-copy>p{font-size:15px;line-height:1.55}
 .mj-home .mj-home-cover .hero-copy{padding-top:0}
 .mj-home .hero[aria-label="MJ Pearls home banner"] .hero-actions .btn{font-size:14px;min-height:48px}
 .mj-retail .mj-editorial-cover{height:auto;min-height:0;padding-top:72px}
 .mj-retail .mj-editorial-cover .mj-cover-inner{height:auto;min-height:calc(clamp(400px,68svh,560px) - 72px);padding:52px 0 28px}
 .mj-retail .mj-editorial-cover h1{font-size:clamp(48px,13vw,66px);margin:14px 0 16px}
 .mj-retail .mj-editorial-cover .hero-copy>p{font-size:14px;line-height:1.65}
 .mj-retail.mj-category .mj-editorial-cover{height:auto;min-height:0}
 .mj-retail.mj-category .mj-editorial-cover .mj-cover-inner{min-height:240px;padding:44px 0 26px}
 .mj-retail.mj-category .mj-editorial-cover h1{font-size:clamp(34px,9vw,44px)}
 .mj-retail.mj-category .mj-editorial-cover .hero-copy>p{font-size:14px}
 .mj-retail .mj-editorial-cover .hero-actions{gap:12px;margin-top:18px;flex-wrap:wrap}
 .mj-retail .mj-editorial-cover .hero-actions .btn,.mj-retail .mj-editorial-cover .hero-actions .btn.secondary{font-size:14px;min-height:44px}
 .mj-retail .shop-shortcuts{gap:4px 20px}
 .mj-retail .shop-shortcuts a{font-size:14px;min-height:44px}
 .mj-retail #productGrid{gap:30px 16px}
 .mj-retail #productGrid h3{font-size:15px}
 .mj-retail #productGrid .meta,.mj-home .new-section .product .meta{font-size:13px}
 .mj-retail #productGrid .price{font-size:15px}
 .mj-retail #productGrid .actions,.mj-home .new-section .product .actions{font-size:13px}
 .product .actions a{display:inline-flex;align-items:center;min-height:44px}
 .mj-retail #productGrid .product-badge{font-size:11px}
 .mj-retail .catalog-toolbar strong,.mj-retail .clear{font-size:13px}
 .mj-trade .mj-material-cover,.mj-trade.mj-category .mj-material-cover{min-height:0;height:auto;padding-top:72px}
 .mj-trade .mj-cover-inner{padding:48px 0 28px}
 .mj-trade .mj-material-cover h1{font-size:34px}
 .mj-trade .mj-material-cover .hero-copy>p,.mj-trade .mj-material-cover .btn{font-size:14px}
 .mj-trade #catalog .product .meta,.mj-trade #catalog .product .actions{font-size:13px}
 .option-head{gap:12px;flex-wrap:wrap}
 .option-head span{text-align:left}
 .choice{font-size:14px}
 #quote input,#quote textarea,.contact-card input,.contact-card select,.contact-card textarea{font-size:16px}
}
@media(max-width:360px){
 .mj-site-header .logo{font-size:28px}
 .mj-site-header .nav-right{gap:8px}
 .mj-retail #productGrid{grid-template-columns:1fr}
}
