@import url('https://fonts.googleapis.com/css2?family=Bree+Serif&family=Lato:wght@400;700&display=swap');

html {
   box-sizing: border-box;
}

*,
*::before,
*::after {
   box-sizing: inherit;
}

body {
   margin: 0;
   padding: 0;
   background:#F6F5F4;
   color: #333333;
   font-family: 'Lato', Arial, sans-serif;
   font-size: 17px;
   line-height: 1.65;
}

img {
   max-width: 100%;
   height: auto;
}

a {
   color: #435447;
   font-weight: 700;
}

#header {
   display: flex;
   align-items: flex-end;
   position: relative;
   z-index: 10;
   margin-top: 18px;
   padding: 9px 3% 6px;
   background: #F1EDE1;
   border-top: 1px solid #ccc;
   border-bottom: 1px solid #ccc;
}

#branding {
   flex: 0 0 auto;
   margin: 0;
   padding: 0;
}

#branding a {
   display: block;
}

#branding img {
   display: block;
}

.menu {
   flex: 0 0 auto;
   margin: 0 0 0 auto;
   transform: translateY(7px);
}

.mt-menu,
.mt-menu ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

.mt-menu {
   display: flex;
   align-items: stretch;
}

.mt-menu > li {
   position: relative;
   flex: 0 0 auto;
}

/* Top-level links and dropdown buttons */
.mt-menu > li > a,
.mt-menu summary {
   display: block;
   padding: 9px 12px;
   border-left: 1px solid #ccc;
   border-top: 1px solid #ccc;
   border-bottom: 1px solid #ccc;
   background: #fff;
   color: #555;
   font-family: inherit;
   font-size: inherit;
   font-weight: 700;
   line-height: 1.1;
   text-decoration: none;
   cursor: pointer;
}

.mt-menu > li:last-child > a {
   border-right: 1px solid #ccc;
}

.mt-menu summary {
   list-style: none;
}

.mt-menu summary::-webkit-details-marker {
   display: none;
}

/* Hover and keyboard focus */

.mt-menu > li > a:hover,
.mt-menu > li > a:focus,
.mt-menu summary:hover,
.mt-menu summary:focus {
   background: #f7f5ef;
   color: #435447;
   outline: 0;
}

/* Current page */

.mt-menu > li.current_page > a,
.mt-menu > li.current_page > details > summary {
   color: #435447;
   border-bottom-color: #fff;
}

.mt-menu details li.current_page > a {
   background: #e9e6dc;
   color: #435447;
}

.mt-menu .current_page > a:hover,
.mt-menu .current_page > a:focus,
.mt-menu .current_page > details > summary:hover,
.mt-menu .current_page > details > summary:focus {
   color: #435447;
}

/* Dropdown */

.mt-menu details {
   position: relative;
}

.mt-menu details > ul {
   position: absolute;
   top: 100%;
   left: 0;
   z-index: 1000;
   display: none;
   width: 190px;
   margin: 0;
   padding: 0;
   background: #fff;
}

.mt-menu details[open] > ul {
   display: block;
}

.mt-menu details li {
   width: 100%;
}

.mt-menu details li a {
   display: block;
   width: 100%;
   padding: 9px 13px;
   border-left: 1px solid #ccc;
   border-right: 1px solid #ccc;
   border-bottom: 1px solid #ccc;
   background: #fafafa;
   color: #435447;
   text-align: left;
   text-decoration: none;
   white-space: nowrap;
}

.mt-menu details li a:hover,
.mt-menu details li a:focus {
   background: #f7f5ef;
   color: #435447;
   outline: 0;
}

.mt-menu > li > details > summary {
   border-right: 1px solid #ccc;
}

#footer {
  float: none;
  clear: both;
  width: 100%;
  margin: 0 0 18px;
  padding: 16px 18px;
  background: #ECE7D8;
  color: #333333;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: center;
  overflow-wrap: anywhere;
}

