/*
Theme Name: Designat
Theme URI: https://designat.ma
Author: Designat
Author URI: https://designat.ma
Description: Theme professionnel noir et blanc pour imprimerie - Compatible WooCommerce avec support multilingue (AR/FR/EN)
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: designat
Tags: e-commerce, custom-background, custom-logo, featured-images, theme-options, woocommerce, translation-ready, rtl-language-support

Designat - Nous imprimons vos idées
*/

@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800;900&display=swap');
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;font-family:'Tajawal',sans-serif !important}
:root{
  --dt-black:#0a0a0a;--dt-white:#ffffff;--dt-gray-50:#f8f8f8;--dt-gray-100:#f0f0f0;--dt-gray-200:#e4e4e4;
  --dt-gray-300:#d1d5db;--dt-gray-400:#a3a3a3;--dt-gray-500:#737373;--dt-gray-600:#525252;--dt-gray-700:#374151;--dt-gray-800:#262626;--dt-gray-900:#171717;
  --dt-yellow:#f5c518;--dt-red:#ef4444;
  --dt-green-50:#f0fdf4;--dt-green-200:#bbf7d0;--dt-green-600:#16a34a;--dt-green-800:#166534;
  --dt-font-body:'Tajawal',sans-serif;
  --dt-font-heading:'Tajawal',sans-serif;
  --dt-ease:cubic-bezier(0.25,0.46,0.45,0.94);--dt-ease-out:cubic-bezier(0.16,1,0.3,1);
  --dt-transition:0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --dt-max-width:1200px;--dt-nav-h:4rem;--dt-topbar-h:2rem;--dt-nav-h-full:calc(var(--dt-topbar-h) + var(--dt-nav-h));
  --dt-radius:1rem;--dt-radius-md:0.75rem;--dt-radius-sm:0.375rem;--dt-radius-full:9999px;
  --dt-shadow-sm:0 1px 2px rgba(0,0,0,0.05);
  --dt-shadow:0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05);
  --dt-shadow-md:0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.04);
  --dt-shadow-lg:0 20px 25px -5px rgba(0,0,0,0.08), 0 8px 10px -6px rgba(0,0,0,0.04);
  --dt-shadow-xl:0 25px 50px -12px rgba(0,0,0,0.15);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--dt-font-body);color:var(--dt-black);background:var(--dt-white);line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;height:auto;display:block}

body.dt-rtl {
  direction: rtl;
}

.dt-container{max-width:var(--dt-max-width);margin:0 auto;padding:0 1.5rem}

.dt-text-center { text-align: center; }

.dt-desktop-only { display: none; }
.dt-mobile-only { display: block; }

@media (min-width: 768px) {
  .dt-desktop-only { display: inline-flex; }
  .dt-mobile-only { display: none; }
}

/* ===================== LOADER ===================== */
.dt-loader{position:fixed;inset:0;z-index:9999;background:var(--dt-black);display:flex;align-items:center;justify-content:center;transition:opacity .6s var(--dt-ease),visibility .6s}
.dt-loader.done{opacity:0;visibility:hidden;pointer-events:none}
.dt-loader-inner{text-align:center}
.dt-loader-logo{font-family:var(--dt-font-heading);font-size:1.5rem;font-weight:900;color:var(--dt-white);letter-spacing:0.2em;margin-bottom:2rem}
.dt-loader-bar{width:120px;height:2px;background:rgba(255,255,255,0.1);border-radius:2px;overflow:hidden}
.dt-loader-progress{height:100%;width:0;background:var(--dt-white);border-radius:2px;animation:dt-load 1.5s var(--dt-ease-out) forwards}
@keyframes dt-load{to{width:100%}}

/* ===================== ANIMATIONS ===================== */
.dt-anim {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s var(--dt-ease-out), transform 0.8s var(--dt-ease-out);
}

.dt-anim.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes dt-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

@keyframes dt-pulse-ring {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(2); opacity: 0; }
}

@keyframes dt-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(255,255,255,0.1); }
  50% { box-shadow: 0 0 40px rgba(255,255,255,0.2); }
}

@keyframes dt-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-33.33%); }
}

@keyframes dt-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* ===================== TOPBAR ===================== */
.dt-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1001;
  height: var(--dt-topbar-h);
  background: var(--dt-gray-800);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.dt-topbar-inner {
  max-width: var(--dt-max-width);
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
.dt-topbar-links {
  display: none;
  align-items: center;
  gap: 1.5rem;
}
@media(min-width:768px) { .dt-topbar-links { display: flex; } }
.dt-topbar-links a {
  font-size: 0.6875rem;
  font-weight: 500;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color var(--dt-transition);
}
.dt-topbar-links a:hover,
.dt-topbar-links a.active { color: var(--dt-white); }
.dt-topbar-right {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-left: auto;
}

.dt-lang-switcher { position: relative; }
.dt-lang-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.5rem;
  border: none;
  border-radius: var(--dt-radius-sm);
  background: transparent;
  cursor: pointer;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.6);
  transition: all var(--dt-transition);
}
.dt-lang-btn svg { width: 12px; height: 12px; }
.dt-lang-btn:hover { color: var(--dt-white); }
.dt-lang-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--dt-white);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: var(--dt-radius-md);
  box-shadow: var(--dt-shadow-lg);
  min-width: 140px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: all var(--dt-transition);
  overflow: hidden;
  z-index: 2000;
}
.dt-lang-dropdown.open { opacity: 1; visibility: visible; transform: translateY(0); }
.dt-lang-dropdown a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--dt-black);
  text-decoration: none;
  transition: background var(--dt-transition);
}
.dt-lang-dropdown a:hover { background: var(--dt-gray-50); }
.dt-lang-dropdown a.active { background: var(--dt-gray-100); font-weight: 600; }
.dt-lang-flag { font-size: 0.75rem; font-weight: 700; opacity: 0.5; }

/* ===================== MAIN NAVBAR ===================== */
.dt-navbar {
  position: fixed;
  top: var(--dt-topbar-h);
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--dt-nav-h);
  background: var(--dt-gray-50);
  border-bottom: 1px solid var(--dt-gray-200);
  transition: box-shadow .3s var(--dt-ease);
}
.dt-navbar.scrolled {
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.dt-navbar-inner {
  max-width: var(--dt-max-width);
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: 2rem;
}

.dt-logo,
.custom-logo-link {
  font-family: var(--dt-font-heading);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--dt-black);
  transition: color .3s;
  text-decoration: none;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.dt-logo img,
.custom-logo-link img,
.custom-logo {
  height: 36px;
  width: auto;
  max-width: 130px;
  max-height: 36px;
  object-fit: contain;
}

.dt-nav-links {
  display: none;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
  flex: 1;
}
@media(min-width:768px) {
  .dt-nav-links { display: flex !important; }
}

.dt-nav-links > li {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.dt-nav-links > li > a {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  color: var(--dt-gray-700) !important;
  transition: color .25s !important;
  position: relative !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  padding: 0 0.875rem !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}
.dt-nav-links > li > a:hover,
.dt-nav-links > li > a.active {
  color: var(--dt-black) !important;
}
.dt-nav-links > li:hover > a {
  color: var(--dt-black) !important;
}

.dt-catnav-arrow {
  width: 8px;
  height: 6px;
  flex-shrink: 0;
  opacity: 0.4;
  transition: transform .25s, opacity .25s;
}
.dt-nav-links > li:hover .dt-catnav-arrow {
  transform: rotate(180deg);
  opacity: 0.7;
}

.dt-menu-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.125rem 0.375rem;
  border-radius: var(--dt-radius-full);
  background: var(--badge-bg, #e74c3c);
  color: var(--dt-white);
  line-height: 1.2;
  margin-left: 0.25rem;
  white-space: nowrap;
  position: relative;
  top: -1px;
}

/* Mega dropdown */
.dt-mega-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: var(--dt-white);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: var(--dt-radius);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.05);
  padding: 1.25rem;
  min-width: 320px;
  opacity: 0;
  visibility: hidden;
  transition: all .25s var(--dt-ease);
  z-index: 1100;
}
.dt-has-dropdown:hover > .dt-mega-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.dt-mega-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.875rem;
}
.dt-mega-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-decoration: none;
  border-radius: var(--dt-radius-sm);
  transition: all .2s;
  padding: 0.5rem;
}
.dt-mega-item:hover {
  background: var(--dt-gray-50);
}
.dt-mega-item-img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: var(--dt-radius-sm);
  overflow: hidden;
  background: var(--dt-gray-100);
  display: flex;
  align-items: center;
  justify-content: center;
}
.dt-mega-placeholder-icon {
  color: rgba(0,0,0,0.15);
}
.dt-mega-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s;
}
.dt-mega-item:hover .dt-mega-item-img img {
  transform: scale(1.05);
}
.dt-mega-item-name {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--dt-black);
  text-align: center;
}

/* Nav actions */
.dt-nav-actions {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  flex-shrink: 0;
}
.dt-nav-cart {
  color: var(--dt-gray-600) !important;
  transition: color .25s;
  position: relative;
  text-decoration: none !important;
  display: flex;
  align-items: center;
}
.dt-nav-cart:hover { color: var(--dt-black) !important; }
.dt-cart-count {
  position: absolute;
  top: -5px;
  right: -6px;
  background: var(--dt-black);
  color: var(--dt-white);
  font-size: 0.5625rem;
  font-weight: 700;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.dt-nav-btn {
  display: none;
  font-family: var(--dt-font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.5rem 1.25rem;
  border-radius: var(--dt-radius-full);
  background: var(--dt-black);
  color: var(--dt-white);
  text-decoration: none;
  transition: all .3s var(--dt-ease);
  white-space: nowrap;
}
.dt-nav-btn:hover {
  background: var(--dt-gray-800);
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}
@media(min-width:768px) { .dt-nav-btn { display: inline-flex; } }

/* Hamburger toggle */
.dt-mobile-toggle {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
}
.dt-mobile-toggle span {
  width: 20px;
  height: 1.5px;
  display: block;
  background: var(--dt-black);
  transition: all .3s var(--dt-ease);
}
.dt-mobile-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(4px,4px); }
.dt-mobile-toggle.active span:nth-child(2) { opacity: 0; }
.dt-mobile-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(4px,-4px); }
@media(min-width:768px) { .dt-mobile-toggle { display: none; } }

/* ===================== MOBILE MENU ===================== */
.dt-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: var(--dt-black);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: all .4s var(--dt-ease);
}
.dt-mobile-menu.open { opacity: 1; visibility: visible; }
.dt-mobile-menu-inner {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 2rem 1.5rem;
  width: 100%;
  max-width: 320px;
}
.dt-mobile-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--dt-font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.875rem 0;
  color: var(--dt-white);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  opacity: 0;
  transform: translateY(15px);
  transition: all .4s var(--dt-ease);
}
.dt-mobile-menu.open .dt-mobile-link { opacity: 1; transform: translateY(0); }
.dt-mobile-menu.open .dt-mobile-link:nth-child(1) { transition-delay: .08s; }
.dt-mobile-menu.open .dt-mobile-link:nth-child(2) { transition-delay: .12s; }
.dt-mobile-menu.open .dt-mobile-link:nth-child(3) { transition-delay: .16s; }
.dt-mobile-menu.open .dt-mobile-link:nth-child(4) { transition-delay: .2s; }
.dt-mobile-menu.open .dt-mobile-link:nth-child(5) { transition-delay: .24s; }
.dt-mobile-menu.open .dt-mobile-link:nth-child(6) { transition-delay: .28s; }
.dt-mobile-menu.open .dt-mobile-link:nth-child(7) { transition-delay: .32s; }
.dt-mobile-menu.open .dt-mobile-link:nth-child(8) { transition-delay: .36s; }
.dt-mobile-menu.open .dt-mobile-link:nth-child(9) { transition-delay: .4s; }
.dt-mobile-link.active { color: rgba(255,255,255,0.4); }
.dt-mobile-cat { font-size: 0.9375rem; font-weight: 600; text-transform: none; }
.dt-mobile-divider {
  height: 1px;
  background: rgba(255,255,255,0.1);
  margin: 0.75rem 0;
}
.dt-mobile-lang {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5rem;
  justify-content: center;
}
.dt-mobile-lang-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--dt-radius-sm) !important;
  border: 1.5px solid rgba(255,255,255,0.12) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 0 !important;
  color: var(--dt-white);
  text-decoration: none;
}
.dt-mobile-lang-btn.active {
  background: var(--dt-white) !important;
  color: var(--dt-black) !important;
  border-color: var(--dt-white) !important;
}
.dt-mobile-menu .dt-nav-btn {
  display: inline-flex;
  width: 100%;
  justify-content: center;
}
.dt-rtl .dt-topbar-right {
  margin-left: 0;
  margin-right: auto;
}

