/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Smart Cart — subtle item count: white circle, black text */
.sc-trigger.sc-open-cart,
.sc-header-icons .sc-trigger.sc-open-cart {
  position: relative;
  overflow: visible;
}

.sc-trigger.sc-open-cart .sc-trigger-count,
.sc-header-icons .sc-trigger.sc-open-cart .sc-trigger-count {
  top: -5px !important;
  inset-inline-start: auto !important;
  inset-inline-end: -7px !important;
  left: auto !important;
  right: -7px !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: #000 !important;
  background: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  z-index: 5;
  box-sizing: border-box;
}

html[dir="rtl"] .sc-trigger.sc-open-cart .sc-trigger-count,
html[dir="rtl"] .sc-header-icons .sc-trigger.sc-open-cart .sc-trigger-count {
  right: auto !important;
  left: -7px !important;
  inset-inline-end: auto !important;
  inset-inline-start: -7px !important;
}

.sc-trigger.sc-open-cart .sc-trigger-count.sc-trigger-count--empty,
.sc-header-icons .sc-trigger.sc-open-cart .sc-trigger-count.sc-trigger-count--empty,
.sc-trigger.sc-open-cart .sc-trigger-count[data-count="0"],
.sc-header-icons .sc-trigger.sc-open-cart .sc-trigger-count[data-count="0"] {
  display: none !important;
}

/* Header — "כניסה למנויים" text button in place of the person icon
   (inc/sella-header-account.php). Desktop: Smart Cart shortcode; mobile:
   Elementor icon list. */
.sc-header-icons .sc-trigger.sc-account-trigger,
.elementor-icon-list-item > a.sella-account-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 34px;
  margin-inline-end: 6px;
  padding: 0 16px !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}

.sc-header-icons .sc-trigger.sc-account-trigger:hover,
.elementor-icon-list-item > a.sella-account-link:hover {
  opacity: 1;
  color: #fff !important;
  border-color: #fff !important;
  background-color: rgba(255, 255, 255, 0.12) !important;
}

.sella-account-label {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: inherit;
}

.sella-account-label--member,
body.logged-in .sella-account-label--guest {
  display: none;
}

body.logged-in .sella-account-label--member {
  display: inline;
}

@media (max-width: 767px) {
  .sc-header-icons .sc-trigger.sc-account-trigger,
  .elementor-icon-list-item > a.sella-account-link {
    height: 28px;
    margin-inline-end: 0;
    padding: 0 10px !important;
  }

  .sella-account-label {
    font-size: 12px;
  }

  /* The mobile header's icon column was sized for icons: keep the logo, the
     icons, the button and the burger on one line and let that column take the
     room the logo column does not use. Only the header's inner row: the outer
     section holding it also contains the button and must keep its full width. */
  .elementor-inner-section > .elementor-container:has(> .elementor-inner-column a.sella-account-link) {
    flex-wrap: nowrap;
  }

  .elementor-inner-section > .elementor-container:has(> .elementor-inner-column a.sella-account-link) > .elementor-inner-column {
    width: auto !important;
  }

  .elementor-inner-section > .elementor-container:has(> .elementor-inner-column a.sella-account-link) > .elementor-inner-column:not(:has(a.sella-account-link)) {
    flex: 0 0 auto;
  }

  .elementor-inner-section > .elementor-container > .elementor-inner-column:has(a.sella-account-link) {
    flex: 1 1 auto;
    min-width: 0;
  }

  .elementor-inner-column:has(a.sella-account-link) > .elementor-widget-wrap {
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
  }

  .elementor-widget-icon-list:has(a.sella-account-link) {
    flex-shrink: 0;
    margin-inline-start: 8px;
  }

  .elementor-widget-icon-list:has(a.sella-account-link) .elementor-icon-list-items {
    flex-wrap: nowrap;
  }
}

@media (max-width: 360px) {
  .elementor-inner-section > .elementor-container:has(> .elementor-inner-column a.sella-account-link) > .elementor-inner-column:not(:has(a.sella-account-link)) img {
    max-width: 78px;
  }
}

@media (max-width: 380px) {
  .elementor-icon-list-item > a.sella-account-link {
    padding: 0 8px !important;
  }

  .sella-account-label {
    font-size: 11px;
  }

  .elementor-widget-icon-list:has(a.sella-account-link) .elementor-icon-list-item {
    margin-inline: 1px !important;
  }
}

@media (max-width: 340px) {
  .elementor-inner-section > .elementor-container:has(> .elementor-inner-column a.sella-account-link) > .elementor-inner-column:not(:has(a.sella-account-link)) img {
    max-width: 56px;
  }

  .elementor-icon-list-item > a.sella-account-link {
    padding: 0 8px !important;
  }

  .sella-account-label {
    font-size: 11px;
  }

  .elementor-widget-icon-list:has(a.sella-account-link) .elementor-icon-list-item {
    margin-inline: 1px !important;
  }
}

/* Homepage books slider — add-to-cart button in static cards */
.static-book-card .book-action-area {
  display: flex !important;
  justify-content: center;
  margin-top: 10px;
}

/* The homepage Elementor page CSS (post-2.css) hides the button inside this
   widget with: .elementor-2 .elementor-element.elementor-element-58cdf7d
   .book-card-item .book-add-to-cart-btn { display:none !important }.
   Win with higher specificity; the pill design comes from the existing
   .book-card-item .book-add-to-cart-btn rules. */
.elementor-2 .elementor-element.elementor-element-58cdf7d .book-card-item .book-action-area .book-add-to-cart-btn,
.static-book-card .book-action-area .book-add-to-cart-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Fallback design if the shortcode is used outside the homepage */
.static-book-card .book-action-area .book-add-to-cart-btn {
  min-width: 140px;
  padding: 10px 24px;
  border: 1.7px solid #746fed;
  border-radius: 50px;
  color: #746fed;
  background-color: transparent;
  font-size: 18px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.3s, color 0.3s, transform 0.2s;
}

.static-book-card .book-action-area .book-add-to-cart-btn:hover {
  background-color: #746fed;
  color: #fff;
}

/* Mobile: lighter, smaller titles, prices and buttons on every book card
   (home page, shop, categories). */