.footer-link {
   color: #333333;
   text-decoration: none;
   font-weight:400;
}


.main-sections {
   width: 94%;
   max-width: 1500px;
   margin: 0 auto;
   padding: 30px 20px 50px;
   background: #F6F5F4;
   color: #333333;
   text-align: left;
}

.main-sections > section {
   margin-top: 15px;
}

.main-sections .product {
   margin-bottom: 15px;
   padding: 10px 25px;
   background: #ffffff;
   border: 1px solid #E3DBC9;
   border-radius: 4px;
   box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.main-sections h1,
.main-sections h2,
.main-sections h3 {
   font-family: 'Bree Serif', Georgia, serif;
   color: #2f3a32;
   line-height: 1.2;
   font-weight: 400;
}

.main-sections h1 {
   margin: 0 0 30px;
   font-size: clamp(2.4rem, 5vw, 4rem);
}

.main-sections h2 {
   margin: 0 0 20px;
   font-size: clamp(1.9rem, 3.5vw, 2.7rem);
}

.main-sections h3 {
   margin: 0 0 8px;
   font-size: 1.35rem;
}

section h3 {
  margin-bottom: 2px;
}

section h3 + p {
  margin-top: 0;
  margin-bottom: 20px;
}

.main-sections h2 .range-description {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.4em;
    font-weight: 400;
    font-style: italic;
}

.intro-row {
   display: grid;
   grid-template-columns: 1fr 425px;
   gap: 30px;
   align-items: start;   margin-top: 15px;
}

.intro-row img {
   display: block;

   margin-bottom:- 5px;
   width: 387px;
   height: 387px;
}

.top-info {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 40px;
}

.main-sections > .content-box {
   padding: 35px;
}

/* Shared content boxes */
.content-box {
   background: #f7f5ef;
   border: 1px solid #ebe7dc;
   border-radius: 3px;
}

.product-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
	width: 94%;
	max-width: 1500px;
	margin: 14px auto 40px;
	align-items: stretch;
}

.product-card {
	display: flex;
	flex-direction: column;
	background: #f7f5ef;
	border: 1px solid #d9ddd7;
	border-radius: 8px;
	overflow: hidden;
	text-align: center;
	box-sizing: border-box;
}

.product-card img {
	display: block;
	width: 100%;
	height: 320px;
	object-fit: contain;
	object-position: top center;
	background: #fff;
	padding: 8px;
	box-sizing: border-box;
}

.product-code {
	padding: 8px 5px 5px;
	font-size: 1.25rem;
	font-weight: bold;
	color: #435447;
	background: #fff;
}

.product-info {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 15px 15px 18px;
}

.product-info h3 {
	margin: 0 0 8px;
	font-size: 1.15rem;
	line-height: 1.3;
	color: #2f3a32;
}

.product-info p {
	margin: 5px 0;
	line-height: 1.45;
}

.product-info .price {
	margin-top: auto;
	padding-top: 10px;
	font-size: 1.15rem;
	font-weight: bold;
	color: #435447;
}

.popular {
	padding: 7px 5px;
	color: red;
	font-weight: bold;
	font-size: 1.1rem;
}

.order-button-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
}

.order-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 46px;
    padding: 12px 22px;
    border-radius: 6px;
    background: #ECE7D8;
    color: #000;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid #8E7E54;
    box-sizing: border-box;
    transition: background-color 0.2s ease;
}

.order-button:hover {
    background: #C8BC9C;
    color: #000;
    border: 1px solid #8E7E54;
}

.faq-button {
    background: #e9eee5;
    color: #38532f;
    border: 1px solid #b9c9ae;
}

.faq-button:hover {
    background: #dce6d5;
    color: #2d4525;
}

@media (max-width: 480px) {
    .order-button-wrap {
        flex-direction: column;
        align-items: stretch;
    }

    .order-button {
        width: 100%;
    }
}


.mirror-images {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	flex-wrap: wrap;
}

