/*
Theme Name:   Astra Child
Theme URI:    https://wpastra.com/
Description:  Child theme for Astra, used on the Divyana Operations & Solutions site.
              All custom CSS and PHP changes belong here so they survive Astra updates.
Author:       Target Edge
Template:     astra
Version:      1.9.42
Text Domain:  astra-child
*/

/* ---------------------------------------------------------------
   Add custom CSS below this line.
   Anything written here overrides Astra and is never overwritten
   when the parent theme updates.
   --------------------------------------------------------------- */

/* Colours come from the logo (DIVYANA navy + "Operations & Solutions" plum),
   set in Customize > Global > Colors:
   1 plum #973947 (buttons, links) · 2 plum hover #7A2D39 · 3 navy #332F56 (headings) · 4 text #4A4858
   5 light bg #F5F4F8 · 6 white · 7 dark navy #28243F (top bar, footer) · 8 soft bg #F5F4F8 · 9 darkest #1C1930 */
:root {
	--dvy-on-dark-accent: #E7B9C0; /* light plum: hovers and lines on the dark navy top bar / footer */
	--dvy-border: #E4E2EC;         /* card and divider borders */
	--dvy-hero-bg: #DDE5FC;        /* header bar + homepage banner (one block) */
}

/* Placeholder details waiting for the client (phone, WhatsApp...): marked with .dvy-dummy so they are
   easy to find and replace, shown as normal text. */

/* ---------- Buttons: one system for the whole site ----------
   Primary   = solid plum pill (main action in each area). Default for every button.
   Secondary = outlined navy pill. Add the CSS class "dvy-btn-secondary" to an Elementor button
               (Advanced > CSS Classes) to use it.
   !important is needed because Elementor/WooCommerce/SureForms write their own per-button styles. */
:root {
	--dvy-btn-radius: 50px;
	--dvy-btn-pad: 15px 32px;
}
.elementor-button,
.ast-custom-button,
.woocommerce a.button,
.woocommerce button.button,
.dvy-enquiry-btn.button,
#srfm-submit-btn.srfm-submit-button {
	background: var(--ast-global-color-0) !important;
	color: #fff !important;
	border: 2px solid var(--ast-global-color-0) !important;
	border-radius: var(--dvy-btn-radius) !important;
	padding: var(--dvy-btn-pad) !important;
	font-family: 'Instrument Sans', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.elementor-button:hover,
.ast-custom-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.dvy-enquiry-btn.button:hover,
#srfm-submit-btn.srfm-submit-button:hover {
	background: var(--ast-global-color-1) !important;
	border-color: var(--ast-global-color-1) !important;
	color: #fff !important;
}
.elementor-button .elementor-button-text,
.elementor-button .elementor-button-icon {
	color: inherit !important;
	fill: currentColor;
}
.dvy-btn-secondary .elementor-button,
.button.dvy-btn-secondary {
	background: transparent !important;
	color: var(--ast-global-color-2) !important;
	border-color: var(--ast-global-color-2) !important;
}
.dvy-btn-secondary .elementor-button:hover,
.button.dvy-btn-secondary:hover {
	background: var(--ast-global-color-2) !important;
	border-color: var(--ast-global-color-2) !important;
	color: #fff !important;
}
@media (max-width: 544px) {
	:root {
		--dvy-btn-pad: 13px 26px;
	}
}

/* ---------- Top bar ---------- */
.ast-above-header-bar,
.ast-above-header-bar a {
	color: rgba(255, 255, 255, 0.85);
	font-size: 13px;
	letter-spacing: 0.04em;
}
.ast-above-header-bar a:hover {
	color: var(--dvy-on-dark-accent);
}
/* Pages with Astra's "transparent header" (About Us, Contact) would otherwise lose the dark top bar */
.ast-theme-transparent-header #masthead .ast-above-header-bar {
	background-color: var(--ast-global-color-6);
}
.ast-above-header-bar .dvy-sep {
	margin: 0 10px;
	opacity: 0.4;
}
.dvy-dummy {
	white-space: nowrap;
}
/* Mobile top bar: phone only (email stays in the footer) */
@media (max-width: 921px) {
	.ast-above-header-bar .dvy-sep,
	.ast-above-header-bar a[href^="mailto"] {
		display: none;
	}
}

/* ---------- Header ---------- */
/* Same colour as the banner so header + banner read as one block (the top bar stays dark navy) */
#masthead .main-header-bar-wrap,
#masthead .ast-primary-header-bar {
	background-color: var(--dvy-hero-bg);
}
/* Every other page: white header bar with a thin line under it (desktop + mobile header) */
body:not(.home) #masthead .main-header-bar-wrap,
body:not(.home) #masthead .ast-primary-header-bar {
	background-color: #fff;
}
body:not(.home) #masthead .main-header-bar-wrap {   /* on the full-width wrap: the mobile bar itself is inset */
	border-bottom: 1px solid var(--dvy-border);
}
.main-header-menu .menu-link {
	font-weight: 600;
	color: var(--ast-global-color-2);
}
/* Keep the menu on one line on smaller laptops */
@media (min-width: 922px) and (max-width: 1240px) {
	.ast-builder-menu-1 .main-header-menu .menu-item > .menu-link {
		padding-left: 10px;
		padding-right: 10px;
		font-size: 15px;
	}
}
.ast-header-button-1 .ast-custom-button {
	white-space: nowrap;
}

/* ---------- Icons: Lucide (thin outline, stroke 1.5) ----------
   Uploaded as SVGs in Media (titles "Lucide icon: ..."). Elementor fills icons by default; Lucide is
   drawn with lines, so keep the fill empty and colour the stroke. */
svg.lucide {
	fill: none !important;
	stroke: currentColor;
}
svg.lucide * {
	fill: none !important;
}
.elementor-button-icon svg.lucide {
	width: 18px;
	height: 18px;
}

/* ---------- Size scale (desktop / mobile) ----------
   Headings come from Customize > Global > Typography: H1 52/34 · H2 36/28 · H3 22/20 · H4 18/17.
   The rules below cover pieces that are not plain headings. */
