/* Scoped to this catalog: Divi header/footer and other pages keep their styles. */
body.lip-shop-active {
    --lip-primary: #78677f;
    --lip-card: #f7f4ef;
    --lip-sidebar: #faf6ef;
    --lip-text: #403b3a;
    --lip-line: #e9e0d7;
}
#main-content.lip-shop { background: #fff; color: var(--lip-text); }
.lip-shop, .lip-shop * { box-sizing: border-box; }
.lip-shop a { color: var(--lip-primary); }
.lip-shop a:focus-visible, .lip-shop button:focus-visible, .lip-shop summary:focus-visible, .lip-shop select:focus-visible {
    outline: 3px solid var(--lip-primary); outline-offset: 4px;
}
.lip-shop .lip-hero {
    position: relative; isolation: isolate; display: grid; place-items: center;
    min-height: 300px; padding: 48px 24px; overflow: hidden; text-align: center;
    background: linear-gradient(115deg, #bda58f, #8b7b92); color: #fff;
}
.lip-hero::after {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(90deg, rgba(45, 35, 35, .35), rgba(45, 35, 35, .22));
}
.lip-hero .lip-hero-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% top; }
.lip-hero-content { width: min(100%, 1000px); }
#main-content.lip-shop .lip-eyebrow { margin: 0 0 12px; padding: 0; font-size: 13px !important; line-height: 1.5 !important; letter-spacing: .18em; text-transform: uppercase; }
#main-content.lip-shop .lip-hero h1 { color: #fff; margin: 0; padding: 0; font-size: clamp(34px, 4vw, 56px) !important; font-weight: 500; line-height: 1.16 !important; }
#main-content.lip-shop .lip-subtitle { margin: 16px 0 0; padding: 0; font-size: 18px !important; line-height: 1.5 !important; }
#main-content.lip-shop .lip-breadcrumb { margin: 22px 0 0; font-size: 14px !important; line-height: 1.6 !important; color: #fff; }
#main-content.lip-shop .lip-breadcrumb a, #main-content.lip-shop .lip-breadcrumb span { font-size: inherit !important; line-height: inherit !important; }
.lip-shop .lip-breadcrumb a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.lip-breadcrumb span { padding: 0 8px; }
.lip-shop .lip-layout {
    display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: start;
    gap: 54px; width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: 72px 0 88px;
}
.lip-sidebar, .lip-results { min-width: 0; }
.lip-filter-panel { background: var(--lip-sidebar); border: 1px solid var(--lip-line); }
.lip-filter-panel > summary { display: none; padding: 18px 22px; color: var(--lip-text); font-weight: 600; cursor: pointer; }
.lip-shop .lip-widget { padding: 32px 28px; margin: 0; border-bottom: 1px solid var(--lip-line); }
.lip-shop .lip-widget:last-child { border-bottom: 0; }
#main-content.lip-shop .lip-widget h2 { margin: 0 0 18px; padding: 0; font-size: 21px; line-height: 1.3; font-weight: 600; color: var(--lip-text); }
.lip-shop .lip-muted { font-size: 14px; line-height: 1.6; padding: 0; margin: 12px 0 0; color: #716760; }
.lip-shop .lip-all-products { display: inline-block; font-weight: 600; font-size: 15px; line-height: 1.5; margin: 0 0 12px; }
.lip-shop ul.lip-categories, .lip-shop ul.lip-categories ul { list-style: none; padding: 0; margin: 0; }
.lip-shop ul.lip-categories ul { margin: 6px 0 8px 12px; padding-left: 12px; border-left: 1px solid #ded1c5; }
.lip-shop ul.lip-categories li { list-style: none; padding: 0; margin: 0 0 8px; line-height: 1.5; }
.lip-shop ul.lip-categories a { color: #61564f; font-size: 15px; }
.lip-shop ul.lip-categories a:hover, .lip-shop ul.lip-categories .current-cat > a { color: var(--lip-primary); text-decoration: underline; text-underline-offset: 3px; }
.lip-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.lip-shop .lip-tags a { background: #fff; color: #61564f; border: 1px solid var(--lip-line); border-radius: 20px; padding: 5px 12px; font-size: 13px; line-height: 1.5; }
.lip-shop .lip-tags a:hover { border-color: var(--lip-primary); color: var(--lip-primary); }
.lip-shop .lip-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: 0 0 28px; }
.lip-view-toggle { display: flex; gap: 6px; flex-shrink: 0; }
.lip-view-toggle[hidden] { display: none; }
.lip-shop .lip-view-button { display: grid; place-items: center; min-width: 40px; min-height: 40px; padding: 8px; background: transparent; border: 1px solid transparent; border-radius: 4px; color: #b0a89f; cursor: pointer; }
.lip-shop .lip-view-button[aria-pressed='true'] { color: var(--lip-primary); background: var(--lip-card); border-color: var(--lip-line); }
.lip-loop-controls { display: flex; flex: 1; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 24px; min-width: 0; }
.lip-shop .lip-loop-controls .woocommerce-notices-wrapper { width: 100%; }
.lip-shop .lip-loop-controls .woocommerce-notices-wrapper:empty { display: none; }
.lip-shop .lip-loop-controls .woocommerce-result-count { margin: 0; padding: 0; font-size: 13px; color: #716760; float: none; }
.lip-shop .lip-loop-controls .woocommerce-ordering { margin: 0; float: none; min-width: 0; max-width: 100%; flex-shrink: 1; }
.lip-shop .lip-loop-controls select { max-width: 100%; padding: 11px 36px 11px 16px; background-color: var(--lip-card); border: 1px solid var(--lip-line); border-radius: 24px; font-size: 14px !important; color: var(--lip-text); line-height: 1.5; }
#main-content.lip-shop .lip-results ul.products {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px;
    width: 100%; padding: 0 !important; margin: 0 !important; list-style: none;
}
#main-content.lip-shop .lip-results ul.products::before,
#main-content.lip-shop .lip-results ul.products::after { display: none !important; content: none !important; }
#main-content.lip-shop .lip-results ul.products li.product {
    position: relative; display: flex; flex-direction: column; align-items: stretch;
    float: none !important; clear: none !important; width: auto !important; max-width: none !important;
    min-width: 0; margin: 0 !important; padding: 16px 16px 28px !important;
    background: var(--lip-card); text-align: center; border: 0; box-shadow: none;
}
#main-content.lip-shop .lip-results ul.products li.product > a.woocommerce-LoopProduct-link {
    display: flex; flex-direction: column; flex: 1; color: var(--lip-text); text-decoration: none;
}
#main-content.lip-shop .lip-results ul.products li.product .et_shop_image { display: block; margin: 0; }
#main-content.lip-shop .lip-results ul.products li.product .et_overlay { display: none; }
#main-content.lip-shop .lip-results ul.products li.product a img {
    display: block; width: 100% !important; max-width: 100%; height: auto !important;
    aspect-ratio: 1 / 1; object-fit: cover; margin: 0 0 18px !important; box-shadow: none;
}
#main-content.lip-shop .lip-results ul.products li.product .woocommerce-loop-product__title,
#main-content.lip-shop .lip-results ul.products li.product h2 {
    padding: 0 4px !important; margin: 0 0 12px !important; font-size: 17px !important;
    line-height: 1.45 !important; color: var(--lip-text); font-weight: 600; overflow-wrap: anywhere;
}
#main-content.lip-shop .lip-results ul.products li.product .price {
    display: block; margin: auto 0 0 !important; padding: 0 0 18px; color: var(--lip-primary) !important;
    font-size: 18px !important; line-height: 1.5; font-weight: 500;
}
#main-content.lip-shop .lip-results ul.products li.product .price ins { background: transparent; text-decoration: none; }
#main-content.lip-shop .lip-results ul.products li.product .star-rating { float: none; margin: 0 auto 12px; color: var(--lip-primary); }
#main-content.lip-shop .lip-results a.button,
#main-content.lip-shop .lip-results button.button,
.lip-shop .widget_price_filter .button {
    display: inline-flex; align-items: center; justify-content: center; align-self: center;
    min-height: 42px; max-width: 100%; width: auto; margin: 0; padding: 10px 24px !important;
    border: 1px solid var(--lip-primary) !important; border-radius: 24px !important;
    background: var(--lip-primary) !important; color: #fff !important;
    font-size: 13px !important; font-family: inherit; font-weight: 600; line-height: 1.5 !important;
    text-transform: uppercase; letter-spacing: .025em; white-space: normal; text-align: center;
    box-shadow: none; cursor: pointer;
}
#main-content.lip-shop .lip-results a.button::after,
#main-content.lip-shop .lip-results button.button::after { display: none !important; }
#main-content.lip-shop .lip-results a.button:hover,
.lip-shop .widget_price_filter .button:hover { filter: brightness(.92); }
#main-content.lip-shop .lip-results .added_to_cart { padding-top: 12px; font-size: 14px; }
#main-content.lip-shop .lip-results .onsale { z-index: 2; top: 26px; left: 26px; right: auto; min-height: 0; min-width: 0; margin: 0; padding: 6px 12px; border-radius: 18px; background: var(--lip-primary) !important; color: #fff; font-size: 12px; line-height: 1.5; }
.lip-shop .widget_price_filter .price_slider_wrapper { margin-top: 6px; }
.lip-shop .widget_price_filter .ui-slider { margin: 0 8px 24px; background: #dcd0c4 !important; height: 4px; border: none; }
.lip-shop .widget_price_filter .ui-slider .ui-slider-range { background: var(--lip-primary) !important; }
.lip-shop .widget_price_filter .ui-slider .ui-slider-handle { top: -5px; width: 14px; height: 14px; background: var(--lip-primary) !important; border: none; border-radius: 50%; }
.lip-shop .widget_price_filter .price_slider_amount { display: flex; flex-direction: column; align-items: center; gap: 14px; font-size: 13px; line-height: 1.5; text-align: center; }
.lip-shop .widget_price_filter .price_slider_amount .price_label { order: -1; color: #61564f; }
.lip-shop .widget_price_filter .price_slider_amount .clear { display: none; }
.lip-shop .widget_price_filter .price_slider_amount .button { float: none; }
.lip-shop nav.woocommerce-pagination { margin: 42px 0 0; }
.lip-shop nav.woocommerce-pagination ul { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px; border: 0; padding: 0; margin: 0; }
.lip-shop nav.woocommerce-pagination ul li { border: 0; float: none; }
.lip-shop nav.woocommerce-pagination ul li a,
.lip-shop nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 38px; min-height: 38px; padding: 7px; border: 1px solid var(--lip-line); color: var(--lip-primary); background: #fff; font-size: 14px; }
.lip-shop nav.woocommerce-pagination ul li span.current,
.lip-shop nav.woocommerce-pagination ul li a:hover { background: var(--lip-primary); border-color: var(--lip-primary); color: #fff; }
.lip-shop .lip-empty { padding: 40px 28px; background: var(--lip-card); border: 1px solid var(--lip-line); text-align: center; }
.lip-shop .lip-empty .woocommerce-info { padding: 0; margin: 0 0 24px; border: 0; color: var(--lip-text) !important; background: transparent !important; font-size: 18px !important; }
.lip-shop .lip-empty .woocommerce-info::before { display: none; }
.lip-shop .lip-admin-note { margin-top: 20px; font-size: 14px; line-height: 1.6; }
.lip-shop .lip-admin-note a { text-decoration: underline; }
.lip-term-description { margin: 0 0 28px; line-height: 1.7; }
#main-content.lip-shop .lip-results[data-view='list'] ul.products { grid-template-columns: minmax(0, 1fr); }
#main-content.lip-shop .lip-results[data-view='list'] ul.products li.product { padding: 18px !important; text-align: left; }
#main-content.lip-shop .lip-results[data-view='list'] ul.products li.product > a.woocommerce-LoopProduct-link {
    display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: 26px; align-content: center;
}
#main-content.lip-shop .lip-results[data-view='list'] li.product > a.woocommerce-LoopProduct-link > img,
#main-content.lip-shop .lip-results[data-view='list'] li.product .et_shop_image { grid-column: 1; grid-row: 1 / span 4; margin: 0 !important; }
#main-content.lip-shop .lip-results[data-view='list'] li.product .et_shop_image img { margin: 0 !important; }
#main-content.lip-shop .lip-results[data-view='list'] ul.products li.product h2,
#main-content.lip-shop .lip-results[data-view='list'] ul.products li.product .price,
#main-content.lip-shop .lip-results[data-view='list'] ul.products li.product .star-rating { grid-column: 2; margin: 0 !important; padding-left: 0 !important; }
#main-content.lip-shop .lip-results[data-view='list'] ul.products li.product .price { padding-bottom: 0; }
#main-content.lip-shop .lip-results[data-view='list'] ul.products li.product > .button { align-self: flex-start; margin: 18px 0 0 186px; }
@media (min-width: 768px) {
    .lip-filter-panel > .lip-filter-content { display: block !important; }
}
@media (max-width: 1024px) {
    .lip-shop .lip-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 28px; width: calc(100% - 40px); padding: 48px 0 64px; }
    .lip-shop .lip-widget { padding: 26px 22px; }
    #main-content.lip-shop .lip-results ul.products { gap: 22px; }
    .lip-loop-controls .woocommerce-result-count { width: 100%; text-align: right; }
}
@media (max-width: 767px) {
    .lip-shop .lip-hero { min-height: 250px; padding: 38px 20px; }
    #main-content.lip-shop .lip-subtitle { font-size: 16px !important; }
    .lip-shop .lip-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; width: calc(100% - 32px); padding: 30px 0 48px; }
    .lip-filter-panel > summary { display: flex; align-items: center; justify-content: space-between; list-style: none; }
    .lip-filter-panel > summary::-webkit-details-marker { display: none; }
    .lip-filter-panel[open] > summary { border-bottom: 1px solid var(--lip-line); }
    .lip-filter-panel[open] > summary span { transform: rotate(180deg); }
    .lip-shop .lip-widget { padding: 24px; }
    .lip-shop .lip-toolbar { margin-bottom: 22px; gap: 12px; }
    .lip-loop-controls { gap: 8px; }
    .lip-loop-controls .woocommerce-result-count { display: none; }
    .lip-shop .lip-loop-controls select { width: 100%; font-size: 13px !important; padding-left: 12px; }
    #main-content.lip-shop .lip-results ul.products { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    #main-content.lip-shop .lip-results ul.products li.product { padding: 14px 14px 26px !important; }
    #main-content.lip-shop .lip-results[data-view='list'] ul.products li.product > a.woocommerce-LoopProduct-link { grid-template-columns: 90px minmax(0, 1fr); column-gap: 18px; }
    #main-content.lip-shop .lip-results[data-view='list'] ul.products li.product > .button { margin-left: 108px; font-size: 11px !important; padding: 9px 16px !important; }
    #main-content.lip-shop .lip-results[data-view='list'] ul.products li.product h2 { font-size: 15px !important; }
    #main-content.lip-shop .lip-results[data-view='list'] ul.products li.product .price { font-size: 16px !important; }
}
