.shop_listings_container {
  display: flex;
  align-items: center;
  gap: 50px;
      overflow: auto;
      margin-bottom: 25px;
}


/* ===== GLOBAL RESETS & BASE STYLES ===== */

/* ===== Form Container ===== */
.form-container {
  max-width: 600px;
  margin: 60px auto;
  padding: 0 20px;
  font-family: "Open Sans", Arial, sans-serif;
}

/* ===== Fieldset & Legend ===== */
fieldset {
  border: 2px solid #334425;
  padding: 25px 30px 30px;
  border-radius: 8px;
  background-color: #fdf5e6;
}

legend {
  padding: 0 10px;
  font-weight: 700;
  font-size: 1.3rem;
}

/* ===== Labels ===== */
label,
strong {
  font-weight: 600;
  display: block;
  margin-top: 15px;
}

/* ===== Inputs & Select ===== */
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  width: 100%;
  padding: 10px 12px;
  margin-top: 5px;
  border: 1px solid #999;
  border-radius: 4px;
  font-size: 1rem;
  font-family: inherit;
}

/* ===== Textarea ===== */
textarea {
  resize: vertical;
  min-height: 150px;
}

/* ===== Radio Buttons ===== */
input[type="radio"] {
  margin-right: 6px;
}

input[type="radio"] + label {
  display: inline;
  font-weight: normal;
}

/* ===== Focus States ===== */
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: black;
}

/* ===== Submit Button ===== */
input[type="submit"] {
  margin-top: 25px;
  padding: 12px;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 700;
  border: none;
  border-radius: 6px;
  background-color: #334425;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

input[type="submit"]:hover {
  background-color: #334429;
}

/* ===== Required Indicator (optional visual cue) ===== */
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  border-left: 4px solid #334425;
}

* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Open Sans', sans-serif;
      background-color: #fdf5e6;
      color: #333;
          
    }

    h1 {
      color: white;
      font-size: 2.5rem;
      font-weight: 700;
      z-index: 1;
      padding: 0 20px;
      font-family: 'Libre Baskerville', serif;
      text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
      -webkit-text-stroke: 0.25px rgb(200, 195, 142);
      text-stroke: 0.25px rgb(200, 195, 142);
      paint-order: stroke fill;
    }

/* ===== HEADER & NAVIGATION ===== */
.site-header {
  height: 100px;
  font-family: Arial, sans-serif;
  margin-bottom: auto;
  padding: 10px 20px;
  justify-content: center;
  align-items: center;
  position: relative;
  text-align: center;
  width: 100%;
  display: flex;
}
.site-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,3) 100%);
}

.index-header {
      background-image: url('https://lh3.googleusercontent.com/gps-cs-s/AC9h4nom9QD2dXAyEfgAlWQxr3-Z_XacK6tn1wBqmgEhG_JKkWqSb0aDDo82mk5v670uvE4uK0PQDG-Oi7jPug7MyxiYoTVCFcBqa8J2jsC10YZKeo0c6p2kLAJapAIsjOOSr85BE7s=s680-w680-h510-rw');
      background-size: cover;
      background-position: center;
      height: 300px;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      position: relative;
      width: 100%;
   }
   
.index-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,3) 100%);
}

.header-content {
      z-index: 2;
  max-width: 100%;
  margin: 0 auto;
  width: 100%;
  display: flex; /* Added to align children side-by-side */
  align-items: center; /* Vertically center logo and title */
}

.header-left {
  margin-left: 0;
  /* Stays on left - no change needed */
}

.logo {
  width: 10px;
  height: 10px;
}

.header-middle {
  color: white;
  font-size: 50px;
  /* Centers within remaining space */
  flex-grow: 1; /* Takes all available space */
  text-align: center; /* Centers text horizontally */
  padding-left: 20px; /* Space between logo and title */
}

.header-middle h1 {
  margin: 0; /* REMOVES default h1 margins */
  font-size: 1em; /* Inherits 10px from parent */
}

/* ===== NAVIGATION ===== */
/* Center the navbar */
.navbar {
  background-color: #334425;
  text-align: center;
  padding: 0;
  margin: 0 auto;
  width: 100%;
  display: block; /* Change from flex to block for better centering */
}

.navbar > a,
.subnav {
  display: inline-block;
}