/* ===================== BUTTONS ===================== */
.dt-btn{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--dt-font-heading);font-weight:700;font-size:0.6875rem;letter-spacing:0.06em;text-transform:uppercase;border-radius:100px;padding:0.75rem 1.75rem;transition:all .4s var(--dt-ease);cursor:pointer;border:none;position:relative;overflow:hidden;text-decoration:none;white-space:nowrap}
.dt-btn-lg{padding:1rem 2.25rem;font-size:0.75rem}
.dt-btn-sm{padding:0.625rem 1.25rem;font-size:0.625rem}
.dt-btn-primary{background:var(--dt-black);color:var(--dt-white)}
.dt-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.25)}
.dt-btn-white{background:var(--dt-white);color:var(--dt-black)}
.dt-btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(255,255,255,0.2)}
.dt-btn-ghost{border:1.5px solid rgba(255,255,255,0.25);color:var(--dt-white);background:transparent}
.dt-btn-ghost:hover{border-color:var(--dt-white);background:rgba(255,255,255,0.08)}
.dt-btn-ghost-light{border:1.5px solid rgba(255,255,255,0.3);color:var(--dt-white);background:transparent}
.dt-btn-ghost-light:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.5)}
.dt-btn-outline{border:1.5px solid rgba(0,0,0,0.15);color:var(--dt-black);background:transparent}
.dt-btn-outline:hover{border-color:var(--dt-black);background:var(--dt-black);color:var(--dt-white)}
.dt-btn-outline-white {
  background: transparent;
  color: var(--dt-white);
  border: 1.5px solid rgba(255,255,255,0.3);
}
.dt-btn-outline-white:hover {
  border-color: var(--dt-white);
  background: rgba(255,255,255,0.08);
}
.dt-btn-full {
  width: 100%;
  justify-content: center;
}
.dt-btn-glow {
  animation: dt-glow 3s ease-in-out infinite;
}
.dt-btn-icon {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--dt-radius-md);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all var(--dt-transition);
  color: var(--dt-black);
}
.dt-btn-icon:hover {
  background: var(--dt-gray-100);
}

/* ===================== SLIDESHOW ===================== */
.dt-slideshow{position:relative;width:100%;min-height:100vh;overflow:hidden}
.dt-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 1s ease;z-index:0}
.dt-slide-active{opacity:1;pointer-events:auto;z-index:2}
.dt-slide:first-child{position:relative}
.dt-slide-hero{background:var(--dt-black)}

.dt-slide-promo{display:flex;align-items:center;justify-content:center;min-height:100vh}
.dt-slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 8s ease}
.dt-slide-active .dt-slide-bg{transform:scale(1.05)}
.dt-slide-overlay{position:absolute;inset:0;background:var(--dt-black);z-index:1}
.dt-slide-content{position:relative;z-index:2;text-align:center;padding:2rem;max-width:800px}
.dt-slide-title{font-size:clamp(2rem,6vw,4.5rem);font-weight:900;color:var(--dt-white);text-transform:uppercase;letter-spacing:-0.02em;line-height:1.1;margin-bottom:1rem}
.dt-slide-subtitle{font-size:clamp(1rem,2.5vw,1.5rem);color:rgba(255,255,255,0.7);font-weight:500;margin-bottom:2rem;line-height:1.5}

.dt-slideshow-dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;gap:0.5rem;z-index:10}
.dt-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.5);background:transparent;cursor:pointer;transition:all .4s ease;padding:0}
.dt-dot-active{background:var(--dt-white);border-color:var(--dt-white);transform:scale(1.2)}

.dt-slideshow-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.2);background:rgba(0,0,0,0.3);color:var(--dt-white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;backdrop-filter:blur(4px)}
.dt-slideshow-arrow:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.4)}
.dt-arrow-left{left:1.5rem}
.dt-arrow-right{right:1.5rem}

@media(max-width:768px){
  .dt-slideshow-arrow{width:36px;height:36px}
  .dt-arrow-left{left:0.75rem}
  .dt-arrow-right{right:0.75rem}
  .dt-slideshow-dots{bottom:1.25rem}
}

/* ===================== HERO ===================== */
.dt-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;background:var(--dt-black);overflow:hidden;padding:calc(var(--dt-nav-h-full) + 1rem) 0 0}
.dt-hero-grid-bg {
    background-size: contain;
    background-attachment: fixed;
    background-image: url(https://designat-ma-279087.hostingersite.com/wp-content/uploads/2023/06/backgroundP-011.png);
    position: absolute;
    inset: 0;
    animation: dt-grid-drift 20s linear infinite;
}
@keyframes dt-grid-drift{to{background-position:60px 60px}}
.dt-hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.dt-hero-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 55%,rgba(40,40,70,0.7) 0%,transparent 70%)}
.dt-hero-noise{position:absolute;inset:0;opacity:0.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:128px}

.dt-hero-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.03;
  background-size: 500px;
  background-repeat: repeat;
}

.dt-hero-stage{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}

.dt-hero-text-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}
.dt-hero-text-layer-front{z-index:3}
.dt-hero-big-text{font-family:var(--dt-font-heading);font-weight:900;text-transform:uppercase;line-height:1;color:var(--dt-white);white-space:nowrap;user-select:none}
.dt-hero-big-left{position:absolute;left:4%;font-size:clamp(3rem,10vw,9rem);letter-spacing:-0.04em;opacity:0.95}
.dt-hero-big-right{position:absolute;right:4%;font-size:clamp(3rem,10vw,9rem);letter-spacing:-0.04em;color:var(--dt-white);opacity:0.15}
.dt-hero-big-bottom{position:absolute;bottom:15%;font-size:clamp(2rem,7vw,6rem);letter-spacing:0.2em;color:var(--dt-white);opacity:0.08}

.dt-hero-machine-center{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;animation:dt-machine-float 6s ease-in-out infinite}
@keyframes dt-machine-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.dt-hero-machine-center img{width:clamp(320px,65vw,900px);height:auto;position:relative;z-index:2;filter:drop-shadow(0 30px 80px rgba(0,0,0,0.6)) drop-shadow(0 0 40px rgba(100,100,180,0.15))}

.dt-hero-machine-glow{position:absolute;width:clamp(300px,55vw,700px);height:clamp(250px,40vw,500px);top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(80,80,160,0.2) 0%,rgba(40,40,100,0.1) 30%,transparent 70%);z-index:1;animation:dt-glow-pulse 4s ease infinite}
@keyframes dt-glow-pulse{0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:0.5;transform:translate(-50%,-50%) scale(1.15)}}
.dt-hero-machine-glow2{position:absolute;width:clamp(200px,40vw,500px);height:clamp(100px,15vw,200px);bottom:5%;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(120,120,255,0.1) 0%,transparent 70%);z-index:1;filter:blur(30px);animation:dt-glow2-pulse 5s ease infinite}
@keyframes dt-glow2-pulse{0%,100%{opacity:0.6}50%{opacity:1}}
.dt-hero-machine-reflection{position:absolute;bottom:-15%;left:50%;transform:translateX(-50%) scaleY(-1);width:clamp(320px,65vw,900px);height:30%;background:linear-gradient(to bottom,rgba(255,255,255,0.03),transparent);z-index:0;filter:blur(4px);mask-image:linear-gradient(to bottom,rgba(0,0,0,0.3),transparent);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0.3),transparent)}
.dt-hero-machine-floor{position:absolute;bottom:-5%;left:50%;transform:translateX(-50%);width:clamp(400px,70vw,1000px);height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.06) 30%,rgba(255,255,255,0.1) 50%,rgba(255,255,255,0.06) 70%,transparent);z-index:1}

.dt-hero-anim-text{opacity:0;transition:opacity 1s var(--dt-ease-out),transform 1s var(--dt-ease-out)}
.dt-hero-big-left.dt-hero-anim-text{transform:translateX(-60px)}
.dt-hero-big-right.dt-hero-anim-text{transform:translateX(60px)}
.dt-hero-big-bottom.dt-hero-anim-text{transform:translateY(40px)}
.dt-hero-anim-text.visible{opacity:1;transform:translate(0)}
.dt-hero-big-right.dt-hero-anim-text.visible{opacity:1;transform:translateX(0)}

.dt-hero-anim-machine{opacity:0;transform:scale(0.9) translateY(30px);transition:opacity 1.2s var(--dt-ease-out),transform 1.2s var(--dt-ease-out)}
.dt-hero-anim-machine.visible{opacity:1;transform:scale(1) translateY(0)}

.dt-hero-anim-fade{opacity:0;transform:translateY(20px);transition:opacity .8s var(--dt-ease-out),transform .8s var(--dt-ease-out)}
.dt-hero-anim-fade.visible{opacity:1;transform:translateY(0)}

.dt-hero-bottom{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;padding:2rem 2.5rem 2.5rem;color:var(--dt-white)}
.dt-hero-bottom-center{display:flex;flex-direction:column;align-items:center;gap:1rem}
.dt-hero-btns{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center}

.dt-hero-scroll{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.2);z-index:5}
.dt-hero-scroll span{font-family:var(--dt-font-heading);font-size:0.5rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase}
.dt-hero-scroll-line{width:1px;height:30px;background:linear-gradient(to bottom,rgba(255,255,255,0.2),transparent);animation:dt-scroll-line 2s ease infinite}
@keyframes dt-scroll-line{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.dt-hero-buttons {
  margin-top: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.dt-hero-stats {
  margin-top: 3.5rem;
  display: flex;
  gap: 2.5rem;
}

.dt-hero-stat-value {
  font-family: var(--dt-font-heading);
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--dt-white);
}

.dt-hero-stat-label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.3);
  margin-top: 0.25rem;
}

.dt-hero-image {
  position: relative;
}

.dt-hero-image-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120%;
  height: 120%;
  background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 70%);
  pointer-events: none;
}

.dt-hero-image > img {
  position: relative;
  width: 100%;
  border-radius: 1.5rem;
  animation: dt-float 5s ease-in-out infinite;
  z-index: 1;
}

/* ===================== MARQUEE ===================== */
.dt-marquee{background:var(--dt-black);padding:1.25rem 0;overflow:hidden;border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06)}
.dt-marquee-track{display:flex;width:max-content}
.dt-marquee-content{display:flex;align-items:center;gap:0;animation:dt-marquee-scroll 30s linear infinite;white-space:nowrap}
.dt-marquee-content span{font-family:var(--dt-font-heading);font-size:0.6875rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;    color: rgb(255 255 255);padding:0 1.25rem}
.dt-marquee-dot{font-size:0.4rem;color:rgba(255,255,255,0.15)}
@keyframes dt-marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.dt-banner {
  background: var(--dt-black);
  padding: 1.25rem 0;
  overflow: hidden;
}

.dt-banner-track {
  display: flex;
  align-items: center;
  gap: 2rem;
  white-space: nowrap;
  animation: dt-scroll 30s linear infinite;
}

.dt-banner-item {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.dt-banner-item span {
  font-family: var(--dt-font-heading);
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: rgba(255,255,255,0.6);
}

.dt-banner-item .dt-sep {
  color: rgba(255,255,255,0.15);
  font-size: 0.5rem;
}

/* ===================== SECTION HEADERS ===================== */
.dt-section-header{text-align:center;margin-bottom:3.5rem}

.dt-section-header-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.5rem;
}

