/*
Theme Name: Atalso Diamond
Theme URI: https://atalsosawblade.com.au
Author: Atalso Diamond Saw Blades
Description: A fast, modern, mobile-first WooCommerce ready theme for Atalso Diamond Saw Blades. Fully manageable via the WordPress Customizer (colors, fonts, top bar, hero, why choose us, testimonials).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: atalso
*/

/* -----------------------------------------------------------
   0. CSS variables (overridden inline by Customizer values)
----------------------------------------------------------- */
:root{
	--color-primary:#020d45;
	--color-secondary:#8e6633;
	--color-black:#000000;
	--color-white:#ffffff;
	--color-light-bg:#f5f6fa;
	--font-heading:'Playfair Display', serif;
	--font-body:'Roboto', sans-serif;
	--header-height:76px;
	--topbar-height:38px;
	--container-w:1310px;
	--radius-sm:8px;
	--radius-md:14px;
	--radius-lg:22px;
	--shadow-sm:0 2px 10px rgba(2,13,69,.06);
	--shadow-md:0 12px 28px rgba(2,13,69,.12);
	--shadow-lg:0 24px 48px rgba(2,13,69,.16);
}

/* -----------------------------------------------------------
   1. Reset / base
----------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--font-body);
	color:#222;
	background:var(--color-white);
	line-height:1.6;
	font-size:16px;
	overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2;margin:0 0 .6em;color:var(--color-primary);}
h1{font-size:clamp(2rem,5vw,3.4rem);}
h2{font-size:clamp(1.9rem,4.2vw,2.75rem);}
p{margin:0 0 1em;}
button,input,textarea,select{font-family:inherit;font-size:inherit;}
.container{width:100%;max-width:var(--container-w);margin:0 auto;padding:0 20px;}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);word-wrap:normal!important;height:1px;width:1px;overflow:hidden;}
img.lazyload,[data-bg].lazyload{opacity:0;transition:opacity .4s ease;}
img.lazyloaded,[data-bg].lazyloaded{opacity:1;}

/* -----------------------------------------------------------
   2. Buttons
----------------------------------------------------------- */
.btn{
	display:inline-block;
	background:var(--color-secondary);
	color:var(--color-white);
	padding:14px 34px;
	border-radius:50px;
	font-weight:600;
	letter-spacing:.03em;
	border:2px solid var(--color-secondary);
	box-shadow:var(--shadow-sm);
	transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.btn:hover{background:transparent;color:var(--color-secondary);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.btn-outline{
	background:transparent;
	color:var(--color-white);
	border:2px solid var(--color-white);
}
.btn-outline:hover{background:var(--color-white);color:var(--color-primary);}

/* -----------------------------------------------------------
   3. Top bar
----------------------------------------------------------- */
.site-header-wrap{position:relative;z-index:40;}
.top-bar{
	background:var(--color-black);
	color:var(--color-white);
	font-size:13px;
	position:relative;
	z-index:2;
}
.top-bar .container{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	min-height:var(--topbar-height);
	padding-top:6px;
	padding-bottom:6px;
	gap:8px;
}
.top-bar .social-links{display:flex;gap:12px;align-items:center;}
.top-bar .social-links a{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--color-white);opacity:.85;}
.top-bar .social-links a:hover{opacity:1;color:var(--color-secondary);}
.top-bar .social-links svg{width:16px;height:16px;fill:currentColor;}
.top-bar .contact-details{display:flex;gap:20px;flex-wrap:wrap;align-items:center;}
.top-bar .contact-details a{display:inline-flex;align-items:center;gap:6px;color:var(--color-white);}
.top-bar .contact-details a:hover{color:var(--color-secondary);}
.top-bar .contact-details svg{width:14px;height:14px;flex-shrink:0;fill:currentColor;}
.top-bar .top-bar-right{display:flex;align-items:center;gap:16px;}

/* -----------------------------------------------------------
   4. Site header / navigation
----------------------------------------------------------- */
.site-header{
	position:relative;
	z-index:2;
	background:var(--color-primary);
	transition:background .3s ease;
}
.home .site-header-wrap{
	position:absolute;
	top:0;left:0;right:0;
}
.home .top-bar,
.home .site-header{background:transparent;}
.home .site-header-wrap::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	pointer-events:none;
}
.header-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:var(--header-height);
	padding:10px 0;
}
.site-branding{display:flex;align-items:center;gap:10px;}
.site-branding img{
	width:100px;height:100px;object-fit:contain;background:var(--color-white);border-radius:var(--radius-sm);padding:6px;box-shadow:var(--shadow-sm);
}
.site-branding .site-title{
	color:var(--color-white);
	font-size:1.15rem;
	margin:0;
	font-weight:700;
}
.site-branding .site-title a{color:var(--color-white);}