@media (max-width: 767px) {
  .elementor-2 .elementor-element.elementor-element-58cdf7d .static-book-card .book-title,
  .book-card-item .book-title {
    margin: 8px 0 2px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3;
  }

  .elementor-2 .elementor-element.elementor-element-58cdf7d .static-book-card .book-author,
  .book-card-item .book-author {
    margin-bottom: 4px;
    font-size: 12px !important;
    letter-spacing: 0 !important;
    opacity: 0.85;
  }

  .elementor-2 .elementor-element.elementor-element-58cdf7d .book-card-item .book-action-area .book-add-to-cart-btn,
  .book-card-item .book-action-area .book-add-to-cart-btn,
  .book-card-item .book-add-to-cart-btn {
    min-width: 0 !important;
    padding: 5px 12px !important;
    border-width: 1px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 16px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .book-card-item .book-action-area {
    align-items: center;
    height: auto;
    min-height: 0;
    margin-top: 6px;
  }

  .book-card-item .book-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 0 6px;
    margin-bottom: 6px;
    font-size: 14px !important;
  }

  .book-card-item .book-price del,
  .book-card-item .book-price del * {
    font-size: 11px !important;
  }
}

/* Mobile header — cart count badge on the existing sibolet cart icon */
.sibolet-header-icons .elementor-icon-list-item {
  position: relative;
}

.sella-mobile-cart-count {
  position: absolute;
  top: -5px;
  inset-inline-start: -7px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  color: #000;
  background: #fff;
  border-radius: 999px;
  box-sizing: border-box;
  z-index: 5;
  pointer-events: none;
}

/* Smart Cart — hide loading overlay / empty flash while the drawer is closing */
.sc-root.sella-sc-closing .sc-drawer__loader {
  display: none !important;
}

.sc-root.sella-sc-closing .sc-drawer.is-loading .sc-drawer__inner,
.sc-root.sella-sc-closing .sc-drawer__inner {
  visibility: visible !important;
}

/* Smart Cart — place the account link in the free-shipping announcement row. */
.sc-drawer__inner {
  position: relative;
}

.sc-announcement {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 140px;
  box-sizing: border-box;
  color: #8a8a8a;
  background: #fafafa;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}

.sc-topbar {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 48px;
  padding: 0 18px;
  pointer-events: none;
  box-sizing: border-box;
}

.sc-login-link {
  margin-inline-start: auto;
  color: #171717;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: auto;
  transition: opacity 0.3s ease;
}

.sc-login-link:hover {
  opacity: 0.65;
}

/* Checkout — spacious mobile layout and book thumbnails in order review. */
.woocommerce-checkout .woocommerce {
  color: #171717;
}

.woocommerce-checkout form.checkout {
  max-width: 1120px;
  margin-inline: auto;
}

.woocommerce-checkout form.checkout {
  --sella-field-height: 60px;
  --sella-field-bg: #f7f7f9;
  --sella-field-border: #e7e7ee;
  --sella-field-border-hover: #cfcfdb;
  --sella-field-label: #7b7f8a;
  --sella-field-text: #171717;
  --sella-accent: #746fed;
  --sella-accent-ring: rgba(116, 111, 237, 0.16);
  --sella-error: #d7263d;
}

.woocommerce-checkout #order_review_heading {
  margin: 0 0 14px;
  font-size: 25px;
  font-weight: 800;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #ship-to-different-address {
  margin-top: 0;
  margin-bottom: 22px;
  font-size: 25px;
  font-weight: 800;
}

/* Checkout fields — two-column grid instead of floats. */
.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout form.checkout #customer_details .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
}

.woocommerce-checkout form.checkout #customer_details .form-row {
  position: relative;
  grid-column: 1 / -1;
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout form.checkout #customer_details .form-row-first,
.woocommerce-checkout form.checkout #customer_details .form-row-last {
  grid-column: auto;
}

.woocommerce-checkout form.checkout #customer_details .form-row .woocommerce-input-wrapper {
  display: block;
  margin: 0;
}

.woocommerce-checkout form.checkout #customer_details .form-row label {
  display: block;
  margin: 0 0 6px;
  color: var(--sella-field-label);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}

.woocommerce-checkout form.checkout #customer_details .form-row .required {
  color: var(--sella-error);
  font-weight: 600;
  text-decoration: none;
}

.woocommerce-checkout form.checkout #customer_details .form-row .optional {
  font-size: 0.88em;
  font-weight: 400;
  opacity: 0.8;
}

.woocommerce-checkout form.checkout #customer_details .form-row .input-text,
.woocommerce-checkout form.checkout #customer_details .form-row select,
.woocommerce-checkout form.checkout .e-coupon-box .form-row .input-text {
  display: block;
  width: 100%;
  min-height: var(--sella-field-height);
  margin: 0;
  padding: 8px 16px;
  border: 1.5px solid var(--sella-field-border);
  border-radius: 14px;
  color: var(--sella-field-text);
  background-color: var(--sella-field-bg);
  box-shadow: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  box-sizing: border-box;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-checkout form.checkout #customer_details .form-row select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b7f8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 16px center;
  background-size: 18px;
  padding-inline-end: 44px;
}

/* Beats the Elementor page CSS, which sizes selects with an extra class. */
.woocommerce-checkout form.checkout #customer_details .form-row .woocommerce-input-wrapper select:not([multiple]) {
  font-size: 16px;
}

html:not([dir="rtl"]) .woocommerce-checkout form.checkout #customer_details .form-row select {
  background-position: right 16px center;
}

.woocommerce-checkout form.checkout #customer_details .form-row .country_to_state--single {
  cursor: default;
  background-image: none;
  padding-inline-end: 16px;
}

.woocommerce-checkout form.checkout #customer_details .form-row textarea.input-text {
  min-height: 116px;
  padding-block: 12px;
  resize: vertical;
}

.woocommerce-checkout form.checkout #customer_details .form-row .input-text:hover,
.woocommerce-checkout form.checkout #customer_details .form-row select:hover,
.woocommerce-checkout form.checkout .e-coupon-box .form-row .input-text:hover {
  border-color: var(--sella-field-border-hover);
}

.woocommerce-checkout form.checkout #customer_details .form-row .input-text:focus,
.woocommerce-checkout form.checkout #customer_details .form-row select:focus,
.woocommerce-checkout form.checkout .e-coupon-box .form-row .input-text:focus {
  border-color: var(--sella-accent);
  background-color: #fff;
  box-shadow: 0 0 0 4px var(--sella-accent-ring);
}

.woocommerce-checkout form.checkout #customer_details .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout form.checkout #customer_details .form-row.woocommerce-invalid select {
  border-color: var(--sella-error);
  background-color: #fff;
}

