/* ==========================================================================
   Omnipre — Elementor adapter
   Loaded before the design system (omnipre.css). Native Elementor elements that carry design-system classes are reset to
   plain boxes here, so the design system styles them exactly like the static markup:
     .o-d  container whose layout comes from its CSS classes (Layout → "Layout from CSS classes")
     .o-c  element whose wrapper steps out of the layout (Advanced → "Wrapper steps out of the layout")
   Specificity sits between Elementor's base CSS (≤ 0,2,0) and the design system (+0,2,0); Elementor's per-element
   styles (Style tab, Custom CSS) still win.
   ========================================================================== */

/* ---------- containers ---------- */
.omni-ds .e-con.o-d.o-d{--display:block;--width:auto;--position:static;--min-height:auto;--overflow:visible;--z-index:auto;
	--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;
	--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;
	--flex-grow:initial;--flex-shrink:initial;--flex-basis:initial;--align-self:initial;--order:initial;
	min-width:auto;transition:none}
.omni-ds .e-con-full.o-d{text-align:inherit}
.omni-ds :is(span,a,b,small,label,time,cite).e-con.o-d{--display:inline}
.omni-ds :is(li,summary).e-con.o-d{--display:list-item}
.omni-ds :is(.elementor-section-wrap,[data-elementor-id])>.e-con.o-d{--margin-left:0px;--margin-right:0px}
.omni-ds .e-con.o-d:before{content:none;position:static;display:inline;top:auto;left:auto;width:auto;height:auto;border:0 none;opacity:1;mix-blend-mode:normal;transition:none}

/* ---------- widgets whose wrapper steps out ---------- */
.omni-ds .elementor-element.o-c,
.omni-ds .o-c>.elementor-widget-container{display:contents!important}

/* Elementor's responsive visibility keeps working on design-system elements */
@media (min-width:1367px){.omni-ds .elementor-element.elementor-element.elementor-hidden-desktop{display:none!important}}
@media (min-width:1025px) and (max-width:1366px){.omni-ds .elementor-element.elementor-element.elementor-hidden-laptop{display:none!important}}
@media (min-width:768px) and (max-width:1024px){.omni-ds .elementor-element.elementor-element.elementor-hidden-tablet{display:none!important}}
@media (max-width:767px){.omni-ds .elementor-element.elementor-element.elementor-hidden-mobile{display:none!important}}

/* ---------- Heading ---------- */
.omni-ds .elementor-heading-title{line-height:inherit}

/* ---------- Button: the link carries the design classes (btn btn-red …) ---------- */
.omni-ds .elementor-button{background:none;border-radius:0;color:inherit;fill:currentColor;font-size:inherit;line-height:inherit;padding:0;display:inline;text-align:inherit;transition:none}
.omni-ds .elementor-button:is(:hover,:focus,:visited){color:inherit}
.omni-ds .elementor-button-content-wrapper,.omni-ds .elementor-button-icon,.omni-ds .elementor-button-text{display:contents}

/* ---------- Icon ---------- */
.omni-ds .elementor-icon-wrapper,.omni-ds .elementor-icon{display:contents;font-size:inherit;color:inherit;line-height:inherit;fill:currentColor}
.omni-ds .elementor-icon i{display:var(--fa-display,inline-block);width:var(--fa-width,1.25em);height:auto;position:static}
.omni-ds .elementor-icon i:before{position:static;left:auto;transform:none}

/* ---------- WooCommerce product / category grids (cards from the theme's content-product.php) ---------- */
.omni-ds .elementor-widget-woocommerce-products>.elementor-widget-container,
.omni-ds .elementor-widget-wc-categories>.elementor-widget-container,
.omni-ds .elementor-widget-woocommerce-products .woocommerce,
.omni-ds .elementor-widget-wc-categories .woocommerce{display:contents}
.omni-ds .elementor-button .elementor-button-content-wrapper,.omni-ds .elementor-form .elementor-button>span{display:contents}
.omni-ds .elementor-button .elementor-button-text{white-space:inherit}

/* ---------- Search Form (design classes .search / .hero-search on the widget) ---------- */
.omni-ds .elementor-widget-search-form :is(search,.elementor-search-form__container){display:contents}
.omni-ds .elementor-search-form{transition:none}
.omni-ds .elementor-search-form :is(input[type=search],button){line-height:normal;font-size:inherit;display:block}
.omni-ds .elementor-search-form__input::placeholder{color:revert;opacity:revert;font-family:inherit}
.omni-ds .elementor-search-form__submit svg{display:none}
.omni-ds .elementor-search-form--button-type-icon .elementor-search-form__submit::before{content:"\f002";font:900 1em/1 "Font Awesome 7 Free";display:inline-block;width:1.25em;height:1em;text-align:center}
.omni-ds .elementor-search-form__submit .e-font-icon-svg-container{display:none}

