.catalog-page{background:#fcfbf7}
.catalog-page svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.catalog-page .icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.catalog-page button,.catalog-page input,.catalog-page select{font:inherit}
.catalog-page button,.catalog-page a,.catalog-page input,.catalog-page select{-webkit-tap-highlight-color:transparent}
.catalog-page button{cursor:pointer}
.catalog-page a{color:inherit;text-decoration:none}
.catalog-page :focus-visible{outline:3px solid #bd8500;outline-offset:4px}
.catalog-page [hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;right:20px;padding:12px 20px;background:var(--yellow);z-index:100;border-radius:12px}
.skip-link:focus{top:10px}
.catalog-page .catalog-header{height:80px;gap:28px;padding-inline:4%;box-shadow:0 2px 15px #0b2a4704}
.catalog-header .nav a{font-size:14px;position:relative}
.catalog-header .nav a[aria-current]{color:#9b7000}
.catalog-header .nav a[aria-current]::after{content:'';position:absolute;bottom:-17px;right:0;left:0;height:3px;background:var(--yellow);border-radius:4px}
.catalog-header-tools{display:flex;align-items:center;gap:24px;direction:rtl;font-size:13px;white-space:nowrap}
#favorites-toggle{display:flex;align-items:center;gap:9px;border:1px solid #e8e6dc;background:white;border-radius:30px;padding:10px 15px;color:var(--navy);min-height:44px}
#favorites-toggle b{background:#fff2bc;border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center;font:600 11px Inter,Arial,sans-serif}
#favorites-toggle[aria-pressed=true]{background:#fff2bc;border-color:#e4b900}
.catalog-page main.catalog-main{display:block;height:auto;min-height:0}
.catalog-intro{border-bottom:1px solid #eae5d9;background:#f8f4e9;position:relative;overflow:hidden}
.catalog-intro::before{content:'';position:absolute;inset:0;background:url('assets/filtering_bg.png') center/cover;opacity:.23;pointer-events:none}
.catalog-intro-inner{position:relative;max-width:1600px;margin:auto;padding:26px 4% 32px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.breadcrumb{display:flex;gap:10px;font-size:12px;color:#6c7c82;margin-bottom:24px}
.breadcrumb a:hover{text-decoration:underline}
.eyebrow{font-size:12px;font-weight:600;color:#7a6843}
.catalog-intro h1{font-size:clamp(30px,3.2vw,48px);line-height:1.35;letter-spacing:-1.5px;margin:6px 0 10px}
.catalog-intro h1 span{position:relative;isolation:isolate;white-space:nowrap}
.catalog-intro h1 span::after{content:'';height:10px;background:var(--yellow);position:absolute;bottom:7px;left:0;right:0;z-index:-1;transform:rotate(-3deg)}
.catalog-intro-copy>p{font-size:15px;line-height:1.9;color:#52636c;margin:0}
.intro-stats{display:flex;align-items:center;gap:16px;margin-top:22px;font-size:12px;color:#55646b}
.intro-stats b{color:var(--navy);font-size:14px}
.intro-stats i{width:3px;height:3px;border-radius:50%;background:#b5a987}
.roaster-feature{display:flex;align-items:center;gap:22px;background:#fff9;border:1px solid #fff;border-radius:24px;padding:24px 28px;box-shadow:0 12px 30px #56472308;margin-left:3%}
.roaster-mark{width:116px;height:132px;background:var(--navy);border-radius:58px 58px 18px 18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#fff8e8;direction:ltr}
.roaster-mark>span{font:700 30px Inter,Arial,sans-serif;letter-spacing:2px}
.roaster-mark small{font:500 7px Inter,Arial,sans-serif;letter-spacing:1px}
.roaster-mark svg{color:var(--yellow);margin-top:6px}
.roaster-feature h2{font-size:21px;margin:6px 0 18px}
.roaster-feature a{font-size:12px;display:flex;gap:9px;align-items:center}
.roaster-feature a svg{width:15px;height:15px}
.catalog-content{max-width:1600px;margin:auto;padding:0 4% 45px}
.category-tabs{display:flex;gap:8px;padding:25px 0 24px;overflow-x:auto;scrollbar-width:thin}
.category-tabs button{border:1px solid #e6e4db;border-radius:28px;background:white;color:#53636c;white-space:nowrap;padding:10px 16px;font-size:12px;min-height:44px}
.category-tabs span{font:500 10px Inter,Arial,sans-serif;margin-right:8px;opacity:.7}
.category-tabs button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}
.catalog-layout{display:grid;grid-template-columns:222px minmax(0,1fr);gap:30px;align-items:start}
.catalog-sidebar{border:1px solid #e8e5dc;background:#fff;border-radius:18px;padding:20px 18px;scroll-margin-top:85px}
.filter-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-bottom:16px;border-bottom:1px solid #f0ede5}
.filter-heading h2{display:flex;gap:5px;align-items:center;font-size:13px;margin:0;white-space:nowrap}
.filter-heading svg{width:18px;height:18px}
.reset-filters{border:0;background:none;padding:5px 0;font-size:11px;color:#93721d;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.catalog-sidebar fieldset{border:0;border-bottom:1px solid #f0ede5;margin:0;padding:18px 0}
.catalog-sidebar legend{float:right;width:100%;font-size:13px;font-weight:700;margin-bottom:12px;padding:0}
.catalog-sidebar legend+*{clear:both}
.check-row{display:flex;align-items:center;gap:9px;min-height:20px;font-size:12px;cursor:pointer}
.catalog-page .catalog-sidebar .check-row{height:20px;min-height:20px;line-height:20px;padding-block:0}
.check-row input{accent-color:var(--navy);width:16px;height:16px;margin:0;flex-shrink:0}
.check-row small{margin-inline-start:auto;color:#899397;font:10px Inter,Arial,sans-serif}
.price-range-label{display:flex;gap:5px;align-items:center;font-size:12px;margin-bottom:12px}
.price-range-label output{font:600 17px Inter,Arial,sans-serif}
#price-max{width:100%;accent-color:#d5a200;margin:4px 0;direction:ltr;min-height:24px}
.range-ends{display:flex;justify-content:space-between;font-size:10px;color:#7f888b;direction:ltr}
.roaster-note{margin-top:18px;padding:18px 12px 4px;text-align:center;background:#fcf9ed;border-radius:12px}
.roaster-note>svg{color:#ad8220;margin-bottom:5px}
.roaster-note b{display:block;font-size:13px}
.roaster-note p{font-size:11px;line-height:1.9;color:#718087}
.catalog-results{min-width:0;scroll-margin-top:100px}
.results-toolbar{display:flex;gap:10px}
.catalog-search{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e8e5dc;border-radius:12px;padding:0 15px;width:100%;height:48px;color:#8a9498}
.catalog-search:focus-within{border-color:#ba901e;box-shadow:0 0 0 2px #ffd95530}
.catalog-search input{border:0;background:none;outline:none!important;min-width:0;width:100%;color:var(--navy);height:100%;font-size:13px}
.catalog-search input::placeholder{color:#8b969b}
#mobile-filter-toggle{display:none}
.results-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;font-size:12px;color:#78868d}
.results-summary p{margin:0}
.results-summary b{color:var(--navy)}
.results-summary label{display:flex;align-items:center;gap:8px}
.results-summary select{font-size:12px;border:0;background:transparent;color:var(--navy);max-width:160px;padding:8px 0;cursor:pointer}
.active-filters{display:flex;gap:6px;flex-wrap:wrap}
.active-filters:not(:empty){margin-bottom:15px}
.active-filters button{background:#f6edd0;border:0;color:#716037;padding:6px 12px;border-radius:20px;font-size:11px;min-height:32px}
.coffee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.coffee-card{border:1px solid #e9e6de;border-radius:17px;background:#fff;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.coffee-card:hover{border-color:#d6c799;box-shadow:0 8px 24px #0b2a4708}
.coffee-photo{position:relative;aspect-ratio:1.12;background:#f5f3ee;overflow:hidden;margin:7px 7px 0;border-radius:12px}
.coffee-photo>a{display:block;width:100%;height:100%}
.coffee-photo img{width:100%;height:100%;display:block;object-fit:contain;mix-blend-mode:multiply;padding:10px}
.image-note{position:absolute;bottom:12px;left:8px;right:8px;text-align:center;font-size:10px;color:#8e8165;pointer-events:none}
.product-label{position:absolute;top:10px;right:10px;font-size:10px;padding:5px 10px;background:#fff2b9;color:#766019;border-radius:18px;pointer-events:none}
.product-label.sold-out{background:#eeeae5;color:#74726e}
.save-product{position:absolute;top:9px;left:9px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid #ece8df;background:#fff;color:#7c878c}
.save-product svg{width:17px;height:17px}
.save-product[aria-pressed=true]{color:#ab482e;background:#fff6ed;border-color:#ebc8b7}
.save-product[aria-pressed=true] svg{fill:#ab482e}
.coffee-details{padding:15px;display:flex;flex-direction:column;flex:1}
.coffee-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#89938f}
.coffee-meta>span:first-child{color:#95752a}
.coffee-card h2{font-size:14px;font-weight:600;line-height:1.85;margin:8px 0 14px;min-height:52px}
.coffee-card h2 a:hover{color:#a27500}
.coffee-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:13px}
.coffee-price{white-space:nowrap;display:flex;align-items:baseline;gap:4px}
.coffee-price b{font:700 20px Inter,Arial,sans-serif;letter-spacing:-.7px}
.coffee-price span{font-size:11px}
.coffee-price del{font-size:10px;color:#899397;margin-right:4px}
.stock{font-size:10px;color:#5c866b;white-space:nowrap}
.stock::before{content:'';display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%;margin-left:5px;vertical-align:middle}
.stock.unavailable{color:#989087}
.product-link{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;border-radius:9px;background:#ffcf24;color:var(--navy);font-weight:600;font-size:12px}
.product-link:hover{background:#f2bc00}
.product-link svg{width:14px;height:14px}
.catalog-page .product-link{width:100%;border:0;font-size:13px;font-family:inherit}
.catalog-page .product-link:disabled{background:#ebe8e0;color:#9a9388;cursor:not-allowed}
#basket-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid #e8e6dc;border-radius:30px;background:#fff4c8;color:var(--navy)}
#basket-count{font:600 12px Inter,Arial,sans-serif}
.shop-dialog{width:min(560px,calc(100% - 28px));max-height:85svh;border:1px solid #e8e5dc;border-radius:22px;padding:28px;color:var(--navy);background:#fffdfa;overscroll-behavior:contain}
.shop-dialog::backdrop{background:#071d32a6}
.dialog-close{position:absolute;top:10px;left:12px;width:44px;height:44px;border:0;border-radius:50%;background:#f3f0e8;color:var(--navy);font-size:25px!important}
.shop-dialog h2{font-size:22px;margin:12px 0 22px;padding-left:28px;line-height:1.7}
#product-dialog-content>img{display:block;width:100%;height:230px;object-fit:contain;margin-bottom:18px}
#product-dialog-content>.image-note{position:static;display:block}
#product-dialog-content>.coffee-meta{margin-bottom:20px;font-size:13px}
.basket-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid #e8e5dc}
.basket-row img{width:72px;height:90px;object-fit:contain;background:#f7f4eb;border-radius:10px}
.basket-row h3{font-size:13px;line-height:1.8;margin:0}
.basket-line-price{font-size:14px;font-weight:700;margin:7px 0}
.basket-quantity{display:flex;align-items:center;gap:10px}
.basket-quantity-button{border:1px solid #e7e0cf;border-radius:8px;background:#fff;min-width:36px;min-height:36px;color:var(--navy)}
.basket-quantity-button:disabled{opacity:.4;cursor:not-allowed}
.basket-remove{margin-inline-start:auto;border:0;font-size:12px!important;color:#9b4f3a}
.basket-quantity-value{font:600 13px Inter,Arial,sans-serif}
.basket-empty{padding:30px 0;color:#78868d;text-align:center;font-size:14px}
.basket-total{display:flex;justify-content:space-between;gap:20px;padding:22px 0 10px}
.basket-note{font-size:12px;color:#78868d;line-height:1.8;margin-bottom:20px}
body:has(.shop-dialog[open]){overflow:hidden}
@media(max-width:480px){.catalog-header-tools .back-home{display:none}.catalog-header-tools{gap:8px}.shop-dialog{padding:20px}.basket-quantity-button{min-width:44px;min-height:44px}}
.empty-results{text-align:center;padding:70px 20px;background:#fff;border:1px dashed #ddd5bf;border-radius:18px}
.empty-results>svg{width:36px;height:36px;color:#c3a85b}
.empty-results h2{font-size:20px}.empty-results p{font-size:13px;color:#78868d}
.empty-results button{font-size:13px;padding:12px 20px;background:var(--yellow);border-radius:24px;text-decoration:none;color:var(--navy)}
.catalog-source{font-size:11px;color:#899397;line-height:1.9;margin:28px 0 0}
.catalog-source a{text-decoration:underline;text-underline-offset:3px}
.catalog-page .catalog-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:28px 4%;background:#f6f2e8;border-top:1px solid #e7e0cf}
.catalog-footer p{font-size:13px}.catalog-footer>a:not(.brand){font-size:12px}.catalog-footer small{color:#849097;font-size:10px}
.catalog-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 22px;border-radius:30px;font-size:13px;z-index:60;box-shadow:0 8px 30px #0b2a4722}
.catalog-toast:empty{display:none}
@media(min-width:1600px){.coffee-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.catalog-header-tools{margin-left:auto}.roaster-feature{margin:0;padding:20px;gap:16px}.roaster-mark{width:90px;height:110px}.roaster-feature h2{font-size:18px}.catalog-layout{grid-template-columns:195px minmax(0,1fr);gap:20px}.catalog-sidebar{padding:16px 12px}.coffee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .catalog-page .catalog-header{height:68px;padding-inline:5%;gap:10px}.catalog-header .brand{gap:10px}.catalog-header-tools{gap:12px}#favorites-toggle{padding:8px 10px}#favorites-toggle>span{display:none}.back-home{font-size:12px}
  .catalog-intro-inner{padding:22px 5% 26px;display:block}.breadcrumb{margin-bottom:18px}.catalog-intro h1{font-size:34px}.catalog-intro-copy>p{font-size:13px}.intro-stats{gap:12px;font-size:11px;margin-top:16px}.intro-stats b{font-size:12px}.roaster-feature{display:none}
  .catalog-content{padding:0 5% 28px}.category-tabs{padding:18px 0}.category-tabs button{padding:9px 14px}.catalog-layout{display:flex;flex-direction:column;gap:0}.catalog-results{width:100%}
  .catalog-sidebar{display:none;width:100%;margin-bottom:18px}.catalog-sidebar.open{display:block}.roaster-note{display:none}.catalog-sidebar fieldset{padding:12px 0}.check-row{min-height:40px}.filter-heading h2{font-size:16px}.filter-heading .reset-filters{font-size:13px}
  #mobile-filter-toggle{display:flex;align-items:center;justify-content:center;gap:5px;min-width:84px;background:white;border:1px solid #e8e5dc;border-radius:12px;color:var(--navy);font-size:12px}#mobile-filter-toggle[aria-expanded=true]{background:#fff0bc}.catalog-search{padding:0 10px}.catalog-search input{font-size:12px}
  .results-summary{font-size:11px;gap:8px}.results-summary label{gap:4px}.results-summary select{font-size:11px;max-width:130px}.coffee-grid{gap:12px}.coffee-details{padding:12px}.coffee-card h2{font-size:13px}.coffee-price b{font-size:18px}.coffee-meta{font-size:10px}
  .catalog-page .catalog-footer{flex-wrap:wrap;padding:24px 5%;gap:12px}.catalog-footer .brand{width:100%}.catalog-footer p{width:100%;margin:2px 0}.catalog-toast{width:max-content;max-width:90%;font-size:12px;text-align:center}
}
@media(max-width:480px){.coffee-grid{grid-template-columns:minmax(0,1fr)}.coffee-photo{aspect-ratio:1.3}.coffee-details{padding:18px}.coffee-card h2{font-size:16px;min-height:0;margin-bottom:18px}.coffee-meta{font-size:12px}.coffee-price b{font-size:24px}.product-link{min-height:46px;font-size:14px}.save-product{width:44px;height:44px}.stock{font-size:12px}.product-label{font-size:12px}.intro-stats{gap:9px}.desktop-break{display:none}}
/* Multi-roaster catalog attributes. */
.catalog-page .coffee-roaster{font-size:11px;font-weight:600;color:#8b6131;display:inline-block;margin-bottom:7px}
.catalog-page .coffee-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0;min-height:25px}
.catalog-page .coffee-tags span{background:#f6eee7;border-radius:12px;padding:4px 8px;font-size:10px;color:#75533f}
.catalog-page .coffee-tags .unknown-tag{background:#f5f5f0;color:#838779}
.catalog-page .attribute-note{font-size:11px;line-height:1.9;color:#7a8276}
.catalog-page .product-attributes{display:grid;grid-template-columns:100px 1fr;gap:10px;font-size:13px;padding:18px 0;border-block:1px solid #eee8dc}
.catalog-page .product-attributes dt{color:#818779}
.catalog-page .product-attributes dd{margin:0;overflow-wrap:anywhere}
.catalog-page .product-source-link{font-size:12px;color:#85642c;text-decoration:underline;text-underline-offset:4px}
.catalog-page .roaster-mark>span{font-size:23px}