.woocommerce-checkout form.checkout #customer_details .form-row.woocommerce-invalid .input-text:focus,
.woocommerce-checkout form.checkout #customer_details .form-row.woocommerce-invalid select:focus {
  box-shadow: 0 0 0 4px rgba(215, 38, 61, 0.12);
}

.woocommerce-checkout form.checkout #customer_details .checkout-inline-error-message,
.woocommerce-checkout form.checkout #customer_details .lets-address__hint {
  margin: 6px 4px 0;
  font-size: 13px;
  line-height: 1.35;
}

.woocommerce-checkout form.checkout #customer_details .checkout-inline-error-message {
  color: var(--sella-error);
}

/* Floating labels — enabled by assets/js/sella-checkout-fields.js, which adds
   .sella-float-field to each row and toggles .is-filled from the field value. */
.woocommerce-checkout form.checkout #customer_details .sella-float-field label {
  position: absolute;
  top: calc(var(--sella-field-height) / 2);
  inset-inline: 17px;
  z-index: 1;
  margin: 0;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
  transform: translateY(-50%);
  transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field .input-text,
.woocommerce-checkout form.checkout #customer_details .sella-float-field select {
  padding-top: 25px;
  padding-bottom: 7px;
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field textarea.input-text {
  padding-top: 32px;
  padding-bottom: 10px;
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field--textarea label {
  top: 30px;
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field .input-text::placeholder {
  color: transparent;
  transition: color 0.2s ease;
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field .input-text:focus::placeholder {
  color: #a4a8b1;
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field.is-filled label,
.woocommerce-checkout form.checkout #customer_details .sella-float-field:focus-within label {
  top: 17px;
  font-size: 12.5px;
  font-weight: 600;
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field--textarea.is-filled label,
.woocommerce-checkout form.checkout #customer_details .sella-float-field--textarea:focus-within label {
  top: 17px;
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field:focus-within label {
  color: var(--sella-accent);
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field.woocommerce-invalid label {
  color: var(--sella-error);
}

.woocommerce-checkout form.checkout #customer_details .sella-float-field input:-webkit-autofill {
  animation: sella-autofill-start 0.01s;
}

@keyframes sella-autofill-start {
  from { opacity: 1; }
  to { opacity: 1; }
}

.woocommerce-checkout form.checkout .e-coupon-box .form-row .input-text::placeholder {
  color: var(--sella-field-label);
}

.woocommerce-checkout form.checkout #terms {
  width: 18px;
  height: 18px;
  margin-inline-end: 6px;
  vertical-align: middle;
  accent-color: var(--sella-accent);
}

/* Marketing opt-in (inc/sella-customer-fields.php) — checkout and Account details. */
.woocommerce-checkout form.checkout #customer_details .sella-marketing-consent label.checkbox,
.woocommerce-account form.edit-account .sella-marketing-consent label.checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  color: #171717;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
}

.woocommerce-checkout form.checkout #customer_details .sella-marketing-consent .input-checkbox,
.woocommerce-account form.edit-account .sella-marketing-consent .input-checkbox {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--sella-accent, #746fed);
}

/* An opt-in is optional by nature; the "(optional)" tag only adds noise. */
.woocommerce-checkout form.checkout #customer_details .sella-marketing-consent .optional {
  display: none;
}

/* Checkout panels are flat like the cart page — no drop shadows anywhere. */
.woocommerce-checkout [class*="e-checkout__order_review"],
.woocommerce-checkout .e-coupon-box,
.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-terms-and-conditions,
.woocommerce-checkout #payment {
  box-shadow: none !important;
}

.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}

/* Column headers: quiet, with a single rule under them, as on the cart. */
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
  padding: 0 0 12px;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
  color: #6b6b6b;
  font-size: 14px;
  font-weight: 500;
  text-align: start;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total {
  text-align: end;
}

@media (min-width: 768px) {
  .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-total {
    width: 1%;
    white-space: nowrap;
  }
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total {
  font-size: 16px;
  font-weight: 600;
  text-align: end;
  white-space: nowrap;
}

/* The quantity rides on the cover as a badge instead of sitting under the name. */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity {
  display: none;
}

.sella-checkout-product {
  display: flex;
  align-items: center;
  gap: 14px;
}

.sella-checkout-product-media {
  position: relative;
  flex: 0 0 auto;
  line-height: 0;
}

.sella-checkout-product-image {
  display: block;
  width: 56px;
  height: 72px;
  border-radius: 6px;
  background: #f7f7f9;
  box-shadow: none;
  object-fit: contain;
}

.sella-checkout-product-qty {
  position: absolute;
  inset-block-start: -8px;
  inset-inline-end: -8px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 11px;
  color: #fff;
  background: #171717;
  font-size: 13px;
  font-weight: 600;
  line-height: 22px;
  text-align: center;
  box-sizing: border-box;
}

.sella-checkout-product-name {
  min-width: 0;
  color: #171717;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  padding: 13px 0;
  border: 0;
  border-top: 1px solid #f0f0f0;
  font-size: 16px;
  font-weight: 500;
  text-align: start;
  vertical-align: middle;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  text-align: end;
  white-space: nowrap;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child td {
  border-top: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
  padding-top: 16px;
  border-top: 1px solid #e5e5e5;
  font-size: 19px;
  font-weight: 800;
}

/* Shipping: the heading sits on its own line with the methods stacked under it.
   assets/js/sella-checkout-fields.js rebuilds the row into one cell spanning both
   columns on every refresh of the review table; until it runs, the cell wraps
   instead of overflowing. The ids in these selectors outrank Elementor's widget CSS,
   which also caps this cell at 70px: harmless in the table, but not once the cell is
   a block on mobile. */
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals td {
  text-align: start;
  white-space: normal;
  max-width: none; /* Elementor caps this cell at 70px */
}

.woocommerce-checkout #order_review .sella-shipping-heading {
  display: block;
  margin-bottom: 10px;
}

.woocommerce-checkout #order_review #shipping_method {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-checkout #order_review #shipping_method li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  white-space: normal;
}

.woocommerce-checkout #order_review #shipping_method .shipping_method[type="radio"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #746fed;
  cursor: pointer;
}

.woocommerce-checkout #order_review #shipping_method li label {
  display: block;
  margin: 0;
  color: #171717;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  white-space: normal;
  cursor: pointer;
}

.woocommerce-checkout #order_review #shipping_method li input:checked + label {
  font-weight: 600;
}

/* Mobile order summary toggle — built by assets/js/sella-checkout-fields.js. */
.sella-order-toggle {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 15px 0;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
  color: #171717;
  background: none;
  font: inherit;
  text-align: start;
  cursor: pointer;
}

