:root {
  --dt-red: #c8192b;
  --dt-red-dark: #9f1220;
  --dt-green: #5c9032;
  --dt-ink: #242323;
  --dt-muted: #6f7072;
  --dt-cream: #e9ecef;
  --dt-border: #e1e5e9;
  --dt-shadow: 0 15px 45px rgba(56, 43, 30, .07);
  --dt-font-scale: 1;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--dt-ink); background: #fff; font-family: Tahoma, "Segoe UI", sans-serif; line-height: 1.85; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #ffad31; outline-offset: 3px; }
.site-container { width: min(1240px, calc(100% - 44px)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { position: fixed; width: auto; height: auto; top: 8px; right: 8px; z-index: 9999; padding: 8px 16px; background: #fff; clip: auto; }
.section { padding-block: 100px; }
.section h2 { margin: 9px 0 0; font-size: clamp(calc(26px * var(--dt-font-scale)), calc(2.4vw * var(--dt-font-scale)), calc(38px * var(--dt-font-scale))); font-weight: 800; letter-spacing: -.6px; }
.eyebrow { color: var(--dt-green); font-size: calc(13px * var(--dt-font-scale)); font-weight: 800; letter-spacing: .2px; }
.eyebrow.light { color: #e1f5b5; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 34px; }
.text-link { color: var(--dt-red); font-weight: 700; white-space: nowrap; }
.text-link:hover { color: var(--dt-red-dark); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 24px; border: 1px solid transparent; padding: 13px 28px; border-radius: 12px; font-size: calc(15px * var(--dt-font-scale)); font-weight: 800; transition: .2s ease; text-align: center; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--dt-red); color: #fff; box-shadow: 0 10px 22px rgba(200, 25, 43, .2); }
.btn-primary:hover { background: var(--dt-red-dark); color: #fff; }
.btn-outline-light { border-color: rgba(255,255,255,.65); color: #fff; }
.btn-outline-light:hover { background: rgba(255,255,255,.12); }
.btn-white { background: #fff; color: var(--dt-red); }

/* Header fallback. Elementor Pro can replace this entire section. */
.dastyari-header { z-index: 100; position: relative; background: #fff; border-bottom: 1px solid #f3f0ea; }
.header-inner { min-height: 98px; display: flex; align-items: center; gap: 34px; justify-content: space-between; }
.dastyari-brand, .custom-logo-link { flex: none; display: inline-flex; align-items: center; }
.dastyari-brand img, .custom-logo-link img { width: 155px; height: auto; max-height: 84px; object-fit: contain; }
.primary-nav { margin-inline: auto; }
.dt-header-nav-items { display: flex; align-items: center; gap: 28px; }
.primary-menu, .footer-menu { display: flex; align-items: center; list-style: none; padding: 0; margin: 0; gap: 28px; }
.primary-menu li { position: relative; }
.primary-menu > li > a { font-size: calc(14px * var(--dt-font-scale)); font-weight: 700; transition: color .2s; }
.primary-menu > li > a:hover { color: var(--dt-red); }
.primary-menu .sub-menu { display: none; position: absolute; min-width: 190px; list-style: none; padding: 10px; background: #fff; box-shadow: var(--dt-shadow); border-radius: 10px; z-index: 10; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { display: block; }
.primary-menu .sub-menu li a { display: block; padding: 8px; }
.header-actions { display: flex; align-items: center; gap: 22px; }
.header-phone { font-weight: 800; direction: ltr; color: var(--dt-red); }
.cart-link { position: relative; font-size: 22px; }
.cart-link .dt-icon { width: 28px; height: 28px; }
.cart-link span { position: absolute; top: -8px; left: -8px; font-size: 11px; min-width: 18px; height: 18px; border-radius: 9px; background: var(--dt-red); color: #fff; text-align: center; line-height: 18px; }
.menu-toggle { display: none; padding: 8px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; width: 25px; background: var(--dt-ink); margin: 5px 0; }

/* Three-stage mega menu: category > subcategory > picture-only product carousel. */
.dt-mega-nav { flex: none; }
.dt-mega-trigger { display: flex; align-items: center; gap: 6px; position: relative; }
.dt-mega-trigger::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 60px; pointer-events: none; z-index: 118; }
.dt-mega-nav.is-open .dt-mega-trigger::after { pointer-events: auto; }
.dt-mega-main-link { font-size: calc(14px * var(--dt-font-scale)); font-weight: 800; transition: color .2s; }
.dt-mega-main-link:hover, .dt-mega-nav.is-open .dt-mega-main-link { color: var(--dt-red); }
.dt-mega-toggle { display: grid; place-items: center; cursor: pointer; width: 28px; height: 28px; border: 1px solid #f2d7dc; border-radius: 9px; color: var(--dt-red); background: #fff6f7; transition: background .2s, border-color .2s; }
.dt-mega-toggle:hover, .dt-mega-nav.is-open .dt-mega-toggle { background: #fde8eb; border-color: #e6aeb7; }
.dt-mega-chevron-icon { display: block; width: 16px; height: 16px; transition: transform .2s ease; flex: none; }
.dt-mega-nav.is-open .dt-mega-toggle .dt-mega-chevron-icon { transform: rotate(180deg); }
.dt-mega-panel { position: absolute; z-index: 120; right: 50%; top: 100%; width: min(1160px, calc(100vw - 56px)); max-width: 100vw; transform: translate(50%, -9px); opacity: 0; visibility: hidden; pointer-events: none; background: #fff; border: 1px solid #eee9e4; border-radius: 0 0 24px 24px; box-shadow: 0 24px 48px rgba(30,38,29,.16); transition: opacity .19s ease, transform .19s ease, visibility .19s; color: var(--dt-ink); }
.dt-mega-nav.is-open .dt-mega-panel, .dt-mega-nav:focus-within .dt-mega-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(50%, 0); }
.dt-mega-topbar { display: flex; align-items: center; justify-content: space-between; padding: 14px 24px; border-bottom: 1px solid #e0e5e9; background: #e9ecef; font-weight: 800; border-radius: 0 0 0 0; font-size: 13px; }
.dt-mega-topbar > span { display: inline-flex; align-items: center; gap: 9px; }
.dt-mega-topbar-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dt-green); }
.dt-mega-topbar > a { color: var(--dt-red); transition: color .2s; }
.dt-mega-topbar > a:hover { color: var(--dt-red-dark); }
.dt-mega-layout { display: grid; grid-template-columns: 210px 205px minmax(0, 1fr); min-height: 330px; max-height: min(510px, calc(100vh - 145px)); }
.dt-mega-parents, .dt-mega-subcategories, .dt-mega-product-area { min-width: 0; padding: 20px 15px 22px; }
.dt-mega-parents, .dt-mega-subcategories { border-left: 1px solid #edf0ea; overflow-y: auto; }
.dt-mega-parents { background: #fff; border-radius: 0 0 24px 0; padding-right: 15px; }
.dt-mega-subcategories { background: #f3f4f5; }
.dt-mega-col-label { margin: 0 0 15px; color: #7f8880; font-size: calc(12px * var(--dt-font-scale)); font-weight: 700; }
.dt-mega-parent, .dt-mega-subitem { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 11px 13px; margin-bottom: 4px; border-radius: 11px; font-size: calc(13px * var(--dt-font-scale)); font-weight: 700; line-height: 1.6; transition: background .18s, color .18s, transform .18s; }
.dt-mega-parent:hover, .dt-mega-parent.is-active { color: #fff; background: var(--dt-red); }
.dt-mega-parent:hover .dt-mega-chevron, .dt-mega-parent.is-active .dt-mega-chevron { transform: translateX(-3px); }
.dt-mega-chevron { display: inline-grid; place-items: center; transition: transform .2s; }
.dt-mega-chevron .dt-mega-chevron-icon { transform: rotate(90deg); }
.dt-mega-parent:hover .dt-mega-chevron .dt-mega-chevron-icon, .dt-mega-parent.is-active .dt-mega-chevron .dt-mega-chevron-icon { transform: rotate(90deg) translateY(2px); }
.dt-mega-subgroup { display: flex; flex-direction: column; }
.dt-mega-subgroup[hidden] { display: none; }
.dt-mega-subitem { font-size: calc(12px * var(--dt-font-scale)); font-weight: 600; padding: 10px 12px; border: 1px solid transparent; }
.dt-mega-subitem:hover, .dt-mega-subitem.is-active { color: #256b3d; background: #e9f3e7; border-color: #d7ead7; }
.dt-mega-product-area { padding-inline: 22px; overflow: hidden; }
.dt-mega-products-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.dt-mega-products-header .dt-mega-col-label { margin-bottom: 2px; }
.dt-mega-product-heading { margin: 0; font-size: calc(18px * var(--dt-font-scale)); line-height: 1.5; }
.dt-mega-carousel-controls { display: flex; gap: 7px; }
.dt-mega-carousel-controls button { width: 35px; height: 35px; border: 1px solid #e5ebe4; border-radius: 11px; background: #fff; color: #376346; cursor: pointer; transition: background .2s, color .2s; }
.dt-mega-carousel-controls button:hover { background: var(--dt-green); color: #fff; }
.dt-mega-product-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(135px, 39%); gap: 13px; min-height: 230px; align-items: start; overflow-x: auto; padding: 5px 2px 15px; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #d7e2d5 transparent; }
.dt-mega-product-card { min-width: 0; border: 1px solid #f0f0ef; background: #fff; border-radius: 16px; padding: 11px; scroll-snap-align: start; transition: border-color .2s, transform .2s, box-shadow .2s; }
.dt-mega-product-card:hover { transform: translateY(-3px); border-color: #e7cacd; box-shadow: 0 10px 22px rgba(84,44,44,.07); }
.dt-mega-product-photo { display: grid; place-items: center; height: 150px; border-radius: 12px; background: #fff; overflow: hidden; }
.dt-mega-product-photo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; transition: transform .25s; }
.dt-mega-product-card:hover .dt-mega-product-photo img { transform: scale(1.045); }
.dt-mega-product-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: center; min-height: 44px; margin-top: 10px; line-height: 1.7; font-size: calc(12px * var(--dt-font-scale)); font-weight: 700; }
.dt-mega-image-placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: #f8faf7; border-radius: 11px; }
.dt-mega-image-placeholder .dt-icon { width: 52px; height: 52px; }
.dt-mega-empty { margin: 10px 0; color: var(--dt-muted); font-size: 13px; align-self: start; }
.dt-mega-category-all { display: inline-flex; gap: 8px; align-items: center; color: var(--dt-red); font-size: calc(12px * var(--dt-font-scale)); font-weight: 800; padding-top: 4px; }
.dt-mega-category-all:hover { color: var(--dt-red-dark); }
.dt-mega-standalone { position: relative; display: inline-block; }
.dt-mega-standalone .dt-mega-panel { right: 0; transform: translateY(-9px); width: min(1050px, 90vw); }
.dt-mega-standalone.is-open .dt-mega-panel, .dt-mega-standalone:focus-within .dt-mega-panel { transform: translateY(0); }
.dt-mobile-catalog { display: none; }

/* Slider Revolution controls its own full-width module height and breakpoints. */
.dt-revolution-hero { position: relative; width: 100%; max-width: 100%; overflow: clip; background: #e9ecef; }

/* One self-hosted background video, several editable slides; poster always remains available. */
.home-hero { min-height: 620px; height: min(740px, 78vh); position: relative; overflow: hidden; background: #244b35 url('../images/slider1.jpg') center/cover no-repeat; color: #fff; isolation: isolate; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(270deg, rgba(17,47,33,.95) 0%, rgba(18,53,39,.78) 48%, rgba(10,30,23,.37) 100%); z-index: 1; pointer-events: none; }
.dt-hero-slides { position: absolute; inset: 0; z-index: 2; }
.dt-hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(17px); transition: opacity .55s ease, transform .55s ease, visibility .55s; }
.dt-hero-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.hero-content { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.hero-copy { max-width: 710px; }
.hero-copy h1, .hero-copy h2 { margin: 10px 0 16px; font-size: clamp(calc(42px * var(--dt-font-scale)), calc(5.2vw * var(--dt-font-scale)), calc(75px * var(--dt-font-scale))); font-weight: 900; line-height: 1.35; color: #fff; }
.hero-copy p { color: #f0f2eb; font-size: clamp(calc(17px * var(--dt-font-scale)), calc(1.4vw * var(--dt-font-scale)), calc(21px * var(--dt-font-scale))); line-height: 2; max-width: 540px; margin-bottom: 30px; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 14px; }
.hero-product { display: flex; align-items: end; flex: none; gap: 0; max-width: 30%; }
.hero-product img { width: 52%; max-height: 285px; object-fit: contain; border-radius: 20px; filter: drop-shadow(0 25px 20px rgba(0,0,0,.2)); }
.hero-product img + img { margin-right: -36px; transform: translateY(28px) rotate(-7deg); }
.dt-hero-controls { position: absolute; z-index: 4; right: 50%; bottom: 23px; transform: translateX(50%); display: flex; align-items: center; gap: 14px; }
.dt-hero-arrow { display: grid; place-items: center; height: 35px; width: 35px; border: 1px solid rgba(255,255,255,.46); border-radius: 50%; background: rgba(7,30,19,.24); color: #fff; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.dt-hero-arrow:hover { background: var(--dt-red); transform: scale(1.06); }
.dt-hero-dots { display: flex; align-items: center; gap: 9px; }
.dt-hero-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 12px; background: rgba(255,255,255,.56); cursor: pointer; transition: width .25s ease, background .25s ease; }
.dt-hero-dot.is-active { width: 27px; background: #fff; }

/* Category cards. */
.categories-section { background: #fff; position: relative; overflow: clip; }
.categories-section > .site-container, .about-section > .site-container { position: relative; z-index: 1; }
.dt-botanical-svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 10px 18px rgba(51,134,50,.1)); }
.dt-leaf-decoration { position: absolute; z-index: 0; width: 155px; opacity: .26; pointer-events: none; animation: dt-leaf-float 7s ease-in-out infinite alternate; }
.dt-home-leaf-one { top: 44px; left: -60px; transform: rotate(-13deg); }
.dt-home-leaf-two { bottom: 20px; right: -50px; width: 175px; opacity: .19; }
.dt-section-decor-template { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.dt-section-decor-template .elementor-widget { pointer-events: none; }
.dt-hero-slider > .dt-section-decor-template { z-index: 3; }
.dt-elementor-leaf { width: var(--dt-leaf-size, 150px); max-width: 100%; opacity: var(--dt-leaf-opacity, .65); transform: translate3d(var(--dt-leaf-shift-x, 0px), var(--dt-leaf-shift-y, 0px), 0) rotate(var(--dt-leaf-rotation, 0deg)); pointer-events: none; transition: transform .25s ease, opacity .25s ease; }
.dt-elementor-leaf .dt-botanical-svg { width: 100%; transform-origin: center; }
.dt-elementor-leaf.is-floating .dt-botanical-svg, .dt-elementor-leaf.effect-float .dt-botanical-svg { animation: dt-leaf-float var(--dt-leaf-duration, 7s) ease-in-out var(--dt-leaf-delay, 0s) infinite alternate; }
.dt-elementor-leaf.effect-sway .dt-botanical-svg { animation: dt-leaf-sway var(--dt-leaf-duration, 7s) ease-in-out var(--dt-leaf-delay, 0s) infinite alternate; }
.dt-elementor-leaf.effect-pulse .dt-botanical-svg { animation: dt-leaf-pulse var(--dt-leaf-duration, 7s) ease-in-out var(--dt-leaf-delay, 0s) infinite alternate; }
.dt-elementor-leaf.effect-rotate .dt-botanical-svg { animation: dt-leaf-rotate var(--dt-leaf-duration, 14s) linear var(--dt-leaf-delay, 0s) infinite; }
.dt-elementor-leaf.has-hover { pointer-events: auto; }
.dt-elementor-leaf.hover-zoom:hover { transform: translate3d(var(--dt-leaf-shift-x, 0px), var(--dt-leaf-shift-y, 0px), 0) rotate(var(--dt-leaf-rotation, 0deg)) scale(1.08); }
.dt-elementor-leaf.hover-tilt:hover { transform: translate3d(var(--dt-leaf-shift-x, 0px), var(--dt-leaf-shift-y, 0px), 0) rotate(calc(var(--dt-leaf-rotation, 0deg) + 8deg)); }
.dt-elementor-leaf.hover-glow:hover { filter: drop-shadow(0 6px 22px rgba(45,161,72,.32)); }
@keyframes dt-leaf-float { from { translate: 0 0; } to { translate: 0 -11px; } }
@keyframes dt-leaf-sway { from { transform: rotate(-7deg); } to { transform: rotate(7deg); } }
@keyframes dt-leaf-pulse { from { transform: scale(.96); } to { transform: scale(1.06); } }
@keyframes dt-leaf-rotate { to { transform: rotate(360deg); } }
.category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.category-card { display: flex; align-items: center; background: var(--dt-cream); border-radius: 24px; border: 1px solid #f1eee7; overflow: hidden; min-height: 235px; transition: transform .25s, box-shadow .25s; }
.category-card:hover { transform: translateY(-5px); box-shadow: var(--dt-shadow); }
.category-visual { align-self: stretch; width: 49%; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 35% 40%, #fff 0%, #e9ecef 80%); }
.category-visual img { max-height: 210px; object-fit: contain; transition: transform .3s; }
.category-card:hover img { transform: scale(1.06); }
.category-copy { flex: 1; padding: 22px 12px 22px 20px; }
.category-copy h3 { font-size: calc(24px * var(--dt-font-scale)); margin: 0 0 7px; }
.category-copy p { color: var(--dt-muted); font-size: calc(13px * var(--dt-font-scale)); margin: 0 0 22px; }
.circle-arrow { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; background: var(--dt-red); color: #fff; }

.features-section { padding-block: 32px; background: #e9ecef; border-block: 1px solid #e1e5e9; }
.features-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.features-grid > div { display: grid; grid-template-columns: 55px 1fr; column-gap: 14px; align-items: center; }
.feature-icon { grid-row: span 2; display: grid; place-items: center; height: 55px; width: 55px; border-radius: 16px; background: #e9f2df; color: var(--dt-green); font-size: 28px; }
.dt-icon { width: 30px; height: 30px; overflow: visible; flex: none; }
.dt-icon-primary { stroke: var(--dt-green); }
.dt-icon-accent { stroke: var(--dt-red); }
.feature-icon .dt-icon { transition: transform .22s ease; }
.features-grid > div:hover .dt-icon { transform: translateY(-3px) rotate(-5deg); }
.features-grid strong { font-size: calc(15px * var(--dt-font-scale)); }
.features-grid p { margin: 0; color: var(--dt-muted); font-size: calc(12px * var(--dt-font-scale)); }

.products-section { background: #fff; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dastyari-product-card { padding: 15px; border: 1px solid var(--dt-border); border-radius: 22px; background: #fff; transition: box-shadow .2s; }
.dastyari-product-card:hover { box-shadow: var(--dt-shadow); }
.product-visual { background: #fff; border-radius: 16px; display: grid; place-items: center; height: 255px; overflow: hidden; }
.product-visual img { display: block; object-fit: contain; object-position: center; width: 100%; height: 100%; max-height: 92%; max-width: 92%; }
.dastyari-product-card h3 { font-size: calc(17px * var(--dt-font-scale)); margin: 16px 4px; }
.product-bottom { display: flex; justify-content: space-between; align-items: center; padding: 4px 4px 2px; font-weight: 800; }
.product-more { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--dt-red); color: #fff; }
.load-more-wrap { display: flex; justify-content: center; margin-top: 35px; }
.dastyari-location { padding-block: 68px; background: #e9ecef; }
.location-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 50px; }
.location-copy h2 { font-size: clamp(calc(24px * var(--dt-font-scale)), calc(2.6vw * var(--dt-font-scale)), calc(37px * var(--dt-font-scale))); margin: 10px 0 12px; }
.location-copy p { color: var(--dt-muted); margin-bottom: 24px; }
.location-map { min-width: 0; }
.dt-map-card { overflow: hidden; border: 1px solid #d9e7da; border-radius: 24px; background: #fff; box-shadow: var(--dt-shadow); }
.dt-map-embed-wrap { min-height: 290px; background: #e9ecef; }
.dt-map-iframe { display: block; width: 100%; height: 300px; border: 0; }
.dt-map-empty { display: flex; min-height: 290px; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 35px; text-align: center; color: #3a6445; background: radial-gradient(ellipse at 65% 35%, rgba(104,177,93,.18), transparent 65%), repeating-linear-gradient(45deg, transparent, transparent 24px, rgba(102,142,110,.07) 25px, transparent 26px), #f8fbf7; }
.dt-map-empty .dt-icon { width: 48px; height: 48px; }
.dt-map-empty p { margin: 0; max-width: 340px; color: #607468; font-size: 13px; }
.dt-map-meta { display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; padding: 18px; }
.dt-map-pin { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: #fff; box-shadow: 0 12px 24px rgba(42,99,52,.13); }
.dt-map-pin .dt-icon { width: 38px; height: 38px; }
.dt-map-details strong { display: block; font-weight: 800; font-size: calc(19px * var(--dt-font-scale)); }
.dt-map-details p { margin: 3px auto 0; color: #5a6b5f; }
.dt-map-coordinates { display: block; margin-top: 4px; color: #597a5d; font: 600 12px/1.4 system-ui, sans-serif; }
.dt-map-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.dt-map-link { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; border-radius: 10px; background: #238b4b; color: #fff !important; font-weight: 700; transition: transform .18s ease, background .18s ease; }
.dt-map-link:hover { transform: translateY(-2px); background: #16703c; }
.dt-map-link--neshan { background: #c8192b; }
.dt-map-link--neshan:hover { background: #9f1220; }
.dt-map-pending { color: #6a7669; font-size: 13px; }
.dt-map-note { color: #6a7f70; font-size: 11px; }
.empty-products { background: var(--dt-cream); border-radius: 16px; padding: 25px; color: var(--dt-muted); }

.about-section { background: var(--dt-cream); position: relative; overflow: clip; }
.about-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 70px; align-items: center; }
.about-visual { position: relative; }
.about-visual > img { width: 100%; background: #fff; border-radius: 32px; box-shadow: var(--dt-shadow); }
.since-badge { position: absolute; bottom: -20px; left: -15px; background: var(--dt-red); color: #fff; padding: 16px 25px; border-radius: 15px; display: flex; flex-direction: column; line-height: 1.5; box-shadow: 0 12px 35px rgba(200,25,43,.15); }
.since-badge strong { font-size: calc(29px * var(--dt-font-scale)); }
.since-badge span { font-size: 11px; }
.about-content p { color: #4a4a4a; font-size: calc(15px * var(--dt-font-scale)); text-align: justify; }
.about-content blockquote { margin: 25px 0; padding: 18px 25px; border-right: 4px solid var(--dt-green); background: #fff; color: #3b6340; border-radius: 10px; font-weight: 700; }

.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.article-card { background: #fff; border-radius: 20px; overflow: hidden; border: 1px solid var(--dt-border); padding: 0 0 22px; }
.article-card img { width: 100%; height: 190px; object-fit: cover; }
.article-card h3, .article-card h2 { margin: 14px 20px 8px; font-size: calc(17px * var(--dt-font-scale)); }
.article-card p { color: var(--dt-muted); font-size: calc(13px * var(--dt-font-scale)); margin: 0 20px; }
.contact-cta { background: linear-gradient(100deg, var(--dt-red-dark), var(--dt-red)); color: #fff; padding: 54px 0; }
.contact-cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.contact-cta h2 { margin: 5px 0 0; font-size: clamp(calc(23px * var(--dt-font-scale)), calc(2.6vw * var(--dt-font-scale)), calc(34px * var(--dt-font-scale))); }
.contact-cta .eyebrow { color: #f2d9d9; }

.dastyari-footer { background: #222824; color: #f7f7f7; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .7fr 1fr; gap: 65px; padding-block: 60px; }
.footer-grid .dastyari-brand img, .footer-grid .custom-logo-link img { width: 120px; }
.footer-grid p { max-width: 400px; color: #c5cec7; font-size: calc(14px * var(--dt-font-scale)); }
.footer-grid h2 { font-size: calc(19px * var(--dt-font-scale)); margin: 0 0 18px; }
.footer-menu { flex-direction: column; align-items: flex-start; gap: 5px; }
.footer-menu a:hover { color: #f7aeb6; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); text-align: center; color: #a7b2a9; font-size: 12px; padding: 18px; }
.page-content { min-height: 45vh; padding-block: 55px; }
.page-content h1 { font-size: clamp(calc(27px * var(--dt-font-scale)), calc(3vw * var(--dt-font-scale)), calc(42px * var(--dt-font-scale))); }
.dastyari-search-form { max-width: 620px; margin: 24px 0 35px; }
.dastyari-search-form label { display: block; margin-bottom: 6px; font-weight: 700; }
.dastyari-search-form > div { display: flex; border: 1px solid var(--dt-border); border-radius: 12px; overflow: hidden; }
.dastyari-search-form input { min-width: 0; flex: 1; padding: 12px 16px; border: 0; outline-offset: -3px; }
.dastyari-search-form button { padding: 10px 24px; background: var(--dt-red); color: #fff; border: 0; cursor: pointer; }
.comments-area { margin-top: 40px; }
.woocommerce-content { padding-block: 45px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { background: var(--dt-red); color: #fff; border-radius: 8px; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--dt-red-dark); color: #fff; }
.woocommerce ul.products li.product, .woocommerce ul.products li.product a img { background: #fff; }

@media (max-width: 1050px) {
  .header-inner { gap: 20px; }
  .primary-menu { gap: 16px; }
	.dt-header-nav-items { gap: 16px; }
  .header-phone { display: none; }
  .hero-product { max-width: 23%; }
  .category-card { flex-direction: column; }
  .category-visual { width: 100%; height: 170px; }
  .category-copy { width: 100%; padding: 14px 20px 22px; }
  .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; }
  .about-grid { gap: 40px; }
}

@media (max-width: 1024px) {
  .menu-toggle { display: block; order: -1; }
  .primary-nav { display: none; position: absolute; z-index: 130; top: 100%; left: 0; right: 0; background: #fff; margin: 0; padding: 14px 22px 22px; border-top: 1px solid var(--dt-border); box-shadow: var(--dt-shadow); max-height: calc(100dvh - 85px); overflow-y: auto; overscroll-behavior: contain; }
  .primary-nav.is-open { display: block; }
  .dt-header-nav-items { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
  .dt-header-nav-items > .dt-mega-nav { display: block; width: 100%; }
  .dt-mega-standalone { display: block; }
  .dt-mega-trigger, .dt-mega-panel { display: none; }
  .dt-mobile-catalog { display: block; width: 100%; border: 1px solid #e9efea; border-radius: 14px; background: #fff; overflow: hidden; }
  .dt-mobile-catalog summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; cursor: pointer; list-style: none; user-select: none; }
  .dt-mobile-catalog summary::-webkit-details-marker { display: none; }
  .dt-mobile-catalog summary::marker { content: ""; }
  .dt-mobile-catalog-heading { padding: 14px 16px; color: var(--dt-red); font-weight: 800; background: #fff9f9; }
  .dt-mobile-catalog-heading .dt-mega-chevron-icon { color: var(--dt-red); }
  .dt-mobile-catalog details[open] > summary > .dt-mega-chevron-icon, .dt-mobile-catalog[open] > summary > .dt-mega-chevron-icon { transform: rotate(180deg); }
  .dt-mobile-mega-list { display: grid; gap: 7px; padding: 12px; background: #fafcf9; border-top: 1px solid #f1eee9; }
  .dt-mobile-mega-all, .dt-mobile-mega-category-link { display: flex; justify-content: space-between; gap: 7px; color: var(--dt-red); font-weight: 750; padding: 11px 14px; font-size: calc(13px * var(--dt-font-scale)); }
  .dt-mobile-mega-parent { border: 1px solid #e9eee8; border-radius: 12px; overflow: hidden; background: #fff; }
  .dt-mobile-mega-parent > summary { padding: 12px 14px; font-weight: 750; color: #35453a; }
  .dt-mobile-mega-parent[open] > summary { background: #edf6ec; color: #276a37; }
  .dt-mobile-mega-sublist { display: grid; gap: 7px; padding: 10px; border-top: 1px solid #e9eee8; background: #fff; }
  .dt-mobile-mega-term { border: 1px solid #f0efed; border-radius: 10px; background: #fff; overflow: hidden; }
  .dt-mobile-mega-term > summary { padding: 11px 12px; font-size: calc(12px * var(--dt-font-scale)); font-weight: 700; }
  .dt-mobile-mega-term[open] > summary { color: #3a7646; background: #f6fbf5; }
  .dt-mobile-mega-term-content { padding: 4px 11px 12px; border-top: 1px solid #edf1eb; }
  .dt-mobile-mega-category-link { padding: 8px 2px 12px; }
  .dt-mobile-mega-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-height: 390px; overflow-y: auto; }
  .dt-mobile-mega-products .dt-mega-product-card { padding: 8px; }
  .dt-mobile-mega-products .dt-mega-product-photo { height: 110px; }
  .dt-mobile-mega-products .dt-mega-product-name { min-height: 34px; margin-top: 5px; font-size: calc(11px * var(--dt-font-scale)); }
  .dt-mobile-mega-products .dt-mega-empty { grid-column: 1 / -1; }
  .primary-menu { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .primary-menu > li > a { display: block; padding: 11px 0; }
  .primary-menu .sub-menu { display: block; position: static; box-shadow: none; padding: 0 18px; }
}

@media (max-width: 760px) {
  .site-container { width: min(100% - 32px, 600px); }
  .section { padding-block: 62px; }
  .header-inner { min-height: 76px; }
  .dastyari-brand img, .custom-logo-link img { width: 115px; }
  .hero-video { display: none; }
  .home-hero { min-height: 610px; height: 78svh; max-height: 780px; background-position: center; }
  .hero-shade { background: linear-gradient(180deg, rgba(16,55,37,.95), rgba(16,55,37,.82)); }
  .hero-product { display: none; }
  .hero-copy h1, .hero-copy h2 { font-size: clamp(calc(34px * var(--dt-font-scale)), calc(9vw * var(--dt-font-scale)), calc(58px * var(--dt-font-scale))); }
  .dt-hero-controls { bottom: 20px; }
  .section-heading { align-items: start; flex-direction: column; gap: 12px; }
  .category-grid, .product-grid, .article-grid { grid-template-columns: 1fr; }
  .category-card { flex-direction: row; min-height: 160px; }
  .category-visual { width: 42%; height: auto; }
  .category-copy { width: 58%; }
  .features-grid { grid-template-columns: 1fr 1fr; gap: 24px 15px; }
  .features-grid > div { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .feature-icon { grid-row: auto; margin-bottom: 6px; }
  .about-grid { grid-template-columns: 1fr; gap: 48px; }
  .location-grid { grid-template-columns: 1fr; gap: 24px; }
  .dt-leaf-decoration { width: 90px; opacity: .12; }
  .since-badge { left: 10px; }
  .contact-cta-inner { flex-direction: column; align-items: start; }
  .footer-grid { grid-template-columns: 1fr; padding-block: 45px; gap: 25px; }
  .product-visual { height: 265px; }
}

@media (max-width: 420px) {
  .hero-buttons .btn { width: 100%; }
  .features-grid { grid-template-columns: 1fr 1fr; }
  .category-copy h3 { font-size: calc(21px * var(--dt-font-scale)); }
  .category-copy p { font-size: calc(12px * var(--dt-font-scale)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .dt-leaf-decoration, .dt-elementor-leaf .dt-botanical-svg { animation: none !important; }
}

/* Interior page location trail: derived from native WordPress hierarchies. */
.dt-breadcrumb-bar { background: #e9ecef; border-bottom: 1px solid #dce1e5; color: #536069; }
.dt-breadcrumb-inner { min-height: 58px; display: flex; align-items: center; gap: 13px; }
.dt-breadcrumb-label { flex: none; display: grid; place-items: center; width: 36px; height: 36px; background: #fff; color: var(--dt-red); border: 1px solid #dce1e5; border-radius: 12px; }
.dt-breadcrumb-label .dt-icon { width: 20px; height: 20px; }
.dt-breadcrumb-list { display: flex; align-items: center; flex-wrap: wrap; gap: 3px; list-style: none; padding: 9px 0; margin: 0; font-size: calc(12px * var(--dt-font-scale)); font-weight: 650; }
.dt-breadcrumb-list li { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.dt-breadcrumb-list a { transition: color .2s ease; }
.dt-breadcrumb-list a:hover { color: var(--dt-red); }
.dt-breadcrumb-list [aria-current="page"] { font-weight: 850; color: #253b33; }
.dt-breadcrumb-divider { color: #a8b0b8; font-size: 16px; margin-inline: 5px; user-select: none; }

/* A missing WooCommerce price is an actionable telephone enquiry. */
.dt-call-price { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 7px; color: var(--dt-red); font-weight: 800; font-size: calc(14px * var(--dt-font-scale)); line-height: 1.7; transition: color .2s, transform .2s; }
.dt-call-price:hover { color: var(--dt-red-dark); transform: translateY(-1px); }
.dt-call-price .dt-icon { width: 20px; height: 20px; }
.dt-call-price-icon { font-size: 20px; line-height: 1; }
.dt-call-price-button, .woocommerce a.dt-call-price-button { background: var(--dt-red); color: #fff !important; border-radius: 12px; padding: 11px 19px; box-shadow: 0 8px 22px rgba(200,25,43,.15); }
.dt-call-price-button:hover { background: var(--dt-red-dark); color: #fff !important; }
.dt-single-price-enquiry { display: flex; flex-direction: column; align-items: start; gap: 9px; margin: 15px 0 20px; }
.dt-single-price-enquiry small { color: var(--dt-muted); font-size: 12px; }
.woocommerce ul.products li.product a.dt-call-price-button { display: inline-flex; }

/* Product photography should be entirely visible on white, not cropped. */
.dt-mega-product-photo img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; }
.woocommerce ul.products li.product a img { display: block; width: 100%; height: 270px; object-fit: contain; object-position: center; background: #fff; }
.single-product .woocommerce-product-gallery { max-width: 500px; }
.single-product .woocommerce-product-gallery__image img { width: 100%; height: auto; max-height: 480px; object-fit: contain; object-position: center; }

/* Only the contents of this Elementor starter are editable, drag-and-drop. */
.dt-home-builder-section { padding-block: 85px; background: #fff; }
.dt-home-builder-section:nth-child(even) { background: #e9ecef; }
.dt-home-builder-inner { width: min(1240px, calc(100% - 44px)); max-width: 100%; margin-inline: auto; gap: 25px; }
.dt-home-builder-inner .elementor-widget-heading h2 { margin: 0 0 14px; font-size: clamp(26px, 2.6vw, 38px); font-weight: 850; line-height: 1.5; }
.dt-home-builder-section .elementor-button { background: var(--dt-red); color: #fff; border-radius: 12px; font-weight: 800; padding: 15px 27px; transition: background .2s, transform .2s; }
.dt-home-builder-section .elementor-button:hover { background: var(--dt-red-dark); transform: translateY(-2px); }
.dt-home-features-row { display: flex; flex-wrap: wrap; gap: 18px; }
.dt-home-feature-item { flex: 1 1 210px; min-width: 0; padding: 24px; background: #fff; border: 1px solid #e0e5e9; border-radius: 20px; transition: transform .2s, box-shadow .2s; }
.dt-home-feature-item:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(35,50,43,.09); }
.dt-home-feature-item .elementor-widget-heading h3 { font-size: 18px; font-weight: 850; }
.dt-home-feature-item .elementor-widget-text-editor p { color: var(--dt-muted); font-size: 14px; }
.dt-home-about-row { display: flex; flex-wrap: wrap; align-items: center; gap: 50px; }
.dt-home-about-image, .dt-home-about-content { flex: 1 1 370px; min-width: 0; }
.dt-home-about-image img { border-radius: 24px; width: 100%; box-shadow: var(--dt-shadow); }
.dt-home-about-content .elementor-widget-text-editor { line-height: 2.05; }
.dt-home-builder-contact { background: linear-gradient(110deg, var(--dt-red-dark), var(--dt-red)) !important; color: #fff; }
.dt-home-builder-contact .elementor-widget-heading .elementor-heading-title { color: #fff; }
.dt-home-builder-contact .elementor-button { background: #fff; color: var(--dt-red); }
.dt-home-builder-contact .elementor-button:hover { background: #e9ecef; color: var(--dt-red-dark); }
.dt-elementor-category-grid .category-card { background: #fff; }
.dt-elementor-category-grid .category-visual .dt-icon { width: 70px; height: 70px; }
.dt-elementor-product-list .load-more-wrap { margin-top: 28px; }
.dt-elementor-category-grid { grid-template-columns: repeat(var(--dt-cat-desktop, 3), minmax(0, 1fr)); }
.dt-elementor-product-list .product-grid,
.dt-home-builder-products .dt-elementor-product-list .product-grid { grid-template-columns: repeat(var(--dt-product-cols-desktop, 4), minmax(0, 1fr)); }
.dt-elementor-product-list [data-dt-load-more][hidden] { display: none !important; }
@media (min-width: 761px) and (max-width: 1024px) {
  .dt-elementor-category-grid { grid-template-columns: repeat(var(--dt-cat-tablet, 2), minmax(0, 1fr)); }
  .dt-elementor-product-list .product-grid,
  .dt-home-builder-products .dt-elementor-product-list .product-grid { grid-template-columns: repeat(var(--dt-product-cols-tablet, 3), minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .dt-elementor-category-grid { grid-template-columns: repeat(var(--dt-cat-mobile, 1), minmax(0, 1fr)); }
  .dt-elementor-product-list .product-grid,
  .dt-home-builder-products .dt-elementor-product-list .product-grid { grid-template-columns: repeat(var(--dt-product-cols-mobile, 2), minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .dt-breadcrumb-inner { gap: 9px; min-height: 53px; }
  .dt-breadcrumb-label { width: 32px; height: 32px; border-radius: 10px; }
  .dt-breadcrumb-list { font-size: 11px; gap: 0; }
  .dt-breadcrumb-list li:last-child { max-width: 65vw; }
  .dt-breadcrumb-list [aria-current="page"] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .dt-home-builder-section { padding-block: 55px; }
  .dt-home-builder-inner { width: calc(100% - 32px); }
  .dt-home-about-row { flex-direction: column; gap: 25px; }
  .dt-home-about-image, .dt-home-about-content { flex-basis: auto; width: 100%; }
  .dt-home-feature-item { flex-basis: calc(50% - 9px); padding: 17px; }
  .woocommerce ul.products li.product a img { height: 205px; }
  .single-product .woocommerce-product-gallery__image img { max-height: 360px; }
}

@media (max-width: 420px) {
  .dt-home-feature-item { flex-basis: 100%; }
}

/* Dastyari 0.7: clean four-column product showcase, complete images and facts. */
.products-section .product-grid,
.dt-home-builder-products .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.dastyari-product-card {
  display: flex; flex-direction: column; min-width: 0; padding: 13px;
  border: 1px solid #e4e8ed; border-radius: 22px;
  box-shadow: 0 8px 24px rgba(29,42,39,.035);
  transition: border-color .23s ease, box-shadow .23s ease, transform .23s ease;
}
.dastyari-product-card:hover,
.dastyari-product-card:focus-within { transform: translateY(-5px); border-color: #e9bcc2; box-shadow: 0 18px 38px rgba(42,47,44,.1); }
.dt-product-card-link { display: block; min-width: 0; }
.dastyari-product-card .product-visual { height: clamp(170px, 20vw, 237px); background: #fff; overflow: hidden; }
.dastyari-product-card .product-visual img { width: 100%; height: 100%; max-height: 100%; max-width: 100%; object-fit: contain; object-position: center; transition: transform .35s ease; }
.dastyari-product-card:hover .product-visual img { transform: scale(1.045); }
.dt-product-category { display: block; padding: 0 5px; margin-top: 7px; color: var(--dt-green); font-size: calc(10px * var(--dt-font-scale)); font-weight: 750; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dastyari-product-card h3 { margin: 5px 4px 9px; font-size: calc(14px * var(--dt-font-scale)); line-height: 1.7; font-weight: 800; min-height: 48px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .2s; }
.dastyari-product-card:hover h3 { color: var(--dt-red); }
.dt-product-facts { margin: 0 0 12px; padding: 9px 11px; background: #f3f5f7; border: 1px solid #e9ecef; border-radius: 13px; font-size: calc(10px * var(--dt-font-scale)); line-height: 1.7; }
.dt-product-facts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.dt-product-facts dt { color: #657177; font-weight: 600; white-space: nowrap; }
.dt-product-facts dd { margin: 0; text-align: left; color: #31413a; font-weight: 800; overflow-wrap: anywhere; }
.dt-product-facts dd[dir="ltr"] { direction: ltr; unicode-bidi: isolate; }
.dastyari-product-card .product-bottom { margin-top: auto; border-top: 1px solid #eef0f2; padding-top: 12px; gap: 8px; }
.dt-product-price { min-width: 0; font-weight: 800; font-size: calc(13px * var(--dt-font-scale)); line-height: 1.7; }
.dastyari-product-card .product-more { flex: none; transition: transform .2s, background .2s; }
.dastyari-product-card:hover .product-more { transform: translateX(-3px); }

/* The editable Elementor home reproduces the native section hierarchy. */
.dt-home-builder-section { padding-block: 94px; background: #fff; }
.dt-home-builder-categories, .dt-home-builder-about { position: relative; overflow: clip; }
.dt-home-builder-categories .elementor-widget-dastyari-decorative-leaf { position: absolute; width: 150px; left: -65px; top: 40px; z-index: 0; }
.dt-home-builder-about .elementor-widget-dastyari-decorative-leaf { position: absolute; width: 175px; right: -54px; bottom: 22px; z-index: 0; }
.dt-home-builder-section .elementor-widget-dastyari-decorative-leaf { translate: 0 var(--dt-parallax-y, 0px); }
.dt-home-builder-section .dt-home-builder-inner { position: relative; z-index: 1; }
.dt-home-builder-section:nth-child(even) { background: #fff; }
.dt-home-builder-features, .dt-home-builder-about { background: var(--dt-cream) !important; }
.dt-home-builder-contact { padding-block: 55px; }
.dt-home-builder-inner { gap: 30px; }
.dt-home-titlebar { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 15px; }
.dt-home-title-text { flex: 1 1 420px; gap: 2px; }
.dt-home-eyebrow .elementor-widget-container p { color: var(--dt-green); font-size: calc(13px * var(--dt-font-scale)); font-weight: 800; margin: 0; }
.dt-home-title-text .elementor-heading-title { margin: 0 !important; font-size: clamp(26px, 2.6vw, 38px) !important; }
.dt-home-titlebar .dt-home-text-link .elementor-button { padding: 7px 0; color: var(--dt-red); background: transparent; box-shadow: none; font-size: 14px; border-radius: 0; }
.dt-home-titlebar .dt-home-text-link .elementor-button:hover { color: var(--dt-red-dark); background: transparent; box-shadow: none; transform: translateX(-3px); }
.dt-home-features-row { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.dt-home-feature-item { flex: none; min-width: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.dt-home-feature-item:hover { transform: none; box-shadow: none; }
.dt-home-feature-box { display: flex; align-items: center; gap: 14px; height: 100%; }
.dt-home-feature-box .feature-icon { flex: 0 0 55px; }
.dt-home-feature-title { display: block; color: var(--dt-ink); font-weight: 850; font-size: calc(15px * var(--dt-font-scale)); }
.dt-home-feature-box p { margin: 1px 0 0; font-size: calc(12px * var(--dt-font-scale)); color: var(--dt-muted); }
.dt-home-about-row { display: grid !important; grid-template-columns: .95fr 1.05fr; gap: 70px; align-items: center; }
.dt-home-about-image, .dt-home-about-content { min-width: 0; }
.dt-home-about-image .about-visual img { border-radius: 30px; box-shadow: var(--dt-shadow); }
.dt-home-about-content { gap: 13px; }
.dt-home-about-content .elementor-heading-title { font-size: clamp(26px, 2.7vw, 38px); }
.dt-home-about-copy .elementor-widget-container { line-height: 2.1; color: #414a43; }
.dt-home-about-quote { padding: 18px 22px; background: #fff; border-right: 4px solid var(--dt-green); border-radius: 11px; color: #386043; font-weight: 720; }
.dt-home-about-quote p { margin: 0; }
.dt-home-cta-row { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 25px; }
.dt-home-builder-contact .dt-home-eyebrow p { color: #ffdee0; }
.dt-home-builder-contact .dt-home-cta-text .elementor-heading-title { color: #fff; font-size: clamp(23px, 2.6vw, 34px); }
.dt-home-builder-contact .dt-home-cta-button .elementor-button { background: #fff; color: var(--dt-red); box-shadow: 0 10px 22px rgba(0,0,0,.09); }

/* Individually editable header and overlapping footer logos. */
.dastyari-footer { position: relative; margin-top: 62px; }
.dt-footer-float { position: absolute; z-index: 3; left: 50%; top: 0; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 13px; }
.dt-footer-center-logo { display: grid; place-items: center; min-width: 170px; min-height: 113px; padding: 12px 20px; background: #fff; border: 1px solid #edf0f3; border-radius: 27px; box-shadow: 0 12px 28px rgba(16,25,21,.12); }
.dt-footer-center-logo .dastyari-brand img { width: min(156px, 35vw); max-height: 87px; height: auto; object-fit: contain; }
.dt-scroll-top { flex: none; display: grid; place-items: center; width: 47px; height: 47px; padding: 0; cursor: pointer; border: 1px solid #dc4954; border-radius: 15px; color: #fff; background: var(--dt-red); box-shadow: 0 8px 20px rgba(200,25,43,.22); transition: transform .2s ease, background .2s; }
.dt-scroll-top:hover { transform: translateY(-4px); background: var(--dt-red-dark); }
.dt-scroll-top .dt-icon { width: 23px; height: 23px; }
.dt-scroll-top .dt-icon path { stroke: #fff; }
.footer-grid { padding-top: 98px; }
.footer-grid h2 { color: #fff; }

/* Subtle motion only when enabled by script; no dependence on motion for content. */
.dt-motion-ready .dt-reveal { opacity: 0; transform: translate3d(0, 22px, 0); transition: opacity .58s ease, transform .58s cubic-bezier(.2,.8,.25,1); }
.dt-motion-ready .dt-reveal.dt-in-view { opacity: 1; transform: none; }
.dt-motion-ready .dt-reveal.dt-in-view .dt-home-feature-item { transition: transform .23s ease; }
.dt-leaf-decoration { translate: 0 var(--dt-parallax-y, 0px); }

@media (max-width: 1050px) and (min-width: 761px) {
  .products-section .product-grid, .dt-home-builder-products .product-grid { gap: 10px; }
  .dastyari-product-card { padding: 9px; }
  .dt-home-features-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dt-home-about-row { gap: 38px; }
}
@media (max-width: 760px) {
  .products-section .product-grid, .dt-home-builder-products .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .dastyari-product-card { padding: 8px; border-radius: 16px; }
  .dastyari-product-card .product-visual { height: clamp(126px, 35vw, 182px); border-radius: 12px; }
  .dastyari-product-card h3 { font-size: calc(12px * var(--dt-font-scale)); min-height: 40px; margin: 4px 2px 8px; }
  .dt-product-category { font-size: calc(9px * var(--dt-font-scale)); }
  .dt-product-facts { padding: 6px; margin-bottom: 7px; font-size: calc(9px * var(--dt-font-scale)); }
  .dt-product-facts > div { gap: 3px; }
  .dt-product-price { font-size: calc(11px * var(--dt-font-scale)); }
  .dt-home-builder-section { padding-block: 62px; }
  .dt-home-titlebar { align-items: flex-start; }
  .dt-home-features-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .dt-home-feature-box { flex-direction: column; align-items: center; text-align: center; gap: 6px; }
  .dt-home-feature-box .feature-icon { flex: none; }
  .dt-home-about-row { display: grid !important; grid-template-columns: 1fr; gap: 44px; }
  .dt-home-cta-row { flex-direction: column; align-items: flex-start; }
  .dt-footer-center-logo { min-width: 145px; min-height: 95px; border-radius: 21px; padding: 10px; }
  .dt-footer-center-logo .dastyari-brand img { width: 122px; max-height: 75px; }
  .dt-footer-float { gap: 9px; }
  .dt-scroll-top { width: 41px; height: 41px; border-radius: 12px; }
  .footer-grid { padding-top: 82px; }
}
@media (prefers-reduced-motion: reduce) {
  .dt-motion-ready .dt-reveal { opacity: 1; transform: none; transition: none; }
  .dt-leaf-decoration { translate: none; }
	.dt-home-builder-section .elementor-widget-dastyari-decorative-leaf { translate: none; }
}

/* Dastyari 0.8: catalogue filters and CSS Grid replace WooCommerce floats. */
.dt-shop-shell { padding-block: 34px 78px; }
.dt-shop-heading { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; overflow: hidden; padding: 36px clamp(20px, 4vw, 56px); margin-bottom: 30px; border: 1px solid #e0e5ea; border-radius: 26px; background: radial-gradient(circle at 10% 50%, rgba(56,143,79,.12), transparent 38%), #e9ecef; }
.dt-shop-heading > div:first-child { position: relative; z-index: 1; }
.dt-shop-eyebrow { display: block; margin-bottom: 6px; font-size: calc(12px * var(--dt-font-scale)); font-weight: 800; color: var(--dt-green); }
.dt-shop-heading h1 { margin: 0 0 10px; font-size: clamp(25px, 3vw, 39px); line-height: 1.5; color: var(--dt-ink); }
.dt-shop-heading p { max-width: 690px; margin: 0; line-height: 2; font-size: calc(13px * var(--dt-font-scale)); color: #4a545b; }
.dt-shop-heading-mark { display: grid; place-items: center; flex: 0 0 100px; height: 100px; border-radius: 26px; background: rgba(255,255,255,.7); transform: rotate(-8deg); }
.dt-shop-heading-mark .dt-icon { width: 62px; height: 62px; }
.dt-shop-layout { display: grid; grid-template-columns: minmax(225px, 275px) minmax(0, 1fr); gap: 28px; align-items: start; }
.dt-shop-layout > * { min-width: 0; }
.dt-shop-sidebar { position: sticky; top: 24px; }
.dt-shop-filter-panel { border: 1px solid #e3e7ea; border-radius: 22px; background: #fff; box-shadow: 0 8px 28px rgba(22,35,27,.04); overflow: hidden; }
.dt-shop-filter-toggle { display: none; }
.dt-shop-filter-body { display: grid; gap: 0; }
.dt-shop-filter-block { padding: 25px 20px; }
.dt-shop-filter-block + .dt-shop-filter-block { border-top: 1px solid #edf0f2; }
.dt-shop-filter-block h2 { margin: 0 0 15px; font-size: calc(17px * var(--dt-font-scale)); font-weight: 850; }
.dt-shop-search { display: flex; gap: 7px; align-items: stretch; min-width: 0; }
.dt-shop-search input[type="search"] { width: 100%; min-width: 0; height: 45px; padding: 9px 11px; font: inherit; font-size: calc(11px * var(--dt-font-scale)); border: 1px solid #dfe4e8; border-radius: 11px; outline-offset: 2px; background: #f9fafb; }
.dt-shop-search input[type="search"]:focus-visible { outline: 2px solid #478e5e; border-color: #478e5e; }
.dt-shop-search button { flex: none; min-height: 45px; padding: 0 13px; border: 0; border-radius: 11px; background: var(--dt-red); color: #fff; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; transition: background .2s, transform .2s; }
.dt-shop-search button:hover { background: var(--dt-red-dark); transform: translateY(-2px); }
.dt-shop-clear { display: inline-block; margin-top: 11px; font-size: 12px; color: var(--dt-red); }
.dt-shop-all-categories, .dt-shop-category-link { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 38px; margin-bottom: 4px; padding: 7px 10px; color: #3a4549; border-radius: 11px; font-size: calc(12px * var(--dt-font-scale)); font-weight: 720; transition: color .2s, background .2s, transform .2s; }
.dt-shop-category-link small { font-size: 10px; color: #78848b; background: #edf1f3; border-radius: 9px; padding: 1px 6px; }
.dt-shop-category-link:hover, .dt-shop-all-categories:hover { color: var(--dt-red); background: #fbf0f2; transform: translateX(-2px); }
.dt-shop-category-link.is-active, .dt-shop-all-categories.is-active { background: var(--dt-red); color: #fff; }
.dt-shop-category-link.is-active small { color: var(--dt-red); background: #fff; }
.dt-shop-category-link.is-parent-active { color: var(--dt-green); background: #edf5ef; }
.dt-shop-category-list { list-style: none; margin: 0; padding: 0; }
.dt-shop-subcategories { margin: 0 14px 10px 0; padding-right: 11px; border-right: 1px solid #e0e7e1; }
.dt-shop-subcategories .dt-shop-category-link { font-size: calc(11px * var(--dt-font-scale)); }
.dt-shop-search-notice { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 19px; padding: 13px 16px; border-radius: 12px; color: #31543c; background: #eaf4eb; font-size: 13px; }
.dt-shop-search-notice a { color: var(--dt-red); font-weight: 800; }
.dt-shop-products .woocommerce-products-header { display: none; }
.dt-shop-products .woocommerce-result-count { float: none !important; display: inline-block; margin: 0 0 23px; color: #697078; font-size: calc(12px * var(--dt-font-scale)); }
.dt-shop-products .woocommerce-ordering { float: left !important; margin: 0 0 23px; }
.dt-shop-products .woocommerce-ordering select { max-width: 100%; min-height: 42px; padding: 7px 12px; border: 1px solid #e0e5e8; border-radius: 11px; background: #fff; color: #333f39; font: inherit; font-size: 12px; }
.dt-shop-products ul.products, .woocommerce .dt-shop-products ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; clear: both; padding: 0; margin: 0 0 28px !important; }
.dt-shop-products ul.products::before, .dt-shop-products ul.products::after { display: none !important; }
.dt-shop-products ul.products li.product, .woocommerce .dt-shop-products ul.products li.product { display: flex; flex-direction: column; float: none !important; width: auto !important; min-width: 0; margin: 0 !important; padding: 13px; border: 1px solid #e2e7eb; border-radius: 20px; background: #fff; box-shadow: 0 8px 25px rgba(34,40,36,.035); text-align: right; transition: transform .22s, box-shadow .22s, border-color .22s; }
.dt-shop-products ul.products li.product:hover { transform: translateY(-4px); border-color: #eac0c5; box-shadow: 0 15px 29px rgba(40,40,40,.085); }
.dt-shop-products ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.dt-shop-products ul.products li.product a img, .woocommerce .dt-shop-products ul.products li.product a img { width: 100%; height: 225px; margin: 0 0 10px; object-fit: contain; object-position: center; border-radius: 13px; background: #fff; }
.dt-shop-products ul.products li.product .woocommerce-loop-product__title { min-height: 50px; margin: 0; padding: 3px 2px 6px; color: #28352e; font-size: calc(14px * var(--dt-font-scale)); font-weight: 800; line-height: 1.75; }
.dt-shop-products ul.products li.product .price { display: block; margin-top: auto; color: var(--dt-red); font-size: calc(13px * var(--dt-font-scale)); font-weight: 800; text-align: right; }
.dt-shop-products ul.products li.product a.button { display: inline-flex; justify-content: center; align-items: center; min-height: 38px; margin-top: 13px; padding: 9px 12px; background: var(--dt-red); color: #fff; font-size: calc(12px * var(--dt-font-scale)); font-weight: 800; border-radius: 10px; transition: background .2s; }
.dt-shop-products ul.products li.product a.button:hover { background: var(--dt-red-dark); }
.dt-shop-products ul.products li.product a.dt-call-price-button { display: inline-flex; }
.dt-shop-card-facts { margin: auto 0 11px; padding: 8px 10px; background: #f2f4f6; border-radius: 10px; font-size: calc(10px * var(--dt-font-scale)); color: #43504a; }
.dt-shop-card-facts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; line-height: 1.8; }
.dt-shop-card-facts dt { color: #657176; }
.dt-shop-card-facts dd { margin: 0; font-weight: 800; text-align: left; overflow-wrap: anywhere; }
.dt-shop-card-facts dd[dir="ltr"] { unicode-bidi: isolate; }
.dt-shop-products .woocommerce-pagination { margin-top: 30px; }
.dt-shop-products .woocommerce-pagination ul.page-numbers { display: inline-flex; flex-wrap: wrap; gap: 7px; padding: 0; border: 0; }
.dt-shop-products .woocommerce-pagination ul.page-numbers li { border: 0; }
.dt-shop-products .woocommerce-pagination .page-numbers a, .dt-shop-products .woocommerce-pagination .page-numbers span { display: grid; place-items: center; min-width: 37px; height: 37px; border: 1px solid #e1e5e9; border-radius: 9px; background: #fff; color: #37433b; }
.dt-shop-products .woocommerce-pagination .page-numbers a:hover, .dt-shop-products .woocommerce-pagination .page-numbers .current { background: var(--dt-red); border-color: var(--dt-red); color: #fff; }
@media (max-width: 1024px) {
  .dt-shop-layout { grid-template-columns: minmax(190px, 240px) minmax(0, 1fr); gap: 16px; }
  .dt-shop-products ul.products, .woocommerce .dt-shop-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 760px) {
  .dt-shop-shell { padding-block: 22px 55px; }
  .dt-shop-heading { padding: 23px 18px; margin-bottom: 17px; border-radius: 19px; }
  .dt-shop-heading-mark { flex-basis: 54px; height: 54px; border-radius: 14px; }
  .dt-shop-heading-mark .dt-icon { width: 32px; height: 32px; }
  .dt-shop-heading h1 { font-size: calc(23px * var(--dt-font-scale)); }
  .dt-shop-layout { grid-template-columns: 1fr; gap: 19px; }
  .dt-shop-sidebar { position: static; }
  .dt-shop-filter-toggle { display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; font-size: 13px; font-weight: 850; cursor: pointer; list-style: none; }
  .dt-shop-filter-toggle::-webkit-details-marker { display: none; }
  .dt-shop-filter-toggle span { transition: transform .2s; }
  .dt-shop-filter-panel[open] .dt-shop-filter-toggle span { transform: rotate(180deg); }
  .dt-shop-filter-body { display: grid; }
  .dt-shop-filter-block { padding: 15px 17px; }
  .dt-shop-products ul.products, .woocommerce .dt-shop-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .dt-shop-products ul.products li.product, .woocommerce .dt-shop-products ul.products li.product { padding: 9px; border-radius: 15px; }
  .dt-shop-products ul.products li.product a img, .woocommerce .dt-shop-products ul.products li.product a img { height: clamp(122px, 34vw, 178px); margin-bottom: 5px; }
  .dt-shop-products ul.products li.product .woocommerce-loop-product__title { min-height: 53px; font-size: calc(12px * var(--dt-font-scale)); line-height: 1.75; }
  .dt-shop-products ul.products li.product .price { font-size: calc(11px * var(--dt-font-scale)); }
  .dt-shop-products ul.products li.product a.button { font-size: calc(11px * var(--dt-font-scale)); min-height: 35px; padding: 7px 5px; }
  .dt-shop-card-facts { padding: 6px; font-size: calc(9px * var(--dt-font-scale)); }
  .dt-shop-products .woocommerce-result-count { max-width: 45%; font-size: 11px; }
  .dt-shop-products .woocommerce-ordering { max-width: 53%; }
  .dt-shop-products .woocommerce-ordering select { width: 100%; font-size: 11px; }
}
@media (max-width: 380px) {
  .dt-shop-heading-mark { display: none; }
  .dt-shop-products ul.products li.product a img, .woocommerce .dt-shop-products ul.products li.product a img { height: 123px; }
  .dt-shop-card-facts { font-size: 9px; }
}

/* Drag-and-drop Elementor header/footer templates (including Elementor Free). */
.dt-elementor-site-header { position: relative; z-index: 120; background: #fff; border-bottom: 1px solid #eef0f2; }
.dt-elementor-shell-header-inner { display: flex !important; flex-direction: row; align-items: center; justify-content: space-between; gap: 25px; width: min(1240px, calc(100% - 44px)); margin-inline: auto; min-height: 98px; }
.dt-elementor-shell-header-inner > .elementor-widget-dastyari-site-logo { flex: 0 0 auto; }
.dt-elementor-shell-header-inner > .elementor-widget-dastyari-site-navigation { flex: 1 1 auto; min-width: 0; }
.dt-elementor-shell-header-inner > .elementor-widget-dastyari-site-contact { flex: 0 0 auto; }
.dt-elementor-site-header .dt-shell-phone { color: var(--dt-red); font-weight: 850; direction: ltr; unicode-bidi: isolate; }
.dt-elementor-site-header .dt-shell-header-nav-wrap { display: flex; align-items: center; justify-content: center; }
.dt-elementor-site-header .dt-elementor-header-navigation { margin-inline: auto; }
.dt-elementor-site-header .dt-mega-panel { z-index: 180; }
.dt-elementor-site-footer { position: relative; margin-top: 62px; background: #222824; color: #fff; }
.dt-elementor-shell-footer-float { position: absolute !important; left: 50%; top: 0; z-index: 4; transform: translate(-50%,-50%); display: flex !important; flex-direction: row; gap: 13px; width: auto !important; align-items: center; }
.dt-elementor-shell-footer-float .elementor-widget-dastyari-site-logo { background: #fff; padding: 12px 20px; border-radius: 25px; min-width: 170px; display: grid; place-items: center; box-shadow: 0 12px 28px rgba(16,25,21,.12); }
.dt-elementor-shell-footer-float .dastyari-brand img { width: 140px; max-height: 88px; object-fit: contain; }
.dt-elementor-shell-footer-float .elementor-widget-dastyari-site-top { flex: none; }
.dt-elementor-shell-footer-grid { display: grid !important; grid-template-columns: 1.3fr .7fr 1fr; width: min(1240px, calc(100% - 44px)); margin-inline: auto; padding-block: 98px 56px; gap: 55px; }
.dt-elementor-site-footer .elementor-heading-title { color: #fff; font-size: calc(19px * var(--dt-font-scale)); }
.dt-elementor-site-footer p, .dt-elementor-site-footer .elementor-widget-text-editor { color: #c5cec7; font-size: calc(14px * var(--dt-font-scale)); }
.dt-elementor-site-footer .footer-menu { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.dt-elementor-site-footer .footer-menu a:hover, .dt-elementor-site-footer .dt-shell-contact-list a:hover { color: #f6bdc3; }
.dt-elementor-site-footer .dt-shell-contact-list p { margin: 0 0 8px; }
.dt-elementor-shell-footer-bottom { width: 100%; padding: 18px; text-align: center; border-top: 1px solid rgba(255,255,255,.12); }
.dt-elementor-shell-footer-bottom p { font-size: 12px; color: #a7b2a9; margin: 0; }
@media (max-width: 1024px) {
  .dt-elementor-site-header .dt-elementor-header-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; margin: 0; padding: 16px 22px 22px; background: #fff; border-top: 1px solid #e6eaed; box-shadow: var(--dt-shadow); max-height: calc(100dvh - 80px); overflow-y: auto; z-index: 160; }
  .dt-elementor-site-header .dt-elementor-header-navigation.is-open { display: block; }
  .dt-elementor-site-header .dt-shell-header-nav-wrap { justify-content: flex-start; }
  .dt-elementor-shell-header-inner { gap: 20px; }
  .dt-elementor-shell-header-inner > .elementor-widget-dastyari-site-navigation { flex: 0 0 auto; }
  .dt-elementor-site-header .dt-header-nav-items { flex-direction: column; align-items: stretch; }
}
@media (max-width: 760px) {
  .dt-elementor-shell-header-inner { min-height: 76px; width: calc(100% - 32px); }
  .dt-elementor-shell-header-inner > .elementor-widget-dastyari-site-contact { display: none; }
  .dt-elementor-site-footer .dt-elementor-shell-footer-grid { grid-template-columns: 1fr; gap: 25px; padding-top: 83px; width: calc(100% - 32px); }
  .dt-elementor-shell-footer-float .elementor-widget-dastyari-site-logo { min-width: 140px; padding: 9px; }
  .dt-elementor-shell-footer-float .dastyari-brand img { width: 120px; }
}
