/* =========================================================
   Siddur personalization popup + cart drawer
   ========================================================= */

/* ---------- shared overlay bits ---------- */
.sa-cart-backdrop{
  position:fixed;inset:0;background:rgba(20,15,8,.45);opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;z-index:2000;
}
.sa-modal-backdrop{
  position:fixed;inset:0;background:rgba(20,15,8,.45);opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;z-index:2010;
}
.sa-modal-backdrop.is-open,
.sa-cart-backdrop.is-open{opacity:1;visibility:visible;}
body.sa-modal-open{overflow:hidden;}

/* ---------- personalization modal ---------- */
.sa-modal{
  position:fixed;top:50%;right:50%;transform:translate(50%,-50%) scale(.96);
  width:min(94vw,440px);max-height:none;overflow:visible;
  background:var(--cream-2);border-radius:16px;padding:18px 20px 16px;
  box-shadow:0 24px 60px rgba(20,15,8,.28);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease,transform .3s ease;
  z-index:2011;
}
.sa-modal.is-open{opacity:1;visibility:visible;transform:translate(50%,-50%) scale(1);}
.sa-modal-close{
  position:absolute;top:10px;right:14px;background:none;border:none;
  font-size:24px;line-height:1;color:var(--brown-body);cursor:pointer;
}
.sa-modal-title{font-family:var(--font-heading);font-size:22px;color:var(--brown-heading);text-align:center;margin:0 0 12px;}
.sa-modal-sub{text-align:center;font-size:14px;color:var(--brown-body);margin:0 0 14px;}
.sa-modal-section{margin-bottom:12px;}
.sa-modal-section h3{font-size:15px;color:var(--brown-heading);margin:0 0 8px;text-align:center;}
.sa-modal-divider{border:none;border-top:1px solid var(--gold-soft);margin:0 0 10px;}
.sa-bundle-note{
  text-align:center;font-size:13px;line-height:1.35;color:var(--brown-heading);font-weight:700;
  margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
}
.sa-bundle-note strong{color:var(--gold-dark);font-size:15px;}
.sa-bundle-badge{
  background:#e8f6ec;color:#1e7a3d;font-weight:700;font-size:12px;
  padding:2px 8px;border-radius:20px;
}
.sa-bundle-shipping{
  flex:0 0 100%;font-size:12px;font-weight:600;color:var(--brown-body);opacity:.85;
}
.sa-bundle-shipping.is-free{color:#1e7a3d;opacity:1;}

.sa-option-card{
  display:flex;align-items:center;gap:10px;width:100%;
  border:1.5px solid var(--gold-soft);border-radius:10px;padding:9px 12px;margin-bottom:6px;
  cursor:pointer;transition:border-color .15s ease,background .15s ease;background:#fff;
}
.sa-modal-section .sa-option-card:last-child{margin-bottom:0;}
.sa-option-card:hover{border-color:var(--gold);}
.sa-option-card.is-selected{border-color:var(--gold-dark);background:#fdf8f0;}
.sa-option-card input[type="radio"]{width:18px;height:18px;accent-color:var(--gold-dark);flex-shrink:0;}
.sa-option-card span{font-size:14px;color:var(--brown-heading);flex:1;line-height:1.25;}
.sa-option-card .sa-badge{
  flex:0 0 auto;background:var(--gold-light);color:#4a3d1f;font-weight:700;
  font-size:12px;padding:2px 8px;border-radius:20px;
}
.sa-option-card--img .sa-mitpachat-thumb{width:36px;height:36px;border-radius:6px;object-fit:cover;flex:0 0 auto;}
.sa-mitpachat-preview-btn{
  flex:0 0 auto;background:none;border:none;cursor:pointer;padding:4px;
  color:var(--brown-body);display:flex;align-items:center;justify-content:center;
}
.sa-mitpachat-preview-btn:hover{color:var(--gold-dark);}
.sa-eye-icon{width:20px;height:20px;}

.sa-emboss-label{display:block;font-size:14px;font-weight:600;color:var(--brown-heading);margin:0 0 8px;}
.sa-emboss-text{
  width:100%;margin-top:0;padding:8px 10px;border:1.5px solid var(--gold-soft);
  border-radius:8px;font-family:var(--font-body);font-size:14px;box-sizing:border-box;
}
.sa-emboss-hint{display:block;font-size:11px;color:var(--brown-body);opacity:.75;margin-top:4px;}
.sa-emboss-error{display:block;font-size:12px;color:#c0392b;margin-top:4px;font-weight:600;}

.sa-giftwrap-option{
  margin:8px 0 0;border:1.5px dashed var(--gold);border-radius:10px;padding:8px 12px;background:#fffaf0;
}
.sa-giftwrap-option.sa-giftwrap-locked{opacity:.95;}
.sa-giftwrap-option.sa-giftwrap-locked input[type="checkbox"]{pointer-events:none;opacity:.7;}
.sa-giftwrap-option label{display:flex;align-items:center;gap:10px;cursor:pointer;}
.sa-giftwrap-option input[type="checkbox"]{width:18px;height:18px;accent-color:var(--gold-dark);flex-shrink:0;}
.sa-giftwrap-text{font-size:14px;font-weight:700;color:var(--brown-heading);flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.sa-giftwrap-note{font-size:13px;font-weight:700;color:var(--brown-body);}
.sa-giftwrap-price-struck{text-decoration:line-through;color:#999;margin-left:4px;}
.sa-giftwrap-free{color:#2e7d32;font-weight:700;}

.sa-lightbox{
  position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:2100;padding:24px;
}
.sa-lightbox.is-open{opacity:1;visibility:visible;}
.sa-lightbox img{max-width:min(90vw,600px);max-height:85vh;border-radius:10px;object-fit:contain;}

.sa-modal-actions{display:flex;gap:8px;margin-top:10px;}
.sa-modal-actions .btn-gold,
.sa-modal-actions .btn-outline{flex:1;font-size:15px !important;padding:10px 8px !important;width:auto !important;}
.btn-outline{
  display:inline-block;text-align:center;background:transparent;border:1.5px solid var(--taupe-bar);
  color:var(--brown-heading);border-radius:10px;cursor:pointer;font-family:var(--font-body);
}

/* ---------- cart drawer ---------- */
.sa-cart-drawer{
  position:fixed;top:0;bottom:0;right:0;width:min(92vw,420px);
  background:var(--cream-2);z-index:2001;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:-12px 0 32px rgba(20,15,8,.2);
}
.sa-cart-drawer.is-open{transform:translateX(0);}
.sa-cart-drawer-head{
  display:flex;align-items:center;justify-content:space-between;padding:20px 22px;
  border-bottom:1px solid var(--gold-soft);position:relative;
}
.sa-cart-drawer-head h2{font-size:20px;color:var(--brown-heading);margin:0;font-family:var(--font-heading);}
.sa-cart-drawer-head .sa-modal-close{position:static;}
.sa-cart-drawer-body{flex:1;overflow-y:auto;padding:18px 22px;}
.sa-cart-empty{text-align:center;color:var(--brown-body);margin-top:40px;}

.sa-cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #eee1d0;}
.sa-cart-item-img img{width:70px;height:70px;object-fit:cover;border-radius:8px;}
.sa-cart-item-info{flex:1;min-width:0;}
.sa-cart-item-title{font-size:15px;color:var(--brown-heading);margin:0 0 4px;font-weight:600;}
.sa-cart-item-meta{font-size:12px;color:var(--brown-body);margin:0 0 3px;}
.sa-cart-item-price{font-size:14px;color:var(--gold-dark);font-weight:700;margin:6px 0;}
.sa-cart-item-qty{display:flex;align-items:center;gap:10px;}
.sa-qty-btn{
  width:26px;height:26px;border-radius:50%;border:1px solid var(--taupe-bar);background:#fff;
  cursor:pointer;font-size:16px;line-height:1;color:var(--brown-heading);
}
.sa-cart-item-qty span{font-size:14px;min-width:16px;text-align:center;}
.sa-cart-remove{background:none;border:none;cursor:pointer;font-size:15px;margin-inline-start:auto;opacity:.7;}
.sa-cart-remove:hover{opacity:1;}

.sa-cart-drawer-foot{padding:18px 22px;border-top:1px solid var(--gold-soft);}
.sa-cart-drawer-actions{display:flex;flex-direction:column;gap:10px;}
.btn-green{
  display:block;width:100%;text-align:center;padding:12px 22px;border-radius:10px;
  background:#1e4620;color:#fff;font-weight:700;font-size:17px;
  border:none;cursor:pointer;font-family:var(--font-heading);text-decoration:none;
  transition:background .15s ease;
}
.btn-green:hover{background:#163318;color:#fff;}
.sa-cart-pay-btn,
.sa-cart-continue-btn{
  display:block;width:100%;text-align:center;
  font-size:17px !important;padding:12px 22px !important;
}

.cart-icon-link{position:relative;}
.sa-cart-count{
  position:absolute;top:-8px;left:-10px;background:var(--gold-dark);color:#fff;
  font-size:11px;line-height:1;font-weight:700;border-radius:50%;
  width:18px;height:18px;display:flex;align-items:center;justify-content:center;
}

@media (max-width:680px){
  .sa-modal{padding:16px 14px 14px;border-radius:14px;width:min(96vw,440px);}
  .sa-modal-title{font-size:20px;margin-bottom:10px;}
  .sa-option-card{padding:8px 10px;}
}

/* =========================================================
   Classic WooCommerce checkout — restyled to match the site
   (cream cards, gold accents) instead of raw browser defaults.
   ========================================================= */
/* index.php (the generic page fallback template) sets text-align:center
   as an inline style, which beats any external stylesheet rule regardless
   of specificity — !important is the only way to override it here. */
body.woocommerce-checkout .section{padding:40px 0 90px;text-align:right !important;}
body.woocommerce-checkout .section > .wrap > h1{display:none;}

form.checkout.woocommerce-checkout{
  display:grid;grid-template-columns:1fr 1fr;gap:0 48px;align-items:start;
  max-width:1180px;margin:0 auto;
}
/* Right column (grid-column:1 = inline-start in this RTL page) = the form.
   Left column (grid-column:2) = order review + payment, per the reference site. */
form.checkout .col2-set{grid-column:1;grid-row:1 / 3;}
form.checkout > h3{grid-column:2;grid-row:1;}
form.checkout .woocommerce-checkout-review-order{grid-column:2;grid-row:2;}

/* One single column: billing fields, then shipping/additional fields
   stacked underneath — not two side-by-side sub-columns. WooCommerce's
   own stylesheet floats .col-1/.col-2 at 48% each with equal specificity
   to our rule (loads after ours too), so it needs !important to lose. */
form.checkout .col2-set .col-1,
form.checkout .col2-set .col-2{width:100% !important;float:none !important;}

form.checkout h3,
#order_review_heading{
  font-family:var(--font-heading);font-size:22px;color:var(--brown-heading);
  margin:0 0 18px;font-weight:600;
}
form.checkout .woocommerce-billing-fields > h3{margin-top:0;}
form.checkout .woocommerce-additional-fields > h3{margin-top:28px;}

form.checkout p.form-row{margin:0 0 14px;}
form.checkout label{
  display:block;font-size:14px;color:var(--brown-body);margin-bottom:6px;
}
form.checkout label .required{color:var(--gold-dark);text-decoration:none;}
form.checkout label .optional{font-size:12px;opacity:.7;}

form.checkout input.input-text,
form.checkout select,
form.checkout textarea,
form.checkout .select2-selection{
  width:100%;box-sizing:border-box;padding:12px 14px;
  border:1.5px solid var(--gold-soft);border-radius:10px;
  font-family:var(--font-body);font-size:15px;background:#fff;
  transition:border-color .15s ease;
}
form.checkout input.input-text:focus,
form.checkout select:focus,
form.checkout textarea:focus{outline:none;border-color:var(--gold);}
form.checkout .select2-selection{display:flex;align-items:center;height:auto;}
form.checkout .select2-selection__rendered{padding:0 !important;line-height:normal !important;}
form.checkout .select2-selection__arrow{height:100% !important;}

form.checkout .woocommerce-input-wrapper{display:block;}
form.checkout .woocommerce-form__label-for-checkbox{
  display:flex;align-items:center;gap:8px;font-size:14px;color:var(--brown-body);
  margin:14px 0;cursor:pointer;
}
form.checkout .woocommerce-form__input-checkbox{width:16px;height:16px;accent-color:var(--gold-dark);}

#order_review{
  background:var(--cream-2);border:1px solid var(--gold-soft);border-radius:16px;
  padding:26px 24px;
}
table.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;margin-bottom:0;}
table.woocommerce-checkout-review-order-table thead th{
  text-align:right;font-size:13px;color:var(--brown-body);font-weight:600;
  padding:0 0 10px;border-bottom:1px solid var(--gold-soft);
}
table.woocommerce-checkout-review-order-table td,
table.woocommerce-checkout-review-order-table th{padding:10px 0;font-size:14px;}
table.woocommerce-checkout-review-order-table tbody tr td{
  border-bottom:1px solid #eee1d0;color:var(--brown-heading);
}
table.woocommerce-checkout-review-order-table .product-name{text-align:right;}
table.woocommerce-checkout-review-order-table .product-total,
table.woocommerce-checkout-review-order-table td.product-total{text-align:left;}
table.woocommerce-checkout-review-order-table tfoot tr th,
table.woocommerce-checkout-review-order-table tfoot tr td{
  border-bottom:none;padding-top:12px;text-align:left;
}
table.woocommerce-checkout-review-order-table tfoot .order-total th,
table.woocommerce-checkout-review-order-table tfoot .order-total td{
  font-size:18px;font-weight:700;color:var(--gold-dark);border-top:1px solid var(--gold-soft);
}

/* delivery / pickup method choice, styled like the popup's option cards */
#shipping_method{list-style:none;margin:0;padding:0;}
#shipping_method li{
  border:1.5px solid var(--gold-soft);border-radius:10px;padding:10px 14px;
  margin-bottom:8px;background:#fff;text-align:right;
}
#shipping_method input[type="radio"]{width:16px;height:16px;accent-color:var(--gold-dark);margin-inline-end:8px;}
#shipping_method label{display:inline;margin:0;font-size:14px;color:var(--brown-heading);}
#shipping_method .woocommerce-Price-amount{font-weight:700;color:var(--gold-dark);}

.sa-pickup-wrap{margin:12px 0 2px;}
.sa-pickup-wrap label{
  display:block;font-weight:600;font-size:13px;color:var(--brown-heading);margin-bottom:6px;
}
.sa-pickup-wrap label .required{color:#d00;text-decoration:none;}
.sa-pickup-wrap select{
  width:100%;box-sizing:border-box;padding:10px 12px;
  border:1.5px solid var(--gold-soft);border-radius:8px;
  font-family:var(--font-body);font-size:14px;background:#fff;
}
.sa-pickup-wrap select:focus{outline:none;border-color:var(--gold);}

.woocommerce-checkout-payment{background:transparent;margin-top:20px;}
ul.wc_payment_methods{list-style:none;margin:0;padding:0;}
ul.wc_payment_methods li.wc_payment_method{
  border:1.5px solid var(--gold-soft);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:#fff;
}
ul.wc_payment_methods label{display:inline;margin:0 0 0 8px;font-weight:600;color:var(--brown-heading);}
ul.wc_payment_methods .payment_box{
  margin-top:12px;padding-top:12px;border-top:1px dashed var(--gold-soft);font-size:13px;color:var(--brown-body);
}

.woocommerce-terms-and-conditions-wrapper{margin:16px 0;font-size:14px;}

#place_order,
form.checkout .button.alt{
  display:block;width:100%;text-align:center;background:var(--brown-heading);color:#fff;
  border:none;border-radius:10px;padding:15px;font-size:16px;font-weight:600;
  font-family:var(--font-body);cursor:pointer;transition:background .15s ease;
}
#place_order:hover{background:var(--gold-dark);}

.woocommerce-form-coupon-toggle .woocommerce-info{
  background:var(--cream-2);border:1px solid var(--gold-soft);border-radius:10px;
  padding:12px 16px;font-size:14px;color:var(--brown-body);list-style:none;margin:0 0 24px;
}
.woocommerce-form-coupon-toggle .woocommerce-info a{color:var(--gold-dark);font-weight:600;}
form.checkout_coupon{
  display:flex;gap:10px;background:var(--cream-2);border:1px solid var(--gold-soft);
  border-radius:10px;padding:16px;margin-bottom:24px;
}
form.checkout_coupon .input-text{flex:1;}
form.checkout_coupon button{
  background:var(--brown-heading);color:#fff;border:none;border-radius:8px;padding:0 20px;
  font-family:var(--font-body);cursor:pointer;
}

@media (max-width:900px){
  form.checkout.woocommerce-checkout{grid-template-columns:1fr;}
  form.checkout .col2-set,
  form.checkout > h3,
  form.checkout .woocommerce-checkout-review-order{grid-column:1;grid-row:auto;}
  #order_review{margin-top:12px;}
}

/* =========================================================
   Order received / thank-you page (matches live summary page)
   ========================================================= */
body.woocommerce-order-received .section{padding:72px 0 96px;text-align:center !important;}
body.woocommerce-order-received .section > .wrap > h1{display:none;}

.sa-thankyou{
  max-width:720px;margin:0 auto;padding:24px 16px 0;
}

.sa-thankyou-hero{
  display:flex;flex-direction:column;align-items:center;gap:18px;
  text-align:center;
}

.sa-thankyou-hero__icon{
  width:120px;height:120px;margin:0 auto;
}

.sa-thankyou-hero__title{
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(24px, 4vw, 34px);
  font-weight:700;
  line-height:1.35;
  color:#98d359;
}

.sa-thankyou-hero__text{
  margin:0;
  font-size:clamp(16px, 2.4vw, 20px);
  line-height:1.6;
  color:var(--brown-body);
}

.sa-thankyou-hero__order{
  margin:4px 0 0;
  font-size:16px;
  color:var(--brown-heading);
}

.sa-thankyou-hero__order strong{
  font-weight:700;
  color:var(--gold-dark);
}

.sa-thankyou-hero__home{
  display:inline-block;
  margin-top:12px;
  padding:14px 36px;
  font-size:18px;
  text-decoration:none;
}

.sa-thankyou-failed{
  text-align:center;
  background:var(--cream-2);
  border:1px solid var(--gold-soft);
  border-radius:16px;
  padding:32px 24px;
}

.sa-thankyou-failed .woocommerce-notice--error{
  margin:0 0 20px;
  color:#8b2e2e;
  font-size:16px;
  line-height:1.6;
}

.sa-thankyou-failed-actions{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px;
}

.sa-thankyou-failed-actions .button{
  display:inline-block;
  background:var(--brown-heading);
  color:#fff !important;
  border:none;border-radius:10px;
  padding:12px 24px;
  font-size:15px;font-weight:600;
  font-family:var(--font-body);
  text-decoration:none;
  transition:background .15s ease;
}

.sa-thankyou-failed-actions .button:hover{background:var(--gold-dark);}

/* PayPlus error / cancel landing pages */
body.page-slug-error-payment-payplus .section,
body.page-slug-cancel-payment-payplus .section{padding:72px 0 96px;text-align:center !important;}
body.page-slug-error-payment-payplus .section > .wrap > h1,
body.page-slug-cancel-payment-payplus .section > .wrap > h1{display:none;}

.sa-payplus-notice{
  max-width:560px;margin:0 auto;padding:32px 24px;
  background:var(--cream-2);border:1px solid var(--gold-soft);border-radius:16px;
}
.sa-payplus-notice h2{
  margin:0 0 12px;font-family:var(--font-heading);font-size:28px;color:var(--brown-heading);
}
.sa-payplus-notice p{margin:0 0 16px;font-size:17px;line-height:1.6;color:var(--brown-body);}
.sa-payplus-notice .btn-gold{display:inline-block;margin:8px 6px 0;padding:14px 32px;font-size:17px;text-decoration:none;}
.sa-payplus-notice__link{
  display:inline-block;margin:8px 12px 0;font-size:16px;font-weight:600;color:var(--gold-dark);text-decoration:underline;
}

/* PayPlus hosted fields on classic checkout */
body.woocommerce-checkout #payment .payment_method_payplus-payment-gateway-hostedfields .payment_box{
  padding:16px 0 0;border-top:none;
}
body.woocommerce-checkout .payplus-hosted-fields-wrapper,
body.woocommerce-checkout .pp-hosted-fields{
  direction:rtl;text-align:right;
}
body.woocommerce-checkout .payplus-hosted-fields-wrapper iframe{
  border:1.5px solid var(--gold-soft);border-radius:10px;background:#fff;
}
body.woocommerce-checkout .blocks-payplus_loader_hosted,
body.woocommerce-checkout .payplus_loader{
  border-color:var(--gold-soft);border-top-color:var(--gold-dark);
}
