/* Rae Macs product catalogue — extends existing style.css */
.catalogue-hero{padding:92px 0 78px;background:#e8eeea}.catalogue-hero h1{font-size:clamp(42px,5vw,72px);max-width:900px;margin-bottom:24px}.catalogue-lead{max-width:640px;font-size:16px;line-height:1.85;color:#4b615d;margin:0}
.catalogue-section{padding-top:52px;padding-bottom:100px}.catalogue-toolbar{display:grid;grid-template-columns:minmax(240px,2fr) 1fr 1fr auto;align-items:end;gap:14px}.catalogue-toolbar label{display:block;font-size:10px;letter-spacing:1.6px;font-weight:700;color:#587a74;margin-bottom:10px}.catalogue-toolbar input,.catalogue-toolbar select{width:100%;height:49px;border:1px solid #bacbc4;border-radius:0;background:#fff;color:#203c3c;font:500 13px Manrope,Arial,sans-serif;padding:0 14px}.catalogue-toolbar input:focus,.catalogue-toolbar select:focus{outline:2px solid #587a74;outline-offset:2px}.enquiry-trigger{height:49px;padding:0 19px;border:0;background:#203c3c;color:#fff;font:700 12px Manrope;white-space:nowrap;cursor:pointer}.enquiry-trigger span{display:inline-grid;place-items:center;background:#9ab7b2;color:#203c3c;border-radius:50%;min-width:23px;height:23px;margin-left:8px}.catalogue-meta{display:flex;justify-content:space-between;align-items:center;margin:27px 0 20px;color:#58716c;font-size:13px}.catalogue-meta p{margin:0}.clear-filters{border:0;background:none;text-decoration:underline;color:#203c3c;cursor:pointer;font:600 12px Manrope}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 16px}.product-card{min-width:0}.product-visual{aspect-ratio:1/1.06;background:#e8eeea;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.product-visual:before{content:"";position:absolute;width:65%;height:65%;border:1px solid #c3d1ca;border-radius:50%}.product-placeholder{z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.product-placeholder .bottle{height:112px;width:57px;border-radius:9px 9px 13px 13px;background:linear-gradient(110deg,#cedbd5,#fff 35%,#e1e8e3 80%);border:1px solid #aebfb7;box-shadow:11px 13px 17px #203c3c18;position:relative}.product-placeholder .bottle:before{content:"";position:absolute;top:-14px;left:17px;width:23px;height:14px;background:#203c3c;border-radius:2px 2px 0 0}.product-placeholder .bottle:after{content:"RAE MACS";position:absolute;top:42px;left:3px;right:3px;font-size:7px;letter-spacing:1px;color:#203c3c;text-align:center}.product-placeholder span{font-size:9px;letter-spacing:1.6px;color:#58716c}.product-brand{font-size:10px;letter-spacing:1.5px;color:#587a74;font-weight:700;text-transform:uppercase;margin:18px 0 7px}.product-card h3{font:400 23px/1.25 'Playfair Display',Georgia,serif;margin:0 0 8px}.product-category{font-size:12px;color:#58716c;margin:0 0 16px}.add-product{background:transparent;border:1px solid #203c3c;color:#203c3c;padding:12px 15px;width:100%;font:700 12px Manrope;cursor:pointer}.add-product:hover,.add-product.added{background:#203c3c;color:#fff}.empty-state{padding:50px 0;text-align:center}.sample-disclaimer{margin:44px 0 0;font-size:12px;line-height:1.8;color:#58716c;border-top:1px solid #d9dfdb;padding-top:20px}.catalogue-help{background:#d9e4df;padding:85px 0}.catalogue-help-inner{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.catalogue-help-inner p:not(.eyebrow){font-size:15px;line-height:1.9;color:#4b615d}.catalogue-help .button{margin-top:8px}
.drawer-backdrop{position:fixed;inset:0;background:#1025228c;z-index:29}.enquiry-drawer{position:fixed;right:0;top:0;bottom:0;width:min(480px,100%);z-index:30;background:#f4f4f0;display:flex;flex-direction:column;box-shadow:-10px 0 45px #10252230}.drawer-backdrop[hidden],.enquiry-drawer[hidden],[hidden]{display:none!important}.drawer-header{padding:26px 28px 20px;border-bottom:1px solid #d9dfdb;display:flex;align-items:start;justify-content:space-between}.drawer-header .eyebrow{margin-bottom:8px}.drawer-header h2{font-size:36px}.drawer-close{font-size:32px;background:none;border:0;color:#203c3c;cursor:pointer}.drawer-body{overflow-y:auto;padding:25px 28px 40px}.drawer-intro,.cart-empty{font-size:13px;color:#58716c;line-height:1.8}.cart-line{border-bottom:1px solid #d9dfdb;padding:18px 0;display:flex;justify-content:space-between;gap:12px}.cart-line strong{font-size:13px}.cart-line small{display:block;color:#58716c;margin-top:5px}.cart-qty{display:flex;gap:10px;align-items:center}.cart-qty button{background:#fff;border:1px solid #bacbc4;color:#203c3c;width:29px;height:29px;cursor:pointer}.remove-item{background:none;border:0;text-decoration:underline;color:#58716c;font-size:11px;margin-top:9px;cursor:pointer}.drawer-body form{padding-top:26px}.drawer-body form h3{font:400 28px 'Playfair Display';margin-bottom:20px}.drawer-body form label{display:block;font-size:12px;font-weight:700;margin:14px 0 7px}.drawer-body form input,.drawer-body form select,.drawer-body form textarea{width:100%;border:1px solid #bacbc4;background:#fff;padding:12px;font:13px Manrope;color:#203c3c}.enquiry-notice,.form-feedback{font-size:12px;color:#58716c;line-height:1.7;margin:20px 0}.drawer-submit{border:0;cursor:pointer;width:100%}
@media(max-width:950px){.catalogue-toolbar{grid-template-columns:1fr 1fr}.catalogue-search{grid-column:1/-1}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.catalogue-hero{padding:65px 0 60px}.catalogue-section{padding-top:30px}.catalogue-toolbar{grid-template-columns:1fr 1fr;gap:12px}.catalogue-search{grid-column:1/-1}.enquiry-trigger{grid-column:1/-1}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.product-visual{padding:12px}.product-placeholder .bottle{transform:scale(.82)}.product-card h3{font-size:19px}.product-brand{margin-top:12px}.catalogue-help-inner{grid-template-columns:1fr;gap:20px}.drawer-header,.drawer-body{padding-left:20px;padding-right:20px}}


/* RAE MACS — PRODUCT IMAGE ALIGNMENT */

.product-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 25px;
}

.product-visual img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  margin: auto;
}


/* ==========================================
   RAE MACS — UNIFORM PRODUCT CARDS
   ========================================== */

.product-grid {
  align-items: stretch;
}

.product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Consistent product image area */

.product-visual {
  width: 100%;
  aspect-ratio: 1 / 1.06;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Product description preview */

.product-description-wrapper {
  margin-top: 8px;
  margin-bottom: 18px;
}

.product-description {
  font-family: Manrope, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.7;
  color: #58716c;

  white-space: pre-line;
  overflow-wrap: anywhere;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;

  margin-bottom: 8px;
}

/* Expanded description */

.product-description-wrapper.expanded
.product-description {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}

/* Read more button */

.read-more-btn {
  background: none;
  border: none;
  padding: 0;
  color: #203c3c;
  font-family: Manrope, Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.read-more-btn:hover {
  opacity: 0.65;
}

/* Keep enquiry buttons aligned */

.product-card > .add-product {
  margin-top: auto;
}

/* Space between details and enquiry button */

.product-description-wrapper + .add-product {
  margin-top: auto;
}


/* ==========================================
   PRODUCT IMAGE CAROUSEL
   ========================================== */

.product-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.product-visual .single-product-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.product-carousel {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  touch-action: pan-y;
}

.product-carousel .carousel-image {
  display: none;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.product-carousel .carousel-image.active {
  display: block;
}

.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dce4e0;
  border-radius: 50%;
  background: rgba(244, 244, 240, 0.95);
  color: #203c3c;
  font-family: Arial, sans-serif;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.carousel-arrow.prev {
  left: 5px;
}

.carousel-arrow.next {
  right: 5px;
}

.carousel-arrow:hover {
  background: #203c3c;
  color: #ffffff;
}

.carousel-arrow:focus-visible {
  outline: 2px solid #203c3c;
  outline-offset: 2px;
}

.carousel-counter {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  background: rgba(244, 244, 240, 0.95);
  color: #203c3c;
  padding: 4px 10px;
  border-radius: 20px;
  font-family: Manrope, Arial, sans-serif;
  font-size: 11px;
  white-space: nowrap;
}


/* ==========================================
   PRODUCT IMAGE LIGHTBOX
   ========================================== */

.product-lightbox[hidden] {
  display: none !important;
}

.product-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(15, 25, 24, 0.96);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 65px;
}

.lightbox-image-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#lightbox-image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  background: #ffffff;
}

.lightbox-close {
  position: absolute;
  top: 18px;
  right: 25px;
  z-index: 10;
  border: none;
  background: none;
  color: #ffffff;
  font-size: 38px;
  cursor: pointer;
}

.lightbox-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  color: #ffffff;
  font-size: 30px;
  cursor: pointer;
}

.lightbox-arrow[hidden] {
  display: none !important;
}

.lightbox-prev {
  left: 15px;
}

.lightbox-next {
  right: 15px;
}

.lightbox-arrow:hover {
  background: rgba(255,255,255,0.25);
}

.lightbox-counter {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: #ffffff;
  font-family: Manrope, Arial, sans-serif;
  font-size: 13px;
  letter-spacing: 1px;
}

/* Make catalogue images appear clickable */

.product-visual .single-product-image,
.product-carousel .carousel-image.active {
  cursor: zoom-in;
}

/* Mobile adjustments */

@media (max-width: 600px) {
  .product-lightbox {
    padding: 75px 45px;
  }

  .lightbox-arrow {
    width: 34px;
    height: 34px;
    font-size: 24px;
  }

  .lightbox-prev {
    left: 5px;
  }

  .lightbox-next {
    right: 5px;
  }

  .lightbox-close {
    right: 15px;
  }
}


/* FIX — Allow clicking product images anywhere */

.product-visual::before {
  pointer-events: none;
}

.product-visual .single-product-image,
.product-carousel .carousel-image.active {
  position: relative;
  z-index: 2;
  cursor: zoom-in;
}
