
:root {
  --wj-primary:#075b67;
  --wj-primary-dark:#03444d;
  --wj-bg:#f7f5ef;
  --wj-card:#fff;
  --wj-border:#e7e2d8;
  --wj-muted:#6e7777;
  --wj-danger:#b42318;
  --wj-radius:18px;
}

body.woocommerce-cart,
body.woocommerce-checkout { background:var(--wj-bg); }

.wj-cart-intro,
.wj-checkout-intro {
  max-width:1180px;
  margin:22px auto 28px;
  text-align:center;
}

.wj-cart-intro h1,
.wj-checkout-intro h1 {
  margin:18px 0 6px;
  color:var(--wj-primary-dark);
  font-size:clamp(26px,3vw,38px);
}

.wj-cart-intro p,
.wj-checkout-intro p { margin:0; color:var(--wj-muted); }

.wj-flow-progress {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.wj-flow-progress span {
  padding:13px 10px;
  border:1px solid var(--wj-border);
  border-radius:999px;
  background:rgba(255,255,255,.8);
  color:var(--wj-muted);
}

.wj-flow-progress b {
  display:inline-grid;
  place-items:center;
  width:27px;height:27px;
  margin-inline-end:7px;
  border-radius:50%;
  background:#ddd9cf;
}

.wj-flow-progress .is-active,
.wj-flow-progress .is-complete {
  border-color:var(--wj-primary);
  color:var(--wj-primary);
  font-weight:700;
}

.wj-flow-progress .is-active b,
.wj-flow-progress .is-complete b {
  color:#fff;
  background:var(--wj-primary);
}

/* Cart */
.woocommerce-cart .woocommerce {
  max-width:1180px;
  margin:0 auto;
}

.woocommerce-cart-form,
.cart-collaterals .cart_totals {
  padding:22px;
  border:1px solid var(--wj-border);
  border-radius:var(--wj-radius);
  background:var(--wj-card);
  box-shadow:0 8px 28px rgba(35,45,45,.05);
}

.woocommerce-cart .cart-collaterals .cart_totals { width:100%; }

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  border-radius:14px;
  background:var(--wj-primary);
  font-weight:700;
}

.woocommerce-cart .coupon {
  display:flex !important;
  gap:8px;
  align-items:center;
}

.woocommerce-cart .coupon input {
  min-height:46px;
  border-radius:11px !important;
}

/* Checkout layout */
.woocommerce form.checkout {
  max-width:1180px;
  margin:0 auto;
}

.wj-checkout-shell {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:24px;
  align-items:start;
}

.wj-stage-area,.wj-summary-area { min-width:0; }

.woocommerce .col2-set,
.woocommerce-page .col2-set,
.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
  float:none;
  width:100%;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.wj-card,
#order_review,
.wj-review-card {
  padding:24px;
  margin-bottom:18px;
  border:1px solid var(--wj-border);
  border-radius:var(--wj-radius);
  background:var(--wj-card);
  box-shadow:0 8px 28px rgba(35,45,45,.05);
}

.woocommerce-billing-fields h3::after {
  content:"بيانات صاحب الطلب والفاتورة";
  font-size:22px;
}
.woocommerce-billing-fields h3 { font-size:0; }

.woocommerce-shipping-fields > h3 label span::after {
  content:"إرسال الطلب إلى مستلم الهدية";
  font-size:22px;
}
.woocommerce-shipping-fields > h3 label span { font-size:0; }

#ship-to-different-address-checkbox { display:none!important; }
.shipping_address { display:block!important; }

.wj-country-field,
.wj-hidden-billing-field { display:none!important; }

.woocommerce form .form-row label {
  margin-bottom:7px;
  font-weight:600;
  color:#243637;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  min-height:48px;
  border:1px solid #cfcac0;
  border-radius:12px;
  background:#fff;
}

.woocommerce form .form-row textarea {
  min-height:96px;
  padding:12px;
}

.wj-summary-area {
  position:sticky;
  top:22px;
}

#order_review_heading {
  margin:0 0 12px;
  color:var(--wj-primary-dark);
}

.woocommerce-checkout #payment { background:transparent; }
.woocommerce-checkout #payment ul.payment_methods { padding:0; border:0; }
.woocommerce-checkout #payment div.form-row { padding:18px 0 0; }

.woocommerce #payment #place_order {
  width:100%;
  min-height:58px;
  border-radius:14px;
  background:var(--wj-primary);
  font-size:18px;
  font-weight:700;
}

.wj-payment-locked #payment { display:none!important; }
.wj-stage-section { display:none; }
.wj-stage-section.is-visible { display:block; }

.wj-navigation {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
}

.wj-nav-button {
  min-width:150px;
  min-height:52px;
  padding:12px 22px;
  border:1px solid var(--wj-primary);
  border-radius:13px;
  cursor:pointer;
  font-size:16px;
  font-weight:700;
}

