/* ED Design · עדן חותמות · עמוד המוצר (ed-product) v1.0.1 · 21.10.2026 */
body.ed-product {
  --ct-ink: #111318;
  --ct-graphite: #1C1F26;
  --ct-red: #CB1817;
  --ct-red-d: #A91311;
  --ct-red-soft: #FBEDEC;
  --ct-paper: #FBFAF7;
  --ct-paper-2: #F3F0E8;
  --ct-text: #15171C;
  --ct-body: #3A3E47;
  --ct-muted: #5B606B;
  --ct-line: #E5E2D9;
  --ct-line-2: #D3CDBF;
  --ct-h: "Rubik", "Assistant", Arial, sans-serif;
  --ct-b: "Assistant", Arial, sans-serif;
  --ct-sh: 0 1px 0 rgba(17, 19, 24, .04), 0 10px 30px rgba(17, 19, 24, .07);
  --ct-sh-2: 0 2px 6px rgba(17, 19, 24, .06), 0 22px 48px rgba(17, 19, 24, .12);
  /* millimetre paper: a 24px grid with 6px under it */
  --pd-mm: linear-gradient(rgba(17, 19, 24, .055) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, rgba(17, 19, 24, .055) 1px, transparent 1px) 0 0 / 24px 24px,
    linear-gradient(rgba(17, 19, 24, .025) 1px, transparent 1px) 0 0 / 6px 6px, linear-gradient(90deg, rgba(17, 19, 24, .025) 1px, transparent 1px) 0 0 / 6px 6px;
  --pd-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111318' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --pd-dot: 0 0 0 4px rgba(203, 24, 23, .14);
  /* the ink of a real rubber impression (the homepage's) */
  --ed-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 4.6'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)'/%3E%3C/svg%3E");
  background: var(--ct-paper) !important;
}
body.ed-product #main, body.ed-product #wrapper { background-color: var(--ct-paper) !important; }
body.ed-product :focus-visible { outline-color: var(--ct-red); }

/* =====================================================================
   1. WHERE YOU ARE: Flatsome's title band, short, on millimetre paper
   ===================================================================== */
body.ed-product .product-page-title.page-title { margin: 0 !important; padding: 14px 0 12px !important; border-bottom: 1px solid var(--ct-line); background: linear-gradient(180deg, rgba(251, 250, 247, 0), var(--ct-paper) 100%), var(--pd-mm) !important; background-color: var(--ct-paper) !important; }
body.ed-product .product-page-title .page-title-inner { max-width: 1230px !important; min-height: 0 !important; padding: 0 15px !important; }
body.ed-product .product-page-title .page-title-inner > .flex-col { text-align: start !important; }
body.ed-product .product-page-title .is-larger, body.ed-product .product-page-title .is-large { font-size: inherit !important; }
body.ed-product .product-page-title .woocommerce-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin: 0 !important; padding: 0 !important; font: 700 14.5px/1.5 var(--ct-b) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ct-muted) !important; }
body.ed-product .product-page-title .woocommerce-breadcrumb a { display: inline-flex; align-items: center; min-height: 32px; color: var(--ct-ink) !important; font-weight: 700 !important; text-decoration: underline !important; text-decoration-color: rgba(203, 24, 23, .45) !important; text-underline-offset: 3px; }
body.ed-product .product-page-title .woocommerce-breadcrumb .divider { margin: 0 !important; color: var(--ct-line-2) !important; font-weight: 400 !important; opacity: 1 !important; }

/* =====================================================================
   2. THE TOP: the photos on a proof sheet beside the order
   ===================================================================== */
body.ed-product .product-main { padding-top: clamp(18px, 2.6vw, 36px) !important; padding-bottom: clamp(26px, 3vw, 44px) !important; }
body.ed-product .product-main > .row { max-width: 1230px !important; }

/* the photo: on millimetre paper, with a printer's crop marks */
body.ed-product .product-gallery .product-images { position: relative; margin: 0 0 12px !important; padding: clamp(12px, 1.4vw, 18px); border-radius: 26px; background: var(--pd-mm), var(--ct-paper-2); box-shadow: inset 0 0 0 1px var(--ct-line); }
body.ed-product .product-gallery .product-gallery-slider { overflow: hidden; margin: 0 !important; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(17, 19, 24, .06), 0 14px 34px rgba(17, 19, 24, .10); }
body.ed-product .product-gallery .product-gallery-slider .flickity-viewport { border-radius: 18px; }
body.ed-product .product-gallery .woocommerce-product-gallery__image img { border-radius: 0 !important; }
body.ed-product .product-gallery .product-images::after { content: ""; position: absolute; inset: calc(clamp(12px, 1.4vw, 18px) - 9px); z-index: 2; pointer-events: none; opacity: .55;
  background: linear-gradient(var(--ct-ink), var(--ct-ink)) 0 8px / 14px 1.5px no-repeat, linear-gradient(var(--ct-ink), var(--ct-ink)) 8px 0 / 1.5px 14px no-repeat,
    linear-gradient(var(--ct-ink), var(--ct-ink)) 100% 8px / 14px 1.5px no-repeat, linear-gradient(var(--ct-ink), var(--ct-ink)) calc(100% - 8px) 0 / 1.5px 14px no-repeat,
    linear-gradient(var(--ct-ink), var(--ct-ink)) 0 calc(100% - 8px) / 14px 1.5px no-repeat, linear-gradient(var(--ct-ink), var(--ct-ink)) 8px 100% / 1.5px 14px no-repeat,
    linear-gradient(var(--ct-ink), var(--ct-ink)) 100% calc(100% - 8px) / 14px 1.5px no-repeat, linear-gradient(var(--ct-ink), var(--ct-ink)) calc(100% - 8px) 100% / 1.5px 14px no-repeat; }