.mirror-images img {
	display: block;
	max-width: 100%;
	height: auto;
}

.enquiry-page {
   width: 94%;
   max-width: 1500px;
   margin: 0 auto;
   padding: 30px 20px 50px;

   background: #F6F5F4;
   color: #333333;
   text-align: left;
}

.enquiry-page,
.enquiry-page * {
   box-sizing: border-box;
}

.enquiry-page h1 {
   margin: 0 0 20px;
   font-family: 'Bree Serif', Georgia, serif;
   font-size: clamp(2rem, 5vw, 3rem);
   line-height: 1.2;
   font-weight: 400;
   color: #2f3a32;
}

.enquiry-page .note { margin: 0 0 25px; color: #657064; }
.enquiry-page .group,
.enquiry-page .field { margin: 0 0 22px; }
.enquiry-page .label { display: block; margin: 0 0 7px; font-weight: 700; color: #2f3a32; }

.enquiry-page .options,
.enquiry-page .sub-options {
   display: flex;
   flex-wrap: wrap;
   gap: 8px 18px;
   align-items: center;
}

.enquiry-page .options label,
.enquiry-page .sub-options label {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   font-weight: 400;
}

.enquiry-page input[type="radio"],
.enquiry-page input[type="checkbox"] {
   width: auto;
   max-width: none;
   margin: 0;
}

.enquiry-page input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.enquiry-page textarea {
   display: block;
   width: 100%;
   max-width: none;
   margin: 0;
   padding: 10px 12px;
   border: 1px solid #c7cec8;
   border-radius: 5px;
   background: #fff;
   color: #333;
   font: inherit;
   line-height: 1.4;
   text-align: left;
}

.enquiry-page textarea {
   min-height: 130px;
   resize: vertical;
}

.enquiry-page input:focus,
.enquiry-page textarea:focus {
   outline: 2px solid #cbd8cd;
   outline-offset: 1px;
   border-color: #899b8d;
}

.enquiry-page .cards {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 12px;
}

.enquiry-page .card {
   display: block;
   padding: 13px 14px;
   border: 1px solid #d9ddd8;
   border-radius: 8px;
   background: #fff;
   cursor: pointer;
   font-weight: 700;
}

.enquiry-page .card:hover { background: #e9eee8; }

.enquiry-page .card input {
   width: auto;
   margin-right: 6px;
}

.enquiry-page .card small {
   display: block;
   margin: 4px 0 0 24px;
   color: #657064;
   font-weight: 400;
   line-height: 1.4;
}

.enquiry-page .card:has(input:checked) {
   background: #e9eee8;
   border-color: #6b8068;
}

.enquiry-page .conditional,
.enquiry-page .sub-conditional {
   margin: 0 0 22px;
}

.enquiry-page .conditional[hidden],
.enquiry-page .sub-conditional[hidden] {
   display: none;
}

.enquiry-page .delivery-location-row {
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(0, .7fr);
   gap: 20px;
}

.enquiry-page .optional {
   color: #657064;
   font-size: .9em;
   font-weight: 400;
}

.enquiry-page .submit {
   display: inline-block;
   padding: 11px 18px;
   border: 1px solid #435447;
   border-radius: 5px;
   background: #435447;
   color: #fff;
   font: inherit;
   font-weight: 700;
   cursor: pointer;
}

.enquiry-page .submit:hover { background: #35443a; }

.enquiry-page .fb {
   margin-top: 28px;
   padding-top: 20px;
   border-top: 1px solid #d9ddd8;
}

.enquiry-page .hp-field {
   position: absolute !important;
   left: -9999px !important;
   width: 1px !important;
   height: 1px !important;
   overflow: hidden !important;
}

.enquiry-page .preview {
   margin-top: 25px;
   padding: 18px;
   background: #fff;
   border: 1px solid #d9ddd8;
   border-radius: 8px;
}

.enquiry-page .preview h2 {
   margin: 0 0 12px;
   font-family: 'Bree Serif', Georgia, serif;
   color: #2f3a32;
   font-weight: 400;
}

.enquiry-page .preview pre {
   margin: 0;
   white-space: pre-wrap;
   font: inherit;
   line-height: 1.5;
}

/* =========================================================
   ENQUIRY FORM — NEW OPTION / PREVIEW STYLES
   ========================================================= */

.enquiry-page .modification-section {
   margin: 5px 0 25px;
   padding: 18px 20px;
   background: #fff;
   border: 1px solid #d9ddd8;
   border-radius: 8px;
}

.enquiry-page .option-group {
   display: flex;
   flex-wrap: wrap;
   gap: 9px 20px;
   align-items: center;
   margin-top: 10px;
}

.enquiry-page .option-heading {
   display: block;
   width: 100%;
   margin-bottom: 2px;
   font-weight: 700;
   color: #435447;
}

.enquiry-page .option-group label {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   font-weight: 400;
}

.enquiry-page .option-group input[type="radio"],
.enquiry-page .option-group input[type="checkbox"] {
   width: auto;
   max-width: none;
   margin: 0;
}

.enquiry-page .preview-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: 18px;
}

.enquiry-page .preview-edit {
   display: inline-block;
   padding: 11px 18px;
   border: 1px solid #899b8d;
   border-radius: 5px;
   background: #fff;
   color: #435447;
   font: inherit;
   font-weight: 700;
   cursor: pointer;
}

.enquiry-page .preview-edit:hover {
   background: #f0f2ee;
}

.enquiry-page .submit:disabled {
   opacity: .6;
   cursor: wait;
}

.enquiry-page [hidden] {
   display: none !important;
}

/* Keep hidden/disabled options from affecting the layout */

.enquiry-page .option-group label[hidden] {
   display: none !important;
}

/* Slightly more separation between the product
   selection and its modifications */

.enquiry-page .cards + .modification-section {
   margin-top: 18px;
}

.enquiry-page #benchTopShelfGroup {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 20px;
  align-items: center;
  margin-top: 10px;
}

.enquiry-page #benchTopShelfGroup .option-heading {
  display: block;
  width: 100%;
  margin-bottom: 2px;
}

.enquiry-page #benchTopShelfGroup label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 0;
  font-size: inherit;
}