/* ---------- Pro Form (fields carry the design classes .input / .select / .textarea; submit carries .btn) ---------- */
.omni-ds .omni-form .elementor-form-fields-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}
.omni-ds .omni-form .elementor-field-group{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:7px;width:auto;max-width:none;min-height:0;margin:0;padding:0;grid-column:1/-1}
.omni-ds .omni-form .elementor-field-group.elementor-col-50{grid-column:auto}
.omni-ds .omni-form .elementor-field-label{font:700 13px var(--head);color:var(--ink);padding:0;margin:0;flex-basis:auto}
.omni-ds .omni-form.elementor-widget-form .elementor-mark-required .elementor-field-label:after,.omni-ds .omni-form .elementor-mark-required .elementor-field-label:after{content:"*";color:var(--red);padding:0;white-space:normal}
.omni-ds .omni-form .elementor-select-wrapper{display:block}
.omni-ds.omni-ds .omni-form .elementor-select-wrapper select{width:100%;min-height:50px;border:1px solid var(--rule);background-color:#fff;padding:0 40px 0 15px;font:400 15px var(--body);color:var(--ink);transition:border-color .15s,box-shadow .15s;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--indigo) 50%),linear-gradient(135deg,var(--indigo) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px;background-repeat:no-repeat;border-radius:0;line-height:normal}
.omni-ds.omni-ds .omni-form .elementor-select-wrapper select:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(47,49,148,.15)}
.omni-ds .omni-form .elementor-select-wrapper .select-caret-down-wrapper,.omni-ds .omni-form .elementor-select-wrapper:before{display:none}
.omni-ds .omni-form .elementor-field-textual{border-radius:0;line-height:normal;flex-grow:0}
.omni-ds .omni-form .elementor-field-textual::placeholder{color:revert;opacity:revert;font-family:inherit}
.omni-ds .omni-form .elementor-field-type-acceptance .elementor-field-subgroup{display:block}
.omni-ds .omni-form .elementor-field-option{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer;padding:0}
.omni-ds .omni-form .elementor-field-option input{width:18px;height:18px;margin-top:2px;accent-color:var(--indigo);flex:none}
.omni-ds .omni-form .elementor-field-option label{cursor:pointer;display:inline;line-height:inherit;font-size:inherit}
.omni-ds .omni-form .elementor-field-type-html{display:block}
.omni-ds .omni-form .elementor-field-type-html:has(>span.hint:only-child){margin-top:-9px}
.omni-ds .form-card .omni-form .elementor-field-type-html>p{margin-bottom:22px}
.omni-ds .omni-form .elementor-field-type-html>.hint{display:block;font-size:12.5px;color:var(--slate-l)}
.omni-ds.omni-ds .omni-form.o-btn-block .e-form__buttons .elementor-button{flex:1 1 100%}
.omni-ds .omni-form .e-form__buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:flex-start;align-items:center}
.omni-ds.omni-ds .omni-form .elementor-field-type-submit .elementor-button{flex-basis:auto}
.omni-ds .omni-form .elementor-message{margin:12px 0 0;font-size:14px}
.omni-ds .omni-form .elementor-form{flex:1;min-width:0}
.omni-ds .omni-form.news .elementor-form-fields-wrapper{display:flex;gap:0}
.omni-ds .omni-form.news .elementor-field-group{flex:1;min-width:0}
.omni-ds .omni-form.news .elementor-field-group.e-form__buttons{flex:none}
@media (max-width:767px){.omni-ds .omni-form .elementor-form-fields-wrapper{grid-template-columns:1fr}}

