/* ==========================================================================
   רהיטי האורן — design parity with the Claude Design prototype.
   Tokens copied from ds-classical.css; type from the supplied Leon woff2 set.
   ========================================================================== */

@font-face { font-family:"Leon"; src:url("/wp-content/uploads/oren-fonts/Leon-Heavy.woff2") format("woff2");   font-weight:700 900; font-display:swap; }
@font-face { font-family:"Leon"; src:url("/wp-content/uploads/oren-fonts/Leon-Regular.woff2") format("woff2"); font-weight:400 600; font-display:swap; }
@font-face { font-family:"Leon"; src:url("/wp-content/uploads/oren-fonts/Leon-Light.woff2") format("woff2");   font-weight:100 300; font-display:swap; }

:root{
  --color-bg:#f3f2f2; --color-surface:#eae9e9; --color-text:#201f1d;
  --color-accent:#b68235; --color-divider:rgba(32,31,29,.16);
  --color-neutral-100:#f8f4f4; --color-neutral-200:#eae7e7; --color-neutral-300:#d7d3d3;
  --color-neutral-600:#7d7979; --color-neutral-700:#605d5d; --color-neutral-800:#444141;
  --color-neutral-900:#2d2b2b;
  --color-accent-100:#fff3e4; --color-accent-200:#ffe3bf; --color-accent-400:#e1ad66;
  --color-accent-700:#7d5411;
  --font-heading:"Leon","Frank Ruhl Libre",serif;
  --font-body:"Leon","Assistant",system-ui,sans-serif;
  --shadow-sm:0 1px 2px rgba(32,31,29,.06),0 2px 8px rgba(32,31,29,.05);
  --img-treat:sepia(.16) saturate(.88) contrast(1.03);
}

/* ---- type ---------------------------------------------------------------- */
body,p,span,div,button,input,select,label,td,th,a,li{ font-family:var(--font-body); }
body{ background:var(--color-bg); color:var(--color-text); font-weight:300; direction:rtl; }
h1,h2,h3,h4,h5,h6,.display{ font-family:var(--font-heading); letter-spacing:0; }
h1,h2,.display{ font-weight:800; }
h3,h4,h5,h6{ font-weight:400; }
.elementor-widget-heading .elementor-heading-title{ font-family:var(--font-heading); }

::-webkit-scrollbar{ width:9px; height:9px; }
::-webkit-scrollbar-thumb{ background:var(--color-neutral-300); border-radius:20px; }

/* the prototype's photographic treatment */
.woocommerce ul.products li.product img,
.woocommerce div.product .woocommerce-product-gallery img,
.oren-shot img{ filter:var(--img-treat); }

/* ==========================================================================
   PRODUCT CARD  (catalog + archives + picks)
   Whole card is one link: image, badge, wishlist, then the caption block.
   ========================================================================== */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:22px; margin:0; padding:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after{ display:none; }
.woocommerce ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important; text-align:start;
  position:relative; list-style:none;
}
.woocommerce ul.products li.product > a{ display:block; text-decoration:none; color:inherit; }
.woocommerce ul.products li.product img{
  height:300px !important; width:100%; object-fit:cover; border-radius:24px; margin:0; display:block;
  filter:sepia(.16) saturate(.88) contrast(1.03);
  transition:transform 1.1s cubic-bezier(.16,.84,.44,1);
}
.woocommerce ul.products li.product:hover img{ transform:scale(1.05); }
/* the image is the clipping frame for the zoom */
.woocommerce ul.products li.product > a::before{ content:none; }

.oren-badge{
  position:absolute; top:14px; inset-inline-end:14px; z-index:3;
  background:rgba(243,242,242,.92); border:1px solid var(--color-accent); color:var(--color-accent-700);
  font-family:var(--font-body); font-weight:300; font-size:11px; padding:5px 11px; border-radius:999px;
  line-height:1.4;
}
.oren-wish{
  position:absolute; top:14px; inset-inline-start:14px; z-index:3;
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border-radius:999px; background:rgba(243,242,242,.92);
  border:1px solid var(--color-divider); color:var(--color-neutral-700);
  transition:all .3s ease;
}
.woocommerce ul.products li.product:hover .oren-wish{ border-color:var(--color-accent); color:var(--color-accent); }

.oren-body{ display:block; padding-top:14px; }
.oren-eyebrow{ display:block; font-size:10.5px; letter-spacing:.14em; color:var(--color-accent-700); }
.oren-head{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.oren-titlewrap{ display:block; min-width:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:block; font-family:var(--font-heading); font-size:22px; font-weight:400;
  color:var(--color-text); padding:0; margin:5px 0 2px; line-height:1.2;
}
.oren-sub{ display:block; font-size:12.5px; color:var(--color-neutral-700); line-height:1.5; }
.oren-pricewrap{ text-align:end; white-space:nowrap; flex:0 0 auto; }
.oren-price{
  display:block; font-family:var(--font-heading); font-size:21px; color:var(--color-accent-700);
  font-feature-settings:'tnum';
}
.oren-price .woocommerce-Price-amount{ font-family:inherit; font-size:inherit; color:inherit; }
.oren-was{
  display:block; font-size:12px; color:var(--color-neutral-600); text-decoration:line-through;
  font-feature-settings:'tnum';
}
.oren-was .woocommerce-Price-amount{ font-family:var(--font-body); font-size:inherit; color:inherit; }

.oren-foot{ display:flex; gap:7px; margin-top:9px; align-items:center; }
.oren-dot{ width:12px; height:12px; border-radius:999px; border:1px solid var(--color-divider); display:inline-block; flex:0 0 auto; }
.oren-lead{ font-size:11.5px; color:var(--color-accent-700); margin-inline-start:auto; }

/* nothing else from the default loop should render */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .star-rating{ display:none !important; }

@media (max-width:1024px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .woocommerce ul.products{ grid-template-columns:1fr; } }

/* ==========================================================================
   CATALOG SHELL + FILTER SIDEBAR
   ========================================================================== */
.oren-catalog{ max-width:1400px; margin:0 auto; padding:28px 32px 100px; }
.oren-crumb{ font-size:12.5px; color:var(--color-neutral-700); }
.oren-crumb b{ color:var(--color-text); font-weight:300; }
.oren-cat-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:12px; }
.oren-cat-head h1{ font-size:52px; font-weight:800; margin:0 0 8px; line-height:1.04; }
.oren-cat-head .meta{ font-size:13.5px; color:var(--color-neutral-700); }

.oren-grid{ display:grid; grid-template-columns:268px 1fr; gap:34px; margin-top:30px; align-items:start; }
@media (max-width:1024px){ .oren-grid{ grid-template-columns:1fr; } }

#oren-side{
  align-self:start; position:sticky; top:120px;
  border:1px solid var(--color-divider); border-radius:24px; padding:24px; background:var(--color-neutral-100);
}
#oren-side .oren-side-title{ font-family:var(--font-heading); font-size:21px; }
#oren-side hr{ border:0; height:1px; background:var(--color-divider); margin:16px 0; }
#oren-side .oren-label{ font-size:11px; letter-spacing:.14em; color:var(--color-accent-700); margin-bottom:11px; }