.sella-order-toggle__label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 17px;
  font-weight: 600;
}

.sella-order-toggle__chevron {
  width: 9px;
  height: 9px;
  margin-block-start: -4px;
  /* Physical sides: a logical pair would mirror into a sideways chevron in RTL. */
  border-right: 2px solid #171717;
  border-bottom: 2px solid #171717;
  transform: rotate(45deg);
  transition: transform 0.3s ease, margin 0.3s ease;
}

.sella-order-toggle[aria-expanded="true"] .sella-order-toggle__chevron {
  margin-block-start: 3px;
  transform: rotate(-135deg);
}

.sella-order-toggle__total {
  font-size: 18px;
  font-weight: 800;
}

.woocommerce-checkout #payment {
  margin-top: 24px;
  padding: 18px;
  border-radius: 0;
  background: #f8f8f8;
}

.woocommerce-checkout #place_order {
  width: 100%;
  min-height: 52px;
  margin-top: 18px;
  border: 1.7px solid #746fed;
  border-radius: 50px;
  color: #fff;
  background: #746fed;
  font-size: 18px;
  font-weight: 700;
}

@media (max-width: 767px) {
  body.woocommerce-checkout {
    background: #fafafa;
  }

  .woocommerce-checkout .woocommerce {
    padding: 0 14px 28px;
  }

  /* Elementor sets 35px section padding; tighten it so half-width fields keep their labels. */
  body.woocommerce-checkout .elementor-element.elementor-widget-woocommerce-checkout-page {
    --sections-padding: 24px 16px;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout .woocommerce-billing-fields h3 {
    font-size: 22px;
  }

  .woocommerce-checkout form.checkout #customer_details .sella-float-field label {
    font-size: 15px;
  }

  .woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout form.checkout #customer_details .woocommerce-additional-fields__field-wrapper {
    gap: 12px 10px;
  }

  /* Required fields carry an asterisk, so drop "(optional)" to fit half-width rows. */
  .woocommerce-checkout form.checkout #customer_details .sella-float-field .optional {
    display: none;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tr,
  .woocommerce-checkout .woocommerce-checkout-review-order-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table thead {
    display: none;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item td {
    padding: 0;
    border: 0;
  }

  /* Order summary collapses behind the toggle, Shopify style. */
  .woocommerce-checkout .e-checkout__order_review #order_review_heading {
    display: none;
  }

  .sella-order-toggle {
    display: flex;
  }

  .woocommerce-checkout .e-checkout__order_review #order_review {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.35s ease, opacity 0.25s ease, margin 0.35s ease;
  }

  .woocommerce-checkout .e-checkout__order_review.is-open #order_review {
    max-height: 1600px;
    margin-top: 6px;
    opacity: 1;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item .product-name {
    flex: 1 1 auto;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item .product-total {
    flex: 0 0 auto;
    width: auto;
    text-align: end;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item + tr.cart_item {
    border-top: 1px solid #ededed;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tr:not(.cart_item) {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid #ededed;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tr:not(.cart_item) th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tr:not(.cart_item) td {
    width: auto;
    padding: 0;
    border: 0;
  }

  .sella-checkout-product {
    gap: 12px;
  }

  .sella-checkout-product-image {
    width: 50px;
    height: 66px;
  }

  .sella-checkout-product-name {
    font-size: 15px;
  }

  .woocommerce-checkout #payment {
    padding: 14px;
  }

  /* The rebuilt shipping row has a single cell: let it take the whole row. */
  .woocommerce-checkout #order_review tr.sella-shipping-row td {
    flex: 1 1 100%;
  }
}

/* Thank-you page — one column of cards in the style of the checkout's order summary.
   The covers, the quantity badges and the marked total come from inc/sella-thankyou.php.
   "body" in the selectors outranks WooCommerce's and Elementor's own order-details CSS. */
body.woocommerce-order-received .woocommerce-order {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 760px;
  margin-inline: auto;
  color: #171717;
}

body.woocommerce-order-received .woocommerce-order > * {
  margin: 0;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 8px 0 4px;
  padding: 0;
  border: 0;
  color: #171717;
  background: none;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
  content: "";
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #746fed url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 30px no-repeat;
}

/* Order number, date, email, total and payment method: one row of cells. */
body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview {
  display: flex;
  margin: 0;
  padding: 0;
  border-radius: 25px;
  background: #fefefe;
  list-style: none;
}

body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview::before,
body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview::after {
  display: none;
}

body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview li {
  flex: 1 1 auto;
  min-width: 0;
  float: none;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  color: #6b6b6b;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-transform: none;
}

body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview li + li {
  border-inline-start: 1px solid #f0f0f0;
}

body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 5px;
  color: #171717;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* The order summary and customer details sit in the same white card as at checkout. */
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  padding: 35px;
  border-radius: 25px;
  background: #fefefe;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-customer-details > h2,