.enquiry-page #benchTopShelfGroup label span {
  white-space: normal;
  font-size: inherit;
}

/* =========================================================
   TABLET NAVIGATION
   ========================================================= */

@media (min-width: 801px) and (max-width: 900px) {
   #branding img {
      max-width: 85%;
   }

   .mt-menu > li > a,
   .mt-menu summary {
      padding: 8px;
      font-size: 15px;
   }
}


/* =========================================================
   RESPONSIVE NAVIGATION
   ========================================================= */

@media (max-width: 800px) {
   #header {
      display: block;
      min-height: 0;
      padding: 6px 3% 2px;
   }

   #branding {
      display: block;
      width: auto;
      margin: 0 0 8px;
      padding: 0;
      text-align: left;
   }

   #branding a {
      display: block;
   }

   #branding img {
      max-width: 75%;
   }

   .menu {
      position: static;
      display: block;
      width: 100%;
      margin: 0;
      transform: none;
   }

   .mt-menu,
   .mt-menu > li {
      display: block;
      width: 100%;
   }

   .mt-menu > li > a,
   .mt-menu summary {
      display: block;
      width: 100%;
      padding: 9px 8px;
      border-right: 1px solid #ccc;
      text-align: center;
      white-space: normal;
   }

   .mt-menu > li.current_page > a,
   .mt-menu > li.current_page > a:hover,
   .mt-menu > li.current_page > a:focus,
   .mt-menu > li.current_page > details > summary,
   .mt-menu > li.current_page > details > summary:hover,
   .mt-menu > li.current_page > details > summary:focus {
      background: #e9e6dc;
      color: #435447;
   }

   .mt-menu details {
      position: relative;
      display: block;
      width: 100%;
      margin: 0;
      padding: 0;
   }

   .mt-menu details > ul {
      position: static;
      display: block;
      width: calc(100% - 18px);
      margin: 0;
      padding: 0;
   }

   .mt-menu details li {
      display: block;
      width: 100%;
      margin: 0;
      padding: 0;
   }

   .mt-menu details li a {
      display: block;
      width: 100%;
      margin: 0;
      padding: 9px 8px;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      border-left: 1px solid #ccc;
      background: #fafafa;
      color: #435447;
      text-align: center;
      text-decoration: none;
      white-space: normal;
      line-height: 1.1;
      font-size: 16px;
   }

   .mt-menu details li.current_page > a {
      background: #e9e6dc;
      color: #435447;
      border-bottom: 1px solid #ccc;
   }

   .mt-menu > li > details {
      display: block;
      width: 100%;
      margin: 0;
      padding: 0;
   }

   .mt-menu > li > details > summary {
      display: block;
      box-sizing: border-box;
      width: 100%;
      margin: 0;
      padding: 9px 8px;
      border-right: 1px solid #ccc;
      text-align: center;
   }

   /* Responsive content layouts */

   .intro-row {
      grid-template-columns: 1fr;
   }
}


