/* 70 — Design v2 layer (approved canvas 2026-09-17). Loads last: overrides v1 component rules in 20/40/50/60.
   Sections: base · header/footer · primitives · card · category · filters · product · home · cart/checkout · content */

/* ================= Base ================= */
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
h1, h2, h3, h4 { letter-spacing: 0; text-wrap: balance; }
.sensa-eyebrow { margin: 0 0 8px; font-family: var(--ff-body); font-size: var(--fs-eyebrow); font-weight: 600; color: var(--c-primary); letter-spacing: .2px; }
.sensa-icon { flex-shrink: 0; vertical-align: middle; }
.sensa-icon-circle {
	flex-shrink: 0; inline-size: 48px; block-size: 48px; border-radius: 50%;
	background: var(--c-primary-50); color: var(--c-primary);
	display: inline-flex; align-items: center; justify-content: center;
}
.sensa-link-arrow { display: inline-flex; align-items: center; gap: 8px; min-block-size: 44px; font-size: var(--fs-ui); font-weight: 600; color: var(--c-primary); text-decoration: none !important; }
.sensa-link-arrow:hover { color: var(--c-ink); }
.sensa-link-arrow .sensa-icon { transition: transform var(--motion-fast); }
.sensa-link-arrow:hover .sensa-icon { transform: translateX(-3px); }

.sensa-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-block-end: 36px; }
.sensa-section-head__text { display: flex; flex-direction: column; }
.sensa-section-head__title { margin: 0; font-size: var(--fs-h2); font-weight: 700; line-height: 1.2; }
.sensa-section-head__sub { margin: 8px 0 0; font-size: var(--fs-lead); color: var(--c-ink-muted); line-height: 1.5; }
@media (max-width: 767px) { .sensa-section-head { margin-block-end: 20px; } .sensa-section-head .sensa-link-arrow { display: none; } }

