/* Elianna - Visual Fixes v1.4.0 (source: EliannaDesigns repo wp/plugins/elianna-visual-fixes). Undo = deactivate. */

/* 1. Home hero: the main button sat behind the shop-pause bar on a 1366x768 laptop. Keep hero + button above it. */
@media (min-width: 768px) {
  body.home .entry > .wp-block-cover.ed-cta:first-child { min-height: min(620px, calc(100vh - 210px)) !important; }
}

/* 2. Product grids on phones: 2 per row instead of 1 (shop was ~10,000px of scrolling). */
@media (max-width: 480px) {
  .woocommerce ul.products.mobile-1-col { display: grid !important; grid-template-columns: 1fr 1fr; gap: 22px 10px; margin-left: 0 !important; margin-right: 0 !important; margin-bottom: 28px !important; }
  .woocommerce ul.products.mobile-1-col::before, .woocommerce ul.products.mobile-1-col::after { display: none !important; }
  .woocommerce ul.products.mobile-1-col li.product { width: auto !important; margin: 0 !important; float: none !important; clear: none !important; padding: 0 !important; }
  .woocommerce ul.products.mobile-1-col li.product .woocommerce-loop-product__title,
  .woocommerce ul.products.mobile-1-col li.product .title h2, .woocommerce ul.products.mobile-1-col li.product li.title a { font-size: 15px !important; line-height: 1.35; }
  .woocommerce ul.products.mobile-1-col li.product li.title a { display: inline-block; padding: 6px 0; }
  .woocommerce ul.products.mobile-1-col li.product .price { font-size: 14px !important; }
  .woocommerce ul.products.mobile-1-col li.product .button, .woocommerce ul.products.mobile-1-col li.product .esp-loop-btn { font-size: 14px !important; padding: 9px 12px !important; white-space: nowrap; }  /* v1.2.0: 12px -> 13px (block 28); v1.3.0: 14px (block 40) */
  .woocommerce ul.products.mobile-1-col li.product .onsale { transform: scale(.8); transform-origin: top right; }
}

/* 3. Footer columns stack on phones on every page (fallback for the core block CSS the plugin also loads). */
@media (max-width: 781px) {
  #footer .wp-block-columns:not(.is-not-stacked-on-mobile), .site-footer .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap: wrap !important; }
  #footer .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
  .site-footer .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
}

