/* מיץ גת המקורי: design system. Loaded by originaljuice-tweaks.php */

:root {
	--oj-green: #15803d;
	--oj-green-dark: #0d5c2c;
	--oj-green-soft: #e9f5ec;
	--oj-red: #c8102e;
	--oj-red-dark: #9d0c24;
	--oj-cream: #fbf7f0;
	--oj-ink: #1c2321;
	--oj-muted: #56615b;
	--oj-line: #e6e1d6;
	--oj-white: #ffffff;
	--oj-radius: 16px;
	--oj-radius-sm: 10px;
	--oj-shadow: 0 6px 24px rgba(28, 35, 33, .08);
	--oj-shadow-lg: 0 14px 40px rgba(28, 35, 33, .14);
	--oj-font: "Heebo", "Assistant", Arial, sans-serif;
	--oj-wrap: 1180px;
	--fs-sm: 15px;
	--fs-base: 17px;
	--fs-md: 19px;
	--fs-lg: 22px;
	--fs-h2: clamp(28px, 3.4vw, 40px);
}

/* ---------- Base ---------- */
body, button, input, select, textarea,
.ast-button, .ast-custom-button, h1, h2, h3, h4, h5, h6,
.entry-title, .site-title, .main-header-menu {
	font-family: var(--oj-font) !important;
}
body { color: var(--oj-ink); background: var(--oj-white); font-size: 17px; line-height: 1.65; }
h1, h2, h3, h4 { color: var(--oj-ink); font-weight: 800; line-height: 1.25; letter-spacing: -.01em; }
a { color: var(--oj-green); }
a:hover, a:focus { color: var(--oj-green-dark); }
:focus-visible { outline: 3px solid var(--oj-ink) !important; outline-offset: 2px; }
img { max-width: 100%; height: auto; }
.oj-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Buttons ---------- */
.oj-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wp-block-button__link, .ast-button, .single_add_to_cart_button {
	background: var(--oj-green) !important;
	color: var(--oj-white) !important;
	border: 0 !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	padding: 13px 22px !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	transition: background .2s ease, transform .2s ease;
	cursor: pointer;
}
.oj-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.single_add_to_cart_button:hover, .wp-block-button__link:hover {
	background: var(--oj-green-dark) !important; color: var(--oj-white) !important;
}
.oj-btn--light { background: var(--oj-white) !important; color: var(--oj-green-dark) !important; box-shadow: inset 0 0 0 2px var(--oj-green); }
.oj-btn--light:hover { background: var(--oj-green-soft) !important; color: var(--oj-green-dark) !important; }
.oj-btn--wa { background: #1f8f4e !important; }
@media (prefers-reduced-motion: no-preference) { .oj-btn:hover { transform: translateY(-1px); } }

/* ---------- Header ---------- */
.oj-topbar {
	background: var(--oj-green-dark); color: var(--oj-white);
	text-align: center; font-size: var(--fs-sm); font-weight: 500; padding: 8px 12px; line-height: 1.4;
}
.oj-topbar strong { color: #fff; font-weight: 800; }
.ast-primary-header-bar, .main-header-bar { background: var(--oj-white) !important; border-bottom: 1px solid var(--oj-line) !important; box-shadow: none; }
.site-header .site-branding { padding: 6px 0 !important; }
.site-header .custom-logo-link img { height: auto; }
.main-header-menu .menu-link, .ast-builder-menu-1 .menu-item > .menu-link {
	color: var(--oj-ink) !important; font-weight: 600; font-size: 16px; padding: 0 14px !important;
	background: transparent !important; position: relative;
}
.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link { color: var(--oj-green) !important; background: transparent !important; }
.main-header-menu .current-menu-item > .menu-link::after,
.main-header-menu .current_page_item > .menu-link::after {
	content: ""; position: absolute; inset-inline: 14px; bottom: -6px; height: 3px; border-radius: 3px; background: var(--oj-green);
}
.ast-header-account-wrap .ast-header-account-link, .ast-header-account-wrap svg { color: var(--oj-ink) !important; fill: var(--oj-ink) !important; }
.ast-site-header-cart .ast-cart-menu-wrap, .ast-site-header-cart .ast-addon-cart-wrap {
	border: 0 !important; background: transparent !important; color: var(--oj-ink) !important;
}
.ast-site-header-cart .ast-icon svg, .ast-site-header-cart i.astra-icon { color: var(--oj-ink) !important; fill: var(--oj-ink) !important; }
.ast-site-header-cart .ast-cart-menu-wrap .count, .ast-site-header-cart .ast-count-text,
.astra-icon.astra-icon::after { background: var(--oj-red) !important; color: #fff !important; border-color: var(--oj-red) !important; }
.ast-header-break-point .ast-mobile-header-wrap .ast-primary-header-bar { padding: 0; }
.ast-mobile-menu-trigger-minimal, .menu-toggle { color: var(--oj-ink) !important; }
/* FunnelKit floating cart: bottom left */
#fkcart-floating-toggler, .fkcart-toggler { left: 20px !important; right: auto !important; bottom: 20px !important; }

/* ---------- Layout helpers ---------- */
.oj-wrap { max-width: var(--oj-wrap); margin: 0 auto; padding: 0 20px; }
.oj-section { padding: 64px 0; }
.oj-section--cream { background: var(--oj-cream); }
.oj-section--green { background: var(--oj-green-dark); color: #fff; }
.oj-section--green h2, .oj-section--green h3, .oj-section--green p { color: #fff; }
.oj-eyebrow {
	display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--oj-green-dark);
	background: var(--oj-green-soft); border: 1px solid #cfe8d6; font-size: 17px; line-height: 1;
	padding: 9px 16px; border-radius: 999px; margin-bottom: 16px;
}
.oj-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--oj-red); flex: 0 0 8px; }
.oj-section--cream .oj-eyebrow { background: #fff; }
.oj-hero .oj-eyebrow { font-size: 18px; padding: 10px 18px; }
.oj-h2 { font-size: var(--fs-h2); margin: 0 0 12px; }
.oj-lead { font-size: var(--fs-md); color: var(--oj-muted); margin: 0 0 28px; max-width: 680px; }
.oj-center { text-align: center; }
.oj-center .oj-lead { margin-inline: auto; }
@media (max-width: 768px) { .oj-section { padding: 44px 0; } }

/* Astra containers on our custom pages */
.oj-page .site-content > .ast-container, .oj-page #primary, .oj-page .entry-content { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.oj-page .entry-content > * { margin-block: 0; }
.oj-page .ast-article-single, .oj-page .entry-header { padding: 0 !important; margin: 0 !important; border: 0; background: none; }

/* ---------- Hero ---------- */
.oj-hero { background: linear-gradient(180deg, var(--oj-cream) 0%, #fff 100%); padding: 48px 0 40px; overflow: hidden; }
.oj-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; }
.oj-hero h1 { font-size: clamp(34px, 5vw, 58px); margin: 0 0 16px; }
.oj-hero h1 span { color: var(--oj-green); }
.oj-hero p.oj-hero__text { font-size: 19px; color: var(--oj-muted); margin: 0 0 24px; max-width: 540px; }
.oj-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.oj-hero__media { position: relative; }
.oj-hero__media img { width: 100%; border-radius: 28px; box-shadow: var(--oj-shadow-lg); aspect-ratio: 16 / 10; object-fit: cover; object-position: 30% center; }
.oj-hero__badge {
	position: absolute; bottom: 18px; inset-inline-start: 18px; background: #fff; border-radius: 14px;
	padding: 10px 14px; box-shadow: var(--oj-shadow); font-weight: 700; font-size: var(--fs-sm); display: flex; gap: 8px; align-items: center;
}
.oj-hero__badge b { color: var(--oj-red); }
@media (max-width: 900px) {
	.oj-hero { padding: 28px 0 32px; }
	.oj-hero__grid { grid-template-columns: 1fr; gap: 24px; }
	.oj-hero__media { order: 2; }
	.oj-hero__media img { aspect-ratio: 16 / 10; max-height: 260px; border-radius: 20px; }
	.oj-hero__badge { display: none; }
	.oj-hero p.oj-hero__text { font-size: 17px; }
}

/* ---------- Countdown (plugin [mgt_cutoff]) ---------- */
.mgt-urgency.mgt-urgency-bar {
	display: inline-flex !important; flex-wrap: wrap; gap: 6px 8px; align-items: center;
	background: var(--oj-white) !important; color: var(--oj-ink) !important;
	border: 1px solid var(--oj-line) !important; border-inline-start: 4px solid var(--oj-red) !important;
	border-radius: 12px !important; padding: 10px 14px !important; font-size: var(--fs-sm) !important; font-weight: 600;
	box-shadow: var(--oj-shadow); margin: 0 !important; max-width: 100%;
}
.mgt-urgency-bar .mgt-urgency-clock { color: var(--oj-red-dark) !important; font-weight: 800; font-variant-numeric: tabular-nums; }
.mgt-urgency-bar a { color: var(--oj-green) !important; font-weight: 700; }

/* ---------- USP strip ---------- */
.oj-usps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.oj-usp { background: #fff; border: 1px solid var(--oj-line); border-radius: var(--oj-radius); padding: 18px; display: flex; gap: 12px; align-items: flex-start; }
.oj-usp svg { flex: 0 0 34px; width: 34px; height: 34px; color: var(--oj-green); }
.oj-usp h3 { font-size: 18px; margin: 0 0 4px; }
.oj-usp p { font-size: var(--fs-sm); color: var(--oj-muted); margin: 0; line-height: 1.5; }
@media (max-width: 900px) { .oj-usps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .oj-usps { grid-template-columns: 1fr; } .oj-usp { padding: 14px; } }

/* ---------- Product grid ---------- */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px; margin: 0 !important; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	width: auto !important; min-width: 0; margin: 0 !important; float: none !important;
	background: #fff; border: 1px solid var(--oj-line); border-radius: var(--oj-radius); padding: 12px 12px 16px !important;
	display: flex; flex-direction: column; text-align: start; transition: box-shadow .2s ease, transform .2s ease; position: relative;
}
.woocommerce ul.products li.product:hover { box-shadow: var(--oj-shadow-lg); }
@media (prefers-reduced-motion: no-preference) { .woocommerce ul.products li.product:hover { transform: translateY(-2px); } }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap, .woocommerce ul.products li.product a img {
	border-radius: 12px; overflow: hidden; background: var(--oj-cream);
}
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; margin: 0 0 12px !important; }
.woocommerce ul.products li.product .astra-shop-summary-wrap { display: flex; flex-direction: column; flex: 1; padding: 0 !important; }
.woocommerce ul.products li.product .ast-woo-product-category { display: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 18px !important; font-weight: 700; color: var(--oj-ink); line-height: 1.4; margin: 0 0 8px !important; padding: 0 !important;
}
.woocommerce ul.products li.product .price { color: var(--oj-ink) !important; font-size: 20px !important; font-weight: 800; margin: auto 0 12px !important; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.woocommerce ul.products li.product .price del { color: var(--oj-muted) !important; font-weight: 500; font-size: 15px; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--oj-red-dark); }
.woocommerce ul.products li.product .button { width: 100%; margin: 0 !important; }
.woocommerce ul.products li.product .button.added { background: var(--oj-green-dark) !important; }
.woocommerce ul.products li.product .added_to_cart {
	display: block; text-align: center; margin-top: 8px; font-weight: 700; font-size: 14px; color: var(--oj-green) !important;
}
.woocommerce ul.products li.product .ast-on-card-button.add_to_cart_button, .woocommerce ul.products li.product .ast-select-options-trigger, .woocommerce ul.products li.product .ast-quick-view-trigger { display: none !important; }
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale, .woocommerce ul.products li.product .ast-onsale-card {
	background: var(--oj-red) !important; color: #fff !important; border-radius: 999px !important; min-height: 0 !important; min-width: 0 !important;
	line-height: 1 !important; padding: 7px 12px !important; font-size: 14px !important; font-weight: 800; top: 20px !important; inset-inline-start: 20px !important; right: auto; left: auto; margin: 0 !important;
	position: absolute !important; z-index: 2;
}
@media (max-width: 1100px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 768px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
	.woocommerce ul.products li.product { padding: 8px 8px 12px !important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px !important; }
	.woocommerce ul.products li.product .price { font-size: 18px !important; }
	.woocommerce ul.products li.product .button { font-size: var(--fs-sm) !important; padding: 11px 10px !important; }
	.woocommerce span.onsale { top: 14px !important; inset-inline-start: 14px !important; padding: 5px 9px !important; font-size: 12px !important; }
}

/* Management plugin card controls (quantity, flavor, add to cart) */
.mgt-custom-controls { margin-top: 0; }
.mgt-custom-controls select { width: 100%; border: 1px solid var(--oj-line); border-radius: 10px; padding: 10px; margin-bottom: 8px; font-size: 16px; background: #fff; }
.mgt-add-row { display: flex; gap: 8px; align-items: stretch; }
.mgt-qty-control { display: flex; align-items: center; border: 1px solid var(--oj-line); border-radius: 12px; overflow: hidden; flex: 0 0 auto; background: #fff; }
.mgt-qty-control button { width: 34px; height: 46px; background: #fff !important; border: 0 !important; color: var(--oj-ink) !important; font-size: 20px; padding: 0 !important; line-height: 1; }
.mgt-qty-control button:hover { background: var(--oj-green-soft) !important; }
.mgt-qty-control .mgt-qty-input { width: 34px; height: 46px; border: 0 !important; text-align: center; padding: 0 !important; font-weight: 700; font-size: 16px; -moz-appearance: textfield; background: #fff; }
.mgt-qty-control .mgt-qty-input::-webkit-outer-spin-button, .mgt-qty-control .mgt-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mgt-custom-controls .mgt-add-row .mgt-ajax-btn { flex: 1 1 auto !important; width: auto !important; white-space: nowrap !important; padding: 0 10px !important; min-width: 0; background: var(--oj-green) !important; color: #fff !important; border: 0 !important; border-radius: 12px !important; font-weight: 700 !important; font-size: 15px !important; padding: 0 12px !important; min-height: 46px; cursor: pointer; white-space: nowrap; }
.mgt-custom-controls .mgt-ajax-btn:hover { background: var(--oj-green-dark) !important; }
.mgt-feedback-msg { font-size: var(--fs-sm); font-weight: 700; color: var(--oj-green-dark); min-height: 0; margin-top: 6px; }
.mgt-feedback-msg:empty { display: none; }
@media (max-width: 480px) {
	.mgt-add-row { flex-direction: column; }
	.mgt-custom-controls .mgt-add-row .mgt-ajax-btn { width: 100% !important; }
	.mgt-qty-control { justify-content: space-between; }
	.mgt-qty-control .mgt-qty-input { flex: 1; }
}

/* Category tabs */
.oj-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 22px; }
.oj-tabs a { padding: 10px 20px; border-radius: 999px; border: 1px solid var(--oj-line); background: #fff; color: var(--oj-ink); font-weight: 700; text-decoration: none; font-size: 16px; }
.oj-tabs a:hover, .oj-tabs a[aria-current="true"] { background: var(--oj-green); border-color: var(--oj-green); color: #fff; }
.oj-cat { margin-top: 36px; scroll-margin-top: 110px; }
.oj-cat:first-of-type { margin-top: 0; }
.oj-cat h3, .oj-cat h2 { font-size: 26px !important; margin: 0 0 16px !important; }

/* ---------- Steps ---------- */
.oj-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: ojstep; }
.oj-step { background: #fff; border-radius: var(--oj-radius); padding: 24px; border: 1px solid var(--oj-line); position: relative; }
.oj-step::before {
	counter-increment: ojstep; content: counter(ojstep); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
	background: var(--oj-green); color: #fff; font-weight: 800; font-size: 18px; margin-bottom: 12px;
}
.oj-step h3 { font-size: var(--fs-lg); margin: 0 0 6px; }
.oj-step p { margin: 0; color: var(--oj-muted); font-size: var(--fs-base); }
@media (max-width: 768px) { .oj-steps { grid-template-columns: 1fr; } }

/* ---------- Delivery block ---------- */
.oj-delivery { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.oj-card { background: #fff; border: 1px solid var(--oj-line); border-radius: var(--oj-radius); padding: 24px; }
.oj-card h3, .oj-card h2 { margin: 0 0 12px !important; font-size: var(--fs-lg) !important; }
.oj-facts { list-style: none; margin: 0; padding: 0; }
.oj-facts li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--oj-line); font-size: var(--fs-base); }
.oj-facts li:last-child { border-bottom: 0; }
.oj-facts li span:first-child { color: var(--oj-muted); }
.oj-facts li span:last-child { font-weight: 700; text-align: end; }
.oj-cities { font-size: var(--fs-base); color: var(--oj-muted); line-height: 1.9; }
.oj-cities details summary { cursor: pointer; font-weight: 700; color: var(--oj-green); list-style: none; margin-top: 8px; }
.oj-cities details summary::-webkit-details-marker { display: none; }
@media (max-width: 900px) { .oj-delivery { grid-template-columns: 1fr; } }

/* ---------- FAQ ---------- */
.oj-faq { max-width: 820px; margin: 0 auto; }
.oj-faq details { background: #fff; border: 1px solid var(--oj-line); border-radius: 14px; margin-bottom: 10px; }
.oj-faq summary { cursor: pointer; padding: 18px 20px; font-weight: 700; font-size: 18px; list-style: none; display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.oj-faq summary::-webkit-details-marker { display: none; }
.oj-faq summary::after { content: "+"; font-size: 24px; line-height: 1; color: var(--oj-green); font-weight: 400; }
.oj-faq details[open] summary::after { content: "−"; }
.oj-faq details > div { padding: 0 20px 18px; color: var(--oj-muted); font-size: var(--fs-base); }
.oj-faq details > div p { margin: 0 0 8px; }

/* ---------- CTA band ---------- */
.oj-cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.oj-cta h2 { margin: 0 0 6px; font-size: var(--fs-h2); }
.oj-cta p { margin: 0; opacity: .95; font-size: var(--fs-md); }
.oj-cta .oj-btn { background: #fff !important; color: var(--oj-green-dark) !important; }

/* ---------- Single product ---------- */
.single-product .site-content { background: #fff; }
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { width: auto !important; float: none !important; margin: 0 !important; }
.single-product div.product .woocommerce-product-gallery img { border-radius: 20px; background: var(--oj-cream); }
.single-product div.product .woocommerce-tabs, .single-product div.product .related, .single-product div.product .up-sells { grid-column: 1 / -1; }
.single-product .product_title { font-size: clamp(26px, 3vw, 36px) !important; margin-bottom: 10px; }
.single-product div.product p.price { font-size: 26px !important; font-weight: 800; color: var(--oj-ink) !important; display: flex; gap: 10px; align-items: baseline; }
.single-product div.product p.price del { color: var(--oj-muted); font-size: 18px; font-weight: 500; }
.single-product div.product p.price ins { text-decoration: none; color: var(--oj-red-dark); }
.single-product .woocommerce-product-details__short-description { color: var(--oj-ink); font-size: var(--fs-base); }
.single-product .woocommerce-product-details__short-description ul { padding-inline-start: 20px; margin: 8px 0; }
.single-product form.cart { display: flex; gap: 10px; align-items: stretch; margin: 18px 0 !important; flex-wrap: wrap; }
.single-product form.cart .quantity input.qty { height: 50px; border-radius: 12px; border: 1px solid var(--oj-line); width: 72px; font-size: 17px; }
.single-product form.cart .single_add_to_cart_button { flex: 1; min-height: 50px; font-size: 17px !important; }
.single-product .product_meta { font-size: var(--fs-sm); color: var(--oj-muted); border-top: 1px solid var(--oj-line); padding-top: 12px; }
.oj-pdp-box { background: var(--oj-cream); border-radius: 14px; padding: 16px 18px; margin: 14px 0; font-size: var(--fs-base); }
.oj-pdp-box ul { list-style: none; margin: 0; padding: 0; }
.oj-pdp-box li { display: flex; gap: 10px; align-items: flex-start; padding: 5px 0; }
.oj-pdp-box li svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--oj-green); margin-top: 3px; }
.oj-pdp-box a { font-weight: 700; }
.oj-pdp-countdown { margin: 4px 0 6px; }
.woocommerce-tabs ul.tabs { padding: 0 !important; border-bottom: 1px solid var(--oj-line); }
.woocommerce-tabs ul.tabs li a { font-weight: 700; }
.single-product .related > h2, .single-product .up-sells > h2 { font-size: 26px; margin: 24px 0 16px; }
@media (max-width: 900px) { .single-product div.product { grid-template-columns: 1fr; gap: 18px; } }

/* ---------- Cart / checkout / account ---------- */
.woocommerce-cart .site-content, .woocommerce-checkout .site-content, .woocommerce-account .site-content { background: var(--oj-cream); }
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content, .woocommerce-account .entry-content { background: transparent; }
.woocommerce table.shop_table { border-radius: var(--oj-radius); overflow: hidden; border: 1px solid var(--oj-line); background: #fff; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account form.login, .woocommerce-account form.register, .woocommerce form.lost_reset_password {
	background: #fff; border: 1px solid var(--oj-line); border-radius: var(--oj-radius); padding: 22px !important;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.select2-container .select2-selection--single {
	border: 1px solid #cfc9bc !important; border-radius: 10px !important; padding: 11px 12px !important; font-size: 16px !important; min-height: 48px;
}
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px !important; }
.woocommerce form .form-row label { font-weight: 600; color: var(--oj-ink); }
.woocommerce-checkout #place_order { width: 100%; font-size: 18px !important; padding: 16px !important; }
.woocommerce-info, .woocommerce-message { border-top-color: var(--oj-green) !important; background: #fff; border-radius: 12px; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--oj-green) !important; }
.woocommerce-error { border-top-color: var(--oj-red) !important; border-radius: 12px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; background: #fff; border: 1px solid var(--oj-line); border-radius: var(--oj-radius); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; color: var(--oj-ink); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--oj-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--oj-green-soft); color: var(--oj-green-dark); }
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce-account .u-columns .col-1, .woocommerce-account .u-columns .col-2 { width: auto; float: none; max-width: none; }
@media (max-width: 768px) { .woocommerce-account .u-columns { grid-template-columns: 1fr; } }

/* ---------- Generic content pages ---------- */
.oj-page-head { background: var(--oj-cream); padding: 40px 0 28px; border-bottom: 1px solid var(--oj-line); }
.oj-page-head h1 { margin: 0 0 8px; font-size: clamp(30px, 4vw, 44px); }
.oj-page-head p { margin: 0; color: var(--oj-muted); font-size: 18px; }
.oj-prose { max-width: 820px; margin: 0 auto; padding: 40px 20px 64px; font-size: var(--fs-base); }
.oj-prose h2 { font-size: 24px; margin: 32px 0 10px; }
.oj-prose h3 { font-size: 19px; margin: 22px 0 8px; }
.oj-prose ul, .oj-prose ol { padding-inline-start: 22px; }
.oj-prose table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 16px; }
.oj-prose th, .oj-prose td { border: 1px solid var(--oj-line); padding: 9px 12px; text-align: start; vertical-align: top; }
.oj-prose th { background: var(--oj-cream); }
.oj-note { background: var(--oj-green-soft); border-radius: 12px; padding: 14px 16px; margin: 16px 0; }

/* ---------- Footer ---------- */
.site-footer, .site-below-footer-wrap, .ast-builder-footer-grid-columns { background: var(--oj-ink) !important; }
.site-below-footer-wrap { padding: 0 !important; border: 0 !important; }
.site-below-footer-wrap .ast-builder-grid-row { max-width: none !important; padding: 0 !important; display: block !important; }
.site-below-footer-wrap .ast-builder-layout-element, .site-below-footer-wrap .site-footer-section { width: 100% !important; max-width: none !important; padding: 0 !important; display: block !important; }
.site-below-footer-wrap .ast-container { max-width: none !important; padding: 0 !important; }
.oj-footer { color: #d7dcd8; font-size: var(--fs-base); line-height: 1.8; text-align: start; }
.oj-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr 1.2fr; gap: 32px; padding: 52px 0 36px; }
.oj-footer h2 { color: #fff; font-size: 18px; margin: 0 0 12px; font-weight: 800; }
.oj-footer ul { list-style: none; margin: 0; padding: 0; }
.oj-footer a { color: #e9ede9 !important; text-decoration: none; }
.oj-footer a:hover, .oj-footer a:focus { color: #fff !important; text-decoration: underline; }
.oj-footer__brand img { width: 84px; background: #fff; border-radius: 14px; padding: 6px; margin-bottom: 10px; }
.oj-footer__brand p { margin: 0 0 10px; }
.oj-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .14); padding: 16px 0; font-size: var(--fs-sm); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; color: #b9c1bb; }
@media (max-width: 900px) { .oj-footer__grid { grid-template-columns: 1fr 1fr; gap: 26px; padding: 40px 0 26px; } }
@media (max-width: 520px) { .oj-footer__grid { grid-template-columns: 1fr; } }
.site-footer .oj-footer { padding: 0; }
#ast-scroll-top { background: var(--oj-green) !important; color: #fff !important; border-radius: 50% !important; width: 44px; height: 44px; right: 26px !important; left: auto !important; bottom: 88px !important; display: none; align-items: center; justify-content: center; }
@media (max-width: 768px) { #ast-scroll-top { display: none !important; } }
@media (max-width: 600px) { .oj-topbar__phone { display: none; } .oj-topbar { padding: 7px 10px; } }

/* ---------- WhatsApp float + accessibility button position ---------- */
.oj-whatsapp { bottom: 20px !important; }
#acwp-toolbar-btn-wrap { top: 50% !important; bottom: auto !important; left: 10px !important; right: auto !important; transform: translateY(-50%); }
#acwp-toolbar { top: 50% !important; transform: translateY(-50%); max-height: 90vh; overflow: auto; }
#ast-scroll-top { display: none !important; }

/* Inline sizes inside page content stay on the scale */
.oj-page .oj-card p, .oj-page .oj-delivery p { font-size: var(--fs-base) !important; }

/* Links inside text are underlined, not only colored */
.oj-prose p a, .oj-prose li a, .oj-prose td a, .oj-faq a, .oj-lead a, .oj-note a, .oj-card p a, .oj-cities a, .entry-content p a, .woocommerce-product-details__short-description a, .oj-pdp-box a {
	text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}

/* Tabs and buttons are never underlined */
.oj-tabs a, .oj-tabs a:hover, .oj-btn, .oj-btn:hover { text-decoration: none !important; }

/* Headings: bold weight wins over Astra defaults */
.oj-page h1, .oj-page h2, .oj-page h3, .oj-hero h1, .oj-h2, .oj-cat h3, .oj-step h3, .oj-usp h3, .oj-card h3, .oj-page-head h1, .single-product .product_title, .woocommerce-loop-product__title { font-weight: 800 !important; }
.main-header-menu .menu-link { font-size: 17px !important; }

/* Price list */
.oj-prices { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--oj-line); border-radius: var(--oj-radius); overflow: hidden; font-size: var(--fs-base); }
.oj-prices th, .oj-prices td { padding: 12px 16px; border-bottom: 1px solid var(--oj-line); text-align: start; }
.oj-prices thead th { background: var(--oj-green-dark); color: #fff; }
.oj-prices__group th { background: var(--oj-green-soft); color: var(--oj-green-dark); font-weight: 800; }
.oj-prices td:last-child { font-weight: 800; white-space: nowrap; }
.oj-prices del { color: var(--oj-muted); font-weight: 400; margin-inline-start: 6px; }
.oj-prices__note { color: var(--oj-muted); font-size: var(--fs-sm); margin-top: 10px; }

/* Cookie consent */
.oj-consent { position: fixed; z-index: 9600; inset-inline: 16px; bottom: 16px; max-width: 680px; margin: 0 auto; background: #fff; color: var(--oj-ink); border: 1px solid var(--oj-line); border-radius: 18px; box-shadow: var(--oj-shadow-lg); padding: 18px 20px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; font-size: var(--fs-sm); }
.oj-consent[hidden] { display: none; }
.oj-consent p { margin: 0; flex: 1 1 320px; line-height: 1.6; }
.oj-consent a { text-decoration: underline; }
.oj-consent__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.oj-consent .oj-btn { padding: 11px 18px !important; font-size: 15px !important; }
.oj-footer__bottom a { text-decoration: underline; }
.oj-ship-note td { font-size: var(--fs-sm); color: var(--oj-muted); background: var(--oj-cream); }

/* Checkout: quantity controls in the order summary */
.woocommerce-checkout-review-order-table .product-name { vertical-align: middle; }
.oj-co-qty { display: inline-flex; align-items: center; gap: 6px; margin-inline-start: 10px; vertical-align: middle; flex-wrap: wrap; }
.oj-co-qty__btn { width: 34px; height: 34px; border: 1px solid var(--oj-line) !important; background: #fff !important; color: var(--oj-ink) !important; border-radius: 10px !important; font-size: 18px; line-height: 1; padding: 0 !important; cursor: pointer; }
.oj-co-qty__btn:hover { background: var(--oj-green-soft) !important; }
.oj-co-qty__input { width: 48px !important; min-height: 34px !important; height: 34px; text-align: center; border: 1px solid var(--oj-line) !important; border-radius: 10px !important; padding: 0 !important; font-weight: 700; -moz-appearance: textfield; }
.oj-co-qty__input::-webkit-outer-spin-button, .oj-co-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.oj-co-qty__remove { background: none !important; border: 0 !important; color: var(--oj-red-dark) !important; text-decoration: underline; font-size: var(--fs-sm); padding: 0 4px !important; cursor: pointer; }
#order_review.oj-busy { opacity: .6; pointer-events: none; transition: opacity .2s; }

/* Checkout: coupon right before payment */
.oj-co-coupon { background: var(--oj-cream); border: 1px solid var(--oj-line); border-radius: 14px; padding: 14px 16px; margin: 16px 0; }
.oj-co-coupon label { display: block; font-weight: 700; margin-bottom: 8px; }
.oj-co-coupon__row { display: flex; gap: 8px; flex-wrap: wrap; }
.oj-co-coupon__row input { flex: 1 1 180px; min-height: 46px; border: 1px solid #cfc9bc; border-radius: 10px; padding: 10px 12px; font-size: 16px; background: #fff; }
.oj-co-coupon__msg:empty { display: none; }
.oj-co-coupon__msg { margin-top: 10px; }
.oj-co-coupon__msg ul, .oj-co-coupon__msg .woocommerce-message, .oj-co-coupon__msg .woocommerce-error { margin: 0 !important; }
.oj-co-coupon__err { color: var(--oj-red-dark); font-weight: 700; }

/* After add to cart: checkout + cart buttons */
.oj-added { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.oj-added__ok { font-weight: 700; color: var(--oj-green-dark); font-size: var(--fs-sm); }
.oj-added__btns { display: flex; gap: 6px; }
.oj-added__btns .oj-btn { flex: 1; padding: 10px 8px !important; font-size: 15px !important; white-space: nowrap; }
.woocommerce ul.products li.product .added_to_cart { display: none !important; }
.mgt-feedback-msg.mgt-success { display: none !important; }
.oj-notice-actions { display: inline-flex; gap: 8px; flex-wrap: wrap; margin-inline-start: 8px; vertical-align: middle; }
.woocommerce-message .oj-notice-actions .button { float: none !important; margin: 0 !important; padding: 9px 16px !important; font-size: 15px !important; }
@media (max-width: 480px) { .oj-added__btns { flex-direction: column; } }

/* Sticky header with an always-visible order button */
.site-header { position: sticky; top: 0; z-index: 9100; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.ast-header-button-1 .ast-custom-button, .ast-header-button-1 .ast-builder-button-wrap .ast-custom-button {
	background: var(--oj-red) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	font-weight: 800 !important; font-size: 16px !important; padding: 11px 20px !important; line-height: 1 !important;
	box-shadow: 0 4px 14px rgba(200, 16, 46, .28); white-space: nowrap;
}
.ast-header-button-1 .ast-custom-button:hover { background: var(--oj-red-dark) !important; }
@media (max-width: 921px) {
	.ast-header-button-1 .ast-custom-button { font-size: 15px !important; padding: 10px 14px !important; }
}
.oj-btn--xl { font-size: 18px !important; padding: 16px 28px !important; }
@media (max-width: 900px) {
	.oj-hero { padding-top: 22px; }
	.oj-hero h1 { font-size: 36px; }
	.oj-hero__cta { margin-bottom: 16px; }
	.oj-hero__cta .oj-btn--xl { flex: 1 1 100%; }
	.oj-hero__media img { max-height: 220px; }
}
/* overflow-x:hidden on html/body (set elsewhere) breaks the sticky header; clip keeps the same look without it */
html, body { overflow-x: clip !important; overflow-y: visible !important; }
@media (max-width: 768px) {
	#acwp-toolbar-btn-wrap { left: 0 !important; }
	#acwp-toolbar-btn { width: 40px !important; height: 40px !important; }
	#acwp-toolbar-btn svg { width: 22px; height: 22px; }
}

/* Header icons: account and cart as matching soft circles */
.site-header .ast-header-account-wrap .ast-header-account-link,
.site-header .ast-site-header-cart .ast-addon-cart-wrap, .site-header .ast-site-header-cart .ast-cart-menu-wrap {
	display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px;
	border-radius: 50% !important; background: var(--oj-green-soft) !important; border: 1px solid #cfe8d6 !important; padding: 0 !important;
	transition: background .2s ease;
}
.site-header .ast-header-account-wrap .ast-header-account-link:hover,
.site-header .ast-site-header-cart:hover .ast-addon-cart-wrap { background: #d6eedc !important; }
.site-header .ast-header-account-wrap svg { width: 20px !important; height: 20px !important; fill: var(--oj-green-dark) !important; color: var(--oj-green-dark) !important; }
.site-header .ast-site-header-cart .ast-icon svg { width: 22px !important; height: 22px !important; fill: var(--oj-green-dark) !important; }
.site-header .ast-site-header-cart i.astra-icon { position: relative; line-height: 1; }
.site-header .ast-site-header-cart i.astra-icon::after {
	top: -12px !important; right: -14px !important; left: auto !important; min-width: 20px; height: 20px; line-height: 20px !important;
	border-radius: 999px !important; font-size: 12px !important; font-weight: 800; padding: 0 5px;
	background: var(--oj-red) !important; color: #fff !important; border: 2px solid #fff !important; box-sizing: content-box;
}
.site-header .ast-site-header-cart i.astra-icon[data-cart-total="0"]::after { display: none; }
.site-header .ast-header-account-wrap, .site-header .ast-site-header-cart { margin-inline: 4px; }
@media (max-width: 921px) {
	.site-header .ast-header-account-wrap .ast-header-account-link,
	.site-header .ast-site-header-cart .ast-addon-cart-wrap, .site-header .ast-site-header-cart .ast-cart-menu-wrap { width: 40px; height: 40px; }
	.ast-header-button-1 .ast-custom-button { padding: 9px 12px !important; font-size: 14px !important; }
	.site-header .ast-header-account-wrap, .site-header .ast-site-header-cart { margin-inline: 2px; }
}

/* Floating cart (FunnelKit): brand circle that matches the WhatsApp button */
#fkcart-floating-toggler .fkcart-floating-icon {
	width: 56px !important; height: 56px !important; border-radius: 50% !important;
	background: var(--oj-green) !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .25) !important;
	display: flex !important; align-items: center; justify-content: center; border: 0 !important;
}
#fkcart-floating-toggler .fkcart-floating-icon svg { width: 28px !important; height: 28px !important; }
#fkcart-floating-toggler .fkcart-floating-icon svg path { fill: #fff !important; stroke: none; }
#fkcart-floating-toggler [class*="count"], #fkcart-floating-toggler .fkcart-item-count {
	background: var(--oj-red) !important; color: #fff !important; border: 2px solid #fff !important;
	min-width: 22px; height: 22px; line-height: 18px; border-radius: 999px !important; font-weight: 800; font-size: 12px;
}
@media (prefers-reduced-motion: no-preference) { #fkcart-floating-toggler .fkcart-floating-icon { transition: transform .2s ease; } #fkcart-floating-toggler:hover .fkcart-floating-icon { transform: scale(1.06); } }

/* Alignment: floating cart box = 56px, same 20px offset as WhatsApp */
#fkcart-floating-toggler { width: 56px !important; height: 56px !important; padding: 0 !important; margin: 0 !important; left: 20px !important; bottom: 20px !important; }
#fkcart-floating-toggler .fkcart-floating-icon { position: absolute !important; inset: 0 !important; margin: 0 !important; }

/* Alignment: header items share one vertical centre */
.site-header .ast-builder-layout-element.ast-header-account,
.site-header .ast-builder-layout-element.ast-header-woo-cart,
.site-header .ast-builder-layout-element.ast-header-button-1,
.site-header .ast-builder-layout-element.ast-header-mobile-trigger,
.site-header .ast-site-header-cart, .site-header .ast-site-header-cart-li,
.site-header .ast-site-header-cart a.cart-container, .site-header .ast-header-account-wrap {
	display: flex !important; align-items: center !important; align-self: center !important; height: auto; margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important;
}
.site-header .ast-site-header-cart i.astra-icon, .site-header .ast-site-header-cart .ast-icon { display: flex !important; align-items: center; justify-content: center; line-height: 1 !important; vertical-align: middle; }
.ast-mobile-header-wrap .ast-primary-header-bar .site-primary-header-wrap { padding-inline: 12px !important; }
.ast-mobile-header-wrap .menu-toggle { margin: 0 !important; }
@media (max-width: 921px) {
	.ast-mobile-header-wrap .ast-primary-header-bar { padding-inline: 14px !important; }
	.ast-mobile-header-wrap .ast-builder-grid-row { width: 100% !important; max-width: 100% !important; }
	.ast-mobile-header-wrap .site-header-primary-section-right { gap: 6px; }
	.ast-mobile-header-wrap .site-header-primary-section-right .ast-builder-layout-element { padding: 0 !important; margin: 0 !important; }
	.ast-mobile-header-wrap .menu-toggle { padding: 8px !important; }
	.ast-mobile-header-wrap .custom-logo-link img { width: 54px !important; max-width: 54px !important; }
}

/* Event calculator */
.oj-calc { background: #fff; border: 1px solid var(--oj-line); border-radius: var(--oj-radius); padding: 22px; display: grid; gap: 14px; box-shadow: var(--oj-shadow); }
.oj-calc label { font-weight: 800; font-size: var(--fs-md); }
.oj-calc__row { display: flex; align-items: center; gap: 10px; }
.oj-calc__row input { width: 140px; min-height: 52px; font-size: 22px; font-weight: 800; text-align: center; border: 1px solid #cfc9bc; border-radius: 12px; }
.oj-calc__out { background: var(--oj-green-soft); border-radius: 12px; padding: 14px 16px; display: grid; gap: 4px; }
.oj-calc__liters { font-size: var(--fs-lg); margin: 0; }
.oj-calc__liters strong { color: var(--oj-green-dark); font-size: 30px; }
.oj-calc__price, .oj-calc__hint { margin: 0; color: var(--oj-muted); }
.oj-calc .oj-btn { justify-self: start; }

/* Gatomats */
.oj-gatomats { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.oj-gatomat { display: grid; gap: 6px; align-content: start; }
.oj-gatomat h3 { margin: 0 !important; }
.oj-gatomat__tag { justify-self: start; background: var(--oj-red); color: #fff; font-weight: 800; font-size: 14px; padding: 4px 12px; border-radius: 999px; }
.oj-gatomat__addr { font-weight: 700; margin: 0; }
.oj-gatomat p { margin: 0; }
.oj-gatomat__note { color: var(--oj-muted); font-size: var(--fs-sm); }
.oj-gatomat .oj-btn { justify-self: start; margin-top: 6px; }

/* Facts list */
.oj-factlist { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 0; }
.oj-factlist div { background: #fff; border: 1px solid var(--oj-line); border-radius: 14px; padding: 14px 16px; }
.oj-factlist dt { color: var(--oj-muted); font-size: var(--fs-sm); }
.oj-factlist dd { margin: 4px 0 0; font-weight: 800; font-size: var(--fs-md); }