.dvy-eyebrow .elementor-heading-title {        /* small label above a title: same type as the menu */
	font-family: 'Instrument Sans', sans-serif;
	font-size: 15px;                           /* = menu (Customize > Header > Menu 1) */
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: none; /* as typed, e.g. "Your Sourcing Partner in India" */
	color: var(--ast-global-color-1);     /* = active menu item */
}
.dvy-section-title {                           /* section title -> content = 48 (with the 20px container gap) */
	margin-bottom: 28px !important;
}
@media (max-width: 544px) {
	.dvy-section-title { margin-bottom: 12px !important; }
}
.dvy-section-intro {                           /* short intro line under a section title */
	max-width: 820px !important;
	margin-left: auto;
	margin-right: auto;
}
.dvy-section-intro p {
	font-size: 18px;
	line-height: 1.6;
}
/* Heading -> description = 10px everywhere (same as the banner); sections have a 20px gap, so pull the text up 10 */
.dvy-section-intro,
.dvy-contact-intro {
	margin-top: -10px !important;
}
.dvy-form-card-intro {
	margin-top: 2px !important;   /* card gap 8 + 2 = 10 */
}
.dvy-brand-card .elementor-image-box-title {
	margin-bottom: 10px !important;
}
.hfe-infocard-text {                           /* intro text under a big title */
	font-size: 18px;
	line-height: 1.6;
}
.elementor-icon-box-description {              /* small text in the trust strip */
	font-size: 15px;
	line-height: 1.5;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 18px;
	line-height: 1.35;
}
.elementor-toggle .elementor-tab-title,
.elementor-toggle .elementor-tab-title a {
	font-family: 'Inter', sans-serif;
	font-size: 17px;
	font-weight: 600;
}
@media (max-width: 544px) {
	.hfe-infocard-text { font-size: 16px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
	.elementor-toggle .elementor-tab-title,
	.elementor-toggle .elementor-tab-title a { font-size: 16px; }
}

/* ---------- Home: Hero ---------- */
.dvy-red {
	color: var(--ast-global-color-0);
}
.dvy-hero-points {
	border-top: 1px solid var(--dvy-border);
}

@media (max-width: 1024px) {
	.dvy-center-tablet,
	.dvy-center-tablet .elementor-heading-title {
		text-align: center;
	}
}

/* ---------- Home: Brand strip ---------- */
.dvy-logo-tile {
	background: #fff;
	border-radius: 8px;
}

/* ---------- Cards (Our Brands and similar) ---------- */
.dvy-card {
	background: #fff;
	border: 1px solid var(--dvy-border);
	border-top: 4px solid var(--ast-global-color-0);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.dvy-card:hover {
	box-shadow: 0 12px 30px rgba(51, 47, 86, 0.12);
	transform: translateY(-3px);
}
.dvy-card-img img {
	display: block;
}
/* Equal-height cards: the body fills the card and the link sits at the bottom */
.dvy-card > .dvy-card-body.e-con {
	--flex-grow: 1 !important;
	flex-grow: 1 !important;
}
.dvy-card-body > .dvy-text-link {
	margin-block-start: auto !important;
}
.dvy-text-link .elementor-button {
	padding: 0;
}

/* ---------- Home: brand cards ---------- */
/* Label, title, text, button, then the photo at the bottom (same height on every card, never behind the text). */
.dvy-card-picture a {
	display: block;   /* the link must be full width, or an unloaded picture has 0 width and never loads */
}
.dvy-card-picture img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	display: block;
	border-radius: 12px;
}
/* Text block grows so every card's button (and the photo under it) lines up */
.dvy-brand-card > .elementor-widget-image-box {
	--flex-grow: 1;
	flex-grow: 1 !important;
}
.dvy-section-divider {
	width: 100% !important;   /* full content width, not shrink-to-fit inside a centred column */
	align-self: stretch !important;
	margin-bottom: 36px !important;   /* + 20px container gap = 56px, same as the space above the line */
}
@media (max-width: 1024px) { .dvy-section-divider { margin-bottom: 28px !important; } }
@media (max-width: 544px) { .dvy-section-divider { margin-bottom: 20px !important; } }
/* Card buttons are text links: arrow + plum text, no pill; hover only underlines the text */
.dvy-btn-link .elementor-button {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	color: var(--ast-global-color-0) !important;
	font-size: 15px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: nowrap;
}
.dvy-btn-link .elementor-button:hover {
	background: transparent !important;
	color: var(--ast-global-color-0) !important;
}
.dvy-btn-link .elementor-button:hover .elementor-button-text {
	text-decoration: underline;
	text-underline-offset: 4px;
}
/* Same spacing around every card button (template left extra padding on one) */
.dvy-brand-card > .elementor-widget-button,
.dvy-brand-card > .elementor-widget-button > .elementor-widget-container {
	padding: 0 !important;
	margin: 0 !important;
}
.dvy-brand-card {
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.dvy-brand-card:hover {
	box-shadow: 0 14px 32px rgba(51, 47, 86, 0.10);
	transform: translateY(-3px);
}
@media (max-width: 544px) {
	.dvy-card-picture img { height: 200px; }
}

/* ---------- Home: "Our Brands" logo row ---------- */
.dvy-brand-logos .gallery-item img {
	height: 90px !important;
	width: auto !important;
	max-width: 100%;
	object-fit: contain;
	margin: 0 auto;
	background: #fff;
	padding: 8px 14px;
	border-radius: 6px;
}

/* ---------- Products: price on request + Send Enquiry ---------- */
.dvy-price-request {
	font-size: 0.95em;
	font-weight: 600;
	color: var(--ast-global-color-0);
}
.dvy-enquiry-wrap {
	margin: 10px 0 24px;
}

/* ---------- Footer (light: same colour as the header) ---------- */
.site-primary-footer-wrap a,
.site-below-footer-wrap a {
	color: var(--ast-global-color-2);
	text-decoration: none;
}
.site-primary-footer-wrap a:hover,
.site-below-footer-wrap a:hover {
	color: var(--ast-global-color-0);
}
.site-below-footer-wrap,
.site-below-footer-wrap p,
.site-below-footer-wrap .ast-footer-copyright {
	color: var(--ast-global-color-3);
	font-size: 14px;
}

/* The whole card is one link: the "Explore ... range" link stretches over the card */
.dvy-brand-card {
	position: relative;
	cursor: pointer;
}
.dvy-brand-card > .elementor-widget-button,
.dvy-brand-card > .elementor-widget-button .elementor-button-wrapper,
.dvy-brand-card > .elementor-widget-button .elementor-button {
	position: static !important;
}
.dvy-brand-card .dvy-btn-link .elementor-button::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: 16px;
}
.dvy-brand-card:hover .dvy-btn-link .elementor-button-text {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ---------- Home: products section (mixed featured grid) ---------- */
.dvy-product-grid {
	width: 100%;
}
.dvy-product-grid ul.products {
	margin-bottom: 0 !important;
	row-gap: 24px;
}
@media (min-width: 545px) and (max-width: 1024px) {
	.dvy-product-grid ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 24px; }
}
@media (max-width: 544px) {
	.dvy-product-grid ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 12px; row-gap: 12px; }
}