.navbar a {
  font-size: 16px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

.subnav {
  position: relative;
}

.subnav .subnavbtn {
  font-size: 16px;
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit;
  margin: 0;
  cursor: pointer;
  display: inline-block;
  text-decoration: none;
}

.navbar a:hover,
.subnav:hover .subnavbtn {
  background-color: grey;
}

/* SUBNAV IN SINGLE HORIZONTAL ROW */
.subnav-content {
  display: none;
  position: absolute;
  background-color: #334425;
  left: 0;
  top: 100%;
  z-index: 1;
  padding: 8px 0;
  white-space: nowrap; /* Prevents wrapping to next line */
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

/* Each subnav item in the horizontal row */
.subnav-content a {
  color: white;
  text-decoration: none;
  padding: 8px 16px;
  display: inline-block; /* Horizontal layout */
  text-align: center;
  white-space: nowrap; /* Text stays on one line */
  border-right: 1px solid rgba(255,255,255,0.1); /* Optional separator */
}

.subnav-content a:last-child {
  border-right: none; /* Remove border from last item */
}

.subnav-content a:hover {
  background-color: grey;
  color: white;
}

/* Show subnav on hover */
.subnav:hover .subnav-content {
  display: block;
}

/* Keep subnav open when hovering over it */
.subnav-content:hover {
  display: block;
}

nav::-webkit-scrollbar {
      height: 4px;
    }

    nav::-webkit-scrollbar-track {
      background: #22331A;
    }

    nav::-webkit-scrollbar-thumb {
      background: #F4F1E9;
      border-radius: 2px;
    }

/* ===== MAIN CONTENT ===== */
main {
      padding: 30px 20px;
      max-width: 1200px;
      width: 100%;
      margin: 0 auto;
    }

/* ===== ARTICLE STYLES ===== */
#heritage-article p, #christmas-article p, #tractor-article p {
font-size: 18px;
      line-height: 2.5;
}

/* ===== BRICKS SECTIONS ===== */
.bricks h1 {
  font-weight:bold;
  color: #334425;
}
.bricks p {
  font-family: 'Open Sans', sans-serif;
  color: black;
  font-size: 1em;
}

.bricks {
margin-top: 10px;
      bottom: 20px;
}

/* Base brick row styling */
.small-brick-container,
.medium-brick-container,
.large-brick-container {
  display: flex;
  align-items: center;
  gap: 50px;
      overflow: auto;
      margin-bottom: 25px;
}

.dividing-line {
      width: 100%;
      color: #334425;
      height: 3px;
      margin-bottom: 25px;
}

.brick-img {
      width: 400px;
      height: auto;
      flex-shrink: 0;
      margin-right: 50px;
}

.brick-text {
      flex: 1;
}

.brick-text h2 {
      color: black;
      font-weight: bold;
      font-size: 32px;
}

.brick-text ul {
      padding-left: 0;
}

.brick-text li {
      color: black;
}

.brick-img img {
      width: 100%;
      height: auto;
      display: block;
}

.color-breakup-brick {
height: 2px;
  background-color: #334425;
  margin: 40px 0;
  width: 900px;
  margin-left: auto;
  margin-right: auto;
      display: block;
}

/* ===== ABOUT SECTION ===== */
.about-section {
      display: flex;
      flex-wrap: wrap;
      max-width: 1200px;
      width: 100%;
      margin: 40px auto;
      align-items: flex-end;
      padding: 0 20px;
    }

    .about-image {
      flex: 1;
      padding-right: 40px;
      display: flex;
      align-items: flex-end;
      min-width: 280px;
    }

    .about-image img {
      width: 100%;
      height: auto;
      max-height: 400px;
      object-fit: cover;
      border-radius: 8px;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

    .about-text {
      flex: 1;
      padding: 20px;
      min-width: 280px;
    }

    .about-text h2 {
      font-family: 'Libre Baskerville', serif;
      font-size: 2rem;
      margin-bottom: 20px;
      color: #334425;
      text-align: center;
    }

    .about-text p {
      line-height: 1.5;
      font-size: 1.1rem;
      font-weight: 400;
      text-align: center;
      margin: 0;
    }

/* ===== FULL WIDTH BANNER ===== */
.full-width-banner {
      background-color: #334425;
      width: 100%;
      padding: 60px 20px;
      margin-top: 40px;
      position: relative;
    }

    .banner-content {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 40px;
      position: relative;
      color: #F4F1E9;
      -webkit-text-stroke: 0.125px rgb(200, 195, 142);
      text-stroke: 0.125px rgb(200, 195, 142);
    }

    .banner-section {
      padding: 0 20px;
    }

    .banner-section h3 {
      font-family: 'Libre Baskerville', serif;
      font-size: 1.5rem;
      margin-bottom: 20px;
      text-align: center;
      font-weight: 700;
      -webkit-text-stroke: 0.125px rgb(200, 195, 142);
      text-stroke: 0.125px rgb(200, 195, 142);
    }

    .banner-section p {
      line-height: 1.6;
      margin-bottom: 15px;
      text-align: center;
    }

    .banner-section strong {
      -webkit-text-stroke: 0.125px rgb(200, 195, 142);
      text-stroke: 0.125px rgb(200, 195, 142);
    }

    .divider-line {
      position: absolute;
      top: calc(15% - 0.5in);
      bottom: calc(15% - 0.5in);
      width: 0.5px;
      background-color: rgb(200, 195, 142);
    }

    .divider-line:nth-child(1) {
      left: 33.333%;
    }

    .divider-line:nth-child(2) {
      left: 66.6666%;
    }

/* ===== SHOP PAGE ===== */
#shop-body {
      background-color: #E8F1A9;
}

.shop-sections-container {
  display: flex;
  justify-content: center;
  margin-top: 100px;
  gap: 50px;
  width: 100%;
  flex-wrap: wrap; /* allow wrapping if needed */
}

.shop-sections ul {
  display: flex;
  padding: 0;
  margin: 0;
  list-style-type: none;
  flex-wrap: wrap;      /* allow buttons to wrap */
  gap: 30px;
  justify-content: center;
}

/* Common styles for all buttons */
.shop-click1, .shop-click2, .shop-click3, .shop-click4,
.shop-click5, .shop-click6, .shop-click7, .shop-click8,
.shop-click9 , .shop-click10 , .shop-click11 , .shop-click12 {
  display: flex;
  align-items: center;        /* vertical centering */
  justify-content: center;    /* horizontal centering */
  text-align: center;         /* center multi-line text */
  flex-direction: column;     /* stack multiple words vertically */
  
  width: 200px;               /* uniform width */
  height: 200px;              /* uniform height */
  
  padding: 10px;
      margin-bottom: 100px;
color: white;
  text-decoration: none;
  border: 1px solid black;
  
  background-size: contain;   /* scale background proportionally */
  background-position: center;
  background-repeat: no-repeat;
  
  font-size: 20px;            /* adjust text size */
  font-weight: bold;
}

/* Individual background images */
.shop-click1 { background-image: url(Photos/Maps.png); }
.shop-click2 { background-image: url(Photos/Maps.png); }
.shop-click3 { background-image: url(Photos/Maps.png); }
.shop-click4 { background-image: url(Photos/Hats.png); }
.shop-click5 { background-image: url(Photos/Toy.png); }
.shop-click6 { background-image: url(Photos/Christmas.png); }
.shop-click7 { background-image: url(Photos/model_train.png); }
.shop-click8 { background-image: url(Photos/small_brick.png); }
.shop-click9 { background-image: url(Photos/model_train.png); }
.shop-click10 { background-image: url(Photos/model_train.png); }
.shop-click11 { background-image: url(Photos/model_train.png); }
.shop-click12 { background-image: url(Photos/model_train.png); }

/* ===== REVIEWS/CAROUSEL ===== */
.color-breakup {
background-color: #fdf5e6;
      width: 100%;
      height: 400px;
      overflow: hidden;
position: relative;
}

.moving-row {
      position: absolute;
      top: 50%;
      left: 0;
      display: flex;
      gap: 80px;
      width: max-content;
      animation: moveRightToLeft 100s linear infinite;
}

@keyframes moveRightToLeft {
      from {
            transform: translateX(100vw) translateY(-50%);
      }
      to {
            transform: translateX(-100%) translateY(-50%);
      }
}

.moving-object {
      background-color: #334425;
      color: white;
      border-radius: 6px;
      width: 360px;
      height: auto;
      max-height: 360px;
      padding:20px;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      justify-content: center;
      overflow: hidden;
}

.moving-object h3 {
      margin: 0 0 10px 0;
      font-size: 20px;
}

.moving-object p {
      margin: 0 0 9px 0;
      font-size: 14px;
      line-height: 1.4;
}

.review-img-container {
      width: 120px;
      height: 24px;
      margin-bottom: 10px;
      display: block;
      background-image: url(Photos/five-stars-nobk.png);
      background-size: cover;
      background-repeat: non-repeat;
      background-position: center;
}

.tripadvisor-container {
margin: 0 auto 10px auto;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: warp;
      width: fit-content;
}

/* ===== FOOTER ===== */
.site-footer {
  background-color: #334425;
  color: #e0e0e0;
  padding: 25px 20px 15px;
  font-family: Arial, sans-serif;
  margin-top: auto; /* Pushes footer to bottom if using flexbox */
}

.footer-content {
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

/* Top links */
.footer-links {
  margin-bottom: 20px;
}

.footer-links a {
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  padding: 0 8px;
  transition: color 0.3s ease;
}

.footer-links a:hover {
  color: #ffcc00;
  text-decoration: underline;
}

.divider {
  color: #88aa66;
  font-size: 14px;
}

/* Address section */
.footer-middle {
  padding: 15px 0;
  margin: 15px 0;
}

.footer-address p {
  margin: 5px 0;
  font-size: 15px;
  line-height: 1.5;
}

.footer-address p:first-child {
  font-weight: bold;
  color: #ffffff;
  font-size: 16px;
}

/* Bottom copyright */
.footer-bottom {
  padding-top: 15px;
}

.copyright {
  font-size: 14px;
  color: #ffffff;
  margin-bottom: 10px;
  font-weight: bold;
}

.disclaimer {
  font-size: 12px;
  color: #aaaaaa;
  line-height: 1.4;
  max-width: 800px;
  margin: 10px auto 0;
  font-style: italic;
}