/* =========================================================
   ENQUIRY CATEGORY GRID
   Desktop: 5 columns
   Tablet:  3 columns
   Mobile:  1 column
   ========================================================= */

.enquiry-page .enquiry-categories {
   grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
   .enquiry-page .enquiry-categories {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
   }
}


/* =========================================================
   MAIN PAGE: MOBILE (700px AND BELOW)
   ========================================================= */

@media screen and (max-width: 700px) {
   .main-sections > section {
      margin-top: 35px;
   }

   .main-sections .hero {
      padding: 30px 0 40px;
   }

   .main-sections .hero .tagline {
      font-size: 1.1rem;
   }

   .main-sections .product {
      padding: 24px;
      margin-bottom: 22px;
   }

   .main-sections > .content-box.green,
   .main-sections > .content-box.location {
      padding: 28px 24px;
   }

   .main-sections > .cta {
      padding: 35px 24px;
   }

   .about-page {
      gap: 20px;
   }

   .about-page > .content-box,
   .about-page > .hero {
      padding: 25px 22px;
   }

   .top-info {
      grid-template-columns: 1fr;
   }
}


/* =========================================================
   SMALL PHONE: 650px AND BELOW
   ========================================================= */

@media screen and (max-width: 650px) {
   /* Enquiry page container */

   .enquiry-page {
      width: 100%;
      margin: 20px auto 30px;
      padding: 25px 15px 35px;
   }

   /* Single-column layouts */

   .enquiry-page .cards,
   .enquiry-page .delivery-location-row,
   .enquiry-page .enquiry-categories,
   .enquiry-page #benchTopShelfGroup,
   .enquiry-page .option-group {
      grid-template-columns: 1fr !important;
   }

   .enquiry-page #benchTopShelfGroup,
   .enquiry-page .option-group {
      display: grid;
      gap: 9px;
   }

   /* Modification options */

   .enquiry-page .modification-section {
      padding: 16px;
   }

   .enquiry-page .option-heading {
      margin-bottom: 3px;
   }

   /* Preview buttons */

   .enquiry-page .preview-actions {
      flex-direction: column;
   }

   .enquiry-page .preview-actions button {
      width: 100%;
   }
}

/* =========================================================
   BUSYKIWI — CONSOLIDATED RESPONSIVE STYLES
   Desktop, tablet and mobile
   ========================================================= */


/* ---------------------------------------------------------
   PRODUCT LISTINGS
   --------------------------------------------------------- */

.product-info {
  min-width: 0;
  padding: 10px 10px 12px;
}

.product-info h3 {
  margin: 0 0 3px;
  line-height: 1.2;
}