.dt-section-tag{display:inline-block;font-family:var(--dt-font-heading);font-size:0.625rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,0,0,0.4);padding:0.4rem 1.25rem;border:1px solid rgba(0,0,0,0.08);border-radius:100px;margin-bottom:1.25rem}
.dt-section-tag-light{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.15)}
.dt-section-title{font-family:var(--dt-font-heading);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-0.03em;line-height:1.15}
.dt-section-title span{color:var(--dt-gray-400)}

.dt-section-label {
  display: inline-block;
  font-family: var(--dt-font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(0,0,0,0.35);
  margin-bottom: 0.75rem;
}

.dt-section-subtitle {
  margin-top: 0.75rem;
  color: rgba(0,0,0,0.45);
  font-size: 0.9375rem;
  max-width: 32rem;
  line-height: 1.6;
}

/* ===================== SERVICES BENTO ===================== */
.dt-services{padding:5rem 0;background:var(--dt-gray-50)}
.dt-bento{display:grid;grid-template-columns:7fr 5fr;grid-template-rows:340px 260px;gap:1.25rem}
.dt-bento-card{position:relative;border-radius:1.25rem;overflow:hidden;display:flex;align-items:flex-start;text-decoration:none;cursor:pointer}
.dt-bento-card-1{grid-column:1;grid-row:1}
.dt-bento-card-2{grid-column:2;grid-row:1}
.dt-bento-card-3{grid-column:1;grid-row:2}
.dt-bento-card-4{grid-column:2;grid-row:2}

.dt-bento-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dt-bento-img{background-size:cover;background-position:center}
.dt-bento-placeholder{background:linear-gradient(135deg,var(--dt-gray-800) 0%,var(--dt-black) 100%)}
.dt-bento-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.45) 0%,rgba(0,0,0,0.05) 50%,rgba(0,0,0,0.3) 100%);z-index:1;transition:background .4s ease}
.dt-bento-card:hover .dt-bento-overlay{background:linear-gradient(180deg,rgba(0,0,0,0.55) 0%,rgba(0,0,0,0.1) 50%,rgba(0,0,0,0.4) 100%)}
.dt-bento-card:hover .dt-bento-media{transform:scale(1.04)}
video.dt-bento-media{object-fit:cover}

.dt-bento-text{position:relative;z-index:2;padding:2rem 2.25rem;width:100%}
.dt-bento-tag{display:block;font-size:0.6875rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.7);margin-bottom:0.75rem}
.dt-bento-title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;color:var(--dt-white);line-height:1.15;margin-bottom:1rem;letter-spacing:-0.02em}
.dt-bento-desc{display:none}
.dt-bento-btn{display:inline-flex;align-items:center;gap:0.25rem;font-size:0.875rem;font-weight:700;color:var(--dt-white);letter-spacing:0.01em;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;opacity:1;transform:none;transition:opacity .3s ease}
.dt-bento-card:hover .dt-bento-btn{opacity:0.8}

@media(max-width:768px){
  .dt-bento{grid-template-columns:1fr;grid-template-rows:auto;gap:1rem}
  .dt-bento-card-1,.dt-bento-card-2,.dt-bento-card-3,.dt-bento-card-4{grid-column:1;grid-row:auto}
  .dt-bento-card{min-height:180px}
  .dt-bento-overlay{background:linear-gradient(180deg,rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.3) 50%,rgba(0,0,0,0.55) 100%)}
  .dt-bento-text{padding:1.25rem 1.5rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
  .dt-bento-tag{font-size:0.5625rem;margin-bottom:0.375rem;letter-spacing:0.1em;text-shadow:0 1px 3px rgba(0,0,0,0.5)}
  .dt-bento-title{font-size:1.0625rem;margin-bottom:0.5rem;line-height:1.25;text-shadow:0 1px 4px rgba(0,0,0,0.5)}
  .dt-bento-btn{font-size:0.75rem;text-shadow:0 1px 3px rgba(0,0,0,0.5)}
}

/* ===================== WHY ===================== */
.dt-why{padding:6rem 0;background:var(--dt-gray-50)}
.dt-why-section {
  padding: 5rem 0 6rem;
  background: linear-gradient(180deg, var(--dt-gray-50) 0%, #ffffff 100%);
  position: relative;
}

.dt-why-section .dt-section-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 3.5rem;
}

.dt-why-section .dt-section-label {
  display: inline-block;
  background: var(--dt-black);
  color: var(--dt-white);
  padding: 0.375rem 1.25rem;
  border-radius: var(--dt-radius-full);
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  margin-bottom: 1.25rem;
}

.dt-why-section .dt-section-subtitle {
  font-size: 1rem;
  color: rgba(0,0,0,0.55);
  line-height: 1.7;
}

.dt-why-grid{display:grid;gap:1.25rem}
@media(min-width:768px){.dt-why-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.dt-why-grid{grid-template-columns:repeat(4,1fr)}}
.dt-why-card{position:relative;padding:2.5rem 1.75rem 2rem;background:var(--dt-white);border:1px solid rgba(0,0,0,0.05);border-radius:1.25rem;transition:all .5s var(--dt-ease);overflow:hidden}
.dt-why-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px rgba(0,0,0,0.08);border-color:rgba(0,0,0,0.1)}
.dt-why-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--dt-black);transform:scaleX(0);transition:transform .5s var(--dt-ease);transform-origin:left}
.dt-why-card:hover::after{transform:scaleX(1)}
.dt-why-card-number{font-family:var(--dt-font-heading);font-size:3.5rem;font-weight:900;color:rgba(0,0,0,0.03);position:absolute;top:0.75rem;right:1rem;line-height:1}
.dt-why-card-icon,
.dt-why-icon{width:3rem;height:3rem;border-radius:0.75rem;background:var(--dt-gray-50);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;border:1px solid rgba(0,0,0,0.04);transition:all .4s var(--dt-ease)}
.dt-why-card-icon svg,
.dt-why-icon svg{width:20px;height:20px;transition:all .3s}
.dt-why-card:hover .dt-why-card-icon,
.dt-why-card:hover .dt-why-icon{background:var(--dt-black);border-color:var(--dt-black)}
.dt-why-card:hover .dt-why-card-icon svg,
.dt-why-card:hover .dt-why-icon svg{stroke:var(--dt-white)}
.dt-why-card h3{font-family:var(--dt-font-heading);font-size:1rem;font-weight:800;margin-bottom:0.625rem;letter-spacing:-0.01em}
.dt-why-card p{font-size:0.8125rem;color:var(--dt-gray-500);line-height:1.7}

/* ===================== OFFER ===================== */
.dt-offer{padding:4rem 0}
.dt-offer-card{position:relative;background:var(--dt-black);border-radius:1.5rem;overflow:hidden;display:grid;grid-template-columns:1fr;min-height:320px}
@media(min-width:768px){.dt-offer-card{grid-template-columns:1fr auto}}
.dt-offer-bg{position:absolute;inset:0;opacity:0.04;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.dt-offer-content{position:relative;padding:2.5rem;display:flex;flex-direction:column;justify-content:center;gap:1.25rem}
@media(min-width:768px){.dt-offer-content{padding:3rem 3.5rem}}
.dt-offer-badge{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(245,197,24,0.15);border:1px solid rgba(245,197,24,0.3);border-radius:100px;padding:0.4rem 1rem;width:fit-content}
.dt-offer-badge svg{color:var(--dt-yellow)}
.dt-offer-badge span{font-family:var(--dt-font-heading);font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--dt-yellow)}
.dt-offer-title{font-family:var(--dt-font-heading);font-size:clamp(1.75rem,4.5vw,2.5rem);font-weight:900;color:var(--dt-white);text-transform:uppercase;letter-spacing:-0.02em;line-height:1.1}
.dt-offer-text{color:rgba(255,255,255,0.55);font-size:0.9375rem;line-height:1.6;max-width:26rem}
.dt-offer-code{display:inline-flex;align-items:center;background:rgba(245,197,24,0.1);border:1.5px dashed rgba(245,197,24,0.4);border-radius:0.5rem;padding:0.75rem 1.25rem;width:fit-content}
.dt-offer-code span{font-family:var(--dt-font-heading);font-size:0.875rem;font-weight:800;color:var(--dt-yellow);letter-spacing:0.08em}
.dt-offer-cta{display:flex;align-items:center;justify-content:center;gap:0.75rem;width:100%;max-width:480px;background:var(--dt-white);color:var(--dt-black);border-radius:100px;font-family:var(--dt-font-heading);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:1rem 2rem;transition:all .4s var(--dt-ease);text-decoration:none}
.dt-offer-cta:hover{background:var(--dt-gray-100);transform:translateY(-2px);box-shadow:0 8px 30px rgba(255,255,255,0.15)}
.dt-offer-visual{position:relative;display:flex;align-items:center;justify-content:center;padding:2rem;min-width:200px}
@media(min-width:768px){.dt-offer-visual{padding:2rem 4rem;min-width:240px}}
.dt-offer-discount{font-family:var(--dt-font-heading);font-size:clamp(5rem,14vw,9rem);font-weight:900;color:var(--dt-white);opacity:0.12;line-height:1;white-space:nowrap}

/* ===================== PRODUCTS ===================== */
.dt-products{padding:6rem 0;background:var(--dt-white)}
.dt-products-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .dt-products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .dt-products-grid { grid-template-columns: repeat(4, 1fr); } }

.dt-product-card {
  border-radius: 1rem;
  overflow: hidden;
  background: var(--dt-white);
  border: 1px solid rgba(0,0,0,0.06);
  transition: all 0.4s var(--dt-ease);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.dt-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.02);
}

.dt-product-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  font-family: var(--dt-font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.3rem 0.75rem;
  border-radius: 100px;
  background: var(--dt-black);
  color: var(--dt-white);
  z-index: 2;
}
.dt-product-badge.sale,
.dt-badge-sale { background: var(--dt-red); color: var(--dt-white); }

.dt-product-card-image {
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
  aspect-ratio: 4 / 3;
}
.dt-product-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--dt-ease);
}
.dt-product-card:hover .dt-product-card-image img {
  transform: scale(1.05);
}

.dt-product-card-hover {
  position: absolute;
  bottom: 0.875rem;
  left: 0.875rem;
  right: 0.875rem;
  opacity: 0;
  transform: translateY(0.75rem);
  transition: all 0.35s var(--dt-ease);
}
.dt-product-card:hover .dt-product-card-hover {
  opacity: 1;
  transform: translateY(0);
}
.dt-product-card-hover .dt-btn {
  width: 100%;
  justify-content: center;
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,0.88);
  color: var(--dt-black);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
}

.dt-product-card-info {
  padding: 0.875rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1;
}

.dt-product-card-rating {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-bottom: 0.125rem;
}
.dt-product-card-rating svg {
  width: 0.8125rem;
  height: 0.8125rem;
  fill: #F4A261;
  color: #F4A261;
}
.dt-rating-value {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--dt-black);
}
.dt-product-card-info .dt-rating-count {
  font-size: 0.6875rem;
  color: rgba(0,0,0,0.3);
}

.dt-product-card h3 {
  font-family: var(--dt-font-heading);
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.35;
  color: var(--dt-black);
}