/* ---------- Product cards (everywhere products are listed) ---------- */
/* White card with a soft border; the photo fills the top of the card (no padding around it) */
.woocommerce ul.products li.product {
	display: flex !important;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	overflow: hidden;   /* photo corners follow the card's rounded top */
	padding: 0 0 24px !important;
	margin-bottom: 0 !important;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.woocommerce ul.products li.product:hover {
	box-shadow: 0 14px 32px rgba(51, 47, 86, 0.10);
	transform: translateY(-3px);
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
	margin-bottom: 0 !important;
}
/* New photos with space built in are shown as they are */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a > img {
	border-radius: 0;
}
/* Photo shown at 82% on a blurred copy of itself (see functions.php), so the product has space around it */
.dvy-thumb {
	display: contents;
}
ul.products li.product .dvy-thumb {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	isolation: isolate;
}
ul.products li.product .dvy-thumb::before {
	content: "";
	position: absolute;
	inset: -15%;
	z-index: -1;
	background: var(--dvy-thumb) center / cover no-repeat;
	filter: blur(20px);
}
ul.products li.product .dvy-thumb img {
	position: absolute;
	inset: 9%;
	width: 82% !important;
	height: 82% !important;
	object-fit: contain;
	border-radius: 0 !important;
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 4%, #000 96%, transparent), linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to bottom, transparent, #000 4%, #000 96%, transparent), linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
	mask-composite: intersect;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-grow: 1;
	padding: 16px 16px 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin-bottom: 6px;
}
.woocommerce ul.products li.product .price {
	margin-bottom: 18px !important;
}
/* Send Enquiry: slim outlined button (fills on hover), pinned to the card bottom */
.woocommerce ul.products li.product .button.dvy-enquiry-btn {
	margin-top: auto !important;
	background: transparent !important;
	color: var(--ast-global-color-0) !important;
	border: 1.5px solid var(--ast-global-color-0) !important;
	padding: 10px 24px !important;
	font-size: 14px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: nowrap;
}
.woocommerce ul.products li.product .button.dvy-enquiry-btn:hover {
	background: var(--ast-global-color-0) !important;
	color: #fff !important;
}
@media (max-width: 544px) {
	.woocommerce ul.products li.product { padding: 0 0 16px !important; border-radius: 12px; }
	.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 12px 10px 0; }
	.woocommerce ul.products li.product .button.dvy-enquiry-btn { padding: 8px 14px !important; font-size: 13px !important; }
}
/* Section button under the content: 48px from the content (28 + 20px container gap) */
.dvy-section-cta {
	margin-top: 28px !important;
}
@media (max-width: 544px) {
	.dvy-section-cta { margin-top: 12px !important; }
}

/* ---------- Home: Why us (photo left; heading, divider, 2 x 2 points and button right) ---------- */
.dvy-why-photo img {
	width: 100% !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 16px;
	display: block;
}
.dvy-why-divider {
	width: 100%;
}
.dvy-why-grid > .dvy-why-item {
	width: calc((100% - 32px) / 2) !important;   /* 2 in a row, 32px gap */
}
.dvy-why-item .elementor-icon-box-title {
	font-size: 19px;
	margin-bottom: 8px;
}
.dvy-why-item .elementor-icon-box-description {
	font-size: 15px;
	line-height: 1.6;
}
@media (max-width: 1024px) {
	.dvy-why-photo img { aspect-ratio: 16 / 10; }
}
@media (max-width: 544px) {
	.dvy-why-grid > .dvy-why-item { width: 100% !important; }
	.dvy-why-photo img { aspect-ratio: 1 / 1; }
}

/* ---------- Home: banner ---------- */
/* The whole picture always shows at full width, sitting on the bottom edge. Where the text needs more room
   the banner grows and the space above the picture is the same flat wall colour (--dvy-hero-bg), so nothing
   is cut and the products never slide under the text.
   Desktop/laptop: wide picture behind the text (products on the right), banner at least as tall as the picture.
   Tablet: same wide picture under the text (products start 6% from its top, picture = 41.67% of the width).
   Mobile: tall picture; the text sits on the empty wall in its top half (products start at 52.6%). */