/* Woo widgets inside the sidebar, restyled as the prototype's controls */
#oren-side .widget{ margin:0 0 18px; padding:0; border:0; }
#oren-side .widget > .widget-title,
#oren-side .widget > h2,
#oren-side .widgettitle{
  font-family:var(--font-body); font-size:11px; letter-spacing:.14em; color:var(--color-accent-700);
  font-weight:400; margin:0 0 11px; text-transform:none;
}
#oren-side ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; }
#oren-side ul li{ margin:0; padding:0; }
#oren-side ul li a{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  border:1px solid var(--color-divider); background:transparent; color:var(--color-text);
  border-radius:999px; padding:9px 14px; font-size:13px; text-decoration:none; transition:all .25s ease;
}
#oren-side ul li a:hover{ border-color:var(--color-accent); background:var(--color-accent-100); color:var(--color-accent-700); }
#oren-side ul li.chosen > a,
#oren-side ul li.current-cat > a{
  border-color:var(--color-accent); background:var(--color-accent-100); color:var(--color-accent-700);
}
#oren-side ul li .count{ font-feature-settings:'tnum'; font-size:11.5px; opacity:.7; border:0; background:none; padding:0; }

/* colourway swatches (layered nav on pa_gvan) */
#oren-side .oren-swatches ul{ flex-direction:row; flex-wrap:wrap; gap:10px; }
#oren-side .oren-swatches ul li a{
  width:26px; height:26px; padding:0; border-radius:999px; font-size:0; overflow:hidden;
  border:1px solid var(--color-divider);
}
#oren-side .oren-swatches ul li .count{ display:none; }
#oren-side .oren-swatches li a[data-hex]{ background:attr(data-hex); }

/* fabric chips */
#oren-side .oren-chips ul{ flex-direction:row; flex-wrap:wrap; gap:7px; }
#oren-side .oren-chips ul li a{ padding:8px 13px; font-size:12.5px; }

/* price slider */
#oren-side .price_slider_wrapper .price_slider{ margin-bottom:1.2em; }
#oren-side .ui-slider .ui-slider-range{ background:var(--color-accent); }
#oren-side .ui-slider .ui-slider-handle{ background:var(--color-accent-700); border-radius:999px; }
#oren-side .price_slider_wrapper .price_slider_amount .button{
  background:var(--color-accent) !important; color:var(--color-accent-100) !important;
  border-radius:999px !important; font-size:12.5px !important; padding:8px 18px !important;
}
#oren-side .price_slider_amount .price_label{ font-size:12.5px; color:var(--color-neutral-700); }

.oren-clear{
  background:transparent; border:0; color:var(--color-accent-700); font-size:12px; cursor:pointer;
  border-bottom:1px solid var(--color-accent); text-decoration:none; padding:0;
}

/* sort control */
.woocommerce .woocommerce-ordering select,
.oren-sort select{
  min-width:190px; font-size:13px; padding:11px 14px; border-radius:999px;
  border:1px solid var(--color-divider); background:var(--color-bg); color:var(--color-text);
  font-family:var(--font-body);
}
.woocommerce .woocommerce-result-count{ font-size:13px; color:var(--color-neutral-700); }

/* active filter chips */
.oren-chipbar{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.oren-chipbar a{
  display:flex; align-items:center; gap:8px; border:1px solid var(--color-accent);
  background:var(--color-accent-100); color:var(--color-accent-700); border-radius:999px;
  padding:7px 14px; font-size:12.5px; text-decoration:none;
}

/* ==========================================================================
   SINGLE PRODUCT
   ========================================================================== */
.woocommerce div.product .product_title{
  font-family:var(--font-heading); font-size:50px; font-weight:800; line-height:1.04; margin:10px 0 8px;
}
.oren-prod-eyebrow{ font-size:10.5px; letter-spacing:.18em; color:var(--color-accent-700); }
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--font-heading); font-size:46px; color:var(--color-accent-700);
  font-feature-settings:'tnum'; line-height:1.1;
}
.woocommerce div.product p.price del{ font-size:15px; color:var(--color-neutral-600); font-family:var(--font-body); }
.woocommerce div.product p.price ins{ text-decoration:none; }

.woocommerce div.product .woocommerce-product-gallery__image img{ border-radius:26px; }
.woocommerce div.product .flex-control-thumbs li img{ border-radius:14px; }

/* variation rows as the prototype's labelled blocks */
.woocommerce div.product form.cart .variations{ margin-bottom:18px; border:0; width:100%; }
.woocommerce div.product form.cart .variations tr{ display:block; margin-bottom:20px; }
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{ display:block; padding:0; border:0; }
.woocommerce div.product form.cart .variations label{
  font-family:var(--font-body); font-size:11px; letter-spacing:.12em; color:var(--color-accent-700);
  font-weight:400; margin-bottom:10px; display:block;
}
.woocommerce div.product form.cart .reset_variations{
  font-size:11.5px; color:var(--color-accent-700); border-bottom:1px solid var(--color-accent); text-decoration:none;
}

/* quantity + add to cart, matching the prototype's pill row */
.woocommerce div.product form.cart{ display:block; }
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .oren-block{ width:100%; }
/* On a variable product this wrapper also holds the services + breakdown that
   hook in before the button, so it wraps and those blocks span the full row. */
