/* ============================================================
   «Цена по запросу» (ТЗ ERP #823): кнопка на карточке и окно
   «Узнать цену». Грузится только на карточке товара с признаком
   (inc/price-on-request.php); плитка и сама надпись цены — инлайном
   к main.css там же.
   ============================================================ */

.olio-por-cta{ margin:0; }
/* Та же пилюля, что «В корзину» (main.css, form.cart .single_add_to_cart_button). */
.woocommerce .olio-por-cta__btn.button,
.woocommerce .olio-por-form__submit.button,
.olio-por-cta__btn.button,
.olio-por-form__submit.button{
  font-family:var(--font-base); font-weight:300; font-size:var(--fs-base);
  letter-spacing:5px; text-transform:uppercase; padding:16px 40px;
  color:var(--c-text); background:var(--c-bg);
  border:1px solid var(--c-text); border-radius:100px;
  cursor:pointer;
}
.woocommerce .olio-por-cta__btn.button:hover,
.woocommerce .olio-por-form__submit.button:hover,
.olio-por-cta__btn.button:hover,
.olio-por-form__submit.button:hover{ color:#fff; background:var(--c-text); }
.olio-por-form__submit.button:disabled{ opacity:.5; cursor:wait; }

.olio-por-dialog{
  width:min(480px, calc(100vw - 2 * var(--space-sm)));
  max-height:calc(100dvh - 2 * var(--space-sm));
  padding:var(--space-md);
  border:0;
  border-radius:var(--radius);
  background:var(--c-bg);
  color:var(--c-text);
  box-shadow:0 12px 40px rgba(0,0,0,.18);
  overflow:auto;
}
.olio-por-dialog::backdrop{ background:rgba(26,26,26,.55); }

.olio-por-dialog__close-form{ margin:0; }
.olio-por-dialog__close{
  position:absolute;
  top:var(--space-xs);
  right:var(--space-xs);
  width:40px;
  height:40px;
  padding:0;
  border:0;
  background:none;
  color:var(--c-muted);
  font-size:var(--fs-xl);
  line-height:1;
  cursor:pointer;
}
.olio-por-dialog__close:hover{ color:var(--c-text); }

.olio-por-dialog__product{
  display:flex;
  align-items:center;
  gap:var(--space-sm);
  margin-bottom:var(--space-md);
  padding-right:var(--space-lg);
}
.olio-por-dialog__img{
  flex:0 0 auto;
  width:72px;
  height:auto;
  border-radius:calc(var(--radius) / 2);
}
.olio-por-dialog__title{
  margin:0;
  font-size:var(--fs-lg);
  line-height:1.2;
}
.olio-por-dialog__name{
  margin:4px 0 0;
  font-size:var(--fs-sm);
  color:var(--c-muted);
}

.olio-por-form{
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
}
.olio-por-form[hidden]{ display:none; }
.olio-por-form__row{
  display:flex;
  gap:var(--space-sm);
}
.olio-por-form__field--method{ flex:0 0 40%; }
.olio-por-form__field--detail{ flex:1 1 auto; min-width:0; }
.olio-por-form__field{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0;
  font-size:var(--fs-sm);
  color:var(--c-muted);
}
.olio-por-form__field input,
.olio-por-form__field select,
.olio-por-form__field textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--c-border);
  border-radius:calc(var(--radius) / 2);
  background:var(--c-bg);
  color:var(--c-text);
  font:inherit;
  font-size:var(--fs-base);
}
.olio-por-form__field input:focus,
.olio-por-form__field select:focus,
.olio-por-form__field textarea:focus{
  outline:2px solid var(--c-text);
  outline-offset:-1px;
}
.olio-por-form__field textarea{ resize:vertical; }

.olio-por-form__hp{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* Согласие ПДн — тот же вид, что в content-pages.css (там он только для страниц). */
.olio-por-form .olio-consent{
  display:flex;
  align-items:flex-start;
  gap:var(--space-xs);
  margin:0;
  text-align:left;
}
.olio-por-form .olio-consent__input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--c-text);
  cursor:pointer;
}
.olio-por-form .olio-consent__text{
  margin:0;
  font-size:var(--fs-sm);
  font-weight:300;
  line-height:1.4;
  color:var(--c-muted);
  cursor:pointer;
}
.olio-por-form .olio-consent__text a{ color:var(--c-text); text-decoration:underline; }

.olio-por-form__status{
  margin:0;
  min-height:1.4em;
  font-size:var(--fs-sm);
  color:var(--c-muted);
}
.olio-por-form__status:empty{ min-height:0; }
.olio-por-form__status.is-error{ color:var(--c-accent); }
.olio-por-form__submit{ align-self:flex-start; }

.olio-por-dialog__done{
  margin:0;
  padding:var(--space-sm) 0;
  font-size:var(--fs-md);
  line-height:1.4;
  color:#3a7a52;
}

@media (max-width:600px){
  .olio-por-dialog{ padding:var(--space-sm); }
  .olio-por-form__row{ flex-direction:column; }
  .olio-por-form__field--method{ flex-basis:auto; }
  .olio-por-form__submit.button,
  .olio-por-cta__btn.button{ width:100%; box-sizing:border-box; padding:var(--space-sm) var(--space-md); }
}