.dt-product-short-desc {
  font-size: 0.6875rem;
  color: rgba(0,0,0,0.4);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dt-product-price {
  font-family: var(--dt-font-heading);
  font-size: 0.8125rem;
  font-weight: 800;
  color: var(--dt-black);
  margin-top: auto;
  padding-top: 0.375rem;
}
.dt-product-price del {
  color: rgba(0,0,0,0.3);
  font-weight: 500;
  font-size: 0.75rem;
}
.dt-product-price ins {
  text-decoration: none;
  color: var(--dt-black);
}

.dt-products-cta { text-align: center; margin-top: 3rem; }

.dt-product-img { position: relative; overflow: hidden; aspect-ratio: 4/3; background: #f5f5f5; }
.dt-product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--dt-ease); }
.dt-product-card:hover .dt-product-img img { transform: scale(1.05); }
.dt-product-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.35); opacity: 0; transition: opacity 0.4s var(--dt-ease); }
.dt-product-card:hover .dt-product-overlay { opacity: 1; }
.dt-product-info-card { padding: 0.875rem 1rem 1rem; }
.dt-product-info-card h3 { font-family: var(--dt-font-heading); font-size: 0.8125rem; font-weight: 700; margin-bottom: 0.5rem; letter-spacing: 0.02em; }
.dt-product-meta { display: flex; align-items: center; justify-content: space-between; }
.dt-product-stars { font-size: 0.75rem; color: #F4A261; letter-spacing: 2px; }

/* ===================== CTA ===================== */
.dt-cta{position:relative;padding:8rem 0;background:var(--dt-black);overflow:hidden;text-align:center}
.dt-cta-bg{background-size: contain;
    background-attachment: fixed;
    background-image: url(https://designat-ma-279087.hostingersite.com/wp-content/uploads/2023/06/backgroundP-011.png);
    position: absolute;
    inset: 0;}
.dt-cta-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.04;
  background-size: 500px;
  background-repeat: repeat;
}
.dt-cta-inner {
  position: relative;
}
.dt-cta-content{position:relative;text-align:center;color:var(--dt-white);max-width:600px;margin:0 auto}
.dt-cta-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: var(--dt-white);
  margin-bottom: 2rem;
}
.dt-cta-title{font-family:var(--dt-font-heading);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-0.03em;margin-bottom:1rem;line-height:1.15;color:var(--dt-white);text-transform:uppercase}
.dt-cta-title span {
  color: rgba(255,255,255,0.15);
}
.dt-cta-text{color:rgba(255,255,255,0.5);font-size:1rem;margin-bottom:2.5rem;line-height:1.7}
.dt-cta-btns,
.dt-cta-buttons{display:flex;flex-wrap:wrap;gap:0.875rem;justify-content:center}

/* ===================== FOOTER ===================== */
.dt-footer{position:relative;background:var(--dt-gray-900);color:rgba(255,255,255,0.5);padding:5rem 0 2rem}
.dt-footer-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.04;
  background-size: 400px;
  background-repeat: repeat;
}
.dt-footer-inner,
.dt-footer > .dt-container {
  position: relative;
  max-width: var(--dt-max-width);
  margin: 0 auto;
  padding: 4rem 1.25rem;
}
.dt-footer-grid{display:grid;gap:2.5rem;margin-bottom:4rem}
@media(min-width:768px){
  .dt-footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}
  .dt-footer-inner, .dt-footer > .dt-container { padding: 4rem 1.5rem; }
}
@media (min-width: 1024px) {
  .dt-footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
  .dt-footer-inner, .dt-footer > .dt-container { padding: 4rem 2rem; }
}
.dt-footer-logo{display:inline-block;font-family:var(--dt-font-heading);font-size:1.25rem;font-weight:900;letter-spacing:0.15em;color:var(--dt-white);margin-bottom:1rem}
.dt-footer-logo span {
  font-family: var(--dt-font-heading);
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}
.dt-footer-brand p{font-size:0.875rem;line-height:1.7;max-width:280px;margin-bottom:1.5rem;color:rgba(255,255,255,0.5)}
.dt-footer-socials,
.dt-footer-social{display:flex;gap:0.75rem}
.dt-footer-socials a,
.dt-footer-social a{width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.4);transition:all .3s var(--dt-ease)}
.dt-footer-socials a:hover,
.dt-footer-social a:hover{background:var(--dt-white);color:var(--dt-black);transform:translateY(-2px)}
.dt-footer-socials svg,
.dt-footer-social svg {
  width: 1rem;
  height: 1rem;
}
.dt-footer-col h4,
.dt-footer h3{font-family:var(--dt-font-heading);font-size:0.6875rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--dt-white);margin-bottom:1.25rem}
.dt-footer-col a{display:block;font-size:0.8125rem;padding:0.375rem 0;transition:color .3s}
.dt-footer-col a:hover{color:var(--dt-white)}

.dt-footer-links {
  list-style: none;
}

.dt-footer-links li {
  margin-bottom: 0.625rem;
}

.dt-footer-links a {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.5);
  transition: all var(--dt-transition);
}

.dt-footer-links a:hover {
  color: var(--dt-white);
  padding-left: 4px;
}

.dt-rtl .dt-footer-links a:hover {
  padding-left: 0;
  padding-right: 4px;
}

.dt-footer-contact {
  list-style: none;
}

.dt-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.dt-footer-contact svg {
  width: 1rem;
  height: 1rem;
  color: rgba(255,255,255,0.3);
  flex-shrink: 0;
  margin-top: 0.25rem;
}

.dt-footer-contact span {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.5);
}

.dt-footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:2rem;margin-top:4rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.5rem;font-size:0.75rem}
.dt-footer-bottom p {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.3);
}

/* ===================== WHATSAPP FLOAT ===================== */
.dt-whatsapp-float{position:fixed;bottom:2rem;right:2rem;z-index:100;width:3.25rem;height:3.25rem;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;color:var(--dt-white);box-shadow:0 4px 20px rgba(37,211,102,0.35);transition:all .3s var(--dt-ease)}
.dt-whatsapp-float:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 30px rgba(37,211,102,0.4)}
.dt-whatsapp-float svg{width:22px;height:22px}

.dt-rtl .dt-whatsapp-float {
  right: auto;
  left: 2rem;
}

/* ===================== PARTICLES ===================== */
.dt-particle{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,0.15);animation:dt-particle-float linear infinite}
@keyframes dt-particle-float{0%{opacity:0;transform:translateY(0) scale(0)}10%{opacity:1;transform:scale(1)}90%{opacity:1}100%{opacity:0;transform:translateY(-100vh) scale(0)}}

/* ===================== REDUCED MOTION ===================== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
  .dt-anim{opacity:1;transform:none}
  .dt-hero-machine-center{animation:none}
  .dt-loader{display:none}
}

/* ===================== COLLECTIONS GRID ===================== */
.dt-collections {
  padding: 5rem 0 2rem;
}

.dt-collections-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .dt-collections-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .dt-collections-grid { grid-template-columns: repeat(4, 1fr); }
}

.dt-collection-card {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  background: var(--dt-gray-100);
  aspect-ratio: 3/4;
}

.dt-collection-count {
  display: block;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.5);
  margin-bottom: 0.375rem;
}

.dt-collection-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.75rem;
}

.dt-collection-content h3 {
  font-family: var(--dt-font-heading);
  color: var(--dt-white);
  font-size: 1.25rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dt-collection-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dt-white);
  opacity: 0;
  transform: translateY(8px);
  transition: all var(--dt-transition);
}

.dt-collection-card:hover .dt-collection-btn {
  opacity: 1;
  transform: translateY(0);
}

/* ===================== PRODUCTS SECTION ===================== */
.dt-products-section {
  padding: 5rem 0;
  background: var(--dt-white);
}

/* ===================== PAGE HEADER ===================== */
.dt-page-header {
  position: relative;
  background: var(--dt-black);
  padding: 7rem 0 3.5rem;
  overflow: hidden;
  text-align: center;
  margin-top: var(--dt-nav-h-full);
}

.dt-page-header-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.04;
  background-size: 400px;
  background-repeat: repeat;
}