.woocommerce div.product form.cart .variations_button{
  display:flex; flex-wrap:wrap; gap:9px; align-items:stretch; margin-top:18px;
}
.woocommerce div.product form.cart .variations_button > .oren-block{ flex:0 0 100%; }
.woocommerce div.product form.cart .variations_button > .quantity{ flex:0 0 auto; }
.woocommerce div.product form.cart .variations_button > .single_add_to_cart_button{ flex:1 1 200px; }
.woocommerce .quantity{
  display:flex; align-items:center; border:1px solid var(--color-divider); border-radius:999px; overflow:hidden; height:52px;
}
.woocommerce .quantity input.qty{
  width:52px; height:52px; border:0; background:transparent; text-align:center;
  font-feature-settings:'tnum'; font-size:15px; color:var(--color-text);
}
.woocommerce div.product form.cart .button[type="submit"],
.woocommerce div.product form.cart button.single_add_to_cart_button{
  flex:1; min-width:220px; height:52px; border-radius:999px !important;
  border:1px solid var(--color-accent) !important; background:var(--color-accent-100) !important;
  color:var(--color-accent-700) !important; font-family:var(--font-heading) !important; font-size:17px !important;
  transition:all .3s ease; padding:0 26px !important;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover{
  background:var(--color-accent-200) !important; transform:translateY(-2px);
}

/* price breakdown panel */
.oren-breakdown{
  border:1px solid var(--color-divider); border-radius:22px; padding:20px;
  background:var(--color-neutral-100); margin-top:24px;
}
.oren-breakdown .row{ display:flex; justify-content:space-between; font-size:13.5px; margin-bottom:7px; }
.oren-breakdown .row span:last-child{ font-feature-settings:'tnum'; }
.oren-breakdown hr{ border:0; height:1px; background:var(--color-divider); margin:14px 0; }
.oren-breakdown .total{ display:flex; justify-content:space-between; align-items:baseline; }
.oren-breakdown .total .k{ font-family:var(--font-heading); font-size:19px; }
.oren-breakdown .total .v{ font-family:var(--font-heading); font-size:28px; color:var(--color-accent-700); font-feature-settings:'tnum'; }
.oren-breakdown .note{ font-size:12px; color:var(--color-neutral-700); margin-top:7px; }

/* trust pills */
.oren-pills{ display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
.oren-pills span{
  font-size:12px; color:var(--color-neutral-700); border:1px solid var(--color-divider);
  border-radius:999px; padding:6px 13px;
}

/* spec tabs */
.woocommerce div.product .woocommerce-tabs{
  border:1px solid var(--color-divider); border-radius:24px; overflow:hidden; margin-top:38px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex; margin:0; padding:0; border-bottom:1px solid var(--color-divider); background:transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent; border:0; border-radius:0; margin:0; padding:0; flex:1;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block; text-align:center; padding:17px 10px; font-family:var(--font-heading); font-size:16px;
  color:var(--color-neutral-700); font-weight:400;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--color-accent-700); background:var(--color-bg);
}
.woocommerce div.product .woocommerce-tabs .panel{ padding:26px 28px; margin:0; }
.woocommerce div.product .woocommerce-tabs .panel h2{ display:none; }
.woocommerce table.shop_attributes th{ font-weight:300; color:var(--color-neutral-700); font-size:13.5px; }
.woocommerce table.shop_attributes td{ font-style:normal; font-size:13.5px; }
.woocommerce table.shop_attributes tr{ border-bottom:1px solid var(--color-divider); }

/* ==========================================================================
   CART / CHECKOUT polish
   ========================================================================== */
.woocommerce table.shop_table{ border-radius:22px; border-color:var(--color-divider); }
.woocommerce-cart table.cart img{ width:84px; border-radius:14px; filter:var(--img-treat); }
.woocommerce .cart_totals h2,
.woocommerce-checkout h3{ font-family:var(--font-heading); font-weight:400; }
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  border-radius:999px !important; font-family:var(--font-heading) !important; font-weight:400 !important;
}
.woocommerce #payment #place_order,
.woocommerce .checkout-button{
  background:var(--color-accent) !important; color:var(--color-accent-100) !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  border:1px solid var(--color-divider) !important; border-radius:12px !important; background:#fff !important;
  padding:12px 14px !important; height:auto !important; font-family:var(--font-body); font-size:15px;
}
.woocommerce-message,.woocommerce-info{ border-top-color:var(--color-accent); background:var(--color-neutral-100); }
.woocommerce-message::before,.woocommerce-info::before{ color:var(--color-accent); }

/* ==========================================================================
   VARIATION SWATCHES  (woo-variation-swatches) — prototype chips & dots
   ========================================================================== */
.woo-variation-swatches .variable-items-wrapper{ display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; }

/* button chips: fabric / size / legs */
.woo-variation-swatches .variable-items-wrapper .button-variable-item{
  margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important;
  background:transparent !important; height:auto !important; min-width:0 !important; border-radius:999px !important;
}
.woo-variation-swatches .variable-items-wrapper .button-variable-item .variable-item-span{
  display:flex; align-items:center; gap:7px; justify-content:center;
  border:1px solid var(--color-divider); border-radius:999px;
  padding:11px 16px; font-family:var(--font-body); font-size:13px; font-weight:300;
  color:var(--color-text); background:var(--color-bg); line-height:1.2;
  transition:all .25s ease; min-width:0; width:auto; height:auto;
}
.woo-variation-swatches .variable-items-wrapper .button-variable-item:hover .variable-item-span{
  border-color:var(--color-accent); color:var(--color-accent-700);
}
.woo-variation-swatches .variable-items-wrapper .button-variable-item.selected .variable-item-span{
  border-color:var(--color-accent); background:var(--color-accent-100); color:var(--color-accent-700);
}
.woo-variation-swatches .variable-items-wrapper .button-variable-item.disabled,
.woo-variation-swatches .variable-items-wrapper .button-variable-item[disabled]{ opacity:.35; }

/* colour dots: gvan */
.woo-variation-swatches .variable-items-wrapper .color-variable-item{
  margin:0 !important; padding:0 !important; width:30px !important; height:30px !important;
  border:0 !important; box-shadow:none !important; background:transparent !important; border-radius:999px !important;
}
.woo-variation-swatches .variable-items-wrapper .color-variable-item .variable-item-span{
  width:26px; height:26px; border-radius:999px; display:block;
  border:1px solid var(--color-divider); box-shadow:none; transition:all .25s ease;
}
.woo-variation-swatches .variable-items-wrapper .color-variable-item.selected .variable-item-span{
  box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);
}
.woo-variation-swatches .variable-items-wrapper .color-variable-item:hover .variable-item-span{
  box-shadow:0 0 0 2px var(--color-bg), 0 0 0 3px var(--color-accent-400);
}

/* the label above each swatch row, styled as the prototype's gold micro-label */
.woocommerce div.product form.cart .variations .label label,
.woo-variation-swatches .variations .label label{
  font-family:var(--font-body); font-size:11px; letter-spacing:.12em; color:var(--color-accent-700);
  font-weight:400; margin-bottom:10px; display:block;
}
.woocommerce div.product form.cart .variations tr{ display:block; margin-bottom:20px; }
.woocommerce div.product form.cart .variations .label,
.woocommerce div.product form.cart .variations .value{ display:block; width:100%; }