/* ---------- Countdown (design .countdown on the widget) ---------- */
.omni-ds.omni-ds .countdown .elementor-countdown-digits{display:block;font:900 30px/1 var(--head);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:normal;text-transform:none}
.omni-ds.omni-ds .countdown.big .elementor-countdown-digits{font-size:48px}
.omni-ds.omni-ds .countdown .elementor-countdown-label{display:inline;font:700 10.5px var(--head);letter-spacing:.14em;text-transform:uppercase;color:#C9CFEF;line-height:normal}
@media (max-width:767px){.omni-ds.omni-ds .countdown .elementor-countdown-digits{font-size:24px}.omni-ds.omni-ds .countdown.big .elementor-countdown-digits{font-size:32px}}

/* ---------- Nested Accordion (design .acc on the widget: details / summary like the static FAQ) ---------- */
.omni-ds .elementor-widget-n-accordion.acc{--n-accordion-border-width:0px;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-padding:0px;--n-accordion-title-font-size:inherit;--n-accordion-icon-size:13px}
.omni-ds .acc .e-n-accordion-item{display:block}
.omni-ds .acc .e-n-accordion-item-title{border:0;border-radius:0;background:none;color:inherit;margin:0}
.omni-ds .acc .e-n-accordion-item-title-header,.omni-ds .acc .e-n-accordion-item-title-text{display:contents;font-size:inherit}
.omni-ds .acc .e-n-accordion-item-title-icon{order:2;display:contents}
.omni-ds .acc .e-n-accordion-item-title-icon span{height:auto}
.omni-ds .acc .e-n-accordion-item-title-icon span>i{color:inherit;font-size:13px}
.omni-ds .acc .e-n-accordion-item>.e-con{border:0}

/* ---------- Loop Grid (design grid classes on the widget; each loop item is a grid cell) ---------- */
.omni-ds .elementor-widget-loop-grid>.elementor-widget-container,.omni-ds .elementor-widget-loop-grid :is(.elementor-loop-container,.e-loop-item){display:contents}
.omni-ds .elementor-widget-loop-grid .e-load-more-anchor,.omni-ds .elementor-widget-loop-grid .elementor-pagination{grid-column:1/-1}

/* ---------- Post Info as the design's "Category · Date" line (.pc-meta) ---------- */
.omni-ds.omni-ds .pc-meta :is(.elementor-post-info,.elementor-icon-list-item,.elementor-icon-list-text,.elementor-post-info__terms-list){display:contents}
.omni-ds .pc-meta .elementor-icon-list-item+.elementor-icon-list-item::before{content:"·"}
.omni-ds.omni-ds .pc-meta .elementor-post-info__terms-list-item{font:700 11.5px var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}

/* ---------- WordPress "Navigation Menu" widget (main menu, mobile menu): the list is the design's ul.menu ---------- */
.omni-ds .elementor-widget-wp-widget-nav_menu>.elementor-widget-container,
.omni-ds .elementor-widget-wp-widget-nav_menu :is(nav,div)[class$="-container"]{display:contents}
.omni-ds .nav ul.menu:not(.is-ready) .sub-menu,.omni-ds #omni-mega{display:none}
.omni-ds .menu>li>#omni-mega,.omni-ds.elementor-editor-active #omni-mega{display:grid}
.omni-ds.elementor-editor-active #omni-mega{position:static;opacity:1;visibility:visible;transform:none}
.omni-ds .mnav .mnav-menu ul.menu{display:none}

/* ---------- Taxonomy Filter as the design's category strip (.sub-strip on the widget) ---------- */
.omni-ds .sub-strip .e-filter{display:contents}
.omni-ds.omni-ds .sub-strip .e-filter-item{flex:none;border:1px solid rgba(255,255,255,.3);color:#E3E6F7;padding:8px 14px;font:600 13.5px var(--body);background:none;border-radius:0;max-width:none;overflow:visible;white-space:normal;cursor:pointer;text-align:inherit}
.omni-ds.omni-ds .sub-strip .e-filter-item:hover,.omni-ds.omni-ds .sub-strip .e-filter-item[aria-pressed=true]{background:#fff;color:var(--indigo);border-color:#fff}
.omni-ds.omni-ds .sub-strip.on-light .e-filter-item{color:var(--slate);border:1px solid var(--rule)}
.omni-ds.omni-ds .sub-strip.on-light .e-filter-item:hover,.omni-ds.omni-ds .sub-strip.on-light .e-filter-item[aria-pressed=true]{background:var(--indigo);color:#fff;border-color:var(--indigo)}

/* ---------- Loop Grid pagination as the design pager ---------- */
.omni-ds.omni-ds .elementor-pagination{display:flex;justify-content:center;gap:6px;margin-top:30px}
.omni-ds.omni-ds .elementor-pagination>*{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);font:700 14px var(--head);color:var(--ink);margin:0}
.omni-ds.omni-ds .elementor-pagination .current{background:var(--indigo);border-color:var(--indigo);color:#fff}

/* ---------- Post navigation (previous / next buttons) ---------- */
.omni-ds .post-nav .elementor-button.next{grid-column:2}
@media (max-width:767px){.omni-ds .post-nav .elementor-button.next{grid-column:auto}}

/* ---------- single product (Pro Woo widgets) ---------- */
.omni-ds .elementor-add-to-cart,.omni-ds .elementor-widget-woocommerce-product-upsell>.elementor-widget-container,.omni-ds .elementor-widget-woocommerce-product-related>.elementor-widget-container{display:contents}
.omni-ds .pdp-ups:not(:has(.card)){display:none!important}
.omni-ds .pdp-ups:not(:has(.card))+.pdp-rel{margin-top:56px}
.omni-ds .pdp-rel:not(:has(.card)){display:none!important}
.omni-ds.omni-ds .sec.pdp-ups{padding-top:56px}
.omni-ds.omni-ds .sec.pdp-rel{margin-top:0}
.omni-ds.omni-ds .pdp-ups:not(:has(.card))+.pdp-rel{margin-top:56px}
.omni-ds.omni-ds .pmeta>.e-con:not(:has(>.elementor-element:nth-child(2))){display:none!important}

/* ---------- WooCommerce Pages widget (checkout / account / tracking) ---------- */
.omni-ds.omni-ds .woocommerce p.form-row{max-width:none}
.omni-ds.omni-ds.woocommerce-order-received .omni-co-head{display:none}
.omni-ds.omni-ds.woocommerce-order-received .omni-checkout:not(#o){padding:0;max-width:none}
.omni-ds.omni-ds.logged-in .omni-co-head .notice{display:none}