@media (min-width: 1025px) {
	.elementor-element-3849851.e-con {
		--min-height: 41.66vw !important;
		min-height: 41.66vw !important;
		background-size: 100% auto !important;
		background-position: right bottom !important;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-element-3849851.e-con {
		--min-height: 0px !important;
		min-height: 0 !important;
		--padding-bottom: calc(39.1vw + 32px) !important;
	}
}
@media (max-width: 767px) {
	.elementor-element-3849851.e-con {
		--min-height: 148.2vw !important;
		min-height: 148.2vw !important;
		--padding-bottom: calc(70.2vw + 24px) !important;
	}
}

/* ---------- Home: What we offer (centred heading, 4 equal icon cards; LP text) ---------- */
.dvy-offer-grid > .dvy-offer-card {
	width: calc((100% - 72px) / 4) !important;   /* 4 in a row, 24px gaps */
	background: var(--ast-global-color-4);
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	padding: 32px 28px !important;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.dvy-offer-grid > .dvy-offer-card:hover {
	box-shadow: 0 14px 32px rgba(51, 47, 86, 0.10);
	transform: translateY(-3px);
}
.dvy-offer-card .elementor-icon-box-title {
	font-size: 20px;
	margin-bottom: 10px !important;
}
.dvy-offer-card .elementor-icon-box-description {
	font-size: 15px;
	line-height: 1.6;
}
@media (max-width: 1024px) {
	.dvy-offer-grid > .dvy-offer-card { width: calc((100% - 24px) / 2) !important; }
}
@media (max-width: 544px) {
	.dvy-offer-grid > .dvy-offer-card { width: 100% !important; padding: 24px !important; }
}

/* ---------- Home: bulk quantities band (photo + dark overlay, centred text) ---------- */
.dvy-bulk-band.e-con {
	overflow: hidden;   /* keeps the photo and overlay inside the rounded corners */
}
/* Light button for dark backgrounds */
.dvy-btn-light .elementor-button {
	background: #fff !important;
	border-color: #fff !important;
	color: var(--ast-global-color-2) !important;
	white-space: nowrap;
}
.dvy-btn-light .elementor-button:hover {
	background: var(--dvy-on-dark-accent) !important;
	border-color: var(--dvy-on-dark-accent) !important;
	color: var(--ast-global-color-2) !important;
}
@media (max-width: 544px) {
	.dvy-bulk-patch .elementor-heading-title { font-size: 22px; }
	.dvy-bulk-text p { font-size: 16px; }
}

/* ---------- Home: contact section (dark, form card on the right) ---------- */
.dvy-leaf-on-dark img {
	filter: brightness(2.1) saturate(0.6);   /* plum leaf reads as soft pink on dark navy */
}
.dvy-contact-intro p {
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
}
.dvy-contact-item .elementor-icon-box-title {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 2px;
}
.dvy-contact-item .elementor-icon-box-description {
	font-size: 16px !important;
	line-height: 1.5;
}
.dvy-contact-item .elementor-icon {
	border-color: rgba(231, 185, 192, 0.45) !important;
}
.dvy-contact-item .elementor-icon-box-wrapper {
	align-items: center;
}
.dvy-form-card .elementor-heading-title {
	font-size: 26px;
}
.dvy-form-card-intro p {
	margin: 0 0 12px;
	font-size: 15px;
}

/* ---------- Forms (SureForms): tighter rows + arrow on the submit button ---------- */
/* The space kept under every field for error messages no longer adds to the gap; errors appear in the gap */
.srfm-form .srfm-block {
	position: relative;
}
.srfm-form .srfm-block .srfm-error-wrap {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
}
/* Fields a little taller, rows a little closer */
.srfm-form {
	row-gap: 8px !important;
}
.srfm-form .srfm-input-common:not(textarea) {
	height: 48px !important;
	padding: 12px 16px !important;
}
.srfm-form textarea.srfm-input-common {
	padding: 12px 16px !important;
}
/* Arrow before the button text, like the other buttons; a little more space above it than between rows */
#srfm-submit-btn.srfm-submit-button {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
}
#srfm-submit-btn.srfm-submit-button::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / 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='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Popup (class "dvy-modal" + CSS ID; opened by links to "#partner") ---------- */
.dvy-modal.e-con {
	display: none !important;
	position: fixed !important;
	inset: 0;
	z-index: 100000;
	background: rgba(28, 25, 48, 0.62) !important;
	align-items: center !important;
	justify-content: center !important;
	overflow-y: auto;
}
.dvy-modal.e-con.is-open {
	display: flex !important;
}
.dvy-modal .dvy-modal-card {
	position: relative;
	width: 100% !important;
	max-width: 680px !important;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	flex-wrap: nowrap !important;   /* a wrapping column would push the form into a second column on short screens */
	box-shadow: 0 24px 60px rgba(28, 25, 48, 0.3);
}
.dvy-modal-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ast-global-color-4);
	color: var(--ast-global-color-2);
	cursor: pointer;
}
.dvy-modal-close:hover {
	background: var(--ast-global-color-0);
	color: #fff;
}
html.dvy-modal-lock {
	overflow: hidden;
}
/* In the Elementor editor the popup shows at the bottom of the page so it can be edited */
.elementor-editor-active .dvy-modal.e-con {
	display: flex !important;
	position: relative !important;
	inset: auto;
	z-index: auto;
}

/* ---------- Footer (simple: logo | menu | social, line, copyright) ---------- */
.site-footer .footer-widget-area .widget_media_image img {
	width: 180px;
	height: auto;
}
.site-footer .ast-builder-footer-menu .menu-link,
.site-footer #astra-footer-menu .menu-link {
	font-size: 15px;
	font-weight: 600;
}
.site-footer .ast-footer-copyright {
	font-size: 14px;
}
@media (max-width: 544px) {
	.site-footer .footer-widget-area .widget_media_image img { width: 150px; }
}
/* WhatsApp link (icon + number) in the footer: same look as the footer menu */
.site-footer .ast-builder-social-element,
.site-footer .ast-builder-social-element .social-item-label {
	color: var(--ast-global-color-3) !important;
	font-size: 15px;
	font-weight: 600;
}
.site-footer .ast-builder-social-element svg {
	fill: currentColor !important;
}
.site-footer .ast-builder-social-element:hover,
.site-footer .ast-builder-social-element:hover .social-item-label {
	color: var(--ast-global-color-0) !important;
}
/* Contact section icons: thin 1px circle */
.dvy-contact-item .elementor-icon {
	border-width: 1px !important;
}