/* sidebar stickiness lives here, not in Elementor's position control */
#oren-side{ position:sticky; top:110px; }
@media (max-width:1024px){ #oren-side{ position:static; } }
.oren-box{
  width:15px; height:15px; border-radius:4px; border:1px solid var(--color-divider);
  display:inline-block; flex:0 0 auto;
}

/* ==========================================================================
   PRODUCT PAGE — services block, breakdown, rating line
   ========================================================================== */
.oren-varlabel{
  font-family:var(--font-body); font-size:11px; letter-spacing:.12em; color:var(--color-accent-700);
  font-weight:400; margin-bottom:10px; display:block;
}
.oren-services{ margin-top:4px; }
.oren-service{
  display:flex; align-items:center; gap:10px; cursor:pointer;
  border:1px solid var(--color-divider); border-radius:999px; padding:12px 16px;
  font-size:13.5px; margin-bottom:8px; transition:all .25s ease; background:var(--color-bg);
}
.oren-service:hover{ border-color:var(--color-accent); }
.oren-service:has(input:checked){
  border-color:var(--color-accent); background:var(--color-accent-100); color:var(--color-accent-700);
}
.oren-service input{ accent-color:var(--color-accent); width:15px; height:15px; }
.oren-service-name{ flex:1; }
.oren-service-price{ font-feature-settings:'tnum'; opacity:.75; }
.oren-service-price .woocommerce-Price-amount{ font-family:var(--font-body); font-size:13.5px; }

.oren-rating{ display:flex; align-items:center; gap:10px; margin:0 0 4px; font-size:13px; color:var(--color-neutral-700); }
.oren-stars{ color:var(--color-accent); letter-spacing:2px; }
.oren-pricenote{ font-size:12.5px; color:var(--color-neutral-700); margin:5px 0 22px; }

.oren-breakdown .woocommerce-Price-amount{ font-family:inherit; font-size:inherit; color:inherit; }
.oren-breakdown .total .v .woocommerce-Price-amount{ font-family:var(--font-heading); }

/* the summary column sticks while the gallery scrolls, as in the prototype */
#oren-summary{ position:sticky; top:110px; }
@media (max-width:1024px){ #oren-summary{ position:static; } }

.woocommerce div.product form.cart .oren-block{ flex:0 0 100%; }
.woocommerce div.product form.cart .oren-pills{ margin-top:14px; }

/* ==========================================================================
   FIXED OVERLAY HEADER + FULL-VIEWPORT HERO
   The header floats above the hero, transparent at rest and frosted once the
   page scrolls. On every page without a hero it starts frosted so it stays legible.
   ========================================================================== */
:root{ --oren-header-h:78px; }

.elementor-location-header{
  position:fixed; top:0; inset-inline:0; z-index:100;
  background:transparent;
  transition:background-color .35s ease, border-color .35s ease;
  border-bottom:1px solid transparent;
}
/* The frosted layer lives on a pseudo-element on purpose. backdrop-filter on
   the header itself would make it a containing block, which trapped the
   off-canvas cart (a position:fixed descendant) inside the 75px bar. */
.elementor-location-header::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:transparent;
  transition:background .35s ease, backdrop-filter .35s ease;
}
/* the bar sits above the frosted layer rather than the layer being pushed
   behind the header (a negative z-index hid it entirely) */
.elementor-location-header > *{ position:relative; z-index:1; }
/* the bar itself must stay see-through so the state above can show */
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header #oren-header-bar{ background:transparent !important; }

/* --- frosted state: scrolled, or any page without a hero ----------------- */
/* The translucent wash lives on the header itself so it always paints.
   backdrop-filter stays OFF this element on purpose: it would make the header a
   containing block and trap the off-canvas cart inside the bar. The blur is a
   progressive extra on the ::before layer. */
body.oren-scrolled .elementor-location-header,
body:not(.oren-front) .elementor-location-header{
  background-color:rgba(243,242,242,.82) !important;
  border-bottom-color:var(--color-divider);
}
body.oren-scrolled .elementor-location-header::before,
body:not(.oren-front) .elementor-location-header::before{
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  backdrop-filter:blur(16px) saturate(1.3);
}

/* --- transparent state: front page, before scrolling -------------------- */
.oren-logo{ display:flex; align-items:center; gap:12px; text-decoration:none; white-space:nowrap; color:var(--color-accent-700); }
.oren-logo-mark{ flex:0 0 auto; }
.oren-logo-text{ display:flex; flex-direction:column; line-height:1; }
.oren-logo-name{ font-family:var(--font-heading); font-size:26px; font-weight:700; color:var(--color-text); transition:color .35s ease; }
.oren-logo-sub{ font-family:var(--font-body); font-size:9px; letter-spacing:.34em; color:var(--color-accent-700); margin-top:5px; transition:color .35s ease; }

body.oren-front:not(.oren-scrolled) .elementor-location-header .oren-logo{ color:#E8C489; }
body.oren-front:not(.oren-scrolled) .elementor-location-header .oren-logo-name{ color:#FBFAF8; }
body.oren-front:not(.oren-scrolled) .elementor-location-header .oren-logo-sub{ color:#E8C489; }
body.oren-front:not(.oren-scrolled) .elementor-location-header .elementor-nav-menu a{ color:#F2EFEA !important; }
body.oren-front:not(.oren-scrolled) .elementor-location-header .elementor-nav-menu a:hover{ color:#E8C489 !important; }
body.oren-front:not(.oren-scrolled) .elementor-location-header .elementor-menu-toggle{ color:#F7F5F2; }
body.oren-front:not(.oren-scrolled) .elementor-location-header .elementor-button,
body.oren-front:not(.oren-scrolled) .elementor-location-header .elementor-menu-cart__toggle .elementor-button{
  color:#F7F5F2 !important; border-color:rgba(247,245,242,.55) !important;
}
body.oren-front:not(.oren-scrolled) .elementor-location-header .elementor-menu-cart__toggle .elementor-button:hover{
  border-color:#E8C489 !important; color:#E8C489 !important;
}

/* --- hero fills the viewport, header included --------------------------- */
#oren-hero{
  min-height:100vh;
  min-height:100svh;   /* avoids the mobile URL-bar jump */
}
/* the hero copy clears the floating header */
#oren-hero > .e-con-inner{ padding-top:var(--oren-header-h); }

/* --- pages without a hero need the header's height back ------------------
   Elementor theme locations render straight under <body> with no <main>
   wrapper, so the offset goes on the body itself. */
body:not(.oren-front){ padding-top:var(--oren-header-h); }

@media (max-width:767px){
  :root{ --oren-header-h:70px; }
}

/* ==========================================================================
   WP ADMIN BAR
   WordPress pushes the document down with html{margin-top:32px} but a
   position:fixed header ignores that and slides underneath the bar.
   Offset the header, and take the bar's height out of the full-height hero.
   ========================================================================== */
body.admin-bar .elementor-location-header{ top:32px; }
body.admin-bar #oren-hero{
  min-height:calc(100vh - 32px);
  min-height:calc(100svh - 32px);
}
@media screen and (max-width:782px){
  body.admin-bar .elementor-location-header{ top:46px; }
  body.admin-bar #oren-hero{
    min-height:calc(100vh - 46px);
    min-height:calc(100svh - 46px);
  }
}
/* the admin bar is not fixed under 600px, so nothing to compensate for */
@media screen and (max-width:600px){
  body.admin-bar .elementor-location-header{ top:0; }
  body.admin-bar #oren-hero{ min-height:100vh; min-height:100svh; }
}

/* a little more air above the bar contents */
#oren-header-bar{ padding-top:22px !important; padding-bottom:18px !important; }
@media (max-width:767px){
  #oren-header-bar{ padding-top:16px !important; padding-bottom:14px !important; }
}

/* ==========================================================================
   CATEGORY CARDS (home) — photo, gradient, caption, count ring
   ========================================================================== */
#oren-cat-grid, #oren-cat-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr); gap:20px;
}
#oren-cat-grid > *, #oren-cat-grid > .e-con-inner > *{ width:auto !important; max-width:none !important; }
@media (max-width:1024px){
  #oren-cat-grid, #oren-cat-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  #oren-cat-grid, #oren-cat-grid > .e-con-inner{ grid-template-columns:1fr; }
}

.oren-cat{
  position:relative; display:block; height:300px; border-radius:24px; overflow:hidden;
  text-decoration:none; background:var(--color-surface);
}
.oren-cat-bg{
  position:absolute; inset:0; background-size:cover; background-position:center center;
  filter:sepia(.16) saturate(.88) contrast(1.03);
  transition:transform 1.1s cubic-bezier(.16,.84,.44,1);
}
.oren-cat:hover .oren-cat-bg{ transform:scale(1.09); }
.oren-cat-grad{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(24,23,21,.62), rgba(24,23,21,0) 58%);
}
.oren-cat-meta{
  position:absolute; bottom:20px; inset-inline:20px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  color:#f7f5f2; pointer-events:none;
}
.oren-cat-name{ display:block; font-family:var(--font-heading); font-size:26px; font-weight:400; line-height:1.15; }
.oren-cat-note{ display:block; font-size:12px; color:rgba(247,245,242,.8); margin-top:2px; }
.oren-cat-count{
  width:42px; height:42px; border-radius:999px; border:1px solid rgba(247,245,242,.5);
  display:flex; align-items:center; justify-content:center; font-size:13px;
  font-feature-settings:'tnum'; flex:0 0 auto;
}

/* catalog: fixed rail + fluid results, per the design's 268px / 1fr split.
   A boxed container puts its children inside .e-con-inner, so the grid has to
   be declared on whichever element actually holds the columns. */
#oren-shop-grid > .e-con-inner,
#oren-shop-grid.e-con-full{
  display:grid !important; grid-template-columns:268px 1fr; gap:34px; align-items:start;
}
#oren-shop-grid > .e-con-inner > *,
#oren-shop-grid.e-con-full > *{ width:auto !important; max-width:none !important; }
@media (max-width:1024px){
  #oren-shop-grid > .e-con-inner,
  #oren-shop-grid.e-con-full{ grid-template-columns:1fr; }
}

/* the loop thumbnail is a square crop; the design wants a fixed 300px band */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img{
  height:300px !important; object-fit:cover; width:100%;
}

/* Elementor's add-to-cart CSS re-declares this wrapper as a nowrap flex row,
   which threw the services/breakdown blocks off-canvas on variable products. */
.woocommerce div.product .elementor-add-to-cart .variations_button,
.woocommerce div.product form.cart .variations_button{
  display:flex !important; flex-wrap:wrap !important; gap:9px; align-items:stretch; margin-top:18px;
}
.woocommerce div.product .variations_button > .oren-block{
  flex:0 0 100% !important; width:100% !important; max-width:100% !important;
}
.woocommerce div.product .variations_button > .quantity{ flex:0 0 auto !important; }
.woocommerce div.product .variations_button > .single_add_to_cart_button{ flex:1 1 200px !important; }
.woocommerce div.product .oren-block{ max-width:100%; box-sizing:border-box; }

/* ==========================================================================
   FILTER RAIL — matched to the reference
   ========================================================================== */
#oren-side{ padding:24px; }
#oren-side .oren-side-title{ font-family:var(--font-heading); font-size:21px; font-weight:400; }
#oren-side hr{ border:0; height:1px; background:var(--color-divider); margin:16px 0; }

/* group labels */
#oren-side .widget > .widget-title,
#oren-side .widget > h2,
#oren-side .widgettitle{
  font-family:var(--font-body); font-size:11px; letter-spacing:.14em;
  color:var(--color-accent-700); font-weight:400; margin:0 0 11px; text-transform:none;
}

