/* Catalog documents only. The accepted global shell/header/footer are unchanged. */
.op-catalog-page.e-con,.op-catalog-archive.e-con { width:min(calc(100% - 48px),1440px);max-width:1440px;margin-inline:auto;margin-top:-88px !important;background:#f6f1e9;color:#3a3935;font-family:Inter,sans-serif;gap:0; }
.op-catalog-page .op-catalog-hero { height:680px;padding:0 20px 44px; }
.op-catalog-page .op-catalog-hero-panel { height:100%;min-height:100%;position:relative;border-radius:0 0 24px 24px;background:#aca9a3; }
.op-catalog-page .op-catalog-hero-copy { position:absolute;top:50%;transform:translateY(-50%);align-items:center;width:100%;gap:0; }
.op-catalog-page .op-catalog-hero-title { width:75%;padding-bottom:24px;margin:0;text-align:center; }
.op-catalog-page .op-catalog-hero-title h1 { font-family:"Instrument Serif",serif;font-size:52px;font-weight:400;line-height:1.5;color:white;margin:0; }
.op-catalog-page .op-catalog-hero-button .elementor-button { font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;background:#515151;color:white;border-radius:32px;padding:12px 24px; }
.op-catalog-page .op-catalog-content { flex-direction:row;max-width:1536px;width:100%;padding:0 40px;align-items:flex-start;gap:0; }
.op-catalog-page .op-catalog-filter-widget { width:181.40625px;flex:none; }
.op-catalog-filters { margin:0;padding:0 0 32px;border:0; }
.op-catalog-filters summary { display:flex;justify-content:space-between;align-items:center;gap:64px;list-style:none;cursor:pointer;padding-bottom:20px;font-size:20px;line-height:30px;font-weight:600;letter-spacing:-.011em;text-wrap:pretty; }
.op-catalog-filters summary::-webkit-details-marker { display:none; }
.op-catalog-filters summary svg { flex:none;transform:rotate(0);transition:transform .2s; }
.op-catalog-filters[open] summary svg { transform:rotate(180deg); }
.op-catalog-filters nav { display:grid;grid-template-columns:1fr;column-gap:32px; }
.op-catalog-filters nav a { display:flex;gap:12px;align-items:flex-start;padding-bottom:20px;color:#606060;text-decoration:none;font-size:16px;line-height:22px;font-weight:600;text-transform:uppercase; }
.op-catalog-filters .op-catalog-filter-label { text-align:center; }
.op-catalog-filters .op-catalog-utilities { grid-column:1 / -1;border-top:1px solid #c7c2ba;margin-top:12px;padding-top:16px; }
.op-catalog-filters nav .op-catalog-help { min-height:44px;align-items:center;padding:8px 4px;text-transform:none;background:transparent;font-weight:500; }
.op-catalog-filters nav .op-catalog-help:hover { text-decoration:underline; }
.op-catalog-filters nav .op-catalog-help:focus-visible { outline:3px solid #3a3935;outline-offset:4px; }
.op-catalog-check { width:24px;height:24px;flex:none;border:1px solid #c7c2ba;border-radius:2px; }
.op-catalog-filters .is-current { color:#3a3935; }
.op-catalog-filters .is-current .op-catalog-check { background:#2e2e2a;border-color:#2e2e2a; }
.op-catalog-page .op-catalog-query { min-width:0;flex:1;width:auto;padding:52px 32px; }
.op-catalog-page .op-catalog-product-region { min-width:0;flex:1;width:auto;position:relative;gap:0; }
.op-catalog-page .op-catalog-product-region .op-catalog-query { width:100%; }
.op-catalog-page .op-catalog-empty-widget { position:absolute;top:28px;left:32px;width:calc(100% - 64px);text-align:center; }
.op-catalog-query .elementor-loop-container { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
.op-catalog-card.e-con { width:100%;height:100%;min-width:0;gap:0; }
.op-catalog-card .op-catalog-image { height:415px;width:100%;position:relative;background:#faf7f2;border-radius:12px;overflow:hidden;flex:none; }
.op-catalog-card .op-catalog-image :is(.elementor-widget-container,a) { display:flex;width:100%;height:100%;align-items:center;justify-content:center; }
.op-catalog-card .op-catalog-image img { width:100%;height:375px;max-height:none;object-fit:cover;padding:0 20px;border-radius:12px;transition:transform .7s ease-in-out; }
.op-catalog-card .op-catalog-copy { width:100%;padding:20px 0 64px;text-align:center;gap:0;flex:1;text-decoration:none;color:#3a3935; }
.op-catalog-card .op-catalog-title :is(p,.elementor-heading-title) { font-family:Inter,sans-serif;font-size:20px;font-weight:600;line-height:30px;letter-spacing:-.011em;text-wrap:pretty;word-break:normal;color:#3a3935;margin:0;overflow-wrap:break-word; }
.op-catalog-card .op-catalog-price { padding-top:6px; }
.op-catalog-card .op-catalog-price .price { font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;color:#3a3935;margin:0; }
.op-catalog-card .op-catalog-price ins { text-decoration:none;background:transparent; }
.op-catalog-sale { position:absolute;z-index:1;top:8px;left:8px;background:#515151;color:white;padding:6px 10px;border-radius:4px; }
.op-catalog-empty { margin:0;padding:24px 0; }
.op-catalog-page :is(a,summary):focus-visible,.op-catalog-archive :is(a,select,button):focus-visible { outline:3px solid #3a3935;outline-offset:4px; }
.op-catalog-archive { padding:128px 0 0; }
.op-catalog-archive .op-catalog-archive-title { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.op-catalog-archive .op-catalog-native-products { width:100%; }
.op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid li.product .woocommerce-loop-product__title { font-family:"Instrument Serif",serif;font-size:16px;font-weight:400;line-height:24px;padding:8px 0;margin:0;color:#3a3935;overflow-wrap:anywhere; }
.op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid li.product .price { font-family:Inter,sans-serif;font-size:13.712px;font-weight:400;line-height:1.5;color:#777;margin:0 0 .5em; }
.op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid li.product a img { width:100%;height:auto;margin:0 0 16px; }
.op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid li.product .button { font-family:Inter,sans-serif;font-size:16px;font-weight:700;line-height:16px;margin-top:16px;padding:9.888px 16px;border:0;border-radius:3px;color:#515151;background:#ebe9eb;white-space:normal; }
@media(min-width:1024px) { .op-catalog-card .op-catalog-image a:hover img { transform:scale(1.25); } }
@media(min-width:1280px) and (max-width:1535px) { .op-catalog-page .op-catalog-content { max-width:1280px; } }
@media(max-width:1023px) { .op-catalog-page .op-catalog-content { padding-inline:16px; }.op-catalog-query .elementor-loop-container { grid-template-columns:repeat(2,minmax(0,1fr)); }.op-catalog-filters nav a { font-size:14px;line-height:24px;padding-bottom:16px; } }
@media(max-width:767px) {
 .op-catalog-page .op-catalog-hero { height:auto; }.op-catalog-page .op-catalog-hero-panel { padding:0 24px; }.op-catalog-page .op-catalog-hero-copy { position:static;transform:none;margin:120px 0 40px; }.op-catalog-page .op-catalog-hero-title { width:100%; }.op-catalog-page .op-catalog-hero-title h1 { font-size:40px;line-height:40px; }
 .op-catalog-page .op-catalog-content { flex-direction:column; }.op-catalog-page .op-catalog-filter-widget { width:100%; }.op-catalog-filters { padding-bottom:0; }.op-catalog-filters summary { font-size:18px;line-height:27px; }.op-catalog-filters nav { grid-template-columns:repeat(2,minmax(0,1fr)); }.op-catalog-filters nav a { min-width:0; }
 .op-catalog-page .op-catalog-product-region { width:100%; }
 .op-catalog-page .op-catalog-query { width:100%;padding:52px 0; }.op-catalog-card .op-catalog-image { height:200px; }.op-catalog-card .op-catalog-image img { height:160px; }.op-catalog-card .op-catalog-copy { padding-bottom:0; }.op-catalog-card .op-catalog-title :is(p,.elementor-heading-title) { font-size:18px;line-height:27px; }
 .op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid li.product .woocommerce-loop-product__title { line-height:16px; }
}
@media(prefers-reduced-motion:reduce) { .op-catalog-card .op-catalog-image img,.op-catalog-filters summary svg { transition:none; }.op-catalog-card .op-catalog-image a:hover img { transform:none; } }

/* The image crop must not clip its keyboard focus indicator. */
.op-catalog-card .op-catalog-image:focus-within { outline:3px solid #3a3935;outline-offset:4px; }

/* User-approved native archive browsing correction; Page 22 is unchanged. */
.op-catalog-archive.e-con { width:100%;padding:128px 40px 64px; }
.op-catalog-archive .op-catalog-archive-browse.e-con { display:grid;grid-template-columns:181.40625px minmax(0,1fr);gap:32px;width:100%;align-items:start; }
.op-catalog-archive .op-catalog-archive-navigation,.op-catalog-archive .op-catalog-archive-results { min-width:0;width:100%; }
.op-catalog-archive .op-archive-categories { width:100%; }
.op-catalog-archive .op-archive-categories summary { gap:12px;margin:0;padding:0 0 20px; }
.op-catalog-archive .op-archive-categories nav { display:block; }
.op-catalog-archive .op-archive-categories ul { list-style:none;padding:0;margin:0; }
.op-catalog-archive .op-archive-categories ul ul { padding-left:14px;border-left:1px solid #c7c2ba;margin-left:4px; }
.op-catalog-archive .op-archive-categories a { padding:8px 4px;min-height:44px;font:500 15px/22px Inter,sans-serif;text-transform:none;overflow-wrap:anywhere;border-radius:4px; }
.op-catalog-archive .op-archive-categories .op-catalog-filter-label { text-align:left; }
.op-catalog-archive .op-archive-categories a:hover { background:#eee5d9;color:#3a3935; }
.op-catalog-archive .op-archive-categories .is-current { background:#ead8c6;color:#3a3935;font-weight:700; }
.op-catalog-archive .op-archive-categories .is-ancestor { color:#3a3935;font-weight:700; }
.op-catalog-archive :is(summary,a,select):focus-visible { outline:3px solid #3a3935;outline-offset:3px; }
.op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;margin:24px 0 32px;padding:0;width:100%;clear:both; }
.op-catalog-archive ul.products::before,.op-catalog-archive ul.products::after { content:none;display:none; }
.op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid li.product { display:flex;flex-direction:column;float:none;width:100%;min-width:0;margin:0;clear:none; }
.op-catalog-archive .woocommerce-result-count { margin:0 12px 16px 0;min-height:44px;display:flex;align-items:center; }
.op-catalog-archive .woocommerce-ordering { max-width:100%;margin:0 0 16px; }
.op-catalog-archive .woocommerce-ordering select { max-width:100%;min-height:44px; }
@media(min-width:769px) { .op-catalog-archive .op-archive-categories summary { cursor:default; }.op-catalog-archive .op-archive-categories summary>span { display:none; } }
@media(min-width:769px) and (max-width:1439px) { .op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px; } }
@media(max-width:768px) {
 .op-catalog-archive.e-con { padding:112px 24px 48px; }
 .op-catalog-archive .op-catalog-archive-browse.e-con { grid-template-columns:minmax(0,1fr);gap:24px; }
 .op-catalog-archive .op-archive-categories { border-bottom:1px solid #c7c2ba;padding-bottom:8px; }
 .op-catalog-archive .op-archive-categories summary { padding:8px 0;min-height:44px; }
 .op-catalog-archive .op-archive-categories[open] summary>span { transform:rotate(45deg); }
 .op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px; }
}
@media(max-width:479px) {
 .op-catalog-archive.e-con { padding-inline:20px; }
 .op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid { grid-template-columns:minmax(0,1fr); }
 .op-catalog-archive .woocommerce-result-count,.op-catalog-archive .woocommerce-ordering { float:none;width:100%; }
 .op-catalog-archive .woocommerce-ordering select { width:100%; }
 .op-catalog-archive .elementor-widget-wc-archive-products.elementor-wc-products ul.products.elementor-grid li.product .woocommerce-loop-product__title { line-height:24px; }
}

.op-catalog-archive .op-archive-categories:not([open]) nav { display:none; }

/* Content roles are separate landmarks, never nested merchandise-tree entries. */
.op-catalog-filters .op-editorial-navigation { display:block; border-top:1px solid #c7c2ba; margin-top:16px; padding-top:20px; }
.op-catalog-filters .op-editorial-navigation h2 { margin:0 0 8px; color:#3a3935; font:600 18px/27px Inter,sans-serif; }
.op-catalog-filters .op-editorial-navigation ul { list-style:none; margin:0; padding:0; border:0; }
.op-catalog-filters .op-editorial-navigation a,
.op-catalog-filters .op-catalog-help { display:flex; align-items:center; min-height:44px; padding:8px 4px; color:#606060; font:500 15px/22px Inter,sans-serif; text-transform:none; text-decoration:none; border-radius:4px; }
.op-catalog-filters :is(.op-editorial-navigation a,.op-catalog-help):hover { color:#3a3935; text-decoration:underline; background:#eee5d9; }
.op-catalog-filters :is(.op-editorial-navigation a,.op-catalog-help):focus-visible { outline:3px solid #3a3935; outline-offset:3px; }
.op-catalog-filters:not([open]) .op-catalog-utilities { display:none; }