/* ---------- Legal pages (Privacy Policy, Terms of Use): readable text column ---------- */
/* Extra classes so Elementor's own "widget max-width: 100%" rule does not win */
.dvy-legal,
.e-con.e-con > .e-con-inner > .elementor-widget.dvy-legal {
	width: 100%;
	max-width: 820px;
}
/* Last paragraph: no extra space before the section's bottom padding */
.dvy-legal p:last-child {
	margin-bottom: 0;
}
.dvy-legal h2 {
	font-size: 22px;
	margin: 40px 0 12px;
	color: var(--ast-global-color-2);
}
.dvy-legal p,
.dvy-legal li {
	font-size: 16px;
	line-height: 1.75;
}
.dvy-legal p {
	margin: 0 0 16px;
}
.dvy-legal ul {
	margin: 0 0 16px 1.25em;
}
.dvy-legal li {
	margin-bottom: 6px;
}
.dvy-legal a {
	color: var(--ast-global-color-0);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.dvy-legal-updated p {
	font-size: 15px !important;
}

/* ---------- Brand cards: brand logo above the label and heading ---------- */
.dvy-brand-logo img {
	height: 120px !important;
	width: auto !important;
	max-width: 100%;
	object-fit: contain;
	display: block;
}
.dvy-brand-card > .dvy-brand-logo {
	margin: 4px 0 8px !important;
}
@media (max-width: 544px) {
	.dvy-brand-logo img { height: 100px !important; }
}

/* ---------- Header: "Get in Touch" as a plum button (footer keeps it as a plain link) ---------- */
.site-header .main-header-menu > .dvy-menu-cta > .menu-link {
	background: var(--ast-global-color-0);
	color: #fff !important;
	border-radius: 50px;
	padding: 12px 24px !important;
	margin-left: 8px;
	line-height: 1.2;
	transition: background-color 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
/* Arrow before the text, like the other buttons (same icon as the form button) */
.site-header .main-header-menu > .dvy-menu-cta > .menu-link::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / 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='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.site-header .main-header-menu > .dvy-menu-cta > .menu-link:hover,
.site-header .main-header-menu > .dvy-menu-cta.current-menu-item > .menu-link {
	background: var(--ast-global-color-1);
	color: #fff !important;
}
.ast-mobile-popup-drawer .dvy-menu-cta > .menu-link {
	color: var(--ast-global-color-0) !important;
	font-weight: 600;
}

/* ---------- Form labels above the fields (like the LP) ---------- */
.srfm-form .srfm-block-label,
.srfm-form .srfm-block-legend {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--ast-global-color-2) !important;
	margin-bottom: 6px !important;
}
.srfm-form .srfm-dropdown-common-wrap .ts-control {
	min-height: 48px !important;
	padding: 12px 16px !important;
	align-items: center;
}
/* Menu links to homepage sections (Our Brands, Why Divyana) never look like the "current page" */
.main-header-menu .menu-item > .menu-link[href*="#"],
.site-footer .menu-item > .menu-link[href*="#"] {
	color: var(--ast-global-color-3) !important;
}
.main-header-menu .menu-item > .menu-link[href*="#"]:hover,
.site-footer .menu-item > .menu-link[href*="#"]:hover {
	color: var(--ast-global-color-0) !important;
}
/* Header button vertically centred with the other menu links */
.site-header .main-header-menu > .dvy-menu-cta {
	display: flex;
	align-items: center;
	align-self: center;
}
/* Contact section: email and phone are links but keep their white text (pink on hover) */
.dvy-contact-item .elementor-icon-box-description a {
	color: #fff !important;
	text-decoration: none;
}
.dvy-contact-item .elementor-icon-box-description a:hover {
	color: var(--dvy-on-dark-accent) !important;
}

/* ---------- Our Brands page: logo panel + "what it covers" tag lists ---------- */
.dvy-brand-panel-logo img {
	max-height: 180px;
	width: auto !important;
	max-width: 100%;
	object-fit: contain;
}
.dvy-brand-intro p {
	font-size: 18px;
	line-height: 1.6;
}
.dvy-brand-intro strong {
	color: var(--ast-global-color-2);
	font-weight: 600;
}
.dvy-chip-group {
	margin-bottom: 20px;
}
.dvy-chip-group h3 {
	font-size: 16px;
	font-weight: 600;
	color: var(--ast-global-color-2);
	margin: 0 0 10px;
}
.dvy-chips {
	list-style: none;
	margin: 0 !important;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.dvy-chips li {
	margin: 0;
	padding: 6px 14px;
	font-size: 14px;
	line-height: 1.4;
	color: var(--ast-global-color-3);
	background: #fff;
	border: 1px solid var(--dvy-border);
	border-radius: 50px;
}
.dvy-chip-note {
	font-size: 14px;
	font-style: italic;
	color: var(--ast-global-color-3);
	margin: 4px 0 0 !important;
}
@media (max-width: 544px) {
	.dvy-brand-panel-logo img { max-height: 130px; }
	.dvy-brand-intro p { font-size: 16px; }
	.dvy-chips li { font-size: 13px; padding: 5px 12px; }
}
/* Desktop: the logo panel stays in view while the brand's list scrolls */
@media (min-width: 1025px) {
	.dvy-brand-panel.e-con {
		position: sticky;
		top: 32px;
	}
}
/* Placeholder text still waiting for client details (remove the span when real details arrive) */
.dvy-placeholder {
	display: inline-block;
	font-size: 13px;
	font-style: italic;
	color: var(--ast-global-color-0);
}
/* Centred tag lists (Quality page packing options) */
.dvy-chip-center {
	width: 100%;
	max-width: 820px;
	text-align: center;
}
.dvy-chip-center .dvy-chips {
	justify-content: center;
}
/* Cards on a grey section are white so they stand out */
.elementor-element-dvyqshd .dvy-offer-grid > .dvy-offer-card,
.elementor-element-dvyabhd .dvy-offer-grid > .dvy-offer-card,
.elementor-element-dvyabvl .dvy-offer-grid > .dvy-offer-card,
.dvy-pack-grid > .dvy-pack-card {
	background: #fff;
}

/* ---------- Quality page: packing options as two cards with tick lists ---------- */
.dvy-pack-grid.e-con {
	width: 100%;
	max-width: 1000px;
}
.dvy-pack-grid > .dvy-pack-card {
	width: calc((100% - 24px) / 2) !important;
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	padding: 32px 28px !important;
}
.dvy-offer-card-text .elementor-icon-box-title {
	font-size: 20px;
	margin-bottom: 10px !important;
}
.dvy-offer-card-text .elementor-icon-box-description {
	font-size: 15px;
	line-height: 1.6;
}
.dvy-tick-list {
	border-top: 1px solid var(--dvy-border);
	padding-top: 24px;
}
.dvy-tick-list .elementor-icon-list-text {
	font-size: 15px;
}
.dvy-tick-list .elementor-icon-list-icon svg {
	stroke: var(--ast-global-color-0);
}
.dvy-pack-note p {
	margin: 0 !important;
}
@media (max-width: 767px) {
	.dvy-pack-grid > .dvy-pack-card { width: 100% !important; padding: 24px !important; }
}

/* ---------- CTA bands: line -> button gap (20px container gap + 16) ---------- */
.dvy-cta-text {
	margin-bottom: 16px !important;
}
.dvy-cta-text p:last-child {
	margin-bottom: 0 !important;
}

/* ---------- 404 page: one grey band, no white box ---------- */
.error404 .site-content > .ast-container {
	max-width: none;
	padding: 0;
	display: block;
}
.dvy-404 {
	width: 100%;
	background: var(--ast-global-color-4);
	padding: 120px 24px;
	text-align: center;
}
.dvy-404-inner {
	max-width: 640px;
	margin: 0 auto;
}
.dvy-404-leaf {
	display: block;
	width: 75px;
	height: auto;
	margin: 0 auto 20px;
}
.dvy-404-code {
	font-family: 'Inter', sans-serif;
	font-size: 120px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--ast-global-color-0);
	margin: 0 0 16px !important;
}
.dvy-404-title {
	color: var(--ast-global-color-2);
	margin: 0 0 10px !important;
}
.dvy-404-text {
	font-size: 18px;
	line-height: 1.6;
	color: var(--ast-global-color-3);
	margin: 0 0 32px !important;
}
.dvy-404-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}
.dvy-404-actions .ast-custom-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
}
.ast-custom-button.dvy-btn-secondary {
	background: transparent !important;
	color: var(--ast-global-color-2) !important;
	border-color: var(--ast-global-color-2) !important;
}
.ast-custom-button.dvy-btn-secondary:hover {
	background: var(--ast-global-color-2) !important;
	border-color: var(--ast-global-color-2) !important;
	color: #fff !important;
}
@media (max-width: 921px) {
	.dvy-404 { padding: 96px 30px; }
}
@media (max-width: 544px) {
	.dvy-404 { padding: 72px 20px; }
	.dvy-404-code { font-size: 88px; }
	.dvy-404-text { font-size: 16px; }
}

