/*
Theme Name: Digital Marketplace
Theme URI: https://example.com/digital-marketplace
Author: Elite WP Studio
Author URI: https://example.com
Description: A production-ready, ultra-modern WooCommerce + Elementor compatible theme purpose-built for selling digital products — software, schematics, scripts, source code, courses and digital assets. Features a dynamic hero slider, glassmorphism sticky header, animated product cards with automatic demo fallback, and a dark modern footer.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: digimart
Tags: e-commerce, woocommerce, elementor, custom-header, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready
*/

/* =========================================================
   0. ROOT VARIABLES
========================================================= */
:root{
  --dm-primary: #6C5CE7;
  --dm-primary-dark: #4834D4;
  --dm-accent: #00E5B0;
  --dm-accent-2: #FF6B6B;
  --dm-dark: #0B0E17;
  --dm-dark-2: #10131F;
  --dm-dark-card: #151827;
  --dm-light: #F7F8FC;
  --dm-gray: #8A8FA3;
  --dm-white: #FFFFFF;
  --dm-border: rgba(255,255,255,0.08);
  --dm-glass-bg: rgba(255,255,255,0.06);
  --dm-glass-border: rgba(255,255,255,0.14);
  --dm-shadow: 0 10px 40px rgba(15,15,35,0.15);
  --dm-shadow-lg: 0 25px 60px rgba(15,15,35,0.35);
  --dm-radius: 18px;
  --dm-radius-sm: 10px;
  --dm-radius-lg: 28px;
  --dm-font: 'Plus Jakarta Sans', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
  --dm-transition: all 0.35s cubic-bezier(.22,1,.36,1);
  --dm-header-h: 84px;
}

/* =========================================================
   1. RESET & BASE
========================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--dm-font);
  color:#20222B;
  background:var(--dm-light);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ text-decoration:none; color:inherit; transition:var(--dm-transition); }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4,h5,h6{ margin:0 0 .5em; font-weight:800; line-height:1.2; letter-spacing:-0.02em; }
p{ margin:0 0 1em; }
.container{ width:100%; max-width:1280px; margin:0 auto; padding:0 24px; }
.dm-visually-hidden{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
::selection{ background:var(--dm-primary); color:#fff; }

/* =========================================================
   2. ANNOUNCEMENT BAR
========================================================= */
.dm-announcement{
  background:linear-gradient(90deg,var(--dm-primary-dark),var(--dm-primary));
  color:#fff;
  text-align:center;
  font-size:13.5px;
  font-weight:600;
  padding:9px 16px;
  letter-spacing:.3px;
}
.dm-announcement strong{ color:var(--dm-accent); }

/* =========================================================
   3. GLASSMORPHISM STICKY HEADER
========================================================= */
.dm-header{
  position:sticky;
  top:0;
  z-index:999;
  width:100%;
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  background:rgba(255,255,255,0.65);
  border-bottom:1px solid rgba(255,255,255,0.35);
  transition:var(--dm-transition);
}
.dm-header.is-scrolled{
  background:rgba(255,255,255,0.85);
  box-shadow:0 8px 30px rgba(15,15,35,0.08);
}
.dm-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--dm-header-h);
  gap:24px;
}
.dm-logo{ display:flex; align-items:center; gap:10px; font-size:22px; font-weight:800; color:var(--dm-dark); }
.dm-logo img{ max-height:42px; width:auto; }
.dm-logo span.dm-logo-accent{ color:var(--dm-primary); }

.dm-nav{ display:flex; align-items:center; gap:6px; }
.dm-nav ul{ display:flex; align-items:center; gap:4px; }
.dm-nav ul li{ position:relative; }
.dm-nav ul li a{
  display:block;
  padding:10px 16px;
  font-weight:600;
  font-size:15px;
  color:#2B2E3A;
  border-radius:999px;
}
.dm-nav ul li a:hover, .dm-nav ul li.current-menu-item > a{
  background:rgba(108,92,231,0.1);
  color:var(--dm-primary-dark);
}
.dm-nav ul ul{
  position:absolute; top:110%; left:0; min-width:220px;
  background:#fff; border-radius:14px; padding:8px; flex-direction:column;
  box-shadow:var(--dm-shadow-lg); opacity:0; visibility:hidden; transform:translateY(8px);
  transition:var(--dm-transition);
}
.dm-nav ul li:hover > ul{ opacity:1; visibility:visible; transform:translateY(0); }
.dm-nav ul ul li a{ border-radius:8px; padding:10px 14px; }

