/*
Theme Name: OLIVE PEOPLE K-Beauty
Theme URI: https://blanding.kr
Author: 비랜딩 (blanding.kr)
Author URI: https://blanding.kr
Description: OLIVE PEOPLE Jordan K-Beauty WooCommerce theme based on the Blanding base theme.
Version: 1.8.12
Text Domain: olive-people
Requires at least: 6.5
Requires PHP: 8.0
*/

:root {
    --op-ink: #202718;
    --op-green: #45552b;
    --op-dark: #29351f;
    --op-cream: #fbfaf5;
    --op-sage: #e9eee0;
    --op-line: #dce1d5;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--op-ink); background: #ecebe5; font-family: Arial, Helvetica, sans-serif; }
body.home { min-height: 100dvh; overflow-x: hidden; overflow-y: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.op-home {
    position: relative;
    width: min(100%, 960px);
    min-height: 100dvh;
    height: auto;
    margin: 0 auto;
    overflow: visible;
    background: var(--op-cream);
    box-shadow: 0 0 40px rgba(0,0,0,.08);
}
.op-home-design { display: block; width: 100%; height: auto; }
.op-logo-hotspot {
    position: absolute;
    z-index: 6;
    top: 0;
    left: 0;
    width: 53%;
    height: calc(min(100vw, 960px) * .144);
    display: block;
    background: linear-gradient(to bottom, transparent calc(100% - 4px), var(--op-cream) calc(100% - 4px));
}
.op-logo-hotspot::before,
.op-inner-logo-hotspot::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 20%;
    left: 4.8%;
    width: 17.4%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--op-cream);
}
.op-official-logo {
    position: absolute;
    z-index: 1;
    top: 21%;
    left: 5.2%;
    width: 16.5%;
    height: auto;
    display: block;
}
.op-tools {
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    width: 47%;
    height: calc(min(100vw, 960px) * .144);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1px;
    padding: 0 18px 0 10px;
    background: #fbfaf5;
}
.op-tools button, .op-tools a {
    position: relative;
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--op-ink);
    background: transparent;
    cursor: pointer;
}
.op-tools button:hover, .op-tools a:hover { background: rgba(69,85,43,.08); }
.op-tools svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.op-cart-count { position: absolute; right: -1px; bottom: 3px; font-size: 8px; }
.op-search-form { width: 0; overflow: hidden; opacity: 0; transition: width .2s, opacity .2s; }
.op-search-form:not(.is-open) { display: none; }
.op-search-form.is-open { width: 160px; display: block; opacity: 1; }
.op-search-form input { width: 100%; padding: 8px 2px; border: 0; border-bottom: 1px solid #77806e; outline: 0; background: transparent; font-size: 12px; }
.op-language-panel {
    position: absolute;
    z-index: 12;
    top: calc(50% + 27px);
    right: 48px;
    min-width: 190px;
    padding: 16px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-6px);
    border: 1px solid var(--op-line);
    border-radius: 12px;
    background: var(--op-cream);
    box-shadow: 0 14px 35px rgba(32,39,24,.16);
    transition: .18s;
}
.op-language-panel.is-open { visibility: visible; opacity: 1; transform: none; }
.op-language-panel:not(.is-open) { display: none !important; }
.op-language-panel.is-open { display: block; }
.op-language-panel strong { display: block; margin-bottom: 10px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.op-language-panel select { width: 100%; padding: 9px 10px; border: 1px solid var(--op-line); border-radius: 6px; background: white; color: var(--op-ink); }
.op-hotspot { position: absolute; z-index: 7; display: block; padding: 0; border: 0; border-radius: 999px; pointer-events: auto; cursor: pointer; background: transparent; }
.op-hotspot:hover { box-shadow: 0 0 0 3px rgba(255,255,255,.28); }
.op-hotspot:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.op-hotspot--explore { top: 39.45%; left: 7.7%; width: 17.7%; height: 4.2%; }
.op-hotspot--story { top: 39.45%; left: 27.3%; width: 18.8%; height: 4.2%; }
.op-feature-hotspot {
    position: absolute;
    z-index: 7;
    top: 51.2%;
    height: 13.6%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.op-feature-hotspot--products { left: 0; width: 25%; }
.op-feature-hotspot--quality { left: 25%; width: 25%; }
.op-feature-hotspot--selection { left: 50%; width: 25%; }
.op-feature-hotspot--customer { left: 75%; width: 25%; }
.op-feature-hotspot:hover { background: rgba(255,255,255,.08); }
.op-feature-hotspot:focus-visible { outline: 3px solid var(--op-green); outline-offset: -4px; }

body.op-panel-open { overflow: hidden; }
.op-panel-backdrop {
    position: fixed;
    z-index: 110;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    background: rgba(24,31,20,.5);
    transition: opacity .22s ease, visibility .22s ease;
}
.op-panel-backdrop.is-open { visibility: visible; opacity: 1; }
.op-menu-panel {
    position: fixed;
    z-index: 120;
    left: 50%;
    bottom: 0;
    width: min(100% - 28px, 560px);
    max-height: calc(100dvh - 92px);
    padding: 22px 18px 28px;
    overflow-y: auto;
    overscroll-behavior: contain;
    visibility: hidden;
    opacity: 0;
    transform: translate(-50%, 105%);
    border-radius: 24px 24px 0 0;
    background: #fbfaf5;
    box-shadow: 0 -20px 60px rgba(24,31,20,.22);
    transition: transform .28s ease, opacity .2s ease, visibility .28s ease;
}
.op-menu-panel.is-open { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.op-menu-panel__header {
    display: grid;
    grid-template-columns: 54px 1fr 42px;
    align-items: center;
    gap: 12px;
    padding-bottom: 17px;
    border-bottom: 1px solid var(--op-line);
}
.op-menu-panel__mark {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f0f3e7;
    font-size: 22px;
}
.op-menu-panel h2 { margin: 0; font-size: clamp(24px, 5vw, 31px); line-height: 1.05; letter-spacing: -.025em; }
.op-menu-panel__close {
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--op-ink);
    background: transparent;
    font-size: 29px;
    line-height: 1;
    cursor: pointer;
}
.op-menu-panel__close:hover { background: rgba(69,85,43,.08); }
.op-menu-panel > p { margin: 20px 0 18px; color: #61665d; font-size: 16px; line-height: 1.55; }
.op-menu-panel__links { display: grid; gap: 10px; }
.op-menu-panel__links a {
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 18px;
    border: 1px solid #dfe2da;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(32,39,24,.03);
    font-weight: 700;
    transition: border-color .18s ease, transform .18s ease, background .18s ease;
}
.op-menu-panel__links a:hover { transform: translateY(-1px); border-color: #aab399; background: #fdfdf9; }
.op-menu-panel__links a:focus-visible,
.op-menu-panel__close:focus-visible { outline: 3px solid #718052; outline-offset: 2px; }
.op-menu-panel__links span {
    width: 25px;
    flex: 0 0 25px;
    display: inline-grid;
    place-items: center;
    font-size: 19px;
}

.op-drawer-backdrop { position: fixed; z-index: 90; inset: 0; visibility: hidden; opacity: 0; background: rgba(25,31,21,.4); transition: .25s; }
.op-drawer-backdrop.is-open { visibility: visible; opacity: 1; }
.op-drawer { position: fixed; z-index: 100; top: 0; right: 0; width: min(88vw, 380px); height: 100dvh; padding: 58px 36px; background: var(--op-cream); box-shadow: -20px 0 55px rgba(30,38,24,.2); transform: translateX(105%); transition: .28s; }
.op-drawer.is-open { transform: none; }
.op-drawer-close { position: absolute; top: 20px; right: 22px; width: 42px; height: 42px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.op-drawer strong { display: block; margin-bottom: 28px; font-size: 20px; letter-spacing: .1em; }
.op-drawer nav { display: flex; flex-direction: column; }
.op-drawer nav a { padding: 16px 0; border-bottom: 1px solid var(--op-line); font-family: Georgia, serif; font-size: 25px; }

.site-header {
    position: sticky;
    z-index: 40;
    top: 0;
    width: min(100%, 1200px);
    height: 82px;
    margin: 0 auto;
    padding: 0 34px;
    display: flex;
    align-items: center;
    gap: 28px;
    background: rgba(251,250,245,.97);
    border-bottom: 1px solid var(--op-line);
    backdrop-filter: blur(12px);
}
.site-header.op-matching-header {
    position: sticky;
    z-index: 40;
    top: 0;
    width: min(100%, 960px);
    height: calc(min(100vw, 960px) * .144);
    margin: 0 auto;
    padding: 0;
    display: block;
    border: 0;
    background: var(--op-cream) url("assets/images/olive-people-home-v160.webp") top left / 100% auto no-repeat;
    box-shadow: none;
}
.op-inner-logo-hotspot {
    position: absolute;
    z-index: 3;
    inset: 0 auto 0 0;
    width: 53%;
    display: block;
    background: linear-gradient(to bottom, transparent calc(100% - 4px), var(--op-cream) calc(100% - 4px));
}
.op-inner-logo-hotspot .op-official-logo { top: 21%; left: 5.2%; width: 16.5%; }
.op-inner-tools {
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    width: 47%;
    height: 100%;
    padding: 0 18px 0 10px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1px;
    background: #fbfaf5;
}
.op-inner-tools > button,
.op-inner-tools > a {
    position: relative;
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    flex: 0 0 43px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--op-ink);
    background: transparent;
    cursor: pointer;
}
.op-inner-tools > button:hover,
.op-inner-tools > a:hover { background: rgba(69,85,43,.08); }
.op-inner-tools svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.op-inner-tools .site-menu-toggle { display: grid; }
.op-inner-tools .op-cart-count { right: -1px; bottom: 3px; }
.op-inner-tools .site-language-panel { top: calc(50% + 27px); right: 48px; }
.site-actions { position: relative; display: flex; align-items: center; gap: 4px; }
.site-icon-link, .site-menu-toggle {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--op-ink);
    background: transparent;
    cursor: pointer;
}
.site-icon-link:hover, .site-menu-toggle:hover { background: var(--op-sage); }
.site-icon-link svg, .site-menu-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.site-menu-toggle { display: none; }
.site-language-panel { top: 52px; right: 74px; }
.site-branding { margin-right: auto; }
.custom-logo-link, .op-wordmark { display: flex; align-items: center; gap: 12px; }
.custom-logo { width: auto; max-height: 54px; }
.op-wordmark-mark { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--op-green); border-radius: 50%; color: var(--op-green); }
.op-wordmark-mark svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.op-wordmark strong { font-size: 18px; letter-spacing: .1em; }
.main-navigation ul { display: flex; gap: 24px; margin: 0; padding: 0; list-style: none; }
.main-navigation a { font-size: 12px; font-weight: 700; }
.header-cart { position: relative; min-width: 62px; padding: 12px 16px; color: white; background: var(--op-green); font-size: 12px; font-weight: 700; text-align: center; }
.header-cart .op-cart-count { position: static; margin-left: 2px; font-size: 9px; }

.site-drawer-backdrop { position: fixed; z-index: 90; inset: 0; visibility: hidden; opacity: 0; background: rgba(25,31,21,.42); transition: .24s; }
.site-drawer-backdrop.is-open { visibility: visible; opacity: 1; }
.site-drawer { position: fixed; z-index: 100; top: 0; right: 0; width: min(88vw, 380px); height: 100dvh; padding: 64px 34px; background: var(--op-cream); box-shadow: -20px 0 55px rgba(30,38,24,.2); transform: translateX(105%); transition: .28s; }
.site-drawer.is-open { transform: none; }
.site-drawer-close { position: absolute; top: 18px; right: 20px; width: 42px; height: 42px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.site-drawer > strong { display: block; margin-bottom: 28px; font-size: 18px; letter-spacing: .12em; }
.site-drawer nav { display: flex; flex-direction: column; }
.site-drawer nav a { padding: 15px 0; border-bottom: 1px solid var(--op-line); font-family: Georgia, serif; font-size: 24px; }
body.op-menu-open { overflow: hidden; }

html[dir="rtl"] body,
body.op-rtl { direction: rtl; text-align: right; }
html[dir="rtl"] .op-drawer,
html[dir="rtl"] .site-drawer,
body.op-rtl .op-drawer,
body.op-rtl .site-drawer {
    right: auto;
    left: 0;
    transform: translateX(-105%);
    box-shadow: 20px 0 55px rgba(30,38,24,.2);
}
html[dir="rtl"] .op-drawer.is-open,
html[dir="rtl"] .site-drawer.is-open,
body.op-rtl .op-drawer.is-open,
body.op-rtl .site-drawer.is-open { transform: none; }
html[dir="rtl"] .op-drawer-close,
html[dir="rtl"] .site-drawer-close,
body.op-rtl .op-drawer-close,
body.op-rtl .site-drawer-close { right: auto; left: 20px; }
html[dir="rtl"] .woocommerce,
body.op-rtl .woocommerce { direction: rtl; text-align: right; }

.site-content { width: min(100%, 960px); min-height: calc(100vh - 82px); margin: 0 auto; padding: 62px 42px; background: var(--op-cream); }
.site-content > .site-main,
.site-content > main { width: 100%; max-width: 100%; margin: 0; }
.op-commerce { min-height: 58vh; }
.woocommerce .site-main,
.woocommerce-page .site-main,
.woocommerce-page #primary {
    width: 100% !important;
    float: none !important;
}
.woocommerce-page [role="complementary"] { display: none !important; }
.page-header h1, .entry-title, .woocommerce-products-header__title, .woocommerce .page-title {
    margin: 0 0 34px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 6vw, 68px);
    font-weight: 400;
    letter-spacing: -.04em;
}
.entry-content { line-height: 1.7; }
.entry-content > :first-child { margin-top: 0; }

.woocommerce .woocommerce-breadcrumb { margin-bottom: 28px; color: #747b6d; font-size: 12px; }
.op-store-intro {
    margin: 0 0 46px;
    padding: 58px 48px 46px;
    background: linear-gradient(118deg, #eef2e6 0%, #f8f8f2 68%, #e4ead9 100%);
}
.op-store-intro h2 { max-width: 650px; margin: 0 0 18px; font-family: Georgia, serif; font-size: clamp(40px, 6vw, 66px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.op-store-intro > p:not(.op-eyebrow) { max-width: 580px; margin: 0; color: #636b5e; font-size: 15px; line-height: 1.65; }
.op-store-menu-label { display: block; margin-top: 28px; color: #7b8472; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.op-store-intro nav { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 10px; }
.op-store-brand-filter { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 10px; }
.op-store-intro nav a,
.op-store-brand-filter button { padding: 10px 17px; border: 1px solid #aeb7a2; border-radius: 999px; color: var(--op-ink); background: rgba(255,255,255,.46); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.op-store-intro nav a:hover,
.op-store-intro nav a:focus-visible,
.op-store-brand-filter button:hover,
.op-store-brand-filter button:focus-visible,
.op-store-brand-filter button.is-active { color: white; border-color: var(--op-green); background: var(--op-green); outline: 0; }
.op-curated-section {
    scroll-margin-top: 104px;
    padding: 54px 0 58px;
    border-top: 1px solid var(--op-line);
}
.op-curated-section:first-of-type { border-top: 0; }
.op-curated-section__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
    align-items: end;
    gap: 36px;
    margin-bottom: 28px;
}
.op-curated-section__header span,
.op-all-products-heading > span {
    display: block;
    margin-bottom: 10px;
    color: #78816f;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .18em;
}
.op-curated-section__header h2,
.op-all-products-heading h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 5vw, 50px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.035em;
}
.op-curated-section__header p,
.op-all-products-heading p { margin: 0; color: #66705f; font-size: 13px; line-height: 1.65; }
.woocommerce ul.products.op-curated-row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 16px; margin-bottom: 0; }
.woocommerce ul.products.op-curated-row li.product .woocommerce-loop-product__title { min-height: 38px; font-size: 15px; }
.op-all-products-heading { scroll-margin-top: 104px; margin: 58px 0 26px; padding-top: 54px; border-top: 1px solid var(--op-line); }
.op-all-products-heading p { margin-top: 10px; }
.op-shop-brand-catalogue { margin-bottom: 52px; }
.op-shop-brand-filter {
    display: flex;
    gap: 0;
    overflow-x: auto;
    border-top: 1px solid var(--op-line);
    border-bottom: 1px solid var(--op-line);
    scrollbar-width: thin;
}
.op-shop-brand-filter button {
    min-width: max-content;
    padding: 14px 19px;
    border: 0;
    border-right: 1px solid var(--op-line);
    color: #5e6853;
    background: transparent;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
}
.op-shop-brand-filter button:hover,
.op-shop-brand-filter button:focus-visible { background: #edf1e6; outline: 0; }
.op-shop-brand-filter button.is-active { color: white; background: var(--op-green); }
.op-shop-brand-count { margin: 17px 0 14px; color: #6b7465; font-size: 10px; }
.op-shop-brand-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--op-line);
    border-left: 1px solid var(--op-line);
}
.op-shop-brand-grid article { min-width: 0; display: flex; flex-direction: column; border-right: 1px solid var(--op-line); border-bottom: 1px solid var(--op-line); }
.op-shop-brand-grid article[hidden],
.woocommerce ul.products li.product[hidden] { display: none !important; }
.op-shop-brand-grid article > a:not(.op-preview-add) { flex: 1; padding: 14px 14px 22px; display: flex; flex-direction: column; }
.op-shop-brand-grid article > .op-preview-add { align-self: flex-start; margin: 0 14px 16px; }
.op-shop-brand-product__image {
    aspect-ratio: 1 / 1;
    margin-bottom: 17px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #f1f1eb;
}
.op-shop-brand-product__image img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.op-shop-brand-grid a:hover img { transform: scale(1.025); }
.op-shop-brand-product__image--empty { align-content: center; gap: 7px; color: #425035; }
.op-shop-brand-product__image--empty strong { font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 400; }
.op-shop-brand-product__image--empty span { font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.op-shop-brand-grid article > a:not(.op-preview-add) > span {
    color: #707b63;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.op-shop-brand-grid h3 {
    min-height: 44px;
    margin: 8px 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.25;
}
.op-shop-brand-grid small { margin-top: auto; color: #667257; font-size: 8px; font-weight: 800; letter-spacing: .04em; }
.op-shop-brand-catalogue__notice {
    margin: 20px 0 0;
    padding: 15px 18px;
    border-left: 3px solid #75845d;
    color: #626b5d;
    background: #f2f4ed;
    font-size: 11px;
    line-height: 1.55;
}
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { position: relative; width: auto !important; margin: 0 !important; padding-bottom: 22px; float: none !important; border-bottom: 1px solid var(--op-line); }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: cover; margin: 0 0 19px; background: #edf0e8; transition: filter .25s, transform .35s; }
.woocommerce ul.products li.product:hover a img { filter: saturate(.94) contrast(1.02); transform: translateY(-3px); }
.op-product-category { display: block; margin-bottom: 7px; color: #7c8576; font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 44px; padding: 0; color: var(--op-ink); font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 400; line-height: 1.28; }
.woocommerce ul.products li.product .price { margin-top: 7px; color: var(--op-green); font-size: 14px; font-weight: 800; }
.woocommerce ul.products li.product .button { margin-top: 14px; padding: 0 0 5px; border-bottom: 1px solid currentColor; color: var(--op-green); background: transparent; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.woocommerce ul.products li.product .button:hover { color: var(--op-ink); background: transparent; }
.woocommerce ul.products li.product .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
    border-radius: 0;
    font-weight: 700;
}
.woocommerce a.button:not(.add_to_cart_button),
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit { color: white; background: var(--op-green); }
.woocommerce div.product div.images img { aspect-ratio: 1 / 1; object-fit: cover; background: #edf0e8; }
.woocommerce div.product .product_title { font-family: Georgia, serif; font-size: clamp(34px, 5vw, 56px); font-weight: 400; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--op-green); }
.woocommerce div.product .woocommerce-product-details__short-description { max-width: 52ch; color: #61695d; font-size: 14px; line-height: 1.7; }
.woocommerce div.product form.cart { margin-top: 28px; }
.woocommerce div.product form.cart .button.single_add_to_cart_button {
    min-height: 44px;
    padding: 12px 22px;
    color: white !important;
    background: var(--op-green) !important;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover { background: var(--op-ink) !important; }
.woocommerce div.product .quantity .qty { min-height: 44px; border: 1px solid var(--op-line); background: white; }
.woocommerce div.product .woocommerce-tabs { margin-top: 64px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 0; background: #f0f2eb; }
.op-shop-assurance { margin-top: 68px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--op-line); border-bottom: 1px solid var(--op-line); }
.op-shop-assurance div { min-height: 138px; padding: 29px 24px; border-right: 1px solid var(--op-line); }
.op-shop-assurance div:last-child { border-right: 0; }
.op-shop-assurance strong { display: block; margin-bottom: 9px; color: var(--op-ink); font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 400; }
.op-shop-assurance span { display: block; color: #6a7265; font-size: 12px; line-height: 1.55; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--op-green); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--op-green); }
.woocommerce-no-products-found .woocommerce-info {
    margin: 0;
    padding: 32px 32px 32px 60px;
    border: 1px solid var(--op-line);
    border-top: 3px solid var(--op-green);
    background: #f4f6ef;
}
.woocommerce form .form-row { margin: 0 0 20px; padding: 0; }
.woocommerce form .form-row label { margin-bottom: 8px; color: #41483b; font-size: 13px; font-weight: 700; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #cdd2c7;
    border-radius: 3px;
    background: white;
}
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon {
    max-width: 680px;
    margin: 0;
    padding: 30px;
    border-color: var(--op-line);
    border-radius: 0;
    background: #f7f7f2;
}
.woocommerce .col2-set,
.woocommerce-page .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; width: 100%; }
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2 { width: 100%; float: none; }
.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1 { grid-column: 1; grid-row: 1; }
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 { grid-column: 2; grid-row: 1; }
.woocommerce-checkout #customer_details { margin-bottom: 48px; }
.woocommerce-checkout-review-order { padding: 28px; border: 1px solid var(--op-line); background: #f7f7f2; }
.woocommerce table.shop_table { border-color: var(--op-line); border-radius: 0; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 16px; border-color: var(--op-line); }
.woocommerce-cart .cart-collaterals .cart_totals { width: min(100%, 480px); }
.woocommerce-cart .wc-block-cart-items__header { display: none; }
.woocommerce-cart .wc-block-cart-items tbody { display: block; width: 100%; }
.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) max-content;
    gap: 16px;
    align-items: start;
    width: 100%;
    padding: 20px 0;
    border-bottom: 1px solid var(--op-line);
}
.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row td {
    display: block;
    width: auto;
    padding: 0 !important;
    border: 0;
}
.woocommerce-cart .wc-block-cart-item__image img {
    display: block;
    width: 64px !important;
    height: 64px !important;
    object-fit: cover;
}
.woocommerce-cart .wc-block-cart-item__product { min-width: 0; text-align: left; }
.woocommerce-cart .wc-block-components-product-name { font-size: 15px; line-height: 1.25; }
.woocommerce-cart .wc-block-components-product-metadata { margin-top: 4px; font-size: 11px; line-height: 1.35; }
.woocommerce-cart .wc-block-cart-item__quantity { margin-top: 9px; }
.woocommerce-cart .wc-block-cart-item__total { min-width: 72px; text-align: right; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 72%; }

.site-content:has(.op-feature-hub) { padding: 0; }
.op-feature-hub { background: #fbfaf5; }
.op-feature-hub__hero {
    padding: clamp(64px, 9vw, 112px) clamp(28px, 8vw, 86px) clamp(54px, 7vw, 82px);
    border-bottom: 1px solid var(--op-line);
    background:
        linear-gradient(115deg, rgba(237,241,229,.9), rgba(251,250,245,.68) 56%, rgba(251,250,245,.96)),
        radial-gradient(circle at 86% 22%, rgba(177,191,145,.28), transparent 31%);
}
.op-feature-hub__eyebrow,
.op-feature-hub__note > span {
    margin: 0 0 14px;
    color: #617046;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .22em;
}
.op-feature-hub__hero h1 {
    max-width: 760px;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(45px, 7vw, 76px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.045em;
}
.op-feature-hub__lead {
    max-width: 620px;
    margin: 28px 0 0;
    color: #5f675a;
    font-size: 16px;
    line-height: 1.7;
}
.op-feature-hub__list { padding: 0 clamp(28px, 8vw, 86px); }
.op-feature-hub__list article {
    min-height: 166px;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 150px;
    gap: 28px;
    align-items: center;
    border-bottom: 1px solid var(--op-line);
}
.op-feature-hub__number { color: #7b876d; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.op-feature-hub__list h2 { margin: 0 0 9px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(25px, 3.2vw, 34px); font-weight: 400; line-height: 1.08; }
.op-feature-hub__list p { max-width: 570px; margin: 0; color: #656c61; font-size: 14px; line-height: 1.6; }
.op-feature-hub__list article > a,
.op-feature-hub__note > a {
    display: inline-flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    color: #394727;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.op-feature-hub__list article > a { padding: 13px 0; border-bottom: 1px solid #7d886c; }
.op-feature-hub__list article > a:hover,
.op-feature-hub__note > a:hover { color: #718047; }
.op-feature-hub__note {
    margin: clamp(52px, 8vw, 86px);
    padding: clamp(35px, 5vw, 56px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px;
    gap: 12px 44px;
    align-items: end;
    color: #f5f2e8;
    background: #28351f;
}
.op-feature-hub__note > span { grid-column: 1 / -1; color: #bac6a6; }
.op-feature-hub__note p { max-width: 620px; margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(24px, 3.5vw, 36px); line-height: 1.2; }
.op-feature-hub__note > a { color: #f5f2e8; border-bottom: 1px solid rgba(245,242,232,.55); padding-bottom: 12px; }

/* Trusted Selection: platform-first editorial video directory. */
.site-content:has(.op-social-hub),
.site-content:has(.op-proof-hub),
.site-content:has(.op-brand-catalogue) { padding: 0; }
.op-social-hub,
.op-proof-hub,
.op-brand-catalogue { background: var(--op-cream); }
.op-social-hub__hero,
.op-proof-hub__hero,
.op-brand-catalogue__hero {
    padding: clamp(66px, 9vw, 112px) clamp(30px, 8vw, 86px);
    border-bottom: 1px solid var(--op-line);
}
.op-social-hub__hero { background: #f2f0e8; }
.op-social-hub__hero h1,
.op-proof-hub__hero h1,
.op-brand-catalogue__hero h1 {
    max-width: 780px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 7.6vw, 82px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.045em;
}
.op-social-hub__hero > p:last-child,
.op-proof-hub__hero > p:last-child,
.op-brand-catalogue__hero > p {
    max-width: 620px;
    margin: 28px 0 0;
    color: #61695c;
    font-size: 15px;
    line-height: 1.72;
}
.op-social-hub__jump {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-bottom: 1px solid var(--op-line);
}
.op-social-hub__jump a {
    padding: 19px clamp(26px, 8vw, 86px);
    border-right: 1px solid var(--op-line);
    color: #39452c;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.op-social-hub__jump a:last-child { border-right: 0; }
.op-social-hub__jump a:hover { background: var(--op-sage); }
.op-social-zone {
    scroll-margin-top: 110px;
    padding: clamp(56px, 8vw, 86px) clamp(28px, 8vw, 86px);
    border-bottom: 1px solid var(--op-line);
}
.op-social-zone > header {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) minmax(250px, 380px);
    gap: 24px;
    align-items: end;
    margin-bottom: 38px;
}
.op-social-zone > header > span,
.op-brand-products > header span {
    color: #748061;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
}
.op-social-zone h2,
.op-brand-index h2,
.op-document-library h2,
.op-partner-catalogue h2,
.op-brand-products h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 5vw, 54px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.035em;
}
.op-social-zone > header p,
.op-document-library > header p,
.op-partner-catalogue > header > p {
    margin: 0;
    color: #656c61;
    font-size: 13px;
    line-height: 1.65;
}
.op-social-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #cfd5c6; border-left: 1px solid #cfd5c6; }
.op-social-card { min-width: 0; border-right: 1px solid #cfd5c6; border-bottom: 1px solid #cfd5c6; }
.op-social-card > a {
    min-height: 320px;
    padding: 24px;
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    gap: 22px;
    color: #f7f5ed;
    background: #29351f;
    transition: background-color .2s, color .2s;
}
.op-social-zone--tiktok .op-social-card > a { background: #20251d; }
.op-social-card > a:hover { color: #243019; background: #dfe7d2; }
.op-social-card__platform { font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.op-social-card__play {
    width: 58px;
    height: 58px;
    align-self: center;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 14px;
}
.op-social-card__copy small { font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.op-social-card__copy h3 { margin: 8px 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 400; line-height: 1.08; }
.op-social-card__copy p { margin: 0; font-size: 11px; opacity: .75; }
.op-social-card__link { display: flex; justify-content: space-between; gap: 14px; padding-top: 15px; border-top: 1px solid currentColor; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.op-social-hub__note {
    margin: clamp(48px, 8vw, 86px);
    padding: 30px 34px;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 30px;
    border: 1px solid var(--op-line);
    background: #f6f5ef;
}
.op-social-hub__note strong { font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 400; }
.op-social-hub__note p { margin: 0; color: #656c61; font-size: 13px; line-height: 1.65; }

/* Korean Quality: restrained archive and brand catalogue. */
.op-proof-hub__hero {
    color: #f7f5ed;
    background: #2b371f;
}
.op-proof-hub__hero .op-eyebrow { color: #bac6a6; }
.op-proof-hub__hero > p:last-child { color: #d3d9ca; }
.op-brand-index,
.op-document-library,
.op-partner-catalogue { padding: clamp(58px, 8vw, 86px) clamp(28px, 8vw, 86px); }
.op-brand-index > header,
.op-document-library > header {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 22px;
    margin-bottom: 38px;
}
.op-brand-index > header > span,
.op-document-library > header > span {
    color: #7e8a6d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}
.op-brand-index__list { border-top: 1px solid var(--op-line); }
.op-brand-index__list article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 165px;
    align-items: stretch;
    border-bottom: 1px solid var(--op-line);
}
.op-brand-index__main {
    min-height: 154px;
    padding: 28px 30px 28px 0;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 115px;
    gap: 24px;
    align-items: center;
}
.op-brand-index__main > strong { font-family: Georgia, "Times New Roman", serif; font-size: 30px; font-weight: 400; }
.op-brand-index__main p { margin: 0; color: #666e61; font-size: 13px; line-height: 1.55; }
.op-brand-index__main > span,
.op-brand-index__source { font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.op-brand-index__main > span { display: flex; justify-content: space-between; }
.op-brand-index__source {
    display: grid;
    place-items: center;
    border-left: 1px solid var(--op-line);
    text-align: center;
}
.op-brand-index__main:hover,
.op-brand-index__source:hover { background: var(--op-sage); }
.op-document-library { border-top: 1px solid var(--op-line); background: #f4f3ed; }
.op-document-library > header > div > p:last-child { max-width: 580px; margin: 16px 0 0; }
.op-document-row {
    display: grid;
    grid-template-columns: minmax(260px, .85fr) minmax(0, 1.35fr);
    gap: 44px;
    padding: 32px 0;
    border-top: 1px solid #cfd4c8;
}
.op-document-row > div:first-child > span { color: #7a856b; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.op-document-row h3 { margin: 12px 0 9px; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; }
.op-document-row p { max-width: 420px; margin: 0; color: #666e61; font-size: 12px; line-height: 1.6; }
.op-library-files { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #c9cfc1; border-left: 1px solid #c9cfc1; }
.op-library-files a {
    min-height: 92px;
    padding: 17px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right: 1px solid #c9cfc1;
    border-bottom: 1px solid #c9cfc1;
}
.op-library-files a:hover { background: #e5eadc; }
.op-library-files strong { font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-weight: 400; }
.op-library-files span { color: #647052; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.op-library-empty {
    min-height: 128px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px dashed #b6beaa;
    background: rgba(255,255,255,.38);
}
.op-library-empty span { color: #647052; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.op-library-empty p { margin-top: 11px; }
.op-partner-catalogue { scroll-margin-top: 100px; border-top: 1px solid var(--op-line); }
.op-partner-catalogue > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
    gap: 40px;
    align-items: end;
    margin-bottom: 35px;
}
.op-partner-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--op-line); border-left: 1px solid var(--op-line); }
.op-partner-products--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.op-partner-products article { min-width: 0; padding: 18px; border-right: 1px solid var(--op-line); border-bottom: 1px solid var(--op-line); }
.op-partner-products img,
.op-product-placeholder > div {
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 18px;
    object-fit: contain;
    background: #f0efe8;
}
.op-partner-products article > span { color: #647052; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.op-partner-products h3 { min-height: 42px; margin: 8px 0 13px; font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 400; line-height: 1.2; }
.op-partner-products small { color: #737a6f; font-size: 10px; }
.op-product-placeholder > div { display: grid; place-items: center; align-content: center; gap: 8px; color: #3f4d31; }
.op-product-placeholder > div strong { font-family: Georgia, "Times New Roman", serif; font-size: 48px; font-weight: 400; }
.op-product-placeholder > div span { font-size: 9px; font-weight: 800; letter-spacing: .18em; }

/* SKIN1004: searchable official catalogue. */
.op-brand-catalogue__hero {
    background:
        linear-gradient(102deg, rgba(245,242,232,.98), rgba(237,241,228,.8)),
        radial-gradient(circle at 84% 20%, #b9c69e, transparent 32%);
}
.op-brand-catalogue__actions { display: flex; gap: 12px; margin-top: 30px; }
.op-brand-catalogue__actions a {
    padding: 14px 18px;
    border: 1px solid #687653;
    color: #35432b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.op-brand-catalogue__actions a:first-child { color: white; background: #45552b; }
.op-brand-products { padding: clamp(58px, 8vw, 86px) clamp(28px, 8vw, 86px); }
.op-brand-products > header { display: flex; justify-content: space-between; gap: 30px; align-items: end; }
.op-brand-products > header h2 { margin-top: 8px; }
.op-brand-products > header label { width: min(100%, 300px); color: #657054; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.op-brand-products > header input {
    width: 100%;
    margin-top: 8px;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid #7e886d;
    outline: 0;
    color: var(--op-ink);
    background: transparent;
    font-size: 14px;
    letter-spacing: 0;
    text-transform: none;
}
.op-brand-products > header input:focus { border-bottom-width: 2px; }
.op-brand-products__count { margin: 26px 0 18px; color: #6a7265; font-size: 11px; }
.op-brand-products__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--op-line); border-left: 1px solid var(--op-line); }
.op-brand-products__grid article { min-width: 0; border-right: 1px solid var(--op-line); border-bottom: 1px solid var(--op-line); }
.op-brand-products__grid article[hidden] { display: none; }
.op-brand-products__grid a { height: 100%; padding: 14px 14px 20px; display: flex; flex-direction: column; }
.op-brand-product__image { aspect-ratio: 1 / 1; margin-bottom: 16px; overflow: hidden; background: #f1f1eb; }
.op-brand-product__image img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.op-brand-products__grid a:hover .op-brand-product__image img { transform: scale(1.025); }
.op-brand-products__grid article span { color: #6c765e; font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.op-brand-products__grid h3 { margin: 8px 0 20px; font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-weight: 400; line-height: 1.23; }
.op-brand-products__grid small { margin-top: auto; color: #667257; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.op-brand-catalogue__notice {
    margin: 0 clamp(28px, 8vw, 86px) clamp(58px, 8vw, 86px);
    padding: 28px 32px;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 32px;
    color: #f4f2e9;
    background: #2b371f;
}
.op-brand-catalogue__notice strong { font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 400; }
.op-brand-catalogue__notice p { margin: 0; color: #d0d7c6; font-size: 12px; line-height: 1.65; }
.op-catalogue-error { margin-top: 34px; padding: 32px; display: flex; justify-content: space-between; gap: 24px; border: 1px solid var(--op-line); }
.op-delivery-note {
    margin: 0 0 18px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-left: 3px solid var(--op-green);
    background: #f1f4eb;
    font-size: 11px;
    line-height: 1.45;
}
.op-delivery-note strong { color: var(--op-green); font-size: 12px; }

.op-story { padding: 16px 0 30px; }
.op-story-hero {
    position: relative;
    min-height: 430px;
    padding: 72px 50% 72px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    background:
        linear-gradient(90deg, #eef2e6 0%, rgba(238,242,230,.96) 46%, rgba(238,242,230,.16) 74%),
        url("assets/images/olive-water-hero-v160.webp") center right / cover no-repeat;
}
.op-eyebrow { margin: 0 0 18px; color: var(--op-green); font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.op-story h1 { max-width: 600px; margin: 0 0 24px; font-family: Georgia, serif; font-size: clamp(46px, 6vw, 76px); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.op-story-lead { max-width: 600px; margin: 0; color: #5c6457; font-size: 17px; line-height: 1.7; }
.op-story-values { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--op-line); border-top: 0; }
.op-story-values article { min-height: 230px; padding: 38px; border-right: 1px solid var(--op-line); }
.op-story-values article:last-child { border-right: 0; }
.op-story-values span { color: #88927c; font-size: 11px; letter-spacing: .12em; }
.op-story-values h2 { margin: 38px 0 12px; font-family: Georgia, serif; font-size: 27px; font-weight: 400; }
.op-story-values p { margin: 0; color: #697064; font-size: 14px; line-height: 1.6; }
.op-story-cta { display: inline-flex; gap: 28px; align-items: center; margin-top: 28px; padding: 15px 22px; color: white; background: var(--op-green); font-size: 13px; font-weight: 700; }

.site-content:has(.op-story-reference) { padding: 0; }
.op-story-reference { padding: 0; }
.op-story-reference-hero {
    position: relative;
    min-height: 540px;
    padding: 54px 10% 205px;
    overflow: hidden;
    text-align: center;
    background: #faf9f5 url("assets/images/our-story-reference.png") center / cover no-repeat;
}
.op-story-reference-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(250,249,245,.2) 0%, rgba(250,249,245,.4) 55%, rgba(250,249,245,0) 75%);
}
.op-story-reference-title,
.op-story-statements { position: relative; z-index: 1; }
.op-story-reference-title h1 { margin: 0; color: #263516; font-family: Arial, Helvetica, sans-serif; font-size: clamp(44px, 5.3vw, 60px); font-weight: 800; line-height: 1; letter-spacing: .045em; white-space: nowrap; }
.op-story-reference-title p { margin: 13px 0 20px; color: #263516; font-size: 13px; font-weight: 800; letter-spacing: .28em; }
.op-story-statements { max-width: 560px; margin: 0 auto; display: grid; gap: 10px; }
.op-story-statements article { padding: 12px 18px; border: 1px solid rgba(74,86,57,.12); border-radius: 6px; background: rgba(255,255,255,.45); box-shadow: 0 8px 25px rgba(55,66,43,.04); }
.op-story-statements h2 { margin: 0 0 4px; color: #324525; font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 800; letter-spacing: .03em; }
.op-story-statements p { margin: 0; color: #263028; font-size: 12px; line-height: 1.35; }
.op-story-categories { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--op-cream); border-top: 1px solid var(--op-line); }
.op-story-categories a { min-height: 94px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border-right: 1px solid var(--op-line); color: #35432b; font-size: 10px; font-weight: 700; }
.op-story-categories a:last-child { border-right: 0; }
.op-story-categories span { font-size: 23px; line-height: 1; }
.op-story-categories a:hover { background: var(--op-sage); }

body:has(.op-story-final) { height: 100dvh; overflow: hidden; }
body:has(.op-story-final) .site-content {
    height: calc(100dvh - min(14.4vw, 138.24px));
    min-height: 0;
    padding: 0;
    overflow: hidden;
}
body:has(.op-story-final) .site-footer { display: none; }
.site-content:has(.op-story-final) { padding: 0; min-height: 0; }
.op-story-final {
    width: 100%;
    height: 100%;
    padding: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) 78px;
    overflow: hidden;
    background: #f8f4ec;
}
.op-story-scene {
    min-height: 0;
    padding: clamp(20px, 3.5vh, 34px) 24px 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
    text-align: center;
    background: #f8f4ec url("assets/images/our-story-scene-v160.webp") center bottom / 100% auto no-repeat;
}
.op-story-copy { width: min(100%, 580px); }
.op-story-heading { color: #263516; }
.op-story-eyebrow { margin: 0 0 7px; font-size: 10px; font-weight: 800; letter-spacing: .25em; }
.op-story-heading h1 { margin: 0; font-family: Arial, Helvetica, sans-serif; font-size: clamp(43px, 5.2vw, 58px); font-weight: 800; line-height: 1; letter-spacing: .035em; }
.op-story-subtitle { margin: 11px 0 20px; font-size: 11px; font-weight: 800; letter-spacing: .24em; }
.op-story-cards { display: grid; gap: 9px; }
.op-story-cards article { padding: 10px 18px; border: 1px solid rgba(65,78,47,.13); border-radius: 7px; background: rgba(255,255,255,.68); box-shadow: 0 8px 24px rgba(55,66,43,.04); backdrop-filter: blur(6px); }
.op-story-cards h2 { margin: 0 0 3px; color: #324525; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: .025em; }
.op-story-cards p { margin: 0; color: #30362f; font-size: 11px; line-height: 1.35; }
.op-story-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; border-top: 1px solid var(--op-line); background: rgba(251,250,245,.98); }
.op-story-nav a { min-height: 78px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border-right: 1px solid var(--op-line); color: #35432b; font-size: 9px; font-weight: 700; white-space: nowrap; transition: background-color .2s, color .2s; }
.op-story-nav a:last-child { border-right: 0; }
.op-story-nav a:hover,
.op-story-nav a[aria-current="page"] { color: #24331a; background: #ecefe5; }
.op-story-nav svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }

.site-footer { width: min(100%, 960px); margin: 0 auto; padding: 30px 42px; color: #cfd5c6; background: var(--op-dark); font-size: 12px; text-align: center; }

@media (max-width: 760px) {
    .op-home { width: 100%; }
    .op-tools { width: 52%; padding-right: 5px; }
    .op-tools button, .op-tools a { width: 28px; height: 32px; }
    .op-tools svg { width: 18px; height: 18px; }
    .op-tools .op-account { display: none; }
    .op-language-panel { top: 70%; right: 35px; min-width: 165px; }
    .op-search-form.is-open { position: absolute; top: 72%; right: 5px; width: 180px; padding: 0 8px; background: var(--op-cream); }
    .site-header { height: 70px; padding: 0 16px; gap: 8px; }
    .site-header.op-matching-header { height: calc(100vw * .144); min-height: 0; padding: 0; }
    .op-wordmark strong { font-size: 14px; }
    .op-wordmark-mark { width: 36px; height: 36px; }
    .main-navigation { display: none; }
    .site-account-link, .site-actions > .op-language { display: none; }
    .site-menu-toggle { display: grid; }
    .header-cart { min-width: 50px; padding: 10px 11px; }
    .header-cart .op-cart-count { display: none; }
    .site-content { padding: 38px 18px; }
    .op-store-intro { margin: 0 0 34px; padding: 42px 22px 34px; }
    .op-curated-section { padding: 42px 0 46px; }
    .op-curated-section__header { display: block; margin-bottom: 23px; }
    .op-curated-section__header p { margin-top: 12px; max-width: 34em; }
    .woocommerce ul.products.op-curated-row {
        display: flex;
        gap: 12px;
        width: calc(100% + 18px);
        margin-right: -18px;
        padding: 0 18px 12px 0;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }
    .woocommerce ul.products.op-curated-row li.product {
        width: min(68vw, 230px) !important;
        min-width: min(68vw, 230px);
        scroll-snap-align: start;
    }
    .op-all-products-heading { margin-top: 44px; padding-top: 42px; }
    .op-inner-tools { width: 52%; height: 100%; padding: 0 5px; }
    .op-inner-tools > button,
    .op-inner-tools > a { width: 28px; height: 32px; flex-basis: 28px; }
    .op-inner-tools svg { width: 18px; height: 18px; }
    .op-inner-tools > a:nth-of-type(1) { display: none; }
    .op-inner-tools .op-search-form.is-open { position: absolute; top: 74%; right: 5px; width: 180px; padding: 0 8px; background: var(--op-cream); }
    .op-inner-tools .site-language-panel { top: 78%; right: 32px; }
    .page-header h1, .entry-title, .woocommerce-products-header__title { margin-bottom: 25px; font-size: clamp(36px, 12vw, 52px); }
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 12px; }
    .woocommerce ul.products li.product { padding-bottom: 17px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 39px; font-size: 15px; }
    .woocommerce ul.products li.product .button { font-size: 9px; }
    .op-shop-assurance { grid-template-columns: 1fr; margin-top: 50px; }
    .op-shop-assurance div { min-height: 0; padding: 23px 18px; border-right: 0; border-bottom: 1px solid var(--op-line); }
    .op-shop-assurance div:last-child { border-bottom: 0; }
    .woocommerce .col2-set,
    .woocommerce-page .col2-set { grid-template-columns: 1fr; gap: 24px; }
    .woocommerce .col2-set .col-1,
    .woocommerce .col2-set .col-2,
    .woocommerce-page .col2-set .col-1,
    .woocommerce-page .col2-set .col-2 { grid-column: 1; grid-row: auto; }
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
    .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 28px; }
    .woocommerce form.login,
    .woocommerce form.register,
    .woocommerce form.checkout_coupon { padding: 22px 18px; }
    .woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row {
        grid-template-columns: 56px minmax(0, 1fr) auto;
        gap: 12px;
        padding: 16px 0;
    }
    .woocommerce-cart .wc-block-cart-item__image img { width: 56px !important; height: 56px !important; }
    .woocommerce-cart .wc-block-components-product-name { font-size: 14px; }
    .woocommerce-cart .wc-block-components-product-metadata__description { display: none; }
    .woocommerce-cart .wc-block-cart-item__total { min-width: 58px; }
    .op-feature-hub__hero { padding: 56px 22px 48px; }
    .op-feature-hub__hero h1 { font-size: clamp(42px, 13vw, 58px); }
    .op-feature-hub__lead { margin-top: 22px; font-size: 15px; }
    .op-feature-hub__list { padding: 0 22px; }
    .op-feature-hub__list article {
        min-height: 0;
        padding: 30px 0;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 16px;
        align-items: start;
    }
    .op-feature-hub__list article > a { grid-column: 2; width: min(100%, 180px); margin-top: 8px; }
    .op-feature-hub__list h2 { font-size: 27px; }
    .op-feature-hub__note { margin: 48px 22px; padding: 32px 24px; grid-template-columns: 1fr; gap: 24px; }
    .op-feature-hub__note > span { grid-column: auto; margin-bottom: -12px; }
    .op-feature-hub__note > a { width: min(100%, 220px); }
    .op-story-hero { min-height: 520px; padding: 48px 24px 210px; background-position: 65% center; }
    .op-story-values { grid-template-columns: 1fr; }
    .op-story-values article { min-height: 0; padding: 30px 24px; border-right: 0; border-bottom: 1px solid var(--op-line); }
    .op-story-values article:last-child { border-bottom: 0; }
    .op-story-values h2 { margin-top: 20px; }
    .op-story-reference-hero {
        min-height: 720px;
        padding: 48px 18px 285px;
        background-size: auto 100%;
        background-position: right bottom;
    }
    .op-story-reference-hero::before { background: linear-gradient(180deg, #faf9f5 0%, #faf9f5 70%, rgba(250,249,245,.98) 74%, rgba(250,249,245,0) 82%); }
    .op-story-reference-title h1 { font-size: clamp(34px, 10vw, 48px); letter-spacing: .02em; white-space: normal; }
    .op-story-reference-title p { font-size: 9px; letter-spacing: .18em; }
    .op-story-statements { gap: 8px; }
    .op-story-statements article { padding: 12px 10px; background: rgba(255,255,255,.62); }
    .op-story-statements h2 { font-size: 14px; }
    .op-story-statements p { font-size: 11px; }
    .op-story-categories { grid-template-columns: repeat(5, minmax(78px, 1fr)); overflow-x: auto; }
    .op-story-categories a { min-height: 82px; font-size: 9px; }
    .op-story-scene {
        min-height: 0;
        padding: 18px 12px 0;
        background-position: center bottom;
        background-size: 100% auto;
    }
    .op-story-final { grid-template-rows: minmax(0, 1fr) 68px; }
    .op-story-heading h1 { font-size: clamp(29px, 9vw, 36px); line-height: .96; letter-spacing: .01em; }
    .op-story-eyebrow { margin-bottom: 4px; font-size: 8px; letter-spacing: .2em; }
    .op-story-subtitle { margin: 6px 0 11px; font-size: 8px; letter-spacing: .13em; }
    .op-story-cards { gap: 5px; }
    .op-story-cards article { padding: 6px 8px; border-radius: 5px; background: rgba(255,255,255,.88); backdrop-filter: none; }
    .op-story-cards h2 { margin-bottom: 2px; font-size: 11px; }
    .op-story-cards p { font-size: 9px; line-height: 1.2; }
    .op-story-nav a { min-height: 68px; gap: 4px; font-size: 7px; }
    .op-story-nav svg { width: 19px; height: 19px; }
}

@media (max-width: 760px) {
    .op-social-hub__hero,
    .op-proof-hub__hero,
    .op-brand-catalogue__hero { padding: 52px 22px 48px; }
    .op-social-hub__hero h1,
    .op-proof-hub__hero h1,
    .op-brand-catalogue__hero h1 { font-size: clamp(42px, 13vw, 58px); }
    .op-social-hub__jump a { padding: 16px 20px; text-align: center; }
    .op-social-zone,
    .op-brand-index,
    .op-document-library,
    .op-partner-catalogue,
    .op-brand-products { padding: 48px 22px; }
    .op-social-zone > header { grid-template-columns: 1fr; gap: 10px; }
    .op-social-zone > header p { margin-top: 7px; }
    .op-social-grid { grid-template-columns: 1fr; }
    .op-social-card > a { min-height: 280px; }
    .op-social-hub__note { margin: 42px 22px; padding: 26px 22px; grid-template-columns: 1fr; gap: 14px; }
    .op-brand-index > header,
    .op-document-library > header { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; }
    .op-brand-index__list article { grid-template-columns: 1fr; }
    .op-brand-index__main {
        min-height: 0;
        padding: 24px 0;
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .op-brand-index__main > span { width: min(100%, 140px); }
    .op-brand-index__source { min-height: 48px; border-top: 1px solid var(--op-line); border-left: 0; }
    .op-document-row { grid-template-columns: 1fr; gap: 22px; padding: 28px 0; }
    .op-library-files { grid-template-columns: 1fr; }
    .op-partner-catalogue > header { grid-template-columns: 1fr; gap: 16px; }
    .op-partner-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .op-partner-products h3 { min-height: 54px; font-size: 16px; }
    .op-partner-products article { padding: 10px; }
    .op-product-placeholder > div strong { font-size: 32px; }
    .op-brand-catalogue__actions { flex-direction: column; }
    .op-brand-catalogue__actions a { text-align: center; }
    .op-brand-products > header { display: block; }
    .op-brand-products > header label { display: block; margin-top: 25px; }
    .op-brand-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .op-brand-products__grid a { padding: 9px 9px 16px; }
    .op-brand-products__grid h3 { font-size: 14px; }
    .op-shop-brand-catalogue { margin-bottom: 42px; }
    .op-shop-brand-filter { width: calc(100% + 18px); margin-right: -18px; padding-right: 18px; }
    .op-shop-brand-filter button { padding: 13px 15px; }
    .op-shop-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .op-shop-brand-grid article > a:not(.op-preview-add) { padding: 9px 9px 16px; }
    .op-shop-brand-grid article > .op-preview-add { margin-inline: 9px; }
    .op-shop-brand-grid h3 { min-height: 52px; margin-bottom: 14px; font-size: 14px; }
    .op-shop-brand-catalogue__notice { padding: 14px 15px; }
    .op-brand-catalogue__notice { margin: 0 22px 48px; padding: 24px; grid-template-columns: 1fr; gap: 15px; }
    .op-catalogue-error { padding: 24px; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
/* Catalogue and document roles: page, section, product, body, label, caption. */
:root {
    --op-type-page: 400 clamp(30px, 4vw, 46px)/1.15 Georgia, "Times New Roman", serif;
    --op-type-section: 400 clamp(24px, 3vw, 32px)/1.2 Georgia, "Times New Roman", serif;
    --op-type-product: 400 18px/1.35 Georgia, "Times New Roman", serif;
    --op-type-body: 400 16px/1.7 Arial, Helvetica, sans-serif;
    --op-type-label: 700 12px/1.5 Arial, Helvetica, sans-serif;
    --op-type-caption: 400 12px/1.5 Arial, Helvetica, sans-serif;
}
.op-store-intro h1,.woocommerce div.product .product_title,.op-document-detail h1 {font:var(--op-type-page);letter-spacing:-.02em;overflow-wrap:break-word;}
.op-store-intro>p:not(.op-eyebrow),.woocommerce div.product .woocommerce-product-details__short-description,.op-ordering-note,.op-document-content,.op-document-empty,.woocommerce-Tabs-panel {font:var(--op-type-body);}
.op-catalogue-heading {display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px;}
.op-catalogue-heading h2,.woocommerce-Tabs-panel h2,.op-document-group {font:var(--op-type-section);letter-spacing:-.015em;margin:0 0 16px;}
.op-catalogue-heading .op-shop-brand-count {font:var(--op-type-caption);margin:0;white-space:nowrap;}
.op-shop-brand-filter button,.op-shop-brand-grid small,.op-detail-brand,.op-detail-back,.op-document-download {font:var(--op-type-label);letter-spacing:.015em;}
.op-shop-brand-filter {margin-bottom:24px;}
.op-shop-brand-filter button {min-height:44px;padding:12px 20px;}
.op-shop-brand-filter button:focus-visible,.op-shop-brand-grid a:focus-visible {outline:2px solid var(--op-green);outline-offset:-3px;}
.op-shop-brand-grid h3,.op-library-files strong {font:var(--op-type-product);letter-spacing:0;}
.op-shop-brand-grid article>a:not(.op-preview-add)>span,.op-library-files span {font:var(--op-type-caption);letter-spacing:.06em;}
.op-shop-brand-grid small {padding-top:8px;}
.op-shop-brand-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.op-shop-brand-grid .op-shop-brand-product__image {background:#fff;}
.op-shop-brand-product__image img,.woocommerce div.product div.images img {object-fit:contain;}
.woocommerce div.product div.images img {aspect-ratio:auto;}
#all-products {scroll-margin-top:110px;}
.op-detail-brand {color:var(--op-green);margin:0 0 16px;}
.op-ordering-note {padding:18px 0;border-top:1px solid var(--op-line);color:#61695d;}
.woocommerce-Tabs-panel {overflow-wrap:anywhere;}
.woocommerce-Tabs-panel img {display:block;max-width:100%;height:auto;margin:24px auto;}
.op-document-detail {max-width:960px;margin:0 auto;padding:48px 32px 72px;min-height:70vh;}
.op-document-detail h1 {margin:32px 0;}
.op-document-group {margin:28px 0 16px;}
.op-document-empty {padding:28px 0;border-top:1px solid var(--op-line);color:#61695d;}
.op-document-image {display:block;width:auto;max-width:100%;margin:24px auto;}
.op-document-pdf {display:block;width:100%;min-height:70vh;border:1px solid var(--op-line);}
.op-library-files img {max-height:260px;width:100%;object-fit:contain;background:#fff;margin-bottom:16px;}
.op-document-download,.op-detail-back {display:inline-block;padding:12px 0;border-bottom:1px solid var(--op-green);}
@media(max-width:767px){
    :root {--op-type-product:400 16px/1.35 Georgia,"Times New Roman",serif;}
    .op-shop-brand-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
    .op-shop-brand-grid h3 {font:var(--op-type-product);}
    .op-shop-brand-filter button {flex:1;padding:12px 10px;}
    .op-document-detail {padding:32px 20px 56px;}
    .op-catalogue-heading {gap:12px;}
}
.op-brand-logo{display:block;width:140px;height:48px;object-fit:contain;object-position:left center;margin-bottom:22px}.op-category-navigation{margin:20px 0 32px;font:var(--op-type-label)}
.woocommerce div.product div.images .woocommerce-product-gallery__image>a>img {aspect-ratio:1/1;object-fit:contain;width:100%;height:auto;max-height:560px}.woocommerce div.product div.images img.emoji {width:1em!important;height:1em!important;aspect-ratio:auto;background:transparent}
#all-products{scroll-margin-top:clamp(90px,16vw,170px)}
.op-brand-index__list article{display:block}
.op-brand-index__main{grid-template-columns:140px minmax(0,1fr) 160px;padding:28px 16px;gap:24px}
.op-brand-index__main .op-brand-logo{margin:0}
.op-brand-copy strong{display:block;font:var(--op-type-section);margin-bottom:8px}
.op-brand-copy p{font:var(--op-type-body)}
.op-brand-index__main>span{font:var(--op-type-label);letter-spacing:0;text-transform:none}
@media(max-width:767px){.op-brand-index__main{grid-template-columns:80px minmax(0,1fr);padding:24px 0;gap:18px}.op-brand-logo{width:80px;height:40px}.op-brand-index__main>span{grid-column:2}.op-brand-copy strong{font:var(--op-type-product)}.op-brand-copy p{font:var(--op-type-caption)}}


/* 1.3.1: responsive homepage. Text and controls are independent of the artwork. */
.op-home.op-home-responsive { width: 100%; max-width: none; min-height: 0; box-shadow: none; }
.op-home-header, .site-header.op-matching-header {
    position: relative; display: flex; align-items: center; gap: 28px;
    min-height: 88px; height: auto; padding: 18px clamp(20px, 4vw, 64px);
    background: var(--op-cream); border-bottom: 1px solid var(--op-line);
}
.site-header.op-matching-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); width: min(100%, 1200px); }
.op-brand { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; color: #3f4426; direction: ltr; }
.op-brand img { display: block; width: 56px; height: 56px; object-fit: contain; }
.op-brand span { font: 600 clamp(40px, 3.3vw, 44px)/1.1 "OP Store Sign", Arial, Helvetica, sans-serif; letter-spacing: .055em; word-spacing: .06em; white-space: nowrap; font-synthesis: none; color: #3f4426; }
.op-home-nav { display: flex; align-items: center; gap: 28px; margin-inline-start: auto; font-size: 14px; }
.op-home-nav a { padding-block: 12px; }
.op-home-nav a:hover { color: var(--op-green); text-decoration: underline; text-underline-offset: 6px; }
.op-home-responsive .op-tools, .op-matching-header .op-inner-tools {
    position: relative; inset: auto; width: auto; height: auto; padding: 0;
    flex: 0 0 auto; gap: 2px; direction: ltr; background: transparent;
}
.op-matching-header .op-inner-tools { margin-inline-start: auto; }
.op-home-responsive .op-tools > button, .op-home-responsive .op-tools > a { flex: 0 0 42px; width: 42px; height: 44px; }
.op-home-responsive .op-search-form.is-open, .op-matching-header .op-search-form.is-open {
    position: absolute; top: calc(100% + 16px); right: 0; width: min(300px, calc(100vw - 40px));
    padding: 14px 18px; border: 1px solid var(--op-line); border-radius: 8px;
    background: var(--op-cream); box-shadow: 0 12px 28px rgba(32,39,24,.12);
}
.op-home-responsive .op-search-form input, .op-matching-header .op-search-form input { font-size: 16px; }
.op-home-responsive .op-language-panel, .op-matching-header .op-language-panel { top: calc(100% + 16px); right: 0; }
.op-home-hero {
    display: flex; align-items: center; min-height: clamp(480px, 42vw, 620px);
    padding: 64px clamp(28px, 6vw, 88px);
    background: #cbe8f1 url("assets/images/olive-water-hero-v160.webp") center bottom / cover no-repeat;
}
.op-home-hero__copy { width: min(100%, 620px); }
.op-home-hero .op-eyebrow { font-size: 13px; letter-spacing: .24em; margin: 0 0 22px; }
.op-home-hero h1 { margin: 0; font: 400 clamp(56px, 7.2vw, 102px)/.97 Georgia, 'Times New Roman', serif; letter-spacing: -.045em; }
.op-home-hero__subtitle { margin: 28px 0 30px; font-size: clamp(17px, 1.65vw, 23px); line-height: 1.5; }
.op-home-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.op-home-action {
    display: inline-flex; align-items: center; justify-content: space-between; gap: 24px;
    min-height: 50px; padding: 14px 26px; border: 1px solid var(--op-green); border-radius: 99px;
    font-size: 15px; line-height: 1.3; color: var(--op-ink); background: rgba(251,250,245,.35); cursor: pointer;
}
.op-home-action--primary { background: var(--op-green); color: white; }
.op-home-action:hover { background: var(--op-sage); color: var(--op-ink); }
.op-home-action--primary:hover { background: var(--op-dark); color: white; }
.op-home-action span { font-size: 21px; line-height: 1; }
.op-home-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 30px 4%; background: var(--op-cream); }
.op-home-values > a, .op-home-values > button {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
    min-width: 0; min-height: 118px; padding: 14px; border: 0; border-inline-end: 1px solid var(--op-line);
    color: var(--op-ink); background: transparent; text-align: center; cursor: pointer;
    font: 600 17px/1.4 Arial, Helvetica, sans-serif;
}
.op-home-values > :last-child { border-inline-end: 0; }
.op-home-values > :hover { background: var(--op-sage); }
.op-home-values svg { width: 40px; height: 40px; flex: 0 0 auto; fill: none; stroke: var(--op-green); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.op-home-values span { max-width: 12em; }
.op-home-responsive a:focus-visible, .op-home-responsive button:focus-visible, .op-matching-header a:focus-visible, .op-matching-header button:focus-visible {
    outline: 3px solid var(--op-green); outline-offset: 4px;
}
.op-home-trust { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: center; padding: 60px clamp(28px, 6vw, 88px); background: #eef1e6; }
.op-home-trust .op-eyebrow { margin-bottom: 18px; font-size: 11px; }
.op-home-trust h2 { margin: 0; font: 600 clamp(26px, 3vw, 40px)/1.15 Arial, Helvetica, sans-serif; letter-spacing: -.03em; }
.op-home-trust > p { margin: 0; max-width: 46ch; color: #5c6552; font-size: 17px; line-height: 1.8; }
/* Keep content, product pages and their header on the same desktop width. */
@media (min-width: 1024px) {
    body.op-inner-page .site-content, body.op-inner-page .site-footer { width: min(100%, 1200px); }
}
/* Ensure menus remain scrollable on short screens and are hidden when closed. */
.op-drawer, .site-drawer { visibility: hidden; overflow-y: auto; overscroll-behavior: contain; }
.op-drawer.is-open, .site-drawer.is-open { visibility: visible; }
/* Our Story must grow with its text instead of clipping it to the viewport. */
body:has(.op-story-final) { height: auto; min-height: 100dvh; overflow: visible; }
body:has(.op-story-final) .site-content { height: auto; overflow: visible; }
.op-story-final { height: auto; grid-template-rows: auto auto; overflow: visible; }
.op-story-scene { min-height: 660px; padding-bottom: 260px; overflow: visible; }
@media (max-width: 1023px) {
    .op-home-nav { display: none; }
    .op-home-header, .site-header.op-matching-header { gap: 14px; padding: 16px 24px; }
    .op-home-responsive .op-tools { margin-inline-start: auto; }
    .site-header.op-matching-header { width: min(100%, 960px); }
    .op-home-hero { min-height: 480px; }
    .op-home-trust { gap: 28px; }
}
@media (max-width: 760px) {
    .op-home-header, .site-header.op-matching-header { min-height: 66px; gap: 8px; padding: 12px; }
    .op-brand { gap: 8px; }
    .op-brand img { width: 34px; height: 34px; }
    .op-brand span { font-size: clamp(16px, 4.6vw, 24px); letter-spacing: .055em; }
    .op-home-responsive .op-tools, .op-matching-header .op-inner-tools { gap: 0; }
    .op-home-responsive .op-tools > button, .op-home-responsive .op-tools > a,
    .op-matching-header .op-inner-tools > button, .op-matching-header .op-inner-tools > a { width: 30px; height: 36px; flex-basis: 30px; }
    .op-home-hero { min-height: 390px; padding: 42px 26px; background-position: 58% bottom; }
    .op-home-hero__copy { width: 100%; }
    .op-home-hero .op-eyebrow { font-size: 10px; letter-spacing: .19em; margin-bottom: 20px; }
    .op-home-hero h1 { font-size: clamp(42px, 9vw, 62px); max-width: 9em; }
    .op-home-hero__subtitle { margin: 20px 0 24px; font-size: 17px; }
    .op-home-actions { gap: 10px; }
    .op-home-action { min-height: 44px; gap: 16px; padding: 11px 20px; font-size: 13px; }
    .op-home-values { padding: 16px 8px; }
    .op-home-values > a, .op-home-values > button { min-height: 100px; padding: 10px 6px; gap: 12px; font-size: 12px; }
    .op-home-values svg { width: 30px; height: 30px; }
    .op-home-values span { max-width: 8em; }
    .op-home-trust { grid-template-columns: 1fr; gap: 20px; padding: 34px 26px 40px; }
    .op-home-trust .op-eyebrow { font-size: 10px; margin-bottom: 16px; }
    .op-home-trust > p { font-size: 15px; line-height: 1.7; }
    .op-story-scene { min-height: 600px; padding-bottom: 230px; }
    .op-story-cards article { padding: 12px; }
    .op-story-cards h2 { font-size: 13px; }
    .op-story-cards p { font-size: 12px; line-height: 1.5; }
    .op-story-nav a { white-space: normal; text-align: center; padding-inline: 4px; }
}
@media (max-width: 359px) {
    .op-brand img { width: 28px; height: 28px; }
    .op-brand span { font-size: clamp(14px, 4.4vw, 15.5px); }
    .op-home-responsive .op-tools > button, .op-home-responsive .op-tools > a,
    .op-matching-header .op-inner-tools > button, .op-matching-header .op-inner-tools > a { width: 28px; flex-basis: 28px; }
    .op-home-hero { padding-inline: 22px; }
}
html[dir="rtl"] .op-home-hero { background-image: linear-gradient(90deg, transparent, rgba(218,239,246,.9) 55%), url("assets/images/olive-water-hero-v160.webp"); }
html[dir="rtl"] .op-home-hero__copy { margin-inline-end: auto; }
html[dir="rtl"] .op-home-action span { transform: scaleX(-1); }

@media (max-width: 760px) {
    .op-home-hero { background-image: linear-gradient(90deg, rgba(218,239,246,.7), rgba(218,239,246,.12) 78%, transparent), url("assets/images/olive-water-hero-v160.webp"); }
}
@media (max-width: 1023px) {
    html[dir="rtl"] .op-home-responsive .op-tools { margin-left: 0; margin-right: auto; }
}
html[dir="rtl"] .op-matching-header .op-inner-tools { margin-left: 0; margin-right: auto; }

/* 1.3.2: full-width homepage artwork and the original trust-section decoration.
 * 1.3.5: desktop uses a separate 3:1 photograph and a bounded banner height.
 * The lower decoration reuses the existing 946 x 1536 homepage image.
 * Its sprite window is x=450..946, y=1070..1536. The clip excludes
 * the old rasterised words while retaining the leaves and lower droplets.
 */
@media (min-width: 1024px) {
    .op-home-responsive .op-home-hero {
        position: relative;
        min-height: 0;
        height: clamp(440px, 33.3333vw, 640px);
        height: clamp(440px, min(33.3333vw, 68svh), 640px);
        aspect-ratio: auto;
        padding-block: 40px;
        background-image: url("olive-water-wide-v135.webp");
        background-size: cover;
        background-position: right bottom;
        background-repeat: no-repeat;
    }

    .op-home-responsive .op-home-hero::before {
        content: none;
        display: none;
    }

    .op-home-responsive .op-home-hero__copy {
        position: relative;
        z-index: 1;
    }

    .op-home-responsive .op-home-hero h1 {
        font-size: clamp(64px, 5vw, 88px);
    }

    .op-home-responsive .op-home-values {
        padding-block: 16px;
    }

    .op-home-responsive .op-home-values > a,
    .op-home-responsive .op-home-values > button {
        min-height: 92px;
        gap: 10px;
    }
}

.op-home-responsive .op-home-trust {
    --op-trust-art-width: clamp(240px, 30vw, 440px);
    position: relative;
    isolation: isolate;
    min-height: calc(var(--op-trust-art-width) * 466 / 496);
    gap: clamp(24px, 4vw, 60px);
    padding-block: clamp(36px, 4vw, 64px);
    padding-inline-start: clamp(28px, 6vw, 88px);
    padding-inline-end: calc(var(--op-trust-art-width) + 28px);
    background-color: #f4f4e9;
}

.op-home-responsive .op-home-trust::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset-inline-end: 0;
    bottom: 0;
    width: var(--op-trust-art-width);
    aspect-ratio: 496 / 466;
    pointer-events: none;
    background-image: url("assets/images/olive-people-home-leaves-v186.webp");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 190.7258064516% 329.6137339056%;
    clip-path: polygon(36.3% 0, 100% 0, 100% 100%, 0 100%, 0 78%, 36.3% 78%);
}

.op-home-responsive .op-home-trust > div,
.op-home-responsive .op-home-trust > p {
    position: relative;
    z-index: 1;
}

html[dir="rtl"] .op-home-responsive .op-home-trust::after {
    transform: scaleX(-1);
}

@media (min-width: 761px) and (max-width: 1023px) {
    .op-home-responsive .op-home-trust {
        display: block;
        padding-inline-start: 28px;
    }

    .op-home-responsive .op-home-trust > p {
        margin-top: 22px;
    }
}

@media (max-width: 760px) {
    .op-home-responsive .op-home-trust {
        --op-trust-art-width: clamp(190px, 66vw, 300px);
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 34px 26px calc(var(--op-trust-art-width) * 466 / 496 + 16px);
    }
}

/* 1.3.4: lighter, larger wordmark matching the site's existing round logo.
 * Poppins SemiBold 600; solid logo pixel color #3f4426.
 * Full font license follows and is retained in the embedded font.
 *
Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
 */
@font-face {
    font-family: "OP Store Sign";
    src: url("data:font/woff;base64,d09GRgABAAAAAAYcAAwAAAAACLQABAEGAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAAFzAAAACAAAAAgRHZMdUdTVUIAAAXsAAAALgAAADAfSCdrT1MvMgAAAZQAAABJAAAAYFpBX1ZjbWFwAAACAAAAAEcAAABcAToBG2dseWYAAAJcAAABKAAAATaCtGY5aGVhZAAAARwAAAA2AAAANiGGoP5oaGVhAAABVAAAACAAAAAkB3wBy2htdHgAAAHgAAAAIAAAACAQDwFFbG9jYQAAAkgAAAASAAAAEgEhAM5tYXhwAAABdAAAAB8AAAAgAHcAP25hbWUAAAOEAAACMQAABNLTcL7McG9zdAAABbgAAAATAAAAIP+4ADIAAQAAAAQBBndxmqhfDzz1AAMD6AAAAADYpKnFAAAAAObLspIADv/5Au4CxAAAAAcAAgAAAAAAAHicY2BkYGCR+reIIYVZkIGPgZ/pHQNQBAVwAABU9gNOeJxjYGRgYOBgUGBgYgABRiAtx8AGZKWA+QwACRgAtwB4nGNgYU5iimBgZWBg6gLSDAzeEJoxjsGI0QfIZ2BngANGBiTgGeLmz3CAQYEhjEXq3yKGFJZ8pmKYGiYtpr1ASoGBBQDOswpIAAAAAfQAAADuAAACFABFARYARQHLAEUDEQAjAmAARQLHAA54nGNgYGBiYGBgBmIRIMkIplkYPIA0HwMHUI6NQYHBlcGTwYchgCHs/3+gOIzvD+L/f/h/7/9d/3f83/Z/I1g3EgAAOf4SSQAAAAAAAAAAFgAjADIAYwCGAJsAAHicJY+xSsNQFIbPPWpEFKU0N6vEC3FwEW9yTUAaKBhwdHEKNI3Y0joEA46+QXGzL5BMXRyt6aCDg+CUwcUHcCk4uTi08Wi3cw4/33d+YHAMwD5wAusAdS654CY3ayYvp1O2Nr9kd3hynzymOEnhPwslFrBE2ZqolQMsZgHtC8oDTSsAh5IAsvyc3w6ShE6AIKof/MIX2IJtgGXLcmyl5IFhcF3TRAMd27LEjqZx3TAk282jKI/Ps1Yrj/1Iqcj320q1/dUw63ayMMw63Sy88fpB0HPdXhD0PTKQH5sk2wCdfiSqoP/MP4WmHFsILrHpXJ1dDxg7Tb1XN00SNoqP5t9YuHHjwtnvvFGLTaKMiaJRGyaYrNdxXMGoguHz06Lq7B334BeWZFCXeJydU1Fu00AQfU5a1AEBpYCQUD9WKAIHkTStUgj9CARQS0lKQVT94se0JnUVEit2qCJxGg7AARBH4AAchU/ejjdgKxJCyFrvm5k3b2ZnbQCX8RVleAsC4DNXhj3cpJXhEpbxzeEy7uG7wwvEPx1exHmv4vA5+F7d4SXc9g4dFrz1Pjl8AVveD4cverdKKw5fwv1y0+HlXA9Xcj1cxZfyKZ5ihBhTjBGhjxOkMNhAQ5fBAT0h91fKiskZIlF7TM8pY0ea0cGE+wl9Y437qpQyI8EW1vj0mWsZE7xDnVkjfKDX+t4TT6h7zNwpfcVaVezTY/CGTKseKra9DrmHVInwhJEB8y3zD2/Gqs3xalj/i6qZ4zfZcYNP858r7Op5IgSqd8BzxVpju3DWl3rGgJZBl/tAOT6ecf+ouQH1A72bKr8SgxfMH/KZ6h3Y7GzmQ83rkZuqtzo3/yjXUer6KU5+div2ziO9xW2tlupERmSnONNubJcZY8D9iLa9qVDPkemFZBm972yyu+zNcHqxcvPKvYKCPeOhZif0j5S7zs7sMrnOinVn3QQ6tYjRgF9ZNs0z993ZqK3bwWvFKedi5qaUUNVOO6Y3Yc1E1eo64z7j+1To/V+WtKQmj2GkLr505IHsyZp0pUTPdenyfUN60pBNomvCf08W5Y48YqxN74y3o/ltrg2HdzSySs09WquMVWi3aG1KRb0Vrgbf7d/KLdXwne+uxtu629yH8lyOfwGSVroXAAAAeJxjYGYAg/9bGYwYsAAALMIB6gAAAQAAAAoAHAAeAAFERkxUAAgABAAAAAD//wAAAAAAAHicY2BkYGDgYtBh0GNgdnHzCWEQSUktM2KQA5KJDHIMLEBZhv//GeAAAKU8BvYAAA==") format("woff");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    unicode-range: U+0020, U+0045, U+0049, U+004C, U+004F-0050, U+0056;
}

/* Keep the logo and wordmark flat, including hover/focus states. */
.op-brand,
.op-brand img,
.op-brand span {
    text-shadow: none;
    box-shadow: none;
    filter: none;
}
.op-brand span {
    -webkit-text-stroke: 0;
}

/* Preserve the existing Arabic copy-contrast treatment with the wide photograph. */
@media (min-width: 1024px) {
    html[dir="rtl"] .op-home-responsive .op-home-hero {
        background-image: linear-gradient(90deg, transparent, rgba(218,239,246,.9) 55%), url("olive-water-wide-v135.webp");
    }
}


/* 1.3.6: header controls and the secondary homepage action. */
/* Match Explore's type; a quieter backdrop keeps the outline button legible. */
.op-home-action:not(.op-home-action--primary) {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    color: var(--op-ink);
    background-color: rgba(251, 250, 245, .92);
    text-shadow: none;
}
.op-home-action:not(.op-home-action--primary):hover {
    background-color: var(--op-sage);
}

/* The same destinations remain available in the existing menu and hero. */
.op-home-nav { display: none; }
.op-home-responsive .op-tools { margin-left: auto; margin-right: 0; }
html[dir="rtl"] .op-home-responsive .op-tools {
    margin-left: 0;
    margin-right: auto;
}

/* The label is part of the existing language button, without moving the SVG. */
.op-language .op-language-code {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    display: block;
    margin: 0;
    padding: 0;
    font: 600 9px/9px Arial, Helvetica, sans-serif;
    letter-spacing: .04em;
    text-align: center;
    color: currentColor;
    white-space: nowrap;
    direction: ltr;
    text-shadow: none;
}

/* Only desktop toolbar icons grow; all existing mobile sizes stay in force. */
@media (min-width: 1024px) {
    .op-home-responsive .op-tools,
    .op-matching-header .op-inner-tools { gap: 6px; }

    .op-home-responsive .op-tools > button,
    .op-home-responsive .op-tools > a,
    .op-matching-header .op-inner-tools > button,
    .op-matching-header .op-inner-tools > a {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .op-home-responsive .op-tools > button > svg,
    .op-home-responsive .op-tools > a > svg,
    .op-matching-header .op-inner-tools > button > svg,
    .op-matching-header .op-inner-tools > a > svg {
        width: 28px;
        height: 28px;
    }

    .op-language .op-language-code { font-size: 10px; line-height: 10px; }
}


/* 1.3.7: slightly stronger desktop icon outlines at the existing sizes. */
@media (min-width: 1024px) {
    .op-home-responsive .op-tools > button > svg,
    .op-home-responsive .op-tools > a > svg,
    .op-matching-header .op-inner-tools > button > svg,
    .op-matching-header .op-inner-tools > a > svg {
        stroke-width: 2;
    }

    .op-home-responsive .op-home-values svg {
        stroke-width: 2.1;
    }
}


/* Embedded Tajawal fonts.
Copyright 2018 Boutros International. (http://www.boutrosfonts.com)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/
@font-face {
    font-family: "OP Arabic";
    src: url("assets/fonts/op-arabic-400-v160.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "OP Arabic";
    src: url("assets/fonts/op-arabic-500-v160.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "OP Arabic";
    src: url("assets/fonts/op-arabic-700-v160.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

/* 1.3.8: Arabic typography and an RTL composition for the homepage. */
html[dir="rtl"] body {
    font-family: "OP Arabic", Tahoma, Arial, sans-serif;
}
html[dir="rtl"] :is(h1, h2, h3, h4, h5, h6, p, label, input, select, textarea, button),
html[dir="rtl"] .op-home-action,
html[dir="rtl"] .op-home-values > a,
html[dir="rtl"] .op-drawer nav a,
html[dir="rtl"] .site-drawer nav a {
    font-family: "OP Arabic", Tahoma, Arial, sans-serif;
    letter-spacing: 0;
}

/* The scene is mirrored independently, so only the photograph changes sides. */
html[dir="rtl"] .op-home-responsive .op-home-hero {
    position: relative;
    isolation: isolate;
    background-image: none;
}
html[dir="rtl"] .op-home-responsive .op-home-hero::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: url("assets/images/olive-water-hero-v160.webp");
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    transform: scaleX(-1);
    pointer-events: none;
}
html[dir="rtl"] .op-home-responsive .op-home-hero__copy {
    position: relative;
    z-index: 1;
    width: min(54%, 620px);
    margin-inline-start: 0;
    margin-inline-end: auto;
    text-align: right;
}
html[dir="rtl"] .op-home-responsive .op-home-hero .op-eyebrow {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: 0;
}
html[dir="rtl"] .op-home-responsive .op-home-hero h1 {
    max-width: none;
    font-family: "OP Arabic", Tahoma, Arial, sans-serif;
    font-size: clamp(42px, 4vw, 64px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    word-spacing: normal;
    word-break: normal;
    overflow-wrap: normal;
}
html[dir="rtl"] .op-home-responsive .op-home-hero__subtitle {
    margin: 20px 0 24px;
    font-size: clamp(19px, 1.6vw, 23px);
    line-height: 1.7;
    font-weight: 400;
}
html[dir="rtl"] .op-home-responsive .op-home-action {
    min-height: 52px;
    padding: 12px 26px;
    font-family: "OP Arabic", Tahoma, Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
}

/* Only the arrow is reflected: translated labels keep their normal glyphs. */
.op-home-responsive .op-home-action .op-i18n-label {
    font: inherit;
    letter-spacing: inherit;
    transform: none;
}
html[dir="rtl"] .op-home-responsive .op-home-action > [aria-hidden="true"] {
    font-family: Arial, Helvetica, sans-serif;
    transform: scaleX(-1);
}
html[dir="rtl"] .op-home-responsive .op-home-values > a,
html[dir="rtl"] .op-home-responsive .op-home-values > button {
    font-family: "OP Arabic", Tahoma, Arial, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
}
html[dir="rtl"] .op-home-responsive .op-home-trust .op-eyebrow {
    margin-bottom: 14px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
}
html[dir="rtl"] .op-home-responsive .op-home-trust h2 {
    font-family: "OP Arabic", Tahoma, Arial, sans-serif;
    font-size: clamp(28px, 2.8vw, 38px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}
html[dir="rtl"] .op-home-responsive .op-home-trust > p {
    font-size: 19px;
    line-height: 1.9;
}
html[dir="rtl"] .op-menu-panel h2 {
    line-height: 1.5;
    letter-spacing: 0;
}

@media (min-width: 1024px) {
    html[dir="rtl"] .op-home-responsive .op-home-hero::before {
        background-image: url("olive-water-wide-v135.webp");
        background-position: right bottom;
    }
}
@media (max-width: 760px) {
    html[dir="rtl"] .op-home-responsive .op-home-hero {
        min-height: 440px;
        height: auto;
        padding-block: 44px;
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero::before {
        background-image: linear-gradient(90deg, rgba(218,239,246,.32), transparent 70%), url("assets/images/olive-water-hero-v160.webp");
        background-position: 58% bottom;
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero__copy {
        width: 100%;
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero h1 {
        font-size: clamp(32px, 9vw, 44px);
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero .op-eyebrow {
        font-size: 14px;
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero__subtitle {
        margin: 16px 0 22px;
        font-size: 18px;
    }
    html[dir="rtl"] .op-home-responsive .op-home-action {
        min-height: 48px;
        padding: 11px 18px;
        font-size: 16px;
        gap: 18px;
    }
    html[dir="rtl"] .op-home-responsive .op-home-values > a,
    html[dir="rtl"] .op-home-responsive .op-home-values > button {
        font-size: 17px;
    }
    html[dir="rtl"] .op-home-responsive .op-home-trust > p {
        font-size: 18px;
    }
}

/* 1.3.9: a compact homepage ending and simple bilingual service links. */
body.op-has-service-footer .op-home-responsive .op-home-trust {
    --op-trust-art-width: clamp(160px, 16vw, 210px);
    padding-block: 28px;
    align-items: start;
}
.op-service-footer {
    color: #171717;
    background: #f4f4e9;
    font: 400 15px/1.65 Arial, Helvetica, sans-serif;
}
.op-service-footer__inner {
    margin-inline: auto;
    padding: 0 clamp(28px, 6vw, 88px);
}
.op-service-footer__grid {
    display: grid;
    grid-template-columns: minmax(280px, 1.65fr) repeat(3, minmax(0, 1fr));
    gap: 36px;
    padding-block: 28px;
    border-top: 1px solid #d8dccd;
}
.op-service-footer__company > strong { display: block; font-size: 19px; font-weight: 600; letter-spacing: .055em; }
.op-service-footer__company p { margin: 8px 0; font-size: inherit; }
.op-service-footer a { color: #171717; text-decoration: none; }
.op-service-footer__email { overflow-wrap: anywhere; }
.op-service-footer__group { display: flex; flex-direction: column; align-items: start; gap: 8px; }
.op-service-footer__group h2 { margin: 0 0 4px; font: 600 16px/1.5 Arial, Helvetica, sans-serif; }
.op-service-footer__group a { padding-block: 3px; }
.op-service-footer__group .op-footer-coming { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; padding-block: 3px; color: #65705e; }
.op-service-footer__group .op-footer-coming small { font-size: 11px; line-height: 1.5; white-space: nowrap; }
.op-service-footer a:hover, .op-info-back a:hover, .op-service-menu a:hover { text-decoration: underline; text-underline-offset: 4px; }
.op-service-footer a:focus-visible, .op-info-page a:focus-visible, .op-service-menu a:focus-visible { outline: 2px solid #45552b; outline-offset: 4px; }
.op-service-footer__bottom { display: flex; flex-wrap: wrap; gap: 8px 18px; border-top: 1px solid #d8dccd; padding-block: 16px 22px; font-size: 12px; }
.op-service-menu { display: flex; flex-direction: column; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--op-line); }
.op-service-menu h2 { margin: 0 0 10px; font: 600 15px/1.5 Arial, Helvetica, sans-serif; }
.op-drawer .op-service-menu a, .site-drawer .op-service-menu a { font: 400 19px/1.5 Arial, Helvetica, sans-serif; padding-block: 12px; }

.op-info-page { background: #fbfaf5; color: #202718; }
.op-info-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 22px clamp(24px, 6vw, 88px); border-bottom: 1px solid var(--op-line); }
.op-info-brand { font: 600 25px/1.2 "OP Store Sign", Arial, sans-serif; letter-spacing: .055em; color: #3f4426; direction: ltr; }
.op-info-language { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.op-info-language select { max-width: 180px; padding: 8px; font: inherit; background: white; border: 1px solid var(--op-line); border-radius: 6px; }
.op-info-content { width: min(100%, 900px); margin: auto; padding: 36px 28px 64px; }
.op-info-back { margin-bottom: 28px; font-size: 15px; }
.op-info-article h1 { margin: 0; font: 600 clamp(32px, 4vw, 46px)/1.2 Arial, sans-serif; letter-spacing: -.02em; }
.op-info-revision { margin: 14px 0 22px; font-size: 13px; color: #5c6552; }
.op-info-intro { margin-bottom: 32px; font-size: 19px; line-height: 1.7; }
.op-info-article section { margin-block: 28px; }
.op-info-article h2 { margin: 0 0 10px; font: 600 21px/1.4 Arial, sans-serif; }
.op-info-article section p { margin: 0; font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.op-info-contact { display: inline-block; margin-top: 12px; padding: 12px 22px; border-radius: 28px; color: white; background: #45552b; font-size: 16px; }
.op-info-skip:focus { position: fixed; inset: 10px auto auto 10px; clip: auto; width: auto; height: auto; padding: 12px; background: white; z-index: 99999; }
[data-op-info-language="ar"] { display: none; }
html[dir="rtl"] [data-op-info-language="en"] { display: none; }
html[dir="rtl"] [data-op-info-language="ar"] { display: block; }
html[dir="rtl"] .op-service-footer,
html[dir="rtl"] .op-service-footer h2,
html[dir="rtl"] .op-service-menu h2,
html[dir="rtl"] .op-service-menu a,
html[dir="rtl"] .op-info-article h1,
html[dir="rtl"] .op-info-article h2 { font-family: "OP Arabic", Tahoma, Arial, sans-serif; letter-spacing: 0; }
html[dir="rtl"] .op-service-footer { font-size: 17px; }
html[dir="rtl"] .op-service-footer__group h2 { font-size: 18px; }
html[dir="rtl"] .op-service-footer__company > strong { font-family: Arial, sans-serif; letter-spacing: .055em; }
html[dir="rtl"] .op-service-footer__bottom { font-size: 14px; }
html[dir="rtl"] .op-info-article h1 { line-height: 1.5; }
html[dir="rtl"] .op-info-article section p { font-size: 19px; }

@media (max-width: 1023px) {
    .op-service-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
    .op-service-footer__company { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    body.op-has-service-footer .op-home-responsive .op-home-trust {
        --op-trust-art-width: 150px;
        padding: 24px 26px 145px;
        gap: 14px;
    }
    .op-service-footer__inner { padding-inline: 26px; }
    .op-service-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; padding-block: 24px; }
    .op-service-footer__group:last-child { grid-column: 1 / -1; }
    .op-service-footer__group { gap: 2px; }
    .op-service-footer__group a { min-height: 40px; display: flex; align-items: center; }
    .op-service-footer__group .op-footer-coming { min-height: 40px; }
    .op-info-header { padding: 20px 24px; }
    .op-info-content { padding: 28px 24px 48px; }
}

/* 1.3.10: join the trust statement and homepage footer visually. */
body.op-has-service-footer .op-service-footer__grid {
    max-width: 1040px;
    border-top: 0;
    gap: 24px;
    padding-block: 20px 22px;
}
body.op-has-service-footer .op-service-footer__group { gap: 4px; }
body.op-has-service-footer .op-service-footer__group a { padding-block: 2px; }
body.op-has-service-footer .op-service-footer__bottom {
    border-top: 0;
    padding-block: 12px 18px;
}

@media (min-width: 1280px) {
    body.op-has-service-footer {
        --op-footer-art-width: clamp(300px, 22vw, 360px);
    }
    body.op-has-service-footer .op-home-responsive .op-home-trust {
        --op-trust-art-width: var(--op-footer-art-width);
        min-height: 174px;
        padding-block: 28px 18px;
        padding-inline-end: calc(var(--op-footer-art-width) + 40px);
    }
    body.op-has-service-footer .op-home-responsive .op-home-trust::after {
        content: none;
    }
    body.op-has-service-footer .op-service-footer {
        position: relative;
        isolation: isolate;
        overflow: visible;
    }
    /* The single decoration spans both rows; it never covers a menu link. */
    body.op-has-service-footer .op-service-footer::before {
        content: "";
        position: absolute;
        z-index: 0;
        inset-inline-end: 0;
        bottom: 0;
        width: var(--op-footer-art-width);
        aspect-ratio: 496 / 466;
        pointer-events: none;
        background-image: url("assets/images/olive-people-home-leaves-v186.webp");
        background-repeat: no-repeat;
        background-position: right bottom;
        background-size: 190.7258064516% 329.6137339056%;
        clip-path: polygon(36.3% 0, 100% 0, 100% 100%, 0 100%, 0 78%, 36.3% 78%);
    }
    body.op-has-service-footer .op-service-footer__inner {
        position: relative;
        z-index: 1;
        min-height: calc(var(--op-footer-art-width) * 466 / 496 - 174px);
        padding-inline-end: calc(var(--op-footer-art-width) + 40px);
    }
    body.op-has-service-footer .op-service-footer__grid {
        grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(0, 1fr));
    }
    html[dir="rtl"] body.op-has-service-footer .op-service-footer::before {
        transform: scaleX(-1);
    }
}

@media (max-width: 760px) {
    body.op-has-service-footer .op-service-footer__grid {
        gap: 18px 20px;
        padding-block: 12px 20px;
    }
    body.op-has-service-footer .op-service-footer__group { gap: 2px; }
    body.op-has-service-footer .op-service-footer__group a { min-height: 40px; }
}

/* 1.3.11: verified business information and a larger continuous olive decoration. */
.op-service-footer__company { min-width: 0; }
.op-service-footer__company p { line-height: 1.65; }
.op-company-details { margin: 20px 0 0; padding: 18px 22px; border-radius: 8px; background: #f0f2e8; }
.op-company-details > div { display: grid; grid-template-columns: minmax(155px, .7fr) minmax(0, 1.4fr); gap: 14px 24px; padding-block: 9px; }
.op-company-details dt { font-size: 15px; font-weight: 600; line-height: 1.7; }
.op-company-details dd { margin: 0; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.op-company-details a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
html[dir="rtl"] .op-company-details dt,
html[dir="rtl"] .op-company-details dd { font-family: "OP Arabic", Tahoma, Arial, sans-serif; font-size: 18px; }

@media (min-width: 1280px) {
    body.op-has-service-footer { --op-footer-art-width: clamp(320px, 24vw, 420px); }
    body.op-has-service-footer .op-service-footer__grid { gap: 20px; }
    body.op-has-service-footer .op-service-footer::before {
        -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 5%, #000 100%);
        mask-image: linear-gradient(to bottom, transparent 0, #000 5%, #000 100%);
    }
}
@media (max-width: 600px) {
    .op-company-details { padding: 14px 18px; }
    .op-company-details > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
}


/* Mobile homepage: a calmer crop and a shorter, content-driven hero in EN/AR. */
@media (max-width: 760px) {
    .op-home-responsive .op-home-hero,
    html[dir="rtl"] .op-home-responsive .op-home-hero {
        min-height: clamp(340px, 90vw, 380px);
        height: auto;
        padding: 32px 22px 58px;
    }
    .op-home-responsive .op-home-hero {
        background-image: linear-gradient(90deg, rgba(218,239,246,.44), rgba(218,239,246,.12) 55%, transparent 80%), url("assets/images/olive-water-hero-v160.webp");
        background-size: cover;
        background-position: 46% bottom;
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero {
        background-image: none;
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero::before {
        background-image: linear-gradient(90deg, rgba(218,239,246,.44), rgba(218,239,246,.12) 55%, transparent 80%), url("assets/images/olive-water-hero-v160.webp");
        background-size: cover;
        background-position: 46% bottom;
    }
    .op-home-responsive .op-home-hero .op-eyebrow {
        margin-bottom: 14px;
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero .op-eyebrow {
        margin-bottom: 14px;
        font-size: 13px;
    }
    .op-home-responsive .op-home-hero h1 {
        font-size: clamp(38px, 10vw, 48px);
        line-height: 1.05;
    }
    html[dir="rtl"] .op-home-responsive .op-home-hero h1 {
        font-size: clamp(30px, 8.2vw, 36px);
        line-height: 1.38;
    }
    .op-home-responsive .op-home-hero__subtitle,
    html[dir="rtl"] .op-home-responsive .op-home-hero__subtitle {
        margin: 14px 0 20px;
        font-size: 16px;
        line-height: 1.6;
    }
    .op-home-responsive .op-home-actions {
        gap: 10px;
    }
    .op-home-responsive .op-home-action,
    html[dir="rtl"] .op-home-responsive .op-home-action {
        min-height: 44px;
        max-width: 100%;
        padding: 10px 14px;
        gap: 12px;
        font-size: 14px;
        line-height: 1.5;
    }
    html[dir="rtl"] .op-home-responsive .op-home-action {
        font-size: 15px;
    }
    .op-home-responsive .op-home-action > [aria-hidden="true"] {
        font-size: 18px;
    }
    /* Keep the desktop's four categories, with aligned symbols and equal text space. */
    .op-home-responsive .op-home-values { padding: 14px 6px; }
    .op-home-responsive .op-home-values > a,
    .op-home-responsive .op-home-values > button {
        display: grid; grid-template-rows: 30px minmax(36px, auto);
        align-content: start; align-items: start; justify-items: center;
        min-height: 102px; padding: 10px 4px; gap: 10px;
        font-size: 12px; line-height: 1.5;
    }
    html[dir="rtl"] .op-home-responsive .op-home-values > a,
    html[dir="rtl"] .op-home-responsive .op-home-values > button {
        font-size: clamp(13px, 3.65vw, 15px); line-height: 1.55;
    }
    .op-home-responsive .op-home-values span { max-width: 100%; overflow-wrap: anywhere; }
    html body :is(.op-home-header, .site-header.op-matching-header) > :is(.op-tools, .op-inner-tools) > :is(button, a) {
        min-height: 44px;
    }
}

/* Keep the shop introduction visible while bringing the first products into view. */
body:is(.woocommerce-shop, .tax-product_cat) .site-content { padding-top: 26px; }
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro {
    margin-bottom: 22px;
    padding: 24px 32px 22px;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro .op-eyebrow { margin-bottom: 8px; }
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro h1 { margin: 0 0 8px; }
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav { margin-top: 14px; }
@media (max-width: 760px) {
    body:is(.woocommerce-shop, .tax-product_cat) .site-content { padding-top: 16px; }
    body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro {
        margin-bottom: 16px;
        padding: 20px 18px 18px;
    }
    body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }
}

/* Compact text categories; use the same availability as the Cosmetics menu. */
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 0;
    row-gap: 2px;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav > * {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 5px 0;
    font: 600 13px/1.5 Arial, Helvetica, sans-serif;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav > * + *::before {
    content: "|";
    color: #a6ae9b;
    margin-inline: 12px;
    font-weight: 400;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a {
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--op-ink);
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a:is(:hover, :focus-visible) {
    border: 0;
    background: transparent;
    color: var(--op-green);
    text-decoration: underline;
    text-underline-offset: 4px;
    outline: none;
    box-shadow: none;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav .op-store-intro__upcoming { color: #687060; }
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav .op-store-intro__upcoming small {
    margin-inline-start: 4px;
    font-size: 10px;
    font-weight: 400;
}
@media (max-width: 760px) {
    body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav > * + *::before { margin-inline: 8px; }
}

/* Shop category navigation: plain text in every interaction state. */
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a,
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a:is(:hover, :focus, :focus-visible, :active) {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    outline: none;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a:is(:hover, :focus-visible) {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a:focus-visible {
    text-decoration-thickness: 2px;
}

/* Underline the category label only, leaving the separator untouched. */
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a,
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a:is(:hover, :focus, :focus-visible, :active) {
    text-decoration: none;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a:is(:hover, :focus-visible) > .op-store-intro__link-label {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}
body:is(.woocommerce-shop, .tax-product_cat) .op-store-intro nav a:focus-visible > .op-store-intro__link-label {
    text-decoration-thickness: 2px;
}

/* Category archives keep the same compact introduction above their products. */
body.tax-product_cat .op-commerce > .woocommerce-products-header h1 {
    margin: 0 0 20px;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.2;
}

/* Product-type navigation follows the All Products brand tabs. */
.op-category-filter > :is(a, .op-category-filter__coming) {
    display: inline-flex; align-items: center; gap: 6px;
    flex-shrink: 0; min-height: 44px; padding: 12px 20px;
    border-inline-end: 1px solid var(--op-line);
    color: #5e6853; background: transparent;
    font: var(--op-type-label); letter-spacing: .015em;
    text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.op-category-filter a:hover { background: #edf1e6; }
.op-category-filter a.is-active { color: white; background: var(--op-green); }
.op-category-filter a:focus-visible { outline: 2px solid var(--op-green); outline-offset: -3px; }
.op-category-filter__coming { opacity: .65; }
.op-category-filter__coming small { font-size: 9px; text-transform: none; }
.op-category-empty { padding: 24px 0 40px; color: #687060; }
/* Business enquiries share the site's cream and olive palette. */
body.op-business-page .site-content { padding: 30px 24px 48px; }
.op-business-enquiry { width: min(100%, 760px); margin-inline: auto; }
.op-business-back { display: inline-block; margin-bottom: 24px; color: var(--op-green); }
.op-business-enquiry h1 { font: var(--op-type-section); margin: 12px 0 16px; }
.op-business-enquiry > p { line-height: 1.7; }
.op-enquiry-form { display: grid; gap: 18px; margin-top: 28px; }
.op-enquiry-form label { display: grid; gap: 8px; font-size: 14px; font-weight: 600; }
.op-enquiry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.op-enquiry-form input, .op-enquiry-form textarea {
    width: 100%; min-width: 0; box-sizing: border-box; padding: 12px 14px;
    border: 1px solid #c6cdbb; border-radius: 4px; background: #fffefa;
    color: var(--op-ink); font: inherit;
}
.op-enquiry-form textarea { resize: vertical; }
.op-enquiry-form :is(input,textarea):focus-visible { outline: 2px solid var(--op-green); outline-offset: 2px; }
.op-enquiry-form button { justify-self: start; padding: 12px 24px; border: 0; border-radius: 4px; background: var(--op-green); color: white; font: inherit; cursor: pointer; }
.op-enquiry-status { margin: 24px 0; padding: 18px; background: #eef2e6; line-height: 1.7; }
.op-enquiry-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.op-business-email { margin-top: 28px; font-size: 13px; }
.op-business-email a { overflow-wrap: anywhere; text-decoration: underline; }
@media (max-width: 600px) {
    .op-enquiry-fields { grid-template-columns: minmax(0,1fr); }
    .op-category-filter > :is(a, .op-category-filter__coming) { padding-inline: 14px; }
    .op-business-enquiry h1 { font-size: 28px; }
}

/* 1.8.11 — Search field opens beside the magnifier on desktop.
   EN / LTR: left of icon; AR / RTL: right of icon.
   Small screens: retained drop-down below the header controls. */
@media (min-width: 761px) {
    .op-home-responsive .op-search-form.is-open,
    .op-matching-header .op-search-form.is-open {
        position: absolute;
        z-index: 25;
        top: 50%;
        right: calc(100% + 8px);
        left: auto;
        transform: translateY(-50%);
        width: min(300px, calc(100vw - 40px));
        max-width: 300px;
        margin: 0;
    }
    html[dir="rtl"] .op-home-responsive .op-search-form.is-open,
    html[dir="rtl"] .op-matching-header .op-search-form.is-open {
        left: 50px;
        right: auto;
        direction: rtl;
    }
}
@media (max-width: 760px) {
    .op-home-responsive .op-search-form.is-open,
    .op-matching-header .op-search-form.is-open {
        top: calc(100% + 12px);
        right: 0;
        left: auto;
        transform: none;
        width: min(300px, calc(100vw - 32px));
    }
    html[dir="rtl"] .op-home-responsive .op-search-form.is-open,
    html[dir="rtl"] .op-matching-header .op-search-form.is-open {
        left: 0;
        right: auto;
        direction: rtl;
    }
}