/* category rows: full-width pill, label right, count on the far side */
#oren-side .widget_product_categories ul{ display:flex; flex-direction:column; gap:7px; }
#oren-side .widget_product_categories ul li a{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  border:1px solid var(--color-divider); border-radius:999px; padding:12px 16px;
  font-size:13.5px; color:var(--color-text); background:transparent; text-decoration:none;
  transition:all .25s ease;
}
#oren-side .widget_product_categories ul li a:hover,
#oren-side .widget_product_categories ul li.current-cat > a{
  border-color:var(--color-accent); background:var(--color-accent-100); color:var(--color-accent-700);
}
#oren-side .widget_product_categories ul li .count{
  font-feature-settings:'tnum'; font-size:12px; opacity:.6; border:0; background:none; padding:0;
}

/* colourways: larger dots in one row */
#oren-side .oren-swatches ul{ flex-direction:row; flex-wrap:wrap; gap:13px; }
#oren-side .oren-swatches ul li{ margin:0; }
#oren-side .oren-swatches ul li a{
  width:34px; height:34px; padding:0; border-radius:999px; font-size:0; overflow:hidden;
  border:1px solid var(--color-divider); display:block;
}
#oren-side .oren-swatches ul li.chosen a{ box-shadow:0 0 0 2px var(--color-neutral-100), 0 0 0 4px var(--color-accent); }
#oren-side .oren-swatches ul li .count{ display:none; }

/* fabric chips */
#oren-side .oren-chips ul{ flex-direction:row; flex-wrap:wrap; gap:8px; }
#oren-side .oren-chips ul li{ margin:0; }
#oren-side .oren-chips ul li a{
  display:inline-flex; padding:9px 15px; font-size:13px; border-radius:999px;
  border:1px solid var(--color-divider); color:var(--color-text); text-decoration:none;
}
#oren-side .oren-chips ul li a:hover,
#oren-side .oren-chips ul li.chosen a{
  border-color:var(--color-accent); background:var(--color-accent-100); color:var(--color-accent-700);
}
#oren-side .oren-chips ul li .count{ display:none; }

/* budget: single gold track, no submit button (auto-applies on release) */
#oren-side .widget_price_filter .price_slider_wrapper{ margin:0; }
#oren-side .widget_price_filter .price_slider_amount{ display:flex; }
#oren-side .widget_price_filter .price_slider_amount .button{ display:none !important; }
#oren-side .widget_price_filter .price_slider_amount .price_label{ display:none; }
#oren-side .widget_price_filter .ui-slider{
  height:6px; border-radius:999px; background:var(--color-neutral-300); border:0; margin:6px 0 4px;
}
#oren-side .widget_price_filter .ui-slider .ui-slider-range{ background:var(--color-accent); border-radius:999px; }
#oren-side .widget_price_filter .ui-slider .ui-slider-handle{
  width:18px; height:18px; top:-6px; background:var(--color-accent-700);
  border:2px solid var(--color-neutral-100); border-radius:999px; box-shadow:none;
}