/* 4. Contact + course forms (Fluent Forms): 16px text so iPhone does not zoom on tap; brand colour button. */
.fluentform .ff-el-form-control { font-size: 16px !important; }
.fluentform .ff-btn-submit, .fluentform .ff-btn-submit:focus { background-color: #b25852 !important; border-color: #b25852 !important; color: #fff !important; }
.fluentform .ff-btn-submit:hover { background-color: #8f443f !important; border-color: #8f443f !important; }

/* 5 + 6. Shop-pause bar: buttons no longer touch the screen edge on small phones; the X no longer covers a button. */
#esp-bar .esp-inner { padding-left: 30px; box-sizing: border-box; }
@media (max-width: 600px) { #esp-bar .esp-inner { padding-left: 0; } }
@media (max-width: 400px) {
  #esp-bar { padding-left: 10px !important; padding-right: 10px !important; }
  #esp-bar .esp-actions { gap: 6px !important; }
  #esp-bar .esp-btn { padding: 8px 11px !important; font-size: 14px !important; }  /* v1.3.0: 13px -> 14px (block 40) */
}

/* 7. One overlay at a time: hide the shop-pause bar while the cookie banner is open; keep the cookie-settings tab
      (the banner promises a link at the bottom of the site) above the bar instead of under it. */
body:has(.cmplz-cookiebanner.cmplz-show) #esp-bar { visibility: hidden !important; pointer-events: none !important; }
body.esp-bar-on #cmplz-manage-consent .cmplz-manage-consent { animation: none !important; bottom: calc(var(--esp-bar-h, 120px) - 43px) !important; }
body.esp-bar-on #cmplz-manage-consent .cmplz-manage-consent:hover { bottom: calc(var(--esp-bar-h, 120px) - 8px) !important; }

/* 8. About page (Elementor) on phones: images were pushed against one screen edge; justified text left big gaps. */
@media (max-width: 767px) {
  body.page-id-24 .elementor-widget-image > .elementor-widget-container { margin-left: 16px !important; margin-right: 16px !important; }
  body.page-id-24 .elementor-widget-text-editor, body.page-id-24 .elementor-widget-text-editor p { text-align: right !important; }
}

/* 9. Logo: the JPG has a light-grey background that showed as a box on the white header and the pink footer. */
img.custom-logo, #footer img[src*="alyanh-aytsvbym-lvgv"], .site-footer img[src*="alyanh-aytsvbym-lvgv"] { filter: brightness(1.04); mix-blend-mode: multiply; }

/* 10. Testimonials: the dash before the name floated to the far left (LTR rule); put it next to the name. */
.ed-testimonial cite { font-size: 14px; font-weight: 600; }
.ed-testimonial cite::before { position: static !important; content: "— " !important; margin: 0 !important; }

/* 11. Home "new on the shelf": product names and buttons were underlined (shop pages are not). */
.ed-home-new ul.products a, .ed-home-new ul.products a:hover { text-decoration: none !important; }

/* 12. Contact page: content was glued to the grey title band. */
.ed-contact { padding-top: 32px; }

/* 13. No stray focus box around the phone menu button after a tap (keyboard focus ring stays). Superseded by block 16. */
.oceanwp-mobile-menu-icon a:focus:not(:focus-visible) { outline: none; }

/* ===================== v1.1.0 (visual-v2: Arik's phone test) ===================== */

/* S. THE spinner - one component for every wait on the site (infinite scroll, search, sorting, forms, slow page loads).
      Markup (built by visual-fixes.js, evfSpinner()): <span class="ev-spinner"><span class="ev-sr">טוען…</span><i></i><i></i><i></i></span>
      The design is picked by the body class ev-spinner-a|b|c|d, set from EVF_SPINNER in elianna-visual-fixes.php (one edit swaps it).
      Colours and size: the --ev-spinner-* properties below. */
:root {
  --ev-spinner-size: 30px;
  --ev-spinner-stroke: 2.5px;
  --ev-spinner-color: #b25852;
  --ev-spinner-track: #e6e0de;
  --ev-spinner-speed: .8s;
  --ev-float-bottom: 16px;   /* space taken by bottom bars (shop-pause bar / cookie banner), set by visual-fixes.js */
}
.ev-spinner { display: inline-block; position: relative; flex: none; vertical-align: middle; box-sizing: border-box; width: var(--ev-spinner-size); height: var(--ev-spinner-size); }
.ev-spinner i { display: none; }
.ev-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* A - thin ring */
.ev-spinner-a .ev-spinner { border-radius: 50%; border: var(--ev-spinner-stroke) solid var(--ev-spinner-track); border-top-color: var(--ev-spinner-color); animation: ev-spin var(--ev-spinner-speed) linear infinite; }
/* B - three dots */
.ev-spinner-b .ev-spinner { width: auto; display: inline-flex; align-items: center; gap: calc(var(--ev-spinner-size) * .22); }
.ev-spinner-b .ev-spinner i { display: block; width: calc(var(--ev-spinner-size) * .28); height: calc(var(--ev-spinner-size) * .28); border-radius: 50%; background: var(--ev-spinner-color); animation: ev-pulse 1s ease-in-out infinite; }
.ev-spinner-b .ev-spinner i:nth-of-type(2) { animation-delay: .15s; } .ev-spinner-b .ev-spinner i:nth-of-type(3) { animation-delay: .3s; }
/* C - stitch ring (dashed, like a seam) */
.ev-spinner-c .ev-spinner { border-radius: 50%; border: var(--ev-spinner-stroke) dashed var(--ev-spinner-color); animation: ev-spin 2.2s linear infinite; }
/* D - thin progress line */
.ev-spinner-d .ev-spinner { width: calc(var(--ev-spinner-size) * 2.2); height: 3px; border-radius: 2px; background: var(--ev-spinner-track); overflow: hidden; }
.ev-spinner-d .ev-spinner::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 40%; border-radius: 2px; background: var(--ev-spinner-color); animation: ev-slide 1.1s ease-in-out infinite; }
@keyframes ev-spin { to { transform: rotate(360deg); } }
@keyframes ev-pulse { 0%, 100% { opacity: .25; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } }
@keyframes ev-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
@keyframes ev-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .ev-spinner, .ev-spinner i, .ev-spinner::after, .ev-skel-box { animation-duration: 2.5s !important; } }
/* Page-level wait badge (search, sorting, slow navigation): small card in the middle of the screen, never blocks taps. */
.ev-wait { position: fixed; left: 50%; top: 50%; z-index: 100000; transform: translate(-50%, -50%) scale(.9); padding: 16px; border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 6px 28px rgba(0,0,0,.14); display: flex; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, transform .2s ease, visibility 0s .2s; }
html.ev-waiting .ev-wait { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); transition: opacity .2s ease, transform .2s ease; }
/* Inline use inside buttons (forms) */
.ev-btn-spinner { --ev-spinner-size: 18px; --ev-spinner-stroke: 2px; --ev-spinner-color: #fff; --ev-spinner-track: rgba(255,255,255,.35); margin-inline-start: 8px; display: none !important; }
.ff-btn-submit.ff-working .ev-btn-spinner, .ev-busy > .ev-btn-spinner { display: inline-block !important; }
.ff-btn-submit.ff-working { opacity: .85; cursor: progress; }

/* 14. Accessibility button (SOGO): small round brand-coloured button bottom-left, always above the shop-pause bar and a
       bottom cookie banner (offset from visual-fixes.js); tidier panel opening above it. Toolbar functions unchanged. */
#open_sogoacc.toggle_sogoacc { top: auto !important; right: auto !important; left: 12px !important; bottom: var(--ev-float-bottom) !important; width: 44px; height: 44px; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #b25852 !important; color: #fff !important; box-shadow: 0 3px 12px rgba(0,0,0,.22); display: inline-flex !important; align-items: center; justify-content: center; line-height: 1 !important; transition: bottom .25s ease; }
#open_sogoacc.toggle_sogoacc i { font-size: 26px !important; line-height: 1; }
#open_sogoacc.toggle_sogoacc:hover { background: #8f443f !important; }
#sogoacc { top: auto !important; right: auto !important; left: 12px !important; bottom: calc(var(--ev-float-bottom) + 54px) !important; width: min(300px, calc(100vw - 24px)) !important; max-height: calc(100vh - var(--ev-float-bottom) - 80px); max-height: calc(100dvh - var(--ev-float-bottom) - 80px); overflow-y: auto; overscroll-behavior: contain; border-radius: 12px !important; box-shadow: 0 8px 32px rgba(0,0,0,.22) !important; }
#sogoacc #close_sogoacc { background: #b25852 !important; line-height: 46px !important; font-size: 16px; position: sticky; top: 0; z-index: 2; }
#sogoacc #close_sogoacc::after { content: "\2715"; position: absolute; left: 16px; font-size: 15px; }
#sogoacc .sogo-btn-toolbar { padding: 0 8px; }
#sogoacc .btn { line-height: 44px !important; font-size: 15px !important; border-bottom: 1px solid #eee !important; background: none; padding-right: 50px !important; position: relative; }
#sogoacc .btn:hover, #sogoacc .btn.active { background: #faf3f2; }
#sogoacc .sogo-btn-group span { font-size: 26px !important; top: 9px; right: 10px !important; color: #b25852; }
#sogoacc div#sogo_font_a { padding: 6px 12px !important; display: flex; gap: 6px; align-items: baseline; }
#sogoacc div#sogo_font_a button { float: none !important; color: #b25852 !important; padding: 0 12px !important; line-height: 44px !important; }
#sogoacc button#sogo_a1 { font-size: 20px !important; } #sogoacc button#sogo_a2 { font-size: 24px !important; } #sogoacc button#sogo_a3 { font-size: 30px !important; }
#sogoacc .accessibility-info { padding: 8px 4px !important; border-top: 1px solid #eee !important; font-size: 14px !important; }
#sogoacc .accessibility-info a { display: inline-block; padding: 8px 4px; }
#sogoacc .sogo-logo { display: none !important; }
@media (min-width: 768px) { #open_sogoacc.toggle_sogoacc { left: 18px !important; } #sogoacc { left: 18px !important; } }

/* 15. Infinite scroll on shop/category/search: OceanWP's loading dots had no style (an empty white gap). Now: the spinner
       while loading, and grey placeholder cards hold the space of the next products so the page does not jump. */
.scroller-status .loader-ellips__dot { display: none !important; }
.scroller-status { text-align: center; padding: 18px 0 8px; }
.scroller-status .loader-ellips { display: flex; justify-content: center; height: auto !important; width: auto !important; position: static !important; margin: 0 auto; }
.scroller-status__message { color: #777; font-size: 15px; margin: 6px 0 0; }
.woocommerce ul.products li.product.ev-skel { pointer-events: none; }
.ev-skel-box { display: block; border-radius: 4px; background: linear-gradient(90deg, #f0ecea 0%, #faf8f7 50%, #f0ecea 100%); background-size: 200% 100%; animation: ev-shimmer 1.3s linear infinite; }
.ev-skel-img { aspect-ratio: 300 / 453; width: 100%; margin-bottom: 14px; }
.ev-skel-line { height: 14px; width: 70%; margin: 10px auto 0; }
.ev-skel-line.short { width: 40%; }
.woocommerce ul.products li.product .woo-entry-image img { height: auto; }

/* 16. Tap/click highlight and focus rings: none for touch and mouse anywhere on the site (the theme forced
       "a:focus{outline:1px solid !important}"), but keyboard users always get a clear brand-coloured ring (IS 5568 / WCAG 2.4.7).
       visual-fixes.js sets html.ev-pointer on touch/mouse and removes it on keyboard use (Safari marks tapped links :focus-visible). */
html, html * { -webkit-tap-highlight-color: transparent; }
a:focus:not(:focus-visible), button:focus:not(:focus-visible), [tabindex]:focus:not(:focus-visible), summary:focus:not(:focus-visible) { outline: none !important; }
html.ev-pointer a:focus, html.ev-pointer button:focus, html.ev-pointer [role="button"]:focus, html.ev-pointer [role="tab"]:focus, html.ev-pointer [tabindex]:focus, html.ev-pointer summary:focus, html.ev-pointer label:focus { outline: none !important; }
html:not(.ev-pointer) a:focus-visible, html:not(.ev-pointer) button:focus-visible, html:not(.ev-pointer) [role="button"]:focus-visible, html:not(.ev-pointer) [role="tab"]:focus-visible, html:not(.ev-pointer) [tabindex]:focus-visible, html:not(.ev-pointer) summary:focus-visible, html:not(.ev-pointer) select:focus-visible, html:not(.ev-pointer) input[type="checkbox"]:focus-visible, html:not(.ev-pointer) input[type="radio"]:focus-visible { outline: 2px solid #b25852 !important; outline-offset: 2px; }

/* 17. Search: header search field and mobile-menu search fit the screen; results use the shop grid (smart-search plugin);
       text never runs off the screen edge on phones (pages in "full screen" layout had no side padding). */
@media (max-width: 767px) {
  body.content-full-screen.search #main #content-wrap { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
  .mobile-menu-search { padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box; }
  .mobile-searchform { max-width: 100%; box-sizing: border-box; }
  #searchform-dropdown { max-width: calc(100vw - 24px); box-sizing: border-box; }
}
#searchform-dropdown input.field, .searchform input.field, .mobile-searchform input.field, input[type="search"] { font-size: 16px !important; }
.page-header-title { overflow-wrap: anywhere; }

/* 18. Product page tabs (תיאור / מידע נוסף / טבלת מידות): one tab row everywhere. Desktop: row with a brand underline.
       Phones: the row scrolls sideways if it does not fit, never stacks. The panel no longer repeats the tab name. */
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex !important; flex-wrap: nowrap; justify-content: center; gap: 4px; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 0 18px !important; padding: 0 !important; border-top: 0 !important; border-bottom: 1px solid #e6e0de !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { display: block !important; flex: 0 0 auto; margin: 0 !important; border: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block !important; padding: 12px 18px !important; margin: 0 0 -1px !important; font-size: 16px !important; font-weight: 600; letter-spacing: 0; color: #777 !important; border: 0 !important; border-bottom: 2px solid transparent !important; white-space: nowrap; text-transform: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: #b25852 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #b25852 !important; border-bottom-color: #b25852 !important; }
.woocommerce div.product .woocommerce-tabs .panel { margin-top: 0 !important; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0 !important; }
@media (max-width: 480px) {
  .woocommerce div.product .woocommerce-tabs ul.tabs { justify-content: flex-start; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 1 0 auto; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 10px !important; font-size: 15px !important; text-align: center; }
}

/* ---------- v1.1.0 extra fixes from the visual-v2 sweep (each block stands alone) ---------- */

/* 19. Back-to-top button was hidden under the shop-pause bar (z-index 100 vs the bar's 99990): keep it above the bar. */
#scroll-top { bottom: var(--ev-float-bottom) !important; z-index: 99991 !important; border-radius: 50% !important; background-color: rgba(178,88,82,.85) !important; transition: bottom .25s ease, opacity .3s ease; }
#scroll-top:hover { background-color: #8f443f !important; }

/* 20. 404 page: the big "העמוד לא נמצא." title ran off the left edge on phones. */
.error404-content .error-title { font-size: clamp(30px, 9vw, 72px) !important; line-height: 1.2; overflow-wrap: anywhere; }

/* 21. Empty states (no search results, empty category): Woo's default lilac info box -> brand style, plus next steps
       (button to the shop; added by elianna-visual-fixes.php on woocommerce_no_products_found). */
.woocommerce .woocommerce-info.woocommerce-no-products-found, .woocommerce-no-products-found .woocommerce-info { border: 1px solid #ecd9d8 !important; border-inline-start: 4px solid #b25852 !important; background: #f8f0f0 !important; color: #444 !important; border-radius: 8px; }
.woocommerce-no-products-found .woocommerce-info::before, .woocommerce .woocommerce-info.woocommerce-no-products-found::before { color: #b25852 !important; }
.ev-empty-next { text-align: center; margin: 18px 0 40px; }
.ev-empty-next p { margin: 0 0 14px; color: #555; }
.ev-empty-next .button { background: #b25852 !important; color: #fff !important; border-radius: 999px !important; padding: 12px 26px !important; }

/* 22. Size chart tab (טבלת מידות): every cell had min-width 120px, so the table was ~720px wide and ran off the phone
       screen (no way to see the right columns). Cells shrink to fit; if a chart is still wider, it scrolls inside its box. */
.chart-table { float: none !important; width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
table#size-chart tr th, table#size-chart tr td { min-width: 0 !important; }
@media (max-width: 600px) {
  table#size-chart tr th, table#size-chart tr td { padding: 6px 3px !important; font-size: 13px !important; }
  table#size-chart tr th { font-size: 12px !important; }
}

/* 23. Cookie banner: the accept button and links were the plugin's default blue, the only blue buttons on the site. */
.cmplz-cookiebanner { --cmplz_button_accept_background_color: #b25852; --cmplz_button_accept_border_color: #b25852; --cmplz_button_accept_text_color: #fff; --cmplz_hyperlink_color: #8f443f; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background-color: #b25852 !important; border-color: #b25852 !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background-color: #8f443f !important; border-color: #8f443f !important; }
.cmplz-cookiebanner .cmplz-links a, .cmplz-cookiebanner .cmplz-link { color: #8f443f !important; }

/* 24. Elementor pages in "full screen" layout (refund_returns, my-account, about...): on tablets and small laptops the
       text ran to the very screen edge (3px). Sections keep their full-width background; their content gets side space. */
@media (max-width: 1100px) {
  body.content-full-screen.elementor-page:not(.home) .elementor > .elementor-section, body.content-full-screen.elementor-page:not(.home) .elementor > .e-con { padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
}
@media (max-width: 767px) {
  body.content-full-screen.elementor-page:not(.home) .elementor > .elementor-section, body.content-full-screen.elementor-page:not(.home) .elementor > .e-con { padding-left: 8px; padding-right: 8px; }
}

/* 25. All form fields 16px on phones and tablets (the My Account login/registration fields were 14px, so iPhone/iPad
       zoomed in on tap). */
@media (max-width: 1366px) {
  input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="search"], input[type="url"], select, textarea, .woocommerce-Input, .input-text { font-size: 16px !important; }
}

/* ===================== v1.2.0 (design-v3 polish: one type scale, one button, aligned cards, brand colours) =====================
   Brand: #b25852 (main), #632c2c (dark, hover), #f8f0f0 (light background). Hebrew text: no letter-spacing.
   Each numbered block stands alone: delete it, re-upload, cache_flush. */
:root {
  --ev-brand: #b25852; --ev-brand-dark: #632c2c; --ev-brand-light: #f8f0f0;
  --ev-text: #4a4a4a; --ev-heading: #333;
  --ev-radius: 6px;
}

/* 26. Hebrew text: no letter-spacing anywhere (the theme spaced the menu 0.6px, buttons 1-1.7px, product titles 0.6px, sale
       badges, the form "שליחה" button and the shop-pause kicker; spaced Hebrew letters read as broken words). */
body.rtl, body.rtl *, body.rtl *::before, body.rtl *::after { letter-spacing: normal !important; }

/* 27. One type scale (Open Sans). Body 16px / 1.75 (was 14px). Headings weight 600-700, line-height 1.35.
       Ladder: page title band and product title 26/30 and 24/28 (phone/desktop), section headings 24/30, sub-sections 19-22,
       product-card titles 15/17. */
body { font-size: 16px; line-height: 1.75; }
h1, h2, h3, h4, h5, h6 { line-height: 1.35; }
.page-header .page-header-title { font-size: 30px !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--ev-heading); }
.woocommerce div.product .product_title { font-size: 28px !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--ev-heading); }
.woocommerce div.product .summary .woocommerce-product-details__short-description, .woocommerce div.product .woocommerce-tabs .panel { font-size: 16px; line-height: 1.75; }
.related.products > h2, .up-sells > h2 { font-size: 22px !important; font-weight: 600 !important; margin-bottom: 20px !important; }
.ed-home-new h2, .ed-home-promise h2, .ed-home-testimonials h2, .ed-home-promo h2 { font-weight: 700; color: var(--ev-heading); }
.ed-course h2.wp-block-heading { font-size: 22px; font-weight: 700; color: var(--ev-heading); }
.ed-course h3.wp-block-heading { font-size: 19px; font-weight: 600; color: var(--ev-heading); }
.woocommerce ul.products li.product li.title h2, .woocommerce ul.products li.product li.title a, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; font-weight: 600 !important; line-height: 1.4 !important; color: var(--ev-heading) !important; }
#site-navigation-wrap .dropdown-menu > li > a { font-size: 15px; }
.ed-testimonial p { font-size: 15px; line-height: 1.8; }
@media (max-width: 767px) {
  .page-header .page-header-title { font-size: 26px !important; }
  .woocommerce div.product .product_title { font-size: 24px !important; }
  .ed-home-new h2, .ed-home-promise h2, .ed-home-testimonials h2, .ed-home-promo h2 { font-size: 24px !important; }
  .related.products > h2, .up-sells > h2 { font-size: 20px !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products li.product li.title h2, .woocommerce ul.products li.product li.title a, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; }
}

/* 28. One button for the whole site: brand colour, 6px radius, weight 600, no letter-spacing/uppercase, dark brand on hover.
       Was: black square buttons on the home page (hover bright red #e30613), brand square buttons with a grey double border on
       product cards (12px text), a black 404 button, a 7px-radius form button and pill buttons elsewhere. The keyboard focus
       ring (block 16) is unchanged. */
.ed-btn .wp-block-button__link, .woocommerce ul.products li.product .button, .ev-empty-next .button,
.error404-content .error-btn, .fluentform .ff-btn-submit, .woocommerce div.product .single_add_to_cart_button {
  background: var(--ev-brand) !important; color: #fff !important; border: 0 !important; border-radius: var(--ev-radius) !important;
  font-weight: 600 !important; text-transform: none !important; box-shadow: none !important; text-decoration: none !important;
  transition: background-color .2s ease;
}
.ed-btn .wp-block-button__link:hover, .woocommerce ul.products li.product .button:hover, .ev-empty-next .button:hover,
.error404-content .error-btn:hover, .fluentform .ff-btn-submit:hover, .woocommerce div.product .single_add_to_cart_button:hover { background: var(--ev-brand-dark) !important; color: #fff !important; }
.ed-btn .wp-block-button__link, .error404-content .error-btn, .ev-empty-next .button, .fluentform .ff-btn-submit { font-size: 16px !important; padding: 12px 28px !important; min-height: 46px; line-height: 22px !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 0; }
.woocommerce ul.products li.product .button { font-size: 14px !important; line-height: 20px !important; padding: 9px 18px !important; min-height: 38px; display: inline-flex !important; align-items: center; justify-content: center; }
/* phones: block 2 sets 13px / 9px 12px for the 2-per-row grid */
/* shop-pause bar / product box buttons: same radius as every other button */
.esp-btn { border-radius: var(--ev-radius) !important; }

/* 29. Product cards: equal height in every row, button always on the same line, uniform photo crop (2:3, the shop's own
       300x453 size; a few photos were 448-455px tall and pushed their row out of line), no big gap between name and price. */
@media (min-width: 481px) {
  .woocommerce ul.products { display: flex !important; flex-wrap: wrap; }
  .woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
  .woocommerce ul.products li.product { float: none !important; clear: none !important; }
}
.woocommerce ul.products li.product { display: flex !important; flex-direction: column; }
.woocommerce ul.products li.product .product-inner { flex: 1 1 auto; display: flex; flex-direction: column; width: 100%; }
.woocommerce ul.products li.product ul.woo-entry-inner { flex: 1 1 auto; display: flex !important; flex-direction: column; }
.woocommerce ul.products li.product ul.woo-entry-inner > li.btn-wrap { margin-top: auto !important; padding-top: 4px; }
.woocommerce ul.products li.product li.image-wrap { margin-bottom: 14px !important; }
.woocommerce ul.products li.product li.title { margin: 0 0 6px !important; }
.woocommerce ul.products li.product li.title h2 { margin: 0 !important; display: block; }
.woocommerce ul.products li.product li.price-wrap { margin: 0 0 12px !important; }
.woocommerce ul.products li.product .woo-entry-image img { width: 100%; aspect-ratio: 300 / 453; object-fit: cover; object-position: center top; }

/* 30. Brand colours instead of the stray bright red #e30613 (sale badges, "עד 40% הנחה", testimonial bars, old button hover). */
.woocommerce span.onsale { background-color: var(--ev-brand) !important; color: #fff !important; }
.ed-home-promo .ed-big, .ed-big { color: var(--ev-brand) !important; }
.ed-testimonial { border-right-color: var(--ev-brand) !important; }

/* 31. Breadcrumbs: light grey #c6c6c6 on the grey title band failed contrast (about 1.6:1). Now AA. */
.site-breadcrumbs, .site-breadcrumbs a, .site-breadcrumbs span { color: #5f5f5f !important; }
.site-breadcrumbs a:hover { color: var(--ev-brand) !important; }

/* 32. Spacing rhythm: one vertical step for page content (48px desktop / 32px phone) and the title band. */
#content-wrap { padding-top: 48px; padding-bottom: 48px; }
.page-header { padding-top: 32px !important; padding-bottom: 32px !important; }
@media (max-width: 767px) {
  #content-wrap { padding-top: 32px; padding-bottom: 32px; }
  .page-header { padding-top: 24px !important; padding-bottom: 24px !important; }
}
body.home #content-wrap { padding-top: 0; padding-bottom: 0; }

/* 33. About page: justified Hebrew text left wide gaps on tablet and desktop too (block 8 fixed phones only). */
body.page-id-24 .elementor-widget-text-editor, body.page-id-24 .elementor-widget-text-editor p, body.page-id-24 .elementor-widget-text-editor span { text-align: right !important; }

/* 34. Footer tidy: headings were bold + underlined 14px; now dark-brand headings without underline, calmer links, even
       spacing; on phones the stacked columns get a clear gap. */
#footer-widgets .ed-footer-main strong u { text-decoration: none; }
#footer-widgets .ed-footer-main strong { color: var(--ev-brand-dark); font-size: 16px; font-weight: 700; }
#footer-widgets .ed-footer-main p { line-height: 1.95; font-size: 15px; }
#footer-widgets .ed-footer-main a { text-decoration: none; }
#footer-widgets .ed-footer-main a:hover { color: var(--ev-brand) !important; text-decoration: underline; text-underline-offset: 3px; }
#footer-widgets .ed-footer-copyright p { font-size: 14px; color: #555; margin: 0; }
@media (max-width: 781px) { #footer-widgets .ed-footer-main .wp-block-columns { gap: 26px !important; } }

/* 35. Optional marketing-consent checkbox on the Fluent Forms (contact, course, optics course): 16px text (no iOS zoom),
       a 44px+ tap target (the whole label is tappable), a larger box, unchecked by default (set in the form itself). */
.fluent_form_1 .ecp-consent, .fluent_form_2 .ecp-consent, .fluent_form_3 .ecp-consent { margin: 8px 0 16px; }
.ecp-consent .ff-el-form-check { margin: 0; }
.ecp-consent .ff-el-form-check-label { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 0; cursor: pointer; text-align: right; }
.ecp-consent .ff-el-form-check-label span { font-size: 16px; line-height: 1.5; }
.ecp-consent input[type="checkbox"] { font-size: 16px; width: 22px; height: 22px; flex: 0 0 22px; margin: 0; accent-color: var(--ev-brand, #b25852); }

/* ===================== v1.3.0 (visual-v3: Arik's round-2 points) ===================== */

/* 36. Floating buttons, one system on every page and screen (44px round, 12px from the edge on phones, 18px from 768px):
       - left: accessibility (block 14), and back-to-top stacked ABOVE it (they used to sit on top of each other);
       - right: WhatsApp (new, printed by the plugin PHP);
       all above the shop-pause bar / bottom cookie banner (--ev-float-bottom from visual-fixes.js). The Complianz cookie tab
       (desktop/tablet, bottom right) moves left of the WhatsApp button so the two never touch. */
#scroll-top { left: 12px !important; right: auto !important; bottom: calc(var(--ev-float-bottom) + 54px) !important; width: 44px !important; height: 44px !important; line-height: 44px !important; padding: 0 !important; }
.ev-wa { position: fixed; right: 12px; bottom: var(--ev-float-bottom); z-index: 99991; width: 44px; height: 44px; border-radius: 50%; background: #b25852; color: #fff !important; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 12px rgba(0,0,0,.22); text-decoration: none !important; transition: bottom .25s ease, background-color .2s ease; }
.ev-wa:hover { background: #8f443f; color: #fff !important; }
.ev-wa svg { width: 25px; height: 25px; display: block; }
html:not(.ev-pointer) .ev-wa:focus-visible { outline: 2px solid #b25852 !important; outline-offset: 3px; }
body:has(.ecp-sticky) .ev-wa { display: none; }   /* a page with its own sticky WhatsApp bar */
body:has(#sogoacc.open, #sogoacc[style*="block"]) .ev-wa { z-index: 9; }
@media (min-width: 768px) {
  #scroll-top { left: 18px !important; }
  .ev-wa { right: 18px; }
  #cmplz-manage-consent .cmplz-manage-consent { right: 84px !important; left: auto !important; }
}
@media print { .ev-wa { display: none; } }

/* 37. Wait feedback shows at once (visual-fixes.js no longer waits 0.5 s): the badge fades in fast and the tapped link dims. */
html.ev-waiting .ev-wait { transition: opacity .1s ease, transform .1s ease; }
a.ev-pressed { opacity: .65; transition: opacity .08s ease; }

/* 38. Product gallery: no blank box while the slider script loads (WooCommerce kept it at opacity 0 until every script ran);
       before the slider starts, only the first photo shows, its space is reserved by its own width/height (no jump), and the
       thumbnail row's space is held for products with more than one photo. */
.woocommerce div.product div.images.woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) { display: none; }
.woocommerce-product-gallery:has(> .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(2))::after { content: ""; display: block; box-sizing: content-box; height: 15px; padding-top: min(22%, 100px); }   /* = one row of 4 thumbnails (22% wide, max 100px) + 15px gap */
.woocommerce-product-gallery .woocommerce-product-gallery__image img { height: auto; }

/* 39. Breadcrumbs: the home step shows its words next to the icon ("דף הבית"), 14px text (was 13px). The trail itself (category
       instead of "חנות", no "מוצרים" step) comes from the plugin PHP. */
.site-breadcrumbs, .site-breadcrumbs li, .site-breadcrumbs a, .site-breadcrumbs span { font-size: 14px !important; }
.site-breadcrumbs .breadcrumb-home.has-icon { display: inline !important; margin-inline-start: 5px; }

/* 40. Type audit (iPhone SE/15, iPad, desktop): body text >= 16px, small print >= 14px, no text under 14px. Outliers fixed here
       (blocks 2 and 5 were raised too): top bar 12 -> 14, "תפריט ניווט" 13 -> 15, prev/next product 12 -> 14, shop-pause kicker
       12 -> 14 and text 15 -> 16, testimonials 15 -> 16, course page lists/paragraphs 14 -> 16, desktop sub-menu 12 -> 15 (block 41),
       /about/ text line-height 1.2 -> 1.75. */
#top-bar .topbar-content, #top-bar .topbar-content a, #top-bar-content, #top-bar-content a { font-size: 14px !important; }
.oceanwp-mobile-menu-icon a .oceanwp-text, .oceanwp-mobile-menu-icon a .oceanwp-close-text { font-size: 15px !important; }
.esp-kicker { font-size: 14px !important; }
#esp-bar .esp-text, .esp-box .esp-text { font-size: 16px !important; }
.ed-testimonial p, .wp-block-quote p { font-size: 16px !important; }
body.page-id-4138 .entry li, body.page-id-4138 .ed-text, body.page-id-4138 .ed-text p { font-size: 16px !important; line-height: 1.75; }
body.page-id-24 .elementor-widget-text-editor p, body.page-id-24 .elementor-widget-text-editor span { line-height: 1.75 !important; }

/* 41. Navigation levels clearly apart (AA contrast everywhere).
       Desktop dropdown: light brand background, 15px items (were 12px on white, same as the bar), separators, brand hover.
       Phone menu: sub-items on a light brand panel with a brand edge, indented, a dash marker, regular weight; parents bold. */
#site-navigation .dropdown-menu ul.sub-menu { background: #f8f0f0 !important; border-top: 3px solid #b25852 !important; box-shadow: 0 10px 24px rgba(0,0,0,.12) !important; min-width: 210px; padding: 4px 0 !important; }
#site-navigation .dropdown-menu ul.sub-menu li.menu-item > a.menu-link { font-size: 15px !important; font-weight: 400; color: #333 !important; background: transparent !important; padding: 11px 20px !important; border-bottom: 1px solid #ecd9d8 !important; line-height: 1.4; }
#site-navigation .dropdown-menu ul.sub-menu li.menu-item:last-child > a.menu-link { border-bottom: 0 !important; }
#site-navigation .dropdown-menu ul.sub-menu li.menu-item > a.menu-link:hover, #site-navigation .dropdown-menu ul.sub-menu li.menu-item > a.menu-link:focus-visible { background: #fff !important; color: #8f443f !important; }
#mobile-dropdown > nav > ul > li > a, #mobile-dropdown .menu > li > a { font-size: 16px !important; font-weight: 600; color: #333 !important; }
#mobile-dropdown ul.sub-menu { background: #f8f0f0 !important; border: 0 !important; border-inline-start: 3px solid #b25852 !important; margin: 0 !important; }
#mobile-dropdown ul.sub-menu li a { font-size: 15px !important; font-weight: 400 !important; color: #4a4a4a !important; padding-right: 58px !important; border-top: 1px solid #ecd9d8 !important; }
#mobile-dropdown ul.sub-menu li a::before { content: "–"; color: #b25852; margin-inline-end: 8px; }

/* 42. Tiles open from anywhere on them, one link each.
       Product cards: the product title link (visual-fixes.js marks it .ev-card-link) is stretched over the whole card; the photo
       and the "לפרטים והזמנה" button point to the same page and are hidden from the tab order / screen readers by the script.
       Hover (mouse) lifts the card and swaps the photo as before; keyboard focus rings the whole card. Home category/collection
       banners (.ev-tile, set by the script) open their one link on a tap anywhere. */
.woocommerce ul.products li.product .product-inner { position: relative; border-radius: 8px; transition: box-shadow .2s ease; }
.woocommerce ul.products li.product a.ev-card-link::after { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: 8px; }
html:not(.ev-pointer) .woocommerce ul.products li.product a.ev-card-link:focus-visible { outline: none !important; }
html:not(.ev-pointer) .woocommerce ul.products li.product a.ev-card-link:focus-visible::after { outline: 2px solid #b25852; outline-offset: 4px; }
@media (hover: hover) {
  .woocommerce ul.products li.product .product-inner:hover { box-shadow: 0 6px 22px rgba(0,0,0,.09); }
  .woocommerce ul.products li.product .product-inner:hover .woo-entry-image-swap .woo-entry-image-main { opacity: 0; }
  .woocommerce ul.products li.product .product-inner:hover li.title a { color: #b25852 !important; }
  .woocommerce ul.products li.product .product-inner:hover .button { background: var(--ev-brand-dark) !important; }
}
.ev-tile { cursor: pointer; overflow: hidden; }
.ev-tile img.wp-block-cover__image-background { transition: transform .4s ease; }
@media (hover: hover) { .ev-tile:hover img.wp-block-cover__image-background { transform: scale(1.04); } .ev-tile:hover .wp-block-button__link { background: var(--ev-brand-dark) !important; } }
html:not(.ev-pointer) .ev-tile:has(a:focus-visible) { outline: 3px solid #b25852; outline-offset: -3px; }

/* 43. Previous / next product for RTL: "המוצר הקודם" on the right with its arrow pointing right, "המוצר הבא" on the left with its
       arrow pointing left (the theme floated them the LTR way on phones), 14px labels, 44px tap rows. */
@media only screen and (max-width: 767px) {
  .owp-product-nav li.prev-li { float: right !important; }
  .owp-product-nav li.next-li { float: left !important; }
  .owp-product-nav li { min-height: 44px; }
  .owp-product-nav li a.owp-nav-text { font-size: 14px !important; padding: 10px 0 !important; }
  .owp-product-nav li a.owp-nav-text.prev-text { padding-right: 6px !important; }
  .owp-product-nav li a.owp-nav-text.next-text { padding-left: 6px !important; }
}

/* ===================== v1.4.0 (design-v5: Arik's picks nav 2 + contact B; live for everyone since 1.5.0) =====================
   Scoped to body.ev-v5 / body.ev-nav2, which the plugin adds on every front-end page except the course landing draft. */

/* 44. Assistant everywhere (self-hosted, one variable file per script, 400-700, swap). The theme had "Open Sans" set but never
       loaded it (system fallback). Elementor pages already use their own copy ("Assistant-new"): left as it is. */
@font-face { font-family: "Assistant"; font-style: normal; font-weight: 200 800; font-display: swap; src: url(fonts/assistant-hebrew.woff2) format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Assistant"; font-style: normal; font-weight: 200 800; font-display: swap; src: url(fonts/assistant-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
body.ev-v5 { --ev-font: "Assistant", "Open Sans", Arial, sans-serif; font-family: var(--ev-font) !important; }
body.ev-v5 :is(h1, h2, h3, h4, h5, h6, p, li, a, label, button, input, select, textarea, blockquote, cite, th, td, figcaption, .menu-link, .text-wrap, .page-header-title, .site-breadcrumbs, .price, .amount, .button, .wp-element-button, .topbar-content, .oceanwp-text, .esp-text, .esp-btn, .ff-btn-submit, .cmplz-cookiebanner, .woocommerce-loop-product__title):not(.fa):not([class*="fa-"]):not([class*="icon"]) { font-family: var(--ev-font) !important; }
/* Assistant runs a little smaller than Open Sans at the same size: body 17px, menu 16px */
body.ev-v5 { font-size: 17px; }
body.ev-v5 #site-navigation-wrap .dropdown-menu > li > a { font-size: 16px; font-weight: 600; }

/* 45. Nav 2: the header stays on top while scrolling (sticky; no layout shift, its space stays reserved). Over a full-width hero
       photo (home, pages that start with a full-width cover) it is transparent with a white logo and white links on a soft dark
       fade, and turns solid white once the page scrolls past the top bar (body.ev-solid, visual-fixes.js) or when the menu,
       search or keyboard focus is inside it. Everywhere else it is solid from the start. */
body.ev-nav2 { --ev-hdr-h: 74px; }   /* header height (measured 74 desktop, 75 phones); flow-root keeps its floated logo/menu from pushing the hero down */
@media (max-width: 959px) { body.ev-nav2 { --ev-hdr-h: 75px; } }
body.ev-nav2 #outer-wrap, body.ev-nav2 #wrap { overflow: visible !important; overflow-x: clip !important; }
body.ev-nav2 #site-header { display: flow-root; position: sticky; top: 0; z-index: 1001; background-color: #fff; transition: background-color .3s ease, box-shadow .3s ease; }
body.ev-nav2.ev-scrolled #site-header { box-shadow: 0 1px 12px rgba(0,0,0,.08); }
body.ev-nav2 #site-logo img.ev-logo { width: 168px !important; height: auto !important; max-width: none !important; max-height: none !important; filter: none !important; mix-blend-mode: normal !important; display: block; }
body.ev-nav2 #site-logo #site-logo-inner { display: flex !important; align-items: center; height: var(--ev-hdr-h) !important; }
body.ev-nav2 .ev-logo-link { position: relative; display: inline-block; line-height: 0; }
body.ev-nav2 .ev-logo-white { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
body.ev-nav2 .ev-logo-dark { transition: opacity .3s ease; }
@media (max-width: 959px) { body.ev-nav2 #site-logo img.ev-logo { width: 150px !important; } }
/* the open phone menu scrolls inside itself, so its end is always reachable while the header sticks */
body.ev-nav2 #mobile-dropdown { max-height: calc(100vh - var(--ev-hdr-h)); max-height: calc(100dvh - var(--ev-hdr-h)); overflow-y: auto; overscroll-behavior: contain; }
/* hero pages: the header floats over the photo */
body.ev-nav2-hero #site-header { margin-bottom: calc(-1 * var(--ev-hdr-h)); }
body.ev-nav2-hero:not(.ev-solid) #site-header:not(:hover):not(:focus-within):not(.ev-menu-open) { background-color: transparent !important; box-shadow: none; }
body.ev-nav2-hero #site-header::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 150%; background: linear-gradient(rgba(20,8,8,.66), rgba(20,8,8,.36) 62%, transparent); pointer-events: none; transition: opacity .3s ease; z-index: -1; }
body.ev-nav2-hero.ev-solid #site-header::before, body.ev-nav2-hero #site-header:is(:hover, :focus-within, .ev-menu-open)::before { opacity: 0; }
body.ev-nav2-hero:not(.ev-solid) #site-header:not(:hover):not(:focus-within):not(.ev-menu-open) .ev-logo-white { opacity: 1; }
body.ev-nav2-hero:not(.ev-solid) #site-header:not(:hover):not(:focus-within):not(.ev-menu-open) .ev-logo-dark { opacity: 0; }
body.ev-nav2-hero:not(.ev-solid) #site-header:not(:hover):not(:focus-within):not(.ev-menu-open) :is(#site-navigation-wrap .dropdown-menu > li > a, #site-navigation-wrap .dropdown-menu > li > a .nav-arrow, .oceanwp-mobile-menu-icon a, .oceanwp-mobile-menu-icon a i, .wcmenucart, .wcmenucart i, .site-search-toggle, .site-search-toggle i) { color: #fff !important; text-shadow: 0 1px 6px rgba(0,0,0,.45); }
body.ev-nav2-hero:not(.ev-solid) #site-header:not(:hover):not(:focus-within):not(.ev-menu-open) .wcmenucart-details.count { color: #fff !important; border-color: #fff !important; }
/* the hero's own content keeps clear of the header */
body.ev-nav2-hero .entry > .wp-block-cover.alignfull:first-child .wp-block-cover__inner-container { padding-top: var(--ev-hdr-h); }

/* 46. Contact B (/contact-us/): pink band, WhatsApp first as the big tile, phone + Instagram tiles, studio photo (address by phone
       only), then the existing contact form (Fluent Forms 1, fields unchanged) beside a short note. Content: contact-b.html. */
body.ev-v5.page-id-28 .page-header { display: none !important; }
body.ev-v5.page-id-28 #content-wrap { padding-top: 0 !important; padding-bottom: 0 !important; max-width: none; width: 100%; }
body.ev-v5.page-id-28 #primary, body.ev-v5.page-id-28 #content, body.ev-v5.page-id-28 article, body.ev-v5.page-id-28 .entry { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; float: none !important; }
body.ev-v5.page-id-28 #right-sidebar, body.ev-v5.page-id-28 #left-sidebar { display: none !important; }
.ev-cb, .ev-cb * { box-sizing: border-box; }
.ev-cb a { text-decoration: none !important; }
.ev-cb p { margin: 0; }
.ev-cb h1, .ev-cb h2 { margin: 0; color: #632c2c; }
.ev-cb .cb-ltr { direction: ltr; unicode-bidi: isolate; }
.ev-cb .cb-band { background: linear-gradient(135deg, #f8f0f0 0%, #f1dedd 100%); }
.ev-cb .cb-in { max-width: 1180px; margin: 0 auto; padding: 64px 24px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.ev-cb .cb-copy h1 { font-size: 52px; font-weight: 800; line-height: 1.1; }
.ev-cb .cb-lead { font-size: 19px; color: #5a4040; margin: 14px 0 28px; line-height: 1.6; }
.ev-cb .cb-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ev-cb .cb-tile { background: #fff; border-radius: 14px; padding: 20px 16px; display: flex; flex-direction: column; gap: 4px; color: #632c2c !important; box-shadow: 0 6px 20px rgba(99,44,44,.08); transition: transform .2s ease, box-shadow .2s ease; min-height: 44px; }
.ev-cb .cb-tile:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(99,44,44,.14); }
html:not(.ev-pointer) .ev-cb .cb-tile:focus-visible { outline: 3px solid #632c2c; outline-offset: 3px; }
.ev-cb .cb-tile svg { width: 28px; height: 28px; margin-bottom: 8px; color: #b25852; flex: none; }
.ev-cb .cb-tile b { font-size: 19px; font-weight: 700; }
.ev-cb .cb-tile span { font-size: 15px; color: #6e5252; }
.ev-cb .cb-tile--main { background: #b25852; color: #fff !important; }
.ev-cb .cb-tile--main:hover { background: #8f443f; }
.ev-cb .cb-tile--main svg, .ev-cb .cb-tile--main span { color: #fff; }
.ev-cb .cb-fig { margin: 0; position: relative; }
.ev-cb .cb-fig img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 18px; display: block; }
.ev-cb .cb-fig figcaption { position: absolute; bottom: 14px; right: 14px; left: 14px; background: rgba(255,255,255,.95); border-radius: 10px; padding: 10px 14px; font-size: 16px; color: #3a2a2a; display: flex; gap: 8px; align-items: center; line-height: 1.4; }
.ev-cb .cb-fig figcaption svg { color: #b25852; flex: none; }
.ev-cb .cb-form { max-width: 1080px; margin: 0 auto; padding: 56px 24px 64px; display: grid; grid-template-columns: 300px 1fr; gap: 56px; }
.ev-cb .cb-note h2 { font-size: 28px; font-weight: 700; }
.ev-cb .cb-note p { font-size: 17px; color: #4a4a4a; margin-top: 10px; line-height: 1.7; }
.ev-cb .cb-note .cb-more { margin-top: 14px; }
.ev-cb .cb-note .cb-more a { color: #632c2c !important; font-weight: 600; display: inline-block; padding: 6px 0; }
.ev-cb .fluentform .ff-el-input--label label { font-size: 16px; font-weight: 600; color: #3a2a2a; }
.ev-cb .fluentform .ff-el-form-control { border: 1px solid #dcc6c5 !important; border-radius: 8px !important; background: #fff !important; padding: 12px 14px !important; }
.ev-cb .fluentform .ff-el-form-control:focus { border-color: #b25852 !important; box-shadow: 0 0 0 3px rgba(178,88,82,.15) !important; }
.ev-cb .fluentform .ff-btn-submit { border-radius: 8px !important; padding: 13px 34px !important; font-size: 17px !important; }
@media (max-width: 767px) {
  .ev-cb .cb-in { grid-template-columns: 1fr; padding: 32px 16px; gap: 24px; }
  .ev-cb .cb-copy h1 { font-size: 36px; }
  .ev-cb .cb-lead { font-size: 17px; margin: 10px 0 20px; }
  .ev-cb .cb-tiles { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ev-cb .cb-tile--main { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 10px; padding: 16px; }
  .ev-cb .cb-tile--main svg { margin: 0; }
  .ev-cb .cb-tile--main span { margin-inline-start: auto; }
  .ev-cb .cb-fig img { aspect-ratio: 16 / 10; }
  .ev-cb .cb-form { grid-template-columns: 1fr; padding: 32px 16px 40px; gap: 16px; }
}

/* 48. (1.5.0 go-live consistency) My account (Elementor page): the login / register buttons were the theme's black square 20px
       buttons; now the site's one button (block 28). */
.woocommerce :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-Button.button, .woocommerce-ResetPassword .button) {
  background: var(--ev-brand) !important; color: #fff !important; border: 0 !important; border-radius: var(--ev-radius) !important;
  font-size: 16px !important; font-weight: 600 !important; line-height: 22px !important; padding: 12px 28px !important; min-height: 46px;
  text-transform: none !important; box-shadow: none !important; transition: background-color .2s ease;
}
.woocommerce :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-Button.button, .woocommerce-ResetPassword .button):hover { background: var(--ev-brand-dark) !important; color: #fff !important; }

/* 49. Logo intro 3 (needle sweep), once per session. Only while <html> has .ev-intro (inline script in <head>, plugin 1.6.0). Only the
   logo link is clipped (no layout change, no overlay); the logo ends fully visible. */
.ev-needle { position: absolute; top: -6%; height: 112%; width: 2px; left: 0; background: #b25852; border-radius: 2px; pointer-events: none; opacity: 0; box-shadow: 0 0 8px rgba(178,88,82,.6); }
html.ev-intro body.ev-nav2 .ev-logo-link { animation: evi-reveal 1s cubic-bezier(.65,0,.35,1) both; }
html.ev-intro .ev-needle { animation: evi-sweep 1s cubic-bezier(.65,0,.35,1) both, evi-out .2s ease 1s forwards; }
@keyframes evi-reveal { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes evi-sweep { from { left: 0; opacity: 1; } to { left: 100%; opacity: 1; } }
@keyframes evi-out { to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  html.ev-intro body.ev-nav2 .ev-logo-link { animation: none !important; }
  .ev-needle { display: none !important; }
}