/* primary nav - desktop */
.primary-nav{display:none;}
.primary-nav ul{display:flex;gap:6px;}
.primary-nav a{
	color:var(--color-white);
	padding:10px 16px;
	display:inline-block;
	font-weight:600;
	border-radius:4px;
	transition:background .2s ease,color .2s ease;
}
.primary-nav a:hover,.primary-nav .current-menu-item>a{
	background:var(--color-secondary);
	color:var(--color-white);
}

/* hamburger */
.menu-toggle{
	display:inline-flex;
	flex-direction:column;
	justify-content:center;
	gap:5px;
	width:42px;height:42px;
	background:transparent;
	border:0;
	cursor:pointer;
	z-index:60;
}
.menu-toggle span{
	display:block;width:26px;height:2px;background:var(--color-white);
	transition:transform .25s ease,opacity .25s ease;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* mobile slide-in menu */
.mobile-nav{
	position:fixed;
	top:0;right:0;
	width:82%;max-width:320px;height:100%;
	background:var(--color-primary);
	transform:translateX(100%);
	transition:transform .3s ease;
	z-index:55;
	overflow-y:auto;
	padding:80px 24px 40px;
	box-shadow:-4px 0 18px rgba(0,0,0,.25);
}
.mobile-nav.is-open{transform:translateX(0);}
.mobile-nav ul{display:flex;flex-direction:column;gap:4px;}
.mobile-nav a{
	color:var(--color-white);
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px 6px;
	border-bottom:1px solid rgba(255,255,255,.12);
	font-weight:600;
}
.mobile-nav a svg{width:20px;height:20px;fill:currentColor;flex-shrink:0;}
.nav-overlay{
	position:fixed;inset:0;background:rgba(0,0,0,.5);
	opacity:0;visibility:hidden;transition:opacity .3s ease;z-index:50;
}
.nav-overlay.is-visible{opacity:1;visibility:visible;}
body.nav-open{overflow:hidden;}

/* -----------------------------------------------------------
   5. Hero banner (front page)
----------------------------------------------------------- */
.hero-banner{
	position:relative;
	min-height:98vh;
	display:flex;
	align-items:center;
	overflow:hidden;
	background-color:var(--color-primary);
	background-size:cover;
	background-position:center;
	color:var(--color-white);
}
.hero-banner .hero-video{
	position:absolute;inset:0;
	width:100%;height:100%;
	object-fit:cover;
	z-index:0;
}
.hero-banner .hero-overlay{
	position:absolute;inset:0;z-index:1;
	background:linear-gradient(135deg,rgba(2,13,69,.9) 0%,rgba(2,13,69,.68) 55%,rgba(2,13,69,.45) 100%);
}
.hero-banner .hero-content{
	position:relative;z-index:2;
	max-width:100%;
	margin:0 auto;
	text-align:center;
	padding-top:calc(var(--header-height) + var(--topbar-height) + 30px);
}
.hero-banner h1{color:var(--color-white);font-size:clamp(1.9rem,5vw,2.9rem);margin-bottom:.5em;}
.hero-banner .hero-sub{font-size:1.50rem;max-width:800px;margin:0 auto 2em;}
.hero-highlights{
	display:grid;grid-template-columns:1fr;gap:16px;max-width:900px;margin:0 auto 2em;
}
.hero-highlight-box{
	display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);
	padding:16px 18px;text-align:left;backdrop-filter:blur(2px);
}
.hero-highlight-icon{
	width:44px;height:44px;border-radius:50%;background:var(--color-secondary);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hero-highlight-icon svg{width:22px;height:22px;fill:currentColor;}
.hero-highlight-box p{color:var(--color-white);font-weight:600;margin:0;font-size:.95rem;}
@media (min-width:768px){
	.hero-highlights{grid-template-columns:repeat(3,1fr);}
}

/* -----------------------------------------------------------
   6. Section spacing / headings
----------------------------------------------------------- */
.section{padding:clamp(50px,8vw,96px) 0;}
.section-alt{background:var(--color-light-bg);}
.section-title{text-align:center;margin-bottom:14px;position:relative;}
.section-title::after{
	content:"";display:block;width:70px;height:3px;margin:.5em auto 0;
	background:var(--color-secondary);border-radius:2px;
}
.section-lead{text-align:center;max-width:720px;margin:0 auto 40px;color:#555;}

/* -----------------------------------------------------------
   7. Our products
----------------------------------------------------------- */
.products-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:28px;
}
.product-card{
	background:var(--color-white);
	border:1px solid #eef0f6;
	border-radius:var(--radius-md);
	overflow:hidden;
	box-shadow:var(--shadow-sm);
	transition:box-shadow .3s ease,transform .3s ease;
	display:flex;flex-direction:column;
}
.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);}
.product-card .product-thumb{
	aspect-ratio:1/1;background:var(--color-light-bg);overflow:hidden;
}
.product-card .product-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.product-card:hover .product-thumb img{transform:scale(1.06);}
.product-card .product-body{padding:22px 20px 24px;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.product-card h3{font-size:1.2rem;font-weight:700;margin-bottom:.35em;}
.product-card h3 a{color:var(--color-primary);}
.product-card .price{color:var(--color-secondary);font-weight:600;font-size:.95rem;margin-bottom:1em;}
.product-card .btn{margin-top:auto;text-align:center;padding:10px 22px;font-size:.85rem;}
.products-cta{text-align:center;margin-top:36px;}

/* -----------------------------------------------------------
   8. Why choose us
----------------------------------------------------------- */
.why-choose{max-width:1000px;margin:0 auto;text-align:center;}
.why-choose-gradient{
	background:linear-gradient(135deg,#cfe4ff 0%,#e3d6fb 100%);
}
.why-choose-header{
	display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:38px;
}
.why-choose .au-badge{
	display:inline-flex;align-items:center;gap:8px;color:var(--color-primary);font-weight:600;
	font-size:13px;background:var(--color-white);padding:8px 16px;border-radius:999px;box-shadow:var(--shadow-sm);
}
.why-choose .au-badge svg{width:22px;height:15px;border-radius:2px;flex-shrink:0;}
.why-choose .why-points{
	display:grid;grid-template-columns:1fr;gap:22px;text-align:center;margin-bottom:8px;
}
.why-choose .why-point{
	background:var(--color-white);padding:32px 24px;border-radius:var(--radius-md);
	box-shadow:var(--shadow-sm);transition:box-shadow .3s ease,transform .3s ease;
}
.why-choose .why-point:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);}
.why-choose .why-point-icon{
	width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
}
.why-choose .why-point-icon svg{width:26px;height:26px;}
.why-choose .why-point h4{margin-bottom:.4em;color:var(--color-primary);}
.why-choose .why-point p{color:#555;margin:0;}
.why-choose .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;justify-content:center;}
.why-choose .btn-secondary-outline{
	background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);
}
.why-choose .btn-secondary-outline:hover{background:var(--color-primary);color:var(--color-white);}
@media (min-width:660px){
	.why-choose .why-points{grid-template-columns:1fr 1fr;}
}
@media (min-width:980px){
	.why-choose .why-points{grid-template-columns:repeat(4,1fr);}
}