.wj-next { margin-inline-start:auto; color:#fff; background:var(--wj-primary); }
.wj-back { color:var(--wj-primary); background:#fff; }

.wj-field-error input,
.wj-field-error select,
.wj-field-error textarea,
.wj-field-error .select2-selection {
  border-color:var(--wj-danger)!important;
}

.wj-error-message {
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:10px;
  color:var(--wj-danger);
  background:#fff1f0;
  font-weight:700;
}

/* Delivery cards */
.wj-recipient-summary {
  padding:16px;
  margin-bottom:16px;
  border-radius:14px;
  background:#fbfaf7;
}

.wj-recipient-summary h4 { margin:0 0 5px; color:var(--wj-primary-dark); }
.wj-recipient-summary p { margin:0; color:var(--wj-muted); line-height:1.7; }

.wj-delivery-choice-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:14px 0 18px;
}

.wj-delivery-card {
  min-height:136px;
  padding:16px;
  border:1px solid #cfcac0;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  text-align:center;
}

.wj-delivery-card:hover,
.wj-delivery-card.is-selected {
  border-color:var(--wj-primary);
  box-shadow:0 0 0 2px rgba(7,91,103,.08);
}

.wj-delivery-card span,
.wj-delivery-card strong,
.wj-delivery-card small { display:block; }

.wj-delivery-card strong { margin:9px 0 5px; color:var(--wj-primary-dark); }
.wj-delivery-card small { color:var(--wj-muted); line-height:1.5; }
.wj-delivery-badge { color:var(--wj-primary); font-weight:700; font-size:13px; }

#wj_delivery_date,
input[name="wj_delivery_date"],
input[type="date"] {
  direction:ltr!important;
  text-align:right!important;
  unicode-bidi:plaintext;
}

/* Coupon box in summary */
.wj-checkout-coupon {
  padding:16px;
  margin-bottom:16px;
  border:1px solid var(--wj-border);
  border-radius:14px;
  background:#fff;
}

.wj-checkout-coupon .checkout_coupon {
  display:block!important;
  margin:10px 0 0!important;
  border:0!important;
  padding:0!important;
}

.wj-checkout-coupon input {
  min-height:46px;
  border-radius:11px!important;
}

@media(max-width:900px) {
  .wj-checkout-shell { grid-template-columns:1fr; }
  .wj-summary-area { position:static; order:-1; }
  .wj-flow-progress { grid-template-columns:1fr; }
  .wj-delivery-choice-cards { grid-template-columns:1fr; }
  .wj-navigation {
    position:sticky;
    bottom:0;
    z-index:10;
    padding:12px 8px;
    background:rgba(247,245,239,.96);
  }
  .wj-nav-button { flex:1; min-width:0; }
}


/* WhiteJoy 0.5 — نموذج مستلم مبسط */
.wj-hidden-shipping-field {
  display:none !important;
}

.woocommerce-shipping-fields .shipping_address {
  display:block !important;
}

.wj-recipient-summary {
  margin-bottom:16px;
  padding:16px 18px;
  border-radius:14px;
  background:#fbfaf7;
}

.wj-recipient-summary h4 {
  margin:0 0 5px;
  color:var(--wj-primary-dark);
  font-size:20px;
}

.wj-recipient-summary p {
  margin:0;
  color:var(--wj-muted);
  line-height:1.7;
}

.wj-primary-toggle-field,
.wj-identity-field {
  padding:14px 16px;
  margin:0 0 10px !important;
  border:1px solid var(--wj-border);
  border-radius:13px;
  background:#fff;
}

.wj-primary-toggle-field label,
.wj-identity-field label {
  font-weight:700 !important;
}

.wj-address-help {
  margin:-2px 0 14px;
  padding:0 4px;
  color:var(--wj-muted);
  line-height:1.75;
  font-size:14px;
}

.wj-delivery-options h3 {
  margin-bottom:14px;
}

.wj-navigation {
  padding-top:4px;
}

.wj-nav-button {
  min-height:56px;
  border-radius:15px;
  transition:.2s ease;
}

.wj-back,
.wj-next {
  border-color:var(--wj-primary);
}

.wj-back {
  color:var(--wj-primary);
  background:#fff;
}

.wj-next {
  color:#fff;
  background:var(--wj-primary);
}

.wj-back:hover {
  color:#fff;
  background:var(--wj-primary);
}

.wj-next:hover {
  background:var(--wj-primary-dark);
}

@media (max-width:900px) {
  .wj-navigation {
    gap:10px;
  }
}


/* WhiteJoy 0.6 — تحسين بطاقات التوصيل والتاريخ */
.wj-delivery-choice-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.wj-delivery-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  padding: 18px 12px;
  line-height: 1.45;
  overflow: hidden;
}

.wj-delivery-card .wj-delivery-badge {
  margin-bottom: 6px;
  font-size: 12px;
  white-space: nowrap;
}

.wj-delivery-card strong {
  margin: 4px 0 7px;
  font-size: 16px;
  line-height: 1.5;
}

.wj-delivery-card small {
  max-width: 120px;
  font-size: 12px;
  line-height: 1.55;
}

.wj-delivery-card.is-selected {
  background: #f5fbfc;
}

.wj-date-picker-wrap {
  width: 48%;
  float: right;
  margin-bottom: 18px;
}