.dm-header-actions{ display:flex; align-items:center; gap:14px; }
.dm-cart-link{ position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:rgba(108,92,231,0.08); }
.dm-cart-link svg{ width:20px; height:20px; stroke:var(--dm-dark); }
.dm-cart-count{
  position:absolute; top:-4px; right:-4px; background:var(--dm-accent-2); color:#fff;
  font-size:11px; font-weight:700; min-width:19px; height:19px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; padding:0 4px;
}
.dm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 26px; border-radius:999px; font-weight:700; font-size:14.5px;
  border:none; transition:var(--dm-transition); white-space:nowrap;
}
.dm-btn-primary{
  background:linear-gradient(135deg,var(--dm-primary),var(--dm-primary-dark));
  color:#fff; box-shadow:0 10px 26px rgba(108,92,231,0.4);
}
.dm-btn-primary:hover{ transform:translateY(-3px); box-shadow:0 16px 34px rgba(108,92,231,0.5); }
.dm-btn-outline{ background:transparent; border:1.5px solid rgba(20,20,30,0.15); color:var(--dm-dark); }
.dm-btn-outline:hover{ border-color:var(--dm-primary); color:var(--dm-primary); }
.dm-btn-light{ background:#fff; color:var(--dm-dark); }
.dm-btn-light:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(0,0,0,0.18); }

.dm-menu-toggle{ display:none; width:44px; height:44px; align-items:center; justify-content:center; border:none; background:rgba(108,92,231,0.08); border-radius:12px; }
.dm-menu-toggle span, .dm-menu-toggle span::before, .dm-menu-toggle span::after{
  content:''; display:block; width:20px; height:2px; background:var(--dm-dark); border-radius:2px; position:relative; transition:var(--dm-transition);
}
.dm-menu-toggle span::before{ position:absolute; top:-6px; }
.dm-menu-toggle span::after{ position:absolute; top:6px; }

.dm-mobile-nav{
  position:fixed; inset:0 0 0 auto; width:min(340px,86%); height:100vh;
  background:#fff; z-index:1100; transform:translateX(100%); transition:transform .4s cubic-bezier(.22,1,.36,1);
  padding:26px 22px; overflow-y:auto; box-shadow:-20px 0 60px rgba(0,0,0,0.2);
}
.dm-mobile-nav.is-open{ transform:translateX(0); }
.dm-mobile-nav-close{ width:38px; height:38px; border-radius:50%; border:none; background:#F1F1F6; font-size:18px; margin-bottom:20px; }
.dm-mobile-nav ul li a{ display:block; padding:14px 4px; font-weight:600; font-size:17px; border-bottom:1px solid #F0F0F5; }
.dm-mobile-overlay{ position:fixed; inset:0; background:rgba(10,10,20,0.5); z-index:1050; opacity:0; visibility:hidden; transition:var(--dm-transition); }
.dm-mobile-overlay.is-open{ opacity:1; visibility:visible; }

/* =========================================================
   4. HERO SLIDER (Edge-to-edge)
========================================================= */
.dm-hero{
  position:relative; width:100%; overflow:hidden; background:var(--dm-dark);
  min-height:640px; display:flex;
}
.dm-hero-track{ display:flex; width:100%; height:100%; transition:transform .7s cubic-bezier(.65,0,.35,1); }
.dm-slide{
  position:relative; min-width:100%; min-height:640px; display:flex; align-items:center;
  overflow:hidden;
}
.dm-slide-media{ position:absolute; inset:0; z-index:0; }
.dm-slide-media img, .dm-slide-media video{ width:100%; height:100%; object-fit:cover; }
.dm-slide-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(120deg, rgba(11,14,23,0.92) 10%, rgba(11,14,23,0.65) 55%, rgba(11,14,23,0.35) 100%);
}
.dm-slide-content{ position:relative; z-index:2; max-width:640px; padding:60px 0; color:#fff; }
.dm-badge{
  display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:999px;
  background:rgba(0,229,176,0.15); border:1px solid rgba(0,229,176,0.4); color:var(--dm-accent);
  font-size:13px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; margin-bottom:22px;
}
.dm-badge::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--dm-accent); box-shadow:0 0 12px var(--dm-accent); }
.dm-slide-content h1{ font-size:clamp(32px,5vw,58px); margin-bottom:18px; }
.dm-slide-content h1 .dm-highlight{
  background:linear-gradient(90deg,var(--dm-accent),#7bf5d0);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.dm-slide-content p{ font-size:17px; color:rgba(255,255,255,0.78); max-width:520px; margin-bottom:32px; }
.dm-slide-ctas{ display:flex; gap:14px; flex-wrap:wrap; }

.dm-hero-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,0.25);
  background:rgba(255,255,255,0.08); backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center; color:#fff; transition:var(--dm-transition);
}
.dm-hero-nav:hover{ background:var(--dm-primary); border-color:var(--dm-primary); }
.dm-hero-prev{ left:24px; }
.dm-hero-next{ right:24px; }
.dm-hero-nav svg{ width:20px; height:20px; }