/* About: two paragraphs in "Who we are" */
.elementor-element-dvyabwho .dvy-contact-intro p:not(:last-child) {
	margin-bottom: 12px !important;
}

/* About banner: company text (2 paragraphs) + facts in the Home advantages style */
.dvy-about-intro.elementor-widget {
	max-width: 900px !important;
}
.dvy-about-intro p:not(:last-child) {
	margin-bottom: 12px !important;
}
.dvy-fact-row > .e-con {
	width: auto !important;
	flex: 0 1 auto;
}
@media (max-width: 767px) {
	.dvy-fact-row.e-con { align-items: flex-start; width: fit-content; margin: 0 auto; }
}

/* ---------- Our Brands v2: brand text + product photo strip + name boxes ---------- */
.dvy-ob-logo img {
	height: 88px !important;
	width: auto !important;
	display: block;
}
.dvy-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.dvy-strip-item {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.dvy-strip-item:hover {
	box-shadow: 0 14px 32px rgba(51, 47, 86, 0.10);
	transform: translateY(-3px);
}
.dvy-strip-img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.dvy-strip-name {
	padding: 12px 14px 14px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ast-global-color-2);
}
.dvy-group-wrap.elementor-widget {
	width: 100%;
}
.dvy-group-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}
.dvy-group {
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	padding: 24px;
	background: var(--ast-global-color-4);
}
.dvy-ob-bg4 .dvy-group {
	background: #fff;
}
.dvy-group h3 {
	font-size: 17px;
	margin: 0 0 10px;
	color: var(--ast-global-color-2);
}
.dvy-group p {
	font-size: 15px;
	line-height: 1.8;
	color: var(--ast-global-color-3);
	margin: 0 !important;
}
.dvy-group .dvy-gs {
	color: var(--ast-global-color-0);
	padding: 0 4px;
}
.dvy-group .dvy-gi {
	white-space: nowrap;
}
.dvy-group-wrap .dvy-chip-note {
	margin-top: 16px !important;
}
@media (max-width: 1024px) {
	.dvy-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.dvy-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.dvy-ob-logo img { height: 72px !important; }
	.dvy-group { padding: 20px; }
}