.product-info p {
  margin: 2px 0;
  line-height: 1.3;
}

.product-info .price {
  padding-top: 5px;
  line-height: 1.3;
}


/* ---------------------------------------------------------
   ENQUIRY FORM — SHARED
   --------------------------------------------------------- */

.enquiry-page,
.enquiry-page section,
.enquiry-page .cards,
.enquiry-page .card,
.enquiry-page .modification-section,
.enquiry-page .form-grid,
.enquiry-page .form-grid > div {
  min-width: 0;
}

.enquiry-page input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.enquiry-page textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 12px;
  font-size: 16px;
  line-height: 1.4;
}

.enquiry-page input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]) {
  min-height: 48px;
}

.enquiry-page #message {
  width: 100%;
  max-width: 100%;
  min-height: 140px;
  resize: vertical;
}


/* Name and Email: stacked, not full-screen wide */

#enquiryForm .form-grid {
  display: grid;
  grid-template-columns: minmax(0, 600px);
  justify-content: start;
  gap: 12px;
  width: 100%;
}

#enquiryForm .form-grid > div {
  width: 100%;
  min-width: 0;
}

#enquiryForm .form-grid input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}


/* ---------------------------------------------------------
   ENQUIRY CATEGORY CARDS
   --------------------------------------------------------- */

.enquiry-page .enquiry-categories {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}


/* ---------------------------------------------------------
   OPTIONAL EXTRAS
   --------------------------------------------------------- */

.enquiry-page .modification-section {
  margin: 18px 0 25px;
  padding: 18px 20px;
}

.enquiry-page .option-group,
.enquiry-page #benchTopShelfGroup {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 20px;
  margin-top: 10px;
}

.enquiry-page .option-heading,
.enquiry-page #benchTopShelfGroup .option-heading {
  display: block;
  width: 100%;
  margin: 0 0 3px;
  font-weight: 700;
  color: #435447;
}

.enquiry-page .option-group label,
.enquiry-page #benchTopShelfGroup label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  margin: 0;
  font-weight: 400;
}

.enquiry-page .option-group input[type="radio"],
.enquiry-page .option-group input[type="checkbox"] {
  width: auto;
  min-height: 0;
  margin: 0;
}


/* ---------------------------------------------------------
   DELIVERY AND PICKUP
   --------------------------------------------------------- */

/* Keep Pickup and Delivery close together */
#enquiryForm .enquiry-section:has(input[name="delivery"]) > .option-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 8px 18px;
}

#enquiryForm .enquiry-section:has(input[name="delivery"]) > .option-group label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
}

/* Delivery location and location type side by side */
#deliveryFields {
  margin-top: 8px;
}

#deliveryFields .delivery-location-row {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  width: 100%;
  max-width: 700px;
  margin-top: 6px;
}

#deliveryFields .delivery-location-row > div {
  width: 100%;
  min-width: 0;
}

#deliveryFields #location {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

/* Urban and Rural stay inline */
#deliveryFields .option-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

#deliveryFields .option-group label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}


/* ---------------------------------------------------------
   PREVIEW BUTTON
   --------------------------------------------------------- */

#previewButtonWrap {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 12px;
  padding-top: 4px;
  clear: both;
}

#previewButton {
  display: block;
  position: relative;
  margin: 0;
  box-sizing: border-box;
}




/* =========================================================
   TABLET — 651px TO 800px
   ========================================================= */

