/* WooCommerce inherits the site's palette, type, and control geometry. */
.ocf-store { background: var(--ocf-bg); color: var(--ocf-body); padding-block: clamp(40px, 6vw, 88px); min-height: 48vh; }
.ocf-store *, .ocf-store *::before, .ocf-store *::after { box-sizing: border-box; }
.ocf-store__header { margin-bottom: clamp(28px, 4vw, 48px); }
.ocf-store__title { color: var(--ocf-heading); font-family: var(--ocf-font-heading), sans-serif; font-size: clamp(34px, 4.5vw, 60px); line-height: 1.1; margin: 0; }
.ocf-store__intro { max-width: 680px; margin: 20px 0 0; line-height: 1.65; }
.ocf-store__nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ocf-border); }
.ocf-store__nav a { color: var(--ocf-heading); font-weight: 600; text-decoration: none; padding-block: 6px; }
.ocf-store__nav a:hover, .ocf-store__nav a[aria-current] { color: var(--ocf-link); text-decoration: underline; text-underline-offset: 6px; }
.ocf-store__content { min-width: 0; width: 100%; }
.ocf-store .woocommerce, .ocf-store .alignwide, .ocf-store .alignfull { width: 100%; max-width: 100%; margin-inline: 0; }
.ocf-store :is(h2, h3, h4, .woocommerce-loop-product__title) { color: var(--ocf-heading); font-family: var(--ocf-font-heading), sans-serif; }
.ocf-store .woocommerce-notices-wrapper:empty { display: none; }
.ocf-store :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner) { border-radius: var(--radius-sm); background: var(--lisbon-card, var(--ocf-bg-alt)); color: var(--ocf-body); }
.ocf-store .woocommerce-info, .ocf-store .woocommerce-message { border-top-color: var(--ocf-primary); }
.ocf-store .woocommerce-info::before, .ocf-store .woocommerce-message::before { color: var(--ocf-primary); }
.ocf-store :is(a.button, button.button, input.button, .wc-block-components-button, .wp-element-button, .wp-block-button__link) { background: var(--ocf-primary); color: var(--ocf-primary-contrast); border: 1px solid var(--ocf-primary); border-radius: var(--button-radius, 999px); padding: 14px 24px; min-height: 48px; font-family: var(--ocf-font-body), sans-serif; font-weight: 600; line-height: 1.3; text-decoration: none; box-shadow: none; }
.ocf-store :is(a.button, button.button, input.button, .wc-block-components-button, .wp-element-button, .wp-block-button__link):hover { background: var(--ocf-primary-hover); border-color: var(--ocf-primary-hover); color: var(--ocf-primary-contrast); }
.ocf-store .wc-block-components-button:not(.is-link) { background: var(--ocf-primary); color: var(--ocf-primary-contrast); }
.ocf-store :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="search"], select, textarea) { max-width: 100%; min-height: 48px; border: 1px solid var(--ocf-border); border-radius: var(--radius-sm, 10px); background: var(--ocf-bg); color: var(--ocf-heading); font: inherit; padding: 12px 14px; }
.ocf-store :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--ocf-primary); }
.ocf-store .wc-block-components-text-input input { padding: 24px 14px 8px; }
.ocf-store .woocommerce form :is(.form-row, p) { margin-bottom: 18px; }
.ocf-store .woocommerce form label { display: block; margin-bottom: 8px; }
.ocf-store .woocommerce form label:has(input[type="checkbox"]) { display: inline-flex; align-items: center; gap: 8px; }
.ocf-store .woocommerce form :is(.woocommerce-form-login, .woocommerce-form-register), .ocf-store .woocommerce form.login, .ocf-store .woocommerce form.register { border-color: var(--ocf-border); border-radius: var(--card-radius); padding: clamp(24px, 4vw, 40px); background: var(--lisbon-card, var(--ocf-bg-alt)); }
.ocf-store .woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; clear: both; margin: 24px 0; padding: 0; }
.ocf-store .woocommerce ul.products::before, .ocf-store .woocommerce ul.products::after { display: none; }
.ocf-store .woocommerce ul.products li.product { float: none; width: auto; margin: 0; padding: 22px; border: 1px solid var(--ocf-border); border-radius: var(--card-radius); background: var(--lisbon-card, var(--ocf-bg-alt)); }
.ocf-store .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 22px; line-height: 1.25; padding-block: 12px; }
.ocf-store .woocommerce ul.products li.product .price, .ocf-store .woocommerce div.product p.price { color: var(--ocf-heading); font-weight: 600; }
.ocf-store .woocommerce ul.products li.product a { text-decoration: none; }
.ocf-store .woocommerce ul.products li.product .button { margin-top: 16px; }
.ocf-store .woocommerce span.onsale { background: var(--ocf-primary); color: var(--ocf-primary-contrast); }
.ocf-store .woocommerce :is(table.shop_table, .cart_totals, .woocommerce-MyAccount-content) { border-color: var(--ocf-border); border-radius: var(--card-radius); }
.ocf-store .woocommerce table.shop_table th, .ocf-store .woocommerce table.shop_table td { padding: 16px; }
.ocf-store .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.ocf-store .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--ocf-border); }
.ocf-store .woocommerce-MyAccount-navigation a { display: block; padding: 14px 8px; color: var(--ocf-heading); }
.ocf-store .woocommerce-MyAccount-navigation .is-active a { color: var(--ocf-link); font-weight: 700; }
.ocf-store :is(.wc-block-cart, .wc-block-checkout) { color: var(--ocf-body); font-family: var(--ocf-font-body), sans-serif; }
.ocf-store .wc-block-components-sidebar { border: 1px solid var(--ocf-border); border-radius: var(--card-radius); padding: 24px; background: var(--lisbon-card, var(--ocf-bg-alt)); }
.ocf-store .wc-block-cart__empty-cart__title { font-size: clamp(24px, 3vw, 34px); line-height: 1.25; }
.ocf-store .wc-block-grid__products { padding: 0; }
@media (max-width: 900px) { .ocf-store .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
@media (max-width: 600px) {
  .ocf-store { padding-block: 32px 48px; }
  .ocf-store .woocommerce ul.products { grid-template-columns: minmax(0, 1fr); }
  .ocf-store .woocommerce .woocommerce-ordering, .ocf-store .woocommerce .woocommerce-result-count { float: none; width: 100%; margin-bottom: 16px; }
  .ocf-store .woocommerce-ordering select { width: 100%; }
  .ocf-store .wc-block-components-sidebar { padding: 18px; }
  .ocf-store .woocommerce table.shop_table td, .ocf-store .woocommerce table.shop_table th { padding: 12px; }
}

/* OCF_AGENT_BLOCK:woocommerce-coming-soon-branding START */
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only { background: var(--ocf-bg); color: var(--ocf-body); }
.woocommerce-coming-soon-store-only > .wp-block-group { box-sizing: border-box; width: min(100%, 960px); min-height: 320px; margin-inline: auto; padding: clamp(36px, 5vw, 64px) 24px; gap: 16px; align-items: center; justify-content: center; text-align: center; }
.woocommerce-coming-soon-store-only > .wp-block-group > .wp-block-spacer { height: 12px !important; flex-shrink: 0; }
.woocommerce-coming-soon-store-only h1.wp-block-heading { max-width: 800px; margin: 0 auto; color: var(--ocf-heading); font-family: var(--ocf-font-heading), sans-serif !important; font-size: clamp(30px, 4vw, 48px); line-height: 1.2; text-align: center; }
.woocommerce-coming-soon-store-only p.wp-block-paragraph { max-width: 620px; margin: 0 auto; color: var(--ocf-body); font-family: var(--ocf-font-body), sans-serif !important; font-size: var(--font-body-size); line-height: 1.65; text-align: center; }
@media (max-width: 600px) { .woocommerce-coming-soon-store-only > .wp-block-group { min-height: 300px; padding: 36px 24px; } }
/* OCF_AGENT_BLOCK:woocommerce-coming-soon-branding END */
