/* ==========================================================================
   Omnipre — WordPress bridge for the design system (omnipre.css).
   1. Elementor wrappers step out of the layout so sections render exactly as in the static site.
   2. WooCommerce's own forms (checkout, account, tracking), notices and tables in design-system styling.
   ========================================================================== */

/* ---------- 1. Elementor: transparent wrappers (front end only; the editor keeps real boxes so widgets stay selectable) ---------- */
body:not(.elementor-editor-active) .elementor-location-header,
body:not(.elementor-editor-active) .elementor-location-footer,
body:not(.elementor-editor-active) [data-elementor-type]:has(> .omni-block),
body:not(.elementor-editor-active) .e-con.omni-block,
body:not(.elementor-editor-active) .e-con.omni-block > .e-con-inner,
body:not(.elementor-editor-active) .omni-block > .elementor-element,
body:not(.elementor-editor-active) .omni-block .elementor-widget-container,
body:not(.elementor-editor-active) .omni-block .elementor-shortcode{display:contents}
.e-con.omni-block{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;padding:0;gap:0;max-width:none;width:100%}
.elementor-editor-active .e-con.omni-block{display:block}
.elementor-widget-html,.elementor-widget-shortcode{margin:0}
.elementor-kit-body,body{background:#fff}
.site-main{display:block}
.site-main:focus{outline:none}

/* Sticky header below the WordPress toolbar. */
@media (min-width:783px){.admin-bar .site-header{top:32px}.admin-bar .review,.admin-bar .totals{top:52px}}
@media (min-width:601px) and (max-width:782px){.admin-bar .site-header{top:46px}}

/* Screen-reader text used by WordPress / WooCommerce. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto;width:auto;height:auto;margin:0;padding:12px 18px;background:#fff;color:var(--indigo);z-index:1000;left:8px;top:8px}

/* Busy cursor while the Store API is working. */
html.omni-busy,html.omni-busy *{cursor:progress!important}
.cart-loading{min-height:340px;background:linear-gradient(90deg,var(--paper) 25%,#fff 50%,var(--paper) 75%) 0 0/200% 100%;animation:omniShimmer 1.2s infinite linear;margin-bottom:64px}
@keyframes omniShimmer{to{background-position:-200% 0}}
.applied-coupons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.applied-coupons .chip{cursor:pointer;display:inline-flex;gap:6px;align-items:center;font-weight:700;color:var(--green);border-color:var(--green)}
.btn.is-oos{opacity:.55}
.price ins{text-decoration:none}

/* Prices printed by WooCommerce (wc_price) inherit the design-system price styles. */
.woocommerce-Price-amount{font:inherit;color:inherit}

/* ---------- 2. WooCommerce notices → .notice ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-notices-wrapper{margin:20px 0}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{list-style:none;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--rule);border-top:3px solid var(--indigo);background:var(--paper);padding:14px 18px;margin:0 0 18px;font:600 14.5px var(--body);color:var(--ink)}
.woocommerce-message{border-top-color:var(--green)}
.woocommerce-error{border-top-color:var(--red);flex-direction:column;align-items:flex-start;gap:4px}
.woocommerce-error li{list-style:none}
.woocommerce-message::before{content:"\f058";font:900 17px/1 "Font Awesome 6 Free";color:var(--green)}
.woocommerce-info::before{content:"\f05a";font:900 17px/1 "Font Awesome 6 Free";color:var(--indigo)}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto}
.woocommerce-message a:not(.button),.woocommerce-info a:not(.button),.woocommerce-error a:not(.button){color:var(--indigo);text-decoration:underline}

/* WooCommerce buttons → .btn */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce-Button,.wc-forward,.woocommerce-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:12px 22px;font:700 12.5px/1 var(--head);letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--indigo);background:var(--indigo);color:#fff;cursor:pointer;transition:background .16s,border-color .16s;text-decoration:none!important}
.woocommerce .button:hover,.woocommerce-Button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.woocommerce .button.alt,.woocommerce button.button.alt{background:var(--red);border-color:var(--red)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed}

/* ---------- Fields (woocommerce_form_field → .field / .input / .select) ---------- */
.omni-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.omni-fields>.form-row{grid-column:1/-1;margin:0}
.omni-fields>.form-row-first{grid-column:1}
.omni-fields>.form-row-last{grid-column:2}
.form-row.field{margin:0}
.form-row.field>label{font:700 13px var(--head);color:var(--ink);display:block}
.form-row .required{color:var(--red);text-decoration:none;border:0}
.form-row .optional{color:var(--slate-l);font-weight:400;font-family:var(--body)}
.form-row .woocommerce-input-wrapper{display:block}
.form-row .input-text,.form-row input[type=text],.form-row input[type=email],.form-row input[type=tel],.form-row input[type=password],.form-row input[type=number],.form-row select,.form-row textarea{width:100%;min-height:50px;border:1px solid var(--rule);background:#fff;padding:0 15px;font:400 15px var(--body);color:var(--ink)}
.form-row textarea{min-height:130px;padding:13px 15px}
.form-row .input-text:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(47,49,148,.15)}
.form-row.woocommerce-invalid .input-text,.form-row.woocommerce-invalid select{border-color:var(--red)}
.form-row.woocommerce-validated .input-text{border-color:var(--rule)}
.form-row .description{font-size:12.5px;color:var(--slate-l);margin-top:4px}
.form-row label.checkbox,.woocommerce-form__label-for-checkbox{display:flex;gap:10px;align-items:flex-start;font:400 14px var(--body);color:var(--slate);cursor:pointer}
.woocommerce-form__label-for-checkbox input{width:18px;height:18px;margin-top:2px;accent-color:var(--indigo);flex:none}
/* selectWoo / Select2 (country, state) */
.select2-container{width:100%!important}
.select2-container--default .select2-selection--single{height:50px;border:1px solid var(--rule);border-radius:0}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:48px;padding:0 40px 0 15px;font:400 15px var(--body);color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:48px;right:10px}
.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--open .select2-selection--single{border-color:var(--indigo)}
.select2-dropdown{border-color:var(--indigo);border-radius:0;font:400 14.5px var(--body)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--indigo)}
.select2-search--dropdown .select2-search__field{border:1px solid var(--rule);min-height:40px;padding:0 10px}