/* the two toggles at the foot of the rail */
.oren-toggles{ display:flex; flex-direction:column; gap:11px; font-size:13.5px; }
.oren-toggles a{ display:flex; align-items:center; gap:9px; color:var(--color-text); text-decoration:none; }
.oren-toggles a.is-on .oren-box{ background:var(--color-accent); border-color:var(--color-accent); }
.oren-toggles a.is-on{ color:var(--color-accent-700); }

/* the 1.8 body line-height inflates these controls; pin it back */
#oren-side .widget_product_categories ul li a{ padding:11px 16px; line-height:1.25; }
#oren-side .oren-chips ul li a{ padding:9px 14px; line-height:1.25; }
#oren-side .oren-toggles a{ line-height:1.3; }

/* ==========================================================================
   CART PAGE
   ========================================================================== */
.oren-cart-intro{ margin:0 0 26px; }
.oren-cart-title{ font-family:var(--font-heading); font-size:52px; font-weight:800; line-height:1.04; margin:0 0 8px; }
.oren-cart-sub{ font-size:13.5px; color:var(--color-neutral-700); }

/* two columns: items on the right, summary on the left */
.woocommerce-cart .woocommerce{ display:grid; grid-template-columns:1fr 360px; gap:34px; align-items:start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .oren-cart-intro{ grid-column:1 / -1; }
.woocommerce-cart .woocommerce-cart-form{ grid-column:1; margin:0; }
.woocommerce-cart .cart-collaterals{ grid-column:2; grid-row:3; width:100%; margin:0; }
@media (max-width:900px){
  .woocommerce-cart .woocommerce{ grid-template-columns:1fr; }
  .woocommerce-cart .cart-collaterals{ grid-column:1; grid-row:auto; }
}

/* each line becomes a card */
.woocommerce-cart table.cart{ border:0; background:none; }
.woocommerce-cart table.cart thead{ display:none; }
.woocommerce-cart table.cart,
.woocommerce-cart table.cart tbody{ display:block; width:100%; }
.woocommerce-cart table.cart tr.cart_item{
  display:grid; grid-template-columns:170px 1fr auto; gap:20px; align-items:center;
  border:1px solid var(--color-divider); border-radius:22px; padding:16px;
  background:var(--color-neutral-100); margin-bottom:14px; position:relative;
}
.woocommerce-cart table.cart tr.cart_item td{ border:0; padding:0; display:block; }
.woocommerce-cart table.cart td.product-thumbnail img{
  width:170px; height:150px; object-fit:cover; border-radius:16px; filter:var(--img-treat);
}
.oren-cart-name{
  display:block; font-family:var(--font-heading); font-size:26px; font-weight:400;
  color:var(--color-text); text-decoration:none; margin-bottom:6px;
}
.oren-cart-config{ display:block; font-size:13px; color:var(--color-neutral-700); }
.oren-cart-lead{ display:block; font-size:12.5px; color:var(--color-accent-700); margin-top:6px; }
.woocommerce-cart table.cart td.product-price{ display:none; }
.woocommerce-cart table.cart td.product-subtotal{
  text-align:end; font-family:var(--font-heading); font-size:26px; color:var(--color-accent-700);
  font-feature-settings:"tnum"; white-space:nowrap;
}
.oren-cart-unit{
  display:block; font-family:var(--font-body); font-size:12.5px; color:var(--color-neutral-700);
  margin-top:4px;
}
.woocommerce-cart table.cart td.product-quantity{ grid-column:2; justify-self:start; margin-top:12px; }
.woocommerce-cart table.cart td.product-quantity .quantity{
  border:1px solid var(--color-divider); border-radius:999px; height:44px; background:var(--color-bg);
}
.woocommerce-cart table.cart td.product-quantity input.qty{ height:42px; width:46px; }
.woocommerce-cart table.cart td.product-remove{
  position:absolute; inset-inline-start:20px; bottom:22px;
}
.woocommerce-cart table.cart td.product-remove a.remove{
  font-size:0; color:transparent; width:auto; height:auto; display:inline-block;
}
.woocommerce-cart table.cart td.product-remove a.remove::after{
  content:"הסרה"; font-size:12.5px; color:var(--color-neutral-700);
  border-bottom:1px solid var(--color-divider); padding-bottom:2px;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover::after{
  color:var(--color-accent-700); border-color:var(--color-accent);
}

/* coupon + actions row */
.woocommerce-cart table.cart td.actions{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:6px 0 0;
  border:0; background:none;
}
.woocommerce-cart table.cart td.actions .coupon{
  display:flex; gap:10px; order:2; margin-inline-start:auto; float:none;
}
.woocommerce-cart table.cart td.actions .coupon input#coupon_code{
  border:1px solid var(--color-divider); border-radius:999px; padding:12px 20px; min-width:190px;
  background:var(--color-bg); font-size:13.5px;
}
.woocommerce-cart table.cart td.actions .coupon .button{
  background:transparent !important; color:var(--color-text) !important;
  border:1px solid var(--color-divider) !important; padding:12px 26px !important;
}
.woocommerce-cart table.cart td.actions .button[name="update_cart"]{
  background:transparent !important; color:var(--color-neutral-700) !important;
  border:1px solid var(--color-divider) !important; order:3;
}
.oren-ship-note{ order:1; font-size:12.5px; color:var(--color-accent-700); }

/* summary panel */
.woocommerce-cart .cart_totals{
  border:1px solid var(--color-divider); border-radius:24px; padding:26px 24px;
  background:var(--color-neutral-100); width:100%; float:none;
}
.woocommerce-cart .cart_totals > h2{ display:none; }
.oren-sum-head{ font-family:var(--font-heading); font-size:24px; font-weight:400; margin:0 0 18px; }
.woocommerce-cart .cart_totals table{ border:0; margin:0; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  border:0; padding:7px 0; font-size:13.5px; font-weight:300; background:none;
}
.woocommerce-cart .cart_totals table th{ color:var(--color-neutral-800); text-align:start; }
.woocommerce-cart .cart_totals table td{ text-align:end; font-feature-settings:"tnum"; }
.woocommerce-cart .cart_totals tr.oren-saving th,
.woocommerce-cart .cart_totals tr.oren-saving td{ color:var(--color-accent-700); }
.woocommerce-cart .cart_totals tr.order-total{ border-top:1px solid var(--color-divider); }
.woocommerce-cart .cart_totals tr.order-total th{
  font-family:var(--font-heading); font-size:19px; padding-top:16px;
}
.woocommerce-cart .cart_totals tr.order-total td{
  font-family:var(--font-heading); font-size:30px; color:var(--color-accent-700); padding-top:16px;
}
.woocommerce-cart .cart_totals tr.order-total td strong{ font-weight:400; }
.oren-instalments{ font-size:12.5px; color:var(--color-neutral-700); margin:2px 0 18px; text-align:end; }
.woocommerce-cart .wc-proceed-to-checkout{ padding:0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block; text-align:center; background:var(--color-accent-100) !important;
  color:var(--color-accent-700) !important; border:1px solid var(--color-accent) !important;
  border-radius:999px !important; padding:16px 24px !important; font-size:17px !important; margin:0;
}
.oren-continue{
  display:block; text-align:center; border:1px solid var(--color-divider); border-radius:999px;
  padding:15px 24px; margin-top:10px; color:var(--color-text); text-decoration:none;
  font-family:var(--font-heading); font-size:16px;
}
.oren-continue:hover{ border-color:var(--color-accent); color:var(--color-accent-700); }
.oren-trust{
  display:flex; flex-direction:column; gap:6px; margin-top:20px; padding-top:18px;
  border-top:1px solid var(--color-divider); font-size:12px; color:var(--color-neutral-700); text-align:center;
}

/* ==========================================================================
   CHECKOUT PAGE
   ========================================================================== */
.oren-checkout-title{ margin-bottom:22px; }
.oren-steps{
  display:flex; list-style:none; margin:0 0 30px; padding:0;
  border:1px solid var(--color-divider); border-radius:22px; overflow:hidden; background:var(--color-neutral-100);
}
.oren-steps li{
  flex:1; display:flex; align-items:center; justify-content:center; gap:10px; cursor:pointer;
  padding:18px 10px; font-size:15px; color:var(--color-neutral-700);
  border-bottom:2px solid transparent; transition:all .3s ease;
}
.oren-steps li .n{
  width:28px; height:28px; border-radius:999px; border:1px solid var(--color-divider);
  display:flex; align-items:center; justify-content:center; font-size:11.5px; font-feature-settings:"tnum";
}
.oren-steps li.is-active{ background:var(--color-bg); color:var(--color-accent-700); border-bottom-color:var(--color-accent); }
.oren-steps li.is-active .n,
.oren-steps li.is-done .n{ border-color:var(--color-accent); color:var(--color-accent-700); }

.woocommerce-checkout form.checkout{ display:grid; grid-template-columns:1fr 340px; gap:34px; align-items:start; }
.woocommerce-checkout form.checkout > #order_review_heading{ display:none; }
.woocommerce-checkout form.checkout .oren-panel{ grid-column:1; }
.woocommerce-checkout form.checkout .oren-stepnav{ grid-column:1; }
.woocommerce-checkout form.checkout #order_review{
  grid-column:2; grid-row:1 / span 4;
  border:1px solid var(--color-divider); border-radius:24px; padding:26px 24px; background:var(--color-neutral-100);
}
@media (max-width:900px){
  .woocommerce-checkout form.checkout{ grid-template-columns:1fr; }
  .woocommerce-checkout form.checkout #order_review{ grid-column:1; grid-row:auto; }
}

