/*
Theme Name: DIY Tech Supply Exact — Elementor Free
Theme URI: https://diytechsupply.com/
Author: DIY Tech Supply
Description: WooCommerce storefront theme matching the supplied DIY Tech Supply reference artwork.
Version: 2.0.4
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: diy-tech-supply-exact
*/
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:#111}.dts-wrap{max-width:1536px;margin:0 auto;background:#fff}.visual{position:relative;line-height:0}.visual img{display:block;width:100%;height:auto}.hotspot{position:absolute;display:block;z-index:5}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-grid{display:grid;grid-template-columns:2.28fr 1fr;gap:10px;padding:18px 7px 17px;background:#fff}.bottom-grid{display:grid;grid-template-columns:1.5fr 1.14fr 1fr;gap:10px;padding:35px 0 24px}.cats{padding:0}.site-footer{padding:18px;text-align:center;background:#082b49;color:#fff;font-size:14px}.woocommerce-page .site-main{max-width:1280px;margin:30px auto;padding:0 20px}.header-search{position:absolute;left:33.8%;top:36.5%;width:40.8%;height:24%;z-index:10;display:flex}.header-search input{flex:1;border:0;background:transparent;padding:0 18px;font-size:16px;outline:none;color:#333}.header-search button{width:12%;border:0;background:transparent;cursor:pointer;font-size:0}.account-link{left:80.3%;top:33%;width:8.4%;height:30%}.cart-link{left:89.6%;top:33%;width:8.2%;height:30%}.shop-link{left:4.2%;top:69%;width:20.5%;height:18%}.benefit-link{left:0;width:100%;height:25%}.b1{top:0}.b2{top:25%}.b3{top:50%}.b4{top:75%}.cat-link{top:0;height:100%;width:12.5%}.c1{left:0}.c2{left:12.5%}.c3{left:25%}.c4{left:37.5%}.c5{left:50%}.c6{left:62.5%}.c7{left:75%}.c8{left:87.5%}.featured-link,.learn-link,.newsletter-link{inset:0}@media(max-width:800px){.hero-grid,.bottom-grid{grid-template-columns:1fr;gap:8px;padding:8px 0}.header-search{display:none}.dts-wrap{width:100%}}