/* -----------------------------------------------------------
   9. Testimonials
----------------------------------------------------------- */
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:26px;}
.testimonial-card{
	position:relative;
	background:var(--color-white);
	padding:36px 28px 28px;
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-sm);
	transition:box-shadow .3s ease,transform .3s ease;
	display:flex;flex-direction:column;
}
.testimonial-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);}
.testimonial-card .quote-icon{
	width:40px;height:40px;border-radius:50%;
	background:var(--color-primary);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;
	margin-bottom:14px;
}
.testimonial-card .quote-icon svg{width:18px;height:18px;fill:currentColor;}
.testimonial-card .stars{color:var(--color-secondary);margin-bottom:.6em;letter-spacing:2px;}
.testimonial-card p.text{font-style:italic;color:#555;flex:1;}
.testimonial-card .testimonial-footer{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #f0f0f0;}
.testimonial-card .avatar{
	width:40px;height:40px;border-radius:50%;flex-shrink:0;
	background:var(--color-secondary);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;
	font-family:var(--font-heading);font-weight:700;
}
.testimonial-card .author{font-weight:700;letter-spacing:.3px;margin:0;color:var(--color-primary);}
.testimonial-card .product-name{font-weight:400;color:#777;}

.ebay-feedback-highlight{
	display:flex;flex-wrap:wrap;align-items:center;gap:18px;
	margin-top:30px;padding:22px 26px;border-radius:var(--radius-md);
	background:linear-gradient(135deg,#fff6ea 0%,#fdeeda 100%);
	border:1px solid rgba(142,102,51,.25);
}
.ebay-feedback-badge{
	width:44px;height:44px;border-radius:50%;flex-shrink:0;
	background:#0064d2;color:var(--color-white);font-weight:700;font-size:1.1rem;
	display:flex;align-items:center;justify-content:center;
}
.ebay-feedback-body{flex:1;min-width:200px;}
.ebay-feedback-stats{margin:0 0 .2em;color:var(--color-primary);}
.ebay-feedback-desc{margin:0;color:#666;font-size:.9rem;}
.ebay-feedback-link{
	white-space:nowrap;font-weight:600;color:#0064d2;padding:10px 18px;
	border:2px solid #0064d2;border-radius:var(--radius-sm);transition:background .2s ease,color .2s ease;
}
.ebay-feedback-link:hover{background:#0064d2;color:var(--color-white);}

/* -----------------------------------------------------------
   10. Services CTA band
----------------------------------------------------------- */
.services-band{
	background:linear-gradient(160deg,var(--color-primary) 0%,#050f52 100%);
	color:var(--color-white);
	text-align:center;
}
.services-band h2{color:var(--color-white);}
.services-band h2::after{background:var(--color-secondary);}
.services-band p{max-width:720px;margin:0 auto 1.4em;opacity:.9;}
.services-band .service-points{
	display:grid;grid-template-columns:1fr;gap:20px;margin:32px 0;text-align:center;
}
.services-band .service-points div{
	background:rgba(255,255,255,.06);padding:28px 20px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);
	transition:background .3s ease,transform .3s ease;
}
.services-band .service-points div:hover{background:rgba(255,255,255,.12);transform:translateY(-4px);}
.services-band .service-points svg{
	width:48px;height:48px;color:var(--color-secondary);margin:0 auto 14px;display:block;
}
.services-band .service-points h4{color:var(--color-white);margin-bottom:.4em;}
.services-band .service-points p{color:rgba(255,255,255,.8);margin:0;}

/* -----------------------------------------------------------
   11. Footer (no logo)
----------------------------------------------------------- */
.site-footer{background:var(--color-black);color:rgba(255,255,255,.75);padding:44px 0 18px;font-size:.9rem;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:28px;}
.footer-col h3{color:var(--color-white);font-size:1.05rem;margin-bottom:.7em;font-family:var(--font-heading);}
.footer-col p{margin-bottom:.8em;color:rgba(255,255,255,.65);}
.footer-grid a{color:rgba(255,255,255,.7);line-height:1.9;}
.footer-grid a:hover{color:var(--color-secondary);}
.footer-grid ul{display:flex;flex-direction:column;}
.footer-grid .contact-details{display:flex;flex-direction:column;gap:8px;}
.site-footer .social-links{display:flex;gap:12px;margin-top:10px;}
.site-footer .social-links a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;}
.site-footer .social-links a:hover{background:var(--color-secondary);}
.site-footer .social-links svg{width:15px;height:15px;fill:currentColor;}
.footer-bottom{
	border-top:1px solid rgba(255,255,255,.12);
	padding-top:16px;
	text-align:center;
	color:rgba(255,255,255,.5);
	font-size:.8rem;
}

/* -----------------------------------------------------------
   12. Inner pages (about / contact / services / testimonials)
----------------------------------------------------------- */
.page-banner{background:var(--color-primary);color:var(--color-white);padding:50px 0;text-align:center;}
.page-banner h1{color:var(--color-white);margin:0;}
.content-block{background:var(--color-white);padding:30px;border:1px solid #eee;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,.05);}
.form-group{margin-bottom:18px;}
.form-group label{display:block;margin-bottom:6px;font-weight:700;}
.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;}
.form-group textarea{height:120px;resize:vertical;}
.form-message{padding:14px 18px;border-radius:4px;margin-bottom:20px;font-weight:600;}
.form-message.success{background:#e5f7ea;color:#1e7e34;border:1px solid #b3e6c0;}
.form-message.error{background:#fdeaea;color:#a12626;border:1px solid #f3b9b9;}

/* -- About Us -- */
.about-intro{max-width:820px;margin:0 auto 40px;text-align:center;}
.about-intro .lead{font-size:1.1rem;color:var(--color-primary);}
.about-intro p{line-height:1.8;color:#444;margin-bottom:1.1em;}
.about-stats{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:40px;}
.about-stat{
	background:var(--color-white);padding:30px 22px;border-radius:var(--radius-md);text-align:center;
	box-shadow:var(--shadow-sm);transition:box-shadow .3s ease,transform .3s ease;
}
.about-stat:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);}
.about-stat-icon{
	width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
}
.about-stat-icon svg{width:26px;height:26px;}
.about-stat h4{margin-bottom:.4em;color:var(--color-primary);}
.about-stat p{color:#555;margin:0;}
.about-section .cta-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.about-section .btn-secondary-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);}
.about-section .btn-secondary-outline:hover{background:var(--color-primary);color:var(--color-white);}

/* -- Services & Distribution -- */
.services-grid-modern{display:grid;grid-template-columns:1fr;gap:26px;margin-bottom:26px;}
.service-feature-card{
	background:var(--color-white);padding:32px 26px;border-radius:var(--radius-md);
	box-shadow:var(--shadow-sm);transition:box-shadow .3s ease,transform .3s ease;
}
.service-feature-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);}
.service-feature-icon{
	width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.service-feature-icon svg{width:26px;height:26px;}
.service-feature-card h3{color:var(--color-primary);margin-bottom:.6em;}
.service-feature-card p{color:#555;line-height:1.7;margin-bottom:1em;}
.region-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.region-chips span{
	background:var(--color-light-bg);color:var(--color-primary);font-weight:600;font-size:.85rem;
	padding:8px 16px;border-radius:999px;
}
.services-ops-band{
	display:grid;grid-template-columns:1fr;gap:18px;
	background:linear-gradient(160deg,var(--color-primary) 0%,#050f52 100%);
	border-radius:var(--radius-md);padding:30px 26px;
}
.ops-item{display:flex;align-items:center;gap:16px;}
.ops-item-icon{
	width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.ops-item-icon svg{width:22px;height:22px;}
.ops-item h4{color:var(--color-white);margin-bottom:.2em;}
.ops-item p{color:rgba(255,255,255,.8);margin:0;}

/* -- Contact Us -- */
.contact-section-modern{display:grid;grid-template-columns:1fr;gap:30px;align-items:start;}
.contact-info-modern{
	background:var(--color-primary);color:var(--color-white);padding:34px 28px;border-radius:var(--radius-md);
}
.contact-info-modern h2{color:var(--color-white);}
.contact-info-modern .lead{color:rgba(255,255,255,.85);margin-bottom:26px;}
.contact-info-row{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:22px;}
.contact-info-item{display:flex;align-items:flex-start;gap:14px;flex:1 1 200px;}
.contact-info-icon{
	width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.14);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-info-icon svg{width:20px;height:20px;fill:currentColor;}
.contact-info-item h4{color:var(--color-white);margin-bottom:.2em;font-size:.95rem;}
.contact-info-item p{color:rgba(255,255,255,.85);margin:0;}
.contact-info-item a{color:var(--color-white);text-decoration:underline;}
.contact-form-modern{background:var(--color-white);padding:34px 28px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);}
.contact-form-modern .form-row{display:grid;grid-template-columns:1fr;gap:0 16px;}

/* -----------------------------------------------------------
   13. Responsive breakpoints (mobile-first)
----------------------------------------------------------- */
@media (min-width:600px){
	.why-choose .cta-row{flex-wrap:nowrap;}
	.products-grid{grid-template-columns:repeat(2,1fr);}
	.testimonials-grid{grid-template-columns:repeat(2,1fr);}
	.services-band .service-points{grid-template-columns:repeat(2,1fr);}
	.about-stats{grid-template-columns:repeat(2,1fr);}
	.services-grid-modern{grid-template-columns:repeat(2,1fr);}
	.services-ops-band{grid-template-columns:repeat(2,1fr);}
	.contact-form-modern .form-row{grid-template-columns:1fr 1fr;}
	.footer-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:880px){
	.menu-toggle{display:none;}
	.primary-nav{display:block;}
	.mobile-nav,.nav-overlay{display:none;}
	.why-choose{grid-template-columns:1.1fr .9fr;}
	.why-choose .why-heading{text-align:left;}
	.why-choose .why-heading::after{margin-left:0;}
	.testimonials-grid{grid-template-columns:repeat(3,1fr);}
	.site-branding img{width:150px;height:120px; margin-top:-15px}
}
@media (min-width:1024px){
	.products-grid{grid-template-columns:repeat(4,1fr);}
	.services-band .service-points{grid-template-columns:repeat(4,1fr);}
}

/* -----------------------------------------------------------
   14. Scroll-in reveal animations (progressive enhancement)
----------------------------------------------------------- */
.js-animations .reveal{
	opacity:0;
	transform:translateY(32px);
	transition:opacity .7s ease, transform .7s ease;
}
.js-animations .reveal.is-visible{opacity:1;transform:none;}
.js-animations .products-grid .product-card:nth-child(2),
.js-animations .testimonials-grid .testimonial-card:nth-child(2){transition-delay:.1s;}
.js-animations .products-grid .product-card:nth-child(3),
.js-animations .testimonials-grid .testimonial-card:nth-child(3){transition-delay:.2s;}
.js-animations .products-grid .product-card:nth-child(4){transition-delay:.3s;}
.js-animations .products-grid .product-card:nth-child(n+5){transition-delay:.35s;}
@media (prefers-reduced-motion: reduce){
	.js-animations .reveal{opacity:1;transform:none;transition:none;}
}

/* -----------------------------------------------------------
   15. Products shortcodes (carousel, list, spec table, order modal)
----------------------------------------------------------- */
.product-card .btn-ebay{background:#0064d2;border-color:#0064d2;}
.product-card .btn-ebay:hover{background:transparent;color:#0064d2;}

.products-carousel-wrap{position:relative;}
.products-carousel{display:flex;align-items:center;gap:10px;}
.carousel-track{
	display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
	scroll-behavior:smooth;padding:6px 2px 16px;flex:1;
	scrollbar-width:none;-ms-overflow-style:none;
}
.carousel-track::-webkit-scrollbar{display:none;height:0;}
.carousel-slide{flex:0 0 240px;scroll-snap-align:start;}
.carousel-slide .product-card{height:100%;}
.carousel-btn{
	flex-shrink:0;width:42px;height:42px;border-radius:50%;border:2px solid var(--color-secondary);
	background:var(--color-white);color:var(--color-secondary);font-size:1.1rem;cursor:pointer;
	display:none;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease;
}
.carousel-btn:hover{background:var(--color-secondary);color:var(--color-white);}
@media (min-width:660px){
	.carousel-btn{display:flex;}
	.carousel-slide{flex-basis:270px;}
}

.products-list{display:grid;grid-template-columns:1fr;gap:28px;}
.product-list-card{
	background:var(--color-white);border:1px solid #eef0f6;border-radius:var(--radius-md);
	box-shadow:var(--shadow-sm);padding:24px;display:grid;grid-template-columns:1fr;gap:20px;
}
.product-list-card .product-list-thumb{aspect-ratio:1/1;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-light-bg);}
.product-list-card .product-list-thumb img{width:100%;height:100%;object-fit:cover;}
.product-list-card h3{margin-bottom:.3em;}
.spec-table{width:100%;border-collapse:collapse;margin:14px 0;}
.spec-table th,.spec-table td{border:1px solid #eef0f6;padding:10px 12px;text-align:left;font-size:.92rem;}
.spec-table th{background:var(--color-light-bg);width:32%;color:var(--color-primary);}
@media (min-width:700px){
	.product-list-card{grid-template-columns:240px 1fr;align-items:start;}
}

.order-modal{position:fixed;inset:0;z-index:200;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s ease;}
.order-modal.is-open{visibility:visible;opacity:1;}
.order-modal-overlay{position:absolute;inset:0;background:rgba(2,13,69,.6);}
.order-modal-dialog{
	position:relative;max-width:420px;margin:6vh auto;background:var(--color-white);
	border-radius:var(--radius-lg);padding:26px 24px 22px;max-height:88vh;overflow-y:auto;
	transform:translateY(-16px);transition:transform .25s ease;box-shadow:var(--shadow-lg);
}
.order-modal.is-open .order-modal-dialog{transform:translateY(0);}
.order-modal-close{
	position:absolute;top:14px;right:16px;background:transparent;border:0;font-size:1.6rem;
	line-height:1;cursor:pointer;color:#888;
}
.order-modal-close:hover{color:var(--color-primary);}
body.modal-open{overflow:hidden;}

.order-modal-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-right:24px;}
.order-modal-head-icon{
	width:44px;height:44px;border-radius:50%;flex-shrink:0;background:var(--color-primary);color:var(--color-white);
	display:flex;align-items:center;justify-content:center;
}
.order-modal-head-icon svg{width:22px;height:22px;fill:currentColor;}
.order-modal-head h3{margin:0 0 .2em;font-size:1.15rem;}
.order-modal-product-name{margin:0;color:var(--color-secondary);font-weight:600;font-size:.9rem;}
.order-modal-dialog .form-row{display:grid;grid-template-columns:1fr;gap:0 14px;}
@media (min-width:420px){
	.order-modal-dialog .form-row{grid-template-columns:1fr 1fr;}
}
.order-modal-dialog .form-group{margin-bottom:14px;}
.order-modal-dialog .form-group label{font-size:.82rem;font-weight:600;color:var(--color-primary);margin-bottom:4px;}
.order-modal-dialog .form-group input,
.order-modal-dialog .form-group textarea{
	padding:10px 12px;border:1px solid #ddd;border-radius:var(--radius-sm);font-size:.92rem;
	transition:border-color .2s ease,box-shadow .2s ease;
}
.order-modal-dialog .form-group textarea{height:64px;resize:vertical;}
.order-modal-dialog .form-group input:focus,
.order-modal-dialog .form-group textarea:focus{
	outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(142,102,51,.15);
}