/* ---------- Shop sidebar: white card, search with icon, categories with counts ---------- */
.woocommerce #secondary .sidebar-main,
.woocommerce-page #secondary .sidebar-main {
	background: #fff;
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	padding: 28px 24px;
}
.woocommerce #secondary .widget {
	margin-bottom: 0;
}
.wc-block-product-search .wc-block-product-search__fields {
	display: flex;
}
.wc-block-product-search .wc-block-product-search__field {
	height: 48px;
	border: 1px solid var(--dvy-border) !important;
	border-right: 0 !important;
	border-radius: 8px 0 0 8px !important;
	padding: 0 14px !important;
	font-size: 15px;
	background: #fff;
}
.wc-block-product-search .wc-block-product-search__button {
	width: 48px !important;
	min-width: 48px;
	height: 48px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 8px 8px 0 !important;
	background: var(--ast-global-color-0) !important;
	color: #fff !important;
	border: 0;
}
.wc-block-product-search .wc-block-product-search__button:hover {
	background: var(--ast-global-color-1) !important;
}
.wc-block-product-search .wc-block-product-search__button svg {
	width: 20px !important;
	height: 20px !important;
	fill: currentColor !important;
}
.dvy-side-title {
	font-size: 20px !important;
	color: var(--ast-global-color-2);
	margin: 32px 0 12px !important;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--dvy-border);
}
.wc-block-product-categories-list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}
.wc-block-product-categories-list-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 !important;
	padding: 9px 0;
	font-size: 16px;
}
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
	color: var(--ast-global-color-2);
	font-weight: 600;
}
.wc-block-product-categories-list-item a {
	text-decoration: none;
}
.wc-block-product-categories-list-item a:hover {
	color: var(--ast-global-color-0) !important;
}
.wc-block-product-categories-list-item-count {
	min-width: 32px;
	padding: 2px 8px;
	border-radius: 50px;
	background: var(--ast-global-color-4);
	color: var(--ast-global-color-3);
	font-size: 13px;
	text-align: center;
}
.wc-block-product-categories-list-item-count::before,
.wc-block-product-categories-list-item-count::after {
	content: none !important;
}
.wc-block-product-categories-list--depth-1 {
	flex-basis: 100%;
	margin: 4px 0 0 !important;
	padding-left: 16px !important;
}
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item {
	padding: 6px 0;
	font-size: 15px;
}
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item a {
	color: var(--ast-global-color-3);
	font-weight: 400;
}

/* ---------- Shop / category pages: title -> description 10px, sorting field, card row gap ---------- */
.woocommerce-products-header .woocommerce-products-header__title {
	margin-bottom: 10px !important;
}
.woocommerce-products-header .page-description p,
.woocommerce-products-header .term-description p {
	margin-bottom: 0;
}
.woocommerce-products-header {
	margin-bottom: 32px;
}
.woocommerce .woocommerce-ordering select {
	height: 48px;
	padding: 0 40px 0 16px !important;
	background-color: #fff !important;
	border: 1px solid var(--dvy-border) !important;
	border-radius: 8px;
	font-size: 15px;
	color: var(--ast-global-color-2);
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 24px !important;
	line-height: 48px;
}
.woocommerce ul.products {
	row-gap: 24px !important;
	column-gap: 24px !important;
}

/* ---------- Single product: clear spacing in the details column ---------- */
.single-product div.product .summary {
	display: flex;
	flex-direction: column;
}
.single-product .summary .woocommerce-breadcrumb { order: 1; margin: 0 0 16px !important; font-size: 14px; }
.single-product .summary .product_title {
	order: 2;
	font-weight: 600 !important;
	font-size: 44px;
	line-height: 1.15;
	margin: 0 0 16px !important;
	color: var(--ast-global-color-2);
}
.single-product .summary .price { order: 3; margin: 0 0 16px !important; font-size: 20px !important; }
.single-product .summary .woocommerce-product-details__short-description {
	order: 4;
	margin: 0 0 28px;
	font-size: 17px;
	line-height: 1.7;
	color: var(--ast-global-color-3);
}
.single-product .summary .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.single-product .summary .dvy-enquiry-wrap { order: 5; margin: 0 0 32px !important; }
.single-product .summary .product_meta {
	order: 6;
	margin: 0 !important;
	padding-top: 20px;
	border-top: 1px solid var(--dvy-border);
	font-size: 15px;
	color: var(--ast-global-color-3);
}
@media (max-width: 544px) {
	.single-product .summary .product_title { font-size: 32px; }
	.single-product .summary .woocommerce-product-details__short-description { font-size: 16px; }
}

/* ---------- Our Brands v3 (layout 2): centred brand header + category cards with tick lists ---------- */
.dvy-ob-intro.elementor-widget {
	max-width: 820px !important;
}
.dvy-ob-head .dvy-ob-logo img {
	margin: 0 auto;
}
.dvy-cat-wrap.elementor-widget {
	width: 100%;
}
.dvy-cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 24px;
	align-items: start;
}
.dvy-cat-grid.is-single {
	max-width: 560px;
	margin: 0 auto;
	grid-template-columns: 1fr;
}
.dvy-cat-grid.is-single .dvy-ticks {
	columns: 2;
}
.dvy-cat-card {
	background: var(--ast-global-color-4);
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	padding: 28px;
}
.dvy-ob-bg4 .dvy-cat-card {
	background: #fff;
}
.dvy-cat-card h3 {
	font-size: 18px;
	margin: 0 0 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--dvy-border);
	color: var(--ast-global-color-2);
}
.dvy-ticks {
	list-style: none;
	margin: 0 !important;
	padding: 0;
}
.dvy-ticks li {
	position: relative;
	padding-left: 28px;
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ast-global-color-3);
	break-inside: avoid;
}
.dvy-ticks li:last-child {
	margin-bottom: 0;
}
.dvy-ticks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	background: var(--ast-global-color-0);
	-webkit-mask: url("../../uploads/2026/11/lucide-circle-check.svg") center / contain no-repeat;
	mask: url("../../uploads/2026/11/lucide-circle-check.svg") center / contain no-repeat;
}
.dvy-cat-wrap .dvy-chip-note {
	margin-top: 20px !important;
	text-align: center;
}
@media (max-width: 544px) {
	.dvy-cat-card { padding: 22px 20px; }
}
.wc-block-product-search .wc-block-product-search__field {
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
}
.woocommerce #secondary,
.woocommerce-page #secondary,
.woocommerce #primary,
.woocommerce-page #primary {
	border: 0 !important;
}
.woocommerce .woocommerce-result-count {
	margin-top: 0 !important;
}
/* Brand logos have a white background: show each on a small white tile (same on white and grey sections) */
.dvy-ob-head .dvy-ob-logo img {
	height: 104px !important;
	padding: 12px 20px;
	background: #fff;
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	box-sizing: border-box;
}
@media (max-width: 767px) {
	.dvy-ob-head .dvy-ob-logo img { height: 88px !important; }
}
/* Long lists (more than 8 names) use two columns when the card is wide enough */
.dvy-ticks.is-long {
	columns: 130px 2;
	column-gap: 20px;
}