@media screen and (min-width: 651px) and (max-width: 800px) {

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    margin: 14px auto 30px;
  }

  .product-card img {
    height: 260px;
  }

  /* Main enquiry categories */
  .enquiry-page .enquiry-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  /* Mud kitchen models */
  .enquiry-page #mudOptions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Builders Bench models */
  #benchSection > .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Bench sizes */
  #benchSizeOptions .cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  /* Display stands and other choices */
  #standSection .cards,
  #otherSection .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Optional extras: two columns */
  .enquiry-page .modification-section .option-group,
  .enquiry-page #benchTopShelfGroup {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .enquiry-page .modification-section .option-heading,
  .enquiry-page #benchTopShelfGroup .option-heading {
    grid-column: 1 / -1;
  }

  .enquiry-page .modification-section .option-group label,
  .enquiry-page #benchTopShelfGroup label {
    align-items: flex-start;
    overflow-wrap: anywhere;
  }

  /* Pickup and Delivery radio options */
  #enquiryForm .enquiry-section:has(input[name="delivery"]) > .option-group {
    gap: 8px 14px;
  }

  /* Keep Urban/Rural inline */
  #deliveryFields .option-group {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 12px;
  }
}


/* =========================================================
   MOBILE — 650px AND BELOW
   ========================================================= */

@media screen and (max-width: 650px) {

  .product-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    width: 100%;
    margin: 12px auto 25px;
  }

  .product-card img {
    height: auto;
    max-height: 320px;
  }

  .product-info {
    padding: 9px 10px 12px;
  }

  .product-info h3 {
    margin-bottom: 2px;
    font-size: 1.1rem;
  }

  .product-info .price {
    font-size: 1.1rem;
  }

  /* Main categories: two columns */
  .enquiry-page .enquiry-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
  }

  .enquiry-page .enquiry-categories .card {
    padding: 12px 8px;
    overflow-wrap: anywhere;
  }

  /* Mud kitchen models: one per line */
  .enquiry-page #mudOptions {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px;
  }

  /* Bench models: one per line */
  #benchSection > .cards,
  #benchSizeOptions .cards,
  #standSection .cards,
  #otherSection .cards {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px;
  }

  /* Product cards */
  .enquiry-page .card {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .enquiry-page .card > span {
    flex: 1;
    min-width: 0;
  }

  .enquiry-page .card small {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
  }

  .enquiry-page .card input[type="radio"],
  .enquiry-page .card input[type="checkbox"] {
    flex: 0 0 18px;
    margin: 3px 0 0;
  }

  /* Optional extras: one per line */
  .enquiry-page .modification-section {
    padding: 14px;
  }

  .enquiry-page .modification-section .option-group,
  .enquiry-page #benchTopShelfGroup {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px;
    align-items: start;
  }

  .enquiry-page .modification-section .option-heading,
  .enquiry-page #benchTopShelfGroup .option-heading {
    grid-column: 1;
  }

  .enquiry-page .modification-section .option-group label,
  .enquiry-page #benchTopShelfGroup label {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.4;
  }

  .enquiry-page .option-group label input {
    flex: 0 0 18px;
    margin-top: 4px;
  }

  /* Delivery fields: stack on phones */
  #deliveryFields .delivery-location-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px;
    max-width: none;
  }

  /* Urban/Rural stay inline */
  #deliveryFields .option-group {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 18px;
  }

  /* Name and Email: stacked and mobile-width */
  #enquiryForm .form-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  #enquiryForm .form-grid > div {
    grid-column: 1;
  }

  #enquiryForm .form-grid input {
    width: 100%;
  }

  .enquiry-page #message {
    min-height: 150px;
  }

  /* Preview buttons */
  .enquiry-page .preview-actions {
    flex-direction: column;
    gap: 10px;
  }

  .enquiry-page .preview-actions button {
    width: 100%;
  }
}


/* =========================================================
   VERY SMALL PHONES — 400px AND BELOW
   ========================================================= */

@media screen and (max-width: 400px) {

  .enquiry-page {
    padding-right: 12px;
    padding-left: 12px;
  }

  .enquiry-page .enquiry-categories {
    gap: 7px;
  }

  .enquiry-page .enquiry-categories .card {
    padding: 11px 6px;
    font-size: 15px;
  }

  .enquiry-page .modification-section {
    padding: 12px;
  }

  .product-info {
    padding: 8px 9px 10px;
  }
}