.otw-tz-wrap{max-width:760px;margin:0 auto;direction:rtl}

.otw-tz-card{background:#e9edf4;border:1px solid #0e1b2f;border-radius:0;box-shadow:none}
.otw-tz-card-header{background:#0e1b2f;color:#fff;padding:16px 18px;font-weight:800;font-size:22px;line-height:1.2;text-align:center}
.otw-tz-card-body{padding:26px 34px 18px}

.otw-tz-row{margin-bottom:18px}
.otw-tz-row label{display:block;font-weight:800;margin-bottom:10px;color:#0e1b2f;text-align:right}

/* Regular inputs (name/phone/email) */
.otw-tz-row input{
  width:100%;
  box-sizing:border-box;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #caa56d;
  border-radius:3px;
  background:#fff;
  outline:none
}

/* Hosted Fields wrapper (must NOT look like an input) */
.otw-tz-hf{
  width:100%;
  box-sizing:border-box;
  height:52px;
  min-height:52px;
  padding:10px 12px;
  border:1px solid #caa56d;
  border-radius:3px;
  background:#fff;
  display:flex;
  align-items:center;
}

.otw-tz-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.otw-tz-two-col .otw-tz-row{margin-bottom:0}

.otw-tz-actions{margin-top:26px;text-align:center}
#otw_tz_pay_btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:260px;padding:12px 28px;border:0;border-radius:6px;cursor:pointer;font-weight:800;background:#0e1b2f;color:#fff;box-shadow:0 10px 18px rgba(0,0,0,.18)}
#otw_tz_pay_btn:hover{filter:brightness(1.05)}
#otw_tz_pay_btn.is-loading{opacity:.8;cursor:wait}

.otw-tz-loader{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:otwspin .8s linear infinite}
@keyframes otwspin{to{transform:rotate(360deg)}}

.otw-tz-footnote{margin-top:18px;text-align:center;color:#0e1b2f;font-weight:700}

#otw_tz_error{margin-top:14px;color:#b00020;font-weight:700;text-align:center}
#otw_tz_success{display:none;margin-bottom:14px;padding:14px;border-radius:6px;border:1px solid #cfe9cf;background:#f2fbf2}

@media (max-width: 640px){
  .otw-tz-card-body{padding:18px 16px}
  .otw-tz-two-col{grid-template-columns:1fr}
  #otw_tz_pay_btn{width:100%;min-width:0}
}

/* ======================================
   Elementor Hosted Fields Height Fix
   ====================================== */

.elementor-widget-shortcode 
#otw_tz_form 
iframe {
  height: 52px !important;
  min-height: 52px !important;
}

/* Also force wrapper divs */
#otw_tz_cc,
#otw_tz_id,
#otw_tz_cvv,
#otw_tz_expiry {
  height: 52px !important;
  min-height: 52px !important;
}

/* Sometimes Tranzila nests another div */
#otw_tz_cc iframe,
#otw_tz_id iframe,
#otw_tz_cvv iframe,
#otw_tz_expiry iframe {
  height: 52px !important;
  min-height: 52px !important;
  width: 100% !important;
  display: block !important;
}


/* The generated iframe inside those divs */
#otw_tz_cc iframe,
#otw_tz_id iframe,
#otw_tz_cvv iframe,
#otw_tz_expiry iframe{
  height: 52px !important;
  min-height: 52px !important;
  width: 100% !important;
  display: block;
}

/* Make regular customer inputs full width */
#otw_tz_full_name,
#otw_tz_phone,
#otw_tz_email{
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  box-sizing: border-box !important;
}

/* Make sure their parent row isn't collapsing */
.otw-tz-row,
.otw-tz-two-col{
  width: 100% !important;
}

/* If you used flex anywhere, prevent shrinking */
.otw-tz-row input,
.otw-tz-two-col input{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Prevent "double input" look: wrapper should not look like an input */
#otw_tz_cc,
#otw_tz_id,
#otw_tz_cvv,
#otw_tz_expiry{
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Make hosted iframes fill the wrapper height */
.otw-tz-hf iframe{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  display:block !important;
}

#otw_tz_cc, #otw_tz_id, #otw_tz_cvv, #otw_tz_expiry{
  height:52px !important;
}

#otw_tz_cc iframe, #otw_tz_id iframe, #otw_tz_cvv iframe, #otw_tz_expiry iframe{
  height:100% !important;
}

/* Hosted Fields: wrapper should look like the input */
#otw_tz_cc,
#otw_tz_id,
#otw_tz_cvv,
#otw_tz_expiry{
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  box-sizing: border-box !important;
  padding: 0 !important;                 /* no padding here (iframe fills) */
  border: 1px solid #caa56d !important;  /* single border */
  border-radius: 3px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;           /* prevents inner visual “double” */
}

#otw_tz_cc iframe,
#otw_tz_id iframe,
#otw_tz_cvv iframe,
#otw_tz_expiry iframe{
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
}

#otw_tz_form > div:nth-child(3) {
    padding-top: 20px;
}