/* ==========================================================
   CBP Theme-Proof Reset (scoped)
   Fix: fields overflow / weird margins / width issues across themes
   ========================================================== */

.cbp_wrap,
.cbp_wrap * {
  box-sizing: border-box !important;
}

.cbp_wrap {
  width: 100% !important;
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  direction: rtl;
  font-family: Arial, sans-serif;
}

/* Direction overrides (new option) */
.cbp_wrap.cbp_dir_ltr{
  direction:ltr !important;
  text-align:left;
}
.cbp_wrap.cbp_dir_ltr input,
.cbp_wrap.cbp_dir_ltr select,
.cbp_wrap.cbp_dir_ltr textarea{
  direction:ltr !important;
  text-align:left;
}
.cbp_wrap.cbp_dir_rtl{
  direction:rtl !important;
}

.cbp_form {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.cbp_card {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
}

/* Force inputs/selects to stay inside the card in ALL themes */
.cbp_wrap input,
.cbp_wrap select,
.cbp_wrap button,
.cbp_wrap textarea {
  max-width: 100% !important;
}

.cbp_field input,
.cbp_field select,
.cbp_field textarea {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  transform: none !important;
}

/* Some themes style selects strangely */
.cbp_field select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-clip: padding-box;
}

/* Fix buttons baseline in some themes */
.cbp_wrap button {
  line-height: normal !important;
}

/* ==========================================================
   COD Booster Pro — Phase 1 UI (Minimal / Mobile-like on Desktop)
   ========================================================== */

:root{
  --cbp-primary:#b83375;
  --cbp-button:#b83375;
  --cbp-border:rgba(0,0,0,.12);
  --cbp-shadow:0 10px 26px rgba(0,0,0,.06);
}

/* Page wrapper */
.cbp_wrap{
  max-width:760px;
  margin:18px auto;
  padding:0 12px;
  direction: rtl;
  font-family: Arial, sans-serif;
}

/* Top header OUTSIDE card */
.cbp_top{
  margin-bottom:10px;
  text-align:center;
}

.cbp_title{
  margin:0;
  font-size:22px;
  font-weight:900;
  color:#111;
  line-height:1.25;
  word-break:break-word;
}