.dm-hero-dots{ position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:10px; }
.dm-hero-dot{ width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,0.35); border:none; transition:var(--dm-transition); }
.dm-hero-dot.is-active{ width:30px; border-radius:6px; background:var(--dm-accent); }

/* =========================================================
   5. FEATURES STRIP
========================================================= */
.dm-features-strip{
  background:#fff; border-bottom:1px solid #EEF0F6; position:relative; z-index:5; margin-top:-1px;
}
.dm-features-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
}
.dm-feature-item{
  display:flex; align-items:center; gap:14px; padding:26px 20px; border-right:1px solid #EEF0F6;
}
.dm-feature-item:last-child{ border-right:none; }
.dm-feature-icon{
  width:48px; height:48px; border-radius:14px; flex:0 0 48px;
  background:linear-gradient(135deg,rgba(108,92,231,0.14),rgba(0,229,176,0.14));
  display:flex; align-items:center; justify-content:center;
}
.dm-feature-icon svg{ width:22px; height:22px; stroke:var(--dm-primary-dark); }
.dm-feature-item h4{ font-size:15px; margin-bottom:2px; }
.dm-feature-item p{ font-size:13px; color:var(--dm-gray); margin:0; }

/* =========================================================
   6. SECTION HEADINGS
========================================================= */
.dm-section{ padding:90px 0; }
.dm-section-head{ text-align:center; max-width:640px; margin:0 auto 56px; }
.dm-eyebrow{
  display:inline-block; color:var(--dm-primary); font-weight:700; font-size:13px;
  text-transform:uppercase; letter-spacing:1.5px; margin-bottom:12px;
}
.dm-section-head h2{ font-size:clamp(28px,4vw,42px); color:var(--dm-dark); }
.dm-section-head p{ color:var(--dm-gray); font-size:16.5px; }

