:root {
	--wd-text-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 14px;
	--wd-title-font: var(--wd-text-font);
	--wd-title-font-weight: 600;
	--wd-title-color: #242424;
	--wd-entities-title-font: var(--wd-title-font);
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: var(--wd-text-font);
	--wd-widget-title-font: var(--wd-title-font);
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: var(--wd-text-font);
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: #092a47;
	--wd-alternative-color: #fbbc34;
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: #092a47;
	--btn-accented-bgcolor-hover: #0d3a62;
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
	--wd-sticky-btn-height: 95px;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: #ffffff;
	background-image: none;
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}

@media (max-width: 1024px) {
	:root {
		--wd-sticky-btn-height: 95px;
	}

}

@media (max-width: 768.98px) {
	:root {
		--wd-sticky-btn-height: 42px;
	}

}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-bottom-active: -1px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
--btn-accented-box-shadow-hover: inset 0 -2px 0 rgba(0, 0, 0, .15);
--wd-brd-radius: 0px;
}



.wd-page-title {
background-color: #0a0a0a;
}

/* ==========================================================================
   Borna webfont — the family the Figma design uses.
   Files live in wp-content/uploads/assets/fonts/ (uploaded by the site owner).
   URLs are site-relative so they survive a domain/environment change.
   "Borna FaNum" is the same design with Persian numerals; swap the family in
   the :root override below to switch digit style site-wide.
   ========================================================================== */
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-Thin.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-Thin.woff") format("woff");font-weight:100;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-Light.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-Regular.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-Medium.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-SemiBold.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-SemiBold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-Bold.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-ExtraBold.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-ExtraBold.woff") format("woff");font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-Black.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-Black.woff") format("woff");font-weight:900;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna";src:url("/wp-content/uploads/assets/fonts/woff2/Borna-ExtraBlack.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/woff/Borna-ExtraBlack.woff") format("woff");font-weight:950;font-style:normal;font-display:swap;}