body.woocommerce-order-received .woocommerce-column__title {
  margin: 0 0 14px;
  color: #171717;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.25;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  border-collapse: collapse;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details th,
body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details td {
  background: none;
  color: #171717;
  line-height: 1.4;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details thead th {
  padding: 0 0 12px;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
  color: #6b6b6b;
  font-size: 14px;
  font-weight: 500;
  text-align: start;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details thead th.product-total {
  text-align: end;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tbody td {
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 16px;
  vertical-align: middle;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tbody td.product-total {
  width: 1%;
  padding-inline-start: 16px;
  font-weight: 600;
  text-align: end;
  white-space: nowrap;
}

body.woocommerce-order-received .woocommerce-table--order-details .sella-checkout-product-name a {
  color: inherit;
  text-decoration: none;
}

/* Item meta (variations, add-ons) lines up under the name, past the cover. */
body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta {
  margin: 6px 0 0;
  padding-inline-start: 70px;
  color: #6b6b6b;
  font-size: 14px;
  list-style: none;
}

body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta p {
  display: inline;
  margin: 0;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tfoot th,
body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tfoot td {
  padding: 13px 0;
  border: 0;
  border-top: 1px solid #f0f0f0;
  font-size: 16px;
  font-weight: 500;
  text-align: start;
  vertical-align: middle;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tfoot td {
  text-align: end;
  white-space: nowrap;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tfoot tr:first-child th,
body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tfoot tr:first-child td {
  border-top: 0;
}

body.woocommerce-order-received .woocommerce-table--order-details tfoot small {
  display: block;
  color: #6b6b6b;
  font-size: 14px;
  font-weight: 400;
}

body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tfoot tr:has(.sella-thankyou-total) th,
body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tfoot tr:has(.sella-thankyou-total) td {
  padding-top: 16px;
  border-top: 1px solid #e5e5e5;
  font-size: 19px;
  font-weight: 800;
}

body.woocommerce-order-received .woocommerce .order-again {
  margin: 22px 0 0;
}

body.woocommerce-order-received .woocommerce .order-again .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  border: 1.7px solid #746fed;
  border-radius: 50px;
  color: #746fed;
  background: none;
  font-size: 16px;
  font-weight: 700;
}

body.woocommerce-order-received .woocommerce .order-again .button:hover {
  color: #fff;
  background: #746fed;
}

/* Billing and shipping addresses side by side, without WooCommerce's boxed outline. */
body.woocommerce-order-received .woocommerce .woocommerce-customer-details .addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 32px;
  margin: 0;
}

body.woocommerce-order-received .woocommerce .woocommerce-customer-details .addresses::before,
body.woocommerce-order-received .woocommerce .woocommerce-customer-details .addresses::after {
  display: none;
}

body.woocommerce-order-received .woocommerce .woocommerce-customer-details .woocommerce-column {
  float: none;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title {
  font-size: 19px;
}

body.woocommerce-order-received .woocommerce .woocommerce-customer-details address {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #171717;
  font-size: 16px;
  font-style: normal;
  line-height: 1.7;
  text-align: start;
}

body.woocommerce-order-received .woocommerce .woocommerce-customer-details address p {
  margin: 6px 0 0;
  padding: 0;
  color: #6b6b6b;
}

body.woocommerce-order-received .woocommerce .woocommerce-customer-details address p::before {
  display: none;
}

@media (max-width: 767px) {
  body.woocommerce-order-received .woocommerce-order {
    gap: 16px;
  }

  body.woocommerce-order-received .woocommerce-thankyou-order-received {
    gap: 14px;
    font-size: 23px;
  }

  body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    width: 52px;
    height: 52px;
    background-size: 26px;
  }

  /* The overview turns into label / value rows, like the totals under it. */
  body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview {
    flex-direction: column;
    padding: 6px 20px;
    border-radius: 20px;
  }

  body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 0;
    font-size: 15px;
  }

  body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview li + li {
    border-inline-start: 0;
    border-top: 1px solid #f0f0f0;
  }

  body.woocommerce-order-received .woocommerce ul.woocommerce-order-overview li strong {
    margin: 0;
    font-size: 15px;
    text-align: end;
  }

  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details {
    padding: 22px 20px;
    border-radius: 20px;
  }

  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-order-received .woocommerce-customer-details > h2,
  body.woocommerce-order-received .woocommerce-column__title {
    font-size: 22px;
  }

  body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details thead {
    display: none;
  }

  body.woocommerce-order-received .woocommerce table.woocommerce-table--order-details tbody td {
    padding: 12px 0;
  }

  body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta {
    padding-inline-start: 62px;
  }

  body.woocommerce-order-received .woocommerce .woocommerce-customer-details .addresses {
    grid-template-columns: minmax(0, 1fr);
  }

  body.woocommerce-order-received .woocommerce .order-again .button {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .sc-announcement {
    min-height: 46px;
    padding: 0 112px;
    font-size: 14px;
  }

  .sc-topbar {
    height: 46px;
    padding: 0 12px;
  }

  .sc-login-link {
    font-size: 14px;
  }
}

/* Product pages — persistent add-to-cart action for mobile and desktop. */
.woocommerce-notices-wrapper {
  position: fixed;
  inset-inline-end: 20px;
  inset-block-end: 20px;
  z-index: 2100;
  width: min(390px, calc(100vw - 40px));
  pointer-events: none;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 58px;
  margin: 0 0 10px;
  padding: 17px 46px 17px 48px;
  overflow: hidden;
  border: 1px solid #d8d8d8;
  border-inline-start: 4px solid #2d8a5a;
  border-radius: 4px;
  color: #171717;
  background: #fff;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.14);
  font-size: 15px;
  line-height: 1.45;
  pointer-events: auto;
  transform: translateX(120%);
  animation: sella-notification-in 0.45s ease forwards;
  box-sizing: border-box;
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
  position: absolute;
  inset-inline-start: 17px;
  inset-block-start: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: #fff;
  background: #2d8a5a;
  content: '✓';
  font-size: 13px;
  font-weight: 700;
}

.woocommerce-notices-wrapper .woocommerce-info {
  border-inline-start-color: #746fed;
}

.woocommerce-notices-wrapper .woocommerce-info::before {
  background: #746fed;
  content: 'i';
  font-family: Georgia, serif;
}

.woocommerce-notices-wrapper .woocommerce-error {
  border-inline-start-color: #d7263d;
}

.woocommerce-notices-wrapper .woocommerce-error::before {
  background: #d7263d;
  content: '!';
}

.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-notices-wrapper .woocommerce-error a {
  display: inline-block;
  margin-inline-start: 8px;
  color: #746fed;
  font-weight: 700;
  text-decoration: underline;
}

.sella-notification-close {
  position: absolute;
  inset-inline-end: 12px;
  inset-block-start: 10px;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  color: #777;
  background: transparent;
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
}

.sella-notification-close:hover {
  color: #171717;
}

.woocommerce-notices-wrapper .is-dismissing {
  animation: sella-notification-out 0.35s ease forwards;
}

@keyframes sella-notification-in {
  from { opacity: 0; transform: translateX(120%); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes sella-notification-out {
  from { opacity: 1; transform: translateX(0); }
  to { opacity: 0; transform: translateX(120%); }
}

@media (max-width: 767px) {
  .woocommerce-notices-wrapper {
    inset-inline-end: 12px;
    inset-block-end: 12px;
    width: calc(100vw - 24px);
  }

  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info,
  .woocommerce-notices-wrapper .woocommerce-error {
    padding: 15px 40px 15px 44px;
    font-size: 14px;
  }
}

.sella-sticky-product-cart {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid #e7e7e7;
  box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(100%);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.sella-sticky-product-cart.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.sella-sticky-product-cart__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: min(1100px, 100%);
  margin: 0 auto;
}

.sella-sticky-product-cart__details {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 0;
}

.sella-sticky-product-cart__title {
  overflow: hidden;
  color: #171717;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.sella-sticky-product-cart__price {
  color: #171717;
  font-size: 16px;
  line-height: 1.25;
  white-space: nowrap;
}

.sella-sticky-product-cart__button {
  flex: 0 0 auto;
  min-width: 190px;
  padding: 0 48px;
  height: 46px;
  border: 0;
  border-radius: 50px;
  color: var(--sella-sticky-color, #fff);
  background: var(--sella-sticky-bg, #746fed);
  font: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 20px;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, opacity 0.3s;
}

.sella-sticky-product-cart__button:hover:not(:disabled) {
  opacity: 0.88;
}

.sella-sticky-product-cart__button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

body.sella-has-sticky-product-cart {
  padding-bottom: 78px;
}

@media (max-width: 767px) {
  .sella-sticky-product-cart {
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  }

  .sella-sticky-product-cart__inner {
    gap: 10px;
  }

  /* Just the button, across the middle: the name and price are on the page. */
  .sella-sticky-product-cart__details {
    display: none;
  }

  /* Room on both sides for the accessibility button in the corner, so it never covers ours. */
  .sella-sticky-product-cart__inner {
    justify-content: center;
    padding-inline: 46px;
    box-sizing: border-box;
  }

  .sella-sticky-product-cart__button {
    flex: 1 1 auto;
    min-width: 0;
    height: 44px;
    padding: 0 16px;
    font-size: 17px;
  }

  body.sella-has-sticky-product-cart {
    padding-bottom: 68px;
  }
}

.sc-root.sella-sc-closing .sc-empty {
  display: none !important;
}

/* TEMPORARY (from 26.10.2026): the header's "הצטרפו לקהילת המנויים!"
   button (header template 46, widget b11db5d) is hidden for a week.
   Delete this rule to bring it back. */
.elementor-46 .elementor-element.elementor-element-b11db5d {
  display: none !important;
}

/* Shop filter bar — the archive search field opens the LETS search
   (assets/js/sella-shop-search.js), so it behaves like a button. */
#sibolet-book-search.sella-shop-search-trigger {
  cursor: pointer;
}

/* No "ספרים" filter: every book is in that category, so it shows the same
   list as "כל הספרים". */
.sibolet-categories-wrapper .cat-filter-btn[data-cat-id="15"] {
  display: none;
}

/* First come "כל הספרים", "רבי מכר" (432) and "החדשים ביותר" (426); the
   rest keep the plugin's order. The wrapper is a flex row. */
.sibolet-categories-wrapper .cat-filter-btn[data-cat-id="0"] {
  order: -3;
}

.sibolet-categories-wrapper .cat-filter-btn[data-cat-id="432"] {
  order: -2;
}

.sibolet-categories-wrapper .cat-filter-btn[data-cat-id="426"] {
  order: -1;
}

#sibolet-book-search.sella-shop-search-trigger:focus,
#sibolet-book-search.sella-shop-search-trigger:focus-visible {
  outline: 2px solid rgba(116, 111, 237, 0.35);
  outline-offset: 2px;
}

/* Larger text in the Smart Cart search panel. assets/js/sella-font-scale.js
   takes 2px off every size here too, so each shows 2px under what it says. */
#sc-search .sc-search__input {
  font-size: 19px !important;
}

#sc-search .sc-search__side-title,
#sc-search .sc-search__heading {
  font-size: 16px;
}

#sc-search .sc-search__side-list a,
#sc-search .sc-search__suggest,
#sc-search .sc-search__view-all {
  font-size: 17px;
}

#sc-search .sc-search__count,
#sc-search .sc-search__path {
  font-size: 14px;
}

#sc-search .sc-search-row__name {
  font-size: 18px;
}

#sc-search .sc-search-row__price {
  font-size: 17px;
}

#sc-search .sc-search-row__badge {
  font-size: 12px;
}

#sc-search .sc-search__empty-title {
  font-size: 20px;
}

