/* Product price (copied from product.css) */
.product-price {
    color: #414141;
    font-family: "EB Garamond", "Wix Madefor Display", serif;
    font-weight: 200;
    font-size: 24px;
}

.price-garamond {
    font-family: "EB Garamond", "Wix Madefor Display", serif;
}

.price-suffix {
    font-size: 0.72em;
}

/* Tighter text rhythm specifically for catalog cards */
.catalog-hero-bg .locket-title {
    line-height: 1.12;
    margin-bottom: 2px;
}

.catalog-hero-bg .locket-details {
    line-height: 1.18;
}

/* Catalog page background */
.catalog-hero-bg{
    position: relative;
    z-index: 0;
    isolation: isolate;
  }
  
  /* Фон приколочен к viewport */
  .catalog-hero-bg::before{
    content:"";
    position: fixed;
    opacity: 70%;
    inset: 0;
    background-image: url('/static/images/catalog/catalog-bg.jpeg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    z-index: -1;
    pointer-events: none;
  }
  
  /* (опционально) лёгкая “молочная” вуаль, чтобы текст читался */
  .catalog-hero-bg::after{
    content:"";
    position: fixed;
    inset: 0;
    background: rgba(var(--bg-main-rgb), 0.25);
    z-index: -1;
    pointer-events: none;
  }
/* .catalog-hero-bg {
    background-image: url('/static/images/catalog/catalog-bg.jpeg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    position: relative;
    position: relative;
    background: linear-gradient(135deg, #FAF8F4 0%, #F3EFE8 45%, #EADCC2 100%);
    overflow: hidden;
}

.catalog-hero-bg::before {
    content: "";
    position: absolute;
    inset: -20%;

    background:
      radial-gradient(700px 350px at 20% 25%,
        rgba(255, 255, 255, 0.55) 0%,
        rgba(255, 255, 255, 0.00) 70%),
      radial-gradient(800px 420px at 85% 80%,
        rgba(255, 255, 255, 0.40) 0%,
        rgba(255, 255, 255, 0.00) 72%),
      radial-gradient(900px 600px at 50% 50%,
        rgba(201, 164, 92, 0.08) 0%,
        rgba(201, 164, 92, 0.00) 70%);
    filter: blur(18px);
    opacity: 0.9;
    pointer-events: none;
  }

.catalog-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      repeating-radial-gradient(circle at 10% 20%,
        rgba(0,0,0,0.018) 0 1px,
        rgba(0,0,0,0.0) 1px 6px);
    opacity: 0.25;
    mix-blend-mode: multiply;
    pointer-events: none;
  } */


/* Product image shadow (light from top-left) */
.catalog-product-shadow {
    filter: drop-shadow(2px 4px 4px rgba(0, 0, 0, 0.4));
}

/* Search: slide-out field */
.catalog-search {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.catalog-search-panel {
    position: absolute;
    right: 100%;
    top: 50%;
    margin-right: 12px;
    transform: translateY(-50%) translateX(8px);
    width: 0;
    max-width: 0;
    opacity: 0;
    pointer-events: none;
    transition: max-width 240ms ease, opacity 200ms ease, transform 240ms ease;
    z-index: 5;
}

.catalog-search.is-open .catalog-search-panel {
    width: min(70vw, 320px);
    max-width: 320px;
    opacity: 1;
    transform: translateY(-50%) translateX(0);
    pointer-events: auto;
}

.catalog-search-form {
    background: rgba(var(--bg-soft-rgb), 0.95);
    border: 1px solid rgba(var(--line-light-rgb), 1);
    border-radius: 12px;
    padding: 6px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

/* Filters overlay: smooth open/close */
.catalog-filters-overlay {
    opacity: 1;
    pointer-events: none;
}

.catalog-filters-backdrop {
    opacity: 0;
    transition: opacity 460ms ease;
}

.catalog-filters-panel {
    background: rgba(255, 251, 242, 0.82);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-left: 1px solid rgba(var(--line-light-rgb), 0.7);
    box-shadow: -18px 0 36px rgba(0, 0, 0, 0.16);
    transform: translateX(480px);
    transition: transform 600ms ease;
}

.catalog-filters-overlay.is-open {
    pointer-events: auto;
}

.catalog-filters-overlay.is-open .catalog-filters-backdrop {
    opacity: 1;
}

.catalog-filters-overlay.is-open .catalog-filters-panel {
    transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
    .catalog-filters-backdrop,
    .catalog-filters-panel {
        transition: none;
    }
}


/* Price styled like order button */
.product-price-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 48px;
    padding: 0 24px;
    border-radius: 10px;
    background-color: rgba(var(--bg-soft-rgb, #F3EFE8), 0.2);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow:
        0 6px 14px rgba(0, 0, 0, 0.08),
        inset 0 1px 2px rgba(255, 255, 255, 0.1);
}

@media (max-width: 768px) {
    .product-price {
        font-size: 20px;
    }
    .product-price-button {
        width: 85%;
    }

    /* Search: prevent overflow on small screens */
    .catalog-search.is-open .catalog-search-panel {
        width: min(78vw, 280px);
        max-width: 280px;
    }

    /* While search is open on mobile — hide extra controls */
    .catalog-search.is-open ~ #open-filters,
    .catalog-search.is-open ~ #reset-filters {
        display: none;
    }
}

@media (hover: hover) and (pointer: fine) {
    .group:hover .catalog-img-main { opacity: 0; }
    .group:hover .catalog-img-hover { opacity: 1; }
  }