/* ------------------------------------------------------------------
   Zahret Nour — WordPress-side styles.
   site.css is the designer's compiled stylesheet and is never edited;
   this file only covers what WordPress and WooCommerce introduce.
------------------------------------------------------------------ */

/* Logged-in admin bar pushes the absolute header down. */
.admin-bar header.absolute { top: 32px; }
@media (max-width: 782px) { .admin-bar header.absolute { top: 46px; } }

/* ---- Generic pages: legal texts, shop, cart, checkout ---------------- */
/* The band is the header strip only (logo + navigation, as on the home page); the
   page title sits below it, small, at the top of the content column. */
.zn-page-hero {
  background: var(--color-cream);
  border-bottom: 2px solid var(--color-pink);
}
/* On these pages the header is in normal flow, so the strip is exactly as tall as the
   logo row (py-4 + 56px, py-6 + 102px from md) and nothing is clipped, admin bar or not. */
.zn-page-hero header.absolute { position: static; }
/* The section's `isolate` trapped the fixed mobile drawer (z-50) under positioned page content (WooCommerce notices, buttons). */
.zn .zn-page-hero { isolation: auto; }
.zn-page-title {
  margin-block: 0 1.25rem;
  font-size: var(--text-lead);
  line-height: 1.3;
  font-weight: 700;
  color: var(--color-green);
}
.zn-content--wide .zn-page-title { margin-block-end: 1.5rem; }

.zn-content {
  max-width: 52rem;
  margin-inline: auto;
  padding-block: 2rem 4rem;
  font-size: var(--text-body);
  line-height: 1.65;
  color: var(--color-ink);
}
.zn-content--wide { max-width: none; }
.zn-content h2 { color: var(--color-green); font-size: var(--text-title); font-weight: 700; line-height: 1.2; margin-block: 2em .6em; }
.zn-content h3 { color: var(--color-pink); font-size: var(--text-lead); font-weight: 700; line-height: 1.25; margin-block: 1.6em .5em; }
.zn-content > h2:first-child, .zn-content > h3:first-child { margin-block-start: 0; }
.zn-content p { margin-block: 0 1em; }
.zn-content ul { list-style: disc; padding-inline-start: 1.4em; margin-block: 0 1em; }
.zn-content ol { list-style: decimal; padding-inline-start: 1.4em; margin-block: 0 1em; }
.zn-content li { margin-block: .25em; }
.zn-content a:not(.btn):not(.button) { color: var(--color-pink-dark); text-decoration: underline; text-underline-offset: 3px; }
.zn-content strong { font-weight: 700; }
.zn-content img { border-radius: 1rem; }
.zn-content[lang="he"] { font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
.zn-404 { text-align: center; }
.zn-404 .btn { margin-top: 1rem; }

.screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ---- WooCommerce ------------------------------------------------------ */
/* WooCommerce's generic ".woocommerce-page img { height: auto }" must not resize the logos. */
.zn.woocommerce-page header img.h-14 { height: 3.5rem; width: auto; }
.zn.woocommerce-page footer img { height: 72px; width: auto; }
@media (min-width: 768px) {
  .zn.woocommerce-page header img.h-14, .zn.woocommerce-page footer img { height: 102px; }
}
.zn .woocommerce-notices-wrapper:empty { display: none; }
.zn .woocommerce-message, .zn .woocommerce-info, .zn .woocommerce-error {
  list-style: none; margin: 0 0 1.5rem; padding: 1rem 1.25rem; border-radius: 1rem;
  background: var(--color-mint); color: var(--color-ink);
  border: 0; border-inline-start: 4px solid var(--color-green);
}
.zn .woocommerce-error { background: #fff0f3; border-inline-start-color: var(--color-pink-dark); }
.zn .woocommerce-error li, .zn .woocommerce-message li { margin: 0; }
.zn .woocommerce-message::before, .zn .woocommerce-info::before, .zn .woocommerce-error::before { display: none; }
.zn .woocommerce-message .button { margin-inline-start: 1rem; min-height: 36px; padding: .5rem 1.1rem; font-size: var(--text-small); }

/* Fields: the design's pill inputs. */
.zn .woocommerce form .form-row { margin-bottom: .8rem; padding: 0; }
.zn .woocommerce form .form-row label { display: block; margin-bottom: .35rem; font-size: var(--text-small); font-weight: 700; color: var(--color-green); }
.zn .woocommerce form .form-row label .required { color: var(--color-pink-dark); text-decoration: none; }
.zn .woocommerce form .form-row .input-text,
.zn .woocommerce form .form-row select,
.zn .woocommerce form .form-row textarea,
.zn .select2-container--default .select2-selection--single {
  width: 100%; min-height: 44px; border: 2px solid var(--color-pink); border-radius: 9999px;
  background: #fff; padding-inline: 1.25rem; font: inherit; font-size: var(--text-body); line-height: 1.3;
  color: var(--color-ink); box-shadow: none; outline: none; transition: border-color .18s ease;
}
.zn .woocommerce form .form-row textarea { border-radius: 1.5rem; min-height: 96px; padding-block: .75rem; }
.zn .woocommerce form .form-row .input-text:focus,
.zn .woocommerce form .form-row select:focus,
.zn .woocommerce form .form-row textarea:focus { border-color: var(--color-pink-dark); }
.zn .woocommerce form .form-row.woocommerce-invalid .input-text,
.zn .woocommerce form .form-row.woocommerce-invalid .select2-selection--single { border-color: var(--color-pink-dark); }
.zn .select2-container--default .select2-selection--single { display: flex; align-items: center; height: auto; }
.zn .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.4; padding-inline: 0; color: var(--color-ink); }
.zn .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; inset-inline-end: 12px; }
.zn .select2-dropdown { border: 2px solid var(--color-pink); border-radius: 1rem; overflow: hidden; }
.zn .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--color-pink); }
.zn .woocommerce form .form-row .woocommerce-input-wrapper { display: block; }