#sc-search .sc-search__empty-text {
  font-size: 17px;
}

/* The shop search page (?s=…&post_type=product): sella-shop-search.js filters
   the archive grid down to the term, so the full list waits rather than
   flashing first. Should the script not run, the grid shows after a moment. */
body.search.post-type-archive-product #sibolet-archive-grid:not(.sella-search-filtered) {
  visibility: hidden;
  animation: sella-search-reveal 0s 2.5s forwards;
}

@keyframes sella-search-reveal {
  to {
    visibility: visible;
  }
}

/* Shop sorting (assets/js/sella-shop-sort.js): the archive prints the books
   א–ת and the script orders them newest first, so the grid waits for it rather
   than jumping. Should the script not run, the grid shows after a moment. */
body.sella-shop-sortable #sibolet-archive-grid:not(.sella-sorted) {
  visibility: hidden;
  animation: sella-search-reveal 0s 2.5s forwards;
}

.sella-shop-sort {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  font-family: 'polin', sans-serif;
}

.sella-shop-sort label {
  color: #555;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.sella-shop-sort select {
  min-width: 150px;
  margin: 0;
  padding: 8px 18px 8px 38px;
  border: 1px solid #746fed;
  border-radius: 50px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23746fed' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat left 16px center;
  color: #746fed;
  font-family: 'polin', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.sella-shop-sort select:focus-visible {
  outline: 2px solid rgba(116, 111, 237, 0.35);
  outline-offset: 2px;
}

#sibolet-archive-grid .sella-search-empty {
  grid-column: 1 / -1;
  margin: 24px 0;
  font-size: 18px;
  text-align: center;
}