.dt-page-header h1 {
  position: relative;
  font-family: var(--dt-font-heading);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 900;
  color: var(--dt-white);
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.dt-page-header p {
  position: relative;
  margin-top: 1rem;
  color: rgba(255,255,255,0.45);
  font-size: 0.9375rem;
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}

/* ===================== PRODUCT DETAIL ===================== */
.dt-product-detail {
  padding-top: calc(var(--dt-nav-h-full) + 1.5rem);
  padding-bottom: 3rem;
  background: var(--dt-white);
}

.dt-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  color: rgba(0,0,0,0.4);
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.dt-breadcrumb a { color: rgba(0,0,0,0.4); text-decoration: none; transition: color var(--dt-transition); display: inline-flex; align-items: center; }
.dt-breadcrumb a:hover { color: var(--dt-black); }
.dt-breadcrumb svg { flex-shrink: 0; color: rgba(0,0,0,0.2); }
.dt-breadcrumb span { color: var(--dt-black); font-weight: 600; }

/* ---- THREE-COLUMN LAYOUT ---- */
.dt-product-page {
  display: grid;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 768px) {
  .dt-product-page { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
}
@media (min-width: 1200px) {
  .dt-product-page { grid-template-columns: 1.15fr 1fr; gap: 3.5rem; }
}

/* ---- GALLERY BENTO ---- */
.dt-product-gallery {  }
.dt-gallery-bento {
  display: grid;
  grid-template-columns: 2.2fr 1fr;
  gap: 0.625rem;
}
.dt-gallery-main {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  background: var(--dt-gray-100);
  aspect-ratio: 3/4;
}
.dt-gallery-main img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.dt-gallery-main:hover img { transform: scale(1.03); }
.dt-gallery-badge {
  position: absolute; top: 0.875rem; left: 0.875rem;
  background: rgba(255,255,255,0.92); backdrop-filter: blur(8px);
  padding: 0.3rem 0.75rem; border-radius: 100px;
  font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--dt-black);
}
.dt-gallery-sale {
  position: absolute; top: 0.875rem; right: 0.875rem;
  background: var(--dt-red); color: var(--dt-white);
  padding: 0.3rem 0.75rem; border-radius: 100px;
  font-size: 0.625rem; font-weight: 700;
}
.dt-gallery-side {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.dt-gallery-side-thumb {
  flex: 1;
  border-radius: 1rem;
  overflow: hidden;
  background: var(--dt-gray-100);
  cursor: pointer;
  border: 2px solid transparent;
  transition: all var(--dt-transition);
}
.dt-gallery-side-thumb:hover,
.dt-gallery-side-thumb.active { border-color: var(--dt-black); }
.dt-gallery-side-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- PRODUCT INFO (center column) ---- */
.dt-product-info {}

.dt-product-info-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.dt-product-title {
  font-family: var(--dt-font-heading);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
  flex: 1;
}
.dt-wishlist-btn {
  flex-shrink: 0;
  width: 2.25rem; height: 2.25rem;
  display: flex; align-items: center; justify-content: center;
  border: 1.5px solid rgba(0,0,0,0.1);
  border-radius: 50%;
  background: none;
  cursor: pointer;
  color: rgba(0,0,0,0.3);
  transition: all var(--dt-transition);
}
.dt-wishlist-btn:hover { color: #e74c3c; border-color: #e74c3c; }
.dt-wishlist-btn.active { color: #e74c3c; border-color: #e74c3c; }
.dt-wishlist-btn.active svg { fill: #e74c3c; }

.dt-product-rating-row {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.dt-stars { display: flex; gap: 0.125rem; }
.dt-stars svg { width: 0.8125rem; height: 0.8125rem; }
.dt-stars svg.filled { fill: #F4A261; color: #F4A261; }
.dt-stars svg.empty { fill: var(--dt-gray-200); color: var(--dt-gray-200); }
.dt-rating-score { font-size: 0.8125rem; font-weight: 700; color: rgba(0,0,0,0.7); }
.dt-rating-count { font-size: 0.75rem; color: rgba(0,0,0,0.35); }
.dt-new-reviews-link {
  font-size: 0.75rem;
  font-weight: 600;
  color: #F4A261;
  text-decoration: none;
  margin-left: 0.25rem;
}
.dt-new-reviews-link:hover { text-decoration: underline; }

/* ---- PRODUCT FORM (WC variations, qty, add to cart) ---- */
.dt-product-form { margin-bottom: 1.25rem; }
.dt-product-form > .cart,
.dt-product-form > .variations_form { margin-bottom: 0; }
.dt-product-form form.cart {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.dt-product-form .variations {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 0.75rem;
}
.dt-product-form .variations td,
.dt-product-form .variations th {
  padding: 0; border: none; vertical-align: top;
}
.dt-product-form .variations tr {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.dt-product-form .variations tr:last-child {
  border-bottom: none;
  margin-bottom: 0.375rem;
}
.dt-product-form .variations .label label {
  font-family: var(--dt-font-heading);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  display: block;
}
.dt-product-form .variations .value select {
  width: 100%;
  padding: 0.5rem 0.875rem;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  background: var(--dt-white);
  cursor: pointer;
  transition: border-color var(--dt-transition);
}
.dt-product-form .variations .value select:focus {
  border-color: var(--dt-black);
  outline: none;
}

/* Swatch buttons (variation swatches plugins) */
.dt-product-form .cfvsw-swatches-container,
.dt-product-form .variable-items-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.dt-product-form .cfvsw-swatch,
.dt-product-form .variable-item {
  min-width: 2.5rem;
  padding: 0.4375rem 0.75rem !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: 100px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: all var(--dt-transition);
  background: var(--dt-white) !important;
  text-align: center;
  line-height: 1.3;
  color: var(--dt-black) !important;
}
.dt-product-form .cfvsw-swatch:hover,
.dt-product-form .variable-item:hover {
  border-color: var(--dt-black) !important;
}
.dt-product-form .cfvsw-swatch.cfvsw-selected-swatch,
.dt-product-form .cfvsw-swatch.selected,
.dt-product-form .variable-item.selected {
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-color: var(--dt-black) !important;
}
.dt-product-form .reset_variations { display: none !important; }

/* Variation price display */
.dt-product-form .woocommerce-variation { margin-bottom: 0.75rem; }
.dt-product-form .woocommerce-variation-price,
.dt-product-form .woocommerce-variation-availability {
  background: var(--dt-gray-100);
  padding: 0.75rem 1rem;
  border-radius: 0.625rem;
  margin-bottom: 0.375rem;
  border: 1px solid rgba(0,0,0,0.04);
}
.dt-product-form .woocommerce-variation-price .price {
  font-family: var(--dt-font-heading);
  font-size: 1rem;
  font-weight: 800;
}

/* All 3 buttons in one row */
.dt-buttons-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.dt-product-form .woocommerce-variation-add-to-cart,
.dt-product-form .cart:not(.variations_form) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.375rem;
}
.dt-product-form .quantity { display: none !important; }
.dt-product-form .quantity .qty {
  width: 3.25rem;
  height: 2.5rem;
  padding: 0.375rem;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 0.5rem;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 600;
  background: var(--dt-white);
  transition: border-color var(--dt-transition);
}
.dt-product-form .quantity .qty:focus { border-color: var(--dt-black); outline: none; }

.dt-product-form .single_add_to_cart_button {
  flex: 1;
  min-width: 0;
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-radius: 100px !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 0.625rem 1rem !important;
  border: none !important;
  cursor: pointer !important;
  transition: all var(--dt-transition) !important;
  height: 2.75rem;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dt-product-form .single_add_to_cart_button:hover {
  background: var(--dt-gray-800) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
}
.dt-btn-quick-order,
.dt-btn-whatsapp-order {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 0.625rem;
  border-radius: 100px;
  font-family: var(--dt-font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--dt-transition);
  white-space: nowrap;
  height: 2.75rem;
  box-sizing: border-box;
}
.dt-btn-quick-order svg,
.dt-btn-whatsapp-order svg { flex-shrink: 0; }
.dt-btn-quick-order {
  background: var(--dt-white);
  color: var(--dt-black);
  border: 1.5px solid rgba(0,0,0,0.15);
}
.dt-btn-quick-order:hover {
  background: var(--dt-black);
  color: var(--dt-white);
  border-color: var(--dt-black);
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}
.dt-btn-whatsapp-order {
  background: #25d366;
  color: var(--dt-white);
  border: 1.5px solid #25d366;
}
.dt-btn-whatsapp-order:hover {
  background: #1fad55;
  border-color: #1fad55;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(37,211,102,0.3);
}
@media(max-width:480px){
  .dt-buttons-row { flex-wrap: wrap; }
  .dt-buttons-row .single_add_to_cart_button { flex: 1 1 100%; }
  .dt-btn-quick-order, .dt-btn-whatsapp-order { font-size: 0.6875rem; flex: 1 1 calc(50% - 0.25rem); }
}

/* ---- SHORT DESCRIPTION ---- */
.dt-product-desc-section { margin-bottom: 1.25rem; }
.dt-section-label {
  font-family: var(--dt-font-heading);
  font-size: 0.8125rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--dt-black);
}
.dt-product-desc-text {
  font-size: 0.8125rem;
  color: rgba(0,0,0,0.5);
  line-height: 1.7;
  max-height: 4.5em;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.dt-product-desc-text.expanded { max-height: 40rem; }
.dt-product-desc-text p { margin-bottom: 0.375rem; }
.dt-product-desc-full { display: none; }
.dt-product-desc-text.expanded + .dt-read-more-btn + .dt-product-desc-full { display: block; }

.dt-read-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.375rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 600;
  color: #F4A261;
  padding: 0;
}
.dt-read-more-btn svg { transition: transform var(--dt-transition); }
.dt-read-more-btn.open svg { transform: rotate(180deg); }
.dt-read-more-btn .dt-read-less-label { display: none; }
.dt-read-more-btn.open .dt-read-more-label { display: none; }
.dt-read-more-btn.open .dt-read-less-label { display: inline; }

/* ---- SHIPPING INFO ---- */
.dt-shipping-info {
  margin-top: 2rem;
  padding: 1.5rem 2rem;
  background: var(--dt-gray-50);
  border-radius: var(--dt-radius);
  border: 1px solid rgba(0,0,0,0.04);
}
.dt-shipping-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
@media(max-width:768px){
  .dt-shipping-grid { grid-template-columns: 1fr 1fr; }
}
.dt-shipping-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.dt-shipping-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--dt-radius-sm);
  background: var(--dt-white);
  border: 1px solid rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dt-shipping-icon svg {
  color: rgba(0,0,0,0.45);
}
.dt-shipping-item strong {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--dt-black);
  margin-bottom: 0.125rem;
}
.dt-shipping-item span {
  display: block;
  font-size: 0.6875rem;
  color: rgba(0,0,0,0.4);
}
@media(max-width:480px) {
  .dt-shipping-grid { grid-template-columns: 1fr; gap: 0.75rem; }
}

/* ---- SIDEBAR: PRICE CARD ---- */
.dt-product-sidebar {
  position: sticky;
  top: calc(var(--dt-nav-h) + 1rem);
}
.dt-price-card {
  background: #F4A261;
  border-radius: 1.25rem;
  padding: 1.5rem;
  margin-bottom: 1.25rem;
}
.dt-price-card-amount {
  font-family: var(--dt-font-heading);
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--dt-white);
  margin-bottom: 1rem;
}
.dt-price-card-amount del { opacity: 0.55; font-size: 1rem; font-weight: 600; }
.dt-price-card-amount ins { text-decoration: none; }
.dt-price-card-amount .woocommerce-Price-amount { color: var(--dt-white); }
.dt-buy-now-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.875rem 1.5rem;
  background: var(--dt-black);
  color: var(--dt-white);
  border: none;
  border-radius: 100px;
  font-family: var(--dt-font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: all var(--dt-transition);
  text-decoration: none;
}
.dt-buy-now-btn:hover {
  background: var(--dt-gray-800);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

/* ---- SIDEBAR: REVIEWS PANEL ---- */
.dt-reviews-panel {
  background: var(--dt-gray-100);
  border-radius: 1.25rem;
  padding: 1.25rem;
}
.dt-reviews-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.dt-reviews-panel-header h3 {
  font-family: var(--dt-font-heading);
  font-size: 0.875rem;
  font-weight: 700;
}
.dt-see-more-link {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #F4A261;
  text-decoration: none;
}
.dt-see-more-link:hover { text-decoration: underline; }

.dt-review-item {
  display: flex;
  gap: 0.625rem;
  padding-bottom: 0.875rem;
  margin-bottom: 0.875rem;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.dt-review-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.dt-review-avatar {
  flex-shrink: 0;
  width: 2.25rem; height: 2.25rem;
  border-radius: 50%;
  overflow: hidden;
  background: rgba(0,0,0,0.08);
}
.dt-review-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.dt-review-body { flex: 1; min-width: 0; }
.dt-review-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.dt-review-meta strong {
  font-size: 0.75rem;
  font-weight: 700;
}
.dt-review-date {
  font-size: 0.625rem;
  color: rgba(0,0,0,0.35);
}
.dt-review-stars { margin-bottom: 0.25rem; }
.dt-review-stars .dt-stars svg { width: 0.6875rem; height: 0.6875rem; }
.dt-review-text {
  font-size: 0.6875rem;
  color: rgba(0,0,0,0.5);
  line-height: 1.5;
  margin: 0;
}
.dt-no-reviews {
  font-size: 0.75rem;
  color: rgba(0,0,0,0.35);
  text-align: center;
  padding: 1rem 0;
}

/* ===================== RELATED PRODUCTS ===================== */
.dt-related {
  margin-top: 4rem;
  padding-top: 3rem;
  padding-bottom: 4rem;
  border-top: 1px solid rgba(0,0,0,0.06);
}

.dt-related-title {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 400;
  font-style: italic;
  text-align: center;
  margin-bottom: 2.5rem;
  letter-spacing: -0.01em;
  color: var(--dt-black);
}

.dt-category-desc {
  margin-bottom: 2rem;
  padding: 1.5rem 2rem;
  background: var(--dt-gray-50);
  border-radius: var(--dt-radius);
  border: 1px solid rgba(0,0,0,0.04);
}

.dt-category-desc p {
  font-size: 0.875rem;
  color: rgba(0,0,0,0.5);
  line-height: 1.7;
}

@media (max-width: 767px) {
  .dt-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .dt-gallery-main {
    grid-row: auto;
    aspect-ratio: 4/5;
  }
  .dt-gallery-thumbs {
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
  }
  .dt-price-card {
    flex-direction: row;
  }
  .dt-product-sidebar {
    order: -1;
  }
}

/* ===================== ABOUT PAGE ===================== */
.dt-about-grid {
  display: grid;
  gap: 4rem;
  align-items: center;
  padding: 5rem 0;
}

@media (min-width: 1024px) {
  .dt-about-grid { grid-template-columns: 1fr 1fr; }
}

.dt-about-title {
  font-family: var(--dt-font-heading);
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.dt-about-title span {
  color: rgba(0,0,0,0.15);
}

.dt-about-text {
  margin-top: 1.25rem;
  color: rgba(0,0,0,0.55);
  line-height: 1.8;
  font-size: 0.9375rem;
}

.dt-about-image img {
  width: 100%;
  border-radius: 1.5rem;
  box-shadow: var(--dt-shadow-xl);
}

.dt-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

@media (min-width: 1024px) {
  .dt-stats-grid { grid-template-columns: repeat(4, 1fr); }
}

.dt-stat-card {
  text-align: center;
  padding: 2.5rem 1.5rem;
  background: var(--dt-white);
  border-radius: 1.25rem;
  border: 1px solid rgba(0,0,0,0.04);
  transition: all var(--dt-transition);
}

.dt-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--dt-shadow-lg);
}

.dt-stat-card svg {
  width: 1.75rem;
  height: 1.75rem;
  color: rgba(0,0,0,0.25);
  margin: 0 auto 1rem;
}

.dt-stat-value {
  font-family: var(--dt-font-heading);
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.dt-stat-label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(0,0,0,0.4);
  margin-top: 0.5rem;
}

.dt-services-block {
  margin-top: 5rem;
  background: var(--dt-black);
  border-radius: 1.5rem;
  overflow: hidden;
  padding: 3rem 1.5rem;
  position: relative;
}

.dt-services-block-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.04;
  background-size: 400px;
  background-repeat: repeat;
}

.dt-services-block .dt-section-title {
  color: var(--dt-white);
  text-align: center;
  position: relative;
}

.dt-services-grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 2.5rem;
  position: relative;
}

@media (min-width: 640px) {
  .dt-services-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .dt-services-grid { grid-template-columns: repeat(3, 1fr); }
  .dt-services-block { padding: 4rem 3rem; }
}

/* ===================== CONTACT PAGE ===================== */
.dt-contact-grid {
  display: grid;
  gap: 3rem;
  padding: 4rem 0 5rem;
}

@media (min-width: 1024px) {
  .dt-contact-grid { grid-template-columns: 3fr 2fr; gap: 4rem; }
}

.dt-contact-form-title {
  font-family: var(--dt-font-heading);
  font-size: 1.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  margin-bottom: 0.5rem;
}

.dt-contact-form-subtitle {
  color: rgba(0,0,0,0.45);
  font-size: 0.9375rem;
  margin-bottom: 2rem;
}

.dt-form-group {
  margin-bottom: 1.25rem;
}

.dt-form-label {
  display: block;
  font-family: var(--dt-font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(0,0,0,0.55);
  margin-bottom: 0.5rem;
}

.dt-form-input,
.dt-form-textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1.5px solid rgba(0,0,0,0.1);
  border-radius: var(--dt-radius-md);
  font-family: var(--dt-font-body);
  font-size: 0.875rem;
  transition: all var(--dt-transition);
  background: var(--dt-white);
}

.dt-form-input:focus,
.dt-form-textarea:focus {
  outline: none;
  border-color: var(--dt-black);
  box-shadow: 0 0 0 3px rgba(0,0,0,0.05);
}

.dt-form-textarea {
  min-height: 140px;
  resize: vertical;
}

.dt-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.dt-form-status {
  margin-top: 1rem;
  padding: 0.875rem 1.25rem;
  border-radius: var(--dt-radius-md);
  font-size: 0.875rem;
  font-weight: 500;
}

.dt-form-status.success {
  background: var(--dt-green-50);
  color: var(--dt-green-800);
  border: 1px solid var(--dt-green-200);
}

.dt-form-status.error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.dt-contact-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background: var(--dt-gray-50);
  border-radius: var(--dt-radius);
  border: 1px solid rgba(0,0,0,0.04);
  margin-bottom: 1rem;
  transition: all var(--dt-transition);
}

.dt-contact-card:hover {
  border-color: rgba(0,0,0,0.08);
  box-shadow: var(--dt-shadow-sm);
}

.dt-contact-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--dt-radius-md);
  background: var(--dt-white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: var(--dt-shadow-sm);
}

.dt-contact-icon svg,
.dt-contact-card > svg {
  width: 1.125rem;
  height: 1.125rem;
  color: rgba(0,0,0,0.4);
}

.dt-contact-card strong {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.dt-contact-card span {
  font-size: 0.875rem;
  color: rgba(0,0,0,0.5);
}

.dt-whatsapp-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: var(--dt-green-50);
  border: 1px solid var(--dt-green-200);
  border-radius: var(--dt-radius);
  margin-top: 1.5rem;
  transition: all var(--dt-transition);
}

.dt-whatsapp-card:hover {
  box-shadow: var(--dt-shadow-md);
  transform: translateY(-2px);
}

.dt-whatsapp-card svg {
  width: 1.75rem;
  height: 1.75rem;
  color: var(--dt-green-600);
  flex-shrink: 0;
}

.dt-whatsapp-card strong {
  display: block;
  font-size: 0.875rem;
  color: var(--dt-green-800);
}

.dt-whatsapp-card small {
  font-size: 0.75rem;
  color: var(--dt-green-600);
}

/* ===================== BACK TO TOP ===================== */
.dt-back-top {
  position: fixed;
  bottom: 1.5rem;
  right: 5.5rem;
  z-index: 90;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--dt-white);
  color: var(--dt-black);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0,0,0,0.1);
  box-shadow: var(--dt-shadow-md);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--dt-transition);
}