/* Buttons */
.zn .woocommerce .button, .zn .woocommerce button.button, .zn .woocommerce a.button, .zn .woocommerce input.button,
.zn #place_order, .zn .wc-block-components-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 47px; padding: .875rem 1.75rem; border-radius: 9999px; border: 0;
  background: var(--color-pink); color: #fff; font: inherit; font-size: var(--text-lead); font-weight: 700; line-height: 1;
  text-transform: none; cursor: pointer; transition: background-color .18s ease, transform .18s ease;
}
.zn .woocommerce .button:hover, .zn #place_order:hover { background: var(--color-pink-dark); color: #fff; }
.zn .woocommerce .button:active, .zn #place_order:active { transform: translateY(1px); }
.zn .woocommerce .button:disabled, .zn .woocommerce .button.disabled { opacity: .6; cursor: not-allowed; }
.zn #place_order { width: 100%; margin-top: 1rem; }

/* Tables: cart, order review, order received */
.zn .woocommerce table.shop_table {
  width: 100%; border: 0; border-collapse: separate; border-spacing: 0;
  background: var(--color-cream); border-radius: 25px; overflow: hidden; margin-bottom: 1.5rem;
}
.zn .woocommerce table.shop_table th, .zn .woocommerce table.shop_table td {
  border: 0; border-bottom: 1px solid rgba(224, 118, 144, .25); padding: .9rem 1.25rem; text-align: start; vertical-align: middle;
}
.zn .woocommerce table.shop_table thead th, .zn .woocommerce table.shop_table tfoot th { color: var(--color-green); font-weight: 700; }
.zn .woocommerce table.shop_table tbody tr:last-child td,
.zn .woocommerce table.shop_table tfoot tr:last-child th,
.zn .woocommerce table.shop_table tfoot tr:last-child td { border-bottom: 0; }
.zn .woocommerce table.shop_table .order-total .amount { color: var(--color-green); font-size: var(--text-title); font-weight: 700; }
.zn .woocommerce .amount { white-space: nowrap; }
.zn .woocommerce-cart table.cart img { width: 72px; border-radius: 12px; }
.zn .woocommerce-cart table.cart td.product-remove a.remove { color: var(--color-pink-dark) !important; }
.zn .woocommerce .quantity { display: inline-flex; align-items: center; gap: .4rem; }
.zn .woocommerce .quantity .qty { width: 3.4rem; min-height: 40px; border: 2px solid var(--color-pink); border-radius: 9999px; text-align: center; font: inherit; -moz-appearance: textfield; appearance: textfield; }
.zn .woocommerce .quantity .qty::-webkit-inner-spin-button, .zn .woocommerce .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.zn .zn-qty-btn { width: 38px; height: 38px; flex: none; border-radius: 50%; border: 2px solid var(--color-pink); background: #fff; color: var(--color-pink-dark); font: inherit; font-size: 1.25rem; font-weight: 700; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; transition: background-color .18s ease, color .18s ease; }
.zn .zn-qty-btn:hover { background: var(--color-pink); color: #fff; }
/* Quantity controls inside the checkout order review + the bundle-rate note under a line. */
.zn .zn-co-qty { display: flex; align-items: center; gap: .35rem; margin-top: .45rem; }
.zn .zn-co-qty .zn-qty-btn { width: 30px; height: 30px; font-size: 1.05rem; }
.zn .zn-co-qty-input { width: 2.75rem; min-height: 32px; padding: 0; border: 2px solid var(--color-pink); border-radius: 9999px; background: #fff; text-align: center; font: inherit; font-weight: 700; color: var(--color-green); -moz-appearance: textfield; appearance: textfield; }
.zn .zn-co-qty-input::-webkit-inner-spin-button, .zn .zn-co-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.zn .zn-co-qty.is-busy { opacity: .5; pointer-events: none; }
.zn .woocommerce td.product-name dl.variation { margin: .3rem 0 0; font-size: var(--text-tiny); opacity: .85; }
.zn .woocommerce td.product-name dl.variation dt, .zn .woocommerce td.product-name dl.variation dd, .zn .woocommerce td.product-name dl.variation dd p { display: inline; float: none; margin: 0; padding: 0; }
.zn .woocommerce .cart-collaterals .cart_totals { width: 100%; max-width: 420px; margin-inline-start: auto; float: none; }
.zn .woocommerce .cart-collaterals h2 { color: var(--color-green); font-size: var(--text-title); font-weight: 700; margin-bottom: 1rem; }
.zn .woocommerce .cart_totals .checkout-button { width: 100%; }

/* Checkout */
.zn form.woocommerce-checkout h3, .zn .woocommerce h2 { color: var(--color-green); font-size: var(--text-title); font-weight: 700; margin-block: 0 1rem; }
.zn .woocommerce .col2-set .col-1, .zn .woocommerce .col2-set .col-2 { float: none; width: 100%; }
.zn form.woocommerce-checkout #customer_details { display: grid; gap: 2rem; }
@media (min-width: 900px) {
  .zn form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 2.5rem; align-items: start; }
  .zn form.woocommerce-checkout > #customer_details { grid-column: 1; grid-row: 1 / span 3; }
  .zn form.woocommerce-checkout > #order_review_heading,
  .zn form.woocommerce-checkout > #order_review { grid-column: 2; }
}
.zn form.woocommerce-checkout #order_review { background: var(--color-cream); border-radius: 25px; padding: 1.5rem; position: sticky; top: 1.5rem; }
.zn.admin-bar form.woocommerce-checkout #order_review { top: 3.5rem; }
.zn form.woocommerce-checkout #order_review table.shop_table { background: #fff; }
.zn form.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.zn form.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; }
.zn form.woocommerce-checkout #payment ul.payment_methods li { padding: .6rem 0; }
.zn form.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 1rem; color: var(--color-ink); }
.zn form.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.zn form.woocommerce-checkout #payment .place-order { padding: 0; }
.zn .woocommerce-terms-and-conditions-wrapper { font-size: var(--text-small); }
.zn .woocommerce-privacy-policy-text a, .zn .woocommerce-terms-and-conditions-link { color: var(--color-pink-dark); }
.zn .woocommerce-form-coupon-toggle .woocommerce-info { background: transparent; border: 0; padding: 0; }