/* the round "sale" sticker goes (the price says it) */
body.ed-product .product-gallery .badge-container { display: none !important; }
/* the zoom: a round white button */
body.ed-product .product-gallery .image-tools.bottom { bottom: calc(clamp(12px, 1.4vw, 18px) + 12px) !important; left: calc(clamp(12px, 1.4vw, 18px) + 12px) !important; right: auto !important; padding: 0 !important; }
body.ed-product .product-gallery .zoom-button { display: inline-grid !important; place-items: center; width: 46px !important; height: 46px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #fff !important; color: var(--ct-ink) !important; box-shadow: 0 6px 16px rgba(17, 19, 24, .18) !important; opacity: 1 !important; }
body.ed-product .product-gallery .zoom-button i { font-size: 17px; }
/* the photo's arrows: for a mouse (a finger swipes, and the small photos are right below) */
body.ed-product .product-gallery .product-gallery-slider .flickity-button { width: 42px !important; height: 42px !important; border-radius: 50% !important; background: rgba(255, 255, 255, .94) !important; color: var(--ct-ink) !important; box-shadow: 0 4px 12px rgba(17, 19, 24, .16); }
body.ed-product .product-gallery .product-gallery-slider .flickity-button-icon { width: 44% !important; height: 44% !important; left: 28% !important; top: 28% !important; fill: var(--ct-ink) !important; }
@media (hover: none), (pointer: coarse) {
  body.ed-product .product-gallery .product-gallery-slider .flickity-button { display: none !important; }
}
/* the small photos: white cards, the one shown framed in red */
body.ed-product .product-gallery .product-thumbnails { margin: 0 -4px !important; padding: 0 !important; }
body.ed-product .product-gallery .product-thumbnails .col { padding: 4px !important; }
body.ed-product .product-gallery .product-thumbnails a { display: block; overflow: hidden; padding: 3px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--ct-line-2); color: var(--ct-ink) !important; }
body.ed-product .product-gallery .product-thumbnails a:hover { color: var(--ct-ink) !important; }
body.ed-product .product-gallery .product-thumbnails img { display: block; border-radius: 9px; opacity: 1 !important; transition: none !important; }
body.ed-product .product-gallery .product-thumbnails .is-nav-selected a { box-shadow: inset 0 0 0 2.5px var(--ct-red); }
body.ed-product .product-gallery .product-thumbnails:focus-visible { outline: 3px solid var(--ct-red); outline-offset: 3px; border-radius: 12px; }
body.ed-product .product-gallery .product-thumbnails .flickity-button { background: #fff !important; border-radius: 50% !important; box-shadow: 0 2px 8px rgba(17, 19, 24, .14); }

/* the order side */
body.ed-product .product-info.summary { padding-top: 0 !important; }
body.ed-product .product-info h1.product-title { margin: 0 0 12px !important; font: 900 clamp(28px, 2.9vw, 42px)/1.12 var(--ct-h) !important; letter-spacing: -.015em !important; text-transform: none !important; color: var(--ct-ink) !important; text-align: start !important; }
body.ed-product .product-info .is-divider { display: none !important; }
/* the stars: a chip that leads to the reviews (the script writes the score and the count beside them) */
body.ed-product .product-info .woocommerce-product-rating { display: flex; margin: 0 0 14px !important; }
body.ed-product .product-info .woocommerce-review-link { display: inline-flex !important; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px 0 12px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--ct-line-2); font: 800 14.5px/1 var(--ct-b) !important; color: var(--ct-ink) !important; text-decoration: none !important; }
body.ed-product .product-info .woocommerce-review-link .star-rating { float: none !important; margin: 0 !important; font-size: 13px !important; }
body.ed-product .product-info .woocommerce-review-link .star-rating::before { color: var(--ct-line-2) !important; }
body.ed-product .product-info .woocommerce-review-link .star-rating span::before { color: var(--ct-red) !important; }
body.ed-product .ed-pd-rate { display: inline-flex; align-items: baseline; gap: 6px; }
body.ed-product .ed-pd-rate b { font: 800 15px/1 var(--ct-h); }
body.ed-product .ed-pd-rate span { font-weight: 700; color: var(--ct-muted); }
/* the price: what you pay, big; the old one beside it; a range starts at its lowest ("החל מ-", the full range stays for screen readers) */
body.ed-product .product-info .price-wrapper { margin: 0 0 18px !important; }
body.ed-product .product-info .price-wrapper .price { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 !important; font: 800 clamp(30px, 2.6vw, 38px)/1.15 var(--ct-h) !important; color: var(--ct-ink) !important; }
body.ed-product .product-info .price-wrapper .price .amount { color: var(--ct-ink) !important; font-weight: 800 !important; }
body.ed-product .product-info .price-wrapper .price ins { order: 1; text-decoration: none !important; }
body.ed-product .product-info .price-wrapper .price del { order: 2; opacity: 1 !important; font: 600 19px/1.2 var(--ct-b) !important; color: var(--ct-muted) !important; }
body.ed-product .product-info .price-wrapper .price del :is(.amount, bdi, span) { opacity: 1 !important; color: var(--ct-muted) !important; font-weight: 600 !important; }
body.ed-product .product-info .price-wrapper .price:has(> .amount ~ .amount) > .amount ~ .amount,
body.ed-product .product-info .price-wrapper .price:has(> .amount ~ .amount) > .amount + span:not(.screen-reader-text):not(.amount) { display: none !important; }
body.ed-product .product-info .price-wrapper .price:has(> .amount ~ .amount) > .amount:first-child::before { content: "החל מ-"; margin-inline-end: 6px; font: 800 17px/1 var(--ct-b); color: var(--ct-muted); }

/* out of stock: a plain card with a way to ask (PHP; WooCommerce's own line stays) */
body.ed-product .ed-pd-oos { margin: 0 0 18px; padding: 18px 20px; border-radius: 22px; background: #fff; box-shadow: inset -4px 0 0 var(--ct-red), inset 0 0 0 1px var(--ct-line), var(--ct-sh); }
body.ed-product .ed-pd-oos__t { display: flex; align-items: center; gap: 10px; margin: 0 0 4px !important; font: 800 19px/1.3 var(--ct-h); color: var(--ct-ink); }
body.ed-product .ed-pd-oos__t::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--ct-red); box-shadow: var(--pd-dot); }
body.ed-product .ed-pd-oos__s { margin: 0 0 14px !important; font: 500 16px/1.55 var(--ct-b); color: var(--ct-body); }
body.ed-product .product-info p.stock.out-of-stock { margin: 0 0 10px !important; font: 800 15px/1.4 var(--ct-b) !important; color: var(--ct-red-d) !important; }
/* when the card follows, WooCommerce's own line says the same: kept for screen readers only */
body.ed-product .product-info p.stock.out-of-stock:has(+ .ed-pd-oos) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; margin: 0 !important; }

/* =====================================================================
   3. THE ORDER: one card – the choices, the personal part, the cart – in numbered steps
   ===================================================================== */