.dt-back-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dt-back-top:hover {
  background: var(--dt-black);
  color: var(--dt-white);
}

.dt-rtl .dt-back-top {
  right: auto;
  left: 5.5rem;
}

/* ===================== 404 PAGE ===================== */
.dt-404 {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 4.5rem;
  text-align: center;
}

.dt-404 h1 {
  font-family: var(--dt-font-heading);
  font-size: 8rem;
  font-weight: 900;
  color: rgba(0,0,0,0.06);
  text-transform: uppercase;
  line-height: 1;
}

.dt-404 h2 {
  font-family: var(--dt-font-heading);
  font-size: 1.5rem;
  font-weight: 900;
  text-transform: uppercase;
  margin-top: 0.5rem;
}

.dt-404 p {
  color: rgba(0,0,0,0.45);
  font-size: 0.9375rem;
  margin-top: 0.75rem;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
}

.dt-404 .dt-btn {
  margin-top: 2.5rem;
}

/* ===================== UTILITIES ===================== */
.sr-only,
.dt-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ===================== RTL ADJUSTMENTS ===================== */
.dt-rtl .dt-nav-links a::after {
  transform-origin: center;
}

.dt-rtl .dt-hero-grid {
  direction: rtl;
}

@media (min-width: 1024px) {
  .dt-rtl .dt-hero-content { order: 2; }
  .dt-rtl .dt-hero-image { order: 1; }
}

.dt-rtl .dt-breadcrumb {
  direction: rtl;
}

.dt-rtl .dt-breadcrumb svg {
  transform: rotate(180deg);
}

.dt-rtl .dt-shipping-info {
  direction: rtl;
}
.dt-rtl .dt-shipping-item {
  flex-direction: row-reverse;
  text-align: right;
}

/* ===================== WOOCOMMERCE OVERRIDES ===================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--dt-black) !important;
  border-radius: var(--dt-radius-md) !important;
  background: var(--dt-gray-50) !important;
}

.woocommerce-message::before {
  color: var(--dt-black) !important;
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
  background-color: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-radius: var(--dt-radius-full) !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 0.75rem 1.5rem !important;
  border: none !important;
  transition: all var(--dt-transition) !important;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover {
  background-color: var(--dt-gray-800) !important;
  transform: translateY(-1px) !important;
}

.woocommerce .button.alt,
.woocommerce button.button.alt {
  background-color: var(--dt-black) !important;
}

.woocommerce .quantity .qty {
  border-radius: var(--dt-radius-md) !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
}

.woocommerce nav.woocommerce-pagination ul {
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--dt-radius-md) !important;
  margin: 0 0.25rem !important;
  padding: 0.5rem 1rem !important;
  font-family: var(--dt-font-heading) !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-color: var(--dt-black) !important;
}

.woocommerce .star-rating span::before {
  color: var(--dt-yellow) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 !important;
  margin: 0 0 1.5rem !important;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 1.5rem 0 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: rgba(0,0,0,0.4) !important;
  padding: 0.75rem 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--dt-black) !important;
  border-bottom: 2px solid var(--dt-black);
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
  border-radius: 1.25rem !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  padding: 2rem !important;
  background: var(--dt-white) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid rgba(0,0,0,0.1) !important;
  border-radius: var(--dt-radius-md) !important;
  padding: 0.75rem 1rem !important;
  font-family: var(--dt-font-body) !important;
  font-size: 0.875rem !important;
  transition: all var(--dt-transition) !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--dt-black) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.05) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  border-radius: var(--dt-radius) !important;
  overflow: hidden !important;
}

.woocommerce table.shop_table {
  border: 1px solid rgba(0,0,0,0.06) !important;
  border-radius: var(--dt-radius) !important;
  overflow: hidden;
}

.woocommerce table.shop_table th {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* ===================== CHECKOUT STYLES ===================== */

.woocommerce-form-coupon-toggle .woocommerce-info {
  background: var(--dt-white) !important;
  border: 1.5px solid rgba(0,0,0,0.08) !important;
  border-top: none !important;
  border-radius: var(--dt-radius-md) !important;
  padding: 0.875rem 1.25rem !important;
  font-size: 0.8125rem !important;
  color: rgba(0,0,0,0.6) !important;
  margin-bottom: 1.5rem !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info a {
  color: var(--dt-black) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.checkout_coupon.woocommerce-form-coupon {
  background: var(--dt-gray-50) !important;
  border: 1.5px solid rgba(0,0,0,0.08) !important;
  border-radius: var(--dt-radius-md) !important;
  padding: 1.25rem !important;
  margin-bottom: 1.5rem !important;
  display: flex !important;
  gap: 0.75rem !important;
  align-items: flex-end !important;
}
.checkout_coupon .input-text {
  flex: 1 !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--dt-radius-md) !important;
  font-size: 0.875rem !important;
  font-family: var(--dt-font-body) !important;
}
.checkout_coupon .button {
  white-space: nowrap !important;
}

.dt-checkout-grid {
  display: grid;
  gap: 2.5rem;
}

@media (min-width: 1024px) {
  .dt-checkout-grid {
    grid-template-columns: 1.15fr 1fr;
    gap: 3rem;
  }
}

.dt-checkout-fields {
  order: 1;
}

.dt-checkout-order {
  order: 2;
}

.dt-checkout-order-inner {
  position: sticky;
  top: calc(var(--dt-nav-h-full, 6rem) + 1rem);
  background: var(--dt-gray-50);
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 1.25rem;
  padding: 2rem;
}

.dt-checkout-order-inner h3 {
  font-family: var(--dt-font-heading);
  font-size: 0.9375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.woocommerce-checkout-review-order-table {
  border: none !important;
  margin: 0 !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border: none !important;
  padding: 0.625rem 0 !important;
  font-size: 0.8125rem !important;
  font-family: var(--dt-font-body) !important;
  vertical-align: top !important;
}
.woocommerce-checkout-review-order-table thead th {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: rgba(0,0,0,0.45) !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}
.woocommerce-checkout-review-order-table .cart_item td {
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.04) !important;
}
.woocommerce-checkout-review-order-table .cart_item .product-name {
  font-weight: 600 !important;
  color: var(--dt-black) !important;
}
.woocommerce-checkout-review-order-table .cart_item .product-name .variation {
  display: block !important;
  font-weight: 400 !important;
  font-size: 0.75rem !important;
  color: rgba(0,0,0,0.45) !important;
  margin-top: 0.25rem !important;
}
.woocommerce-checkout-review-order-table tfoot th {
  font-family: var(--dt-font-heading) !important;
  font-weight: 700 !important;
  font-size: 0.8125rem !important;
  text-transform: uppercase !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--dt-black) !important;
  padding-top: 1rem !important;
  border-top: 1.5px solid rgba(0,0,0,0.1) !important;
}

.woocommerce-checkout #payment {
  background: transparent !important;
  border-radius: var(--dt-radius) !important;
  margin-top: 0.5rem !important;
}

.woocommerce-checkout #payment .payment_methods {
  border-bottom: none !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment .payment_methods li {
  background: var(--dt-white) !important;
  border-radius: var(--dt-radius-md) !important;
  border: 1.5px solid rgba(0,0,0,0.08) !important;
  margin-bottom: 0.75rem !important;
  padding: 1rem 1.25rem !important;
}

.woocommerce-checkout #payment .payment_box {
  background: rgba(0,0,0,0.02) !important;
  border-radius: var(--dt-radius-sm) !important;
  color: rgba(0,0,0,0.5) !important;
  font-size: 0.8125rem !important;
  padding: 0.75rem 1rem !important;
  margin-top: 0.5rem !important;
}
.woocommerce-checkout #payment .payment_box::before {
  border-bottom-color: rgba(0,0,0,0.02) !important;
}

.woocommerce-checkout #payment .place-order {
  padding: 1.25rem 0 0 !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 0.75rem !important;
  color: rgba(0,0,0,0.4) !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
}

.woocommerce #payment #place_order {
  width: 100% !important;
  padding: 1rem 2rem !important;
  font-size: 0.8125rem !important;
}

.dt-checkout-field label {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: rgba(0,0,0,0.55) !important;
  margin-bottom: 0.375rem !important;
}

@media (max-width: 767px) {
  .dt-checkout-grid { gap: 2rem; }
  .dt-checkout-section { padding: 1.5rem; }
  .dt-checkout-order-inner { padding: 1.5rem; position: static; }
  .checkout_coupon.woocommerce-form-coupon { flex-direction: column !important; }
  .checkout_coupon .input-text { width: 100% !important; }
  .checkout_coupon .button { width: 100% !important; }
}

/* ===================== PROMO BANNER ===================== */
.dt-promo-banner {
  padding: 2rem 0 3rem;
}

.dt-promo-inner {
  position: relative;
  background: var(--dt-black);
  border-radius: 1.5rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  min-height: 280px;
}