.oren-hidden{ display:none !important; }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{ display:none; }
.woocommerce-checkout .form-row{ padding:0 0 18px; margin:0; }
.woocommerce-checkout .form-row label{
  display:block; font-size:13px; color:var(--color-neutral-700); margin-bottom:7px; font-weight:300;
}
.woocommerce-checkout .form-row .required{ color:var(--color-accent); text-decoration:none; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea{
  width:100%; border:1px solid var(--color-divider) !important; border-radius:16px !important;
  background:var(--color-bg) !important; padding:15px 18px !important; font-size:14.5px;
  font-family:var(--font-body); color:var(--color-text);
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus{ border-color:var(--color-accent) !important; outline:none; }
.woocommerce-checkout .form-row textarea{ min-height:96px; }
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{ border-color:#b4553f !important; }
.woocommerce-checkout .form-row-first{ float:none; width:calc(50% - 9px); display:inline-block; margin-inline-end:14px; vertical-align:top; }
.woocommerce-checkout .form-row-last{ float:none; width:calc(50% - 9px); display:inline-block; margin:0; vertical-align:top; }
@media (max-width:600px){
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{ width:100%; margin:0; display:block; }
}

.oren-panel-note{ font-size:13px; color:var(--color-neutral-700); margin-top:14px; }
.oren-stepnav{ display:flex; align-items:center; gap:18px; margin-top:8px; }
.oren-next{
  background:var(--color-accent-100); color:var(--color-accent-700);
  border:1px solid var(--color-accent); border-radius:999px; padding:16px 44px;
  font-family:var(--font-heading); font-size:17px; cursor:pointer; transition:all .3s ease;
}
.oren-next:hover{ background:var(--color-accent-200); }
.oren-back{ font-size:13px; color:var(--color-neutral-700); border-bottom:1px solid var(--color-divider); text-decoration:none; }

/* order summary column */
.woocommerce-checkout #order_review table.shop_table{ border:0; margin:0; background:none; }
.woocommerce-checkout #order_review table.shop_table thead{ display:none; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{
  border:0; padding:8px 0; font-size:13.5px; font-weight:300; background:none;
}
.woocommerce-checkout #order_review table.shop_table td{ text-align:end; font-feature-settings:"tnum"; }
.woocommerce-checkout #order_review tr.cart_item td.product-name{ text-align:start; }
.woocommerce-checkout #order_review .oren-cart-name{ font-size:18px; margin-bottom:3px; }
.woocommerce-checkout #order_review .oren-cart-config{ font-size:12px; }
.woocommerce-checkout #order_review .oren-cart-lead{ display:none; }
.woocommerce-checkout #order_review tfoot tr:last-child th,
.woocommerce-checkout #order_review tfoot tr:last-child td{
  border-top:1px solid var(--color-divider); padding-top:14px;
}
.woocommerce-checkout #order_review tfoot tr:last-child th{ font-family:var(--font-heading); font-size:18px; }
.woocommerce-checkout #order_review tfoot tr:last-child td{
  font-family:var(--font-heading); font-size:26px; color:var(--color-accent-700);
}
.woocommerce-checkout #payment{ background:none; border-radius:0; }
.woocommerce-checkout #payment ul.payment_methods{ border:0; padding:0; list-style:none; }
.woocommerce-checkout #payment ul.payment_methods li{
  border:1px solid var(--color-divider); border-radius:18px; padding:16px 18px; margin-bottom:10px;
  background:var(--color-neutral-100);
}
.woocommerce-checkout #payment div.payment_box{ background:none; margin:10px 0 0; padding:0; font-size:13px; }
.woocommerce-checkout #payment div.payment_box::before{ display:none; }
.woocommerce-checkout #place_order{
  background:var(--color-accent) !important; color:var(--color-accent-100) !important;
  border-radius:999px !important; padding:16px 44px !important; font-size:17px !important;
  font-family:var(--font-heading) !important; float:none; width:auto;
}
.woocommerce-checkout .woocommerce-shipping-totals ul#shipping_method{ list-style:none; margin:0; padding:0; }
.woocommerce-checkout .woocommerce-shipping-totals ul#shipping_method li{
  border:1px solid var(--color-divider); border-radius:18px; padding:15px 18px; margin-bottom:10px;
  background:var(--color-neutral-100); display:flex; align-items:center; gap:10px;
}
.woocommerce-checkout .woocommerce-shipping-totals th{ display:none; }