@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-Thin.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-Thin.woff") format("woff");font-weight:100;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-Light.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-Regular.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-Medium.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-SemiBold.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-SemiBold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-Bold.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-ExtraBold.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-ExtraBold.woff") format("woff");font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-Black.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-Black.woff") format("woff");font-weight:900;font-style:normal;font-display:swap;}
@font-face{font-family:"Borna FaNum";src:url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff2/BornaFaNum-ExtraBlack.woff2") format("woff2"),url("/wp-content/uploads/assets/fonts/FaNum%20Webfont/woff/BornaFaNum-ExtraBlack.woff") format("woff");font-weight:950;font-style:normal;font-display:swap;}

/* Woodmart derives every typography rule from these two custom properties
   (--wd-title-font defaults to var(--wd-text-font)), so overriding the text
   font here reaches headings, nav, widgets and buttons too. This block is
   emitted after the theme defaults in the same stylesheet, so no !important. */
:root{--wd-text-font:"Borna FaNum","Borna",Tahoma,Arial,sans-serif;}

/* Core Gutenberg blocks and form controls do not read the theme variable. */
body,button,input,optgroup,select,textarea,
.wp-block-heading,.wp-block-button__link{font-family:var(--wd-text-font);}

/* ==========================================================================
   Dirmejal utility classes (.dm-*) — Tailwind-like, composable.
   Styling lives here, NOT in Gutenberg inline block attributes, so the saved
   block markup stays exactly what Gutenberg itself would serialize (avoids
   the 'Block contains unexpected or invalid content' validation error).
   ========================================================================== */

/* Colors */
.dm-bg-cream{background-color:#fffbc4;}
.dm-bg-navy{background-color:#092a47;}
.dm-text-navy{color:#092a47;}
.dm-text-grey{color:#3d4653;}
.dm-bd-pink{border:1px solid #ffd1d1;}

/* Radius */
.dm-rounded-24{border-radius:24px;}
.dm-rounded-40{border-radius:40px;}
.dm-rounded-pill{border-radius:999px;}

/* Spacing */
.dm-p-16{padding:16px;}
.dm-py-24{padding-top:24px;padding-bottom:24px;}
.dm-px-48{padding-left:48px;padding-right:48px;}
.dm-mb-48{margin-bottom:48px;}

/* Typography */
.dm-fs-24{font-size:24px;}
.dm-fs-38{font-size:38px;line-height:1.4;}
.dm-fw-800{font-weight:800;}

/* Rainbow-gradient text accent (hero headline word, hero CTA label).
   NOTE: background-clip:text needs its own element — it cannot share an
   element with a filled pill background, hence the inner <span>. */
/* On DARK panels only — measures 10.7:1 on navy. */
.dm-gradient-text-light{background:linear-gradient(90deg,#ffd1d1 0%,#fafacd 25%,#c5f0e7 50%,#d9cffd 75%,#fdcfe6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
/* Default gradient text sits on LIGHT backgrounds. The pastel stops measured
   1.01-1.39:1 there (invisible), so these are the deep-hue equivalents: every
   stop clears 7:1 on both #fff and the cream hero card. */
.dm-gradient-text{background:linear-gradient(90deg,#8e1f4b 0%,#7a4b00 25%,#0d5f55 50%,#4a2c85 75%,#83215c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* Navy pill button. Gutenberg puts our className on the wrapper .wp-block-button,
   so the actual <a> is styled via a descendant selector. */
.dm-btn-navy .wp-block-button__link{background-color:#092a47;border-radius:999px;padding:12px 32px;}

/* ==========================================================================
   Header (Woodmart header builder id "dirmejal")
   Structure is defined in tools/build-header.php; this is only the skin.
   Stable hooks only - element wrappers like .whb-searchXXXX carry a random
   suffix that changes every time the header is rebuilt, so never target those.
   ========================================================================== */

/* Soft pastel page wash the floating header card sits on. */
body{
	background-color:#fff;
	background-image:
		linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 62%),
		linear-gradient(90deg,#ffe9ec 0%,#fdfbe0 25%,#e9f7f2 50%,#efeaff 75%,#ffe9ec 100%);
	background-repeat:no-repeat;
	background-attachment:fixed;
}

/* The header is one white rounded card floating over that wash. */
.whb-header{background:transparent;}
.whb-main-header{
	background:#fff;
	border-radius:24px;
	box-shadow:0 10px 34px rgba(9,42,71,.07);
	margin:16px auto;
	max-width:calc(100% - 48px);
}
.whb-general-header,.whb-header-bottom{background:transparent;border:none;}
.whb-header-bottom{border-top:1px solid #f1f2f4;}
.whb-main-header .whb-row>.container{max-width:100%;padding-inline:28px;}

/* Logo: navy Borna wordmark over a blurred pastel blob. */
.dm-logo{position:relative;display:inline-block;padding:2px 12px;text-decoration:none;}
.dm-logo-mark{position:relative;z-index:1;font-weight:900;font-size:28px;line-height:1;color:#092a47;}
.dm-logo::before{
	content:"";position:absolute;inset:-8px -2px;z-index:0;
	border-radius:52% 44% 56% 46%;
	background:linear-gradient(120deg,#ffd1d1,#fafacd,#c5f0e7,#d9cffd,#fdcfe6);
	filter:blur(7px);opacity:.9;
}

/* Search: soft grey pill. */
.wd-header-search-form form.searchform{--wd-form-height:44px;}
.wd-header-search-form form.searchform input[type="text"],
.wd-header-search-form form.searchform input[type="search"]{
	background:#f5f6f8;border:none;border-radius:999px;color:#092a47;
}
.wd-header-search-form form.searchform input::placeholder{color:#9aa1ac;}

/* "دسته‌بندی محصولات" opener: light chip, not the theme's primary green.
   header-el-category-nav.css is <link>ed inside the header markup, i.e. AFTER
   our inline custom CSS, so these need the extra .whb-header to outrank it. */
.whb-header .wd-header-cats .menu-opener:not(.has-bg){
	background-color:#f5f6f8;border-radius:14px;padding-inline:16px;
}
.whb-header .wd-header-cats .menu-opener:not(.has-bg):hover{background-color:#eceef2;}
.whb-header .wd-header-cats .menu-opener,
.whb-header .wd-header-cats .menu-opener .menu-open-label{color:#092a47;}
.whb-header .wd-header-cats .menu-opener .menu-opener-icon,
.whb-header .wd-header-cats .menu-opener .menu-opener-icon::before,
.whb-header .wd-header-cats .menu-opener .menu-opener-icon::after{background-color:#092a47;}

/* Top navigation: grey links separated by small pastel dots. */
.wd-header-secondary-nav .wd-nav>li>a{color:#6b7280;font-weight:500;text-transform:none;}
.wd-header-secondary-nav .wd-nav>li>a:hover{color:#092a47;}
.wd-header-secondary-nav .wd-nav>li+li{position:relative;}
.wd-header-secondary-nav .wd-nav>li+li::after{
	content:"";position:absolute;inset-inline-start:-3px;top:50%;
	width:5px;height:5px;margin-top:-2px;border-radius:50%;background:#ffd1d1;
}

/* Category navigation: navy, sentence case. */
.wd-header-main-nav .wd-nav>li>a{color:#092a47;font-weight:600;text-transform:none;}

/* Account + cart: outlined pills. */
.wd-header-my-account>a{
	border:1px solid #e6e8ec;border-radius:999px;padding:8px 16px;color:#092a47;
}
.wd-header-my-account>a:hover{border-color:#092a47;}
.wd-header-cart>a{
	border:1px solid #e6e8ec;border-radius:14px;padding:8px 12px;color:#092a47;
}

/* Tighter insets on small screens so the floating card cannot overflow. */
@media (max-width:1024px){
	.whb-main-header{margin:8px auto;max-width:calc(100% - 16px);border-radius:18px;}
	.whb-main-header .whb-row>.container{padding-inline:12px;}
	.dm-logo-mark{font-size:22px;}
}

/* ==========================================================================
   Header corrections after diffing the build against the Figma export.
   ========================================================================== */

/* Card carries a thin pastel border in the design, not just a shadow. */
.whb-main-header{
	border:1px solid #ffe1e8;
	box-shadow:0 6px 26px rgba(9,42,71,.05);
}

/* Sparkle marks flanking the wordmark. */
.dm-logo::after{
	content:"✦";position:absolute;top:-6px;inset-inline-end:-2px;
	font-size:11px;line-height:1;color:#c9b6f7;z-index:2;
}
.dm-logo-mark::after{
	content:"✦";position:absolute;bottom:-2px;inset-inline-start:-9px;
	font-size:8px;line-height:1;color:#ffc2d4;
}

/* Vertical rule between the logo block and the search field. */
.whb-column8 .dm-logo-el{
	padding-inline-end:22px;
	border-inline-end:1px solid #f0f1f4;
	margin-inline-end:22px;
}

/* Top nav: navy and a touch larger; dots cycle through pastel accents. */
.wd-header-secondary-nav .wd-nav>li>a{color:#1f2a37;font-weight:600;font-size:15px;}
.wd-header-secondary-nav .wd-nav>li+li::after{width:6px;height:6px;margin-top:-3px;}
.wd-header-secondary-nav .wd-nav>li:nth-child(2n)+li::after{background:#ffb489;}
.wd-header-secondary-nav .wd-nav>li:nth-child(3n)+li::after{background:#c9b6f7;}

/* Logo spans the FULL header height (both rows), sitting half in the top row
   and half in the category row. It stays in flow but is taller than its 80px
   row, so the row and its wrappers must not clip it. */
.whb-main-header{position:relative;}
.whb-general-header,
.whb-general-header>.container,
.whb-general-header-inner,
.whb-general-header .whb-column8{overflow:visible;}
.whb-general-header .dm-logo-el{
	align-self:flex-start;
	display:flex;align-items:center;
	height:136px;              /* general-header 80 + header-bottom 56 */
	margin-bottom:-56px;       /* the half that hangs into the category row */
	position:relative;z-index:6;
}
.dm-logo-mark{font-size:34px;}
.dm-logo::before{inset:-12px -6px;filter:blur(9px);}

/* "دسته‌بندی محصولات" is plain grey text with a 2x2 grid glyph - no chip.
   It now sits at the visually-left end, so its rule faces the menu (start side). */
.whb-header .wd-header-cats .menu-opener:not(.has-bg),
.whb-header .wd-header-cats .menu-opener:not(.has-bg):hover{
	background-color:transparent;padding-inline:0;
}
.whb-header .wd-header-cats .menu-opener,
.whb-header .wd-header-cats .menu-opener .menu-open-label{color:#3d4653;font-weight:600;}
.whb-header .wd-header-cats{
	padding-inline-end:20px;border-inline-end:1px solid #f0f1f4;margin-inline-end:20px;
}
/* Replace the theme's hamburger bars with the grid icon from the design. */
.whb-header .wd-header-cats .menu-opener .menu-opener-icon{
	width:20px;height:20px;background-color:transparent;
	background-repeat:no-repeat;background-position:center;background-size:20px 20px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%234a5361' stroke-width='1.6'%3E%3Crect x='2.2' y='2.2' width='6.4' height='6.4' rx='2'/%3E%3Crect x='11.4' y='2.2' width='6.4' height='6.4' rx='2'/%3E%3Crect x='2.2' y='11.4' width='6.4' height='6.4' rx='2'/%3E%3Crect x='11.4' y='11.4' width='6.4' height='6.4' rx='2'/%3E%3C/g%3E%3C/svg%3E");
}
.whb-header .wd-header-cats .menu-opener .menu-opener-icon::before,
.whb-header .wd-header-cats .menu-opener .menu-opener-icon::after{display:none;}

/* Cart is an icon-only rounded square in the design. */
.wd-header-cart>a{padding:9px 11px;}
.wd-header-cart .wd-cart-subtotal{display:none;}

/* Search is ~280px at 1440 in the design - sized, not stretched. Letting it
   grow pushed the top nav onto a second line. */
.whb-column8 .wd-header-search-form{flex:0 0 auto;width:300px;}
.whb-column8 .wd-header-search-form form.searchform{width:100%;}
.wd-header-secondary-nav .wd-nav{flex-wrap:nowrap;}
.wd-header-secondary-nav .wd-nav>li>a{white-space:nowrap;}

/* Breathing room around the top-nav dots. */
.wd-header-secondary-nav .wd-nav>li{margin-inline:11px;}
.wd-header-secondary-nav .wd-nav>li+li::after{inset-inline-start:-14px;}

/* The logo overhangs into the category row, which lays out independently and
   would otherwise run underneath it - reserve its width on the start side. */
.whb-main-header{--dm-logo-w:210px;}
.whb-header-bottom .whb-header-bottom-inner{padding-inline-start:var(--dm-logo-w);}
@media (max-width:1024px){
	.whb-main-header{--dm-logo-w:0px;}
	.whb-general-header .dm-logo-el{height:auto;margin-bottom:0;align-self:center;}
}

/* --- utilities added for the تخفیف‌ها section ------------------------------ */
.dm-text-white{color:#fff;}
.dm-p-32{padding:32px;}
.dm-mb-24{margin-bottom:24px;}
.dm-ta-end{text-align:end;}
.dm-link-plain a{color:inherit;text-decoration:none;}
.dm-link-plain a:hover{text-decoration:underline;}

/* Section headings in the design carry a small sparkle before the text. */
.dm-heading-mark::before{
	content:"✦";margin-inline-end:8px;font-size:.7em;vertical-align:middle;color:#c9b6f7;
}

/* Product cards sitting on a dark panel: white rounded tiles. */
.dm-products-onlight .wc-block-product{
	background:#fff;border-radius:16px;padding:14px;
}
.dm-products-onlight .wc-block-product .wp-block-post-title a{color:#092a47;text-decoration:none;}
.dm-products-onlight .wc-block-product .wc-block-components-product-price{color:#092a47;}

/* --- utilities for the category / best-sellers / blog / trust sections ----- */
.dm-ta-center{text-align:center;}
.dm-mb-8{margin-bottom:8px;}
.dm-fs-13{font-size:13px;}
.dm-fs-16{font-size:16px;}
.dm-fs-28{font-size:28px;line-height:1.4;}
.dm-rounded-16{border-radius:16px;}

/* Category tiles, rebuilt against the supplied reference tile.
   Anatomy: a thin multi-colour gradient RING (offset + rotated), an organic
   blob FILL inside it, the illustration centred, and the label sitting INSIDE
   the blob near the bottom. Ring is a gradient masked to its own border box -
   a plain border cannot take a gradient. */
.dm-cat-row .wp-block-column{text-align:center;}
.dm-cat-row .wp-block-column p{margin:0;}

.dm-cat-tile{
	position:relative;display:inline-block;
	width:190px;height:190px;text-decoration:none;vertical-align:top;
}

/* The gradient outline: same organic family as the fill, rotated so it reads as
   a hand-drawn stroke tracing the blob rather than a concentric border. */
.dm-cat-tile::before{
	content:"";position:absolute;inset:0;
	border-radius:46% 54% 38% 62% / 58% 42% 58% 42%;
	background:linear-gradient(125deg,#ffd1d1 0%,#fafacd 25%,#c5f0e7 50%,#d9cffd 75%,#fdcfe6 100%);
	padding:2px;
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	        mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;
	        mask-composite:exclude;
	transform:rotate(-9deg);
	transition:transform .6s ease;
}

/* The filled blob, inset from the ring and shaped differently so the gap
   between stroke and fill varies around the edge, as in the design. */
.dm-cat-blob{
	position:absolute;inset:12px;
	border-radius:58% 42% 63% 37% / 42% 61% 39% 58%;
	transition:border-radius .6s ease;
}

/* Illustration slot - empty until the artwork lands, then this is the only
   line that needs to change (background-image per category). */
.dm-cat-tile .dm-cat-art{
	position:absolute;inset:22px 22px 62px;
	background-repeat:no-repeat;background-position:center;background-size:contain;
}

.dm-cat-label{
	position:absolute;inset-inline:0;bottom:30px;
	text-align:center;color:#092a47;font-weight:800;font-size:17px;line-height:1.3;
	padding-inline:14px;
}

.dm-cat-tile:hover::before{transform:rotate(4deg);}
.dm-cat-tile:hover .dm-cat-blob{border-radius:44% 56% 39% 61% / 60% 41% 59% 40%;}

.dm-blob-pink   .dm-cat-blob{background:#ffe7ee;}
.dm-blob-yellow .dm-cat-blob{background:#fdf6c9;}
.dm-blob-mint   .dm-cat-blob{background:#dcf6ea;}
.dm-blob-purple .dm-cat-blob{background:#e9e2ff;}
.dm-blob-peach  .dm-cat-blob{background:#ffe9d8;}

/* Product tiles on the page background (not on the navy panel). */
.dm-products-card .wc-block-product{
	background:#fff;border:1px solid #f0f1f4;border-radius:16px;padding:14px;
}
.dm-products-card .wc-block-product .wp-block-post-title a{color:#092a47;text-decoration:none;}

/* Blog cards */
.dm-blog-grid .wp-block-post-title a{color:#092a47;text-decoration:none;}
.dm-blog-grid .wp-block-post-featured-image img{border-radius:16px;}

/* Trust strip: pastel gradient bar, icon above each label (icons are inline
   SVG data URIs so there is no asset to manage). */
.dm-trust-strip{
	background:linear-gradient(90deg,#ffe9ec 0%,#fdfbe0 33%,#e9f7f2 66%,#efeaff 100%);
	padding:22px 32px;margin-top:8px;
}
.dm-trust{
	text-align:center;color:#092a47;font-weight:600;font-size:14px;margin:0;
	display:flex;flex-direction:column;align-items:center;gap:8px;
}
.dm-trust::before{
	content:"";display:block;width:30px;height:30px;
	background-repeat:no-repeat;background-position:center;background-size:contain;
}
.dm-trust-return::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.4 8 11 4.6-1.6 8-6 8-11V5z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");}
.dm-trust-card::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='3'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E");}
.dm-trust-support::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13a8 8 0 0 1 16 0'/%3E%3Crect x='2' y='13' width='4.5' height='7' rx='2'/%3E%3Crect x='17.5' y='13' width='4.5' height='7' rx='2'/%3E%3C/svg%3E");}
.dm-trust-ship::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h11v9H2z'/%3E%3Cpath d='M13 10h4l3 3v3h-7z'/%3E%3Ccircle cx='6' cy='18' r='1.8'/%3E%3Ccircle cx='17' cy='18' r='1.8'/%3E%3C/svg%3E");}

/* Submenu chevron direction (RTL).
   Woodmart ships an -rtl.css counterpart for every nav part EXCEPT
   parts/mod-nav-opener.css, which hard-codes the LTR glyph \f113 (points right).
   On this RTL site the "open submenu" affordance must point left = \f114.
   (Proof of which glyph is which: the drilldown "back" button uses \f114 in the
   LTR file and \f113 in the -rtl file, and back points left in LTR.)
   Scoped to li.menu-item openers so the drilldown back button keeps its own rule. */
[dir="rtl"] li.menu-item > .wd-nav-opener::after{content:"\f114";}
/* The expanded state rotates the glyph 90deg to point downward; starting from a
   left-pointing chevron that has to rotate the other way. */
[dir="rtl"] li.menu-item > .wd-nav-opener.wd-active::after{transform:rotate(-90deg);}

/* Discounts panel. The design uses a gradient, not the flat navy - stops below
   are an approximation taken by eye from the page export; replace with the real
   values once they can be read out of Figma. */
.dm-grad-navy{
	background:linear-gradient(135deg,#14406a 0%,#0b2e4d 42%,#071d33 100%);
}

/* --- Footer (Woodmart HTML block, cms_block "Footer") --------------------- */
.wd-footer{background:transparent;}
.wd-footer .main-footer{padding-block:10px 24px;}

/* Logo sits centred above the card, larger than in the header. */
.dm-footer-logo{margin:0 0 26px;}
.dm-footer-logo .dm-logo-mark{font-size:34px;}

/* The card carries the same pastel gradient hairline as the header, but as a
   full ring. Gradient borders need the mask trick - `border` cannot take one. */
.dm-footer-card{position:relative;border-radius:32px;padding:34px 40px;background:#fff;}
.dm-footer-card::before{
	content:"";position:absolute;inset:0;border-radius:32px;padding:1px;
	background:linear-gradient(120deg,#ffd1d1 0%,#fafacd 25%,#c5f0e7 50%,#d9cffd 75%,#fdcfe6 100%);
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	        mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;mask-composite:exclude;
	pointer-events:none;
}
.dm-footer-cols{gap:24px;}
.dm-footer-title{color:#3d4653;font-size:15px;font-weight:700;margin-bottom:18px;}
.dm-footer-list{list-style:none;margin:0;padding:0;}
.dm-footer-list li{margin-bottom:12px;}
.dm-footer-list a{color:#092a47;text-decoration:none;font-size:14px;}
.dm-footer-list a:hover{color:#5c6672;}

/* Contact rows get a leading icon (inline SVG data URI - no assets). */
.dm-contact-list li{display:flex;align-items:center;gap:10px;}
.dm-contact-list li::before{
	content:"";flex:0 0 auto;width:18px;height:18px;
	background-repeat:no-repeat;background-position:center;background-size:contain;
}
.dm-ic-phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.2a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E");}
.dm-ic-mail::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='3'/%3E%3Cpath d='m2 7 10 6 10-6'/%3E%3C/svg%3E");}

/* Social circles. Marks are inline SVG; hrefs are placeholders until the real
   profile URLs are supplied. */
.dm-socials{display:flex;gap:12px;margin-top:22px;}
.dm-soc{
	width:44px;height:44px;border-radius:50%;display:inline-block;
	border:1px solid #eef0f3;background-color:#fff;
	background-repeat:no-repeat;background-position:center;background-size:22px 22px;
	transition:transform .2s ease;
}
.dm-soc:hover{transform:translateY(-2px);}
.dm-soc-instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.7'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='1.2' fill='%23092a47' stroke='none'/%3E%3C/svg%3E");}
.dm-soc-telegram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23092a47'%3E%3Cpath d='M21.9 4.3 18.8 19c-.2 1-.9 1.3-1.7.8l-4.7-3.5-2.3 2.2c-.3.3-.5.5-1 .5l.4-4.9 8.9-8c.4-.3-.1-.5-.6-.2L6.8 13 2.1 11.5c-1-.3-1-1 .2-1.5l18.3-7c.9-.3 1.6.2 1.3 1.3Z'/%3E%3C/svg%3E");}
.dm-soc-rubika{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.7'%3E%3Cpath d='M12 2.6 20.4 7v10L12 21.4 3.6 17V7z'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3C/svg%3E");}

.wd-copyrights{border-top:none;color:#3d4653;font-size:13px;}

/* --- About page (درباره ما, page id 48) ----------------------------------- */
.dm-about{max-width:900px;margin-inline:auto;padding-block:48px;}
.dm-about .dm-heading-mark{display:block;}
.dm-prose{
	color:#3d4653;font-size:15px;line-height:2.3;text-align:justify;
	margin-inline:auto;margin-bottom:34px;
}
.dm-prose strong{color:#092a47;font-weight:700;}

/* The big centred wordmark between the first two paragraphs. Uses the same CSS
   logo as the header; swap for the real logo asset when it is uploaded. */
.dm-about-logo{margin:10px 0 34px;}
.dm-about-logo .dm-logo{padding:18px 40px;}
.dm-about-logo .dm-logo-mark{font-size:64px;}
.dm-about-logo .dm-logo::before{inset:-26px -14px;filter:blur(18px);}

/* About photo row. */
.dm-about-gallery{gap:18px;}
.dm-about-gallery figure{margin:0;}
.dm-about-gallery img{width:100%;height:auto;border-radius:14px;display:block;}

/* Service pills: pastel gradient, centred, each sized to its own text. */
.dm-services{list-style:none;margin:0 0 34px;padding:0;display:flex;
	flex-direction:column;align-items:center;gap:14px;}
.dm-services li{
	background:linear-gradient(90deg,#ffe9ec 0%,#fdfbe0 40%,#e9f7f2 70%,#efeaff 100%);
	color:#092a47;font-size:14px;font-weight:600;
	padding:16px 30px;border-radius:999px;max-width:100%;
}

/* CTA button with the double ring from the design: navy fill, light gap, navy
   outer ring, gradient label. Built in CSS rather than as an image so it stays
   crisp at any size and the label remains selectable text. */
.dm-btn-ring .wp-block-button__link{
	background-color:#092a47;
	border:3px solid #fff;
	box-shadow:0 0 0 2px #092a47;
	border-radius:999px;
	padding:14px 40px;
	font-weight:700;
}
.dm-btn-ring .wp-block-button__link:hover{box-shadow:0 0 0 2px #14406a;}

/* Head office / support rows in the footer contact column. */
.dm-offices{margin-top:16px;}
.dm-offices li{align-items:flex-start;}
.dm-offices li span{color:#092a47;font-size:13px;line-height:1.9;}
.dm-offices strong{color:#3d4653;font-weight:600;}
.dm-ic-pin::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092a47' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");margin-top:3px;}

/* --- Single post (مجله) --------------------------------------------------- */
.single-post .wd-page-content{padding-block:36px;}
.single-post .entry-content,
.single-post .wd-post-content{max-width:820px;margin-inline:auto;}

.single-post .entry-title,
.single-post .wd-entities-title{color:#092a47;font-weight:800;line-height:1.6;}
.single-post .entry-content p{color:#3d4653;font-size:15px;line-height:2.3;}
.single-post .entry-content h2{
	color:#092a47;font-size:22px;font-weight:800;line-height:1.7;
	margin:38px 0 14px;padding-inline-start:14px;position:relative;
}
.single-post .entry-content h2::before{
	content:"";position:absolute;inset-inline-start:0;top:.35em;bottom:.35em;width:4px;
	border-radius:4px;background:linear-gradient(180deg,#ffd1d1,#d9cffd);
}
.single-post .entry-content img{border-radius:16px;height:auto;}
.single-post .entry-content a{color:#0b6fb8;}
.single-post .entry-content ul,
.single-post .entry-content ol{color:#3d4653;line-height:2.2;padding-inline-start:22px;}

/* Table of contents */
.dm-post-toc{
	background:#fbfbfd;border:1px solid #eef0f3;border-radius:16px;
	padding:20px 24px;margin:24px 0;
}
.dm-post-toc>strong{display:block;margin-bottom:12px;color:#092a47;font-size:16px;font-weight:800;}
.dm-post-toc ol{margin:0;padding-inline-start:20px;}
.dm-post-toc li{margin-bottom:8px;}
.dm-post-toc a{color:#3d4653;text-decoration:none;font-size:14px;}
.dm-post-toc a:hover{color:#092a47;}

/* Editorial callouts — recoloured onto the site palette. */
.dm-note{border-radius:14px;padding:18px 20px;margin:22px 0;font-size:14px;line-height:2.1;}
.dm-note strong{color:#092a47;}
.dm-note-tip {background:#fffbe8;border-inline-start:4px solid #f2c14e;}
.dm-note-info{background:#eef7ff;border:1px solid #d5e8fb;}
.dm-note-warn{background:#fff2f4;border:1px solid #ffd4dc;}

/* Inline CTA box */
.dm-cta-box{
	background:linear-gradient(90deg,#ffe9ec 0%,#fdfbe0 45%,#efeaff 100%);
	border-radius:18px;padding:22px;margin:26px 0;text-align:center;
}
.dm-cta-box a{color:#092a47;font-weight:700;}

/* Comparison table */
.dm-table-wrap{overflow-x:auto;margin:22px 0;}
.dm-table{width:100%;border-collapse:collapse;font-size:14px;}
.dm-table th,.dm-table td{padding:12px 14px;border:1px solid #eef0f3;text-align:start;}
.dm-table thead tr{background:#f7f8fa;}
.dm-table th{color:#092a47;font-weight:700;}
.dm-table td{color:#3d4653;}

/* FAQ accordions */
.dm-faq{border:1px solid #eef0f3;border-radius:12px;padding:14px 18px;margin:10px 0;background:#fff;}
.dm-faq summary{font-weight:700;cursor:pointer;color:#092a47;list-style:none;}
.dm-faq summary::-webkit-details-marker{display:none;}
.dm-faq summary::after{content:"\f113";font-family:"woodmart-font";float:inline-start;font-size:12px;transition:transform .25s ease;}
[dir="rtl"] .dm-faq summary::after{content:"\f114";}
.dm-faq[open] summary::after{transform:rotate(-90deg);}
.dm-faq p{margin:10px 0 4px;color:#3d4653;font-size:14px;line-height:2.1;}

/* --- Promo cards & banners (navy, patterned) ------------------------------
   From the Figma exports. Everything here is drawn in CSS: the navy panel, the
   repeating 4-point-star pattern, the pastel gradient hairline, the gradient
   headline and the gradient-filled button. Only the illustration is a real
   asset — .dm-promo-art is the slot for it. */

.dm-promo{
	position:relative;background:#0d2b45;border-radius:26px;
	padding:26px 24px;overflow:hidden;text-align:center;text-decoration:none;
	display:flex;flex-direction:column;align-items:center;gap:6px;
}
/* the diamond/star field */
.dm-promo::before{
	content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='54' viewBox='0 0 54 54'%3E%3Cpath d='M27 13c1.6 7.4 6 11.8 13.4 13.4C33 28 28.6 32.4 27 39.8 25.4 32.4 21 28 13.6 26.4 21 24.8 25.4 20.4 27 13Z' fill='%2317395a'/%3E%3C/svg%3E");
	background-repeat:repeat;
}
/* pastel hairline ring */
.dm-promo::after{
	content:"";position:absolute;inset:0;border-radius:26px;padding:2px;pointer-events:none;
	background:linear-gradient(120deg,#ffd1d1,#fafacd,#c5f0e7,#d9cffd,#fdcfe6);
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	        mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;mask-composite:exclude;
}
.dm-promo>*{position:relative;z-index:1;}

.dm-promo-art{
	display:block;width:96px;height:96px;margin-bottom:6px;
	background:center/contain no-repeat;
}
.dm-promo-kicker{color:#fff;font-size:15px;font-weight:500;margin:0;}
.dm-promo-title{
	font-size:26px;font-weight:800;line-height:1.5;margin:0 0 14px;
	background:linear-gradient(90deg,#ffd1d1,#fafacd,#c5f0e7,#d9cffd,#fdcfe6);
	-webkit-background-clip:text;background-clip:text;color:transparent;
}
/* gradient-filled pill; label is navy so it reads on the light fill */
.dm-promo-btn{
	display:inline-block;min-width:190px;padding:12px 30px;border-radius:999px;
	background:linear-gradient(90deg,#ffd1d1,#fafacd,#c5f0e7,#d9cffd,#fdcfe6);
	color:#0d2b45;font-weight:700;font-size:15px;text-decoration:none;
	box-shadow:0 0 0 2px rgba(255,255,255,.35) inset;
	transition:transform .2s ease;
}
.dm-promo:hover .dm-promo-btn{transform:translateY(-2px);}

/* Wide variant: illustration to one side, text centred, button on the far side. */
.dm-promo-wide{
	flex-direction:row;align-items:center;justify-content:space-between;
	gap:24px;padding:22px 34px;text-align:center;
}
.dm-promo-wide .dm-promo-art{width:76px;height:76px;margin:0;flex:0 0 auto;}
.dm-promo-wide .dm-promo-body{flex:1 1 auto;}
.dm-promo-wide .dm-promo-title{margin-bottom:0;font-size:24px;}
.dm-promo-wide .dm-promo-btn{min-width:120px;padding:9px 24px;font-size:14px;}

@media (max-width:768px){
	.dm-promo-wide{flex-direction:column;text-align:center;padding:24px;}
}

/* --- Expert consultation card ---------------------------------------------
   Plain navy panel (no star pattern), squircle portrait with a white ring,
   name + role, and the shared gradient pill. .dm-expert-photo is the only
   part that needs a real asset. */
.dm-expert{
	background:#0d2b45;border-radius:16px;padding:16px;
	display:flex;flex-direction:column;gap:14px;max-width:300px;
}
.dm-expert-top{display:flex;align-items:center;gap:14px;}
.dm-expert-photo{
	flex:0 0 auto;width:72px;height:72px;border-radius:26px;
	border:2px solid #fff;background:#1b3d5c center/cover no-repeat;
}
.dm-expert-meta{flex:1 1 auto;text-align:center;}
.dm-expert-name{color:#fff;font-size:17px;font-weight:800;margin:0 0 4px;}
.dm-expert-role{color:#b3c5d8;font-size:13px;font-weight:500;margin:0;}
.dm-expert .dm-promo-btn{min-width:0;width:100%;box-sizing:border-box;text-align:center;padding:11px 20px;font-size:15px;}

/* ==========================================================================
   Mobile layout (<=781px). Gutenberg stacks every core/columns to a single
   column below 782px; the design keeps several of these as compact grids, so
   they are re-gridded here. Desktop is untouched.
   ========================================================================== */
@media (max-width:781px){

	/* The off-canvas mobile menu is parked to the side of the document, which
	   widens the scrollable area. Under dir=rtl that moves the scroll origin and
	   pushes the real content off the start edge. overflow-x:clip contains it
	   WITHOUT creating a scroll container, so position:sticky keeps working
	   (overflow-x:hidden would break the sticky header). */
	html,body{overflow-x:clip;}

	/* Hero: 48px side padding + a 38px headline does not fit 390px. */
	.dm-px-48{padding-inline:18px;}
	.dm-p-16{padding:10px;}
	.dm-fs-38{font-size:24px;line-height:1.6;}
	.dm-fs-28{font-size:20px;}
	.dm-fs-24{font-size:17px;}
	.dm-rounded-40{border-radius:26px;}
	.dm-mb-48{margin-bottom:28px;}
	.dm-p-32{padding:18px;}

	/* Category tiles: 3 across, not five stacked rows. */
	.dm-cat-row{display:grid !important;grid-template-columns:repeat(2,1fr);gap:12px;}
	.dm-cat-row .wp-block-column{flex-basis:auto !important;margin:0 !important;}
	.dm-cat-tile{width:100%;height:auto;aspect-ratio:1;}
	.dm-cat-label{font-size:11px;bottom:12px;padding-inline:6px;}
	.dm-cat-blob{inset:9px;}

	/* Products: 2 per row (Gutenberg would give 1). */
	.wp-block-woocommerce-product-collection .wc-block-product-template{
		grid-template-columns:repeat(2,1fr) !important;
	}
	.dm-products-onlight .wc-block-product,
	.dm-products-card .wc-block-product{padding:10px;}
	.wc-block-product .wp-block-post-title{font-size:13px;}
	.wc-block-product .wp-block-button__link,
	.wc-block-product .wc-block-components-product-button a{font-size:12px;padding:8px 10px;}

	/* Blog cards: 2 per row. */
	.dm-blog-grid .wp-block-post-template{grid-template-columns:repeat(2,1fr) !important;}

	/* Promo cards: one per row, tighter. */
	.dm-promo-row{display:grid !important;grid-template-columns:1fr;gap:12px;}
	.dm-promo-row .wp-block-column{flex-basis:auto !important;margin:0 !important;}
	.dm-promo-title{font-size:21px;}

	/* Trust strip: 2x2 instead of four tall rows. */
	.dm-trust-strip{display:grid !important;grid-template-columns:repeat(2,1fr);gap:14px;
		padding:18px;border-radius:24px;}
	.dm-trust-strip .wp-block-column{flex-basis:auto !important;margin:0 !important;}
	.dm-trust{font-size:12px;}

	/* Footer: 2 columns rather than one long stack. */
	.dm-footer-cols{display:grid !important;grid-template-columns:repeat(2,1fr);gap:20px;}
	.dm-footer-cols .wp-block-column{flex-basis:auto !important;margin:0 !important;}
	.dm-footer-card{padding:22px 18px;border-radius:24px;}

	/* About page */
	.dm-about{padding-block:26px;}
	.dm-about-gallery{display:grid !important;grid-template-columns:repeat(2,1fr);gap:10px;}
	.dm-about-gallery .wp-block-column{flex-basis:auto !important;margin:0 !important;}
	.dm-services li{font-size:13px;padding:13px 20px;}
	.dm-about-logo .dm-logo-mark{font-size:40px;}
}

/* --- "منتخب دسته‌بندی" panels ---------------------------------------------
   Coloured panel per top-level category holding four subcategory tiles.
   Tile art is a real product photo — .dm-pick-art is the slot. */
.dm-pick{border-radius:24px;padding:22px 24px;height:100%;}
.dm-pick-yellow{background:#fdf6c9;}
.dm-pick-pink  {background:#fbe4f2;}
.dm-pick-purple{background:#e9e2ff;}
.dm-pick-rose  {background:#ffe0e9;}

.dm-pick-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.dm-pick-kicker{color:#3d4653;font-size:13px;font-weight:600;margin:0;
	display:inline-flex;align-items:center;gap:6px;}
.dm-pick-kicker::before{content:"◆";font-size:8px;color:#7fd4c1;}
.dm-pick-all{color:#3d4653;font-size:13px;text-decoration:none;white-space:nowrap;}
.dm-pick-all:hover{color:#092a47;}
.dm-pick-title{color:#092a47;font-size:21px;font-weight:700;margin:0 0 18px;}
.dm-pick-title b{font-weight:800;}

.dm-pick-items{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
	list-style:none;margin:0;padding:0;}
.dm-pick-item{text-align:center;}
.dm-pick-item a{text-decoration:none;display:block;}
.dm-pick-art{
	display:block;width:100%;aspect-ratio:1;border-radius:50%;
	background:#fff center/64% no-repeat;margin-bottom:8px;
}
.dm-pick-label{color:#092a47;font-size:12px;font-weight:700;line-height:1.5;}

/* --- light "خرید ..." promo cards ------------------------------------------
   White card, kicker, headline with the category emphasised, navy pill, and an
   illustration sitting on a pastel gradient blob at the bottom. */
.dm-shopcard{
	display:block;background:#fff;border:1px solid #eef0f3;border-radius:22px;
	padding:20px 22px 0;text-decoration:none;overflow:hidden;height:100%;
	display:flex;flex-direction:column;
}
.dm-shopcard-title{color:#092a47;font-size:19px;font-weight:700;margin:0 0 14px;}
.dm-shopcard-title b{font-weight:800;}
/* Navy pill with an outer navy ring and pastel gradient label — same two-ring
   construction as the hero/About CTA. The gradient label needs its own inner
   span: background-clip:text cannot share an element with the pill fill. */
.dm-shopcard-btn{
	align-self:flex-start;background:#092a47;font-size:13px;font-weight:700;
	padding:8px 24px;border-radius:999px;
	border:2px solid #fff;box-shadow:0 0 0 2px #092a47;
}
/* The exported illustration already CONTAINS its gradient blob (transparent PNG,
   roughly 2:1). So this is a single image slot — do NOT draw a blob in CSS or it
   double-draws underneath the artwork. Set --dm-art per card. */
.dm-shopcard-art{
	display:block;margin-top:auto;aspect-ratio:2/1;
	background:var(--dm-art,none) center bottom/contain no-repeat;
}

@media (max-width:781px){
	.dm-pick-row,.dm-shop-row{display:grid !important;grid-template-columns:1fr;gap:14px;}
	.dm-pick-row .wp-block-column,.dm-shop-row .wp-block-column{flex-basis:auto !important;margin:0 !important;}
	.dm-pick-title{font-size:18px;}
	.dm-pick-label{font-size:11px;}
}

/* ==========================================================================
   Single product (Woodmart Layout Builder layout "Dirmejal - Single product",
   applied to ALL products). Structure lives in the layout; this is only the skin.
   Hook classes (.dm-sp-*) sit on the dynamic sp-* blocks; the wd/row + wd/column
   wrappers are targeted with :has() so their validated markup stays untouched.
   ========================================================================== */

/* --- gallery: main image in a rounded card, rounded thumbnails ------------ */
.dm-sp-gallery .wd-gallery-images{
	border:1px solid #eef0f3;border-radius:28px;overflow:hidden;background:#fff;
}
.dm-sp-gallery .wd-gallery-thumb{margin-top:14px;}
.dm-sp-gallery .wd-gallery-thumb .wd-carousel-item{
	border:1px solid #eef0f3;border-radius:18px;overflow:hidden;background:#fff;
}
.dm-sp-gallery .wd-gallery-thumb img{border-radius:18px;}

/* --- summary ------------------------------------------------------------- */
/* Breadcrumb collapses to just the parent category */
.dm-sp-crumb .wd-breadcrumbs > *{display:none;}
.dm-sp-crumb .wd-breadcrumbs > a:last-of-type{
	display:inline-flex;align-items:center;gap:6px;color:#092a47;font-size:15px;text-decoration:none;
}
.dm-sp-crumb .wd-breadcrumbs > a:last-of-type::before{
	content:"\f113";font-family:"woodmart-font";font-size:11px;
}

.dm-sp-title .product_title{
	color:#092a47;font-size:30px;font-weight:800;line-height:1.6;margin:6px 0 10px;
}

/* stars: deep gradient (the pastel version measures under 3:1 on white) */
.dm-sp-rating .star-rating::before{color:#dfe3ea;}
.dm-sp-rating .star-rating span::before{
	background:linear-gradient(90deg,#8e1f4b,#7a4b00,#0d5f55,#4a2c85);
	-webkit-background-clip:text;background-clip:text;color:transparent;
}
.dm-sp-rating .woocommerce-review-link{color:#092a47;text-decoration:underline;text-underline-offset:5px;}

/* key specs: first 7 attributes only (the full list is in the specs section) */
.dm-sp-keyspecs{
	border-block:1px dashed #cfd4dc;padding-block:14px;margin-block:16px;
}
.dm-sp-keyspecs .shop_attributes{margin:0;border:0;--wd-attr-v-gap:12px;--wd-attr-brd-width:0px;}
.dm-sp-keyspecs .shop_attributes tr:nth-child(n+8){display:none;}
.dm-sp-keyspecs .shop_attributes th,
.dm-sp-keyspecs .shop_attributes td{border:0;padding:7px 0;background:none;font-size:15px;}
.dm-sp-keyspecs .shop_attributes th{color:#3d4653;font-weight:500;}
.dm-sp-keyspecs .shop_attributes th::after{content:":";}
.dm-sp-keyspecs .shop_attributes td{color:#092a47;font-weight:600;}
.dm-sp-keyspecs .shop_attributes td p{margin:0;}

.dm-sp-meta .product_meta{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px;color:#3d4653;}
.dm-sp-meta .product_meta > span{display:inline-flex;gap:6px;}
.dm-sp-meta .product_meta a{color:#092a47;text-decoration:underline;text-underline-offset:5px;}
.dm-sp-meta .product_meta .sku{color:#092a47;}

/* --- buy box: the column that holds the price becomes a card -------------- */
.wp-block-wd-column:has(> .dm-sp-price){
	background:#f7f8fa;border:1px solid #eef0f3;border-radius:28px;padding:24px;
	align-self:flex-start;
}
.dm-sp-price{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
	padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #e8ebef;}
.dm-sp-price::before{content:"قیمت کالا:";color:#3d4653;font-size:14px;}
.dm-sp-price .price{color:#092a47 !important;font-size:24px;font-weight:800;margin:0;}
.dm-sp-price .price del{color:#6b7280;font-size:15px;font-weight:500;}

.dm-sp-stock .stock.in-stock{display:none;}
.dm-sp-stock .stock.out-of-stock,
.dm-sp-cart .stock.out-of-stock{color:#092a47;font-size:20px;font-weight:800;}

.dm-sp-cart .variations{margin-bottom:14px;}
.dm-sp-cart .variations th,.dm-sp-cart .variations td{display:block;padding:0;border:0;}
.dm-sp-cart .variations label{color:#3d4653;font-size:14px;font-weight:500;margin-bottom:8px;}
.dm-sp-cart .variations select{
	width:100%;height:52px;border:1px solid #eef0f3;border-radius:14px;background-color:#fff;
	color:#092a47;padding-inline:16px;
}
.dm-sp-cart .reset_variations{font-size:13px;color:#3d4653;}

/* quantity: minus / value / plus with separate square buttons */
.dm-sp-cart .quantity{display:flex;align-items:center;justify-content:space-between;width:100%;
	margin:0 0 16px;gap:10px;}
.dm-sp-cart .quantity .minus,
.dm-sp-cart .quantity .plus{
	width:52px;height:52px;border:1px solid #eef0f3;border-radius:14px;background:#fff;
	color:#092a47;font-size:20px;
}
.dm-sp-cart .quantity input.qty{
	flex:1;height:52px;border:0;background:transparent;color:#092a47;font-size:18px;font-weight:600;
}
.dm-sp-cart form.cart .woocommerce-variation-add-to-cart,
.dm-sp-cart form.cart:not(.variations_form){display:flex;flex-direction:column;}

/* CTA: navy pill with the white gap + navy outer ring used across the site.
   Woodmart renders the label as a bare text node (no inner span), so it
   cannot carry the gradient: background-clip:text would clip the pill fill
   too. Solid cream instead. */
.dm-sp-cart .single_add_to_cart_button{
	width:100%;height:56px;border-radius:999px !important;
	background:#092a47 !important;color:#fdf6c9 !important;font-size:16px;font-weight:800;
	border:3px solid #fff !important;box-shadow:0 0 0 2px #092a47;
}
.dm-sp-cart .single_add_to_cart_button:hover{background:#0d3a5f !important;}
.dm-sp-cart .single_add_to_cart_button.disabled{
	background:#3a3f47 !important;box-shadow:0 0 0 2px #3a3f47;opacity:1;
}

/* --- jump-link bar ------------------------------------------------------- */
.dm-sp-jump{
	display:grid;grid-template-columns:repeat(3,1fr);gap:6px;
	background:#f5f6f8;border-radius:999px;padding:6px;margin-block:10px 26px;
}
.dm-sp-jump a{
	text-align:center;padding:12px 10px;border-radius:999px;color:#3d4653;
	font-size:15px;font-weight:600;text-decoration:none;
}
.dm-sp-jump a:first-child,
.dm-sp-jump a:hover,.dm-sp-jump a:focus-visible{
	background:#fff;color:#092a47;box-shadow:0 2px 10px rgba(9,42,71,.06);
}

/* --- open sections as cards ---------------------------------------------- */
.dm-sp-sections .wd-tab-wrapper,
.dm-sp-reviews .wd-tab-wrapper{
	border:1px solid #f1e6ef;border-radius:28px;padding:30px 34px;background:#fff;
	margin-bottom:24px;
}
.dm-sp-sections .wc-tab,.dm-sp-reviews .wc-tab{scroll-margin-top:140px;}
.dm-sp-sections .wd-all-open-title,
.dm-sp-reviews .wd-all-open-title{
	display:flex;align-items:center;gap:8px;color:#092a47;font-size:22px;font-weight:800;
	margin-bottom:18px;
}
.dm-sp-sections .wd-all-open-title::before,
.dm-sp-reviews .wd-all-open-title::before{content:"✦";font-size:13px;color:#7fd4c1;}
.dm-sp-sections #tab-description h2{color:#092a47;font-size:20px;font-weight:800;margin:20px 0 10px;}
.dm-sp-sections #tab-description p,
.dm-sp-sections #tab-description li{color:#3d4653;font-size:15px;line-height:2.2;}
.dm-sp-sections #tab-description ul{list-style:none;padding:0;}
.dm-sp-sections #tab-description ul li{position:relative;padding-inline-start:20px;}
.dm-sp-sections #tab-description ul li::before{
	content:"◆";position:absolute;inset-inline-start:0;top:0;font-size:9px;color:#092a47;
}

/* full specs table, two columns */
.dm-sp-sections .shop_attributes{--wd-attr-v-gap:24px;--wd-attr-brd-style:dashed;--wd-attr-brd-color:#e3e6eb;}
.dm-sp-sections .shop_attributes th,
.dm-sp-sections .shop_attributes td{border-color:#eef0f3;padding:12px 4px;font-size:14px;}
.dm-sp-sections .shop_attributes th{color:#3d4653;font-weight:500;}
.dm-sp-sections .shop_attributes td{color:#092a47;font-weight:600;}

/* --- related products ---------------------------------------------------- */
.dm-sp-related-head{margin:30px 0 14px;}
.dm-sp-related .wd-product{border:1px solid #eef0f3;border-radius:20px;overflow:hidden;background:#fff;}
.dm-sp-related .wd-product .product-element-top{background:#f7f8fa;}
.dm-sp-related .wd-entities-title a{color:#092a47;}
.dm-sp-related .price{color:#092a47 !important;}

/* --- reviews ------------------------------------------------------------- */
.dm-sp-reviews .commentlist{padding:0;list-style:none;}
.dm-sp-reviews .commentlist .comment_container{display:flex;gap:14px;}
.dm-sp-reviews .commentlist img.avatar{border-radius:50%;}
.dm-sp-reviews .commentlist .children{padding-inline-start:40px;list-style:none;}
.dm-sp-reviews .woocommerce-review__author{color:#092a47;font-weight:700;}
.dm-sp-reviews .woocommerce-review__published-date{color:#3d4653;font-size:13px;}
.dm-sp-reviews .description p{color:#3d4653;line-height:2.1;}
.dm-sp-reviews #review_form textarea,
.dm-sp-reviews #review_form input[type="text"],
.dm-sp-reviews #review_form input[type="email"]{
	border:1px solid #eef0f3;border-radius:16px;background:#fbfbfc;
}
.dm-sp-reviews #review_form .form-submit input[type="submit"]{
	width:100%;height:54px;border-radius:999px;background:#092a47;color:#fdf6c9;font-weight:800;
	border:3px solid #fff;box-shadow:0 0 0 2px #092a47;
}

@media (max-width:1024px){
	.dm-sp-title .product_title{font-size:22px;}
	.dm-sp-sections .wd-tab-wrapper,.dm-sp-reviews .wd-tab-wrapper{padding:22px 18px;border-radius:22px;}
	.dm-sp-jump a{font-size:13px;padding:10px 6px;}
}

/* Colour select: always full width under its label (Woodmart puts the label
   beside it on md screens via wd-label-side-md). */
.dm-sp-cart .variations tr{display:block;}
.dm-sp-cart .variations td.value{width:100%;}

/* Sticky add-to-cart: the mobile design has it, the desktop design does not.
   Woodmart only enables the mobile bar when the main switch is on, so both
   are on and the desktop bar is hidden here. */
@media (min-width:1025px){ .wd-sticky-btn{display:none !important;} }
.wd-sticky-btn{
	background:#fff;border-radius:28px 28px 0 0;box-shadow:0 -6px 24px rgba(9,42,71,.08);
}
.wd-sticky-btn .price{color:#092a47 !important;font-weight:800;}
.wd-sticky-btn .single_add_to_cart_button,
.wd-sticky-btn .wd-sticky-add-to-cart{
	border-radius:999px !important;background:#092a47 !important;color:#fdf6c9 !important;
	font-weight:800;border:3px solid #fff !important;box-shadow:0 0 0 2px #092a47;
}
/* description bullets: the design uses a diamond, not the default disc */
.dm-sp-sections #tab-description ul li{list-style:none;}

/* A product with no attributes still gets an (empty) spec-list wrapper; without
   this it would draw an empty dashed box. */
.dm-sp-keyspecs:not(:has(.shop_attributes)){display:none;}

/* The jump bar is static markup in the layout, but WooCommerce only emits a
   section when it has content (no description / no attributes = no section).
   Hide links whose target is absent so they are never dead; flex instead of a
   fixed 3-column grid so the remaining links fill the bar. */
.dm-sp-jump{display:flex;}
.dm-sp-jump a{flex:1;}
body:not(:has(#tab-description)) .dm-sp-jump a[href="#tab-description"],
body:not(:has(#tab-additional_information)) .dm-sp-jump a[href="#tab-additional_information"],
body:not(:has(#tab-reviews)) .dm-sp-jump a[href="#tab-reviews"]{display:none;}
/* only reviews left (no description, no specs): a one-link jump bar is noise */
body:not(:has(#tab-description)):not(:has(#tab-additional_information)) .dm-sp-jump{display:none;}

/* ==========================================================================
   Category landing page (Woodmart "Products archive" layout, one per
   top-level category — see tools/build-cat-layout.php).
   ========================================================================== */

/* --- hero: cream card, pastel hairline, pills, illustration --------------- */
.dm-cathero{
	position:relative;display:flex;align-items:center;gap:24px;
	background:#fffbe0;border-radius:28px;padding:30px 36px;margin-bottom:26px;
	box-shadow:0 0 0 1px #ffe1e8;
}
.dm-cathero-body{flex:1 1 auto;min-width:0;}
.dm-cathero-title{color:#092a47;font-size:34px;font-weight:800;margin:4px 0 18px;}
.dm-cathero-pills{display:flex;flex-wrap:wrap;gap:10px;}
.dm-cathero-pill{
	display:inline-block;padding:9px 18px;border-radius:999px;
	background:#fff7c9;border:1px solid #f2e7a6;color:#092a47;
	font-size:14px;font-weight:600;text-decoration:none;
}
.dm-cathero-pill:hover{background:#fff;border-color:#092a47;color:#092a47;}
.dm-cathero-art{
	flex:0 0 auto;width:210px;height:150px;
	background:var(--dm-art,none) center/contain no-repeat;
}

/* --- promo banners: dark photo card, kicker, heading, gradient pill ------- */
.dm-banner{
	position:relative;display:flex;align-items:flex-end;justify-content:space-between;
	gap:16px;min-height:210px;padding:24px;border-radius:24px;text-decoration:none;
	background:#1d2024 var(--dm-art,none) center/cover no-repeat;overflow:hidden;
}
.dm-banner::before{
	content:"";position:absolute;inset:0;
	background:linear-gradient(180deg,rgba(15,18,22,.15) 0%,rgba(15,18,22,.75) 100%);
}
.dm-banner > *{position:relative;z-index:1;}
.dm-banner-body{display:flex;flex-direction:column;align-items:flex-end;text-align:end;}
.dm-banner-kicker{color:#e7ebf0 !important;}
.dm-banner-kicker::before{color:#7fd4c1;}
.dm-banner-title{color:#fff;font-size:24px;font-weight:800;line-height:1.7;}
.dm-banner-btn{
	flex:0 0 auto;padding:9px 26px;border-radius:999px;color:#0d2b45;font-weight:700;font-size:14px;
	background:linear-gradient(90deg,#ffd1d1,#fafacd,#c5f0e7,#d9cffd,#fdcfe6);
	box-shadow:0 0 0 2px rgba(255,255,255,.45) inset;
}

/* --- one row per subcategory --------------------------------------------- */
.dm-catrow-head{align-items:flex-end;margin:6px 0 14px;}
.dm-catrow-title{color:#092a47;font-size:22px;font-weight:700;margin:2px 0 0;}
.dm-catrow-title b{font-weight:800;}
.dm-catrow-products .wd-product{
	background:#f2f3f5;border-radius:20px;padding:12px;
}
.dm-catrow-products .wd-product .product-element-top{
	background:#fff;border-radius:14px;overflow:hidden;
}
.dm-catrow-products .wd-entities-title a{color:#092a47;}
.dm-catrow-products .price{color:#092a47 !important;}
.dm-catrow-products .price del{color:#6b7280;}

/* --- category description + CSS-only read-more --------------------------- */
.dm-catmore-toggle{position:absolute;opacity:0;pointer-events:none;}
.dm-catdesc{
	border:1px solid #f1e6ef;border-radius:28px;padding:28px 32px;background:#fff;
	color:#3d4653;line-height:2.2;position:relative;
}
.dm-catdesc h2,.dm-catdesc h3{color:#092a47;font-weight:800;}
.dm-catdesc img{border-radius:16px;max-width:100%;height:auto;}
.dm-catmore-toggle:not(:checked) + .dm-catdesc{
	max-height:320px;overflow:hidden;
	-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);
	        mask-image:linear-gradient(180deg,#000 62%,transparent 100%);
}
.dm-catmore-label{
	display:block;width:max-content;margin:14px auto 40px;cursor:pointer;
	padding:10px 26px;border-radius:999px;border:1px solid #eef0f3;background:#fff;
	color:#092a47;font-weight:700;font-size:14px;
}
.dm-catmore-toggle:not(:checked) ~ .dm-catmore-label .dm-catmore-close,
.dm-catmore-toggle:checked ~ .dm-catmore-label .dm-catmore-open{display:none;}
/* nothing to collapse when the category has no description */
.dm-catdesc:empty,
.dm-catdesc:empty ~ .dm-catmore-label,
.dm-catdesc:empty + .dm-catmore-label{display:none;}

@media (max-width:781px){
	.dm-cathero{flex-direction:column-reverse;align-items:stretch;text-align:center;padding:22px 18px;}
	.dm-cathero-title{font-size:24px;}
	.dm-cathero-pills{justify-content:center;}
	.dm-cathero-art{width:100%;height:120px;}
	.dm-banner{min-height:170px;padding:18px;}
	.dm-banner-title{font-size:18px;}
	.dm-catrow-title{font-size:18px;}
}

/* A child category with no products still renders an empty carousel; hide the
   row and its heading rather than showing an empty band. */
.wp-block-wd-row:has(.dm-catrow-head):not(:has(.wd-product)){display:none;}

/* No category description at all: the block renders nothing, so there is no
   .dm-catdesc to key off — hide the toggle from the page level instead. */
body:not(:has(.dm-catdesc)) .dm-catmore-label,
body:not(:has(.dm-catdesc)) .dm-catmore-toggle{display:none;}

/* --- fallback archive (subcategories + /shop/) ---------------------------- */
/* The hero card is the column that holds the dynamic archive title, so the
   heading stays the real title instead of text injected by CSS. */
.wp-block-wd-column:has(> .dm-archero-title){
	background:#fffbe0;border-radius:28px;padding:26px 32px;box-shadow:0 0 0 1px #ffe1e8;
}
.dm-archero-title .wd-archive-title,
.dm-archero-title h1,.dm-archero-title h2{
	color:#092a47;font-size:30px;font-weight:800;margin:0;
}
.dm-archero-desc{color:#3d4653;font-size:14px;line-height:2.1;margin-top:8px;}
.dm-archero-desc p:last-child{margin-bottom:0;}

.dm-arc-count{color:#3d4653;font-size:14px;}
.dm-arc-orderby{text-align:end;}
.dm-arc-products .wd-product{background:#f2f3f5;border-radius:20px;padding:12px;}
.dm-arc-products .wd-product .product-element-top{background:#fff;border-radius:14px;overflow:hidden;}
.dm-arc-products .wd-entities-title a{color:#092a47;}
.dm-arc-products .price{color:#092a47 !important;}
.dm-arc-products .price del{color:#6b7280;}

@media (max-width:781px){
	.wp-block-wd-column:has(> .dm-archero-title){padding:20px 18px;border-radius:22px;}
	.dm-archero-title .wd-archive-title,.dm-archero-title h1,.dm-archero-title h2{font-size:22px;}
}

/* ==========================================================================
   Contact page (تماس با ما) — pastel gradient card, info column + CF7 form.
   ========================================================================== */
.dm-contact-card{
	background:linear-gradient(115deg,#ffe9ec 0%,#fdfbe0 28%,#e9f7f2 55%,#efeaff 100%);
	border-radius:30px;padding:36px 40px;margin-block:36px 48px;
	box-shadow:0 0 0 1px #ffe1e8;
}
.dm-contact-cols{gap:34px;align-items:stretch;}

/* --- info column --------------------------------------------------------- */
.dm-contact-lead{color:#3d4653;font-size:15px;line-height:2.2;margin:10px 0 26px;}
.dm-contact-label{color:#3d4653;font-size:14px;font-weight:600;margin:0 0 10px;}
.dm-contact-pills{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;}
.dm-contact-pill{
	display:inline-flex;align-items:center;gap:10px;
	background:#fff;border:1px solid #f0e6ee;border-radius:999px;
	padding:12px 20px;color:#092a47;font-weight:700;font-size:15px;text-decoration:none;
}
.dm-contact-pill:hover{border-color:#092a47;color:#092a47;}
.dm-contact-pill::before{
	content:"";width:18px;height:18px;flex:0 0 auto;
	background-repeat:no-repeat;background-position:center;background-size:contain;
}
.dm-contact-info .dm-socials{margin-top:0;}

/* --- CF7 form: white card ------------------------------------------------ */
.dm-contact-cols .wpcf7{
	background:#fff;border:1px solid #f0e6ee;border-radius:24px;padding:26px 28px;height:100%;
}
.dm-contact-cols .wpcf7 .dm-field{margin:0 0 16px;}
.dm-contact-cols .wpcf7 label{
	display:block;color:#3d4653;font-size:14px;font-weight:600;margin-bottom:8px;
}
.dm-contact-cols .wpcf7 input[type="text"],
.dm-contact-cols .wpcf7 input[type="tel"],
.dm-contact-cols .wpcf7 input[type="email"],
.dm-contact-cols .wpcf7 select,
.dm-contact-cols .wpcf7 textarea{
	width:100%;box-sizing:border-box;background:#fbfbfc;
	border:1px solid #eef0f3;border-radius:14px;padding:14px 16px;
	color:#092a47;font-family:inherit;font-size:15px;
}
.dm-contact-cols .wpcf7 input::placeholder,
.dm-contact-cols .wpcf7 textarea::placeholder{color:#3d4653;}
.dm-contact-cols .wpcf7 select{height:52px;appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5361' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:left 16px center;background-size:18px;}
.dm-contact-cols .wpcf7 textarea{min-height:130px;resize:vertical;}
.dm-contact-cols .wpcf7 .wpcf7-form-control-wrap{display:block;}

/* submit: the site-wide navy pill with the white gap + navy ring */
.dm-contact-cols .wpcf7 .dm-submit{margin:22px 0 0;}
.dm-contact-cols .wpcf7 input[type="submit"]{
	width:100%;height:56px;border-radius:999px;
	background:#092a47;color:#fdf6c9;font-size:16px;font-weight:800;
	border:3px solid #fff;box-shadow:0 0 0 2px #092a47;cursor:pointer;
}
.dm-contact-cols .wpcf7 input[type="submit"]:hover{background:#0d3a5f;}
.dm-contact-cols .wpcf7-spinner{margin-inline-start:8px;}
/* CF7 validation + response messages, restyled off its default red/green bars */
.dm-contact-cols .wpcf7-not-valid-tip{color:#b3123b;font-size:13px;margin-top:6px;}
.dm-contact-cols .wpcf7-response-output{
	border:0 !important;border-radius:14px;padding:12px 16px !important;
	margin:16px 0 0 !important;background:#fff4f4;color:#8e1f4b;font-size:14px;
}
.dm-contact-cols .wpcf7 form.sent .wpcf7-response-output{background:#eafaf2;color:#0d5f55;}

@media (max-width:781px){
	.dm-contact-card{padding:22px 18px;border-radius:24px;margin-block:20px 30px;}
	.dm-contact-cols{gap:20px;}
	.dm-contact-cols .wpcf7{padding:20px 18px;border-radius:20px;}
	.dm-contact-lead{font-size:14px;}
}

/* ==========================================================================
   سفارش و مشاوره کیک خانگی — home-baker directory cards.
   Grid rather than fixed columns, so 1..N cards all lay out correctly.
   ========================================================================== */
.dm-bakers{padding-block:40px 20px;}
.dm-bakers-title{color:#092a47;font-size:34px;font-weight:800;margin:0 0 34px;}
.dm-bakers-title.dm-heading-mark::before{display:block;margin:0 auto 10px;font-size:15px;}

.dm-baker-grid{
	display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:start;
}

.dm-baker{
	display:flex;flex-direction:column;
	background:#fff;border:1px solid #f7e3ec;border-radius:22px;padding:18px 20px 20px;
}
.dm-baker-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.dm-baker-avatar{
	flex:0 0 auto;width:66px;height:66px;border-radius:16px;
	background:#eef1f5 center/cover no-repeat;
}
/* no photo yet: a neutral silhouette instead of a blank square */
.dm-baker-avatar-empty{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%234a5361' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='24' cy='18' r='8'/%3E%3Cpath d='M10 40c2.5-7.5 7.8-11 14-11s11.5 3.5 14 11'/%3E%3C/svg%3E");
	background-size:62%;background-position:center;background-repeat:no-repeat;
}
.dm-baker-id{display:flex;flex-direction:column;gap:6px;min-width:0;}
.dm-baker-name{color:#092a47;font-size:17px;font-weight:800;}
.dm-baker-city{
	display:inline-flex;align-items:center;gap:6px;color:#3d4653;font-size:13px;
}
.dm-baker-city::before{
	content:"";width:15px;height:15px;flex:0 0 auto;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5361' stroke-width='1.8'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.dm-baker-text{
	color:#3d4653;font-size:14px;line-height:2.1;margin:0 0 18px;flex:1 1 auto;
}

/* actions sit below a hairline, as in the design */
.dm-baker-actions{border-top:1px solid #f7e3ec;padding-top:16px;}
.dm-baker-call{
	display:block;text-align:center;margin-bottom:12px;
	background:#092a47;color:#fdf6c9;font-size:16px;font-weight:800;
	padding:14px 20px;border-radius:999px;text-decoration:none;
	border:3px solid #fff;box-shadow:0 0 0 2px #092a47;
}
.dm-baker-call:hover{background:#0d3a5f;color:#fdf6c9;}
.dm-baker-socials{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dm-baker-soc{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	background:#f5f6f8;border-radius:999px;padding:10px 12px;
	color:#092a47;font-size:13px;font-weight:600;text-decoration:none;
}
.dm-baker-soc:hover{background:#eceef2;color:#092a47;}
.dm-baker-soc::before{content:"";width:18px;height:18px;flex:0 0 auto;
	background-repeat:no-repeat;background-position:center;background-size:contain;}
.dm-baker-ig::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c13584' stroke-width='1.8'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='1.2' fill='%23c13584' stroke='none'/%3E%3C/svg%3E");}
.dm-baker-tg::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232aabee'%3E%3Cpath d='M21.9 4.3 18.8 19c-.2 1-.9 1.3-1.7.8l-4.7-3.5-2.3 2.2c-.3.3-.5.5-1 .5l.4-4.9 8.9-8c.4-.3-.1-.5-.6-.2L6.8 13 2.1 11.5c-1-.3-1-1 .2-1.5l18.3-7c.9-.3 1.6.2 1.3 1.3Z'/%3E%3C/svg%3E");}

/* a card with no social links keeps the phone button full width */
.dm-baker-actions:not(:has(.dm-baker-socials)) .dm-baker-call{margin-bottom:0;}

@media (max-width:1024px){
	.dm-baker-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:781px){
	.dm-bakers{padding-block:22px 10px;}
	.dm-bakers-title{font-size:24px;margin-bottom:22px;}
	.dm-baker-grid{grid-template-columns:1fr;gap:16px;}
}

/* --- link from a directory card to that chef's page ----------------------- */
.dm-baker-more{
	display:inline-block;margin:0 0 16px;color:#092a47;font-size:13px;font-weight:700;
	text-decoration:none;border-bottom:1px solid #f0e6ee;padding-bottom:3px;
}
.dm-baker-more:hover{color:#3d4653;border-color:#092a47;}

/* ==========================================================================
   Single chef page (child of /cake-consulting/): intro card + cake gallery.
   ========================================================================== */
.dm-chef{max-width:960px;margin-inline:auto;padding-block:40px 24px;}
.dm-chef-card{
	background:linear-gradient(115deg,#ffe9ec 0%,#fdfbe0 30%,#e9f7f2 62%,#efeaff 100%);
	border-radius:28px;padding:28px 32px;box-shadow:0 0 0 1px #ffe1e8;
}
.dm-chef-head{display:flex;align-items:center;gap:18px;margin-bottom:16px;}
.dm-chef-avatar{
	flex:0 0 auto;width:96px;height:96px;border-radius:24px;border:3px solid #fff;
	/* longhand: the shorthand would reset the silhouette background-image
	   that .dm-baker-avatar-empty sets earlier in the stylesheet */
	background-color:#eef1f5;background-position:center;background-repeat:no-repeat;background-size:cover;
}
.dm-chef-avatar.dm-baker-avatar-empty{background-size:56%;}
.dm-chef-id{display:flex;flex-direction:column;gap:8px;}
.dm-chef-name{color:#092a47;font-size:26px;font-weight:800;}
.dm-chef-text{color:#3d4653;font-size:15px;line-height:2.2;margin:0 0 20px;max-width:62ch;}

/* actions: phone pill + socials side by side on desktop, stacked on mobile */
.dm-chef-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.dm-chef-actions .dm-baker-call{margin:0;min-width:240px;}
.dm-chef-actions .dm-baker-socials{display:flex;gap:10px;}
.dm-chef-actions .dm-baker-soc{background:#fff;}
.dm-chef-actions .dm-baker-soc:hover{background:#f5f6f8;}

/* gallery of that chef's cakes */
.dm-chef-gallery-title{color:#092a47;font-size:22px;font-weight:800;margin:34px 0 16px;}


@media (max-width:781px){
	.dm-chef{padding-block:22px 10px;}
	.dm-chef-card{padding:20px 18px;border-radius:22px;}
	.dm-chef-head{gap:14px;}
	.dm-chef-avatar{width:72px;height:72px;border-radius:20px;}
	.dm-chef-name{font-size:20px;}
	.dm-chef-actions .dm-baker-call{min-width:0;width:100%;}
	.dm-chef-actions .dm-baker-socials{width:100%;}
	.dm-chef-actions .dm-baker-soc{flex:1;}
	.dm-chef-gallery-title{font-size:18px;}
}

/* ==========================================================================
   Blog archive (مجله) — Woodmart `blog_archive` layout. مجله is the posts page,
   so its page content is never rendered; everything here comes from the layout.
   ========================================================================== */

/* Magazine intro (the archive template renders no heading of its own). */
.dm-blog-intro{margin:0 0 26px;}
.dm-blog-h1{color:#092a47;font-size:30px;font-weight:800;margin:0 0 8px;}
.dm-blog-lead{color:#3d4653;font-size:15px;line-height:2;margin:0;}
@media (max-width:781px){
	.dm-blog-h1{font-size:22px;}
	.dm-blog-lead{font-size:13px;}
}

/* Featured: one large card beside two stacked ones, as in the design — but that
   only reads correctly with three cards, and the site has one post today. So the
   layout is built UP from a single full-width card as posts arrive.
   The rules must go narrow → wide: `:has()` contributes its argument's specificity,
   so :has(a + a + a) (0,5,0) outranks :has(a + a) (0,4,0) no matter the order. */
.dm-blog-featured .wd-blog-holder{
	display:grid !important;grid-template-columns:1fr;grid-auto-rows:1fr;gap:18px;
}
.dm-blog-featured .wd-blog-holder:has(.wd-post + .wd-post){grid-template-columns:1fr 1fr;}
.dm-blog-featured .wd-blog-holder:has(.wd-post + .wd-post + .wd-post){grid-template-columns:2fr 1fr;}
.dm-blog-featured .wd-blog-holder:has(.wd-post + .wd-post + .wd-post) .wd-post:first-child{grid-row:span 2;}
.dm-blog-featured .wd-post{margin:0 !important;width:auto !important;}
/* max-height keeps a full-width single card from becoming a 660px wall of photo */
.dm-blog-featured .wd-post-img img{width:100%;height:100%;max-height:420px;object-fit:cover;}

/* Shared card look for every post card on this page. */
.dm-blog-featured .wd-post,
.dm-blogrow-posts .wd-post{
	background:#fff;border:1px solid #eef0f3;border-radius:20px;overflow:hidden;
	box-shadow:none !important;
}
.dm-blog-featured .wd-post-inner,
.dm-blogrow-posts .wd-post-inner{height:100%;display:flex;flex-direction:column;}
.dm-blog-featured .wd-post-thumb,
.dm-blogrow-posts .wd-post-thumb{margin:0;}
.dm-blog-featured .wd-entities-title,
.dm-blogrow-posts .wd-entities-title{font-size:15px;line-height:1.9;}
.dm-blog-featured .wd-entities-title a,
.dm-blogrow-posts .wd-entities-title a{color:#092a47;}
/* meta row: category pill + date */
.dm-blog-featured .wd-post-meta,
.dm-blogrow-posts .wd-post-meta{
	display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#3d4653;font-size:12px;
}
.dm-blog-featured .wd-post-cat a,
.dm-blogrow-posts .wd-post-cat a{
	background:#f5f6f8;border-radius:999px;padding:5px 12px;color:#092a47;font-size:12px;
	text-decoration:none;
}

/* --- one row per category ------------------------------------------------ */
.dm-blogrow-head{align-items:center;margin:8px 0 14px;}
.dm-blogrow-title{color:#092a47;font-size:22px;font-weight:800;margin:0;}
/* a category with no posts renders no block at all — hide the whole row
   (heading included) rather than leaving a bare title, same as the shop rows */
.wp-block-wd-row:has(.dm-blogrow-head):not(:has(.wd-post)){display:none;}

@media (max-width:781px){
	/* a media query adds no specificity, so these repeat the :has() selectors */
	.dm-blog-featured .wd-blog-holder:has(.wd-post + .wd-post),
	.dm-blog-featured .wd-blog-holder:has(.wd-post + .wd-post + .wd-post){grid-template-columns:1fr;}
	.dm-blog-featured .wd-blog-holder:has(.wd-post + .wd-post + .wd-post) .wd-post:first-child{grid-row:auto;}
	.dm-blogrow-title{font-size:18px;}
}

/* ==========================================================================
   Chef gallery: a single horizontally scrollable row of cake cards (was a
   3-column grid). Each card is photo + what the buyer needs to know.
   Scroll-snap + momentum scrolling so it feels right on touch.
   ========================================================================== */
.dm-chef-gallery{
	display:flex;flex-wrap:nowrap;align-items:stretch;
	overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
	scroll-snap-type:x mandatory;scroll-padding-inline:4px;
	gap:14px;padding-bottom:12px;margin:0;
	/* a visible but unobtrusive scrollbar, so the row reads as scrollable */
	scrollbar-width:thin;scrollbar-color:#d9dee6 transparent;
}
.dm-chef-gallery::-webkit-scrollbar{height:8px;}
.dm-chef-gallery::-webkit-scrollbar-thumb{background:#d9dee6;border-radius:999px;}
.dm-chef-gallery::-webkit-scrollbar-track{background:transparent;}

.dm-cake{
	flex:0 0 auto;width:min(300px,72vw);margin:0;scroll-snap-align:start;
	display:flex;flex-direction:column;
	background:#fff;border:1px solid #eef0f3;border-radius:18px;overflow:hidden;
}
.dm-cake-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.dm-cake-info{
	flex:1 1 auto;display:flex;flex-direction:column;gap:8px;
	padding:14px 16px 16px;
}
.dm-cake-name{color:#092a47;font-size:15px;font-weight:800;line-height:1.7;}
/* size + lead time, as quiet pills — both optional */
.dm-cake-meta{display:flex;flex-wrap:wrap;gap:6px;}
.dm-cake-meta > span{
	background:#f5f6f8;border-radius:999px;padding:4px 10px;
	color:#3d4653;font-size:12px;line-height:1.8;white-space:nowrap;
}
/* margin-top:auto pins the price to the bottom, so prices line up across cards
   whether or not a cake has size/lead pills */
.dm-cake-price{color:#092a47;font-size:14px;font-weight:700;margin-top:auto;padding-top:2px;}
/* a photo with no details at all keeps the plain rounded look it had before */
.dm-cake:not(:has(.dm-cake-info)){border:0;border-radius:18px;}
.dm-cake:not(:has(.dm-cake-info)) .dm-cake-img{border-radius:18px;}

/* ==========================================================================
   Post-migration fixes
   Issues that only became visible once 543 real products were in place.
   ========================================================================== */

/* Woodmart's product-card stock badge is a round shape sized for short Latin
   words ("Sold"), so the Persian «ناموجود» wrapped mid-word onto two lines.
   Let it size to its content instead. This is the CARD label — the large
   «ناموجود» in the single-product buy box is styled separately under
   .dm-sp-stock / .dm-sp-cart and is deliberately left alone. */
.wd-product .product-label.out-of-stock,
.wd-products .product-label.out-of-stock {
	white-space: nowrap;
	width: auto;
	min-width: 0;
	height: auto;
	border-radius: 999px;
	padding: 4px 12px;
	line-height: 1.7;
}

/* ==========================================================================
   Logo artwork
   The header originally drew a navy Borna wordmark over a blurred pastel blob.
   The owner's artwork replaces it; the blob must go with it, or it shows as a
   coloured haze behind a logo that already carries its own pastel palette.
   The wordmark rules stay put — build-header.php still falls back to the text
   mark when the artwork is absent (uploads/ is gitignored).
   ========================================================================== */
.dm-logo:has(.dm-logo-img){padding:0;}
.dm-logo:has(.dm-logo-img)::before{display:none;}

.dm-logo-img{
	display:block;
	height:100%;
	width:auto;
	max-height:118px;          /* inside the 136px slot, with breathing room */
	object-fit:contain;
}

/* The logo spans both header rows, so its box is the full 136px; the <a> has to
   fill that for height:100% on the image to resolve to anything. */
.dm-logo-el .dm-logo{display:flex;align-items:center;height:100%;}

@media (max-width:1024px){
	.dm-logo-img{max-height:64px;}
}

/* ==========================================================================
   Mobile navbar: the تماس (tap-to-call) button
   Woodmart renders every other toolbar icon from its own font via
       .wd-tools-icon:before{content:var(--wd-tools-icon);font-family:"woodmart-font"}
   but a CUSTOM link button expects an uploaded image instead, so its icon slot
   comes out empty. woodmart-font has no phone glyph to point --wd-tools-icon at,
   so the icon is an inline SVG mask — the same approach as the homepage trust
   strip. Sizing reuses the theme's own --wd-tools-icon-base-width so it matches
   its neighbours exactly rather than being eyeballed.
   ========================================================================== */
.wd-toolbar-link-1 .wd-tools-icon::before{
	content:"";
	display:block;
	width:var(--wd-tools-icon-base-width,21px);
	height:var(--wd-tools-icon-base-width,21px);
	background-color:currentColor;
	-webkit-mask:var(--dm-icon-phone) center/contain no-repeat;
	mask:var(--dm-icon-phone) center/contain no-repeat;
}
:root{
	--dm-icon-phone:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='%23000'%20d='M20,15.5c-1.25,0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2,2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7,6.45,8.5,5.25,8.5,4c0-.55-.45-1-1-1H4C3.45,3,3,3.45,3,4c0,9.39,7.61,17,17,17,.55,0,1-.45,1-1v-3.5c0-.55-.45-1-1-1Z'/%3E%3C/svg%3E");
}

/* ==========================================================================
   Category artwork — the icons that fill the illustration slots
   Generated by tools/build-cat-icons.php from tools/icons/*.svg; edit the
   SVG and re-run rather than hand-editing the data URIs below.
   `.dm-art-*` only sets --dm-art, which is the same custom property
   .dm-shopcard and .dm-cathero-art already read, so these icons can fill
   those slots too by adding the class.
   ========================================================================== */
:root{
	--dm-ico-cake:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20fill='none'%20stroke='%23092a47'%20stroke-width='2.4'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cpath%20d='M32%2012c0-4%203-6%206-6'/%3E%3Ccircle%20cx='32'%20cy='16'%20r='4.2'%20fill='%23e05a7d'/%3E%3Cpath%20d='M18%2038a7%207%200%200%201%204-12%2011%2011%200%200%201%2020%200%207%207%200%200%201%204%2012z'%20fill='%23fff6d8'/%3E%3Cpath%20d='M25%2031l2.4-2.4M31.5%2027.5l2.4%202.4M38%2031.5l2.4-2.4'%20stroke='%23e05a7d'%20stroke-width='2.2'/%3E%3Cpath%20d='M20%2038h24l-4%2018H24z'%20fill='%23f0ad4a'/%3E%3Cpath%20d='M28%2040l-2%2015M32%2040v15M36%2040l2%2015'%20stroke-width='1.7'/%3E%3C/svg%3E");
	--dm-ico-teddy:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20fill='none'%20stroke='%23092a47'%20stroke-width='2.4'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Ccircle%20cx='19'%20cy='20'%20r='7.5'%20fill='%23d79a5b'/%3E%3Ccircle%20cx='45'%20cy='20'%20r='7.5'%20fill='%23d79a5b'/%3E%3Ccircle%20cx='19'%20cy='20'%20r='3.4'%20fill='%23f6d3ae'%20stroke-width='1.6'/%3E%3Ccircle%20cx='45'%20cy='20'%20r='3.4'%20fill='%23f6d3ae'%20stroke-width='1.6'/%3E%3Ccircle%20cx='32'%20cy='35'%20r='16'%20fill='%23d79a5b'/%3E%3Cellipse%20cx='32'%20cy='41'%20rx='9.5'%20ry='7.5'%20fill='%23f6e2c8'/%3E%3Cellipse%20cx='32'%20cy='37.5'%20rx='3.1'%20ry='2.3'%20fill='%23092a47'%20stroke='none'/%3E%3Cpath%20d='M32%2039.8v2.4M32%2042.2c-1.4%202-3.6%201.8-4.6.2M32%2042.2c1.4%202%203.6%201.8%204.6.2'%20stroke-width='1.8'/%3E%3Ccircle%20cx='25.5'%20cy='30'%20r='2.2'%20fill='%23092a47'%20stroke='none'/%3E%3Ccircle%20cx='38.5'%20cy='30'%20r='2.2'%20fill='%23092a47'%20stroke='none'/%3E%3C/svg%3E");
	--dm-ico-sprout:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20fill='none'%20stroke='%23092a47'%20stroke-width='2.4'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cpath%20d='M32%2056V26'/%3E%3Cpath%20d='M31%2040c-11-1-16-7-16-16%2011%201%2016%207%2016%2016z'%20fill='%234fbf8b'/%3E%3Cpath%20d='M33%2032c11-1%2016-7%2016-16-11%201-16%207-16%2016z'%20fill='%238fd96f'/%3E%3Cpath%20d='M18%2027l10%2011M46%2018l-10%2011'%20stroke-width='1.6'/%3E%3C/svg%3E");
	--dm-ico-fireworks:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M43%2024h11M41.5%2027.5l7.8%207.8M38%2029v11M34.5%2027.5l-7.8%207.8M33%2024H22M34.5%2020.5l-7.8-7.8M38%2019V8M41.5%2020.5l7.8-7.8'%20stroke='%23e05a7d'%20stroke-width='3.2'/%3E%3Cpath%20d='M47%2024h4M45%2029.5l2.8%202.8M38%2033v4M31%2029.5l-2.8%202.8M29%2024h-4M31%2018.5l-2.8-2.8M38%2015v-4M45%2018.5l2.8-2.8'%20stroke='%23f2b23c'%20stroke-width='3.2'/%3E%3Ccircle%20cx='38'%20cy='24'%20r='3'%20fill='%23092a47'/%3E%3Cpath%20d='M19%2038h6M18%2041.5l4.2%204.2M14.5%2043v6M11%2041.5l-4.2%204.2M10%2038H4M11%2034.5l-4.2-4.2M14.5%2033v-6M18%2034.5l4.2-4.2'%20stroke='%236b4fc9'%20stroke-width='2.8'%20transform='translate(1.5%200)'/%3E%3Ccircle%20cx='16'%20cy='38'%20r='2.2'%20fill='%23092a47'/%3E%3Cpath%20d='M16%2050v11'%20stroke='%23092a47'%20stroke-width='2.2'%20stroke-dasharray='0.1%204'/%3E%3Cpath%20d='M54%2046l1.5%204%204%201.5-4%201.5-1.5%204-1.5-4-4-1.5%204-1.5z'%20fill='%23f2b23c'%20stroke='%23092a47'%20stroke-width='1.6'/%3E%3C/svg%3E");
}

.dm-art-cake{--dm-art:var(--dm-ico-cake);}
.dm-art-teddy{--dm-art:var(--dm-ico-teddy);}
.dm-art-sprout{--dm-art:var(--dm-ico-sprout);}
.dm-art-fireworks{--dm-art:var(--dm-ico-fireworks);}

/* The slot itself was built empty (see the utility block above); this is the
   one line it was waiting for. */
.dm-cat-tile .dm-cat-art{background-image:var(--dm-art);}

/* ==========================================================================
   Mobile: card rows that scroll sideways (.dm-hscroll)

   Add `dm-hscroll` to the wrapper group/query of a product-collection or a
   post-template and its row becomes a swipeable, snapping track below 781px
   instead of a tall stack (or, for the blog, a cramped 2-up grid).

   Why this and not an auto-advancing carousel: motion is not what tells a
   person a row scrolls — a half-visible next card does. Autoplay would also
   fail WCAG 2.2.2 (Pause, Stop, Hide) without a pause control, and Woodmart's
   Swiper autoplay only offers `pauseOnMouseEnter`, which does nothing on a
   touch screen. This is the same pure-CSS pattern as .dm-chef-gallery.

   The two template types need different handling and it is not interchangeable:
   WooCommerce renders `.is-flex-container` (display:flex, columns-N widths only
   inside `@media (min-width:600px)`, so `> li{width:100%}` on a phone), while
   core's post-template here is `is-layout-grid`. Hence the explicit `display`
   below — without it the grid one keeps its columns and never scrolls.

   Specificity note: WooCommerce's `.wc-block-product-template.is-flex-container
   > li` is (0,2,1). Repeating `.is-flex-container` takes ours to (0,3,1) so it
   wins on specificity rather than on source order, which block stylesheets
   would otherwise decide for us. No `!important`.
   ========================================================================== */
@media (max-width:781px){
	.dm-hscroll .wc-block-product-template.is-flex-container,
	.dm-hscroll .wp-block-post-template{
		display:flex;flex-direction:row;flex-wrap:nowrap;
		overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
		scroll-snap-type:x mandatory;scroll-padding-inline:2px;
		gap:12px;padding-bottom:12px;
		scrollbar-width:thin;scrollbar-color:#bfcbd9 transparent;
	}
	.dm-hscroll .wc-block-product-template.is-flex-container::-webkit-scrollbar,
	.dm-hscroll .wp-block-post-template::-webkit-scrollbar{height:8px;}
	.dm-hscroll .wc-block-product-template.is-flex-container::-webkit-scrollbar-thumb,
	.dm-hscroll .wp-block-post-template::-webkit-scrollbar-thumb{
		background:#bfcbd9;border-radius:999px;
	}
	.dm-hscroll .wc-block-product-template.is-flex-container::-webkit-scrollbar-track,
	.dm-hscroll .wp-block-post-template::-webkit-scrollbar-track{background:transparent;}

	/* 66vw leaves the next card peeking in — the affordance that replaces
	   arrows, dots and motion. */
	.dm-hscroll .wc-block-product-template.is-flex-container > li,
	.dm-hscroll .wp-block-post-template > li{
		flex:0 0 auto;width:min(240px,66vw);scroll-snap-align:start;margin:0;
	}

	/* The cards are narrower now, so the stacked rule that padded a full-width
	   card can relax. */
	.dm-hscroll .wc-block-product{padding:8px;}
}

/* ==========================================================================
   Tile artwork for the «منتخب دسته‌بندی» panels
   Generated by tools/build-pick-panels.php — re-run it rather than editing
   this file; the hooks have to match the markup it writes on page 2.
   Source per tile: the WooCommerce category thumbnail if one is set, else
   the newest product in that category with a featured image, de-duplicated
   so no two circles show the same photo.
   ========================================================================== */
/* The base rule sizes the slot at 64% of the circle, set when it held
   nothing. A real 4:3 photo at 64% covers only 64x48% of it and reads as
   lost. 70% is the ceiling: a SQUARE image puts its corners at
   0.5*sqrt(2)*size from the centre, which escapes the circle past 70.7%. */
.dm-pick-art{background-size:70%;}

.dm-art-chocolate-silicone-mold{background-image:url("/wp-content/uploads/2025/02/rose-and-sunflower-candy-silicone-mold-1-430x323-1-400x300.webp");background-image:image-set(url("/wp-content/uploads/2025/02/rose-and-sunflower-candy-silicone-mold-1-430x323-1-400x300.webp.avif") type("image/avif"),url("/wp-content/uploads/2025/02/rose-and-sunflower-candy-silicone-mold-1-430x323-1-400x300.webp") type("image/webp"));background-size:80.0%;}
.dm-art-ice-cream-mold{background-image:url("/wp-content/uploads/2025/10/4-piece-spherical-silicone-mold-400x300.webp");background-image:image-set(url("/wp-content/uploads/2025/10/4-piece-spherical-silicone-mold-400x300.webp.avif") type("image/avif"),url("/wp-content/uploads/2025/10/4-piece-spherical-silicone-mold-400x300.webp") type("image/webp"));background-size:80.0%;}
.dm-art-jelly-silicone-mold{background-image:url("/wp-content/uploads/2025/02/lady-Finger-Silicone-Dessert-Mold-400x300.jpg");background-image:image-set(url("/wp-content/uploads/2025/02/lady-Finger-Silicone-Dessert-Mold-400x300.jpg.avif") type("image/avif"),url("/wp-content/uploads/2025/02/lady-Finger-Silicone-Dessert-Mold-400x300.jpg") type("image/jpeg"));background-size:80.0%;}
.dm-art-hemisphere-mold{background-image:url("/wp-content/uploads/2025/02/truffle-mold-400x300.jpg");background-image:image-set(url("/wp-content/uploads/2025/02/truffle-mold-400x300.jpg.avif") type("image/avif"),url("/wp-content/uploads/2025/02/truffle-mold-400x300.jpg") type("image/jpeg"));background-size:80.0%;}
.dm-art-cat-99{background-image:url("/wp-content/uploads/2025/12/large-round-cake-cake-and-bottom-mold-in-the-door-400x300.webp");background-image:image-set(url("/wp-content/uploads/2025/12/large-round-cake-cake-and-bottom-mold-in-the-door-400x300.webp.avif") type("image/avif"),url("/wp-content/uploads/2025/12/large-round-cake-cake-and-bottom-mold-in-the-door-400x300.webp") type("image/webp"));background-size:80.0%;}
.dm-art-cat-100{background-image:url("/wp-content/uploads/2025/04/moje-rectangular-cake-mold-code-7-400x300.webp");background-image:image-set(url("/wp-content/uploads/2025/04/moje-rectangular-cake-mold-code-7-400x300.webp.avif") type("image/avif"),url("/wp-content/uploads/2025/04/moje-rectangular-cake-mold-code-7-400x300.webp") type("image/webp"));background-size:80.0%;}
.dm-art-granite-cake-mold{background-image:url("/wp-content/uploads/2025/11/set-of-3-round-belt-molds-height-9-cm-BPV-400x300.webp");background-image:image-set(url("/wp-content/uploads/2025/11/set-of-3-round-belt-molds-height-9-cm-BPV-400x300.webp.avif") type("image/avif"),url("/wp-content/uploads/2025/11/set-of-3-round-belt-molds-height-9-cm-BPV-400x300.webp") type("image/webp"));background-size:80.0%;}
.dm-art-cat-102{background-image:url("/wp-content/uploads/2025/03/big-sunflower-design-aluminum-cake-pan-400x300.webp");background-image:image-set(url("/wp-content/uploads/2025/03/big-sunflower-design-aluminum-cake-pan-400x300.webp.avif") type("image/avif"),url("/wp-content/uploads/2025/03/big-sunflower-design-aluminum-cake-pan-400x300.webp") type("image/webp"));background-size:80.0%;}

/* ==========================================================================
   Landing pages (.dm-lp-*): فروش عمده, کیک خانگی, سوالات متداول — and the
   online-only notice (.dm-online-only).
   Built by tools/build-b2b.php. The hero, pills, FAQ accordion and form card
   reuse .dm-cathero / .dm-cathero-pill / .dm-faq / .dm-contact-card; only what
   those did not cover is here. Logical properties throughout (RTL).
   ========================================================================== */
:root{
	--dm-ico-info:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%2011v6M12%207.5v.5'/%3E%3C/svg%3E");
}

/* The notice: one sentence, wherever the shortcode is placed. */
.dm-online-only{
	display:flex;align-items:center;gap:10px;
	margin:14px 0;padding:10px 16px;
	border-radius:14px;background:#eef8f4;border:1px solid #cfeee2;
	color:#092a47;font-size:14px;font-weight:600;line-height:1.9;
}
.dm-online-only::before{
	content:"";flex:0 0 18px;height:18px;background-color:#0d5f55;
	-webkit-mask:var(--dm-ico-info) center/contain no-repeat;
	        mask:var(--dm-ico-info) center/contain no-repeat;
}

/* Section heads and copy */
.dm-lp-head{margin-top:40px;}
.dm-lp-title{color:#092a47;font-size:24px;font-weight:800;margin:2px 0 16px;line-height:1.6;}
.dm-lp-lead{color:#3d4653;font-size:15px;line-height:2.1;margin:0 0 16px;max-width:64ch;}
.dm-lp-hero .dm-cathero-title{margin-bottom:10px;}
.dm-lp-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px;}

/* .dm-btn-navy was only defined for Gutenberg's button block; a plain link too. */
a.dm-btn-navy{
	display:inline-flex;align-items:center;justify-content:center;
	background:#092a47;color:#fff;border-radius:999px;padding:12px 28px;
	font-weight:700;text-decoration:none;
}
a.dm-btn-navy:hover,a.dm-btn-navy:focus-visible{background:#0d3a62;color:#fff;}

/* «برای چه کسانی» */
.dm-lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.dm-lp-card{background:#fff;border:1px solid #eef0f3;border-radius:18px;padding:18px 20px;}
.dm-lp-card-title{color:#092a47;font-weight:800;font-size:17px;margin:0 0 6px;}
.dm-lp-card p:not(.dm-lp-card-title){color:#3d4653;font-size:14px;line-height:2;margin:0;}

/* «سفارش عمده در سه قدم» */
.dm-lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:dmstep;}
.dm-lp-steps li{counter-increment:dmstep;background:#fffdf3;border:1px solid #f3ead2;border-radius:18px;padding:18px 20px;}
.dm-lp-steps li::before{
	content:counter(dmstep);display:flex;align-items:center;justify-content:center;
	width:34px;height:34px;border-radius:50%;background:#092a47;color:#fff;font-weight:800;margin-bottom:10px;
}
.dm-lp-steps b{display:block;color:#092a47;font-size:16px;margin-bottom:4px;}
.dm-lp-steps span{color:#3d4653;font-size:14px;line-height:2;}

/* Directory call-out on the hub */
.dm-lp-band{
	display:flex;align-items:center;justify-content:space-between;gap:20px;
	margin-top:40px;padding:24px 28px;border-radius:24px;background:#f4f0ff;
}
.dm-lp-band .dm-lp-head{margin-top:0;}
.dm-lp-band .dm-lp-actions{margin:0;flex:0 0 auto;}

/* Forms: the anchor target clears the sticky header */
.dm-lp-formhead{scroll-margin-top:140px;}
.dm-lp-formcard{max-width:760px;}
.dm-lp-more{margin:22px 0 44px;color:#3d4653;}
.dm-lp-more a,.dm-lp-faq .dm-faq a{color:#092a47;font-weight:700;}

/* FAQ page */
.dm-lp-faqhead .dm-lp-head{margin-top:24px;}
.dm-lp-faq{max-width:860px;margin-bottom:48px;}

@media (max-width:781px){
	.dm-lp-cards,.dm-lp-cards-2,.dm-lp-cards-4,.dm-lp-steps{grid-template-columns:1fr;}
	.dm-lp-band{flex-direction:column;align-items:stretch;padding:20px;}
	.dm-lp-title{font-size:20px;}
	.dm-lp-hero .dm-lp-actions{justify-content:center;}
	.dm-lp-hero .dm-contact-pills{justify-content:center;}
}

/* ---- کیک خانگی landing: two audiences ---------------------------------- */
:root{
	--dm-ico-class:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cpath%20d='M2%209l10-5%2010%205-10%205z'/%3E%3Cpath%20d='M6%2011v5c3%202%209%202%2012%200v-5M22%209v5'/%3E%3C/svg%3E");
	--dm-ico-cakeslice:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cpath%20d='M4%2020h16M5%2020v-7h14v7M5%2016.5c2.3%201.2%204.6-1.2%207%200s4.7%201.2%207%200M12%2013V9.5M12%206.5v.5'/%3E%3C/svg%3E");
	--dm-ico-custom:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cpath%20d='M4%2020l4.5-1L19%208.5%2015.5%205%205%2015.5z'/%3E%3Cpath%20d='M13.5%207l3.5%203.5'/%3E%3C/svg%3E");
}
/* Secondary action next to .dm-btn-navy. */
a.dm-btn-outline{
	display:inline-flex;align-items:center;justify-content:center;
	border:1.5px solid #092a47;color:#092a47;background:#fff;border-radius:999px;padding:10.5px 26px;
	font-weight:700;text-decoration:none;
}
a.dm-btn-outline:hover,a.dm-btn-outline:focus-visible{background:#092a47;color:#fff;}

/* A whole card as one link, with an icon and a call to action at the foot. */
a.dm-lp-card-link{display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s;}
a.dm-lp-card-link:hover,a.dm-lp-card-link:focus-visible{border-color:#c9b6f7;box-shadow:0 6px 20px rgba(9,42,71,.07);}
.dm-lp-card-ico{
	width:44px;height:44px;border-radius:14px;background:#f4f0ff;position:relative;margin-bottom:4px;
}
.dm-lp-card-ico::before{
	content:"";position:absolute;inset:10px;background-color:#092a47;
	-webkit-mask:var(--dm-ico) center/contain no-repeat;mask:var(--dm-ico) center/contain no-repeat;
}
.dm-ico-class{--dm-ico:var(--dm-ico-class);}
.dm-ico-cake{--dm-ico:var(--dm-ico-cakeslice);background:#fff3e8;}
.dm-ico-custom{--dm-ico:var(--dm-ico-custom);background:#eef8f4;}
.dm-lp-card-cta{margin-top:auto;padding-top:8px;color:#092a47;font-weight:700;font-size:14px;}
.dm-lp-anchor{scroll-margin-top:140px;}

/* CF7 checkbox group in a form card */
.dm-field-choices{border:0;margin:0 0 16px;padding:0;min-width:0;}
/* Woodmart styles <legend> as a heading; match the other field labels instead */
.dm-field-choices legend{padding:0;margin-bottom:8px;font-size:inherit;font-weight:400;line-height:inherit;font-family:inherit;color:var(--wd-title-color);}
.dm-field-choices .wpcf7-list-item{display:block;margin:0 0 6px;}
.dm-field-choices .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;}

/* The band on «سفارش و مشاوره کیک خانگی» that leads here */
.dm-hub-band{margin:8px 0 28px;text-align:start;}
.dm-hub-band .dm-lp-lead{margin:0;}

/* The main-nav button (menu item class dm-nav-cta, set by setup-nav.php) */
.wd-header-secondary-nav .wd-nav>li.dm-nav-cta>a{
	height:auto;padding:7px 16px;border:1.5px solid #092a47;border-radius:999px;color:#092a47;
}
.wd-header-secondary-nav .wd-nav>li.dm-nav-cta>a:hover,
.wd-header-secondary-nav .wd-nav>li.dm-nav-cta.current-menu-item>a{background:#092a47;color:#fff;}
.wd-header-secondary-nav .wd-nav>li.dm-nav-cta::after{display:none;}

/* Card-grid variants */
.dm-lp-cards-2{grid-template-columns:repeat(2,1fr);}
.dm-lp-cards-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1100px){ .dm-lp-cards-4{grid-template-columns:repeat(2,1fr);} }
.dm-home-learn .wp-block-heading{margin-bottom:20px;}

/* مجله dropdown: the school directory, set off from the article categories */
.wd-dropdown-menu li.dm-nav-sep-after{border-bottom:1px solid #eef0f3;margin-bottom:6px;padding-bottom:6px;}
.wd-dropdown-menu li.dm-nav-sep-after>a{font-weight:700;color:#092a47;}

@media (max-width:781px){
	.dm-hub-band .dm-lp-actions{flex-direction:column;align-items:stretch;}
	.dm-lp-hero .dm-lp-actions a{flex:1 1 auto;}
}

/* Wholesale hero: the optional-form line under the call buttons */
.dm-lp-alt{margin:0;color:#3d4653;font-size:14px;}
.dm-lp-alt a{color:#092a47;font-weight:700;}

/* ==========================================================================
   Header fit at narrow desktop widths (1025–1599px)
   Measured, not eyeballed. Two problems lived in this band:
   - The LOGO COLLAPSED. .dm-logo-el was flex:1 1 auto and the image
     max-width:100%, so the row shrank the logo first: ~0px wide at 1025px,
     14px at 1280px, full size (~207px) only from ~1440px. Most laptop screens
     showed no logo at all. It must never shrink.
   - With the logo back and five top-nav items (فروش عمده added), the row is
     too wide, so this band trims the search, the nav spacing, the logo size,
     and shows the account button as an icon (its label stays for screen
     readers). The category row wrapped to two lines; the 270px min-width
     Woodmart puts on the «دسته‌بندی محصولات» opener is the slack it needed.
   Under 1025px the mobile header takes over.
   ========================================================================== */
.whb-general-header .dm-logo-el{flex:0 0 auto;}
.whb-general-header .dm-logo-img{max-width:none;}

@media (min-width:1025px) and (max-width:1599px){
	.whb-main-header{--dm-logo-w:176px;}
	.whb-general-header .dm-logo-img{max-height:96px;}
	.whb-column8 .dm-logo-el{padding-inline-end:14px;margin-inline-end:14px;}

	.whb-column8 .wd-header-search-form{width:200px;}
	/* Woodmart gives the input min-width:290px, so it overflowed any narrower
	   wrapper and slid under the top nav — measure the INPUT, not the wrapper. */
	.whb-column8 .wd-header-search-form form.searchform input[type="text"]{min-width:0;}

	.wd-header-secondary-nav .wd-nav{--nav-gap:10px;column-gap:10px;}
	.wd-header-secondary-nav .wd-nav>li{margin-inline:5px;}
	/* items sit 20px apart (5+5 margin + 10 gap): centre the 6px dot at -10px */
	.wd-header-secondary-nav .wd-nav>li+li::after{inset-inline-start:-13px;}
	.wd-header-secondary-nav .wd-nav>li>a{font-size:14px;}

	/* icon-only account button; the label is visually hidden, not removed */
	.whb-header .wd-header-my-account .wd-tools-text{
		position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
	}

	.whb-header .whb-header-bottom .wd-header-main-nav .wd-nav{--nav-gap:10px;column-gap:10px;flex-wrap:nowrap;}
	.whb-header .whb-header-bottom .wd-header-main-nav .wd-nav>li>a{font-size:14px;white-space:nowrap;}
	/* The dropdown keeps its own min-width:270px, anchored to the opener. */
	.whb-header .wd-header-cats .menu-opener{min-width:0;white-space:nowrap;}
	.whb-header .wd-header-cats{padding-inline-end:14px;margin-inline-end:14px;}
}
/* Below 1200 the six-item nav (with the کیک خانگی button) needs ~120px more:
   smaller nav type and spacing. Items sit 2+2 margin + 6 gap = 10px apart, so
   the 6px dot is centred at -5px. */
@media (min-width:1025px) and (max-width:1199px){
	.whb-column8 .wd-header-search-form{width:150px;}
	.wd-header-secondary-nav .wd-nav{--nav-gap:6px;column-gap:6px;}
	.wd-header-secondary-nav .wd-nav>li{margin-inline:2px;}
	/* a 4px dot here: 6px left only 2px either side of it at this spacing */
	.wd-header-secondary-nav .wd-nav>li+li::after{width:4px;height:4px;margin-top:-2px;inset-inline-start:-7px;}
	.wd-header-secondary-nav .wd-nav>li>a{font-size:13px;}
	.wd-header-secondary-nav .wd-nav>li.dm-nav-cta>a{padding:6px 12px;}
}
/* The last 75px before the mobile header. */
@media (min-width:1025px) and (max-width:1099px){
	.whb-column8 .wd-header-search-form{width:120px;}
	/* keep the placeholder clear of the magnifier at the end side */
	.whb-column8 .wd-header-search-form form.searchform input[type="text"]{padding-inline-end:42px;}
}

/* The school-directory link at the left end of the category row (build-header.php,
   column13). It shows only where measured free space allows: 200px+ from 1200
   (full label from 1280), 92px at 1100, 24px at 1025. */
.dm-hdr-schools{
	display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
	padding:7px 14px;border-radius:999px;background:#f4f0ff;color:#092a47;
	font-size:14px;font-weight:700;text-decoration:none;transition:background-color .2s;
}
.dm-hdr-schools:hover,.dm-hdr-schools:focus-visible{background:#e8e0ff;color:#092a47;}
.dm-hdr-schools::before{
	content:"";flex:0 0 18px;height:18px;background-color:#4a2c85;
	-webkit-mask:var(--dm-ico-class) center/contain no-repeat;mask:var(--dm-ico-class) center/contain no-repeat;
}
.dm-hdr-short{display:none;}
@media (max-width:1279px){
	.dm-hdr-full{display:none;}
	.dm-hdr-short{display:inline;}
}
@media (max-width:1149px){
	.whb-header-bottom .dm-hdr-schools-el{display:none;}
}

/* ==========================================================================
   School directory (.dm-school-*): hub city cards, the earned ranking, the
   labelled ad slot, and the profile. Markup from mu-plugins/dirmejal-schools.php
   and tools/build-schools.php; builds on .dm-lp-* / .dm-cathero.
   ========================================================================== */

/* Hub: city cards */
.dm-school-cities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:8px;}
.dm-school-city{
	display:flex;flex-direction:column;gap:4px;padding:20px 22px;border-radius:18px;
	background:#fff;border:1px solid #eef0f3;color:#092a47;text-decoration:none;transition:border-color .2s,box-shadow .2s;
}
.dm-school-city:hover,.dm-school-city:focus-visible{border-color:#c9b6f7;box-shadow:0 6px 20px rgba(9,42,71,.07);color:#092a47;}
.dm-school-city-name{font-size:18px;font-weight:800;}
.dm-school-city-n{font-size:13px;color:#3d4653;}

/* Hub: the published criteria */
.dm-school-criteria{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.dm-school-criteria li{background:#f4f0ff;border-radius:16px;padding:16px;}
.dm-school-criteria b{display:block;color:#092a47;font-size:15px;margin-bottom:4px;}
.dm-school-criteria small{display:block;font-weight:600;color:#4a2c85;font-size:13px;}
.dm-school-criteria span{color:#3d4653;font-size:13px;line-height:1.9;}

/* Badges */
.dm-school-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;}
.dm-school-badge{font-size:12px;line-height:1;padding:6px 10px;border-radius:999px;background:#f5f6f8;color:#3d4653;}
.dm-school-badge-ok{background:#eef8f4;color:#0d5f55;font-weight:700;}

/* Thumb / logo, with a graduation-cap placeholder when there is no image */
.dm-school-thumb{width:56px;height:56px;border-radius:14px;object-fit:cover;flex:0 0 56px;background:#fff;border:1px solid #eef0f3;}
.dm-school-thumb-empty,.dm-school-logo.dm-school-thumb-empty{display:block;position:relative;background:#f4f0ff;border:0;}
.dm-school-thumb-empty::before{
	content:"";position:absolute;inset:26%;background-color:#4a2c85;
	-webkit-mask:var(--dm-ico-class) center/contain no-repeat;mask:var(--dm-ico-class) center/contain no-repeat;
}

/* The labelled ad slot — visibly an ad, never mistaken for the ranking */
.dm-school-adlabel{
	display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:6px;
	background:#fff3d6;color:#7a4b00;font-size:12px;font-weight:700;
}
.dm-school-ads{margin:8px 0 26px;padding:16px;border-radius:20px;border:1px dashed #e8d39a;background:#fffdf5;}
.dm-school-adgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.dm-school-ad{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border-radius:14px;background:#fff;color:#092a47;text-decoration:none;}
.dm-school-ad .dm-school-name{font-weight:800;}
.dm-school-ad .dm-school-badges{flex-basis:100%;margin:0;}

/* The earned ranking */
.dm-school-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.dm-school-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;background:#fff;border:1px solid #eef0f3;}
.dm-school-pos{
	flex:0 0 34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
	background:#092a47;color:#fff;font-weight:800;
}
.dm-school-body{flex:1 1 auto;min-width:0;}
.dm-school-body .dm-school-name{color:#092a47;font-size:16px;font-weight:800;text-decoration:none;}
.dm-school-body .dm-school-name:hover{text-decoration:underline;}
.dm-school-score{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;line-height:1.2;color:#092a47;}
.dm-school-score b{font-size:22px;font-weight:800;}
.dm-school-score small{font-size:11px;color:#3d4653;}
.dm-school-how{margin:12px 0 32px;font-size:13px;color:#3d4653;}
.dm-school-how a{color:#092a47;font-weight:700;}

.dm-school-empty{margin:8px 0 32px;padding:24px;border-radius:20px;background:#fff;border:1px dashed #d8dce3;text-align:center;}
.dm-school-empty .dm-lp-actions{justify-content:center;margin:12px 0 0;}

/* Profile */
.dm-school-hero{align-items:center;}
.dm-school-hero .dm-pick-kicker a{color:inherit;}
.dm-school-hero .dm-school-adlabel{margin-bottom:6px;}
.dm-school-logo{width:140px;height:140px;border-radius:24px;object-fit:cover;flex:0 0 140px;background:#fff;}
.dm-school-scorecard{max-width:560px;margin:28px 0;padding:20px 22px;border-radius:20px;background:#f4f0ff;}
.dm-school-scorecard ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.dm-school-scorecard li{display:grid;grid-template-columns:130px 1fr 52px;align-items:center;gap:10px;font-size:14px;color:#3d4653;}
.dm-school-scorecard b{color:#092a47;text-align:end;}
.dm-school-bar{height:8px;border-radius:999px;background:#fff;overflow:hidden;}
.dm-school-bar i{display:block;height:100%;border-radius:inherit;background:#092a47;}
.dm-school-courses td:last-child{white-space:nowrap;}

@media (max-width:781px){
	.dm-school-cities{grid-template-columns:repeat(2,1fr);}
	.dm-school-criteria{grid-template-columns:1fr 1fr;}
	.dm-school-row{flex-wrap:wrap;padding:12px 14px;}
	.dm-school-body{flex-basis:calc(100% - 170px);}
	.dm-school-logo{width:96px;height:96px;flex-basis:96px;}
	.dm-school-scorecard li{grid-template-columns:110px 1fr 46px;}
}
/* The per-city intro is a constrained group: let it use the content width */
.dm-school-intro > *{max-width:none;margin-inline:0;}

/* ==========================================================================
   Channels (.dm-ch-*): the Telegram / Rubika join prompt from [dm_channels]
   (mu-plugins/dirmejal-site.php) — band, box and one-line variants.
   Buttons are navy with white text, not Telegram blue: #229ED9 under white
   text is ~3.3:1, below the site's 7:1 rule.
   ========================================================================== */
:root{
	--dm-ico-plane:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cpath%20d='M21.5%203.5%202.5%2011l7%202.5%202.5%207%203.5-4.5%204.5%203.5z'/%3E%3Cpath%20d='M9.5%2013.5%2021.5%203.5'/%3E%3C/svg%3E");
}
.dm-ch{
	display:flex;align-items:center;gap:18px;margin:0 0 48px;padding:20px 24px;border-radius:22px;
	background:linear-gradient(100deg,#eaf6fd 0%,#f4f0ff 100%);border:1px solid #dcebf7;
}
.dm-ch-ico{
	flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:#092a47;position:relative;
}
.dm-ch-ico::before{
	content:"";position:absolute;inset:14px;background-color:#fff;
	-webkit-mask:var(--dm-ico-plane) center/contain no-repeat;mask:var(--dm-ico-plane) center/contain no-repeat;
}
.dm-ch-text{flex:1 1 auto;min-width:0;}
.dm-ch-title{margin:0 0 4px;color:#092a47;font-size:19px;font-weight:800;line-height:1.6;}
.dm-ch-pitch{margin:0;color:#3d4653;font-size:14px;line-height:2;}
.dm-ch-btns{display:flex;flex-wrap:wrap;gap:10px;margin:0;flex:0 0 auto;}
.dm-ch .dm-ch-btn{
	display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;
	background:#092a47;color:#fff;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;
}
.dm-ch .dm-ch-btn::before{
	content:"";width:16px;height:16px;background-color:currentColor;
	-webkit-mask:var(--dm-ico-plane) center/contain no-repeat;mask:var(--dm-ico-plane) center/contain no-repeat;
}
.dm-ch .dm-ch-btn:hover,.dm-ch .dm-ch-btn:focus-visible{background:#0d3a62;color:#fff;}

/* Inside an article: a card, not a full-bleed band */
.dm-ch-box{margin:28px 0;padding:18px 20px;}
.dm-ch-box .dm-ch-title{font-size:17px;}

/* One line: product buy box, footer */
/* .dm-ch-line also carries .dm-ch, so it must undo the band: background, border,
   padding, and the pill on its links (else navy text on a navy pill). */
.dm-ch.dm-ch-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px 0;padding:0;border:0;border-radius:0;background:none;font-size:14px;color:#3d4653;text-align:start;}
.dm-ch.dm-ch-line .dm-ch-btn{padding:0;background:none;color:#092a47;font-weight:800;text-decoration:underline;text-underline-offset:3px;}
.dm-ch.dm-ch-line .dm-ch-btn:hover,.dm-ch.dm-ch-line .dm-ch-btn:focus-visible{background:none;color:#0d3a62;}

@media (max-width:781px){
	.dm-ch:not(.dm-ch-line){flex-direction:column;align-items:stretch;text-align:center;gap:12px;padding:20px;}
	.dm-ch-ico{align-self:center;}
	.dm-ch-btns{justify-content:center;}
	.dm-ch:not(.dm-ch-line) .dm-ch-btn{flex:1 1 auto;justify-content:center;}
}

/* ==========================================================================
   Homepage category cards — art for the three «خرید …» cards
   Generated by tools/build-home-cards.php; re-run it rather than editing.
   ========================================================================== */
.dm-art-home-91{--dm-art:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20200'%20fill='none'%20stroke='%23092a47'%20stroke-width='3'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='0'%20x2='1'%3E%3Cstop%20offset='0'%20stop-color='%23ffd6e0'/%3E%3Cstop%20offset='.5'%20stop-color='%23ddd3ff'/%3E%3Cstop%20offset='1'%20stop-color='%23c9f2e6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20d='M22%20176C18%20122%20104%2086%20200%2090C304%2094%20384%20118%20380%20170C378%20200%20300%20204%20200%20204C100%20204%2024%20202%2022%20176Z'%20fill='url(%23g)'%20stroke='none'/%3E%3Cellipse%20cx='174'%20cy='182'%20rx='88'%20ry='7'%20fill='%23092a47'%20fill-opacity='.08'%20stroke='none'/%3E%3Crect%20x='96'%20y='171'%20width='156'%20height='9'%20rx='4.5'%20fill='%23fff'/%3E%3Crect%20x='110'%20y='112'%20width='128'%20height='61'%20rx='10'%20fill='%23f9c6d8'/%3E%3Cpath%20d='M112%20118q16%2018%2031%200q16%2018%2031%200q16%2018%2031%200q16%2018%2031%200'%20stroke='%23d94f78'%20stroke-width='3.2'/%3E%3Cg%20fill='%23fff'%20stroke-width='1.6'%3E%3Ccircle%20cx='122'%20cy='164'%20r='3.4'/%3E%3Ccircle%20cx='135'%20cy='164'%20r='3.4'/%3E%3Ccircle%20cx='148'%20cy='164'%20r='3.4'/%3E%3Ccircle%20cx='161'%20cy='164'%20r='3.4'/%3E%3Ccircle%20cx='174'%20cy='164'%20r='3.4'/%3E%3Ccircle%20cx='187'%20cy='164'%20r='3.4'/%3E%3Ccircle%20cx='200'%20cy='164'%20r='3.4'/%3E%3Ccircle%20cx='213'%20cy='164'%20r='3.4'/%3E%3Ccircle%20cx='226'%20cy='164'%20r='3.4'/%3E%3C/g%3E%3Crect%20x='134'%20y='62'%20width='80'%20height='52'%20rx='9'%20fill='%23ffe4ee'/%3E%3Crect%20x='134'%20y='98'%20width='80'%20height='9'%20fill='%23b8a2f5'%20stroke-width='2.4'/%3E%3Cg%20stroke-width='2'%3E%3Ccircle%20cx='160'%20cy='72'%20r='6.5'%20fill='%23fff'/%3E%3Ccircle%20cx='168'%20cy='65'%20r='6.5'%20fill='%23fff'/%3E%3Ccircle%20cx='177'%20cy='70'%20r='6.5'%20fill='%23fff'/%3E%3Ccircle%20cx='175'%20cy='80'%20r='6.5'%20fill='%23fff'/%3E%3Ccircle%20cx='164'%20cy='81'%20r='6.5'%20fill='%23fff'/%3E%3Ccircle%20cx='168.5'%20cy='73.5'%20r='4.6'%20fill='%23f2b23c'/%3E%3C/g%3E%3Cg%20stroke-width='2'%3E%3Ccircle%20cx='196'%20cy='136'%20r='5'%20fill='%23cbb8ff'/%3E%3Ccircle%20cx='203'%20cy='131'%20r='5'%20fill='%23cbb8ff'/%3E%3Ccircle%20cx='209'%20cy='137'%20r='5'%20fill='%23cbb8ff'/%3E%3Ccircle%20cx='205'%20cy='144'%20r='5'%20fill='%23cbb8ff'/%3E%3Ccircle%20cx='197'%20cy='143'%20r='5'%20fill='%23cbb8ff'/%3E%3Ccircle%20cx='202'%20cy='138'%20r='3.2'%20fill='%23f2b23c'/%3E%3C/g%3E%3Cpath%20d='M140%20140q4-6%208%200'%20stroke='%234fbf8b'%20stroke-width='2.6'/%3E%3Cellipse%20cx='312'%20cy='175'%20rx='58'%20ry='10'%20fill='%23092a47'%20fill-opacity='.08'%20stroke='none'/%3E%3Crect%20x='280'%20y='106'%20width='52'%20height='44'%20rx='9'%20fill='%23c9b6ff'/%3E%3Cpath%20d='M286%20116h40'%20stroke='%23fff'%20stroke-opacity='.7'%20stroke-width='2.4'/%3E%3Crect%20x='318'%20y='124'%20width='40'%20height='32'%20rx='8'%20fill='%23a6ebd3'/%3E%3Crect%20x='268'%20y='128'%20width='34'%20height='28'%20rx='7'%20fill='%23ffc9a0'/%3E%3Cpath%20d='M262%20170c10-8%2036-12%2058-10s38%206%2042%2012c-8%206-40%208-62%206s-36-4-38-8z'%20fill='%23f9c6d8'/%3E%3Cg%20transform='rotate(-8%20312%20156)'%3E%3Crect%20x='268'%20y='149'%20width='88'%20height='15'%20rx='7.5'%20fill='%23f0c48a'/%3E%3Crect%20x='252'%20y='152.5'%20width='17'%20height='8'%20rx='4'%20fill='%23d79a5b'/%3E%3Crect%20x='355'%20y='152.5'%20width='17'%20height='8'%20rx='4'%20fill='%23d79a5b'/%3E%3Cpath%20d='M280%20153h60'%20stroke='%23fff'%20stroke-opacity='.6'%20stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");}
.dm-art-home-84{--dm-art:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20200'%20fill='none'%20stroke='%23092a47'%20stroke-width='3'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='0'%20x2='1'%3E%3Cstop%20offset='0'%20stop-color='%23ffd6e0'/%3E%3Cstop%20offset='.5'%20stop-color='%23ddd3ff'/%3E%3Cstop%20offset='1'%20stop-color='%23c9f2e6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20d='M22%20176C18%20122%20104%2086%20200%2090C304%2094%20384%20118%20380%20170C378%20200%20300%20204%20200%20204C100%20204%2024%20202%2022%20176Z'%20fill='url(%23g)'%20stroke='none'/%3E%3Cellipse%20cx='292'%20cy='178'%20rx='80'%20ry='8'%20fill='%23092a47'%20fill-opacity='.08'%20stroke='none'/%3E%3Crect%20x='218'%20y='84'%20width='148'%20height='92'%20rx='18'%20fill='%23a98cf0'/%3E%3Cpath%20d='M230%2092h124'%20stroke='%23fff'%20stroke-opacity='.45'%20stroke-width='2.4'/%3E%3Cg%20fill='%237f5fd6'%20stroke-width='2.4'%3E%3Crect%20x='230'%20y='100'%20width='34'%20height='64'%20rx='16'/%3E%3Crect%20x='275'%20y='100'%20width='34'%20height='64'%20rx='16'/%3E%3Crect%20x='320'%20y='100'%20width='34'%20height='64'%20rx='16'/%3E%3C/g%3E%3Cpath%20d='M275%20128v20a17%2016%200%200%200%2034%200v-20z'%20fill='%23f7a8c2'%20stroke-width='2.4'/%3E%3Crect%20x='288'%20y='74'%20width='8'%20height='70'%20rx='4'%20fill='%23f0c48a'%20stroke-width='2.2'/%3E%3Cellipse%20cx='146'%20cy='180'%20rx='66'%20ry='7'%20fill='%23092a47'%20fill-opacity='.08'%20stroke='none'/%3E%3Crect%20x='111'%20y='132'%20width='13'%20height='44'%20rx='6'%20fill='%23f0c48a'/%3E%3Crect%20x='92'%20y='44'%20width='50'%20height='94'%20rx='23'%20fill='%23f7a8c2'/%3E%3Cpath%20d='M92%2076V68c0-13%2010-24%2025-24s25%2011%2025%2024v8c-4%209-8%201-10-2-3%209-8%209-10%201-3%2010-9%208-11%200-3%209-9%206-10-1-3%207-7%204-9-6z'%20fill='%237a4632'/%3E%3Cg%20stroke-width='2.6'%3E%3Cpath%20d='M104%2058l5-3'%20stroke='%23f2b23c'/%3E%3Cpath%20d='M118%2052l4%204'%20stroke='%23a6ebd3'/%3E%3Cpath%20d='M129%2060l5-2'%20stroke='%23fff'/%3E%3Cpath%20d='M112%2066l3%204'%20stroke='%23cbb8ff'/%3E%3C/g%3E%3Cpath%20d='M101%20100v24'%20stroke='%23fff'%20stroke-opacity='.6'%20stroke-width='3'/%3E%3Cg%20transform='rotate(9%20182%20120)'%3E%3Crect%20x='175'%20y='138'%20width='13'%20height='42'%20rx='6'%20fill='%23f0c48a'/%3E%3Crect%20x='156'%20y='56'%20width='50'%20height='88'%20rx='23'%20fill='%239fe3cb'/%3E%3Cpath%20d='M160%2078c14%208%2030-6%2044%202M158%20102c16%208%2030-6%2046%202M158%20124c14%206%2030-4%2044%200'%20stroke='%23fff'%20stroke-opacity='.8'%20stroke-width='3'/%3E%3Cpath%20d='M164%2088l4%202M188%2096l3%203M176%20118l4%201'%20stroke='%237a4632'%20stroke-width='2.6'/%3E%3C/g%3E%3C/svg%3E");}
.dm-art-home-102{--dm-art:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20200'%20fill='none'%20stroke='%23092a47'%20stroke-width='3'%20stroke-linejoin='round'%20stroke-linecap='round'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='0'%20x2='1'%3E%3Cstop%20offset='0'%20stop-color='%23ffd6e0'/%3E%3Cstop%20offset='.5'%20stop-color='%23ddd3ff'/%3E%3Cstop%20offset='1'%20stop-color='%23c9f2e6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20d='M22%20176C18%20122%20104%2086%20200%2090C304%2094%20384%20118%20380%20170C378%20200%20300%20204%20200%20204C100%20204%2024%20202%2022%20176Z'%20fill='url(%23g)'%20stroke='none'/%3E%3Cellipse%20cx='148'%20cy='178'%20rx='84'%20ry='9'%20fill='%23fff'/%3E%3Cpath%20d='M100%20112q48-18%2096%200l18%2054q-66%2020-132%200z'%20fill='%23f2bd72'/%3E%3Cg%20stroke='%23d99a4a'%20stroke-width='2.6'%3E%3Cpath%20d='M110%20118l-12%2048M128%20113l-6%2056M148%20111v60M168%20113l6%2056M186%20118l12%2048'/%3E%3C/g%3E%3Cpath%20d='M100%20112q48-18%2096%200l3%209c-3%209-8%207-10%201-2%2014-9%2014-11%202-3%2016-11%2014-12%200-3%2013-10%2014-12%200-3%2015-11%2012-12-1-3%2012-9%2012-11%200-3%2010-9%208-10-2-3%208-8%205-9-1z'%20fill='%23ffd2e2'/%3E%3Cellipse%20cx='148'%20cy='106'%20rx='14'%20ry='4.5'%20fill='%23c9874a'%20stroke-width='2.4'/%3E%3Cg%20stroke-width='2.6'%3E%3Cpath%20d='M112%20114l5-2'%20stroke='%23d94f78'/%3E%3Cpath%20d='M124%20106l4%203'%20stroke='%237f5fd6'/%3E%3Cpath%20d='M172%20104l5%202'%20stroke='%234fbf8b'/%3E%3Cpath%20d='M184%20112l4-3'%20stroke='%23f2b23c'/%3E%3Cpath%20d='M136%20118l5%201'%20stroke='%234fbf8b'/%3E%3Cpath%20d='M162%20118l4-3'%20stroke='%23d94f78'/%3E%3C/g%3E%3Ccircle%20cx='130'%20cy='98'%20r='7'%20fill='%23e0355f'%20stroke-width='2.4'/%3E%3Ccircle%20cx='166'%20cy='97'%20r='6'%20fill='%23e0355f'%20stroke-width='2.4'/%3E%3Cpath%20d='M130%2091q4-6%209-4M166%2091q-3-6-8-4'%20stroke='%234fbf8b'%20stroke-width='2.4'/%3E%3Cellipse%20cx='300'%20cy='180'%20rx='72'%20ry='8'%20fill='%23092a47'%20fill-opacity='.08'%20stroke='none'/%3E%3Cpath%20d='M236%20112l12%2052q52%2020%20104%200l12-52'%20fill='%23c3ccd6'/%3E%3Cg%20stroke='%238d99a8'%20stroke-width='2.4'%3E%3Cpath%20d='M254%20124l8%2046M274%20128l4%2046M300%20129v46M326%20128l-4%2046M346%20124l-8%2046'/%3E%3C/g%3E%3Cellipse%20cx='300'%20cy='112'%20rx='64'%20ry='20'%20fill='%23e6ebf1'/%3E%3Cellipse%20cx='300'%20cy='113'%20rx='48'%20ry='13'%20fill='%23b9c3cf'%20stroke-width='2.4'/%3E%3Cpath%20d='M258%20106q12-8%2030-10'%20stroke='%23fff'%20stroke-width='3'/%3E%3Cpath%20d='M289%20112v-16a11%204%200%200%201%2022%200v16'%20fill='%23d6dde5'%20stroke-width='2.4'/%3E%3Cellipse%20cx='300'%20cy='96'%20rx='11'%20ry='4'%20fill='%23eef2f6'%20stroke-width='2.4'/%3E%3C/svg%3E");}

/* ==========================================================================
   Contrast fixes (WCAG AAA, 7:1) — from tools/contrast-audit.html
   The audit (24 page types, ~4,300 text elements) found the failures came
   mostly from Woodmart DEFAULTS, not from our own sections:
   - body text --wd-text-color #767676 = 4.54:1 on white;
   - the grey palette --color-gray-300/400/500 (#bbb / #a5a5a5 / #767676),
     which Woodmart uses ONLY for text colour (post meta, nav labels,
     breadcrumbs, placeholders, product-card category links): 1.9–4.5:1.
   #3d4653 is the one secondary grey: 9.55 on white, 7.95 on the pinkest
   panel (#fbe4f2), >= 8 on every other surface the site uses.
   ========================================================================== */
:root{
	--wd-text-color:#3d4653;
	--color-gray-300:#3d4653;
	--color-gray-400:#3d4653;
	--color-gray-500:#3d4653;
	--wd-form-placeholder-color:#3d4653;
}
/* gray-300 is ALSO the pagination hover background — keep that one light */
.wd-pagination,.page-numbers{--wd-pagin-bg:#eef0f3;}

/* Placeholders we styled ourselves (header search, contact form) */
.wd-header-search-form form.searchform input::placeholder,
.dm-contact-card ::placeholder,.dm-lp-formcard ::placeholder{color:#3d4653;opacity:1;}

/* WooCommerce's required «*» is #e01020 = 4.92:1 */
.required,abbr.required,span.required{color:#a10f1c;}

/* Migrated articles carry inline colours from the old site. Overridden here
   (scoped to .wd-content-area — posts are wrapped in .wd-entry-content, not .entry-content)
   (not edited in the content) — each replacement measured on its own panel. */
.wd-content-area [style*="#b5730f" i]{color:#7a4b00 !important;}
.wd-content-area [style*="#1f6fd6" i]{color:#0b4a8c !important;}
.wd-content-area [style*="#d63030" i],.wd-content-area [style*="#c62828" i]{color:#a10f1c !important;}
.wd-content-area [style*="#c0392b" i]{color:#8a1c12 !important;}
.wd-content-area [style*="#007700" i]{color:#005500 !important;}
.wd-content-area [style*="#2e7d4f" i]{color:#1d5634 !important;}
.wd-content-area [style*="color: #777"],.wd-content-area [style*="color:#777"]{color:#3d4653 !important;}
/* white text on these buttons/badges: darken the fill, not the text */
.wd-content-area [style*="#e23e57" i]{background-color:#9e1a30 !important;border-color:#9e1a30 !important;}
.wd-content-area [style*="background:#2e8b57"],.wd-content-area [style*="background: #2e8b57"],
.wd-content-area [style*="background-color:#2e8b57"],.wd-content-area [style*="background-color: #2e8b57"]{background-color:#1d5634 !important;}
.wd-content-area [style*="color: #2e8b57"],.wd-content-area [style*="color:#2e8b57"]{color:#1d5634 !important;}

/* ==========================================================================
   Discounts section (homepage «تخفیف‌ها»)
   The collection shows only products with a sale price; when none has one it
   renders no product at all (mu-plugin dm_onsale_collection_strict). Hide the
   whole navy panel then, rather than leaving a heading over an empty box. It
   reappears by itself as soon as any product gets a sale price.
   ========================================================================== */
.dm-grad-navy:has(.dm-products-onlight):not(:has(.wc-block-product)){display:none;}

/* ==========================================================================
   Homepage learning cards («یادگیری و همکاری»)
   Scoped to .dm-home-learn so the same .dm-lp-card on the landing pages is
   untouched. Owner asked (2026-10-09) whether these white cards should get a
   colour, an icon, or a once-a-second blink:
   - colour: yes — a pastel per audience (lavender = schools, peach = home
     bakers). Measured: body text #3d4653 is 7.83:1 / 8.13:1 on them, title
     12:1+ (AAA). No pastel makes a strong edge on white by itself (1.2:1), so
     a deeper tinted border outlines the card and the navy button carries the
     «this is clickable» signal at full contrast.
   - icon: the icons existed but were 44px; now 64px in a white circle.
   - blink: NO. Content that flashes or moves by itself for over 5 s needs a
     pause control (WCAG 2.2.2, Level A), it fatigues, and shoppers learn to
     ignore whatever blinks — same reasoning as the rejected autoplay carousel.
     Motion happens only on hover/focus, and not at all under
     prefers-reduced-motion.
   ========================================================================== */
.dm-home-learn .dm-learn-card{
	border-width:1.5px;border-radius:22px;padding:22px 24px;gap:8px;
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.dm-home-learn .dm-learn-lavender{background:#ece5ff;border-color:#cbbdfb;}
.dm-home-learn .dm-learn-peach{background:#ffe9d6;border-color:#f3c39d;}

/* bigger icon, white circle ringed in the card's own tint */
.dm-home-learn .dm-lp-card-ico{
	width:64px;height:64px;border-radius:50%;background:#fff;margin-bottom:6px;
}
.dm-home-learn .dm-learn-lavender .dm-lp-card-ico{box-shadow:0 0 0 2px #cbbdfb;}
.dm-home-learn .dm-learn-peach .dm-lp-card-ico{box-shadow:0 0 0 2px #f3c39d;}
.dm-home-learn .dm-lp-card-ico::before{inset:16px;}

.dm-home-learn .dm-lp-card-title{font-size:19px;}

/* the call to action as a real button: navy pill, same as the «خرید» buttons */
.dm-home-learn .dm-learn-btn{
	align-self:flex-start;margin-top:auto;padding:9px 22px;border-radius:999px;
	background:#092a47;color:#fff;font-size:14px;font-weight:700;
}
.dm-home-learn .dm-learn-btn::after{content:" ‹";}

/* motion only when the user acts */
.dm-home-learn a.dm-learn-card:hover,
.dm-home-learn a.dm-learn-card:focus-visible{
	transform:translateY(-3px);box-shadow:0 10px 24px rgba(9,42,71,.10);
}
.dm-home-learn a.dm-learn-lavender:hover,.dm-home-learn a.dm-learn-lavender:focus-visible{border-color:#9f88f0;}
.dm-home-learn a.dm-learn-peach:hover,.dm-home-learn a.dm-learn-peach:focus-visible{border-color:#e9a26b;}
.dm-home-learn a.dm-learn-card:focus-visible{outline:3px solid #092a47;outline-offset:3px;}
@media (prefers-reduced-motion:reduce){
	.dm-home-learn .dm-learn-card{transition:none;}
	.dm-home-learn a.dm-learn-card:hover,.dm-home-learn a.dm-learn-card:focus-visible{transform:none;}
}

/* Third card (2026-10-09): the cake price calculator. Mint #d5f3e6 — body text
   8.09:1, title 12.41:1 (AAA), same weight as the lavender and peach tints. */
.dm-home-learn .dm-learn-mint{background:#d5f3e6;border-color:#9fd8bd;}
.dm-home-learn .dm-learn-mint .dm-lp-card-ico{box-shadow:0 0 0 2px #9fd8bd;}
.dm-home-learn a.dm-learn-mint:hover,.dm-home-learn a.dm-learn-mint:focus-visible{border-color:#5fb894;}
.dm-ico-calc{--dm-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='2.5'/%3E%3Crect x='8' y='5.5' width='8' height='4' rx='1'/%3E%3Ccircle cx='8.7' cy='13.2' r='1.1' fill='black' stroke='none'/%3E%3Ccircle cx='12' cy='13.2' r='1.1' fill='black' stroke='none'/%3E%3Ccircle cx='15.3' cy='13.2' r='1.1' fill='black' stroke='none'/%3E%3Ccircle cx='8.7' cy='17' r='1.1' fill='black' stroke='none'/%3E%3Ccircle cx='12' cy='17' r='1.1' fill='black' stroke='none'/%3E%3Ccircle cx='15.3' cy='17' r='1.1' fill='black' stroke='none'/%3E%3C/svg%3E");}

/* ==========================================================================
   Cake price calculator ([dm_cake_calculator], mu-plugins/dirmejal-calculator.php)
   Three input cards (ingredients · labour and side costs · margin and weight)
   and a navy result panel. Input borders are #7c8695 (3.6:1 on white) because
   form-field edges need 3:1 (WCAG 1.4.11) — the pale #eef0f3 used for card
   edges elsewhere would make the fields invisible. Error text #9b1c1c (8.3:1).
   ========================================================================== */
.dm-calc{max-width:1080px;margin:0 auto 48px;}
.dm-calc-box{background:#fff;border:1.5px solid #e3e6eb;border-radius:22px;padding:22px 24px;margin-bottom:18px;}
.dm-calc-h{color:#092a47;font-size:19px;font-weight:800;margin:0 0 8px;}
.dm-calc-help{color:#3d4653;font-size:14px;line-height:2;margin:0 0 16px;}
.dm-calc-help b{color:#092a47;}

.dm-calc input,.dm-calc select{
	height:44px;border:1.5px solid #7c8695;border-radius:12px;background:#fff;color:#092a47;
	font:inherit;font-size:15px;padding:0 12px;width:100%;box-sizing:border-box;margin:0;
}
/* A visible chevron: without one the unit pickers read as text boxes. RTL site,
   so the arrow sits on the left (the inline end). */
.dm-calc select{
	-webkit-appearance:none;appearance:none;cursor:pointer;
	padding:0 10px 0 28px;
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23092a47' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat left 10px center/11px 8px;
}
.dm-calc input:focus-visible,.dm-calc select:focus-visible,.dm-calc button:focus-visible{outline:3px solid #092a47;outline-offset:2px;}
.dm-calc-pair{display:flex;gap:6px;}
.dm-calc-pair input{flex:1 1 auto;min-width:0;}
.dm-calc-pair select{flex:0 0 104px;width:104px;}

/* ingredient rows: a table on desktop */
.dm-calc-head,.dm-calc-row{
	display:grid;grid-template-columns:1.3fr 1.35fr 1fr 1.35fr .95fr 44px;gap:10px;align-items:center;
}
.dm-calc-head{color:#3d4653;font-size:13px;font-weight:700;padding:0 2px 8px;}
.dm-calc-row{padding:8px 0;border-top:1px solid #eef0f3;}
.dm-c-cell{min-width:0;}
.dm-c-lbl{display:none;}
.dm-c-cost{display:block;color:#092a47;font-weight:800;font-size:14px;text-align:center;}
.dm-calc-row-err .dm-c-cost{color:#9b1c1c;font-weight:700;font-size:13px;}
.dm-calc-row-err input{border-color:#9b1c1c;}
.dm-c-del{
	width:40px;height:40px;border-radius:50%;border:1.5px solid #7c8695;background:#fff;color:#092a47;
	font-size:20px;line-height:1;cursor:pointer;padding:0;
}
.dm-c-del:hover{border-color:#9b1c1c;color:#9b1c1c;}
.dm-calc-actions{margin:14px 0 0;}
.dm-calc-add{
	border:2px solid #092a47;background:#fff;color:#092a47;border-radius:999px;
	padding:9px 22px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;
}
.dm-calc-add:hover{background:#092a47;color:#fff;}

/* labour / margin fields */
.dm-calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 18px;}
.dm-calc-field{display:flex;flex-direction:column;gap:6px;margin:0;}
.dm-calc-field > span,.dm-calc-field > label{color:#092a47;font-weight:700;font-size:14px;}
.dm-calc-field small{color:#3d4653;font-size:12.5px;}

/* result panel */
.dm-calc-result{background:linear-gradient(135deg,#0d3a62,#092a47);color:#fff;border-radius:22px;padding:24px;}
.dm-calc-result .dm-calc-h{color:#fff;}
.dm-calc-lines{margin:0 0 16px;display:grid;gap:8px;}
.dm-calc-lines > div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.dm-calc-lines dt{color:#c9d4e0;font-size:14px;}
.dm-calc-lines dd{margin:0;font-weight:700;font-size:15px;}
.dm-calc-sum dt,.dm-calc-sum dd{color:#fff;font-weight:800;}
.dm-calc-final{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.dm-calc-final p{margin:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;}
.dm-calc-final span{color:#c9d4e0;font-size:13.5px;}
.dm-calc-final strong{color:#fff6d8;font-size:24px;font-weight:900;}
.dm-calc-note{color:#c9d4e0;font-size:12.5px;line-height:1.9;margin:14px 0 0;}
.dm-calc-note.dm-calc-warn{color:#ffd27a;font-weight:700;}
.dm-calc-reset{border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;border-radius:999px;padding:8px 20px;font:inherit;font-size:13.5px;cursor:pointer;}
.dm-calc-result button:focus-visible{outline-color:#fff;}

@media (max-width:781px){
	.dm-calc-box,.dm-calc-result{padding:18px 16px;}
	.dm-calc-head{display:none;}
	/* each ingredient becomes a small card: name + delete, then bought, price, used, cost */
	.dm-calc-row{
		grid-template-columns:1fr 44px;
		grid-template-areas:"name del" "bq bq" "bp bp" "uq uq" "cost cost";
		background:#f7f8fa;border:1px solid #e3e6eb;border-radius:16px;padding:12px;margin-bottom:10px;
	}
	.dm-c-lbl{display:block;color:#3d4653;font-size:12.5px;font-weight:700;margin:0 0 4px;}
	.dm-c-c-name{grid-area:name;}
	.dm-calc-row > .dm-c-del{grid-area:del;align-self:end;}
	.dm-c-c-bq{grid-area:bq;}
	.dm-c-c-bp{grid-area:bp;}
	.dm-c-c-uq{grid-area:uq;}
	.dm-c-c-cost{grid-area:cost;display:flex;align-items:center;justify-content:space-between;}
	.dm-c-c-cost .dm-c-lbl{margin:0;}
	.dm-calc-final{grid-template-columns:1fr;}
	.dm-calc-final strong{font-size:22px;}
}

/* ==========================================================================
   Author profile (E-E-A-T) — /author/<nicename>/ and the «درباره نویسنده» box
   Markup: mu-plugins/dirmejal-author.php. Every section is rendered only when
   its profile field is filled, so this stylesheet never has to hide an empty
   one. Text is #092a47 / #3d4653 on white, #f7f8fa or #ece5ff — all ≥7:1.
   ========================================================================== */
.dm-author{max-width:1080px;margin:8px auto 28px;}
.dm-author-head{display:flex;align-items:center;gap:28px;margin-bottom:18px;}
.dm-author-photo{
	width:160px;height:160px;flex:0 0 160px;border-radius:50%;object-fit:cover;
	border:4px solid #fff;box-shadow:0 0 0 2px #cbbdfb,0 10px 28px rgba(9,42,71,.10);
}
.dm-author-initial{
	display:flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,#ffd6e0,#ddd3ff 55%,#c9f2e6);
	color:#092a47;font-size:64px;font-weight:900;line-height:1;
}
.dm-author-id .dm-pick-kicker{margin:0 0 4px;}
.dm-author-name{color:#092a47;font-size:34px;font-weight:900;line-height:1.4;margin:0;}
.dm-author-job{color:#092a47;font-size:17px;font-weight:700;margin:4px 0 0;}
.dm-author-exp{color:#3d4653;font-size:15px;margin:4px 0 0;}
.dm-author-stats,.dm-author-social{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 0;padding:0;}
.dm-author-stats li{background:#f7f8fa;border:1px solid #e3e6eb;border-radius:999px;padding:6px 14px;color:#3d4653;font-size:14px;}
.dm-author-stats b{color:#092a47;font-weight:900;}
/* Social profiles as 44px icon buttons (the minimum comfortable touch target).
   Each icon is a single-colour mask painted with currentColor, so it follows
   the button: navy at rest, white on the navy fill on hover/focus. The network
   name is visually hidden but present for screen readers, plus a title tooltip.
   Brand-neutral on purpose — a row of six brand colours would fight the page. */
.dm-author-social a.dm-asoc{
	position:relative;display:inline-flex;align-items:center;justify-content:center;
	width:44px;height:44px;border:1.5px solid #092a47;border-radius:50%;
	color:#092a47;background:#fff;text-decoration:none;transition:background .15s,color .15s;
}
.dm-author-social a.dm-asoc:hover,.dm-author-social a.dm-asoc:focus-visible{background:#092a47;color:#fff;}
.dm-author-social a.dm-asoc:focus-visible{outline:3px solid #092a47;outline-offset:3px;}
.dm-asoc-ico{
	width:20px;height:20px;background-color:currentColor;
	-webkit-mask:var(--dm-asoc) center/contain no-repeat;mask:var(--dm-asoc) center/contain no-repeat;
}
.dm-asoc-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.dm-asoc-instagram{--dm-asoc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='18' height='18' rx='5' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.4'/%3E%3C/svg%3E");}
.dm-asoc-linkedin{--dm-asoc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9.75h4V21H3zM9.5 9.75h3.8v1.6h.05c.53-1 1.83-2.05 3.77-2.05 4.03 0 4.78 2.65 4.78 6.1V21h-4v-5c0-1.2-.02-2.73-1.66-2.73-1.67 0-1.92 1.3-1.92 2.64V21h-4z'/%3E%3C/svg%3E");}
.dm-asoc-youtube{--dm-asoc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M21.6 7.2a2.5 2.5 0 0 0-1.76-1.77C18.27 5 12 5 12 5s-6.27 0-7.84.43A2.5 2.5 0 0 0 2.4 7.2 26 26 0 0 0 2 12a26 26 0 0 0 .4 4.8 2.5 2.5 0 0 0 1.76 1.77C5.73 19 12 19 12 19s6.27 0 7.84-.43a2.5 2.5 0 0 0 1.76-1.77A26 26 0 0 0 22 12a26 26 0 0 0-.4-4.8zM10 15.2V8.8l5.2 3.2z'/%3E%3C/svg%3E");}
.dm-asoc-twitter{--dm-asoc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.75 3h3.07l-6.7 7.66L22 21h-6.17l-4.83-6.32L5.47 21H2.4l7.17-8.2L2 3h6.33l4.37 5.78zm-1.08 16.17h1.7L7.4 4.74H5.58z'/%3E%3C/svg%3E");}
.dm-asoc-facebook{--dm-asoc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8.5V6.6c0-.85.2-1.3 1.5-1.3H17V2.2C16.6 2.15 15.4 2 14 2c-3 0-4.5 1.8-4.5 4.5v2H7v3.4h2.5V22H14V11.9h2.7l.4-3.4z'/%3E%3C/svg%3E");}
.dm-asoc-wikipedia{--dm-asoc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 6h5.5v1.3H5.2l3.3 8.6 2.2-5.4-1.3-3.2H8.3V6h5v1.3h-1.4l1.3 3.2 1.3-3.2h-1.4V6H17v1.3h-1.3l-2 4.7 2.2 5.2 3.6-9.9h-1.3V6H23v1.3h-1.4L16.4 20h-1.2l-2.6-6.1-2.5 6.1H8.9L3.3 7.3H1z'/%3E%3C/svg%3E");}
.dm-asoc-telegram{--dm-asoc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M21.5 4.3 2.9 11.5c-1.3.5-1.3 1.2-.2 1.6l4.8 1.5 1.8 5.6c.2.6.4.8.9.8.4 0 .6-.2.9-.5l2.3-2.2 4.8 3.5c.9.5 1.5.2 1.7-.8l3.1-14.7c.3-1.3-.5-1.9-1.5-1.5zM9.6 15.3l-.3 3.3-1.4-4.6 10.4-6.6z'/%3E%3C/svg%3E");}

.dm-author-bio{color:#3d4653;font-size:16px;line-height:2.1;max-width:75ch;margin:0 0 20px;}
.dm-author-bio p{margin:0 0 10px;}

.dm-author-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0 0 18px;}
.dm-author-col{background:#f7f8fa;border:1px solid #e3e6eb;border-radius:20px;padding:18px 20px;}
.dm-author-h{color:#092a47;font-size:18px;font-weight:800;margin:0 0 12px;}
.dm-author-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;}
.dm-author-chips li{background:#ece5ff;color:#092a47;border-radius:999px;padding:5px 12px;font-size:14px;font-weight:700;}
.dm-author-list{margin:0;padding-inline-start:18px;color:#3d4653;font-size:14.5px;line-height:2;}
.dm-author-topics{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.dm-author-topics li{display:flex;justify-content:space-between;gap:10px;font-size:14.5px;}
.dm-author-topics a{color:#092a47;font-weight:700;text-decoration:none;}
.dm-author-topics a:hover{text-decoration:underline;}
.dm-author-topics span{background:#fff;border:1px solid #e3e6eb;border-radius:999px;padding:0 10px;color:#3d4653;font-size:13px;}

.dm-author-policy{
	color:#3d4653;font-size:13.5px;line-height:2;margin:0 0 26px;padding:12px 16px;
	border-inline-start:4px solid #cbbdfb;background:#fafbfc;border-radius:10px;
}
.dm-author-policy a{color:#092a47;font-weight:700;}
.dm-author-articles{font-size:22px;margin:0;}

/* «درباره نویسنده» under every article */
.dm-author-box{
	display:flex;gap:20px;align-items:flex-start;margin:40px 0 8px;padding:20px 22px;
	background:#f7f8fa;border:1.5px solid #e3e6eb;border-radius:22px;
}
.dm-author-box .dm-author-photo{width:88px;height:88px;flex:0 0 88px;border-width:3px;}
.dm-author-box .dm-author-initial{font-size:38px;}
.dm-author-box-body{min-width:0;}
.dm-author-box-kicker{color:#3d4653;font-size:13px;font-weight:700;margin:0 0 2px;}
.dm-author-box-name{margin:0;font-size:19px;font-weight:800;}
.dm-author-box-name a{color:#092a47;text-decoration:none;}
.dm-author-box-name span{color:#3d4653;font-size:14px;font-weight:600;margin-inline-start:6px;}
.dm-author-box-exp{color:#3d4653;font-size:14px;margin:4px 0 0;}
.dm-author-box-bio{color:#3d4653;font-size:14.5px;line-height:2;margin:8px 0 0;}
.dm-author-box-more{display:inline-block;margin-top:10px;color:#092a47;font-weight:800;font-size:14px;}

@media (max-width:781px){
	.dm-author-head{flex-direction:column;text-align:center;gap:14px;}
	.dm-author-photo{width:120px;height:120px;flex-basis:120px;}
	.dm-author-initial{font-size:48px;}
	.dm-author-name{font-size:26px;}
	.dm-author-stats,.dm-author-social{justify-content:center;}
	.dm-author-box{flex-direction:column;align-items:center;text-align:center;}
}

/* ==========================================================================
   Customer survey (/نظرسنجی/, tools/build-survey.php)
   One white card; each question a fieldset; the 4-point answers as tappable
   pills (the native radio stays, just visually hidden, so keyboard and screen
   readers work unchanged). Borders #7c8695 — form controls need 3:1.
   ========================================================================== */
.dm-survey{max-width:760px;margin:0 auto 48px;background:#fff;border:1.5px solid #e3e6eb;border-radius:22px;padding:24px;}
.dm-sv-q{border:0;margin:0 0 20px;padding:0;}
.dm-sv-q legend,.dm-sv-q > label{display:block;color:#092a47;font-weight:800;font-size:15.5px;margin:0 0 10px;padding:0;}
.dm-survey input[type="text"],.dm-survey input[type="tel"],.dm-survey textarea{
	width:100%;border:1.5px solid #7c8695;border-radius:12px;padding:10px 14px;font:inherit;font-size:15px;color:#092a47;background:#fff;box-sizing:border-box;
}
.dm-survey textarea{min-height:110px;}
.dm-survey .wpcf7-radio{display:flex;flex-wrap:wrap;gap:8px;}
.dm-survey .wpcf7-list-item{margin:0;}
.dm-survey .wpcf7-list-item label{position:relative;display:block;cursor:pointer;}
.dm-survey .wpcf7-list-item input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.dm-survey .wpcf7-list-item-label{
	display:inline-block;min-width:76px;text-align:center;border:1.5px solid #7c8695;border-radius:999px;
	padding:8px 18px;color:#092a47;font-weight:700;font-size:14.5px;background:#fff;transition:background .15s,color .15s;
}
.dm-survey .wpcf7-list-item input:checked + .wpcf7-list-item-label{background:#092a47;border-color:#092a47;color:#fff;}
.dm-survey .wpcf7-list-item input:focus-visible + .wpcf7-list-item-label{outline:3px solid #092a47;outline-offset:2px;}
.dm-sv-submit input[type="submit"]{
	background:#092a47;color:#fff;border:0;border-radius:999px;padding:12px 36px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;
}
@media (max-width:781px){.dm-survey{padding:18px 16px;}}

/* ==========================================================================
   Invoice download (order received / My Account order view)
   Box printed by mu-plugins/dirmejal-invoice.php. Navy pill = the site CTA;
   white on #092a47 is 14.9:1. Text #3d4653 on #f2f4f7 is 8.9:1 (AAA).
   ========================================================================== */
.dm-invoice-box{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;
	background:#f2f4f7;border:1.5px solid #dfe3e9;border-radius:18px;padding:16px 20px;margin:0 0 28px;}
.dm-invoice-box p{margin:0;color:#3d4653;font-weight:600;}
.dm-invoice-box .dm-invoice-btn{display:inline-flex;align-items:center;gap:8px;background:#092a47;color:#fff;
	border-radius:999px;padding:11px 24px;font-weight:800;text-decoration:none;white-space:nowrap;}
.dm-invoice-box .dm-invoice-btn::before{content:"";width:18px;height:18px;background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M5 21h14'/%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='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M5 21h14'/%3E%3C/svg%3E") center/contain no-repeat;}
.dm-invoice-box .dm-invoice-btn:hover,.dm-invoice-box .dm-invoice-btn:focus-visible{background:#0d3a62;color:#fff;}
.dm-invoice-box .dm-invoice-btn:focus-visible{outline:3px solid #092a47;outline-offset:3px;}
@media (max-width:600px){.dm-invoice-box .dm-invoice-btn{width:100%;justify-content:center;}}

/* ===== Article body links ===== */
.single-post .wd-entry-content a:not(.wp-block-button__link):not(.button):not(.btn):not([class*="dm-ch"]):not([class*="dm-asoc"]):not(:where(.wp-block-buttons, .dm-ch, .dm-ch-box, .dm-ch-line, .dm-author-box, .dm-post-toc, .dm-cta-box) a){
	color:#8e1f4b;
	font-weight:600;
	text-decoration:underline;
	text-decoration-color:rgba(142,31,75,.4);
	text-decoration-thickness:2px;
	text-underline-offset:5px;
	border-radius:4px;
	transition:color .15s ease,text-decoration-color .15s ease,background-color .15s ease;
}
.single-post .wd-entry-content a:not(.wp-block-button__link):not(.button):not(.btn):not([class*="dm-ch"]):not([class*="dm-asoc"]):not(:where(.wp-block-buttons, .dm-ch, .dm-ch-box, .dm-ch-line, .dm-author-box, .dm-post-toc, .dm-cta-box) a):is(:hover,:focus-visible){
	color:#092a47;
	text-decoration-color:#092a47;
	background-color:rgba(142,31,75,.08);
}
.single-post .wd-entry-content a:focus-visible{outline:2px solid #092a47;outline-offset:2px;}
.single-post .wd-entry-content a:has(img){text-decoration:none;background:none;}
@media (prefers-reduced-motion:reduce){.single-post .wd-entry-content a{transition:none;}}