body.ed-product .product-info form.cart { position: relative; margin: 0 0 16px !important; padding: clamp(16px, 1.8vw, 24px) !important; border-radius: 24px; background: #fff; box-shadow: inset 0 0 0 1px var(--ct-line), var(--ct-sh); counter-reset: edstep; scroll-margin-top: 126px; }
body.ed-product .ed-pd-step { display: flex; align-items: center; gap: 10px; margin: 22px 0 12px; padding: 18px 0 0; border-top: 1px dashed var(--ct-line-2); font: 800 16.5px/1.25 var(--ct-h); color: var(--ct-ink); counter-increment: edstep; }
body.ed-product form.cart .ed-pd-step:first-child, body.ed-product form.cart > div:first-child > .ed-pd-step:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
/* the number: a small round seal (the same as the shop's page numbers) */
body.ed-product .ed-pd-step__n { flex: none; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px var(--ct-red), inset 0 0 0 4px #fff, inset 0 0 0 5px var(--ct-red); font: 800 14px/1 var(--ct-h); color: var(--ct-red-d); }
body.ed-product .ed-pd-step__n::before { content: counter(edstep); }

/* the choices (variations): the name above, a big select */
body.ed-product form.cart table.variations, body.ed-product form.cart table.variations tbody { display: block; width: 100%; margin: 0 !important; border: 0 !important; }
body.ed-product form.cart table.variations tr { display: block; margin: 0 0 14px; }
body.ed-product form.cart table.variations tr:last-child { margin-bottom: 0; }
body.ed-product form.cart table.variations :is(th, td) { display: block; padding: 0 !important; border: 0 !important; text-align: start !important; line-height: 1.3 !important; }
body.ed-product form.cart table.variations th.label { margin: 0 0 8px !important; }
body.ed-product form.cart table.variations th.label label { margin: 0 !important; font: 800 15px/1.3 var(--ct-b) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ct-ink) !important; }
body.ed-product .ed-pd-chosen { margin-inline-start: 6px; font-weight: 700; color: var(--ct-red-d); }
body.ed-product form.cart table.variations td.value { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
body.ed-product form.cart table.variations select { flex: 1 1 260px; width: 100% !important; max-width: none !important; min-height: 52px; height: 52px; margin: 0 !important; padding: 0 16px 0 46px !important; border: 1.5px solid var(--ct-line-2) !important; border-radius: 14px !important; background: #fff var(--pd-chev) 16px 50% / 18px 18px no-repeat !important; box-shadow: none !important; font: 700 16.5px/1.2 var(--ct-b) !important; color: var(--ct-ink) !important; -webkit-appearance: none; appearance: none; cursor: pointer; }
body.ed-product form.cart table.variations select:focus { border-color: var(--ct-ink) !important; outline: 3px solid rgba(203, 24, 23, .22); outline-offset: 0; }
body.ed-product form.cart .reset_variations { position: static !important; display: inline-flex !important; align-items: center; min-height: 32px; margin: 0 !important; padding: 0 4px !important; opacity: 1 !important; font: 700 14px/1 var(--ct-b) !important; color: var(--ct-body) !important; text-decoration: underline !important; text-underline-offset: 3px; text-transform: none !important; letter-spacing: 0 !important; }
/* swatches (ink colours, sign colours): round ink pads, the chosen one ringed */
body.ed-product form.cart .variable-items-wrapper { display: flex !important; flex-wrap: wrap; gap: 10px !important; margin: 0 !important; padding: 0 !important; }
body.ed-product form.cart .variable-items-wrapper .variable-item { margin: 0 !important; box-shadow: 0 0 0 1.5px var(--ct-line-2) !important; }
body.ed-product form.cart .variable-items-wrapper.color-variable-items-wrapper .variable-item { width: 44px !important; height: 44px !important; padding: 4px !important; border-radius: 50% !important; background: #fff !important; }
body.ed-product form.cart .variable-items-wrapper.color-variable-items-wrapper .variable-item-contents, body.ed-product form.cart .variable-items-wrapper.color-variable-items-wrapper .variable-item-span { border-radius: 50% !important; }
body.ed-product form.cart .variable-items-wrapper.color-variable-items-wrapper .variable-item-span { -webkit-mask: var(--ed-ink) 0 0 / 46px 46px; mask: var(--ed-ink) 0 0 / 46px 46px; }
body.ed-product form.cart .variable-items-wrapper .variable-item.selected { box-shadow: 0 0 0 2.5px var(--ct-ink), 0 0 0 5.5px rgba(203, 24, 23, .28) !important; }
body.ed-product form.cart .variable-items-wrapper .variable-item.selected .variable-item-contents::before { display: none !important; }
body.ed-product form.cart .variable-items-wrapper .variable-item:focus-visible { outline: 3px solid var(--ct-red); outline-offset: 3px; }
body.ed-product form.cart .variable-items-wrapper.button-variable-items-wrapper .variable-item { min-width: 44px; min-height: 44px; padding: 0 14px !important; border-radius: 999px !important; background: #fff !important; }
body.ed-product form.cart .variable-items-wrapper.button-variable-items-wrapper .variable-item.selected { background: var(--ct-ink) !important; }
body.ed-product form.cart .variable-items-wrapper.button-variable-items-wrapper .variable-item.selected .variable-item-span { color: #fff !important; }
body.ed-product form.cart .variable-items-wrapper.image-variable-items-wrapper .variable-item { width: 64px !important; height: 64px !important; padding: 3px !important; border-radius: 14px !important; }
body.ed-product form.cart .variable-items-wrapper.image-variable-items-wrapper .variable-item img { border-radius: 11px !important; }

/* the size guide (the site's own button and window): a ruler card in the site's line */
body.ed-product .stamped-size-guide { margin: 14px 0 4px !important; }
body.ed-product .stamped-size-guide-btn { display: flex !important; align-items: center; gap: 14px !important; width: 100%; min-height: 64px; margin: 0 !important; padding: 12px 16px !important; border: 0 !important; border-radius: 16px !important; background: var(--pd-mm), var(--ct-paper) !important; box-shadow: inset 0 0 0 1.5px var(--ct-line-2) !important; color: var(--ct-ink) !important; text-align: start !important; text-transform: none !important; letter-spacing: 0 !important; transition: none !important; }
body.ed-product .stamped-size-guide-icon { flex: 0 0 38px !important; width: 38px !important; height: 38px !important; border-radius: 50% !important; background: #fff !important; box-shadow: inset 0 0 0 2px var(--ct-red); color: transparent !important; font-size: 0 !important; position: relative; }
body.ed-product .stamped-size-guide-icon::before { content: ""; position: absolute; inset: 8px; background: var(--ct-red); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 15.5L15.5 3 21 8.5 8.5 21z'/%3E%3Cpath d='M7 12.5l1.8 1.8M9.6 9.9l2.6 2.6M12.2 7.3l1.8 1.8M14.8 4.7l2.6 2.6'/%3E%3C/svg%3E") 50% 50% / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 15.5L15.5 3 21 8.5 8.5 21z'/%3E%3Cpath d='M7 12.5l1.8 1.8M9.6 9.9l2.6 2.6M12.2 7.3l1.8 1.8M14.8 4.7l2.6 2.6'/%3E%3C/svg%3E") 50% 50% / contain no-repeat; }
body.ed-product .stamped-size-guide-text strong { font: 800 15.5px/1.3 var(--ct-h) !important; color: var(--ct-ink) !important; }
body.ed-product .stamped-size-guide-text small { font: 600 13.5px/1.4 var(--ct-b) !important; color: var(--ct-muted) !important; }
body.ed-product .stamped-size-guide-arrow { font: 800 20px/1 var(--ct-h) !important; color: var(--ct-red) !important; }
body.ed-product .stamped-size-guide-btn:focus-visible { outline: 3px solid var(--ct-red) !important; outline-offset: 3px; }
body.ed-product .stamped-size-modal-dialog { border-radius: 24px !important; background: #fff !important; box-shadow: var(--ct-sh-2) !important; }
body.ed-product .stamped-size-modal-header h2 { font: 800 clamp(20px, 2.2vw, 26px)/1.25 var(--ct-h) !important; color: var(--ct-ink) !important; }
body.ed-product .stamped-size-modal-header p { font: 500 15.5px/1.5 var(--ct-b) !important; color: var(--ct-body) !important; }
body.ed-product .stamped-size-modal-close { display: inline-grid !important; place-items: center; width: 44px !important; height: 44px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: var(--ct-paper-2) !important; color: var(--ct-ink) !important; font: 400 26px/1 var(--ct-b) !important; }
body.ed-product .stamped-size-modal-close:focus-visible { outline: 3px solid var(--ct-red); outline-offset: 2px; }

/* the chosen variation's price and stock */
body.ed-product form.cart .single_variation_wrap .woocommerce-variation-price .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 14px 0 0 !important; font: 800 26px/1.2 var(--ct-h) !important; color: var(--ct-ink) !important; }
body.ed-product form.cart .single_variation_wrap .woocommerce-variation-price .price del { order: 2; font: 600 16px/1.2 var(--ct-b) !important; color: var(--ct-muted) !important; opacity: 1 !important; }
body.ed-product form.cart .single_variation_wrap .woocommerce-variation-price .price del, body.ed-product form.cart .single_variation_wrap .woocommerce-variation-price .price del * { color: var(--ct-muted) !important; opacity: 1 !important; }
body.ed-product form.cart .single_variation_wrap .woocommerce-variation-price .price ins { order: 1; text-decoration: none !important; }
body.ed-product form.cart .woocommerce-variation-availability p { margin: 6px 0 0 !important; font: 700 14.5px/1.4 var(--ct-b); }
body.ed-product form.cart .woocommerce-variation-description p { margin: 8px 0 0 !important; font-size: 15px; color: var(--ct-body); }

/* the personal part (WCPA, drawn by React): labels above, big calm fields – only how they look changes */
body.ed-product form.cart .wcpa_form_outer { margin: 0 !important; }
body.ed-product form.cart .wcpa_form_outer :is(.wcpa_row, .wcpa_section, .wcpa_section_body) { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.ed-product form.cart .wcpa_form_outer .wcpa_field_wrap { width: 100% !important; max-width: none !important; margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; }
body.ed-product form.cart .wcpa_form_outer .wcpa_field_wrap > div[style*="max-width"] { max-width: none !important; }
body.ed-product form.cart .wcpa_form_outer :is(.wcpa_field_label, legend.wcpa_field_label) { display: flex; align-items: center; gap: 8px; float: none; width: auto; margin: 0 0 8px !important; padding: 0 !important; font: 800 15px/1.35 var(--ct-b) !important; color: var(--ct-ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.ed-product form.cart .wcpa_form_outer :is(.wcpa_required_ast, .required_ast) { color: var(--ct-red-d) !important; }
body.ed-product form.cart .wcpa_form_outer .wcpa_tooltip_icon { display: inline-grid !important; place-items: center; width: 22px !important; height: 22px !important; border: 0 !important; border-radius: 50% !important; background: var(--ct-paper-2) !important; box-shadow: inset 0 0 0 1.5px var(--ct-line-2); font: 800 12px/1 var(--ct-h) !important; color: var(--ct-ink) !important; }
body.ed-product form.cart .wcpa_form_outer :is(input[type=text], input[type=email], input[type=number], input[type=tel], input[type=date], textarea, select) { width: 100% !important; min-height: 52px; margin: 0 !important; padding: 12px 16px !important; border: 1.5px solid var(--ct-line-2) !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; font: 600 16.5px/1.4 var(--ct-b) !important; color: var(--ct-ink) !important; }
body.ed-product form.cart .wcpa_form_outer textarea { min-height: 120px; resize: vertical; }
body.ed-product form.cart .wcpa_form_outer :is(input, textarea)::placeholder { color: #767B85; opacity: 1; font-weight: 600; }
body.ed-product form.cart .wcpa_form_outer :is(input[type=text], input[type=email], input[type=number], input[type=tel], textarea, select):focus { border-color: var(--ct-ink) !important; outline: 3px solid rgba(203, 24, 23, .22) !important; outline-offset: 0 !important; }
body.ed-product form.cart .wcpa_form_outer :is(.wcpa_field_desc, .wcpa_helptext) { margin: 0 0 8px !important; font: 500 14px/1.45 var(--ct-b) !important; color: var(--ct-muted) !important; }
body.ed-product form.cart .wcpa_form_outer .wcpa_field_error:not(:empty) { margin: 6px 0 0 !important; font: 700 14px/1.4 var(--ct-b) !important; color: var(--ct-red-d) !important; }
/* a choice to add (an ink bottle, a sun-proof sign): an option card; its price is in its own words, so the per-field total goes */
body.ed-product form.cart .wcpa_form_outer :is(.wcpa_checkbox, .wcpa_radio) { margin: 0 0 8px !important; }
body.ed-product form.cart .wcpa_form_outer :is(.wcpa_checkbox, .wcpa_radio) > label { display: flex !important; align-items: center; gap: 12px; min-height: 52px; margin: 0 !important; padding: 10px 14px !important; border-radius: 14px; background: var(--ct-paper); box-shadow: inset 0 0 0 1.5px var(--ct-line-2); font: 700 15.5px/1.35 var(--ct-b) !important; color: var(--ct-ink) !important; cursor: pointer; }
body.ed-product form.cart .wcpa_form_outer :is(.wcpa_checkbox, .wcpa_radio) > label:has(input:checked) { background: var(--ct-red-soft); box-shadow: inset 0 0 0 2px var(--ct-red); }
body.ed-product form.cart .wcpa_form_outer :is(.wcpa_checkbox, .wcpa_radio) input { flex: none; width: 20px !important; height: 20px !important; margin: 0 !important; accent-color: var(--ct-red); }
body.ed-product form.cart .wcpa_form_outer .wcpa_option_price { margin-inline-start: auto; padding: 4px 9px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--ct-line-2); font: 800 13.5px/1 var(--ct-h); color: var(--ct-ink); white-space: nowrap; }
body.ed-product form.cart .wcpa_form_outer .wcpa_field_bottom .wcpa_field_price { display: none !important; }
body.ed-product form.cart .wcpa_form_outer .wcpa_fl_inline { display: block !important; }
/* the logo / file upload: a drop zone */
body.ed-product form.cart .wcpa_form_outer .wcpa_file_style { position: relative; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100% !important; min-height: 128px; margin: 0 !important; padding: 18px 16px !important; border: 2px dashed var(--ct-line-2) !important; border-radius: 18px !important; background: var(--pd-mm), var(--ct-paper) !important; text-align: center; cursor: pointer; }
body.ed-product form.cart .wcpa_form_outer .wcpa_file_style::before { content: ""; width: 44px; height: 44px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4M7 9l5-5 5 5'/%3E%3Cpath d='M4 16v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3'/%3E%3C/svg%3E") 50% 50% / 22px 22px no-repeat; box-shadow: 0 4px 12px rgba(17, 19, 24, .10), inset 0 0 0 1.5px var(--ct-line-2); }
body.ed-product form.cart .wcpa_form_outer .wcpa_file_style input[type=file] { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 0 !important; cursor: pointer; }
body.ed-product form.cart .wcpa_form_outer .wcpa_file_style:focus-within { border-color: var(--ct-ink) !important; outline: 3px solid rgba(203, 24, 23, .22); }
body.ed-product form.cart .wcpa_form_outer .awpca_custom_file { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.ed-product form.cart .wcpa_form_outer .awpca_custom_file p { margin: 0 !important; font: 700 14px/1.4 var(--ct-b); color: var(--ct-ink); }
body.ed-product form.cart .wcpa_form_outer .awpca_custom_file p:empty { display: none; }
body.ed-product form.cart .wcpa_form_outer .wcpa_file_style::after { content: "לחצו כאן או גררו קובץ לכאן"; font: 700 13.5px/1.3 var(--ct-b); color: var(--ct-muted); }
body.ed-product form.cart .wcpa_form_outer .wcpa_choose_button { display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 18px !important; border: 0 !important; border-radius: 999px !important; background: var(--ct-ink) !important; color: #fff !important; font: 800 15px/1 var(--ct-b) !important; }
body.ed-product form.cart .wcpa_form_outer .wcpa_file_list { margin: 10px 0 0 !important; padding: 0 !important; list-style: none; }
body.ed-product form.cart .wcpa_form_outer .wcpa_file_list li { display: flex; align-items: center; gap: 10px; margin: 0 0 6px !important; padding: 8px 12px; border-radius: 12px; background: var(--ct-paper-2); font: 700 14.5px/1.3 var(--ct-b); color: var(--ct-ink); }
body.ed-product form.cart .wcpa_form_outer .wcpa_file_list img { width: 44px !important; height: 44px !important; border-radius: 8px; object-fit: cover; }
/* WCPA's price lines: a receipt */
body.ed-product form.cart .wcpa_price_summary { margin: 16px 0 0 !important; padding: 12px 16px !important; border: 0 !important; border-radius: 14px; background: var(--ct-paper); box-shadow: inset 0 0 0 1px var(--ct-line); font: 600 15px/1.4 var(--ct-b) !important; color: var(--ct-body) !important; }
body.ed-product form.cart .wcpa_price_summary > div { display: flex !important; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 !important; padding: 6px 0 !important; border: 0 !important; }
body.ed-product form.cart .wcpa_price_summary > div + div { border-top: 1px dashed var(--ct-line-2) !important; }
body.ed-product form.cart .wcpa_price_summary .wcpa_price_outer { font: 700 15.5px/1.2 var(--ct-h); color: var(--ct-ink); }
body.ed-product form.cart .wcpa_price_summary .wcpa_price_outer del { margin-inline-end: 8px; font: 500 14px/1 var(--ct-b); color: var(--ct-muted) !important; opacity: 1 !important; }
body.ed-product form.cart .wcpa_price_summary .wcpa_total { padding-top: 10px !important; color: var(--ct-ink) !important; font-weight: 800 !important; }
body.ed-product form.cart .wcpa_price_summary .wcpa_total .wcpa_price_outer { font: 800 20px/1.2 var(--ct-h); }
/* WCPA's waiting lines: the shape of a label and a field, so the card hardly moves when the form arrives */
body.ed-product form.cart .wcpa_skeleton_loader { margin: 0 0 14px !important; }
body.ed-product form.cart .wcpa_skeleton_label { width: 34% !important; height: 15px !important; margin: 0 0 10px !important; border-radius: 6px !important; }
body.ed-product form.cart .wcpa_skeleton_field { height: 52px !important; border-radius: 14px !important; }

/* quantity + the cart button: one row (pure CSS: the rows around them take the full width) */
body.ed-product form.cart .woocommerce-variation-add-to-cart, body.ed-product form.cart:not(.variations_form) { display: flex !important; flex-wrap: wrap; align-items: stretch; gap: 10px; }
body.ed-product form.cart .woocommerce-variation-add-to-cart > *, body.ed-product form.cart:not(.variations_form) > * { flex: 0 0 100%; min-width: 0; }
body.ed-product form.cart .woocommerce-variation-add-to-cart > .ed-pd-step, body.ed-product form.cart:not(.variations_form) > .ed-pd-step { margin-bottom: 2px; }
body.ed-product form.cart :is(.ux-quantity, .quantity) { display: inline-flex !important; flex: none !important; align-items: center; height: 56px; margin: 0 !important; padding: 4px; border-radius: 999px; background: var(--ct-paper); box-shadow: inset 0 0 0 1.5px var(--ct-line-2); }
body.ed-product form.cart :is(.ux-quantity, .quantity) :is(.ux-quantity__button, .button.minus, .button.plus) { width: 46px !important; height: 48px !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #fff !important; box-shadow: 0 1px 3px rgba(17, 19, 24, .14) !important; font: 800 20px/1 var(--ct-h) !important; color: var(--ct-ink) !important; }
body.ed-product form.cart :is(.ux-quantity, .quantity) input.qty { width: 48px !important; height: 48px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; font: 800 18px/1 var(--ct-h) !important; color: var(--ct-ink) !important; text-align: center; -moz-appearance: textfield; }
body.ed-product form.cart .quantity input.qty::-webkit-inner-spin-button, body.ed-product form.cart .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.ed-product form.cart .single_add_to_cart_button { flex: 1 1 140px !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 56px; margin: 0 !important; padding: 0 22px !important; border: 0 !important; border-radius: 999px !important; background: var(--ct-red) !important; background-image: none !important; box-shadow: 0 10px 24px rgba(203, 24, 23, .26) !important; font: 800 18px/1 var(--ct-h) !important; letter-spacing: 0 !important; text-transform: none !important; color: #fff !important; }
body.ed-product form.cart .single_add_to_cart_button::before { content: ""; flex: none; width: 20px; height: 20px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 3.5h5v4.2l1.6 2.6H7.9l1.6-2.6z'/%3E%3Cpath d='M5 12.8h14v3.4H5z'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E") 50% 50% / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 3.5h5v4.2l1.6 2.6H7.9l1.6-2.6z'/%3E%3Cpath d='M5 12.8h14v3.4H5z'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E") 50% 50% / contain no-repeat; }
body.ed-product form.cart .single_add_to_cart_button:focus-visible { outline: 3px solid var(--ct-ink); outline-offset: 3px; }
body.ed-product form.cart .single_add_to_cart_button:is(.disabled, :disabled) { background: #D9A3A2 !important; box-shadow: none !important; opacity: 1 !important; cursor: not-allowed; }
body.ed-product form.cart .single_add_to_cart_button.loading { opacity: .8 !important; }
/* signs: the site's warning about colours and frames, as a notice card (the words stay exactly) */
body.ed-product .signs-color-warning { margin: 6px 0 0 !important; padding: 14px 16px 14px 18px !important; border-radius: 14px; background: var(--ct-red-soft); box-shadow: inset -4px 0 0 var(--ct-red); font: 600 14.5px/1.6 var(--ct-b) !important; color: var(--ct-ink) !important; }

/* the live preview (stamps and signs with text): a proof on millimetre paper, clearly an illustration */
body.ed-product .ed-pv { margin: 0 0 16px; padding: 12px; border-radius: 18px; background: var(--ct-paper); box-shadow: inset 0 0 0 1px var(--ct-line); }
body.ed-product .ed-pv__bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 10px; }
body.ed-product .ed-pv__t { font: 800 15px/1.3 var(--ct-h); color: var(--ct-ink); }
body.ed-product .ed-pv__tag { flex: none; padding: 5px 10px 4px; border-radius: 6px; box-shadow: inset 0 0 0 2px var(--ct-red), inset 0 0 0 3.5px #fff, inset 0 0 0 4.5px var(--ct-red); font: 800 13px/1 var(--ct-h); letter-spacing: .04em; color: var(--ct-red-d); transform: rotate(-4deg); -webkit-mask: var(--ed-ink) 0 0 / 70px 70px; mask: var(--ed-ink) 0 0 / 70px 70px; }
body.ed-product .ed-pv__paper { position: relative; overflow: hidden; aspect-ratio: 2 / 1; border-radius: 12px; background: var(--pd-mm), #fff; box-shadow: inset 0 0 0 1px var(--ct-line); }
body.ed-product .ed-pv__paper svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
body.ed-product .ed-pv__note { margin: 10px 2px 0 !important; font: 500 13.5px/1.5 var(--ct-b); color: var(--ct-muted); }
/* a ready-made sign's size illustration: right under the size it follows */
body.ed-product .ed-pv--size { margin: 14px 0 4px; }
/* a stamp's preview never stands between the customer and the fields (the user: it pushed the form down). ed-product.js
   places it: beside the form on wide screens (the column under the photos, in view while typing), under the cart button
   on narrow ones. Until then it takes no room. */
body.ed-product .ed-pv:not(.ed-pv--size):not(.ed-pv--placed) { display: none !important; }
body.ed-product .woocommerce-variation-add-to-cart > .ed-pv, body.ed-product form.cart > .ed-pv { flex: 1 1 100%; margin: 16px 0 0; }
@media (min-width: 850px) {
  body.ed-product .row.content-row > .product-gallery { align-self: stretch; }
  body.ed-product .product-gallery > .ed-pv--side { position: sticky; top: 92px; z-index: 2; margin: 22px 0 0; box-shadow: inset 0 0 0 1px var(--ct-line), var(--ct-sh); }
  /* a little flatter beside the form, so the whole drawing is in view at the first field (stamps run 2:1 to 2.7:1) */
  body.ed-product .product-gallery > .ed-pv--side .ed-pv__paper { aspect-ratio: 5 / 2; }
}

/* the links down the page */
body.ed-product .ed-pd-jump { margin: 0 0 18px; }
body.ed-product .ed-pd-jump ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
body.ed-product .ed-pd-jump li { margin: 0 !important; }
body.ed-product .ed-pd-jump a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--ct-line-2); font: 800 14.5px/1 var(--ct-b); color: var(--ct-ink) !important; text-decoration: none !important; }
body.ed-product .ed-pd-jump a::after { content: "↓"; font: 800 14px/1 var(--ct-h); color: var(--ct-red); }
body.ed-product .ed-pd-jump a b { font-weight: 700; color: var(--ct-muted); }
body.ed-product .ed-pd-jump a:focus-visible { outline: 3px solid var(--ct-red); outline-offset: 2px; }
body.ed-product :is(#reviews, #ed-pd-desc) { scroll-margin-top: 170px; }
body.ed-product .ed-pd-anchor { display: block; height: 0; }

/* the short description: a card with a checklist */
body.ed-product .product-info .product-short-description { margin: 0 0 16px !important; padding: clamp(16px, 1.8vw, 24px) !important; border-radius: 24px; background: #fff; box-shadow: inset 0 0 0 1px var(--ct-line); font: 500 16.5px/1.7 var(--ct-b) !important; color: var(--ct-body) !important; }
body.ed-product .product-info .product-short-description :is(h2, h3, h4) { display: flex; align-items: center; gap: 10px; margin: 0 0 12px !important; font: 800 19px/1.3 var(--ct-h) !important; color: var(--ct-ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.ed-product .product-info .product-short-description :is(h2, h3, h4) strong { font-weight: 800 !important; }
body.ed-product .product-info .product-short-description :is(h2, h3, h4)::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--ct-red); box-shadow: var(--pd-dot); }
body.ed-product .product-info .product-short-description * + :is(h2, h3, h4) { margin-top: 18px !important; padding-top: 16px; border-top: 1px dashed var(--ct-line-2); }
body.ed-product .product-info .product-short-description ul:not(.ed-pd-why) { margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.ed-product .product-info .product-short-description ul:not(.ed-pd-why) li { position: relative; margin: 0 0 8px !important; padding: 0 30px 0 0 !important; list-style: none !important; }
body.ed-product .product-info .product-short-description ul:not(.ed-pd-why) li::before { content: ""; position: absolute; right: 0; top: .22em; width: 20px; height: 20px; border-radius: 50%; background: var(--ct-red-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CB1817' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") 50% 50% / 12px 12px no-repeat; }
body.ed-product .product-info .product-short-description p { margin: 0 0 10px !important; }
body.ed-product .product-info .product-short-description p:last-child { margin-bottom: 0 !important; }
/* "why us": four badges (PHP puts them where the shared picture was) */
body.ed-product .ed-pd-why { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.ed-product .ed-pd-why li { display: flex !important; align-items: center; gap: 12px; min-height: 72px; margin: 0 !important; padding: 12px 14px !important; border-radius: 16px; background: var(--pd-mm), var(--ct-paper); box-shadow: inset 0 0 0 1px var(--ct-line); font: 800 15px/1.3 var(--ct-b); color: var(--ct-ink); }
body.ed-product .ed-pd-why__ico { flex: none; position: relative; width: 44px; height: 44px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px var(--ct-red), inset 0 0 0 4px #fff, inset 0 0 0 5px var(--ct-red); }
body.ed-product .ed-pd-why__ico::before { content: ""; position: absolute; inset: 11px; background: var(--ct-red); -webkit-mask: var(--ico) 50% 50% / contain no-repeat; mask: var(--ico) 50% 50% / contain no-repeat; }
body.ed-product .ed-pd-why__ico--ship { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3z'/%3E%3Cpath d='M14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
body.ed-product .ed-pd-why__ico--order { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3Cpath d='M9 10.5l2 2 4-4'/%3E%3C/svg%3E"); }
body.ed-product .ed-pd-why__ico--check { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M9 9.2l2 2 4-4'/%3E%3Cpath d='M8.5 14.5L7 21l5-2.5 5 2.5-1.5-6.5'/%3E%3C/svg%3E"); }
body.ed-product .ed-pd-why__ico--lock { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3Ccircle cx='12' cy='16' r='1.4'/%3E%3C/svg%3E"); }

/* the categories it belongs to */
body.ed-product .product-info .product_meta { display: block; margin: 0 !important; padding: 14px 4px 0 !important; border-top: 1px dashed var(--ct-line-2) !important; font: 600 14.5px/1.9 var(--ct-b) !important; color: var(--ct-muted) !important; }
body.ed-product .product-info .product_meta > span { display: block; border: 0 !important; padding: 0 !important; }
body.ed-product .product-info .product_meta a { color: var(--ct-ink) !important; font-weight: 700; text-decoration: underline !important; text-decoration-color: rgba(203, 24, 23, .45) !important; text-underline-offset: 3px; }
body.ed-product .product-info .product_meta .sku_wrapper.ed-pd-nosku { display: none !important; }

/* =====================================================================
   4. DOWN THE PAGE: reviews, the description (Flatsome's sections) as cards
   ===================================================================== */
body.ed-product .product-footer { padding-top: clamp(10px, 2vw, 24px) !important; }
body.ed-product .product-footer > .container { max-width: 1230px !important; }
body.ed-product .product-page-sections { max-width: 980px; margin: 0 auto !important; }
body.ed-product .product-page-sections > .product-section + .product-section, body.ed-product .product-page-sections .product-section { margin: 0 0 clamp(26px, 3.4vw, 44px) !important; padding: clamp(18px, 2.4vw, 32px) !important; border: 0 !important; border-radius: 28px; background: #fff; box-shadow: inset 0 0 0 1px var(--ct-line), var(--ct-sh); }
body.ed-product .product-page-sections .product-section > .row { display: block !important; margin: 0 !important; }
body.ed-product .product-page-sections .product-section > .row > .col { flex: none !important; width: 100% !important; max-width: none !important; padding: 0 !important; }
body.ed-product .product-page-sections .product-section h5 { display: flex; align-items: center; gap: 12px; margin: 0 0 16px !important; padding: 0 !important; font: 800 clamp(22px, 2.2vw, 28px)/1.2 var(--ct-h) !important; letter-spacing: -.01em !important; text-transform: none !important; color: var(--ct-ink) !important; }
body.ed-product .product-page-sections .product-section h5::before { content: ""; flex: none; width: 11px; height: 11px; border-radius: 50%; background: var(--ct-red); box-shadow: var(--pd-dot); }
body.ed-product .product-page-sections .panel.entry-content { padding: 0 !important; font: 500 17.5px/1.8 var(--ct-b) !important; color: var(--ct-body) !important; }
body.ed-product .product-page-sections .panel.entry-content :is(h1, h2, h3, h4) { margin: 1.3em 0 .45em !important; font: 800 clamp(20px, 1.9vw, 25px)/1.3 var(--ct-h) !important; color: var(--ct-ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.ed-product .product-page-sections .panel.entry-content > :first-child { margin-top: 0 !important; }
body.ed-product .product-page-sections .panel.entry-content p { margin: 0 0 1em !important; }
body.ed-product .product-page-sections .panel.entry-content a:not(.button):not(.ed-pd-btn) { color: var(--ct-ink) !important; font-weight: 700; text-decoration: underline !important; text-decoration-color: var(--ct-red) !important; text-underline-offset: 3px; }
body.ed-product .product-page-sections .panel.entry-content img { border-radius: 16px; }
body.ed-product .product-page-sections .panel.entry-content ul:not(.commentlist) { margin: 0 0 1em !important; padding-inline-start: 1.2em !important; }
/* the description on phones: folded, one tap opens it all (the text is all there for Google) */
body.ed-product .ed-pd-fold { position: relative; overflow: hidden; max-height: 560px; }
body.ed-product .ed-pd-fold::after { content: ""; position: absolute; right: 0; left: 0; bottom: 0; height: 120px; background: linear-gradient(rgba(255, 255, 255, 0), #fff 85%); pointer-events: none; }
body.ed-product .ed-pd-fold-row { display: flex; justify-content: center; margin: 14px 0 0; }

/* reviews: a summary, cards, the rest behind a button; the form opens on request */
body.ed-product #reviews .woocommerce-Reviews-title { margin: 0 0 14px !important; font: 800 17px/1.4 var(--ct-b) !important; color: var(--ct-muted) !important; }
body.ed-product #reviews .woocommerce-Reviews-title span { color: var(--ct-ink); }
body.ed-product .ed-pd-score { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 18px; padding: 16px 20px; border-radius: 20px; background: var(--pd-mm), var(--ct-paper); box-shadow: inset 0 0 0 1px var(--ct-line); }
body.ed-product .ed-pd-score__num { font: 900 46px/1 var(--ct-h); color: var(--ct-ink); }
body.ed-product .ed-pd-score__stars { font-size: 22px; letter-spacing: 2px; line-height: 1; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--ct-red); }
body.ed-product .ed-pd-score__txt { font: 700 15px/1.4 var(--ct-b); color: var(--ct-muted); }
body.ed-product #reviews .commentlist { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.ed-product #reviews .commentlist li.review { margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none !important; }
body.ed-product #reviews .commentlist li.review :is(.comment_container, .review-item, .comment-text) { border: 0 !important; }
body.ed-product #reviews .commentlist li.review.ed-pd-more { display: none !important; }
body.ed-product #reviews .comment_container { height: 100%; margin: 0 !important; padding: 16px 18px !important; border-radius: 18px; background: var(--ct-paper); box-shadow: inset 0 0 0 1px var(--ct-line); }
body.ed-product #reviews .comment_container > .flex-col:empty, body.ed-product #reviews .comment_container > .flex-col:first-child:not(:has(*)) { display: none !important; }
body.ed-product #reviews .comment-text { padding: 0 !important; }
body.ed-product #reviews .comment-text .star-rating { float: none !important; margin: 0 0 8px !important; font-size: 14px !important; }
body.ed-product #reviews .comment-text .star-rating::before { color: var(--ct-line-2) !important; }
body.ed-product #reviews .comment-text .star-rating span::before { color: var(--ct-red) !important; }
body.ed-product #reviews .comment-text .meta { margin: 0 0 6px !important; font: 600 14px/1.5 var(--ct-b) !important; color: var(--ct-muted) !important; }
body.ed-product #reviews .comment-text .meta strong { font: 800 16px/1.3 var(--ct-h); color: var(--ct-ink); }
body.ed-product #reviews .comment-text .meta em.verified { font-style: normal !important; font-weight: 700; color: var(--ct-body); }
body.ed-product #reviews .comment-text .description { font: 500 16px/1.7 var(--ct-b) !important; color: var(--ct-body) !important; }
body.ed-product #reviews .comment-text .description p { margin: 0 !important; font-style: normal !important; }
body.ed-product #reviews .comment-text .description:empty { display: none; }
body.ed-product #reviews .cr-comment-images { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 10px 0 0 !important; }
body.ed-product #reviews .cr-comment-images .iv-comment-image { width: 72px !important; height: 72px !important; margin: 0 !important; overflow: hidden; border-radius: 12px !important; }
body.ed-product #reviews .cr-comment-images img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 12px !important; }
body.ed-product #reviews .woocommerce-noreviews { margin: 0 0 10px !important; font: 600 16px/1.5 var(--ct-b); color: var(--ct-body); }
body.ed-product .ed-pd-rev-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 0; }
body.ed-product #review_form_wrapper { margin: 18px 0 0 !important; padding: 0 !important; }
body.ed-product #review_form_wrapper.ed-pd-closed { display: none !important; }
body.ed-product #review_form_wrapper .review-form-inner { padding: clamp(16px, 2vw, 24px) !important; border: 0 !important; border-radius: 20px; background: var(--ct-paper); box-shadow: inset 0 0 0 1px var(--ct-line); }
body.ed-product #review_form_wrapper .comment-reply-title { font: 800 19px/1.3 var(--ct-h) !important; color: var(--ct-ink) !important; }
body.ed-product #review_form_wrapper textarea { min-height: 120px; }
body.ed-product #review_form_wrapper :is(input[type=text], input[type=email], textarea) { min-height: 50px; border: 1.5px solid var(--ct-line-2) !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; font: 600 16.5px/1.4 var(--ct-b) !important; }
body.ed-product #review_form_wrapper :is(input[type=text], input[type=email], textarea):focus { border-color: var(--ct-ink) !important; outline: 3px solid rgba(203, 24, 23, .22); }
body.ed-product #review_form_wrapper .form-submit input[type=submit], body.ed-product #review_form_wrapper .submit { min-height: 50px; padding: 0 26px !important; border: 0 !important; border-radius: 999px !important; background: var(--ct-ink) !important; color: #fff !important; font: 800 16px/1 var(--ct-h) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.ed-product #review_form_wrapper .stars a { color: var(--ct-red) !important; }

/* the shared button ("show all", "write a review", WhatsApp) */
body.ed-product .ed-pd-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 48px; margin: 0 !important; padding: 0 22px !important; border: 0 !important; border-radius: 999px !important; background: #fff !important; box-shadow: inset 0 0 0 1.5px var(--ct-ink) !important; font: 800 16px/1 var(--ct-h) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ct-ink) !important; text-decoration: none !important; cursor: pointer; }
body.ed-product .ed-pd-btn--dark { background: var(--ct-ink) !important; color: #fff !important; }
body.ed-product .ed-pd-btn--wa { background: #107C41 !important; box-shadow: none !important; color: #fff !important; }
body.ed-product .ed-pd-btn--wa::before { content: ""; flex: none; width: 20px; height: 20px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.6a8.5 8.5 0 0 1-12.6 7.4L3.5 20.5l1.6-4.2A8.5 8.5 0 1 1 20.5 11.6z'/%3E%3C/svg%3E") 50% 50% / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.6a8.5 8.5 0 0 1-12.6 7.4L3.5 20.5l1.6-4.2A8.5 8.5 0 1 1 20.5 11.6z'/%3E%3C/svg%3E") 50% 50% / contain no-repeat; }
body.ed-product .ed-pd-btn:focus-visible { outline: 3px solid var(--ct-red); outline-offset: 3px; }
body.ed-product .ed-pd-btn svg { width: 18px; height: 18px; flex: none; }

/* =====================================================================
   5. THE ORDER BAR (phones and tablets): appears once the cart button has scrolled away
   ===================================================================== */
body.ed-product .ed-pd-bar { position: fixed; right: 0; left: 0; bottom: 0; z-index: 985; display: flex; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .97); box-shadow: 0 -1px 0 var(--ct-line), 0 -10px 30px rgba(17, 19, 24, .10); transform: translateY(110%); visibility: hidden; transition: transform .22s ease, visibility 0s linear .22s; }
body.ed-product .ed-pd-bar.is-on { transform: none; visibility: visible; transition: transform .22s ease; }
body.ed-product .ed-pd-bar__img { flex: none; width: 44px; height: 44px; border-radius: 10px; object-fit: cover; background: var(--ct-paper-2); }
body.ed-product .ed-pd-bar__txt { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
body.ed-product .ed-pd-bar__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 800 14px/1.25 var(--ct-b); color: var(--ct-ink); }
body.ed-product .ed-pd-bar__price { font: 800 17px/1.2 var(--ct-h); color: var(--ct-ink); }
body.ed-product .ed-pd-bar__btn { flex: none; display: inline-flex !important; align-items: center; gap: 8px; min-height: 48px; margin: 0 !important; padding: 0 18px !important; border: 0 !important; border-radius: 999px !important; background: var(--ct-red) !important; box-shadow: 0 8px 18px rgba(203, 24, 23, .24) !important; font: 800 15.5px/1 var(--ct-h) !important; color: #fff !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
body.ed-product .ed-pd-bar__btn:focus-visible { outline: 3px solid var(--ct-ink); outline-offset: 2px; }
@media (min-width: 1025px) { body.ed-product .ed-pd-bar { display: none !important; } }
/* the floating buttons step up over the bar while it shows (Joinchat moves by its own "bottom" – its transform is its own) */
body.ed-product.ed-pd-bar-on #ed-call, body.ed-product.ed-pd-bar-on .il-a11y-toolbar { transform: translateY(calc(-68px - env(safe-area-inset-bottom, 0px))); transition: transform .22s ease; }
body.ed-product.ed-pd-bar-on .joinchat { bottom: calc(var(--bottom, 6px) + 68px + env(safe-area-inset-bottom, 0px)) !important; }

/* =====================================================================
   6. SIZES, POINTERS, MOTION
   ===================================================================== */
@media (hover: hover) and (pointer: fine) {
  body.ed-product .product-page-title .woocommerce-breadcrumb a:hover { text-decoration-color: var(--ct-red) !important; }
  body.ed-product .product-info .woocommerce-review-link:hover { box-shadow: inset 0 0 0 1.5px var(--ct-ink); }
  body.ed-product form.cart .single_add_to_cart_button:not(.disabled):not(:disabled):hover { background: var(--ct-red-d) !important; }
  body.ed-product form.cart .variable-items-wrapper .variable-item:not(.selected):hover { box-shadow: 0 0 0 1.5px var(--ct-ink) !important; }
  body.ed-product form.cart .wcpa_form_outer .wcpa_file_style:hover { border-color: var(--ct-ink) !important; }
  body.ed-product form.cart .wcpa_form_outer :is(.wcpa_checkbox, .wcpa_radio) > label:hover { box-shadow: inset 0 0 0 1.5px var(--ct-ink); }
  body.ed-product .stamped-size-guide-btn:hover { box-shadow: inset 0 0 0 1.5px var(--ct-ink) !important; }
  body.ed-product .ed-pd-jump a:hover, body.ed-product .ed-pd-btn:not(.ed-pd-btn--wa):not(.ed-pd-btn--dark):hover { box-shadow: inset 0 0 0 2px var(--ct-ink) !important; }
  body.ed-product .ed-pd-btn--dark:hover { background: var(--ct-graphite) !important; }
  body.ed-product .ed-pd-btn--wa:hover { background: #0B6A37 !important; }
  body.ed-product .product-gallery .product-thumbnails a:hover { box-shadow: inset 0 0 0 1.5px var(--ct-ink); }
  body.ed-product .product-info .product_meta a:hover { text-decoration-color: var(--ct-red) !important; }
}
/* a finger never leaves a hover look behind */
@media (hover: none), (pointer: coarse) {
  body.ed-product .stamped-size-guide-btn:hover { background: var(--pd-mm), var(--ct-paper) !important; box-shadow: inset 0 0 0 1.5px var(--ct-line-2) !important; }
}
@media (max-width: 849px) {
  body.ed-product .product-main { padding-top: 12px !important; }
  /* the photo across the phone (the theme kept it narrower, to one side – on the sheet that looked lopsided) */
  body.ed-product .product-gallery .product-images { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; border-radius: 22px; }
  body.ed-product .product-info { padding-top: 6px !important; }
  body.ed-product #reviews .commentlist { grid-template-columns: minmax(0, 1fr); }
  body.ed-product .product-info form.cart { scroll-margin-top: 84px; }
  body.ed-product :is(#reviews, #ed-pd-desc) { scroll-margin-top: 150px; }
}
/* the page keeps room at the bottom for the order bar */
@media (max-width: 1024px) {
  body.ed-product.ed-pd-has-bar { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (max-width: 549px) {
  body.ed-product .product-info form.cart, body.ed-product .product-info .product-short-description { border-radius: 20px; }
  body.ed-product .ed-pd-why { grid-template-columns: minmax(0, 1fr); }
  body.ed-product form.cart .single_add_to_cart_button { font-size: 17px !important; }
  body.ed-product .product-page-sections .panel.entry-content { font-size: 17px !important; }
  body.ed-product .ed-pd-score__num { font-size: 40px; }
  body.ed-product .ed-pv__paper { aspect-ratio: 16 / 10; }
}
@media (prefers-reduced-motion: reduce) {
  body.ed-product .ed-pd-bar, body.ed-product .ed-pd-bar.is-on, body.ed-product.ed-pd-bar-on :is(#ed-call, .il-a11y-toolbar) { transition: none !important; }
}
html.il-a11y-stop-motion body.ed-product .ed-pd-bar, html.il-a11y-stop-motion body.ed-product.ed-pd-bar-on :is(#ed-call, .il-a11y-toolbar) { transition: none !important; }