.wj-date-picker-wrap label {
  display: block;
  margin-bottom: 7px;
  font-weight: 600;
  color: #243637;
}

.wj-date-selects {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr 1fr;
  gap: 8px;
}

.wj-date-selects select {
  width: 100%;
  min-height: 48px;
  padding: 0 8px;
  border: 1px solid #cfcac0;
  border-radius: 12px;
  background: #fff;
  text-align: center;
}

.wj-date-picker-wrap.wj-field-error .wj-date-selects select {
  border-color: var(--wj-danger) !important;
}

@media (max-width: 760px) {
  .wj-delivery-choice-cards {
    grid-template-columns: 1fr;
  }

  .wj-delivery-card {
    min-height: 105px;
  }

  .wj-date-picker-wrap {
    width: 100%;
    float: none;
  }
}


/* WhiteJoy 0.7 — تنسيق التاريخ والعناوين والتنقل والقسيمة */
.wj-date-selects {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.wj-date-selects select {
  min-height: 42px;
  padding: 0 6px;
  font-size: 12px;
  font-weight: 500;
}

#wj_delivery_date_field > label {
  font-size: 14px;
}

/* إخفاء العنوان العلوي المكرر والإبقاء على البطاقة الداخلية فقط */
.wj-checkout-intro-compact h1,
.wj-checkout-intro-compact p {
  display: none !important;
}

.wj-checkout-intro-compact {
  margin-bottom: 16px;
}

/* وضع أزرار التنقل أعلى قسم القسيمة */
.wj-navigation {
  width: 100%;
  margin: 0 0 16px;
  padding: 0;
}

.wj-stage-area {
  display: flex;
  flex-direction: column;
}

.wj-stage-area > .wj-navigation {
  order: -2;
}

/* القسيمة بكامل عرض مساحة الملخص */
.wj-checkout-coupon {
  width: 100%;
  box-sizing: border-box;
}

.wj-checkout-coupon .checkout_coupon {
  width: 100%;
}

.wj-checkout-coupon .form-row {
  width: 100% !important;
  float: none !important;
  margin: 0 0 10px !important;
}

.wj-checkout-coupon input,
.wj-checkout-coupon button {
  width: 100% !important;
  box-sizing: border-box;
}

@media (min-width: 901px) {
  .wj-checkout-shell {
    position: relative;
  }

  .wj-navigation {
    grid-column: 1 / -1;
  }
}


/* WhiteJoy 0.8 — إزالة العنوان المكرر وتحسين التنقل والقسيمة */
.wj-recipient-summary h4 {
  display: none !important;
}

.wj-recipient-summary p {
  margin: 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.8;
}

/* شريط التنقل أعلى القسيمة وبكامل العرض */
.wj-navigation-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
  margin: 0 0 16px;
  padding: 0;
}

.wj-navigation-top .wj-nav-button {
  width: 100%;
  min-height: 56px;
  margin: 0;
  border-radius: 14px;
  font-size: 15px;
}

.wj-navigation-top .wj-back {
  order: 1;
}

.wj-navigation-top .wj-next {
  order: 2;
}

/* القسيمة بكامل عرض الصفحة */
.wj-checkout-coupon {
  display: grid;
  grid-template-columns: minmax(180px, .32fr) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 22px 24px;
  margin: 0 0 24px;
  border: 1px solid var(--wj-border);
  border-radius: var(--wj-radius);
  background: #fff;
  box-shadow: 0 8px 28px rgba(35,45,45,.05);
}

.wj-coupon-heading {
  min-width: 0;
}

.wj-coupon-heading strong,
.wj-coupon-heading span {
  display: block;
}

.wj-coupon-heading strong {
  margin-bottom: 5px;
  color: var(--wj-primary-dark);
  font-size: 17px;
}

.wj-coupon-heading span {
  color: var(--wj-muted);
  font-size: 13px;
  line-height: 1.6;
}

.wj-checkout-coupon form.checkout_coupon {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 12px;
  align-items: end;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.wj-checkout-coupon form.checkout_coupon > p {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

.wj-checkout-coupon form.checkout_coupon .form-row-first,
.wj-checkout-coupon form.checkout_coupon .form-row-last {
  width: auto !important;
  float: none !important;
}

.wj-checkout-coupon form.checkout_coupon input.input-text {
  width: 100% !important;
  min-height: 50px;
  padding: 0 14px;
  border-radius: 12px !important;
}

.wj-checkout-coupon form.checkout_coupon button {
  width: 100% !important;
  min-height: 50px;
  margin: 0 !important;
  border-radius: 12px !important;
  background: var(--wj-primary);
  color: #fff;
  font-weight: 700;
}

.wj-checkout-coupon form.checkout_coupon button:hover {
  background: var(--wj-primary-dark);
}

@media (max-width: 760px) {
  .wj-navigation-top {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .wj-navigation-top .wj-next {
    order: 1;
  }

  .wj-navigation-top .wj-back {
    order: 2;
  }

  .wj-checkout-coupon {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px;
  }

  .wj-checkout-coupon form.checkout_coupon {
    grid-template-columns: 1fr;
  }
}