/* ---------- Checkout ---------- */
.omni-checkout .woocommerce{display:block}
.co-details>#customer_details{display:grid;gap:26px}
.woocommerce-billing-fields h2,.woocommerce-additional-fields h2,.co-sub{font-size:19px;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:20px}
#ship-to-different-address{margin:6px 0 16px}
#ship-to-different-address label{font:700 14px var(--head);color:var(--ink)}
.woocommerce-shipping-fields .shipping_address{margin-bottom:10px}
.woocommerce-additional-fields{margin-top:16px}
.woocommerce-account-fields{margin-top:16px}
.review .woocommerce-checkout-review-order-table .product-name{font-weight:400}
.review .woocommerce-checkout-review-order-table .product-quantity{color:var(--ink)}
.review .woocommerce-checkout-review-order-table .code{display:inline-block;margin-top:4px}
.review .woocommerce-checkout-review-order-table dl.variation{font-size:12.5px;color:var(--slate);margin-top:4px;display:grid;grid-template-columns:auto 1fr;gap:0 6px}
.review .woocommerce-checkout-review-order-table dl.variation dd p{margin:0}
.review #shipping_method{list-style:none;display:grid;gap:4px;justify-items:end}
.review #shipping_method li{display:flex;gap:8px;align-items:center;font-size:13.5px}
.review #shipping_method input{accent-color:var(--indigo)}
.review .woocommerce-shipping-destination,.review .woocommerce-shipping-calculator{font-size:12.5px;color:var(--slate)}
.review .order-total th,.review .order-total td{font:800 20px var(--head);color:var(--ink);border:0}
.review .order-total small{display:block;font:400 12px var(--body);color:var(--slate)}
.review .cart-discount td,.review .cart-discount th{color:var(--green)}
.review .woocommerce-remove-coupon{font-size:12px;color:var(--red)}
/* payment methods */
#payment ul.paybox{list-style:none;padding:0}
#payment .pm{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:0 16px}
#payment .pm>input{width:18px;height:18px;accent-color:var(--indigo);margin:0}
#payment .pm>label{padding:15px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#payment .pm>label img{max-height:22px;width:auto;display:inline-block;margin-left:auto}
#payment .pm>.box{grid-column:1/-1;margin:0 -16px;display:block}
#payment .pm:not(.on)>.box{display:none!important}
#payment .pm .box p{max-width:none;margin:0}
#payment .pm .box p+p,#payment .pm .box fieldset{margin-top:10px}
#payment .pm .box .form-row{margin:8px 0 0}
#payment .pm .box input.input-text{min-height:44px;background:#fff}
#payment .place-order{display:grid;gap:14px}
#payment .woocommerce-terms-and-conditions-wrapper{font-size:13.5px}
#payment .woocommerce-privacy-policy-text p{font-size:12.5px;color:var(--slate);max-width:none}
#payment .woocommerce-privacy-policy-text a,#payment .woocommerce-terms-and-conditions-link{color:var(--indigo);text-decoration:underline}
#payment .woocommerce-terms-and-conditions{max-height:220px;overflow:auto;border:1px solid var(--rule);background:#fff;padding:14px;margin-bottom:10px;font-size:13px}
.review .trust-badges{margin-top:16px}
.blockUI.blockOverlay{background:rgba(255,255,255,.6)!important}
.woocommerce-checkout .woocommerce-form-login,.woocommerce-form-coupon{border:1px solid var(--rule);padding:20px;margin-bottom:20px}