@media (min-width: 768px) {
  .dt-promo-inner {
    grid-template-columns: 1fr auto;
    min-height: 300px;
  }
}

.dt-promo-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.03;
  background-size: 400px;
  background-repeat: repeat;
}

.dt-promo-content {
  position: relative;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .dt-promo-content {
    padding: 3rem 3.5rem;
  }
}

.dt-promo-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255,200,0,0.15);
  border: 1px solid rgba(255,200,0,0.3);
  border-radius: var(--dt-radius-full);
  padding: 0.4rem 1.125rem;
  font-family: var(--dt-font-heading);
  color: var(--dt-yellow);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  width: fit-content;
}

.dt-promo-badge svg {
  color: var(--dt-yellow);
  width: 14px;
  height: 14px;
  fill: var(--dt-yellow);
  stroke: none;
}

.dt-promo-title {
  font-family: var(--dt-font-heading);
  font-size: clamp(1.75rem, 4.5vw, 2.5rem);
  font-weight: 900;
  color: var(--dt-white);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.dt-promo-text {
  color: rgba(255,255,255,0.6);
  font-size: 0.9375rem;
  line-height: 1.6;
  max-width: 26rem;
}

.dt-promo-code {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255,200,0,0.1);
  border: 1.5px dashed rgba(255,200,0,0.4);
  border-radius: var(--dt-radius-md);
  padding: 0.75rem 1.25rem;
  width: fit-content;
}

.dt-promo-code span {
  font-family: var(--dt-font-heading);
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--dt-yellow);
  letter-spacing: 0.08em;
}

.dt-promo-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  max-width: 480px;
  background: var(--dt-white);
  color: var(--dt-black);
  border-radius: var(--dt-radius-full);
  font-family: var(--dt-font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 1rem 2rem;
  text-decoration: none;
  transition: all var(--dt-transition);
  margin-top: 0.25rem;
}

.dt-promo-cta:hover {
  background: var(--dt-gray-100);
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(255,255,255,0.15);
}

.dt-promo-cta svg {
  flex-shrink: 0;
}

.dt-promo-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  min-width: 180px;
}

@media (min-width: 768px) {
  .dt-promo-visual {
    padding: 2rem 3.5rem;
    min-width: 220px;
  }
}

.dt-promo-discount {
  font-family: var(--dt-font-heading);
  font-size: clamp(5rem, 12vw, 8rem);
  font-weight: 900;
  color: var(--dt-white);
  opacity: 0.15;
  line-height: 1;
  white-space: nowrap;
  text-shadow: 0 0 60px rgba(255,255,255,0.1);
}

/* ===================== FEATURED PRODUCTS ===================== */
.dt-featured-products {
  padding: 4rem 0 5rem;
}

/* ===================== PROFESSIONAL CART ===================== */
.dt-cart-layout {
  display: grid;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .dt-cart-layout {
    grid-template-columns: 1fr 380px;
    gap: 2.5rem;
  }
}

.dt-cart-items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.dt-cart-item {
  display: flex;
  gap: 1.25rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  align-items: flex-start;
}

.dt-cart-item:first-child {
  padding-top: 0;
}

.dt-cart-item-image {
  width: 100px;
  height: 100px;
  border-radius: var(--dt-radius-md);
  overflow: hidden;
  flex-shrink: 0;
  background: var(--dt-gray-50);
}

.dt-cart-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 768px) {
  .dt-cart-item-image {
    width: 120px;
    height: 120px;
  }
}

.dt-cart-item-details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.dt-cart-item-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.dt-cart-item-name {
  font-family: var(--dt-font-heading);
  font-size: 0.9375rem;
  font-weight: 700;
}

.dt-cart-item-name a {
  color: var(--dt-black);
  transition: color var(--dt-transition);
}

.dt-cart-item-name a:hover {
  color: rgba(0,0,0,0.6);
}

.dt-cart-item-price {
  font-size: 0.8125rem;
  color: rgba(0,0,0,0.45);
}

.dt-cart-item-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.dt-cart-qty .quantity {
  display: inline-flex;
  align-items: center;
}

.dt-cart-qty .quantity .qty {
  width: 3.5rem;
  height: 2.25rem;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: var(--dt-radius-sm);
  text-align: center;
  font-weight: 600;
  font-size: 0.875rem;
  background: var(--dt-white);
}

.dt-cart-item-subtotal {
  font-family: var(--dt-font-heading);
  font-size: 0.9375rem;
  font-weight: 800;
  margin-left: auto;
}

.dt-remove-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(239,68,68,0.06);
  color: var(--dt-red);
  transition: all var(--dt-transition);
}

.dt-remove-btn:hover {
  background: var(--dt-red);
  color: var(--dt-white);
}

.dt-cart-update {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1.5rem;
  flex-wrap: wrap;
}

.dt-cart-summary {
  position: sticky;
  top: 6rem;
  align-self: start;
}

.dt-cart-summary-inner {
  background: var(--dt-white);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 1.25rem;
  padding: 2rem;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}

.dt-cart-summary-inner h3,
.dt-cart-summary-inner .cart_totals h2 {
  font-family: var(--dt-font-heading);
  font-size: 0.875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--dt-black);
}

.dt-cart-summary-inner .cart_totals {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  float: none !important;
}

.dt-cart-summary-inner .shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 0.75rem !important;
  overflow: hidden;
}

.dt-cart-summary-inner .shop_table th,
.dt-cart-summary-inner .shop_table td {
  padding: 1rem 1.25rem !important;
  font-size: 0.875rem;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  border-top: none !important;
}

.dt-cart-summary-inner .shop_table th {
  font-family: var(--dt-font-heading);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  color: rgba(0,0,0,0.45);
  text-align: left;
  white-space: nowrap;
}

.dt-cart-summary-inner .shop_table td {
  text-align: right;
  font-weight: 600;
  font-family: var(--dt-font-heading);
}

.dt-cart-summary-inner .shop_table .order-total th,
.dt-cart-summary-inner .shop_table .order-total td {
  border-bottom: none !important;
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--dt-black);
}

.dt-cart-summary-inner .shop_table .order-total td {
  font-size: 1.125rem;
}

.dt-cart-summary-inner .wc-proceed-to-checkout {
  margin-top: 1.75rem;
}

.dt-cart-summary-inner .wc-proceed-to-checkout .checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-radius: var(--dt-radius-full) !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 1rem 2rem !important;
  border: none !important;
  transition: all var(--dt-transition) !important;
  text-decoration: none;
}

.dt-cart-summary-inner .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--dt-gray-800) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--dt-shadow-md) !important;
}

.dt-cart-empty {
  text-align: center;
  padding: 3rem 1.5rem;
}

.dt-cart-empty-icon {
  margin-bottom: 1.5rem;
  color: rgba(0,0,0,0.12);
}

.dt-cart-empty h2 {
  font-family: var(--dt-font-heading);
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}

.dt-cart-empty p {
  color: rgba(0,0,0,0.4);
  font-size: 0.9375rem;
  margin-bottom: 2rem;
}

/* ===================== SIMPLIFIED CHECKOUT ===================== */
.dt-checkout-form .woocommerce-shipping-fields,
.dt-checkout-form .woocommerce-account-fields,
.dt-checkout-form #ship-to-different-address,
.dt-checkout-form .woocommerce-additional-fields {
  display: none !important;
}

.dt-checkout-section {
  background: var(--dt-white);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 1.25rem;
  padding: 2rem;
  margin-bottom: 1.5rem;
}

.dt-checkout-section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.dt-checkout-section-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--dt-radius-md);
  background: var(--dt-gray-50);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dt-checkout-section-icon svg {
  color: rgba(0,0,0,0.5);
}

.dt-checkout-section h3 {
  font-family: var(--dt-font-heading);
  font-size: 0.875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dt-checkout-fields-inner .form-row {
  margin-bottom: 1rem;
}

.dt-checkout-cod {
  background: var(--dt-green-50);
  border-color: var(--dt-green-200);
}

.dt-checkout-cod .dt-checkout-section-icon {
  background: var(--dt-green-200);
}

.dt-checkout-cod .dt-checkout-section-icon svg {
  color: var(--dt-green-800);
}

.dt-cod-info {
  font-size: 0.875rem;
  color: var(--dt-green-800);
  line-height: 1.6;
}

.dt-form-input,
.dt-checkout-fields-inner input[type="text"],
.dt-checkout-fields-inner input[type="tel"],
.dt-checkout-fields-inner input[type="email"],
.dt-checkout-fields-inner textarea,
.dt-checkout-fields-inner select {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--dt-radius-md) !important;
  font-size: 0.875rem !important;
  font-family: var(--dt-font-body) !important;
  transition: all var(--dt-transition) !important;
  background: var(--dt-white) !important;
}

.dt-form-input:focus,
.dt-checkout-fields-inner input:focus,
.dt-checkout-fields-inner textarea:focus,
.dt-checkout-fields-inner select:focus {
  border-color: var(--dt-black) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06) !important;
}

.woocommerce #payment #place_order {
  width: 100% !important;
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-radius: var(--dt-radius-full) !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 1rem 2rem !important;
  border: none !important;
  cursor: pointer !important;
  transition: all var(--dt-transition) !important;
}

.woocommerce #payment #place_order:hover {
  background: var(--dt-gray-800) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--dt-shadow-md) !important;
}

/* ===================== PRODUCT DETAIL EXTRAS ===================== */
.dt-product-guarantees {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0,0,0,0.06);
}

.dt-guarantee-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(0,0,0,0.5);
}

.dt-guarantee-item svg {
  width: 1rem;
  height: 1rem;
}

.dt-product-tabs {
  margin-top: 2rem;
}

.dt-tabs-nav {
  display: flex;
  gap: 0;
  border-bottom: 2px solid rgba(0,0,0,0.06);
  margin-bottom: 1.5rem;
}

.dt-tab-btn {
  font-family: var(--dt-font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.75rem 1.25rem;
  border: none;
  background: none;
  cursor: pointer;
  color: rgba(0,0,0,0.35);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all var(--dt-transition);
}

.dt-tab-btn:hover {
  color: rgba(0,0,0,0.6);
}

.dt-tab-btn.active {
  color: var(--dt-black);
  border-bottom-color: var(--dt-black);
}

.dt-tab-content {
  display: none;
}

.dt-tab-content.active {
  display: block;
}

.dt-product-description {
  font-size: 0.875rem;
  color: rgba(0,0,0,0.55);
  line-height: 1.8;
}

.dt-product-description p {
  margin-bottom: 0.75rem;
}

.dt-product-category {
  display: inline-block;
  font-family: var(--dt-font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(0,0,0,0.35);
  margin-bottom: 0.5rem;
  transition: color var(--dt-transition);
}

.dt-product-category:hover {
  color: var(--dt-black);
}

.dt-product-rating-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.dt-product-rating-row .dt-rating-text {
  font-size: 0.8125rem;
  color: rgba(0,0,0,0.35);
}

.dt-product-price-block {
  margin-top: 1.25rem;
  font-family: var(--dt-font-heading);
  font-size: 1.5rem;
  font-weight: 900;
}

.dt-product-price-block del {
  color: rgba(0,0,0,0.3);
  font-size: 1rem;
  font-weight: 600;
}

.dt-product-price-block ins {
  text-decoration: none;
  color: var(--dt-black);
}

.dt-product-short-description {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: rgba(0,0,0,0.55);
  line-height: 1.7;
}


/* ===================== BUTTON SECONDARY ===================== */
.dt-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--dt-font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.625rem 1.25rem;
  border-radius: var(--dt-radius-full);
  border: 1.5px solid rgba(0,0,0,0.12);
  background: var(--dt-white);
  color: var(--dt-black);
  cursor: pointer;
  transition: all var(--dt-transition);
}

.dt-btn-secondary:hover {
  border-color: var(--dt-black);
  background: var(--dt-gray-50);
}

/* ===================== CONTACT PAGE (form styles) ===================== */
.dt-contact-form {
  background: var(--dt-gray-50);
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 1.25rem;
  padding: 2.5rem;
}

.dt-form-group label {
  display: block;
  font-family: var(--dt-font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(0,0,0,0.55);
  margin-bottom: 0.5rem;
}

.dt-form-group .dt-form-input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: var(--dt-radius-md);
  font-size: 0.875rem;
  font-family: var(--dt-font-body);
  transition: all var(--dt-transition);
  background: var(--dt-white);
}

.dt-form-group .dt-form-input:focus {
  border-color: var(--dt-black);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06);
}

