/* WordPress integration around the original Concept presentation. */
body { margin: 0; }
/* Concept draws the old price with its red diagonal pseudo-element. */
.price__sale { text-decoration: none; }
/* Keep native sale state on the amount itself: search unwraps price containers,
   and captured outer containers can retain a different demo product's state. */
.price__regular[data-onlime-price-sale="true"] { color: rgb(var(--color-sale-price)); font-weight: var(--font-medium); }
.price__regular[data-onlime-price-sale="false"] { color: rgb(var(--color-price)); font-weight: inherit; }
/* Match the source account avatar footprint while retaining a 44px click height. */
.header__buttons > .onlime-account-link { width: 37.68px; min-width: 37.68px; height: 44px; }
html:lang(en) .split-words .word { padding-block: .08em; }
body.admin-bar { --onlime-admin-offset: 32px; }
body.admin-bar .header-section.header-sticky { top: var(--onlime-admin-offset); }
@media (max-width: 782px) { body.admin-bar { --onlime-admin-offset: 46px; } }
/* WordPress switches its toolbar to absolute positioning on small screens. */
@media (max-width: 600px) { body.admin-bar { --onlime-admin-offset: 0px; } }
.wp-site-blocks { padding: 0; }
.wp-block-onlime-section { margin: 0; }
.onlime-content { min-height: 55vh; }
.onlime-native-commerce { position: relative; isolation: isolate; --section-padding-top: 64px; --section-padding-bottom: 64px; }
.onlime-native-commerce::before { z-index: -1; }
.woocommerce-account .onlime-native-commerce > h1,
.woocommerce-account .onlime-native-commerce > .woocommerce { max-width: 560px; margin-inline: auto; }
.woocommerce-account .onlime-native-commerce .woocommerce > h2 { font-size: 24px; margin-bottom: 24px; }
.woocommerce-account .onlime-native-commerce .woocommerce-form-login { margin-bottom: 24px; }
.woocommerce-account .onlime-native-commerce .lost_password a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-account .onlime-native-commerce .show-password-input { position: absolute; inset-inline-end: 12px; top: 12px; }
.woocommerce-account .onlime-native-commerce .password-input { display: block; position: relative; }
.onlime-content > h1 { margin-bottom: 2rem; }
.onlime-content p { margin-bottom: 1rem; }
.onlime-empty-state { min-height: 65vh; text-align: center; display: grid; place-content: center; gap: 1.5rem; }
.onlime-dialog { border: 0; padding: 0; background: #fff; color: #1a1a1a; max-height: 100dvh; }
.onlime-dialog::backdrop { background: rgb(0 0 0 / .45); backdrop-filter: blur(3px); }
.onlime-cart { margin: 0 0 0 auto; width: min(520px, 100vw); height: 100dvh; max-width: 100vw; border-radius: 24px 0 0 24px; }
.onlime-cart[open] { display: flex; flex-direction: column; }
.onlime-drawer-heading { display: flex; align-items: center; justify-content: space-between; padding: 30px; border-bottom: 1px solid #eee; }
.onlime-close { font: 32px/1 sans-serif; border: 0; background: none; width: 44px; height: 44px; cursor: pointer; }
.onlime-cart-items { overflow-y: auto; flex: 1; padding: 24px 30px; }
.onlime-cart-item { display: grid; grid-template-columns: 90px 1fr; gap: 18px; margin-bottom: 24px; }
.onlime-cart-item img { width: 90px; aspect-ratio: 1; object-fit: cover; border-radius: 12px; background: #f8f8f8; }
.onlime-cart-item-title { font-size: 16px; font-weight: 600; }
.onlime-cart-item-variant { color: #666; font-size: 13px; margin: 4px 0; }
.onlime-quantity { display: inline-flex; align-items: center; border: 1px solid #ddd; border-radius: 24px; margin-top: 10px; }
.onlime-quantity button { width: 32px; height: 32px; background: none; border: 0; cursor: pointer; }
.onlime-quantity span { min-width: 28px; text-align: center; }
.onlime-remove { border: 0; background: none; font-size: 13px; text-decoration: underline; margin-left: 10px; cursor: pointer; }
.onlime-cart-footer { border-top: 1px solid #eee; padding: 24px 30px; }
.onlime-cart-total { display: flex; justify-content: space-between; font-size: 20px; margin-bottom: 8px; }
.onlime-cart-footer p { color: #777; font-size: 13px; margin: 10px 0 20px; }
.onlime-cart-footer .button { display: flex; justify-content: center; width: 100%; }
.onlime-cart-link { display: block; text-align: center; margin-top: 14px; text-decoration: underline; }
.onlime-toast { position: fixed; z-index: 1000; left: 50%; bottom: 30px; transform: translateX(-50%); padding: 16px 24px; border-radius: 12px; background: #1a1a1a; color: white; max-width: 90vw; box-shadow: 0 8px 28px #0003; }
.onlime-toast[hidden] { display: none; }
.onlime-quick-view { margin: auto; width: min(1000px, 94vw); max-height: 92dvh; border-radius: 24px; padding: 35px; overflow: auto; }
.onlime-quick-view > .onlime-close { position: absolute; right: 12px; top: 12px; }
.onlime-quick-content { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.onlime-quick-content img { border-radius: 16px; width: 100%; }
.onlime-quick-content h2 { margin: 24px 0 12px; }
.onlime-quick-content select { width: 100%; padding: 14px; border: 1px solid #ddd; margin: 20px 0; border-radius: 8px; }
.onlime-search-results { display: grid; gap: 12px; padding: 20px 0; }
.onlime-search-result { display: grid; grid-template-columns: 70px 1fr auto; gap: 16px; align-items: center; }
.onlime-search-result img { width: 70px; border-radius: 8px; }
.onlime-field-status { margin-top: 10px; font-size: 14px; }
.onlime-form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }
button[aria-busy="true"] { opacity: .55; cursor: wait; }
.onlime-native-commerce .woocommerce { --border-color: #ddd; }
.onlime-native-commerce .woocommerce form .form-row { margin: 0 0 18px; }
.onlime-native-commerce .woocommerce label { display: block; margin-bottom: 8px; }
.onlime-native-commerce .woocommerce input.input-text, .onlime-native-commerce .woocommerce textarea, .onlime-native-commerce .woocommerce select { width: 100%; border: 1px solid #ddd; border-radius: 8px; padding: 13px 16px; background: white; }
.onlime-native-commerce .woocommerce button.button, .onlime-native-commerce .woocommerce a.button, .onlime-native-commerce .woocommerce input.button { border: 1px solid #1a1a1a; border-radius: 40px; padding: 15px 26px; background: #1a1a1a; color: white; font-weight: 500; }
.onlime-native-commerce .woocommerce table.shop_table { width: 100%; border-collapse: collapse; margin-bottom: 28px; }
.onlime-native-commerce .woocommerce table.shop_table td, .onlime-native-commerce .woocommerce table.shop_table th { padding: 18px 12px; text-align: left; border-bottom: 1px solid #e5e5e5; }
.onlime-native-commerce .woocommerce table.shop_table img { width: 90px; border-radius: 8px; }
.onlime-native-commerce .woocommerce .col2-set, .onlime-native-commerce form.checkout { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.onlime-native-commerce form.checkout .woocommerce-NoticeGroup, .onlime-native-commerce form.checkout #order_review_heading { grid-column: 1 / -1; }
.onlime-native-commerce .woocommerce ul { list-style: none; padding: 0; }
.onlime-native-commerce .woocommerce-error, .onlime-native-commerce .woocommerce-message, .onlime-native-commerce .woocommerce-info { padding: 18px 24px; background: #f7f7f7; border-radius: 12px; margin: 0 0 24px; }
.woocommerce-error { border-left: 3px solid #a92323; }
.onlime-native-commerce .woocommerce .cart-collaterals { margin-left: auto; max-width: 520px; }
.onlime-native-commerce .woocommerce .wc-proceed-to-checkout { margin-top: 24px; }
.woocommerce-MyAccount-navigation li { margin-bottom: 12px; }
.woocommerce-MyAccount-content { margin-top: 30px; }
@media(max-width:767px) {
  .onlime-cart { border-radius: 18px 18px 0 0; }
  .onlime-quick-content, .onlime-native-commerce .woocommerce .col2-set, .onlime-native-commerce form.checkout { grid-template-columns: 1fr; }
  .onlime-quick-view { padding: 24px; }
  .onlime-native-commerce .woocommerce table.shop_table .product-thumbnail { display: none; }
}
/* WordPress' empty resize sensor must survive Concept's global div:empty rule.
   Woo uses its width to enable the mobile order-summary control. */
.wc-block-components-sidebar-layout > div[aria-hidden="true"]:empty { display: block; }

/* Purchase state belongs to Woo availability, including native variation updates. */
button[data-onlime-add-button]:disabled { opacity: .45; cursor: not-allowed; pointer-events: none; }
button[data-onlime-add-button]:disabled [data-onlime-purchase-label] { display: block; }
button[data-onlime-add-button]:disabled .btn-text > svg { display: none; }
[data-onlime-button-price][hidden], [data-onlime-payment-form][hidden], fieldset[data-onlime-single-option][hidden], variant-picker[data-onlime-single-options][hidden] { display: none !important; }

/* Explicit section backgrounds retain Concept's separate crossed-ribbon canvas. */
.section[data-onlime-section-background="custom"], .section[data-onlime-section-background="custom"]::before {
  background-color: rgb(var(--color-background));
  background-image: none;
}

/* A long product name/price must not set the minimum width of the mobile grid. */
.shop-the-look > *, .shop-the-look .product-card__content { min-width: 0; }
@media (max-width: 1023px) {
  .shop-the-look { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 479px) {
  /* Keep Concept's plus action; its full accessible label stays on the button. */
  .shop-the-look .product-card > .lg\:hidden .btn-text { font-size: 0; gap: 0; }
  .shop-the-look .product-card .price { flex-wrap: wrap; }
}