/* ---------- Shop sidebar: wider card, "Most Enquired" list ---------- */
.woocommerce.ast-left-sidebar #secondary,
.woocommerce-page.ast-left-sidebar #secondary {
	padding-right: 32px !important;
}
.dvy-side-products {
	list-style: none;
	margin: 0 !important;
	padding: 0;
}
.dvy-side-products li {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 12px 0;
	margin: 0;
	border-bottom: 1px solid var(--dvy-border);
}
.dvy-side-products li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.dvy-side-thumb {
	flex: 0 0 72px;
}
.dvy-side-thumb img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--dvy-border);
}
.dvy-side-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.dvy-side-cat {
	font-size: 12px;
	color: var(--ast-global-color-3);
}
.dvy-side-name {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ast-global-color-2) !important;
	text-decoration: none;
}
.dvy-side-name:hover {
	color: var(--ast-global-color-0) !important;
}
.dvy-side-info .dvy-price-request {
	font-size: 13px;
}

/* ---------- Sorting: room after the arrow ---------- */
.woocommerce .woocommerce-ordering select {
	background-position: calc(100% - 16px) center !important;
	padding-right: 48px !important;
}

/* ---------- Shop + category titles: same style as headings elsewhere ---------- */
.woocommerce-products-header .woocommerce-products-header__title,
.woocommerce .woocommerce-products-header__title.page-title {
	color: var(--ast-global-color-2) !important;
	font-weight: 600 !important;
}

/* ---------- Contact: details + form on the grey band (light version of the Home section) ---------- */
.dvy-contact-light .dvy-contact-item .elementor-icon {
	border-color: var(--dvy-border) !important;
	background: #fff;
}
.dvy-contact-light .dvy-contact-item .elementor-icon-box-description a {
	color: var(--ast-global-color-2) !important;
}
.dvy-contact-light .dvy-contact-item .elementor-icon-box-description a:hover {
	color: var(--ast-global-color-0) !important;
}
.dvy-contact-light .dvy-form-card {
	border: 1px solid var(--dvy-border);
}

/* ---------- About: line between company text and facts ---------- */
.dvy-about-divider.elementor-widget {
	width: 100%;
	margin: 20px 0 !important;   /* 20 + 20px gap = 40px above and below the line */
}

/* ---------- Our Brands v4: photo + text per brand (alternating), range tiles, logo shortcuts ---------- */
.dvy-ob-jump-wrap.elementor-widget {
	width: 100%;
}
.dvy-ob-jump {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
}
.dvy-ob-jump a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 200px;
	padding: 20px 16px 16px;
	background: #fff;
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.dvy-ob-jump a:hover {
	box-shadow: 0 14px 32px rgba(51, 47, 86, 0.10);
	transform: translateY(-3px);
}
.dvy-ob-jump img {
	height: 64px;
	width: auto;
	display: block;
}
.dvy-ob-jump span {
	font-size: 15px;
	font-weight: 600;
	color: var(--ast-global-color-2);
}
html {
	scroll-behavior: smooth;
}
.dvy-ob-brand {
	scroll-margin-top: 24px;
}
.dvy-ob-photo.e-con {
	position: relative;
	flex-shrink: 0;   /* stacked on tablet/phone it must keep the photo height */
}
.dvy-ob-photo .dvy-ob-photo-img {
	flex-shrink: 0;
}
.dvy-ob-photo-img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 16px;
}
.dvy-ob-badge.elementor-widget {
	position: absolute !important;
	left: 20px;
	bottom: 20px;
	width: auto !important;
	margin: 0 !important;
}
.dvy-ob-badge img {
	display: block;
	height: 84px !important;
	width: auto !important;
	padding: 10px 16px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(51, 47, 86, 0.14);
}
.dvy-range-wrap.elementor-widget {
	width: 100%;
}
.dvy-range-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}
.dvy-range {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: var(--ast-global-color-4);
	border: 1px solid var(--dvy-border);
	border-radius: 12px;
}
.dvy-ob-bg4 .dvy-range {
	background: #fff;
}
.dvy-range-num {
	flex: 0 0 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #F3E7E9;
	color: var(--ast-global-color-0);
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 17px;
}
.dvy-range-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.dvy-range-text strong {
	font-size: 15px;
	font-weight: 600;
	color: var(--ast-global-color-2);
}
.dvy-range-text span {
	font-size: 13px;
	line-height: 1.45;
	color: var(--ast-global-color-3);
}
.dvy-range-note p {
	margin: -6px 0 0 !important;
}
@media (max-width: 1024px) {
	.dvy-ob-photo-img img { aspect-ratio: 16 / 10; }
}
@media (max-width: 544px) {
	.dvy-ob-jump a { width: calc(50% - 8px); padding: 16px 10px 12px; }
	.dvy-ob-jump img { height: 52px; }
	.dvy-ob-badge.elementor-widget { left: 12px; bottom: 12px; }
	.dvy-ob-badge img { height: 64px !important; padding: 8px 12px; }
	.dvy-ob-photo-img img { aspect-ratio: 4 / 3; }
}
.dvy-about-intro p:last-child {
	margin-bottom: 0 !important;
}

/* ---------- Contact: details as cards (icon on top, text below) ---------- */
.dvy-contact-card.elementor-widget {
	width: 100%;
}
.dvy-contact-card .elementor-widget-container {
	background: #fff;
	border: 1px solid var(--dvy-border);
	border-radius: 16px;
	padding: 24px;
}
.dvy-contact-card .elementor-icon-box-wrapper {
	align-items: flex-start !important;
	text-align: left;
}
.dvy-contact-light .dvy-contact-card .elementor-icon {
	background: #F3E7E9;
	border-color: #F3E7E9 !important;
}
.dvy-contact-card .elementor-icon-box-title {
	font-size: 15px;
	margin-bottom: 4px;
}

/* ---------- Our Brands: pointer list instead of tiles ---------- */
.dvy-ob-points li {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 1.6;
}
.dvy-ob-points li::before {
	top: 4px;
}
.dvy-ob-points strong {
	color: var(--ast-global-color-2);
	font-weight: 600;
}