.cbp_price_line{
  margin-top:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.cbp_unit_price{
  font-size:20px;
  font-weight:900;
  color:var(--cbp-primary);
}

/* Old price NOT bold, normal size */
.cbp_unit_price del,
.cbp_unit_price del *{
  font-weight: 400 !important;
  opacity: .65;
  font-size: inherit !important;
}
.cbp_unit_price ins,
.cbp_unit_price ins *{
  font-weight: 900 !important;
  text-decoration: none !important;
}

.cbp_heading_text{
  margin-top:8px;
  font-size:13px;
  color:#666;
  line-height:1.6;
}

/* Card */
.cbp_card{
  background:var(--cbp-card-bg,#fff);
  border:1px solid var(--cbp-border);
  border-radius:var(--cbp-radius-card,22px);
  box-shadow:var(--cbp-shadow);
  overflow:hidden;
}

/* Inside spacing */
.cbp_body{
  padding:14px 14px 10px;
}

/* Grid */
.cbp_grid_2{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}

@media (min-width: 768px){
  .cbp_grid_2{ grid-template-columns: 1fr 1fr; }
}

/* Fields */
.cbp_field{ margin:0; }

.cbp_field input,
.cbp_field select{
  width:100%;
  padding:14px 14px;
  border:1.5px solid var(--cbp-input-border, rgba(0,0,0,.14));
  border-radius:var(--cbp-radius-field,14px);
  font-size:15px;
  outline:none;
  background:var(--cbp-input-bg,#fff);
}

.cbp_field input::placeholder{
  color:#999;
  font-weight:700;
}

.cbp_field input:focus,
.cbp_field select:focus{
  border-color: var(--cbp-primary);
  box-shadow: 0 0 0 4px var(--cbp-focus-ring, rgba(0,0,0,.10));
}


/* Phone error line */
.cbp_phone_error{
  margin-top:6px;
  font-size:12px;
  font-weight:800;
  color:#b00020;
  min-height:16px;
}

/* Qty row (smaller) */
.cbp_qty_wrap{
  margin-top:10px;
}

.cbp_qty_row{
  display:flex;
  align-items:center;
  gap:8px;
}

.cbp_qty_btn{
  width:38px;
  height:38px;
  border-radius:calc(var(--cbp-radius-field,14px) - 2px);
  border:1px solid rgba(0,0,0,.14);
  background:var(--cbp-input-bg,#fff);
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  flex:0 0 auto;
}

.cbp_qty_input{
  flex:1;
  min-width:90px;
  text-align:center;
  padding:10px 12px;
  border-radius:var(--cbp-radius-field,14px);
  border:1.5px solid var(--cbp-input-border, rgba(0,0,0,.14));
  font-size:15px;
  height:38px;
}

/* ==========================================================
   Summary (collapsible)
   ========================================================== */

.cbp_summary{
  margin-top:12px;
  border-top:1px solid var(--cbp-summary-border, rgba(0,0,0,.08));
  padding-top:10px;
}

.cbp_summary_head{
  background: var(--cbp-summary-bg, transparent);
  color: var(--cbp-summary-text, inherit);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  padding:10px 10px;
  border:1px dashed rgba(0,0,0,.18);
  border-radius:var(--cbp-radius-field,14px);
}

.cbp_summary_head .cbp_head_left{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  color:#222;
}

.cbp_summary_head .cbp_head_total{
  font-weight:900;
  color:var(--cbp-primary);
}

.cbp_summary_arrow{
  width:26px;
  height:26px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#222;
}

.cbp_summary_body{
  margin-top:10px;
}

.cbp_summary.cbp_collapsed .cbp_summary_body{
  display:none;
}

.cbp_summary.cbp_collapsed .cbp_summary_arrow{
  transform: rotate(0deg);
}

.cbp_summary:not(.cbp_collapsed) .cbp_summary_arrow{
  transform: rotate(180deg);
}

.cbp_sum_row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 0;
  font-size:14px;
  color:#222;
}

/* Shipping type selector */
.cbp_shiptype{
  margin:10px 0 6px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:var(--cbp-radius-field,14px);
  padding:10px;
  background:var(--cbp-input-bg,#fff);
}

.cbp_shiptype_title{
  font-size:13px;
  font-weight:900;
  color:#222;
  margin-bottom:8px;
}

.cbp_shiptype_row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 4px;
  cursor:pointer;
  font-size:13px;
}

.cbp_shiptype_row span{
  flex:1;
  font-weight:700;
  color:#222;
}

.cbp_shiptype_row input{
  margin:0;
  transform: scale(1.0);
}

.cbp_ship_price{
  font-weight:800;
  color:var(--cbp-primary);
  font-size:13px;
}

.cbp_shiptype_warn{
  margin-top:6px;
  font-size:12px;
  font-weight:800;
  color:#b00020;
  min-height:16px;
}

/* Submit */
.cbp_submit{
  margin-top:12px;
  width:100%;
  padding:14px 16px;
  background:var(--cbp-button-bg, var(--cbp-button));
  color:var(--cbp-button-text,#fff);
  border:none;
  border-radius:var(--cbp-radius-button,16px);
  font-size:16px;
  font-weight:900;
  cursor:pointer;
}

.cbp_submit:disabled{
  opacity:.65;
  cursor:not-allowed;
}

/* Mobile actions */
.cbp_mobile_actions{
  display:flex;
  gap:10px;
  margin-top:10px;
}

.cbp_mobile_actions a{
  flex:1;
  text-align:center;
  padding:12px;
  border-radius:var(--cbp-radius-button,16px);
  font-weight:900;
  text-decoration:none;
  color:#fff;
  font-size:14px;
}

/* Ensure text color works even if the theme forces link colors */
.cbp_wa_btn{ background:var(--cbp-wa-bg,#25D366) !important; color:var(--cbp-wa-text,#fff) !important; }
.cbp_call_btn{ background:var(--cbp-call-bg,#111) !important; color:var(--cbp-call-text,#fff) !important; }

/* Message */
.cbp_message{
  margin-top:10px;
  text-align:center;
  font-weight:800;
  color:#0a7b2e;
  min-height:18px;
}

/* =========================================
   CBP Theme-Compatibility Width Fix
   ========================================= */

.cbp_wrap,
.cbp_wrap * {
  box-sizing: border-box;
}

.cbp_wrap{
  width: 100% !important;
  max-width: 760px;
  margin: 18px auto !important;
  padding: 0 12px !important;
  display: block;
}

.cbp_card,
.cbp_form{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.cbp_field input,
.cbp_field select,
.cbp_qty_input{
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 480px){
  .cbp_wrap{ padding: 0 10px !important; }
}

@media (max-width: 768px){
  .cbp_wrap{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .cbp_card{
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Text selection colors */
.cbp_wrap ::selection{
  background: var(--cbp-selection-bg, var(--cbp-primary));
  color: var(--cbp-selection-text, #fff);
}
.cbp_wrap ::-moz-selection{
  background: var(--cbp-selection-bg, var(--cbp-primary));
  color: var(--cbp-selection-text, #fff);
}



/* Summary arrow (CSS chevron) */
.cbp_summary_arrow{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--cbp-summary-border, rgba(0,0,0,.14));
  border-radius:999px;
  background: var(--cbp-card-bg,#fff);
  flex:0 0 auto;
}
.cbp_summary_arrow:before{
  content:'';
  width:9px;
  height:9px;
  border-right:2px solid var(--cbp-primary);
  border-bottom:2px solid var(--cbp-primary);
  transform: rotate(45deg);
  transition: transform .2s ease;
}
.cbp_summary:not(.cbp_collapsed) .cbp_summary_arrow:before{
  transform: rotate(-135deg);
}

