
*,
*::before,
*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:Arial,Helvetica,sans-serif;line-height:1.5;color:#222;background:#f4f4f4;}
a{color:#f26c21;text-decoration:none;}
a:hover{text-decoration:underline;}

.site-header{box-shadow:0 2px 4px rgba(0,0,0,.15);background:#fff;}
.top-band{background:linear-gradient(#d3d3d3,#7a7a7a);color:#222;display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.5rem;font-size:1rem;}
.top-band a{color:#222;font-weight:bold;}
.top-center{font-size:1.4rem;font-weight:bold;}
.stihl-box{background:#f26c21;color:#fff;padding:.2rem .8rem;font-weight:bold;border-radius:2px;box-shadow:0 2px 0 rgba(0,0,0,.25);}

.tick-bar{background:#333;color:#fff;text-align:center;padding:.4rem .5rem;font-size:.9rem;}
.tick-bar span{margin:0 .7rem;}

.nav-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.5rem 1.5rem;background:#eee;border-top:1px solid #ccc;}

.logo-text{font-weight:bold;font-size:1.2rem;}
.main-nav ul{list-style:none;display:flex;gap:.9rem;font-size:.9rem;}
.main-nav a{color:#333;font-weight:bold;padding:.25rem .5rem;}
.main-nav a:hover{background:#f26c21;color:#fff;border-radius:2px;}
.nav-toggle{display:none;background:none;border:none;font-size:1.4rem;}

.hero-slider{position:relative;overflow:hidden;background:#000;}
.hero-slide{min-height:420px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:flex-start;}
.hero-content{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.7);}
.hero-content h1,.hero-content h2{font-size:2.4rem;margin-bottom:.75rem;}
.hero-content p{max-width:520px;margin-bottom:1.3rem;}
.btn-primary,.btn-secondary{display:inline-block;padding:.7rem 1.4rem;border-radius:3px;font-weight:bold;}
.btn-primary{background:#f26c21;color:#fff;}
.btn-secondary{background:#fff;color:#f26c21;}

.hero-dots{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:.4rem;}
.hero-dot{width:10px;height:10px;border-radius:50%;border:1px solid #fff;background:rgba(255,255,255,.3);cursor:pointer;}
.hero-dot.active{background:#fff;}

main{min-height:60vh;}
.intro{background:#fff;margin:1.5rem auto 0;max-width:1200px;box-shadow:0 1px 3px rgba(0,0,0,.12);}
.intro-inner{padding:1.5rem;}
.intro h2{margin-bottom:.5rem;}

.book-service{max-width:1200px;margin:1.5rem auto 2rem;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);}
.book-inner{display:flex;gap:1.5rem;padding:1.5rem;flex-wrap:wrap;align-items:flex-start;}
.book-inner ul{margin-left:1.2rem;margin-top:.5rem;}
.book-cta{display:flex;align-items:center;}

.page{max-width:1200px;margin:1.5rem auto 2.5rem;background:#fff;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.12);}
.page h1{margin-bottom:1rem;}
.page p{margin-bottom:1rem;}

.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;margin-top:1rem;}
.product-card{border:1px solid #ddd;border-radius:3px;overflow:hidden;background:#fafafa;}
.product-card img{width:100%;display:block;}
.product-card h3{padding:.6rem .8rem .3rem;}
.product-card p{padding:0 .8rem 1rem;}

.service-options{margin-top:1rem;}
.service-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:.75rem;}
.service-cards article{border:1px solid #ddd;border-radius:3px;padding:.8rem;background:#fafafa;}

.service-form{margin-top:1.5rem;}
.service-form form{display:flex;flex-direction:column;gap:.8rem;}
.form-row{display:flex;gap:1rem;flex-wrap:wrap;}
.service-form input,
.service-form select,
.service-form textarea,
.contact-form-wrapper input,
.contact-form-wrapper textarea{width:100%;padding:.55rem;border:1px solid #ccc;border-radius:3px;}

.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem;}
.video-item iframe{width:100%;height:220px;border:0;}

.story h2{margin-bottom:.5rem;}

.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1.5rem;margin-bottom:1.5rem;}
.contact-form-wrapper form{display:flex;flex-direction:column;gap:.8rem;}

.map-section h2{margin-bottom:.5rem;}
.map-embed iframe{width:100%;height:320px;border:0;border-radius:3px;margin-top:.3rem;}

.site-footer{background:#222;color:#eee;margin-top:2rem;}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;padding:1.5rem;}
.footer-inner h4{margin-bottom:.4rem;}
.footer-bottom{text-align:center;border-top:1px solid #444;padding:.7rem;font-size:.85rem;}

@media(max-width:880px){
  .top-band{flex-direction:column;gap:.25rem;text-align:center;}
  .nav-bar{flex-direction:column;align-items:flex-start;gap:.5rem;}
  .main-nav ul{flex-direction:column;align-items:flex-start;background:#eee;padding:.5rem 0;display:none;}
  .main-nav ul.open{display:flex;}
  .nav-toggle{display:block;}
  .hero-content h1,.hero-content h2{font-size:2rem;}
  .contact-layout{grid-template-columns:1fr;}
}

/* --- NAV CENTER FIX --- */
.nav-bar nav{justify-self:center;width:100%;}
.nav-bar nav ul{justify-content:center;gap:2rem;}
.logo-text{justify-self:start;}
.nav-toggle{justify-self:end;}

/* --- TOP BRANDING ENHANCEMENTS --- */
.top-center{
  font-size: 2.2rem;
  font-weight: 800;
  font-style: italic;
  color: #333;
  text-align: center;
}
.stihl-box{
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: 1px;
  padding: .7rem 1.4rem;
  background: #ff6a00;
  color: #fff;
  border-radius: 2px;
  box-shadow: 0 4px 0 rgba(0,0,0,0.85), 0 10px 18px rgba(0,0,0,0.35);
}

/* --- HERO TEXT ABOVE SLIDER --- */
.hero-text-above {
  background:#f7f7f7;
  padding:3rem 1.5rem;
  text-align:center;
}

.hero-text-inner {
  max-width:900px;
  margin:0 auto;
}

.hero-text-inner h1 {
  font-size:2.4rem;
}

.hero-text-inner p {
  font-size:1.1rem;
  margin-bottom:1.5rem;
}

/* --- HERO COMPRESSION + IMAGE HEIGHT --- */

/* Compact text strip like Mildura */
.hero-text-above {
  padding: 1.2rem 1.5rem;
  background: #f1f1f1;
}

.hero-text-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.hero-text-inner h1 {
  font-size: 1.9rem;
  margin-bottom: .4rem;
}

.hero-text-inner p {
  font-size: 1rem;
  margin-bottom: .6rem;
}

/* Taller slider images */
.hero-slider {
  height: 520px;
}

.hero-slide {
  min-height: 520px;
}

/* --- FINAL HERO CLEANUP --- */

/* Grey shaded strip for headline readability */
.hero-text-above {
  background: #e9e9e9;
  border-top: 1px solid #d0d0d0;
  border-bottom: 1px solid #d0d0d0;
}

/* Ensure hero slides are clean images only */
.hero-slide {
  display: flex;
  align-items: stretch;
}

/* --- HERO IMAGE ONLY, TALLER --- */
.hero-slider {
  height: 620px;
}

.hero-slide {
  min-height: 620px;
}

/* --- HERO VISIBILITY IMPROVEMENT --- */
.hero-slider {
  margin-bottom: 3rem; /* creates breathing room before content */
}

/* --- FLOATING SALE BUTTON --- */
.sale-float {
  position: fixed;
  bottom: 20px;
  left: 20px;
  background: #ff6a00;
  color: #fff;
  font-weight: 800;
  padding: 0.9rem 1.3rem;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  z-index: 9999;
  text-decoration: none;
}

.sale-float:hover {
  background: #e65f00;
}

/* --- SALE BUTTON ENHANCEMENTS --- */
.sale-float {
  font-size: 1.1rem;
  padding: 1.1rem 1.6rem;
  animation: saleWobble 0.8s ease-out;
}

@keyframes saleWobble {
  0%   { transform: rotate(0deg) scale(1); }
  20%  { transform: rotate(-3deg) scale(1.05); }
  40%  { transform: rotate(3deg) scale(1.05); }
  60%  { transform: rotate(-2deg); }
  80%  { transform: rotate(2deg); }
  100% { transform: rotate(0deg); }
}

/* --- JM SALES HEADER EMPHASIS --- */
.top-center, .top-band .title, .stihl-title, .site-title, .brand-title {
  font-size: 2.6rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

/* HERO BANNER HEIGHT + SPACING FIX */
.hero,
.banner,
.hero-slider,
.slider {
  min-height: 65vh;
}

.hero + section,
.banner + section,
.hero-slider + section {
  margin-top: 60px;
}




.fb-icon {
  background: #2f4a8f;
  color: #fff;
  font-weight: 900;
  font-size: 26px;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

.fb-text small {
  font-size: 12px;
  display: block;
}

.fb-text strong {
  font-size: 20px;
  line-height: 1;
}


.fb-logo {
  background: #3b5998;
  color: #fff;
  font-weight: 900;
  font-size: 28px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  margin-right: 10px;
  font-family: Arial, Helvetica, sans-serif;
}

.fb-copy {
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif;
}

.fb-small {
  display: block;
  font-size: 12px;
  color: #3b5998;
  font-weight: 700;
}

.fb-big {
  display: block;
  font-size: 22px;
  color: #3b5998;
  font-weight: 900;
  text-transform: lowercase;
}

/* Floating Facebook badge */
.fb-badge{
  position: fixed;
  right: 18px;
  bottom: 90px; /* sits above On Sale Now */
  z-index: 9999;
  display: block;
  width: 230px;
  max-width: 60vw;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,0.25));
}
.fb-badge img{
  width: 100%;
  height: auto;
  display: block;
}
.fb-badge:hover{
  transform: translateY(-1px);
}

/* Make product cards clickable */
.product-card-link{
  text-decoration: none;
  color: inherit;
  display: block;
}
.product-card-link:hover .product-card{
  transform: translateY(-2px);
}

.products-grid-fixed {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  align-items: stretch;
}
.product-link { display:block; text-decoration:none; color:inherit; }

.fb-float-image {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}
.fb-float-image img {
  width: 180px;
  height: auto;
}

/* --- Products tiles (final) --- */
.jm-products-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 28px;
  margin-top: 22px;
  align-items: stretch;
}

.jm-product-tile{
  display:flex;
  flex-direction:column;
  gap:12px;
  text-decoration:none;
  color:inherit;
  border:1px solid #e5e5e5;
  background:#fff;
  padding:18px;
  border-radius:10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: transform .15s ease, box-shadow .15s ease;
}

.jm-product-tile:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.jm-product-tile img{
  width:100%;
  height:140px;
  object-fit:contain;
  display:block;
}

.jm-product-label{
  font-weight:800;
  text-align:center;
  padding:6px 8px;
}

/* --- Floating Facebook badge (locked) --- */
.fb-float-image{
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:9999;
}

.fb-float-image img{
  width:170px; /* similar visual weight to On Sale Now */
  height:auto;
  display:block;
}