.dt-form-group textarea.dt-form-input {
  resize: vertical;
  min-height: 120px;
}

/* ===================== WOOCOMMERCE MESSAGES ===================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--dt-radius-md) !important;
  border-left: 4px solid var(--dt-black) !important;
  background: var(--dt-gray-50) !important;
  padding: 1rem 1.5rem !important;
  font-size: 0.875rem !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-radius: var(--dt-radius-full) !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 0.5rem 1.25rem !important;
  border: none !important;
  text-decoration: none !important;
}

.woocommerce-error {
  border-left-color: var(--dt-red) !important;
}

/* ===================== WC BLOCK CART/CHECKOUT OVERRIDES (Fallback) ===================== */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
  max-width: var(--dt-max-width);
  margin-top: 3%;
  padding: 0 1.25rem;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  font-family: var(--dt-font-body) !important;
  margin-top: 2rem;
}

.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-checkout .wc-block-checkout__main {
  font-family: var(--dt-font-body) !important;
}

.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row {
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  padding: 1.5rem 0 !important;
}

.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  font-family: var(--dt-font-heading) !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  color: var(--dt-black) !important;
}

.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row img {
  border-radius: var(--dt-radius-md) !important;
}

.wc-block-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-cart .wc-block-cart__submit-button {
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-radius: var(--dt-radius-full) !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 1rem 2rem !important;
  border: none !important;
  transition: all var(--dt-transition) !important;
}

.wc-block-cart .wc-block-cart__submit-button:hover {
  background: var(--dt-gray-800) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--dt-shadow-md) !important;
}

.wc-block-components-sidebar .wc-block-components-panel {
  border-radius: var(--dt-radius) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  background: var(--dt-gray-50) !important;
  padding: 1rem !important;
}

.wc-block-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-radius: var(--dt-radius-full) !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 1rem 2rem !important;
  border: none !important;
  transition: all var(--dt-transition) !important;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button:hover {
  background: var(--dt-gray-800) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--dt-shadow-md) !important;
}

.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout .wc-block-components-combobox input {
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--dt-radius-md) !important;
  font-size: 0.875rem !important;
  font-family: var(--dt-font-body) !important;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus {
  border-color: var(--dt-black) !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06) !important;
}

.wc-block-checkout .wc-block-components-checkout-step__heading {
  font-family: var(--dt-font-heading) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: 0.875rem !important;
}

.wc-block-checkout .wc-block-components-checkout-step {
  border: 1px solid rgba(0,0,0,0.06) !important;
  border-radius: 1.25rem !important;
  padding: 1.5rem !important;
  margin-bottom: 1rem !important;
  background: var(--dt-white) !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image img {
  border-radius: var(--dt-radius-sm) !important;
}

.wc-block-components-totals-wrapper {
  border-color: rgba(0,0,0,0.06) !important;
}

.wc-block-cart .wc-block-components-quantity-selector {
  border-radius: var(--dt-radius-sm) !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
}

.wc-block-cart .wc-block-components-quantity-selector input {
  font-weight: 600 !important;
}

.wc-block-cart__empty-cart__title {
  font-family: var(--dt-font-heading) !important;
  font-weight: 800 !important;
}

/* ===================== CLASSIC WC CART TABLE OVERRIDES ===================== */
.woocommerce-cart .woocommerce table.shop_table {
  border: none !important;
  border-radius: var(--dt-radius) !important;
}

.woocommerce-cart .woocommerce table.shop_table th {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: rgba(0,0,0,0.5) !important;
  border-top: none !important;
  padding: 1rem 0.75rem !important;
}

.woocommerce-cart .woocommerce table.shop_table td {
  border-top: 1px solid rgba(0,0,0,0.06) !important;
  padding: 1rem 0.75rem !important;
  vertical-align: middle !important;
}

.woocommerce-cart .woocommerce table.shop_table td.product-name a {
  font-family: var(--dt-font-heading) !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  color: var(--dt-black) !important;
}

.woocommerce-cart .woocommerce table.shop_table img {
  border-radius: var(--dt-radius-sm) !important;
  width: 80px !important;
}

.woocommerce-cart .woocommerce table.shop_table .quantity .qty {
  width: 3.5rem !important;
  height: 2.25rem !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--dt-radius-sm) !important;
  text-align: center !important;
  font-weight: 600 !important;
}

.woocommerce-cart .woocommerce table.shop_table .product-remove a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 50% !important;
  background: rgba(239,68,68,0.06) !important;
  color: var(--dt-red) !important;
  font-size: 1.25rem !important;
  transition: all var(--dt-transition) !important;
}

.woocommerce-cart .woocommerce table.shop_table .product-remove a:hover {
  background: var(--dt-red) !important;
  color: var(--dt-white) !important;
}

.woocommerce-cart .cart_totals {
  border-radius: 1.25rem !important;
  background: var(--dt-white) !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  padding: 2rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
}

.woocommerce-cart .cart_totals h2 {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 2px solid var(--dt-black) !important;
}

.woocommerce-cart .cart_totals .shop_table {
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  border-collapse: collapse !important;
}

.woocommerce-cart .cart_totals .shop_table th {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: rgba(0,0,0,0.45) !important;
  padding: 1rem 1.25rem !important;
  white-space: nowrap !important;
  border-top: none !important;
}

.woocommerce-cart .cart_totals .shop_table td {
  text-align: right !important;
  font-weight: 600 !important;
  font-family: var(--dt-font-heading) !important;
  padding: 1rem 1.25rem !important;
  border-top: none !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

.woocommerce-cart .cart_totals .shop_table .order-total th,
.woocommerce-cart .cart_totals .shop_table .order-total td {
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  color: var(--dt-black) !important;
  border-bottom: none !important;
}

.woocommerce-cart .cart_totals .shop_table .order-total td {
  font-size: 1.125rem !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: var(--dt-black) !important;
  color: var(--dt-white) !important;
  border-radius: var(--dt-radius-full) !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 1rem 2rem !important;
  border: none !important;
  transition: all var(--dt-transition) !important;
  text-decoration: none !important;
  margin-top: 1.75rem !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--dt-gray-800) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--dt-shadow-md) !important;
}

button[name="update_cart"] {
  background: var(--dt-white) !important;
  color: var(--dt-black) !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--dt-radius-full) !important;
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 0.625rem 1.5rem !important;
  cursor: pointer !important;
  transition: all var(--dt-transition) !important;
}

button[name="update_cart"]:hover {
  border-color: var(--dt-black) !important;
  background: var(--dt-gray-50) !important;
}

button[name="update_cart"]:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* ===================== CLASSIC WC CHECKOUT OVERRIDES ===================== */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--dt-radius-md) !important;
  font-size: 0.875rem !important;
  font-family: var(--dt-font-body) !important;
  transition: all var(--dt-transition) !important;
  background: var(--dt-white) !important;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--dt-black) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06) !important;
}

.woocommerce-checkout .form-row label {
  font-family: var(--dt-font-heading) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: rgba(0,0,0,0.55) !important;
  margin-bottom: 0.375rem !important;
  display: block !important;
}

.woocommerce-checkout #order_review_heading {
  font-family: var(--dt-font-heading) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  border: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  font-size: 0.875rem !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  font-family: var(--dt-font-heading) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  padding-top: 1rem !important;
  border-bottom: none !important;
}

.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-additional-fields {
  display: none !important;
}

.woocommerce-checkout .select2-container .select2-selection {
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--dt-radius-md) !important;
  min-height: 2.75rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0.375rem 1rem !important;
  font-size: 0.875rem !important;
}

/* ===================== MOBILE FIXES (≤768px) ===================== */
@media (max-width: 768px) {
  :root {
    --dt-topbar-h: 2rem;
    --dt-nav-h: 3.5rem;
  }

  .dt-topbar-inner { padding: 0 1rem; }

  .dt-navbar-inner { padding: 0 1rem; gap: 0.75rem; }
  .dt-nav-actions { gap: 0.5rem; }

  .dt-logo img, .custom-logo-link img, .custom-logo {
    height: 28px; max-height: 28px; max-width: 100px;
  }
  .dt-logo { font-size: 1rem; }

  .dt-hero { min-height: 100svh; padding-top: calc(var(--dt-nav-h-full) + 0.5rem); }
  .dt-hero-big-left { font-size: clamp(2rem, 9vw, 4rem); left: 5%; }
  .dt-hero-big-right { font-size: clamp(2rem, 9vw, 4rem); right: 5%; }
  .dt-hero-big-bottom { font-size: clamp(1.25rem, 5vw, 2.5rem); bottom: 18%; }
  .dt-hero-machine-center img { width: clamp(200px, 55vw, 400px); }
  .dt-hero-machine-glow { width: clamp(180px, 50vw, 350px); height: clamp(150px, 35vw, 250px); }
  .dt-hero-bottom { padding: 1.5rem 1rem 2rem; }
  .dt-hero-btns { gap: 0.5rem; }
  .dt-hero-btns .dt-btn { font-size: 0.625rem; padding: 0.75rem 1.5rem; }

  .dt-marquee-content span { font-size: 0.5625rem; padding: 0 0.875rem; letter-spacing: 0.1em; }

  .dt-services { padding: 3rem 0; }
  .dt-section-header { margin-bottom: 2rem; }
  .dt-section-tag { font-size: 0.5625rem; }
  .dt-section-title { font-size: clamp(1.25rem, 5vw, 2rem); }

  .dt-why { padding: 3rem 0; }
  .dt-why-card { padding: 1.75rem 1.25rem 1.5rem; }

  .dt-products { padding: 3rem 0; }
  .dt-product-card h3 { font-size: 0.8125rem; }

  .dt-offer { padding: 2rem 0; }
  .dt-offer-content { padding: 2rem 1.5rem; }
  .dt-offer-cta { padding: 0.875rem 1.5rem; font-size: 0.6875rem; }

  .dt-cta { padding: 4rem 0; }
  .dt-cta-text { font-size: 0.875rem; margin-bottom: 1.5rem; }

  .dt-footer { padding: 3rem 0 1.5rem; }
  .dt-footer-inner, .dt-footer > .dt-container { padding: 2rem 1rem; }
  .dt-footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 2rem; }
  .dt-footer-brand p { max-width: 100%; }
  .dt-footer-brand { grid-column: 1 / -1; }

  .dt-footer-bar { padding: 1.25rem 1rem; }

  .dt-gallery-bento { grid-template-columns: 1fr; }
  .dt-gallery-main { aspect-ratio: 4/5; }
  .dt-gallery-side {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
  .dt-gallery-side-thumb { aspect-ratio: 1; }
  .dt-product-gallery { position: static; }

  .dt-product-title { font-size: 1.25rem; }
  .dt-product-info-header { margin-bottom: 0.5rem; }
  .dt-shipping-info { padding: 1rem 1.25rem; }

  .dt-promo-inner { min-height: 200px; }

  .dt-container { padding: 0 1rem; }

  .dt-slideshow-arrow { display: none; }
}

@media (max-width: 480px) {
  .dt-hero-big-left { font-size: 1.75rem; }
  .dt-hero-big-right { font-size: 1.75rem; }
  .dt-hero-big-bottom { font-size: 1rem; }
  .dt-hero-machine-center img { width: clamp(160px, 50vw, 300px); }
  .dt-hero-btns .dt-btn { font-size: 0.5625rem; padding: 0.625rem 1.25rem; }
  .dt-hero-btns { flex-direction: column; align-items: center; }

  .dt-footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .dt-footer-brand { grid-column: auto; }

  .dt-why-card-number { font-size: 2.5rem; }

  .dt-offer-title { font-size: 1.25rem; }
}