/* Buttons */
.sensa-button { min-block-size: 48px; border-radius: var(--radius-sm); gap: 10px; font-size: var(--fs-body); transition: background var(--motion-fast), box-shadow var(--motion-fast), color var(--motion-fast); }
.sensa-button:hover { box-shadow: var(--shadow-card); }
.sensa-button--secondary { background: transparent; color: var(--c-primary) !important; border: 1.5px solid var(--c-primary); }
.sensa-button--secondary:hover { background: var(--c-primary-50); }
.sensa-button--on-dark { background: transparent; color: #fff !important; border: 1.5px solid #fff; align-self: flex-start; }
.sensa-button--on-dark:hover { background: rgba(255,255,255,.1); }
.elementor-button { border-radius: var(--radius-sm); }

/* Section entry motion */
@media (prefers-reduced-motion: no-preference) {
	.sensa-reveal { opacity: 0; transform: translateY(12px); transition: opacity var(--motion-enter), transform var(--motion-enter); }
	.sensa-reveal.is-in { opacity: 1; transform: none; }
}

/* ================= Header / footer ================= */
.sensa-usp { min-block-size: 36px; }
.sensa-usp__inner { margin: 0; display: flex; align-items: center; justify-content: center; gap: 10px; color: #fff !important; font-size: var(--fs-xs); font-weight: 500; text-decoration: none !important; }
.sensa-usp__sep { opacity: .5; }
@media (max-width: 767px) { .sensa-usp__desktop { display: none; } .sensa-usp { min-block-size: 32px; } }

.sensa-header-main { transition: min-height var(--motion-fast), box-shadow var(--motion-fast); }
.sensa-header-main .elementor-nav-menu--main .elementor-item { font-size: var(--fs-ui); font-weight: 500; padding-inline: 14px; }
.sensa-header-main .elementor-nav-menu--main .elementor-item.elementor-item-active,
.sensa-header-main .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { color: var(--c-primary); font-weight: 700; }
.sensa-header-main .elementor-nav-menu--dropdown { border-radius: var(--radius-md); box-shadow: var(--shadow-card-hover); overflow: hidden; border: 1px solid var(--c-border); }
.sensa-header-main .elementor-nav-menu--dropdown .elementor-sub-item { font-size: var(--fs-ui); padding: 12px 18px; }
.elementor-sticky--effects.sensa-header-main { box-shadow: var(--shadow-card); }
.sensa-header-icons .sensa-icon-btn,
.sensa-header-main .elementor-search-form__toggle .e-font-icon-svg-container,
.sensa-header-main .elementor-search-form__toggle i { inline-size: 44px; block-size: 44px; }
.sensa-logo img { display: block; }

.sensa-footer { background: var(--c-cream-deep) !important; }
.sensa-footer .elementor-heading-title { font-size: var(--fs-ui) !important; font-weight: 700 !important; }
.sensa-footer .elementor-nav-menu--layout-vertical .elementor-item { color: var(--c-ink-muted) !important; font-size: var(--fs-sm) !important; padding-block: 5px !important; }
.sensa-footer .elementor-nav-menu--layout-vertical .elementor-item:hover { color: var(--c-primary) !important; }

/* ================= Product card ================= */
.sensa-card {
	border-radius: var(--radius-md) !important;
	box-shadow: var(--shadow-card) !important;
	overflow: hidden;
	transition: box-shadow var(--motion-fast), transform var(--motion-fast);
	padding-block-end: 20px !important;
}
.sensa-card:hover { box-shadow: var(--shadow-card-hover) !important; transform: translateY(-2px); }
.sensa-card .elementor-widget-image { background: var(--c-cream-deep); }
.sensa-card .elementor-widget-image img { border-radius: 0; background: var(--c-cream-deep); aspect-ratio: 1 / 1; }
.sensa-card .discount-badge { inset-block-start: 14px; inset-inline-start: 14px; block-size: 26px; padding: 0 10px; display: inline-flex; align-items: center; font-size: 12px; font-weight: 700; }
.sensa-card .sensa-mini-desc { font-size: var(--fs-xs); font-weight: 600; color: var(--c-primary); order: -1; }
.sensa-card .elementor-heading-title { font-size: 17px !important; font-weight: 600 !important; line-height: 1.35 !important; }
.sensa-card .price { font-family: var(--ff-body); font-size: 18px; font-weight: 700; display: flex; align-items: baseline; gap: 8px; flex-direction: row-reverse; justify-content: flex-end; }
.sensa-card .price del { font-size: 14px; font-weight: 400; color: var(--c-ink-muted); opacity: 1; }
.sensa-card .price ins { text-decoration: none; }
.sensa-card .sensa-loop-atc { opacity: 1 !important; margin-top: 12px; }
.sensa-loop-atc .button,
.woocommerce .sensa-loop-atc a.button {
	display: flex !important; align-items: center; justify-content: center;
	min-block-size: 44px; padding: 0 12px !important;
	background: transparent !important; color: var(--c-primary) !important;
	border: 1.5px solid var(--c-primary) !important; border-radius: var(--radius-sm) !important;
	font-size: var(--fs-ui) !important; font-weight: 600 !important;
}
.sensa-card:hover .sensa-loop-atc .button,
.sensa-loop-atc .button:focus-visible { background: var(--c-accent) !important; border-color: var(--c-accent) !important; color: #fff !important; }
@media (max-width: 767px) {
	.sensa-loop-atc .button, .woocommerce .sensa-loop-atc a.button { background: var(--c-accent) !important; border-color: var(--c-accent) !important; color: #fff !important; font-size: var(--fs-sm) !important; }
	.sensa-card .elementor-heading-title { font-size: 14px !important; }
	.sensa-card .price { font-size: 15px; }
}
.sensa-loop-atc .added_to_cart { font-weight: 600; color: var(--c-primary); }

/* ================= Category ================= */
.sensa-cat-header { background: var(--c-primary-50); }
.sensa-chip { min-block-size: 40px; border: 0; background: #fff; font-weight: 500; gap: 8px; }
.sensa-chip:hover { background: var(--c-primary-100); color: var(--c-ink); }
.sensa-chip.is-active { background: var(--c-primary); color: #fff; font-weight: 600; }
.sensa-chip__count { font-size: 12px; opacity: .75; }
.sensa-chip__count::before, .sensa-chip__count::after { content: none; }
.sensa-free-shipping-note { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--c-primary); }

.sensa-cat-guide__grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .sensa-cat-guide__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .sensa-cat-guide__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.sensa-guide-card-mini { background: var(--c-bg-page); border-radius: var(--radius-md); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.sensa-guide-card-mini .sensa-icon-circle { inline-size: 44px; block-size: 44px; }
.sensa-guide-card-mini h3 { margin: 0; font-size: 17px; font-weight: 700; }
.sensa-guide-card-mini p { margin: 0; font-size: var(--fs-sm); line-height: 1.6; color: var(--c-ink-muted); }
.sensa-cat-guide { max-width: none; }

.sensa-faq-layout { display: grid; gap: 32px; }
@media (min-width: 1025px) { .sensa-faq-layout { grid-template-columns: 400px minmax(0, 1fr); gap: 80px; align-items: start; } }

/* FAQ v2 */
.sensa-faq { max-width: none; }
.sensa-faq h2 { font-size: var(--fs-h2); }
.sensa-faq__item { border-block-end: 1px solid var(--c-border); }
.sensa-faq__item:first-of-type { border-block-start: 1px solid var(--c-border); }
.sensa-faq__item summary { min-block-size: 64px; align-items: center; padding-block: 12px; font-family: var(--ff-body); font-size: var(--fs-body); font-weight: 600; }
.sensa-faq__item summary::after {
	content: ""; flex-shrink: 0; inline-size: 32px; block-size: 32px; border-radius: 50%;
	border: 1px solid var(--c-border);
	background: no-repeat center / 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B4A5A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.sensa-faq__item[open] summary::after {
	border-color: var(--c-primary);
	background: var(--c-primary) no-repeat center / 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}
.sensa-faq__answer { color: var(--c-ink-muted); line-height: 1.7; padding-inline-end: 48px; }

/* Discretion (cart/checkout/category) — checks as SVG */
.sensa-discretion { background: var(--c-primary-50); border-radius: var(--radius-md); padding: 20px; }
.sensa-discretion__list li::before {
	content: ""; inline-size: 16px; block-size: 16px; inset-block-start: .3em;
	background: no-repeat center / 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D5B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* ================= Filters ================= */
@media (min-width: 1025px) {
	.sensa-filters { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius-md); padding: 8px 20px 20px !important; flex: 0 0 272px !important; inline-size: 272px !important; max-inline-size: 272px; }
}
.sensa-filters .jet-filter { margin: 0; padding-block: 16px; border-block-end: 1px solid var(--c-bg-subtle); }
.sensa-filters .jet-filter:last-of-type { border: 0; }
.sensa-filters .jet-filter-label { font-size: var(--fs-ui); font-weight: 600; margin-block-end: 10px; }
.sensa-filters .jet-checkboxes-list__row { margin: 0; }
.sensa-filters .jet-checkboxes-list__item { display: flex; align-items: center; gap: 10px; min-block-size: 36px; cursor: pointer; }
.sensa-filters .jet-checkboxes-list__decorator {
	inline-size: 18px !important; block-size: 18px !important; border-radius: 4px !important;
	border: 1.5px solid var(--c-border-strong) !important; background: #fff !important; margin: 0 !important;
	display: flex; align-items: center; justify-content: center;
}
.sensa-filters .jet-checkboxes-list__input:checked + .jet-checkboxes-list__item .jet-checkboxes-list__decorator { background: var(--c-primary) !important; border-color: var(--c-primary) !important; }
.sensa-filters .jet-checkboxes-list__checked-icon { fill: #fff; inline-size: 12px; block-size: 12px; }
.sensa-filters .jet-checkboxes-list__label { font-size: var(--fs-ui); color: var(--c-ink); }
.sensa-filters .jet-filters-counter { margin-inline-start: auto !important; font-size: var(--fs-xs); color: var(--c-ink-muted); }
.sensa-filters .jet-filters-counter .counter-prefix, .sensa-filters .jet-filters-counter .counter-suffix { display: none; }
.sensa-filters .jet-range__slider__track { block-size: 3px !important; background: var(--c-border) !important; }
.sensa-filters .jet-range__slider__track__range { background: var(--c-primary) !important; }
.sensa-filters .jet-range__slider__input::-webkit-slider-thumb { inline-size: 16px; block-size: 16px; border: 2px solid var(--c-primary); background: #fff; }
.sensa-filters .jet-range__values { font-size: var(--fs-sm); color: var(--c-ink-muted); margin-top: 10px; }

.sensa-toolbar { min-block-size: 44px; }
.sensa-toolbar .jet-sorting-select { border-radius: var(--radius-sm); border-color: var(--c-border-strong); font-family: var(--ff-body); font-size: var(--fs-ui); min-inline-size: 190px; }
@media (max-width: 1024px) {
	.sensa-toolbar { position: sticky; inset-block-start: 0; z-index: 20; background: var(--c-bg-page); padding-block: 10px; box-shadow: 0 6px 12px rgba(42,36,34,.05); }
	.sensa-toolbar > .elementor-element { flex: 1 1 0; }
	.sensa-filters-toggle { inline-size: 100%; justify-content: center; border: 1.5px solid var(--c-primary); color: var(--c-primary); border-radius: var(--radius-sm); }
	.sensa-toolbar .jet-sorting-select { inline-size: 100%; min-inline-size: 0; }
	.sensa-filters__apply { background: var(--c-accent); }
}

/* ================= Product page ================= */
.sensa-buy-panel .product_title { font-size: var(--fs-h1) !important; }
.sensa-buy-panel .price { font-family: var(--ff-body) !important; font-size: 32px !important; font-weight: 700 !important; color: var(--c-ink) !important; display: flex; align-items: baseline; gap: 12px; flex-direction: row-reverse; justify-content: flex-end; }
.sensa-buy-panel .price del { font-size: 18px; font-weight: 400; color: var(--c-ink-muted); text-decoration-thickness: 1px; }
.sensa-buy-panel .price ins { text-decoration: none; }
.sensa-buy-panel .sensa-bullets { padding-block: 20px; border-block: 1px solid var(--c-border); gap: 12px; }
.sensa-bullets li { padding-inline-start: 36px; font-size: var(--fs-body); line-height: 1.5; }
.sensa-bullets li::before {
	content: ""; inline-size: 24px; block-size: 24px; border-radius: 50%; inset-block-start: 0;
	background: var(--c-primary-50) no-repeat center / 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B4A5A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.sensa-buy-panel form.cart { display: flex; gap: 12px; align-items: stretch; margin: 0 !important; }
.sensa-buy-panel form.cart .quantity .qty { block-size: 56px; inline-size: 72px; border: 1px solid var(--c-border-strong); border-radius: var(--radius-sm); font-size: var(--fs-body); font-weight: 600; }
.sensa-buy-panel .single_add_to_cart_button { flex: 1; min-block-size: 56px !important; font-size: 17px !important; border-radius: var(--radius-sm) !important; }
.sensa-trust-box { background: var(--c-primary-50); border-radius: var(--radius-md); padding: 6px 20px; }
.sensa-trust-box__row { display: flex; align-items: center; gap: 14px; min-block-size: 56px; border-block-end: 1px solid var(--c-primary-100); color: var(--c-primary); }
.sensa-trust-box__row:last-child { border: 0; }
.sensa-trust-box__row p { margin: 0; font-size: var(--fs-ui); color: var(--c-ink); }
.sensa-trust-box__row.is-stock { color: var(--c-success); }
.sensa-trust-box__row a { font-weight: 600; }
.sensa-stock--in { color: var(--c-success); }

.woocommerce-product-gallery .flex-control-thumbs { display: flex !important; gap: 12px; margin-top: 12px !important; }
.woocommerce-product-gallery .flex-control-thumbs li { inline-size: 88px !important; float: none !important; }
.woocommerce-product-gallery .flex-control-thumbs img { border-radius: 12px; border: 1px solid var(--c-border); opacity: .75 !important; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active { border: 2px solid var(--c-primary); opacity: 1 !important; }
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__image img { border-radius: 20px; background: var(--c-cream-deep); }
.woocommerce-product-gallery__trigger { background: #fff !important; box-shadow: var(--shadow-card); }

.sensa-anchors-bar { background: #fff; border-block: 1px solid var(--c-border); }
.sensa-anchors { max-inline-size: var(--container-max); margin-inline: auto; background: #fff; border: 0; gap: 40px; padding-block: 0; min-block-size: 60px; }
.sensa-anchors a { position: relative; font-size: var(--fs-ui); min-block-size: 60px; }
.sensa-anchors a:first-child { color: var(--c-primary); box-shadow: inset 0 -2px 0 var(--c-primary); }

.sensa-spec-section { background: var(--c-primary-50); }
.sensa-spec { max-width: none; }
.sensa-spec h2 { font-size: var(--fs-h2); margin-block-end: 32px; }
@media (min-width: 1025px) { .sensa-spec__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.sensa-spec__group { border-radius: var(--radius-md); padding: 24px; }
.sensa-spec__group h3 { font-size: 18px; margin-block-end: 6px; }
.sensa-spec__row { border-block-end: 1px dashed var(--c-border); padding-block: 10px; font-size: var(--fs-ui); }
.sensa-spec__row dd { text-align: start; }

.sensa-usage { max-width: none; display: grid; gap: 32px; }
@media (min-width: 1025px) { .sensa-usage { grid-template-columns: minmax(0, 1fr) 440px; gap: 64px; align-items: start; } }
.sensa-steps-list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 18px; }
.sensa-steps-list li { display: flex; gap: 16px; align-items: flex-start; }
.sensa-steps-list p { margin: 0; font-size: var(--fs-body); line-height: 1.65; padding-top: 5px; }
.sensa-step-num { flex-shrink: 0; inline-size: 36px; block-size: 36px; border-radius: 50%; background: var(--c-primary); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.sensa-usage__lube { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius-md); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.sensa-usage__lube-head { display: flex; align-items: center; gap: 12px; }
.sensa-usage__lube-head h3 { margin: 0; font-size: 18px; }
.sensa-usage__lube p { margin: 0; color: var(--c-ink-muted); line-height: 1.65; }

.sensa-reviews-empty { background: var(--c-bg-page); border: 1px solid var(--c-border); border-radius: var(--radius-md); padding: 36px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.sensa-reviews-empty__stars { display: flex; gap: 4px; color: var(--c-border-strong); }
.sensa-reviews-empty h3 { margin: 0; font-size: 20px; }
.sensa-reviews-empty > p { margin: 0; color: var(--c-ink-muted); max-inline-size: 380px; }
.sensa-reviews-empty__form { inline-size: 100%; }
.sensa-reviews-empty__form > summary { list-style: none; display: inline-flex; margin-inline: auto; cursor: pointer; min-block-size: 44px; padding-inline: 22px; }
.sensa-reviews-empty__form > summary::-webkit-details-marker { display: none; }
.sensa-reviews-empty__form[open] > summary { display: none; }
.sensa-reviews .woocommerce-Reviews-title, .sensa-reviews .woocommerce-noreviews { display: none; }
.sensa-reviews #review_form_wrapper { text-align: start; margin-top: 16px; }
.sensa-reviews .comment-reply-title { font-family: var(--ff-heading); font-size: 18px; font-weight: 700; }
.sensa-reviews textarea { border: 1px solid var(--c-border-strong); border-radius: var(--radius-sm); }
.sensa-reviews .form-submit input { background: var(--c-accent); color: #fff; border: 0; border-radius: var(--radius-sm); min-block-size: 48px; padding-inline: 28px; font-weight: 600; }

/* ================= Home ================= */
.sensa-hero-content { max-inline-size: 600px; }
.sensa-triad { gap: 32px; }
@media (min-width: 768px) { .sensa-triad { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sensa-triad__item { background: transparent; padding: 0; gap: 16px; align-items: center; }
.sensa-triad__body strong { font-size: var(--fs-body); }
.sensa-triad__body span { font-size: var(--fs-sm); }
@media (max-width: 767px) { .sensa-triad { gap: 0; } .sensa-triad__item { padding-block: 16px; border-block-end: 1px solid var(--c-bg-subtle); } .sensa-triad__item:last-child { border: 0; } .sensa-icon-circle { inline-size: 44px; block-size: 44px; } }

.sensa-tiles { gap: 24px; }
@media (max-width: 767px) { .sensa-tiles { gap: 16px 12px; } }
.sensa-tile { gap: 14px; }
.sensa-tile__media { display: block; border-radius: var(--radius-md); overflow: hidden; background: var(--c-cream-deep); aspect-ratio: 4 / 3; }
.sensa-tile__img { inline-size: 100%; block-size: 100%; object-fit: cover; border-radius: 0; transition: transform 400ms ease-out; aspect-ratio: auto; }
.sensa-tile:hover .sensa-tile__img { transform: scale(1.03); }
.sensa-tile__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.sensa-tile__name { margin: 0; font-size: 20px; font-weight: 600; }
.sensa-tile__arrow { inline-size: 36px; block-size: 36px; border-radius: 50%; border: 1px solid var(--c-border); color: var(--c-primary); display: flex; align-items: center; justify-content: center; transition: background var(--motion-fast); }
.sensa-tile:hover .sensa-tile__arrow { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
@media (max-width: 767px) { .sensa-tile__name { font-size: 16px; } .sensa-tile__arrow { display: none; } }

.sensa-shopby-grid { gap: 20px; }
.sensa-shopby { padding: 28px; gap: 14px; box-shadow: var(--shadow-card); transition: box-shadow var(--motion-fast), transform var(--motion-fast); }
.sensa-shopby:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
.sensa-shopby strong { font-family: var(--ff-heading); font-size: 20px; }
.sensa-shopby > span:last-child { font-size: var(--fs-ui); line-height: 1.5; }
@media (max-width: 767px) { .sensa-shopby-grid { gap: 12px; } .sensa-shopby { padding: 18px; gap: 10px; } .sensa-shopby strong { font-size: 17px; } .sensa-shopby .sensa-icon-circle { inline-size: 40px; block-size: 40px; } }

.sensa-dx { background: var(--c-primary-700); color: #fff; border-radius: var(--radius-lg); padding: 0; overflow: hidden; display: grid; gap: 0; }
.sensa-dx--split { grid-template-columns: 1fr; }
@media (min-width: 1025px) { .sensa-dx--split { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sensa-dx__body { padding: 32px 22px; display: flex; flex-direction: column; gap: 28px; }
@media (min-width: 1025px) { .sensa-dx__body { padding: 72px 64px; } }
.sensa-dx .sensa-eyebrow { color: var(--c-primary-100); }
.sensa-dx h2 { color: #fff; font-size: calc(var(--fs-h2) + 8px); font-weight: 800; margin: 0; }
.sensa-dx__lead { margin: 10px 0 0; color: var(--c-primary-100); font-size: var(--fs-lead); }
.sensa-dx__grid { display: grid; gap: 20px; }
@media (min-width: 768px) { .sensa-dx__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; } }
.sensa-dx__row h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; color: #fff; font-size: 17px; font-weight: 700; }
.sensa-dx__row p { margin: 0; color: var(--c-primary-100); font-size: var(--fs-ui); line-height: 1.55; }
.sensa-dx__media { background: var(--c-cream-deep); min-block-size: 220px; }
.sensa-dx__media img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
@media (max-width: 1024px) { .sensa-dx--split .sensa-dx__media { order: -1; max-block-size: 220px; } }

.sensa-why { display: grid; gap: 32px; }
@media (min-width: 1025px) { .sensa-why { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; align-items: start; } }
.sensa-why__intro h2 { margin: 0 0 16px; font-size: calc(var(--fs-h2) + 8px); font-weight: 800; line-height: 1.15; }
.sensa-why__intro p { margin: 0; font-size: var(--fs-lead); line-height: 1.7; color: var(--c-ink-muted); }
.sensa-why__list { display: grid; gap: 16px; }
.sensa-why__item { display: flex; gap: 20px; padding: 24px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius-md); }
.sensa-why__num { font-family: var(--ff-heading); font-size: 28px; font-weight: 800; color: var(--c-primary); line-height: 1; }
.sensa-why__item h3 { margin: 0 0 4px; font-size: 18px; font-weight: 700; }
.sensa-why__item p { margin: 0; font-size: var(--fs-ui); line-height: 1.6; color: var(--c-ink-muted); }

.sensa-guide-cards { gap: 24px; }
.sensa-guide-card { background: transparent; box-shadow: none; gap: 16px; }
.sensa-guide-card:hover { box-shadow: none; }
.sensa-guide-card__img { border-radius: var(--radius-md); }
.sensa-guide-card__body { padding: 0; }
.sensa-guide-card__title { font-size: 22px; }

.sensa-newsletter-strip .elementor-field-group .elementor-field { min-block-size: 48px; border: 0 !important; border-radius: var(--radius-sm) !important; }
.sensa-newsletter-strip .elementor-field-label, .sensa-newsletter-strip .elementor-field-option label { color: #fff !important; }
.sensa-newsletter-strip .elementor-button { background: var(--c-accent) !important; min-block-size: 48px; }

/* ================= Cart / checkout ================= */
.woocommerce-cart table.shop_table { border: 1px solid var(--c-border) !important; box-shadow: none; }
.woocommerce-cart table.shop_table th { font-size: var(--fs-xs); font-weight: 600; color: var(--c-ink-muted); background: var(--c-bg-page); border: 0 !important; }
.woocommerce-cart table.shop_table td { border-inline: 0 !important; }
.woocommerce-cart table.cart .product-name a { text-decoration: none; }
.sensa-coupon-toggle { background: none !important; color: var(--c-primary) !important; border: 0 !important; padding: 8px 0 !important; min-block-size: 44px; text-decoration: underline; font-weight: 600; }
.woocommerce-message, .woocommerce-info { border: 0 !important; border-radius: var(--radius-md); background: var(--c-primary-50) !important; color: var(--c-ink) !important; padding: 16px 20px !important; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--c-success) !important; position: static !important; margin-inline-end: 8px; }
.woocommerce-message .button { order: 2; background: transparent !important; border: 1.5px solid var(--c-primary) !important; color: var(--c-primary) !important; border-radius: var(--radius-sm) !important; }
.woocommerce-error { border-radius: var(--radius-md); border-top-color: var(--c-error) !important; }
.woocommerce-cart .cart-collaterals .cart_totals h2, .woocommerce-checkout #order_review_heading { font-size: var(--fs-h3); font-weight: 700; }
.sensa-pay-trust, .sensa-minicart-discreet { display: flex; align-items: center; justify-content: center; gap: 6px; }
.sensa-thankyou__mail { display: flex; align-items: center; gap: 8px; }

/* ================= Content pages / guides ================= */
.sensa-page-hero { background: var(--c-primary-50); }

.sensa-faq-nohead .sensa-faq > .sensa-eyebrow,
.sensa-faq-nohead .sensa-faq > h2 { display: none; }
.sensa-product-eyebrow { display: inline-block; margin: 0; text-decoration: none !important; }
.sensa-prose p { margin: 0 0 18px; line-height: 1.75; }
.sensa-anchors-bar .sensa-anchors { max-inline-size: none; }
.sensa-cat-header .elementor-widget-woocommerce-archive-description p { font-size: var(--fs-lead); line-height: 1.6; }
@media (max-width: 767px) { .sensa-gallery-col .woocommerce-product-gallery__image img { border-radius: 0; } }

/* ---- Round 1 layout fixes (design-review/v2-round1) ---- */
/* Flex children must be allowed to shrink below content width */
.sensa-buy-panel, .sensa-toolbar, .sensa-filters + .e-con, .e-con > .e-con.e-con-full { min-inline-size: 0; }
@media (min-width: 1025px) {
	.sensa-filters + .e-con { flex: 1 1 0 !important; min-inline-size: 0 !important; }
	.sensa-gallery-col { flex: 0 0 55% !important; max-inline-size: 55% !important; }
	.sensa-buy-panel { flex: 1 1 0 !important; }
	.sensa-faq-intro { flex: 0 0 400px !important; max-inline-size: 400px; }
	.sensa-faq-nohead { flex: 1 1 0 !important; min-inline-size: 0; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.sensa-gallery-col { flex: 0 0 50% !important; max-inline-size: 50% !important; }
	.sensa-buy-panel { flex: 1 1 0 !important; }
}
/* Card image fills the card */
.sensa-card .elementor-widget-image,
.sensa-card .elementor-widget-image .elementor-widget-container,
.sensa-card .elementor-widget-image a { display: block; inline-size: 100%; }
.sensa-card .elementor-widget-image img { inline-size: 100% !important; block-size: auto !important; max-inline-size: 100% !important; object-fit: cover; display: block; }
/* JetSmartFilters: hide native input, show our decorator before the label */
.sensa-filters .jet-checkboxes-list__input { position: absolute; opacity: 0; pointer-events: none; }
.sensa-filters .jet-checkboxes-list__item { flex-direction: row; }
.sensa-filters .jet-checkboxes-list__decorator { order: 0; }
.sensa-filters .jet-checkboxes-list__label { order: 1; }
.sensa-filters .jet-filters-counter { order: 2; }
/* Stock text from the add-to-cart widget duplicates the trust box */
.sensa-buy-panel .stock { display: none; }

/* Home hero on mobile: image on top (background contain), text below */
@media (max-width: 767px) {
	.sensa-hero { background-color: var(--c-bg-subtle); }
	.sensa-hero .elementor-button { inline-size: 100%; justify-content: center; }
	.sensa-hero .sensa-button { inline-size: 100%; }
}
.sensa-hero .elementor-button { min-block-size: 52px; padding-inline: 30px; font-size: 16px; font-weight: 600; }
.sensa-newsletter-strip .elementor-heading-title { color: #fff !important; }
.sensa-newsletter-strip .elementor-field-type-acceptance label, .sensa-newsletter-strip .elementor-field-subgroup label { color: var(--c-primary-100) !important; font-size: var(--fs-xs); }
.sensa-newsletter-strip .elementor-field-group > label { color: #fff !important; font-weight: 600; font-size: var(--fs-xs); }
.sensa-chip__count { display: inline-flex; }

/* ---- Round 3 fixes (home) ---- */
.sensa-logo img { inline-size: 132px !important; max-inline-size: 132px; block-size: auto !important; }
@media (max-width: 767px) { .sensa-logo img { inline-size: 104px !important; max-inline-size: 104px; } }
.sensa-tile__media { position: relative; }
.sensa-tile__img { position: absolute; inset: 0; inline-size: 100% !important; block-size: 100% !important; object-fit: cover; }
.sensa-dx__media { position: relative; min-block-size: 240px; }
.sensa-dx__media img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
/* Self-hiding bands: collapse the wrapper when the shortcode rendered nothing */
.sensa-guides-band:not(:has(.sensa-guide-cards)),
.sensa-shopby-band:not(:has(.sensa-shopby-grid)) { display: none !important; }
.e-con:has(> .elementor-widget-shortcode .elementor-shortcode:empty):not(:has(.elementor-widget:not(.elementor-widget-shortcode))) { display: none; }

/* ---- Round 4 fixes (mobile) ---- */
html, body { overflow-x: clip; }
@media (max-width: 1024px) {
	.sensa-header-main .elementor-widget-nav-menu { order: -1; flex: 0 0 auto !important; inline-size: auto !important; }
	.sensa-header-main .elementor-menu-toggle { background: transparent !important; inline-size: 44px; block-size: 44px; padding: 0 !important; }
	.sensa-header-main .elementor-menu-toggle svg { fill: var(--c-ink); inline-size: 24px; block-size: 24px; }
	.sensa-header-main > .elementor-widget-image { margin-inline-end: auto; }
	.sensa-cat-guide__grid, .sensa-chips, .sensa-toolbar, .sensa-faq-intro, .sensa-faq-nohead { max-inline-size: 100%; min-inline-size: 0; }
	.sensa-chips { flex-wrap: nowrap; overflow-x: auto; }
	.sensa-filters:not(.is-open) { inline-size: 0 !important; overflow: hidden; }
	.sensa-filters.is-open { inline-size: min(360px, 88vw) !important; overflow-y: auto; }
}

.elementor-loop-container > .e-loop-item, .elementor-loop-container .sensa-card, .sensa-card > .e-con { min-inline-size: 0; }
/* Chip row / shortcode widgets must not force container min-content width */
.e-con > .elementor-widget, .elementor-widget-shortcode, .elementor-widget-shortcode .elementor-shortcode { min-inline-size: 0; max-inline-size: 100%; }
.sensa-cat-header > .elementor-widget-shortcode { inline-size: 100%; }
@media (max-width: 767px) { .sensa-header-main .elementor-widget-search-form { margin-inline-start: 4px; } }
/* Some plugin sets body{display:grid} on product archives → auto column grows to min-content (640px on mobile) */
body { grid-template-columns: minmax(0, 1fr); }

/* ---- Round 8 fixes ---- */
.sensa-header-main > .sensa-logo { flex: 0 0 auto !important; }
.sensa-dx { justify-items: stretch; }
.sensa-dx__body { justify-items: start; }
/* Newsletter form: email + button in a row, consent below */
.sensa-newsletter-strip .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; }
.sensa-newsletter-strip .elementor-field-type-email { flex: 1 1 260px; max-inline-size: none; padding: 0 !important; }
.sensa-newsletter-strip .elementor-field-type-acceptance { order: 3; flex: 1 1 100%; padding: 0 !important; }
.sensa-newsletter-strip .e-form__buttons { flex: 0 0 auto; align-self: flex-end; inline-size: auto !important; padding: 0 !important; }
.sensa-newsletter-strip .e-form__buttons .elementor-button { min-inline-size: 140px; white-space: nowrap; }
@media (max-width: 767px) { .sensa-newsletter-strip .e-form__buttons { flex: 1 1 100%; } .sensa-newsletter-strip .e-form__buttons .elementor-button { inline-size: 100%; } }
/* Guide layout: TOC column + reading column */
@media (min-width: 1025px) {
	.sensa-guide-layout > .e-con:first-child { flex: 0 0 240px !important; max-inline-size: 240px; }
	.sensa-guide-layout > .e-con:last-child { flex: 1 1 0 !important; min-inline-size: 0; }
}
.sensa-guide-body .elementor-widget-container, .sensa-guide-body { max-inline-size: 720px; }
.sensa-toc { font-size: var(--fs-sm); }
.sensa-toc ol { gap: 8px; }
.sensa-toc a { color: var(--c-ink); text-decoration: none; }
.sensa-toc a:hover { color: var(--c-primary); }
.sensa-picks h2, .sensa-guide-body h2 { font-size: var(--fs-h2); }
.sensa-pick { border: 1px solid var(--c-border); box-shadow: none; }
/* WooCommerce notices */
.woocommerce-error, .woocommerce-notices-wrapper .woocommerce-error {
	border: 0 !important; border-radius: var(--radius-md) !important; background: #FBEDEB !important; color: var(--c-ink) !important;
	padding: 16px 20px !important; display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none;
}
.woocommerce-error::before { color: var(--c-error) !important; position: static !important; }
.woocommerce-error .button, .woocommerce-message .button { background: transparent !important; border: 1.5px solid var(--c-primary) !important; color: var(--c-primary) !important; border-radius: var(--radius-sm) !important; min-block-size: 40px; }
/* Content page template */
.sensa-page-content { font-size: var(--fs-body-lg); line-height: 1.75; }
.sensa-page-content h2 { font-size: var(--fs-h3); margin-block: 40px 12px; }
.sensa-page-content ul, .sensa-page-content ol { padding-inline-start: 1.25em; }
.sensa-page-content li { margin-block: 6px; }
.sensa-page-content .sensa-faq-group h2 { font-size: var(--fs-h2); margin-block: 48px 16px; }

/* ---- Round 9 fixes ---- */
@media (min-width: 1025px) {
	.sensa-guide-layout > .e-con-inner { flex-direction: row !important; align-items: flex-start; gap: 48px; }
	.sensa-guide-layout > .e-con-inner > .e-con:first-child { flex: 0 0 240px !important; max-inline-size: 240px; position: sticky; inset-block-start: 96px; }
	.sensa-guide-layout > .e-con-inner > .e-con:last-child { flex: 1 1 0 !important; min-inline-size: 0; }
}
.sensa-newsletter-strip .elementor-field-group { inline-size: auto !important; max-inline-size: none !important; }
.sensa-newsletter-strip .elementor-field-type-email { flex: 1 1 240px !important; }
.sensa-newsletter-strip .elementor-field-type-submit { flex: 0 0 auto !important; align-self: flex-end; }
.sensa-notes-toggle { background: none !important; color: var(--c-primary) !important; border: 0 !important; padding: 8px 0 !important; min-block-size: 44px; font-weight: 600; text-decoration: underline; box-shadow: none !important; }
.woocommerce-checkout #place_order:disabled, .woocommerce-checkout #place_order.disabled { opacity: .55; }
.woocommerce-checkout-review-order-table { border: 0 !important; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { border: 0 !important; border-block-end: 1px solid var(--c-border) !important; background: transparent !important; padding: 12px 0 !important; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { font-size: var(--fs-body-lg); color: var(--c-ink); border-block-end: 0 !important; }
.woocommerce-checkout #payment .payment_box { color: var(--c-ink-muted); border-radius: var(--radius-sm); }

/* --- Accessibility round (audit-v2.md) --- */
/* Elementor's price widget fades <del> to ~70%, which drops the old price to 3.1:1 on white. */
.sensa-card .price del, .sensa-card .price del .amount, .sensa-buy-panel .price del { opacity: 1 !important; color: var(--c-ink-muted) !important; }
/* WCAG 2.5.8: 24px minimum for targets that aren't inline text. */
.sensa-header-main .elementor-icon, .sensa-header-main .elementor-button, .elementor-menu-toggle { min-inline-size: 24px; min-block-size: 24px; display: inline-flex; align-items: center; justify-content: center; }
.sensa-logo a { display: inline-flex; align-items: center; min-block-size: 44px; }
.sensa-main { display: block; }
.sensa-card .elementor-heading-title a { display: inline-block; min-block-size: 24px; }
/* A link inside running text needs more than colour to be recognisable (WCAG 1.4.1). */
.woocommerce-breadcrumb a, .sensa-page-content p a, .sensa-guide-body p a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.sensa-cart-title { font-size: var(--fs-h1); font-weight: 700; color: var(--c-ink); margin-block-end: var(--space-6); }
/* Cart totals: same borderless summary as the checkout review table.
   Selectors must outrank `.woocommerce-cart table.shop_table` in 50-cart-checkout.css. */
.woocommerce-cart .cart_totals table.shop_table, .woocommerce-cart .cart_totals table.shop_table tbody, .woocommerce-cart .cart_totals table.shop_table tr { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { border: 0 !important; border-block-end: 1px solid var(--c-border) !important; background: transparent !important; padding: 12px 0 !important; vertical-align: top; font-weight: 400; }
.woocommerce-cart .cart_totals table.shop_table th { color: var(--c-ink-muted); white-space: nowrap; }
.woocommerce-cart .cart_totals table.shop_table .order-total th, .woocommerce-cart .cart_totals table.shop_table .order-total td { border-block-end: 0 !important; font-size: var(--fs-body-lg); font-weight: 700; color: var(--c-ink); }
.cart_totals .woocommerce-shipping-destination, .cart_totals .shipping__inner { font-size: var(--fs-body-sm); color: var(--c-ink-muted); }
.cart_totals h2 { font-size: var(--fs-h3); margin-block-end: var(--space-4); }
.woocommerce-cart .woocommerce-cart-form .product-thumbnail img { inline-size: 64px !important; border-radius: var(--radius-sm); }
/* Newsletter: the form widget's 520px was being shrunk to 356px as a flex child, which pushed the button below the field. */
@media (min-width: 1025px) {
	.sensa-newsletter-strip > .elementor-widget-form, .sensa-newsletter-strip > .e-con-inner > .elementor-widget-form { flex: 0 0 520px !important; max-inline-size: 520px !important; }
	.sensa-newsletter-strip .elementor-field-type-email { flex: 1 1 300px; }
}
/* Consent row: checkbox beside its text, and drop the redundant "הסכמה" label above it. */
.sensa-newsletter-strip .elementor-field-type-acceptance > label { display: none; }
.sensa-newsletter-strip .elementor-field-type-acceptance .elementor-field-subgroup, .sensa-newsletter-strip .elementor-field-type-acceptance .elementor-field-option { display: flex; gap: 8px; align-items: center; }
.sensa-newsletter-strip .elementor-field-type-acceptance input { margin: 0; flex: 0 0 auto; }
.sensa-newsletter-strip .elementor-field-type-acceptance input { inline-size: 18px; block-size: 18px; }
