/* Citricus Order Request: overlay and one-step form.
   Colours arrive as custom properties set inline by the plugin. */

.cor-overlay [hidden]{ display:none !important }

.cor-overlay{
  position:fixed; inset:0; z-index:2147483000;
  display:none; align-items:center; justify-content:center;
  padding:16px; overflow-y:auto; overscroll-behavior:contain;
  background:rgba(22,48,43,.82);
  opacity:0; transition:opacity .22s ease;
}
.cor-overlay.is-open{ display:flex }
.cor-overlay.is-visible{ opacity:1 }

.cor-modal{
  position:relative; width:100%; max-width:480px; margin:auto;
  background:#fff; border-radius:20px; overflow:hidden;
  box-shadow:0 40px 90px rgba(10,24,20,.45);
  transform:translateY(12px) scale(.98); transition:transform .28s cubic-bezier(.22,1,.36,1);
}
.cor-overlay.is-visible .cor-modal{ transform:none }

.cor-close{
  position:absolute; top:12px; right:12px; z-index:3;
  width:40px; height:40px; border:0; border-radius:50%;
  background:rgba(255,255,255,.18); color:#fff; font-size:22px; line-height:1; cursor:pointer;
}
.cor-close:hover{ background:rgba(255,255,255,.32) }

.cor-head{
  background:linear-gradient(150deg,var(--cor-dark,#16302B),var(--cor-primary,#2E5E55));
  color:#fff; padding:28px 26px 22px;
}
.cor-title{ margin:0 0 .4em; font-size:1.35rem; line-height:1.2; color:#fff; font-weight:800; padding-right:36px }
.cor-sub{ margin:0; font-size:.92rem; line-height:1.5; color:rgba(255,255,255,.84) }

.cor-body{ padding:20px 26px 24px }

.cor-product{
  display:flex; justify-content:space-between; gap:1rem; align-items:center;
  background:#F8F6F2; border:1px solid #E6E2DA; border-radius:12px;
  padding:.8rem 1rem; margin-bottom:16px; font-size:.93rem;
}
.cor-product-name{ font-weight:700; color:#1E1C1C }
.cor-product-price{ font-weight:800; color:var(--cor-primary,#2E5E55); white-space:nowrap }

.cor-field{ display:flex; flex-direction:column; gap:.3rem; margin-bottom:12px }
.cor-field label{ font-size:.86rem; font-weight:700; color:#1E1C1C }
.cor-req{ color:#B4553A }
.cor-field input{
  min-height:50px; border:1px solid #DAD5CB; border-radius:12px; padding:.7rem .95rem;
  font:inherit; font-size:16px; background:#fff; color:#1E1C1C;
}
.cor-field input:focus{ outline:none; border-color:var(--cor-primary,#2E5E55); box-shadow:0 0 0 3px rgba(46,94,85,.18) }
.cor-field input.is-bad{ border-color:#B4553A; box-shadow:0 0 0 3px rgba(180,85,58,.15) }

.cor-hp{ position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden }

.cor-err{ background:#FBEDEA; color:#5C2417; border-radius:10px; padding:.6rem .8rem; font-size:.88rem; margin:4px 0 12px }

.cor-send,.cor-close-btn{
  width:100%; min-height:54px; border:0; border-radius:999px; cursor:pointer;
  background:var(--cor-primary,#2E5E55); color:#fff;
  font:inherit; font-weight:800; font-size:1.02rem;
  transition:background-color .15s ease, transform .1s ease;
}
.cor-send:hover,.cor-close-btn:hover{ background:var(--cor-dark,#16302B) }
.cor-send:active{ transform:translateY(1px) }
.cor-send:disabled{ opacity:.65; cursor:wait }
.cor-consent{ font-size:.78rem; color:#7A7673; text-align:center; margin:10px 0 0 }

.cor-done{ text-align:center; padding:8px 0 4px }
.cor-done-icon{
  width:62px; height:62px; border-radius:50%; margin:0 auto 12px; display:grid; place-items:center;
  background:#EEF3F1; color:var(--cor-primary,#2E5E55); font-size:28px; font-weight:800;
}
.cor-done h3{ margin:0 0 .4em; font-size:1.25rem; outline:none }
.cor-done p{ color:#4B4846; margin:0 0 18px }

/* Buttons the plugin renders on product screens */
.cor-single{ margin:0 0 1.25rem }
.cor-single-btn{ width:100%; min-height:56px!important; font-size:1.05rem!important }
.cor-single-note{ font-size:.82rem; color:#7A7673; margin:.5rem 0 0; text-align:center }
.cor-shop-notice{
  clear:both; background:#FAF4EA; border:1px solid #EADBC2; color:#5B4520;
  border-radius:12px; padding:.75rem 1rem; font-size:.92rem; margin:0 0 1.25rem;
}
