/* Marine Chemicals product catalogue, detail and listings (Bauhaus styling). */
.view-products-public .view-content { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 30px; margin: 30px 0 40px; }
.view-products-public .views-exposed-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 10px 0 0; }
.view-products-public .views-exposed-form .form-item { flex: 1 1 320px; margin: 0; }
.view-products-public .views-exposed-form input[type="text"] { width: 100%; height: 50px; border: 1px solid #e1e1e1; padding: 0 16px; font-size: 15px; }
.view-products-public .views-exposed-form .form-actions { margin: 0; }
.view-products-public .views-exposed-form input[type="submit"] { height: 50px; padding: 0 34px; border: 0; background: #cee002; color: #000; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.view-products-public .views-exposed-form label { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .1em; color: #999; margin-bottom: 6px; }

.rx-card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #ececec; color: #111; text-decoration: none !important; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rx-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(0,0,0,.08); border-color: #cee002; color: #111; }
.rx-card__img { aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; background: #f6f6f6; overflow: hidden; position: relative; }
.rx-card__img img { width: 100%; height: 100%; object-fit: cover; }
.rx-card__initials { font-family: 'Playfair Display', serif; font-size: 44px; font-weight: 700; color: #222; position: relative; }
.rx-card__initials::after { content: ''; position: absolute; left: -14px; right: -14px; bottom: 6px; height: 14px; background: #cee002; z-index: -1; }
.rx-card__img .rx-card__initials { z-index: 1; }
.rx-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.rx-card__cat { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: #999; }
.rx-card__title { font-family: 'Poppins', sans-serif; font-size: 16px; line-height: 1.4; font-weight: 600; margin: 0; }
.rx-card__sku { margin-top: auto; padding-top: 8px; font-size: 12px; color: #666; font-family: monospace; }

.rx-product { padding: 20px 0 60px; }
.rx-product__media { background: #f6f6f6; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; margin: 0 0 30px; overflow: hidden; }
.rx-product__media img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.rx-product__media .rx-card__initials { font-size: 96px; }
.rx-product__cats { margin-bottom: 14px; }
.rx-product__cats a { display: inline-block; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; padding: 5px 12px; margin: 0 6px 6px 0; background: #111; color: #fff; }
.rx-product__cats a:hover { background: #cee002; color: #000; text-decoration: none; }
.rx-product__sku { font-size: 14px; color: #666; margin-bottom: 18px; }
.rx-product__sku strong { color: #111; font-family: monospace; font-size: 15px; margin-left: 6px; }
.rx-product__lead { font-size: 18px; line-height: 1.6; color: #333; margin-bottom: 24px; }
.rx-product__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; }
.rx-product__actions .btn { padding: 14px 30px; }
.rx-btn-outline { border: 2px solid #111; background: transparent; color: #111; }
.rx-btn-outline:hover { background: #111; color: #fff; }
.rx-product__body { font-size: 15px; line-height: 1.8; color: #444; }
.rx-product__body img { max-width: 100%; height: auto; }
.rx-product__body table { width: 100%; margin: 16px 0; }
.rx-product__body td, .rx-product__body th { border: 1px solid #e1e1e1; padding: 8px 10px; }
.rx-product__specs { margin-top: 30px; }
.rx-spec { border-left: 4px solid #cee002; background: #f8f8f8; padding: 26px 28px; margin-bottom: 30px; height: calc(100% - 30px); }
.rx-spec h3 { font-size: 18px; margin: 0 0 12px; font-weight: 600; }

@media (max-width: 767px) {
  .view-products-public .view-content { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .rx-card__body { padding: 12px 12px 16px; }
  .rx-card__title { font-size: 14px; }
  .rx-product__media .rx-card__initials { font-size: 64px; }
}

.rx-card__price { font-size: 13px; font-weight: 600; color: #111; }
.rx-product__price { font-size: 16px; margin-bottom: 18px; }
.rx-product__price strong { font-size: 20px; }
.rx-product__facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px 20px; margin: 0 0 24px; }
.rx-product__facts dt { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: #999; font-weight: 400; }
.rx-product__facts dd { margin: 2px 0 0; font-size: 15px; color: #111; }
.rx-product__thumbs { display: flex; gap: 10px; flex-wrap: wrap; margin: -18px 0 30px; }
.rx-product__thumbs img { width: 80px; height: 80px; object-fit: cover; border: 1px solid #ececec; }
.rx-spec { overflow-wrap: anywhere; }
.rx-spec img { max-width: 100%; height: auto; }
.rx-product__more { margin-top: 20px; }
.rx-product__more h3 { font-size: 18px; font-weight: 600; margin: 0 0 12px; }
.rx-product__more ul { padding-left: 18px; }
.rx-product__more li { margin-bottom: 6px; }

/* Category intro on /products/{tid} and the /product-categories list. */
.mc-category-intro { font-size: 16px; line-height: 1.8; color: #444; margin: 10px 0 20px; max-width: 900px; }
.mc-category-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; margin: 30px 0 60px; }
.mc-category-list > li { border: 1px solid #ececec; padding: 22px 24px; background: #fff; }
.mc-category-name { font-size: 17px; font-weight: 600; margin: 0 0 8px; }
.mc-category-name a { color: #111; }
.mc-category-name a:hover { color: #000; background: #cee002; text-decoration: none; }
.mc-category-desc { font-size: 14px; line-height: 1.7; color: #666; }

/* Editorial listings: /price, /tips, /locations, /daily-updates, /customers ... */
.mc-listing { list-style: none; padding: 0; margin: 30px 0 50px; }
.mc-listing-item { padding: 22px 0; border-bottom: 1px solid #ececec; }
.mc-listing-title { font-size: 19px; font-weight: 600; margin: 0 0 6px; line-height: 1.4; }
.mc-listing-title a { color: #111; }
.mc-listing-date { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: #999; }
.mc-listing-summary { margin-top: 8px; color: #555; line-height: 1.7; }
.view-marine-listings .views-exposed-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-top: 10px; }
.view-marine-listings .views-exposed-form .form-item { flex: 1 1 260px; margin: 0; }
.view-marine-listings .views-exposed-form input[type="text"] { width: 100%; height: 50px; border: 1px solid #e1e1e1; padding: 0 16px; }
.view-marine-listings .views-exposed-form input[type="submit"] { height: 50px; padding: 0 34px; border: 0; background: #cee002; color: #000; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.view-marine-listings .views-exposed-form label { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .1em; color: #999; margin-bottom: 6px; }