/* v1.2: shared site header/footer and corrected live WooCommerce search */
.dts-global-header{max-width:1536px;margin:0 auto;background:#fff}.header-home-link{display:block;position:relative;z-index:1}.header-home-link img{display:block;width:100%;height:auto}.header-search{left:33.85%;top:36.2%;width:40.75%;height:23.8%;background:#fff;border:1px solid #d8dde3;border-radius:6px;overflow:hidden;box-shadow:none}.header-search input[type=search]{min-width:0;width:auto;height:100%;background:#fff!important;padding:0 18px;border:0!important;box-shadow:none!important;font-size:15px;line-height:1.2;color:#4b4f54;-webkit-appearance:none;appearance:none}.header-search input[type=search]::placeholder{color:#6b6f73;opacity:1}.header-search button{flex:0 0 10.8%;height:100%;background:#ffd400!important;border:0!important;border-radius:0!important;color:#111;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:28px!important;font-weight:700;line-height:1;padding:0}.header-search button span{transform:rotate(-20deg);display:block}.site-main{max-width:1280px;margin:32px auto;padding:0 22px;min-height:45vh}.site-footer{margin-top:36px;padding:0;background:#082b49;color:#fff}.footer-inner{max-width:1280px;margin:0 auto;padding:30px 22px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:24px;align-items:center}.footer-brand{display:flex;flex-direction:column;gap:4px}.footer-brand strong{font-size:20px;letter-spacing:.4px}.footer-brand span,.footer-copy{font-size:13px;opacity:.82}.footer-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.footer-links a{color:#fff;text-decoration:none}.footer-links a:hover{text-decoration:underline}.home .site-footer{margin-top:0}@media(max-width:800px){.header-search{display:none}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}}


/* v1.3: live editable category navigation */
.dts-primary-nav{background:#0864b5;min-height:57px;display:flex;align-items:stretch;box-shadow:0 3px 8px rgba(0,0,0,.2);position:relative;z-index:30}
.dts-primary-nav .dts-menu{list-style:none;margin:0 auto;padding:0 28px;width:100%;max-width:1536px;display:flex;align-items:stretch;justify-content:space-between}
.dts-primary-nav .dts-menu>li{position:relative;display:flex;align-items:stretch;margin:0;padding:0}
.dts-primary-nav a{display:flex;align-items:center;color:#fff;text-decoration:none;font-size:16px;white-space:nowrap;padding:0 12px;min-height:57px}
.dts-primary-nav .menu-item-has-children>a:after{content:'⌄';font-size:16px;margin-left:7px;line-height:1}
.dts-primary-nav a:hover,.dts-primary-nav .current-menu-item>a,.dts-primary-nav .current-menu-ancestor>a{background:rgba(0,0,0,.12)}
.dts-primary-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;margin:0;padding:6px 0;list-style:none;background:#07579d;box-shadow:0 6px 14px rgba(0,0,0,.22);z-index:50}
.dts-primary-nav li:hover>.sub-menu,.dts-primary-nav li:focus-within>.sub-menu{display:block}
.dts-primary-nav .sub-menu li{position:relative}
.dts-primary-nav .sub-menu a{min-height:40px;padding:9px 16px;font-size:14px}
.dts-primary-nav .sub-menu .sub-menu{left:100%;top:0}
@media(max-width:1050px){.dts-primary-nav{overflow-x:auto}.dts-primary-nav .dts-menu{justify-content:flex-start;padding:0 10px}.dts-primary-nav a{font-size:14px;padding:0 10px}.dts-primary-nav .sub-menu{display:none!important}}

/* v1.5: eight independent WooCommerce category cards */
.dts-category-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;padding:0 4px}
.dts-category-card{display:block;min-width:0;text-decoration:none;line-height:0;border-radius:6px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.dts-category-card img{display:block;width:100%;height:auto}
.dts-category-card:hover,.dts-category-card:focus-visible{transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.18);outline:2px solid #0864b5;outline-offset:2px}
@media(max-width:1100px){.dts-category-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.dts-category-grid{grid-template-columns:repeat(2,1fr);gap:7px}}

/* Elementor Free starter layout: scoped to these documents only. */
.dts-elementor-main{max-width:1536px;margin:auto}
.dts-editable-home,.dts-editable-header{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0;max-width:1536px;margin:auto}
.dts-editable-home .e-con,.dts-editable-header .e-con,.dts-editable-footer .e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0;min-width:0}
.dts-editable-home .elementor-widget-image img{width:100%;display:block}
.dts-editable-home .elementor-widget-image{width:100%;margin:0}
.dts-editable-home a.e-con{text-decoration:none;line-height:0}
.dts-editable-home a.e-con:hover{filter:brightness(.98)}
.dts-editable-home a.e-con:focus-visible{outline:3px solid #0864b5;outline-offset:2px}
.dts-editable-hero{display:grid!important;grid-template-columns:2.28fr 1fr;gap:10px!important;padding:18px 7px 17px!important;align-items:start}
.dts-art-panel{position:relative;display:block!important}
.dts-benefits{gap:0!important}
.dts-editable-categories{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px!important;padding:0 4px!important}
.dts-editable-category{border-radius:6px;overflow:hidden}
.dts-editable-bottom{display:grid!important;grid-template-columns:1.5fr 1.14fr 1fr;gap:10px!important;padding:35px 0 24px!important;align-items:start}
.dts-hero-button{position:absolute!important;left:3.7%;top:72.8%;width:20.3%!important;height:17.5%}
.dts-hero-button .elementor-widget-container,.dts-hero-button .elementor-button-wrapper{height:100%}
.dts-hero-button .elementor-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#ffd400;color:#111;font:700 clamp(12px,1.55vw,24px)/1 Arial;padding:8px;border-radius:5px}
.dts-featured-button{position:absolute!important;top:7%;right:2%;width:27%!important;background:white}
.dts-featured-button .elementor-button{color:#0864b5;background:white;font:14px/1.4 Arial;padding:4px}
.dts-featured-button .elementor-button{font-size:clamp(8px,1vw,14px);white-space:nowrap}
.dts-subscribe-button{position:absolute!important;right:5.4%;top:64%;width:28.5%!important;height:25%}
.dts-subscribe-button .elementor-button-wrapper,.dts-subscribe-button .elementor-widget-container{height:100%}
.dts-subscribe-button .elementor-button{height:100%;width:100%;background:#082b49;color:white;font:700 14px/1 Arial;padding:10px;border-radius:0 6px 6px 0;display:flex;align-items:center;justify-content:center}
.dts-about-row{padding:0 20px 18px!important;align-items:center}
.dts-about-link .elementor-button{background:#0864b5;color:white}
.dts-editable-topbar{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;background:#082b49;color:white;padding:10px 24px!important;gap:18px!important;font:14px/1.4 Arial}
.dts-editable-topbar .elementor-widget-text-editor{width:auto;margin:0}.dts-editable-topbar p{margin:0}
.dts-utility-links{width:auto!important;display:flex!important;flex-direction:row!important;gap:16px!important}
.dts-utility-links .elementor-button{background:transparent;color:white;padding:0;font:14px/1.4 Arial}
.dts-editable-header-main{display:flex!important;flex-direction:row!important;align-items:center;gap:24px!important;background:linear-gradient(#fff,#e7edf1);padding:18px 28px!important}
.dts-logo{width:32%!important;flex-shrink:0}.dts-logo .elementor-widget-image{width:100%}.dts-logo img{width:100%}
.dts-search-widget{flex:1;min-width:0}.dts-live-search{display:flex;align-items:stretch;height:50px;width:100%;border:1px solid #d8dde3;border-radius:6px;overflow:hidden;background:white}
.dts-live-search input{min-width:0;flex:1;border:0;padding:12px;font:15px Arial}.dts-live-search button{border:0;background:#ffd400;color:#111;font-size:30px;width:62px;cursor:pointer}
.dts-account-button .elementor-button,.dts-cart-button .elementor-button{background:transparent;color:#111;padding:8px;font:18px Arial;white-space:nowrap}
.dts-editable-nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:space-between;background:#0864b5;padding:0 20px!important;gap:0!important}
.dts-editable-nav .elementor-widget-button{width:auto}.dts-editable-nav .elementor-button{background:transparent;color:white;border-radius:0;padding:18px 10px;font:16px/1.3 Arial}
.dts-editable-nav .elementor-button:hover{background:#07579d}
.dts-editable-footer{max-width:1280px;margin:auto;display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:24px!important;padding:30px 22px!important;color:white}
.dts-editable-footer h3{color:white;font:700 20px Arial;margin:0}.dts-editable-footer p{margin:4px 0;font:13px Arial}
.dts-footer-brand{width:auto!important;flex-shrink:0}.dts-editable-footer-links{width:auto!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:center;gap:12px!important}
.dts-editable-footer-links .elementor-button{background:transparent;color:white;padding:0;font:14px Arial}
.dts-footer-copyright{width:auto;white-space:nowrap}
.dts-skip-link:focus{position:fixed!important;left:10px;top:10px;width:auto;height:auto;clip:auto;padding:12px;background:#ffd400;color:#111;z-index:99999}
@media(max-width:1100px){.dts-editable-categories{grid-template-columns:repeat(4,1fr)}.dts-editable-nav .elementor-button{font-size:14px}.dts-editable-topbar>.elementor-widget-text-editor:nth-child(2){display:none}.dts-editable-header-main{gap:12px!important}}
@media(max-width:800px){.dts-editable-hero,.dts-editable-bottom{grid-template-columns:1fr;padding:8px!important;gap:8px!important}.dts-hero-button .elementor-button{font-size:clamp(10px,2.5vw,20px)}.dts-editable-topbar{flex-wrap:wrap!important;padding:10px!important;gap:10px!important}.dts-editable-header-main{flex-wrap:wrap!important;padding:14px!important}.dts-logo{width:60%!important}.dts-search-widget{order:4;flex-basis:100%}.dts-editable-nav{justify-content:flex-start;padding:0 8px!important}.dts-editable-nav .elementor-button{padding:12px 8px}.dts-editable-footer{flex-direction:column!important;text-align:center}}
@media(max-width:600px){.dts-editable-categories{grid-template-columns:repeat(2,1fr)}.dts-account-button .elementor-button,.dts-cart-button .elementor-button{font-size:14px;padding:4px}.dts-editable-header-main{gap:8px!important}}

.dts-menu-group{width:auto!important;position:relative;display:flex!important}
.dts-menu-dropdown{display:none!important;position:absolute!important;top:100%;left:0;min-width:220px;width:auto!important;background:#07579d;z-index:40;padding:6px!important;flex-direction:column!important}
.dts-menu-group:hover>.dts-menu-dropdown,.dts-menu-group:focus-within>.dts-menu-dropdown{display:flex!important}
.dts-menu-dropdown .dts-menu-dropdown{top:0;left:100%}
.dts-menu-dropdown .elementor-button{display:block;white-space:nowrap;text-align:left;padding:10px 14px}
.dts-newsletter-real{background:#ffd400;border-radius:6px;border:1px solid #dfbf00;padding:14px 22px!important;min-height:166px;gap:8px!important}
.dts-newsletter-real .elementor-heading-title{font:700 26px/1.15 Arial;color:#111}
.dts-newsletter-real p{font:14px/1.4 Arial;margin:0;color:#111}
.dts-newsletter-real .elementor-button{font:700 14px/1.2 Arial;background:#082b49;color:white;padding:10px 24px;border-radius:5px}
@media(max-width:1050px){.dts-menu-group{flex-direction:column!important}.dts-menu-dropdown{position:static!important;display:flex!important;min-width:0;padding:0!important}.dts-menu-dropdown .elementor-button{font-size:12px;padding:7px 10px}.dts-newsletter-real{padding:12px!important}.dts-newsletter-real .elementor-heading-title{font-size:22px}}

.dts-newsletter-envelope{position:absolute!important;right:10px;top:12px;width:80px!important}.dts-newsletter-real .elementor-widget-text-editor{padding-right:64px}.dts-newsletter-real .elementor-heading-title{padding-right:64px}
@media(min-width:801px) and (max-width:1200px){.dts-newsletter-envelope{width:48px!important;right:8px;top:14px}.dts-newsletter-real .elementor-heading-title,.dts-newsletter-real .elementor-widget-text-editor{padding-right:40px}}

.dts-newsletter-envelope{position:absolute!important;right:10px;top:12px;width:80px!important}.dts-newsletter-real .elementor-widget-text-editor{padding-right:64px}.dts-newsletter-real .elementor-heading-title{padding-right:64px}
@media(min-width:801px) and (max-width:1200px){.dts-newsletter-envelope{width:48px!important;right:8px;top:14px}.dts-newsletter-real .elementor-heading-title,.dts-newsletter-real .elementor-widget-text-editor{padding-right:40px}}

/* 2.0.1: prevent Elementor global-kit colors from replacing approved button colors. */
body .elementor .dts-editable-topbar .elementor-widget.elementor-widget-button a.elementor-button,
body .elementor .dts-editable-nav .elementor-widget.elementor-widget-button a.elementor-button,
body .elementor .dts-editable-footer .elementor-widget.elementor-widget-button a.elementor-button{background-color:transparent;color:#fff;box-shadow:none;border:0}
body .elementor .dts-editable-nav .elementor-widget.elementor-widget-button a.elementor-button:hover,
body .elementor .dts-editable-nav .elementor-widget.elementor-widget-button a.elementor-button:focus{background-color:#07579d;color:#fff}
body .elementor .dts-editable-header-main .elementor-widget.dts-account-button a.elementor-button,
body .elementor .dts-editable-header-main .elementor-widget.dts-cart-button a.elementor-button{background-color:transparent;color:#111;box-shadow:none;border:0}
body .elementor .dts-editable-home .elementor-widget.dts-hero-button a.elementor-button{background-color:#ffd400;color:#111;border:0;box-shadow:none}
body .elementor .dts-editable-home .elementor-widget.dts-featured-button a.elementor-button{background-color:#fff;color:#0864b5;border:0;box-shadow:none}
body .elementor .dts-editable-home .elementor-widget.dts-about-link a.elementor-button{background-color:#0864b5;color:#fff;border:0;box-shadow:none}
body .elementor .dts-editable-home .dts-newsletter-real .elementor-widget.elementor-widget-button a.elementor-button{background-color:#082b49;color:#fff;border:0;box-shadow:none}
body .elementor .dts-editable-topbar .elementor-widget.elementor-widget-text-editor{color:#fff}
body .elementor .dts-editable-footer .elementor-widget.elementor-widget-text-editor{color:#fff}
body .elementor .dts-editable-header-main{align-items:center!important}
body .elementor .dts-editable-topbar{align-items:center!important;justify-content:space-between!important}
body .elementor .dts-search-widget{flex:1 1 0!important;width:auto!important}
body .elementor .dts-editable-header-main .dts-account-button,
body .elementor .dts-editable-header-main .dts-cart-button{flex:0 0 auto!important;width:auto!important}
body .elementor .dts-editable-nav{justify-content:space-between!important}
body .elementor .dts-editable-nav .elementor-widget-button,
body .elementor .dts-utility-links .elementor-widget-button,
body .elementor .dts-editable-footer-links .elementor-widget-button{width:auto!important;flex:0 0 auto!important}
body .elementor .dts-editable-home .elementor-widget.dts-hero-button{left:3.9%;top:73.5%;width:20%!important}
@media(max-width:800px){body .elementor .dts-search-widget{flex:1 1 100%!important;width:100%!important}body .elementor .dts-editable-nav{justify-content:flex-start!important}}

/* 2.0.3: correct the shipping wording on already-created Elementor cards. */
body .elementor .dts-benefit-card:first-child{container-type:inline-size;position:relative}
body .elementor .dts-benefit-card:first-child::after{content:"Free U.S. Shipping";position:absolute;left:27.5%;top:17%;width:70%;height:36%;background:#efefef;color:#111;font-family:Arial,Helvetica,sans-serif;font-size:4.35cqw;font-weight:700;line-height:1.3;display:flex;align-items:center;pointer-events:none;z-index:2}

/* Working newsletter form, including existing Elementor homepages. */
.dts-newsletter-form{width:100%;line-height:1.4;margin-top:8px}
.dts-newsletter-fields{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.dts-newsletter-fields input[type=email]{flex:1 1 140px;min-width:0;width:100%;padding:11px 10px;border:1px solid #9a8200;border-radius:5px;background:#fff;color:#111;font:14px/1.3 Arial}
.dts-newsletter-fields button{flex:0 1 auto;padding:11px 14px;border:0;border-radius:5px;background:#082b49;color:#fff;font:700 14px/1.3 Arial;cursor:pointer}
.dts-newsletter-fields input:focus-visible,.dts-newsletter-fields button:focus-visible{outline:3px solid #0073aa;outline-offset:2px}
.dts-newsletter-real .dts-newsletter-form p{padding:0!important;margin:8px 0 0;font:12px/1.4 Arial}
.dts-newsletter-real .elementor-widget-button,.dts-newsletter-real .elementor-widget-shortcode{width:100%}
.dts-newsletter-envelope{pointer-events:none}

.dts-signup-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
