/* States that Elementor / WooCommerce JS normally toggles with inline styles.
   Everything visual comes from the captured stylesheets; this only wires behaviour. */

/* desktop nav dropdown (smartmenus replacement) */
.elementor-nav-menu--main .elementor-nav-menu { position: relative; z-index: 2; }
.elementor-nav-menu--main .menu-item-has-children > .sub-menu { display: none; }
.elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
.elementor-nav-menu--main .menu-item-has-children.is-open > .sub-menu,
.elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu { display: block; z-index: 9999; }
.elementor-nav-menu--main .menu-item-has-children { position: relative; }
.elementor-nav-menu--main .elementor-nav-menu > li > .sub-menu { top: 100%; inset-inline-start: 0; width: max-content; min-width: 10em; max-width: 20em; }
.elementor-nav-menu--main .sub-menu .elementor-sub-item { white-space: normal; }

/* mobile dropdown nav: sub-menus collapse until the parent is tapped */
.elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu { display: none; }
.elementor-nav-menu--dropdown .menu-item-has-children.is-open > .sub-menu { display: block; }
.elementor-nav-menu--dropdown .menu-item-has-children.is-open > a .sub-arrow svg { transform: rotate(180deg); }
.elementor-nav-menu--dropdown.elementor-nav-menu__container { --menu-height: 100vh; }

/* mini cart */
.elementor-menu-cart__container:not([aria-hidden="false"]) { pointer-events: none; }
.elementor-menu-cart--shown .elementor-menu-cart__container { pointer-events: auto; }
.woocommerce-mini-cart__empty-message { margin: 0; }

/* product tabs (WooCommerce hides inactive panels with JS) */
.woocommerce-tabs .panel { display: none; }
.woocommerce-tabs .panel.is-active { display: block; }

/* variations */
.variations_form .single_variation:empty { display: none; }
.variations_form .reset_variations { visibility: hidden; }
.variations_form.has-variation .reset_variations { visibility: visible; }
.woocommerce-variation-price { margin-bottom: 1em; }
.summary:has(.variations_form.has-variation) > p.price { display: none; }

/* added-to-cart feedback ("View cart" link WooCommerce appends) */
.added_to_cart { display: inline-block; margin-inline-start: .5em; }

/* checkout shipping-address toggle */
.shipping_address[hidden] { display: none !important; }

/* order-received page */
.woocommerce-order .brpay-instructions { margin: 1.5em 0; }
.woocommerce-order .brpay-instructions code { display: inline-block; padding: .3em .6em; background: #f3f3f3; border-radius: 3px; word-break: break-all; }

/* gallery zoom trigger + lightbox (photoswipe replacement) */
.woocommerce-product-gallery__trigger { position: absolute; top: .5em; right: .5em; font-size: 2em; z-index: 9; width: 36px; height: 36px; background: #fff; text-indent: -9999px; border-radius: 100%; box-sizing: content-box; }
.woocommerce-product-gallery__trigger:before { content: ""; display: block; width: 10px; height: 10px; border: 2px solid #000; background: transparent; border-radius: 100%; position: absolute; top: 9px; left: 9px; box-sizing: content-box; }
.woocommerce-product-gallery__trigger:after { content: ""; display: block; width: 2px; height: 8px; background: #000; border-radius: 6px; position: absolute; top: 19px; left: 22px; transform: rotate(-45deg); box-sizing: content-box; }
.cmg-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.85); z-index: 99999; display: flex; align-items: center; justify-content: center; cursor: zoom-out; }
.cmg-lightbox img { max-width: 95vw; max-height: 95vh; box-shadow: 0 0 40px rgba(0,0,0,.5); }

/* payment address block on the order-received page */
.brpay-address { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: #fff; border: 1px solid #EDEDED; border-radius: 6px; padding: 12px 14px; margin: 0 0 12px; }
.brpay-address code { flex: 1 1 200px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 14px; word-break: break-all; color: #00091E; }
.brpay-copy--small { padding: 9px 18px; font-size: 14px; }
.brpay-coin-network { color: #54595F; font-weight: 400; }
/* kit button reset (.elementor-kit-5 button) outranks brico-pay.css; restore the plugin's pill button */
body.elementor-kit-5 .brpay-copy { background: var(--brpay-accent, #D45B00); color: #fff; border: none; border-radius: 40px; font-weight: 600; }
body.elementor-kit-5 .brpay-copy:hover { background: var(--brpay-accent-dark, #B34C00); }
body.elementor-kit-5 .brpay-copy.is-copied { background: #1E8E3E; }