/* Sticky product bar — price under the title, sale price included. */
.sella-sticky-product-cart__price {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

.sella-sticky-product-cart__price del {
  color: #8a8a8a;
  font-size: 15px;
  text-decoration: line-through;
}

.sella-sticky-product-cart__price ins {
  color: #171717;
  background: none;
  font-weight: 700;
  text-decoration: none;
}

.sella-sticky-product-cart__price .screen-reader-text {
  display: none;
}

/* Media hub (/media/) — on mobile the filter buttons stay on one row and scroll
   sideways. The page's Elementor CSS sets these rules with !important. */
@media (max-width: 767px) {
  /* A wrapping flex line is as wide as its widest item, so the one-row strip
     would widen the whole page. This column never wraps anyway. */
  .sm-hub-v2-wrapper.mode-archive .sm-hub-v2-container > .sm-hub-v2-header {
    flex-wrap: nowrap !important;
  }

  /* The padding keeps the button shadows from being clipped by the scroll box;
     the negative margin cancels it so the layout does not move. */
  .sm-hub-v2-header .sm-hub-v2-filters {
    flex-wrap: nowrap !important;
    margin: -8px -10px -14px;
    padding: 8px 10px 14px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .sm-hub-v2-header .sm-hub-v2-filters::-webkit-scrollbar {
    display: none;
  }

  .sm-hub-v2-header .sm-hub-v2-filter-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* Article page — "more articles" sidebar (Unlimited Elements post grid in the
   single-post template): every excerpt takes exactly three lines, cut with an
   ellipsis when longer, so the cards line up. */
.elementor-element-df417ca .uc_post_text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  line-height: 1.5;
  min-height: 4.5em;
  max-height: 4.5em;
}

/*
 * Product page buttons: wider and lower, as one calm bar under the price.
 */
.single-product .single-page-custom-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  height: 46px;
  padding: 0 48px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  box-sizing: border-box;
}

/*
 * Mobile product page: the book, its name, the price and the button on the
 * first screen, without scrolling.
 */
@media (max-width: 767px) {
  .single-product .single-book-3d-container {
    max-width: 150px !important;
    margin-inline: auto;
  }

  .single-product .elementor-widget-woocommerce-product-title .product_title {
    font-size: 22px !important;
    line-height: 1.2;
  }

  .single-product .elementor-widget-woocommerce-product-title + .elementor-widget-text-editor {
    margin-block: 10px !important;
  }

  .single-product .elementor-widget-woocommerce-product-price .price {
    margin: 0 !important;
  }

  .single-product .sibolet-custom-btn-wrapper {
    width: 100%;
  }

  .single-product .single-page-custom-btn {
    width: 100%;
    min-width: 0;
    height: 44px;
    font-size: 17px !important;
  }
}

/* The newsletter form's reply sits on the black footer: Elementor gives the
   success message no colour, so it took the dark grey body text. */
.elementor-location-footer .elementor-element-c8af07b .elementor-message {
  color: #fff;
}

.elementor-location-footer .elementor-element-c8af07b .elementor-message.elementor-message-danger {
  color: #ff8a80;
}

/* Footer on mobile: compact and centred, one short block per topic. */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-8e7ea74 {
    padding: 0 16px 16px !important;
  }

  .elementor-location-footer .elementor-element-8e7ea74 .elementor-widget-wrap {
    padding: 0 !important;
    margin: 0 !important;
  }

  .elementor-location-footer .elementor-element-8e7ea74 > .elementor-container > .elementor-column + .elementor-column {
    margin-top: 18px;
  }

  .elementor-location-footer .elementor-element-8e7ea74 .elementor-widget {
    margin-bottom: 8px !important;
  }

  .elementor-location-footer .elementor-element-8e7ea74 .elementor-widget:not(.elementor-widget-form) {
    text-align: center !important;
  }

  .elementor-location-footer .elementor-element-0c70169 {
    margin-top: 24px !important;
  }

  .elementor-location-footer .elementor-element-0c70169 img {
    width: auto !important;
    max-height: 44px;
  }

  .elementor-location-footer .elementor-element-dad40d4,
  .elementor-location-footer .elementor-element-dad40d4 * {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .elementor-location-footer .elementor-element-4ebb67a .elementor-icon-list-items {
    justify-content: center;
  }

  .elementor-location-footer .elementor-element-4ebb67a svg,
  .elementor-location-footer .elementor-element-4ebb67a i {
    width: 16px !important;
    height: 16px !important;
    font-size: 16px !important;
  }

  .elementor-location-footer .elementor-element-e0325cf,
  .elementor-location-footer .elementor-element-e0325cf *,
  .elementor-location-footer .elementor-element-75d7787,
  .elementor-location-footer .elementor-element-75d7787 * {
    font-size: 15px !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
  }

  /* The info links side by side. */
  .elementor-location-footer .elementor-element-b49e12e .elementor-nav-menu--main .elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center;
    gap: 20px;
  }

  .elementor-location-footer .elementor-element-b49e12e .elementor-item {
    padding: 2px 0 !important;
    font-size: 14px !important;
  }

  .elementor-location-footer .elementor-element-213176f,
  .elementor-location-footer .elementor-element-213176f * {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .elementor-location-footer .elementor-element-c8af07b {
    width: 100%;
    max-width: 380px;
    margin-inline: auto !important;
  }

  /* The send button's column as wide as the button, the address field the rest,
     so the field and button read as one centred bar. */
  .elementor-location-footer .elementor-element-c8af07b .elementor-form-fields-wrapper {
    flex-wrap: nowrap;
  }

  .elementor-location-footer .elementor-element-c8af07b .elementor-field-type-email {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  .elementor-location-footer .elementor-element-c8af07b .elementor-field-type-submit {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .elementor-location-footer .elementor-element-d36dd5d {
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
  }

  .elementor-location-footer .elementor-element-d36dd5d .elementor-widget-wrap {
    padding: 0 !important;
  }

  .elementor-location-footer .elementor-element-6f3782e,
  .elementor-location-footer .elementor-element-6f3782e * {
    font-size: 11px !important;
    line-height: 1.6 !important;
  }

  .elementor-location-footer .elementor-element-38e4120 img,
  .elementor-location-footer .elementor-element-38e4120 svg {
    max-height: 18px;
    width: auto;
  }
}

/* "האם הספר מתאים לי?" under a book's description (inc/sella-ai-consult.php). */
.sella-ai {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.sella-ai__label {
  color: #000;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}

.sella-ai__row {
  display: flex;
  gap: 8px;
}

.sella-ai__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #e7e7ee;
  border-radius: 50%;
  color: #171717;
  background: #fff;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.sella-ai__dot:hover,
.sella-ai__dot:focus-visible {
  border-color: #746fed;
  transform: translateY(-1px);
}

.sella-ai__dot svg {
  display: block;
  width: 17px;
  height: 17px;
}

@media (max-width: 767px) {
  .sella-ai {
    justify-content: center;
  }

  /* The same size as "רוצים לשתף?" beside it. */
  .sella-ai__label {
    font-size: 16px;
  }
}

/* The mobile menu's account item: the menu's own type, not the header button's. */
.sella-menu-account .sella-account-label {
  font: inherit;
  line-height: inherit;
}

@media (max-width: 768px) {
  .sibolet-hero-blur-container {
    height: 250px !important;
    z-index: -1;
  }
}

/* Cart drawer recommendations: two lines for every title, so prices and
   buttons line up across the row, and a coloured add button. */
.sc-root .sc-rec-card__name {
  min-height: calc(2 * 1.35em);
}

.sc-root .sc-rec-card__link {
  flex: 1 1 auto;
}

.sc-root .sc-rec-card__add {
  min-height: 36px;
  border: 0 !important;
  border-radius: 999px;
  color: #fff !important;
  background: #746fed !important;
  font-weight: 600;
  transition: background-color 0.2s ease;
}

.sc-root .sc-rec-card__add:hover,
.sc-root .sc-rec-card__add:focus-visible {
  background: #5f5ae0 !important;
}

/*
 * Product page without the blurred cover banner: the card starts under the
 * fixed header instead of being pulled up over the banner, with less padding.
 */
.single-product .elementor-element-9f4aaa8 {
  display: none !important;
}

.single-product .elementor-element-dfd90f0 {
  padding-top: 12px !important;
  padding-bottom: 40px !important;
}

.single-product .elementor-element-dfd90f0 > .elementor-container > .elementor-column > .elementor-widget-wrap {
  margin-top: 0 !important;
}

.single-product .elementor-element-a13db06 {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

@media (max-width: 767px) {
  .single-product .elementor-element-dfd90f0 {
    padding-top: 0 !important;
    padding-bottom: 24px !important;
  }

  .single-product .elementor-element-a13db06 {
    padding-top: 16px !important;
    padding-bottom: 20px !important;
  }
}

/* Book cards on desktop (home page, shop, categories, related books): the
   name, author, price and button close together under the cover. */
@media (min-width: 768px) {
  .book-card-item .book-3d-container {
    margin-bottom: 10px !important;
  }

  .elementor-2 .elementor-element.elementor-element-58cdf7d .static-book-card .book-title,
  .book-card-item .book-title {
    min-height: 2.5em;
    margin: 6px 0 2px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.25;
  }

  .elementor-2 .elementor-element.elementor-element-58cdf7d .static-book-card .book-author,
  .book-card-item .book-author {
    margin-bottom: 4px;
    font-size: 14px !important;
    letter-spacing: 0 !important;
  }

  .book-card-item .book-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 0 6px;
    margin-bottom: 8px;
    font-size: 17px !important;
  }

  .book-card-item .book-price del,
  .book-card-item .book-price del * {
    font-size: 13px !important;
  }

  .book-card-item .book-action-area {
    align-items: center;
    height: auto;
    min-height: 0;
    margin-top: 0;
  }

  .elementor-2 .elementor-element.elementor-element-58cdf7d .book-card-item .book-action-area .book-add-to-cart-btn,
  .book-card-item .book-action-area .book-add-to-cart-btn,
  .book-card-item .book-add-to-cart-btn {
    min-height: 0 !important;
    height: auto !important;
    padding: 7px 22px !important;
    font-size: 15px !important;
    line-height: 18px !important;
  }

  .books-grid-container {
    row-gap: 28px !important;
  }
}

/* Cart drawer quantity: the − and + centred in their buttons. */
.sc-root .sc-qty__btn {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Terms and privacy (inc/sella-legal-pages.php): the text on a white card. */
.sella-legal {
  max-width: 860px;
  margin: 48px auto 64px;
  padding: 40px 44px 44px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
  color: #222;
  font-size: 17px;
  line-height: 1.7;
}

.sella-legal h1 {
  margin: 0 0 24px;
  color: #1a1a1a;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.25;
}

.sella-legal h2 {
  margin: 32px 0 12px;
  color: #1a1a1a;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

.sella-legal p,
.sella-legal ol {
  margin: 0 0 12px;
}

.sella-legal ol {
  padding-inline-start: 1.5em;
}

.sella-legal li + li {
  margin-top: 4px;
}

.sella-legal a {
  color: #746fed;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .sella-legal {
    margin: 24px 16px 40px;
    padding: 28px 20px 30px;
    border-radius: 16px;
    font-size: 16px;
  }

  .sella-legal h1 {
    font-size: 26px;
  }

  .sella-legal h2 {
    margin-top: 26px;
    font-size: 20px;
  }
}

/* Checkout coupon card (Elementor's .e-coupon-box): the question with a tag
   icon, the link in the accent colour, and the code field and its button on
   one line, the button a filled pill as tall as the field. Elementor's widget
   CSS styles the button by its own element id, hence the !important. */
.woocommerce-checkout .e-coupon-box .e-woocommerce-coupon-nudge {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: center;
  margin: 0;
  color: var(--sella-field-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}

.woocommerce-checkout .e-coupon-box .e-woocommerce-coupon-nudge::before {
  content: "";
  flex: none;
  width: 22px;
  height: 22px;
  background: var(--sella-accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce-checkout .e-coupon-box .e-show-coupon-form {
  color: var(--sella-accent) !important;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

.woocommerce-checkout .e-coupon-box .e-show-coupon-form:hover,
.woocommerce-checkout .e-coupon-box .e-show-coupon-form:focus-visible {
  border-bottom-color: currentColor;
}

.woocommerce-checkout .e-coupon-box .e-coupon-anchor-description {
  display: block;
  margin: 16px 0 10px;
  color: var(--sella-field-label);
  font-size: 14px;
  font-weight: 400;
}

.woocommerce-checkout .e-coupon-box .form-row {
  margin: 0;
  padding: 0;
}

.woocommerce-checkout .e-coupon-box .coupon-container-grid {
  display: flex !important;
  gap: 10px;
  align-items: center;
}

.woocommerce-checkout .e-coupon-box .coupon-container-grid .col {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .e-coupon-box .coupon-col-1 {
  flex: 1 1 auto;
  min-width: 0;
}

.woocommerce-checkout .e-coupon-box .coupon-col-2 {
  flex: none;
}

.woocommerce-checkout form.checkout .e-coupon-box .form-row .input-text {
  letter-spacing: 0.02em;
}

.woocommerce-checkout .e-coupon-box .e-apply-coupon {
  height: var(--sella-field-height) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: var(--sella-accent) !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

.woocommerce-checkout .e-coupon-box .e-apply-coupon:hover {
  background: #5f59e0 !important;
}

.woocommerce-checkout .e-coupon-box .e-apply-coupon:active {
  transform: scale(0.98);
}

.woocommerce-checkout .e-coupon-box .e-apply-coupon:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px var(--sella-accent-ring) !important;
}

.woocommerce-checkout .e-coupon-box .e-apply-coupon:disabled,
.woocommerce-checkout .e-coupon-box .e-apply-coupon.disabled {
  opacity: 0.6;
  cursor: default;
}
