/* Maret final fixes - loaded after main stylesheet */

.product-row{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}

.product-card{
  position:relative !important;
  display:block !important;
  min-width:0 !important;
  overflow:visible !important;
}

.product-img{
  width:100% !important;
  height:380px !important;
  background:#faf8f5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

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

@media(max-width:900px){
  .product-row{
    grid-template-columns:1fr !important;
  }

  .product-img{
    height:420px !important;
  }
}

/* === MOBILE LUXURY POLISH === */

.menu-toggle{
  color:#8f7b6c !important;
}

@media(max-width:900px){
  .logo{
    letter-spacing:8px !important;
  }

  .hero h1{
    font-size:44px !important;
    line-height:1.02 !important;
  }

  .hero-copy{
    padding:54px 28px !important;
  }

  .hero-real{
    background-position:65% center !important;
  }

  .btn{
    padding:16px 34px !important;
  }
}

/* === HERO OVERLAY SOFTENING === */

.hero-real{
  background:
    linear-gradient(
      90deg,
      rgba(255,250,247,.88) 0%,
      rgba(255,250,247,.55) 34%,
      rgba(255,250,247,.05) 58%
    ),
    url("/assets/images/hero/hero-banner-red.png") !important;
  background-size:cover !important;
  background-position:65% center !important;
}

/* === MOBILE HERO REPOSITION FIX === */

@media(max-width:900px){
  .hero-real{
    min-height:650px !important;
    background:
      linear-gradient(
        90deg,
        rgba(255,250,247,.96) 0%,
        rgba(255,250,247,.78) 45%,
        rgba(255,250,247,.18) 72%
      ),
      url("/assets/images/hero/hero-banner-red.png") !important;
    background-size:cover !important;
    background-position:72% center !important;
  }

  .hero-copy{
    max-width:78% !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .hero h1{
    font-size:40px !important;
  }

  .hero-copy p:not(.eyebrow){
    font-size:18px !important;
    line-height:1.55 !important;
  }
}

/* === PRODUCT PAGE === */

.product-page{
  background:#fffaf7;
}

.product-detail{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  padding:70px 8vw;
  align-items:start;
}

.product-gallery{
  background:#fff;
  padding:24px;
}

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

.product-info{
  background:#fff;
  padding:48px;
}

.product-info h1{
  font-family:var(--serif);
  font-size:52px;
  line-height:1;
  font-weight:400;
  margin:14px 0 22px;
}

.product-description{
  font-size:18px;
  line-height:1.8;
  color:#3f3935;
}

.product-meta{
  margin:28px 0;
  line-height:1.8;
  color:#5c514c;
}

@media(max-width:900px){
  .product-detail{
    grid-template-columns:1fr;
    gap:28px;
    padding:32px 22px;
  }

  .product-info{
    padding:30px 24px;
  }

  .product-info h1{
    font-size:38px;
  }
}

/* Catalogue pages v1 */
.collection-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 120px 22px 70px;
}

.collection-page h1 {
  font-family: "Cinzel", serif;
  font-size: clamp(2.4rem, 6vw, 5rem);
  margin-bottom: 10px;
}

.collection-intro {
  max-width: 560px;
  line-height: 1.7;
  opacity: .8;
  margin-bottom: 38px;
}

.collection-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.collection-card {
  text-decoration: none;
  color: inherit;
}

.collection-card img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 24px;
  display: block;
}

.collection-card h2 {
  font-size: 1rem;
  margin: 14px 0 4px;
}

.collection-card p,
.product-code {
  font-size: .85rem;
  opacity: .65;
}

.product-gallery {
  display: grid;
  gap: 18px;
}

.product-gallery img {
  width: 100%;
  border-radius: 26px;
  display: block;
}

.back-link {
  display: inline-block;
  margin-top: 18px;
  color: inherit;
  opacity: .75;
}

@media (max-width: 900px) {
  .collection-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .collection-page {
    padding-top: 95px;
  }

  .collection-grid {
    grid-template-columns: 1fr;
  }
}

/* Product page button spacing fix */
.product-info .enquiry-button {
  margin-bottom: 28px;
}

.product-info .back-link {
  display: block;
  margin-top: 10px;
}

/* Product page action layout fix */
.product-info .enquiry-button {
  display: inline-block;
  margin-bottom: 0;
}

.product-info .back-link {
  display: inline-block;
  float: right;
  margin-top: 14px;
  opacity: .65;
}

/* Product page same-line actions */
.product-info .enquiry-button,
.product-info .back-link {
  vertical-align: middle;
}

.product-info .back-link {
  float: none;
  margin-left: 28px;
  margin-top: 0;
}

@media (max-width: 560px) {
  .product-info .enquiry-button,
  .product-info .back-link {
    display: block;
    width: 100%;
    text-align: center;
  }

  .product-info .back-link {
    margin-left: 0;
    margin-top: 18px;
  }
}

/* Product page actions: button left, back link right */
.product-info .enquiry-button {
  display: inline-block;
}

.product-info .back-link {
  float: right;
  margin-left: 0;
  margin-top: 14px;
}

@media (max-width: 560px) {
  .product-info .back-link {
    float: none;
    display: block;
    margin-top: 18px;
  }
}

/* Desktop-only collection hover image swap */
@media (hover: hover) and (pointer: fine) {
  .collection-card img {
    transition: opacity .25s ease, transform .25s ease;
  }

  .collection-card:hover img {
    transform: scale(1.015);
  }
}

/* Jewellery card image fit fix */
.collection-card img[src*="/jewellery/products/MJW-005"] {
  object-fit: contain !important;
  padding: 28px;
  background: #fff;
}

/* Jewellery MJW-005 size adjustment */
.collection-card img[src*="/jewellery/products/MJW-005"] {
  padding: 10px !important;
}
