/* iVstore product configurator.
   Every rule below is prefixed with .iv-op so it scores (0,2,0)+. A bare
   .iv-op__select is (0,1,0) and loses to WooCommerce's .woocommerce select
   (0,1,1), which paints var(--ast-global-dark-bg-style,#fff) - that is what
   turned the dropdown white on the dark theme. */
.iv-op{margin:24px 0 10px;display:flex;flex-direction:column;gap:22px}
.iv-op .iv-op__group{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.iv-op .iv-op__legend{padding:0;margin:0 0 2px;float:none;width:auto;font:600 15px/1.35 Onest,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--e-global-color-primary,#A5D400)}
.iv-op .iv-op__select{width:100%;padding:15px 44px 15px 16px;border:1px solid var(--e-global-color-bordr,#232B38);border-radius:12px;background-color:var(--e-global-color-surf1,#141922);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2714%27%20height%3D%279%27%20viewBox%3D%270%200%2014%209%27%3E%3Cpath%20d%3D%27M1%201l6%206%206-6%27%20fill%3D%27none%27%20stroke%3D%27%2393A0B2%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 16px center;color:var(--e-global-color-text,#EDF2F8);font:600 16px/1.3 Onest,sans-serif;cursor:pointer;-webkit-appearance:none;appearance:none;height:auto;line-height:1.3}
.iv-op .iv-op__select option{background-color:#141922;color:#EDF2F8}
.iv-op .iv-op__select:focus{outline:none;border-color:var(--e-global-color-primary,#A5D400);box-shadow:0 0 0 3px rgba(165,212,0,.16)}
.iv-op .iv-op__row{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:0;border:1px solid var(--e-global-color-bordr,#232B38);border-radius:12px;background:var(--e-global-color-surf1,#141922);cursor:pointer;transition:border-color .2s,background .2s}
.iv-op .iv-op__row:hover{border-color:var(--e-global-color-primary,#A5D400)}
.iv-op .iv-op__row input{position:absolute;opacity:0;width:0;height:0;margin:0}
.iv-op .iv-op__box,.iv-op .iv-op__dot{flex:0 0 auto;width:20px;height:20px;border:1px solid var(--e-global-color-bordr,#232B38);background:#0B0E13;position:relative;transition:border-color .2s,background .2s}
.iv-op .iv-op__box{border-radius:6px}
.iv-op .iv-op__dot{border-radius:50%}
.iv-op .iv-op__row input:checked~.iv-op__box,.iv-op .iv-op__row input:checked~.iv-op__dot{border-color:var(--e-global-color-primary,#A5D400);background:var(--e-global-color-primary,#A5D400)}
.iv-op .iv-op__row input:checked~.iv-op__box:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:10px;border:solid #0B1400;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
.iv-op .iv-op__row input:checked~.iv-op__dot:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#0B1400}
.iv-op .iv-op__row input:focus-visible~.iv-op__box,.iv-op .iv-op__row input:focus-visible~.iv-op__dot{outline:3px solid var(--e-global-color-primary,#A5D400);outline-offset:2px}
.iv-op .iv-op__row:has(input:checked){border-color:var(--e-global-color-primary,#A5D400);background:rgba(165,212,0,.06)}
.iv-op .iv-op__text{display:flex;flex-direction:column;gap:3px;flex:1 1 auto}
.iv-op .iv-op__label{font:700 16px/1.4 Onest,sans-serif;color:var(--e-global-color-text,#EDF2F8)}
.iv-op .iv-op__desc{font:400 15px/1.5 Onest,sans-serif;color:var(--e-global-color-muted,#93A0B2)}
.iv-op .iv-op__price{flex:0 0 auto;font:700 15px/1.35 Onest,sans-serif;color:var(--e-global-color-primary,#A5D400);white-space:nowrap}
.iv-op .iv-op__price--free{color:var(--e-global-color-muted,#93A0B2);font-weight:600}
.iv-op .iv-op__price .woocommerce-Price-amount{color:inherit}
.iv-op .iv-op__total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--e-global-color-primary,#A5D400);border-radius:14px;background:rgba(165,212,0,.07)}
.iv-op .iv-op__total-label{font:600 15px/1.35 Onest,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--e-global-color-muted,#93A0B2)}
.iv-op .iv-op__total-value{font:800 30px/1.12 Onest,sans-serif;letter-spacing:-0.5px;color:var(--e-global-color-primary,#A5D400)}
.iv-op .iv-op__total-value .woocommerce-Price-amount{color:inherit}
.iv-op .iv-op__total.is-updating .iv-op__total-value{opacity:.55;transition:opacity .12s}
.iv-from{color:var(--e-global-color-muted,#93A0B2);font-weight:600}
@media(max-width:600px){.iv-op .iv-op__row{padding:13px 14px}.iv-op .iv-op__price{font-size:15px}.iv-op .iv-op__label{font-size:15px}.iv-op .iv-op__total-value{font-size:25px}}

/* --- form layout + CTA sizing ------------------------------------------
   1. Elementor's add-to-cart stylesheet sets form.cart to display:flex/nowrap so
      a quantity box can sit beside the button. The configurator is injected into
      that row, which made the button a full-height column beside it.
   2. Padding/font-size are set here rather than on the widget because Elementor
      generates .elementor-288 .elementor-element-73cbae3 .cart button = (0,4,1),
      which loses to WooCommerce's .woocommerce-js div.product form.cart
      .button.single_add_to_cart_button = (0,5,2). This selector is (0,6,2).
      Colour, hover and radius still come from the native widget controls. */
body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-simple form.cart:not(.grouped_form):not(.variations_form){flex-direction:column;align-items:stretch;flex-wrap:wrap;gap:0}
body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-simple form.cart .quantity{display:none}
body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-simple form.cart .iv-op{width:100%;margin:24px 0 0}
body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-simple form.cart .single_add_to_cart_button{display:block;width:100%;height:auto;min-height:0;margin:20px 0 0;padding:18px 28px;font-size:16px;line-height:1.25;text-align:center}
@media(max-width:600px){body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-simple form.cart .single_add_to_cart_button{padding:16px 20px;font-size:16px}}

/* --- stacked order ------------------------------------------------------
   The trust badges live in the gallery column so the left side is not empty on
   desktop. Below 1024px that column stacks first, which pushed the title, price
   and options below the fold. display:contents lifts the column's children into
   the row so they can be reordered around the summary. */
@media(max-width:1024px){
.elementor-288 .elementor-element-8979ea4{display:contents}
.elementor-288 .elementor-element-8bcfaf1{order:1}
.elementor-288 .elementor-element-d146800{order:2}
.elementor-288 .elementor-element-749f2b7{order:3}
.elementor-288 .elementor-element-da12706{order:4}
.elementor-288 .elementor-element-f6df6b5{order:5}
.elementor-288 .elementor-element-99aefa5{order:6}
.elementor-288 .elementor-element-749f2b7{padding-top:22px}
}

/* Единый стандарт кнопок (iv-btn-standard).
   Elementor сам добавляет transition:all .2s виджету корзины, как только
   заданы цвета наведения; в настройках виджета этого не отключить.
   Его селектор (0,2,1) перебивал общее правило, поэтому здесь (0,5,2). */
body.single-product .elementor-widget-woocommerce-product-add-to-cart
  .elementor-add-to-cart form.cart .single_add_to_cart_button{transition:none}

/* Зонирование покупки: каждая группа — пронумерованный шаг в своём блоке. */
.iv-op .iv-op__step{border:1px solid var(--e-global-color-bordr,#232B38);border-radius:14px;
  padding:20px;margin:0 0 14px;background:var(--e-global-color-bgalt,#0F131A)}
.iv-op .iv-op__head{display:flex;align-items:center;gap:10px;margin:0 0 4px}
.iv-op .iv-op__num{display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;flex:0 0 24px;
  background:var(--e-global-color-primary,#A5D400);color:var(--e-global-color-ongrn,#0B1400);
  font:700 14px/1 Onest,sans-serif}
.iv-op .iv-op__step-title{font:700 16px/1.2 Onest,sans-serif;color:var(--e-global-color-text,#EDF2F8)}
.iv-op .iv-op__step .iv-op__legend{margin:0 0 14px;padding-left:34px;
  font:400 15px/1.4 Onest,sans-serif;color:var(--e-global-color-muted,#93A0B2)}
.iv-op .iv-op__rows{display:flex;flex-direction:column;gap:8px}
.iv-op .iv-op__step--sum .iv-op__total{margin:0}
@media(max-width:767px){
  .iv-op .iv-op__step{padding:16px}
  .iv-op .iv-op__step .iv-op__legend{padding-left:0}
}

/* Товары-аккаунты: возврат средств к ним не применяется.
   display:none убирает ячейку и из дерева доступности, а не только визуально. */
body.iv-acc .elementor-288 .elementor-element-99aefa5{display:none}

/* Фигурки: оплата картой и возврат средств к ним не относятся — остаются
   две ячейки: наличие и ручная покраска. e0bd294 — подзаголовок второй
   ячейки, у «Ручной покраски» второй строки нет.
   Тексты и иконки подменяются в novamira-sandbox/ivstore-figures-strip.php */
body.iv-fig .elementor-288 .elementor-element-f6df6b5,
body.iv-fig .elementor-288 .elementor-element-99aefa5,
body.iv-fig .elementor-288 .elementor-element-e0bd294{display:none}

/* Однострочная ячейка иначе прижимается к верху рядом с двухстрочной. */
body.iv-fig .elementor-288 .elementor-element-da12706{align-items:center}


/* Фигурки покупаются той же кнопкой, что и услуги GTA, но тип товара у них
   `figures`, и Elementor рисует .elementor-product-figures — правила выше,
   привязанные к .elementor-product-simple, мимо. До появления цен это не было
   видно: без цены товар не purchasable и кнопка не рисовалась вовсе. */
body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-figures form.cart{flex-direction:column;align-items:stretch;flex-wrap:wrap;gap:0}
body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-figures form.cart .quantity{display:none}
body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-figures form.cart .single_add_to_cart_button{display:block;width:100%;height:auto;min-height:0;margin:20px 0 0;padding:18px 28px;font-size:16px;line-height:1.25;text-align:center;transition:none}
@media(max-width:600px){body.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart.elementor-product-figures form.cart .single_add_to_cart_button{padding:16px 20px;font-size:16px}}