/* =========================================================
   7. PRODUCT GRID / CARDS
========================================================= */
.dm-product-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:28px;
}
.dm-product-card{
  position:relative; background:#fff; border-radius:var(--dm-radius); overflow:hidden;
  border:1px solid #EFEFF5; box-shadow:0 4px 18px rgba(20,20,45,0.05); transition:var(--dm-transition);
  display:flex; flex-direction:column;
}
.dm-product-card:hover{
  transform:translateY(-10px);
  box-shadow:var(--dm-shadow-lg);
  border-color:rgba(108,92,231,0.25);
}
.dm-product-thumb{
  position:relative; aspect-ratio:4/3; overflow:hidden; background:#F2F2FA;
}
.dm-product-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.dm-product-card:hover .dm-product-thumb img{ transform:scale(1.08); }
.dm-price-badge{
  position:absolute; top:14px; right:14px; background:rgba(11,14,23,0.85); backdrop-filter:blur(6px);
  color:#fff; font-weight:800; font-size:14px; padding:7px 14px; border-radius:999px;
}
.dm-price-badge .dm-old-price{ text-decoration:line-through; opacity:.55; font-weight:500; font-size:12px; margin-right:5px; }
.dm-cat-badge{
  position:absolute; top:14px; left:14px; background:rgba(255,255,255,0.92); color:var(--dm-primary-dark);
  font-weight:700; font-size:11.5px; text-transform:uppercase; letter-spacing:.4px; padding:6px 12px; border-radius:999px;
}
.dm-product-quickcart{
  position:absolute; inset:auto 14px 14px 14px; opacity:0; transform:translateY(12px);
  transition:var(--dm-transition);
}
.dm-product-card:hover .dm-product-quickcart{ opacity:1; transform:translateY(0); }
.dm-product-body{ padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
.dm-product-body h3{ font-size:16.5px; margin-bottom:8px; }
.dm-product-body h3 a{ color:var(--dm-dark); }
.dm-product-body h3 a:hover{ color:var(--dm-primary); }
.dm-product-excerpt{ font-size:13.5px; color:var(--dm-gray); margin-bottom:16px; flex:1; }
.dm-product-meta{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.dm-rating{ display:flex; align-items:center; gap:5px; font-size:12.5px; color:var(--dm-gray); font-weight:600; }
.dm-rating svg{ width:14px; height:14px; fill:#FFB020; }
.dm-sales-count{ font-size:12px; color:var(--dm-gray); }
.dm-addtocart-btn{
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  padding:12px; border-radius:12px; font-weight:700; font-size:14px; border:none;
  background:var(--dm-dark); color:#fff; transition:var(--dm-transition);
}
.dm-addtocart-btn:hover{ background:var(--dm-primary); }
.dm-addtocart-btn svg{ width:16px; height:16px; }

.dm-products-footer{ text-align:center; margin-top:48px; }

/* Demo ribbon for fallback products */
.dm-demo-ribbon{
  position:absolute; top:16px; left:-38px; transform:rotate(-45deg);
  background:var(--dm-accent-2); color:#fff; font-size:10.5px; font-weight:800;
  letter-spacing:.5px; text-transform:uppercase; padding:5px 44px; z-index:2;
}

/* =========================================================
   8. WOOCOMMERCE OVERRIDES
========================================================= */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; list-style:none; }
.woocommerce ul.products li.product{
  background:#fff; border:1px solid #EFEFF5; border-radius:var(--dm-radius); padding:0; overflow:hidden;
  box-shadow:0 4px 18px rgba(20,20,45,0.05); transition:var(--dm-transition);
}
.woocommerce ul.products li.product:hover{ transform:translateY(-8px); box-shadow:var(--dm-shadow-lg); }
.woocommerce ul.products li.product img{ border-radius:0; aspect-ratio:4/3; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:16.5px; padding:16px 18px 4px; font-weight:700; }
.woocommerce ul.products li.product .price{ padding:0 18px; color:var(--dm-primary-dark); font-weight:800; }
.woocommerce ul.products li.product .button{
  margin:16px 18px 20px; display:inline-flex; align-items:center; justify-content:center; width:calc(100% - 36px);
  background:var(--dm-dark); color:#fff; border-radius:12px; padding:12px; font-weight:700; border:none;
}
.woocommerce ul.products li.product .button:hover{ background:var(--dm-primary); }
.woocommerce span.onsale{
  background:var(--dm-accent-2)!important; border-radius:999px!important; font-weight:700!important;
  min-height:auto!important; min-width:auto!important; padding:6px 12px!important; top:14px!important; left:14px!important; line-height:1!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{ border-radius:10px 10px 0 0; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:var(--dm-primary); color:#fff; border-radius:999px; font-weight:700; padding:13px 28px; border:none; transition:var(--dm-transition);
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover{ background:var(--dm-primary-dark); }
.woocommerce div.product form.cart .button{ padding:15px 34px; font-size:15.5px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{ border-radius:10px; border-color:#EFEFF5; }
.dm-wc-wrap{ padding:60px 0 90px; }
.dm-wc-wrap .container{ max-width:1280px; }

/* =========================================================
   9. FOOTER (DARK MODERN)
========================================================= */
.dm-footer{ background:var(--dm-dark); color:rgba(255,255,255,0.75); padding-top:80px; }
.dm-footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:44px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.08); }
.dm-footer-brand .dm-logo{ color:#fff; margin-bottom:16px; }
.dm-footer-brand p{ font-size:14.5px; color:rgba(255,255,255,0.55); max-width:320px; }
.dm-footer-socials{ display:flex; gap:10px; margin-top:20px; }
.dm-footer-socials a{
  width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center; transition:var(--dm-transition);
}
.dm-footer-socials a svg{ width:17px; height:17px; fill:#fff; }
.dm-footer-socials a:hover{ background:var(--dm-primary); transform:translateY(-4px); border-color:var(--dm-primary); }
.dm-footer-col h4{ color:#fff; font-size:15.5px; margin-bottom:20px; }
.dm-footer-col ul li{ margin-bottom:12px; }
.dm-footer-col ul li a{ font-size:14.5px; color:rgba(255,255,255,0.6); }
.dm-footer-col ul li a:hover{ color:var(--dm-accent); padding-left:4px; }
.dm-footer-newsletter form{ display:flex; margin-top:16px; border-radius:12px; overflow:hidden; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); }
.dm-footer-newsletter input{ flex:1; background:transparent; border:none; padding:13px 16px; color:#fff; font-size:14px; outline:none; }
.dm-footer-newsletter button{ background:var(--dm-primary); border:none; padding:0 18px; color:#fff; font-weight:700; }
.dm-footer-bottom{
  display:flex; align-items:center; justify-content:space-between; padding:26px 0; flex-wrap:wrap; gap:14px;
  font-size:13px; color:rgba(255,255,255,0.45);
}
.dm-footer-secure{ display:flex; align-items:center; gap:8px; }
.dm-footer-secure svg{ width:15px; height:15px; }
.dm-footer-payments{ display:flex; gap:8px; align-items:center; }
.dm-footer-payments span{ background:rgba(255,255,255,0.08); padding:5px 10px; border-radius:6px; font-size:11.5px; font-weight:700; }

/* =========================================================
   10. BLOG / ARCHIVE (index.php)
========================================================= */
.dm-blog-grid{ display:grid; grid-template-columns:2fr 1fr; gap:48px; padding:70px 0; }
.dm-post-card{ background:#fff; border:1px solid #EFEFF5; border-radius:var(--dm-radius); overflow:hidden; margin-bottom:32px; transition:var(--dm-transition); }
.dm-post-card:hover{ box-shadow:var(--dm-shadow-lg); transform:translateY(-4px); }
.dm-post-card img{ aspect-ratio:16/9; object-fit:cover; }
.dm-post-card-body{ padding:24px; }
.dm-post-meta{ font-size:12.5px; color:var(--dm-gray); font-weight:600; text-transform:uppercase; letter-spacing:.4px; margin-bottom:10px; }
.dm-post-card h2{ font-size:22px; margin-bottom:10px; }
.dm-post-card h2 a{ color:var(--dm-dark); }
.dm-post-card h2 a:hover{ color:var(--dm-primary); }
.dm-sidebar-widget{ background:#fff; border:1px solid #EFEFF5; border-radius:var(--dm-radius); padding:24px; margin-bottom:24px; }
.dm-sidebar-widget h3{ font-size:16px; margin-bottom:16px; }
.dm-pagination{ display:flex; gap:8px; margin-top:20px; }
.dm-pagination a, .dm-pagination span{ padding:10px 16px; border-radius:10px; background:#fff; border:1px solid #EFEFF5; font-weight:600; font-size:14px; }
.dm-pagination .current{ background:var(--dm-primary); color:#fff; border-color:var(--dm-primary); }

/* =========================================================
   11. UTILITIES / ANIMATIONS
========================================================= */
@keyframes dm-fade-up{ from{ opacity:0; transform:translateY(24px);} to{ opacity:1; transform:translateY(0);} }
.dm-animate{ animation:dm-fade-up .7s cubic-bezier(.22,1,.36,1) both; }
.dm-delay-1{ animation-delay:.1s; } .dm-delay-2{ animation-delay:.2s; } .dm-delay-3{ animation-delay:.3s; } .dm-delay-4{ animation-delay:.4s; }

/* =========================================================
   12. RESPONSIVE
========================================================= */
@media (max-width:1024px){
  .dm-product-grid, .woocommerce ul.products{ grid-template-columns:repeat(3,1fr); }
  .dm-features-grid{ grid-template-columns:repeat(2,1fr); }
  .dm-feature-item:nth-child(2){ border-right:none; }
  .dm-footer-top{ grid-template-columns:1fr 1fr; }
  .dm-blog-grid{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  .dm-nav{ display:none; }
  .dm-header-actions .dm-btn-outline{ display:none; }
  .dm-menu-toggle{ display:flex; }
  .dm-slide-content{ max-width:100%; }
}
@media (max-width:768px){
  .dm-product-grid, .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); gap:18px; }
  .dm-section{ padding:60px 0; }
  .dm-hero, .dm-slide{ min-height:560px; }
  .dm-hero-nav{ width:42px; height:42px; }
}
@media (max-width:600px){
  .dm-features-grid{ grid-template-columns:1fr; }
  .dm-feature-item{ border-right:none; border-bottom:1px solid #EEF0F6; }
  .dm-footer-top{ grid-template-columns:1fr; }
  .dm-hero, .dm-slide{ min-height:520px; }
  .dm-slide-content h1{ font-size:30px; }
  .dm-product-grid, .woocommerce ul.products{ grid-template-columns:1fr; }
  .dm-hero-prev{ left:12px; } .dm-hero-next{ right:12px; }
}