/* the off-canvas cart must span the viewport, never the header bar */
.elementor-menu-cart__container{ position:fixed !important; inset:0 !important; z-index:9999 !important; }
.elementor-menu-cart__main{
  max-height:100vh !important; height:100vh !important; overflow-y:auto !important;
  width:min(420px, 92vw) !important;
}
.elementor-menu-cart__products{ max-height:none !important; }

/* ==========================================================================
   HEADER — solid white on scroll, and a fixed 3-up mobile bar
   ========================================================================== */

/* 1. scrolled / inner pages: fully opaque white (no blur needed once solid,
      and dropping backdrop-filter keeps the header from trapping fixed
      descendants like the off-canvas cart) */
body.oren-scrolled .elementor-location-header,
body:not(.oren-front) .elementor-location-header{
  background-color:#ffffff !important;
  border-bottom-color:var(--color-divider);
}
body.oren-scrolled .elementor-location-header::before,
body:not(.oren-front) .elementor-location-header::before{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  background:transparent;
}

/* ---------------------------------------------------------------- mobile */
@media (max-width:767px){

  /* 3. one fixed row: burger (right) · logo (centre) · cart (left).
        A grid keeps the height constant, so opening the menu can no longer
        reflow the bar. */
  /* only the element that actually holds the three widgets becomes the grid —
     gridding its wrapper too squeezed it to a third of the viewport */
  .elementor-location-header #oren-header-bar > .e-con{
    display:block !important; width:100% !important; max-width:none !important;
  }
  .elementor-location-header .e-con-inner{
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
    width:100% !important;
  }
  /* grid-row:1 is required — without it auto-placement pushes the burger
     (which sits after the logo in the DOM but before it in the grid) onto a
     second row, which is what made the bar double height */
  .elementor-location-header .elementor-widget-nav-menu{
    grid-column:1; grid-row:1; justify-self:start; margin:0 !important; width:auto !important;
  }
  .elementor-location-header .elementor-widget-html{
    grid-column:2; grid-row:1; justify-self:center; width:auto !important;
  }
  .elementor-location-header .elementor-widget-woocommerce-menu-cart{
    grid-column:3; grid-row:1; justify-self:end; width:auto !important;
  }
  /* one compact row */
  .elementor-location-header #oren-header-bar{ padding-top:8px !important; padding-bottom:8px !important; }
  .elementor-location-header .e-con-inner{ padding-top:6px !important; padding-bottom:6px !important; }

  /* logo trimmed so it sits comfortably in the middle cell */
  .elementor-location-header .oren-logo{ gap:9px; }
  .elementor-location-header .oren-logo-mark{ width:32px; height:32px; }
  .elementor-location-header .oren-logo-name{ font-size:20px; }
  .elementor-location-header .oren-logo-sub{ font-size:7.5px; letter-spacing:.28em; margin-top:3px; }

  /* cart: icon only, no pill */
  .elementor-location-header .elementor-menu-cart__toggle .elementor-button{
    border:0 !important; background:transparent !important; padding:6px !important;
    min-width:0 !important;
  }
  .elementor-location-header .elementor-menu-cart__toggle .elementor-button-text{ display:none !important; }
  .elementor-location-header .elementor-menu-cart__toggle .elementor-button-icon{ font-size:22px; }

  /* burger sizing */
  .elementor-location-header .elementor-menu-toggle{
    padding:6px !important; background:transparent !important; border:0 !important;
  }
  .elementor-location-header .elementor-menu-toggle i,
  .elementor-location-header .elementor-menu-toggle svg{ font-size:24px; width:24px; height:24px; }

  /* 2. the dropdown spans the viewport and reads dark on white.
        position:fixed takes it out of the bar, so the header keeps its height. */
  .elementor-location-header .elementor-nav-menu--dropdown{
    position:fixed !important;
    top:var(--oren-header-h,70px) !important;
    inset-inline:0 !important;
    left:0 !important; right:0 !important;
    width:100vw !important; max-width:100vw !important;
    margin:0 !important;
    background:#ffffff !important;
    border-top:1px solid var(--color-divider);
    box-shadow:0 18px 40px rgba(32,31,29,.10);
    max-height:calc(100vh - var(--oren-header-h,70px));
    overflow-y:auto;
    z-index:120;
  }
  .elementor-location-header .elementor-nav-menu--dropdown ul,
  .elementor-location-header .elementor-nav-menu--dropdown li{ width:100%; }
  /* must out-specify the transparent-hero rule that lightens nav links */
  body .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item,
  body.oren-front:not(.oren-scrolled) .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item,
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item{
    color:var(--color-text) !important;
    font-family:var(--font-body);
    font-size:16px !important;
    font-weight:300;
    padding:17px 24px !important;
    border-bottom:1px solid var(--color-divider);
    text-align:start;
  }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{
    color:var(--color-accent-700) !important;
    background:var(--color-accent-100) !important;
  }
  .elementor-location-header .elementor-nav-menu--dropdown li:last-child a.elementor-item{ border-bottom:0; }

  /* while the menu is open the bar must be opaque, even over the hero */
  body.oren-menu-open .elementor-location-header,
  .elementor-location-header:has(.elementor-menu-toggle.elementor-active){
    background-color:#ffffff !important;
    border-bottom-color:var(--color-divider);
  }
  /* while open the bar is white, so its contents must read dark */
  body.oren-menu-open .elementor-location-header .oren-logo-name{ color:var(--color-text) !important; }
  body.oren-menu-open .elementor-location-header .oren-logo,
  body.oren-menu-open .elementor-location-header .oren-logo-sub{ color:var(--color-accent-700) !important; }
  body.oren-menu-open .elementor-location-header .elementor-menu-toggle,
  body.oren-menu-open .elementor-location-header .elementor-menu-cart__toggle .elementor-button{
    color:var(--color-text) !important;
  }
  .elementor-location-header:has(.elementor-menu-toggle.elementor-active) .oren-logo-name,
  body.oren-front .elementor-location-header:has(.elementor-menu-toggle.elementor-active) .oren-logo-name{
    color:var(--color-text) !important;
  }
  .elementor-location-header:has(.elementor-menu-toggle.elementor-active) .oren-logo,
  body.oren-front .elementor-location-header:has(.elementor-menu-toggle.elementor-active) .oren-logo{
    color:var(--color-accent-700) !important;
  }
  .elementor-location-header:has(.elementor-menu-toggle.elementor-active) .oren-logo-sub{
    color:var(--color-accent-700) !important;
  }
  .elementor-location-header:has(.elementor-menu-toggle.elementor-active) .elementor-menu-toggle,
  .elementor-location-header:has(.elementor-menu-toggle.elementor-active) .elementor-menu-cart__toggle .elementor-button{
    color:var(--color-text) !important;
  }
}

/* fallback for engines without :has() — the toggle carries the state itself */
@media (max-width:767px){
  .elementor-menu-toggle.elementor-active{ color:var(--color-text) !important; }
}