/* ---------- Order received (WooCommerce extras inside the design layout) ---------- */
[data-o-rows] .tot th{background:none;color:var(--ink);text-transform:none;letter-spacing:0;font:700 14px var(--head);padding:12px 15px;border-top:1px solid var(--rule)}
[data-o-rows] .tot:last-child th,[data-o-rows] .tot:last-child td{font:800 17px var(--head);color:var(--ink)}
.woocommerce-order-downloads,.woocommerce-customer-details,.woocommerce-order-details{margin-top:28px}
.woocommerce-bacs-bank-details{margin:0 0 24px}

/* ---------- My account ---------- */
.omni-account .woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;gap:26px}
.woocommerce-MyAccount-navigation .acc-nav li{padding:0}
.woocommerce-MyAccount-navigation .acc-nav a{display:block;padding:12px 16px;color:inherit}
.woocommerce-MyAccount-navigation .acc-nav li:not(.on) a:hover{background:var(--paper)}
.woocommerce-MyAccount-content{font-size:15px}
.woocommerce-MyAccount-content>p{max-width:none;margin-bottom:14px}
.woocommerce-MyAccount-content a:not(.button):not(.btn){color:var(--indigo);text-decoration:underline}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3,.woocommerce-column__title,.woocommerce-order-details__title{font-size:22px;border-bottom:2px solid var(--ink);padding-bottom:10px;margin:26px 0 16px}
.woocommerce-MyAccount-content form{display:grid;gap:16px;max-width:760px}
.woocommerce-MyAccount-content form .form-row{margin:0}
.woocommerce-MyAccount-content form .form-row-first,.woocommerce-MyAccount-content form .form-row-last{display:inline-block}
.woocommerce-MyAccount-content fieldset{border:1px solid var(--rule);padding:20px;display:grid;gap:14px}
.woocommerce-MyAccount-content legend{font:700 15px var(--head);color:var(--ink);padding:0 8px}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.woocommerce-Address{border:1px solid var(--rule);border-top:4px solid var(--indigo);padding:22px}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.woocommerce-Address-title h2{border:0;margin:0 0 10px;padding:0;font-size:19px}
.woocommerce-Address address,.woocommerce-customer-details address{font-style:normal;line-height:1.8;border:1px solid var(--rule);padding:18px}
/* tables (orders, downloads, order details, payment methods) → .tbl */
.woocommerce table.shop_table,.woocommerce-orders-table,.woocommerce-table--order-downloads,.woocommerce-table--order-details{width:100%;border-collapse:collapse;border:1px solid var(--rule);font-size:14.5px;background:#fff}
.woocommerce table.shop_table th{background:var(--indigo);color:#fff;text-align:left;padding:13px 15px;font:700 12px var(--head);letter-spacing:.07em;text-transform:uppercase}
.woocommerce table.shop_table td,.woocommerce table.shop_table tbody th,.woocommerce table.shop_table tfoot th{border-top:1px solid var(--rule);padding:14px 15px;vertical-align:middle}
.woocommerce table.shop_table tfoot th{background:var(--paper);color:var(--ink);text-transform:none;letter-spacing:0;font-size:13.5px}
.woocommerce table.shop_table tr:nth-child(even) td{background:#FAFBFC}
.woocommerce table.shop_table .button{min-height:36px;padding:9px 14px;font-size:11.5px;margin:2px 4px 2px 0}
.woocommerce .review table.shop_table,.review .woocommerce-checkout-review-order-table{border:0;background:none;font-size:14px}
.woocommerce .review table.shop_table th{background:none;color:inherit;text-transform:none;letter-spacing:0;font:700 14px var(--body);padding:11px 0;border-bottom:1px solid var(--rule)}
.woocommerce .review table.shop_table td,.woocommerce .review table.shop_table tbody th,.woocommerce .review table.shop_table tfoot th{padding:11px 0;border-top:0;border-bottom:1px solid var(--rule);background:none}
.woocommerce .review table.shop_table tr:nth-child(even) td{background:none}
.woocommerce .review table.shop_table td:last-child,.woocommerce .review table.shop_table th:last-child{text-align:right}
.woocommerce .review table.shop_table .order-total th,.woocommerce .review table.shop_table .order-total td{font:800 20px var(--head);color:var(--ink);border:0}
.woocommerce-pagination{margin-top:20px;display:flex;gap:10px}
.tb-b2b-panel,.tb-b2b-status{border:1px solid var(--rule);border-top:4px solid var(--red);background:var(--paper);padding:22px;margin:20px 0}
@media (max-width:760px){
  .omni-fields{grid-template-columns:1fr}
  .omni-fields>.form-row-first,.omni-fields>.form-row-last{grid-column:1}
  .woocommerce-Addresses{grid-template-columns:1fr}
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive tr{display:block;border-top:1px solid var(--rule)}
  .woocommerce table.shop_table_responsive td{display:flex;justify-content:space-between;gap:12px;border:0;padding:10px 15px}
  .woocommerce table.shop_table_responsive td::before{content:attr(data-title);font:700 12px var(--head);text-transform:uppercase;color:var(--ink)}
}

/* ---------- Order tracking result ---------- */
.omni-track .woocommerce>p.order-info{border:1px solid var(--rule);border-top:3px solid var(--green);background:var(--paper);padding:14px 18px;font-weight:600;color:var(--ink)}
.omni-track .woocommerce>p.order-info mark{background:none;color:var(--indigo);font-weight:800}
.omni-track .woocommerce-order-details{margin-top:24px}

/* ---------- Reviews, comments ---------- */
.review-list{list-style:none;display:grid;gap:12px;margin:16px 0}
.review-list li{border:1px solid var(--rule);background:#fff;padding:16px 18px}
.review-list li p{margin:6px 0;color:var(--ink)}
.review-list small{color:var(--slate)}
.comments .form,#respond .form{margin-top:10px}
.comment-respond .comment-reply-title small a{font-size:13px;color:var(--red);margin-left:10px}
.comment-form-cookies-consent{display:flex;gap:10px;font-size:13px}
.logged-in-as{font-size:13.5px}
.logged-in-as a{color:var(--indigo)}

/* ---------- Post content blocks ---------- */
.post-body>*:first-child{margin-top:0}
.post-body .wp-block-image img,.post-body figure img{margin:20px 0}
.post-body .alignleft{float:left;margin:6px 20px 12px 0}
.post-body .alignright{float:right;margin:6px 0 12px 20px}
.post-body .aligncenter{margin-left:auto;margin-right:auto}
.wp-caption-text,.wp-element-caption{font-size:13px;color:var(--slate-l)}
.sticky,.bypostauthor,.gallery-caption{outline:0}

/* ---------- Pager links (WordPress paged URLs) ---------- */
.pager a,.pager span{min-width:44px}

/* Elementor resets figure margins inside widgets; the post figure overlaps the post head by design. */
.elementor .elementor-widget .post-fig{margin:-90px 0 34px!important}
wc-order-attribution-inputs{display:none}