/* Billing fields: a fixed two-column order (name, phone, e-mail, country, city, street), whatever the plugins' priorities say. */
.zn form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.25rem; }
.zn form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { float: none; width: auto; margin-inline: 0; grid-column: span 2; }
.zn form.woocommerce-checkout #billing_first_name_field { order: 1; grid-column: span 2; }
.zn form.woocommerce-checkout #billing_last_name_field { order: 2; grid-column: span 1; }
.zn form.woocommerce-checkout #billing_phone_field { order: 3; grid-column: span 1; }
.zn form.woocommerce-checkout #billing_email_field { order: 4; grid-column: span 1; }
.zn form.woocommerce-checkout #billing_country_field { order: 5; }
.zn form.woocommerce-checkout #billing_city_field { order: 6; }
.zn form.woocommerce-checkout #billing_address_1_field { order: 7; }
.zn form.woocommerce-checkout #billing_state_field, .zn form.woocommerce-checkout #billing_postcode_field { order: 8; }
.zn form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row:not([id^="billing_"]) { order: 9; }
@media (max-width: 640px) { .zn form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { grid-column: span 2; } }
.zn form.woocommerce-checkout .form-row label.radio { display: inline-flex; align-items: center; gap: .4rem; font-weight: 400; color: var(--color-ink); margin-inline-end: 1.25rem; }

/* Order received */
.zn .woocommerce-order .woocommerce-thankyou-order-received { font-size: var(--text-title); color: var(--color-green); font-weight: 700; margin-bottom: 1.5rem; }
.zn .woocommerce-order ul.order_details {
  display: flex; flex-wrap: wrap; gap: 1rem 2rem; list-style: none; margin: 0 0 2rem;
  padding: 1.25rem 1.5rem; background: var(--color-mint); border-radius: 1.25rem;
}
.zn .woocommerce-order ul.order_details li { border: 0; margin: 0; padding: 0; float: none; font-size: var(--text-small); text-transform: none; }
.zn .woocommerce-order ul.order_details li strong { display: block; font-size: var(--text-body); margin-top: .25rem; }
.zn .woocommerce-customer-details address { border: 2px solid var(--color-pink-light); border-radius: 1.25rem; padding: 1rem 1.25rem; }

/* Block-based cart/checkout, if those pages use blocks */
.zn .wc-block-components-button { text-transform: none; }

.zn-delivery-note { margin-top: .9rem; font-size: var(--text-small); color: var(--color-ink); text-align: center; }

/* Legal pages (terms #344, privacy #3) still carry the previous build's decorative banner as their
   first Elementor container (350px, margin-top -150px). The theme's page band replaces it. */
.zn.page-id-344 .zn-content [data-elementor-type] > .e-con:first-child,
.zn.page-id-3 .zn-content [data-elementor-type] > .e-con:first-child { display: none; }
.zn.page-id-344 .zn-content [data-elementor-type] > .e-con,
.zn.page-id-3 .zn-content [data-elementor-type] > .e-con { margin-block-start: 0; }

/* ---- Free-delivery announcement bar: home page, sits above the absolute header (site.js untouched) ---- */
.zn { --zn-bar-h: 40px; }
.zn-promo-bar { height: var(--zn-bar-h); background: var(--color-green); color: var(--color-cream); font-size: var(--text-small); line-height: 1; }
.zn-promo-bar__inner { height: 100%; display: flex; align-items: center; justify-content: center; gap: .55rem; }
.zn-promo-bar__icon { display: inline-flex; width: 22px; height: 22px; color: var(--color-butter); }
.zn-promo-bar__icon svg { width: 100%; height: 100%; transform: scaleX(-1); }
.zn-promo-bar__text { margin: 0; font-weight: 500; white-space: nowrap; }
.zn-promo-bar__text strong { font-weight: 700; color: #fff; }
.zn-promo-bar__text bdi { font-weight: 700; color: var(--color-butter); }
.zn-promo-bar__spark { width: 14px; height: 14px; flex: none; fill: var(--color-pink-light); }
.zn-has-promo header.absolute { top: var(--zn-bar-h); }
/* The absolute header is positioned from the document top, so the toolbar's html margin has to be added for logged-in users. */
.admin-bar.zn-has-promo header.absolute { top: calc(var(--zn-bar-h) + 32px); }
@media (max-width: 782px) { .admin-bar.zn-has-promo header.absolute { top: calc(var(--zn-bar-h) + 46px); } }
.zn .woocommerce .zn-fee-free { color: var(--color-green); font-weight: 700; }
@media (max-width: 480px) { .zn-promo-bar { font-size: var(--text-tiny); } .zn-promo-bar__spark { display: none; } }

/* ---- Footer bottom bar: copyright + developer credit; the accessibility statement lives in the quick links, so the plugin's floating link is hidden ---- */
.dra-footer-link { display: none !important; }
.zn .zn-footer-bottom { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(0, 0, 0, .08); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; font-size: var(--text-tiny); color: var(--color-ink); }
.zn .zn-footer-copy { margin: 0; }
.zn .zn-footer-credit { display: inline-flex; align-items: center; gap: .5rem; color: inherit; text-decoration: none; transition: color .18s ease; }
.zn .zn-footer-credit:hover { color: var(--color-pink-dark); }
.zn .zn-footer-credit img { height: 26px; width: auto; display: block; }
@media (max-width: 640px) { .zn .zn-footer-bottom { justify-content: center; text-align: center; } }

/* ---- Payment method icons in the checkout list ---- */
.zn .woocommerce ul.payment_methods li label img.zn-pay-icon { height: 24px; width: auto; max-height: none; float: none; margin: 0; margin-inline-start: .55rem; vertical-align: middle; display: inline-block; }

/* Coupon «FreeDe»: free delivery for Jerusalem-area addresses */
.zn .woocommerce .zn-coupon-hint td { padding-block: 4px 10px; font-size: .92em; line-height: 1.5; color: var(--color-ink); text-align: start; }
.zn .woocommerce .zn-coupon-note { color: var(--color-green); font-weight: 700; }
