/* Step 70 — practical catalog polish */
:root {
    --catalog-burgundy: #8f1d2c;
    --catalog-burgundy-dark: #6f1420;
}

.catalog-detail {
    gap: 18px;
}

.catalog-detail__content {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.catalog-detail__header {
    padding-bottom: 24px;
}

.catalog-detail__header h1 {
    margin-bottom: 0;
}

.catalog-detail__section,
.catalog-contact-card {
    padding: 24px;
}

.catalog-detail__section > h2,
.catalog-contact-card > h2,
.catalog-rich-content h2,
.catalog-rich-content h3 {
    color: #111827;
}

.catalog-detail__section > h2,
.catalog-contact-card > h2 {
    position: relative;
    margin: 0 0 20px;
    padding-bottom: 11px;
    border-bottom: 1px solid #e5e7eb;
}

.catalog-detail__section > h2::after,
.catalog-contact-card > h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 72px;
    height: 3px;
    border-radius: 999px;
    background: var(--catalog-burgundy);
}

.catalog-rich-content h2,
.catalog-rich-content h3 {
    border-color: var(--catalog-burgundy) !important;
}

.catalog-contact-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 22px;
}

.catalog-contact-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-width: 0;
    padding: 11px 0;
}

.catalog-contact-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #f8eef0;
    color: var(--catalog-burgundy);
    font-size: 16px;
}

.catalog-contact-item div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.catalog-contact-item strong {
    color: #6b7280;
    font-size: 12px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.catalog-contact-item span,
.catalog-contact-item a {
    overflow-wrap: anywhere;
    color: #111827;
    font-weight: 650;
    text-decoration: none;
}

.catalog-contact-item a:hover {
    color: var(--catalog-burgundy);
    text-decoration: underline;
}

.catalog-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e5e7eb;
}

.catalog-quick-actions a,
.catalog-route-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid var(--catalog-burgundy);
    border-radius: 999px;
    background: #fff;
    color: var(--catalog-burgundy);
    font-weight: 800;
    text-decoration: none;
}

.catalog-quick-actions a:first-child,
.catalog-route-button:hover {
    background: var(--catalog-burgundy);
    color: #fff;
}

.catalog-quick-actions a:hover {
    background: var(--catalog-burgundy-dark);
    border-color: var(--catalog-burgundy-dark);
    color: #fff;
}

.catalog-page-toc .auto-toc__title,
.catalog-page-toc .auto-toc__list a {
    font-weight: 500 !important;
}

.catalog-page-toc .auto-toc__list a {
    color: #374151;
}

.catalog-page-toc .auto-toc__list a:hover {
    color: var(--catalog-burgundy);
}

.catalog-detail__views {
    margin: -4px 4px 0;
    color: #6b7280;
    font-size: 13px;
}

#catalog-description,
#catalog-gallery,
#catalog-map,
#catalog-contacts,
.catalog-rich-content h2[id],
.catalog-rich-content h3[id] {
    scroll-margin-top: 96px;
}

@media (max-width: 760px) {
    .catalog-detail {
        gap: 14px;
    }

    .catalog-contact-list {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .catalog-detail__section,
    .catalog-contact-card {
        padding: 19px;
    }

    .catalog-quick-actions a {
        flex: 1 1 120px;
    }
}

/* Step 71 — showcase layout matching the approved mockup */
.catalog-showcase-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.catalog-showcase-main{min-width:0}.catalog-showcase-hero{overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.06)}.catalog-showcase-hero .catalog-detail__image{display:block;width:100%;height:min(390px,42vw);max-height:none;border:0;border-radius:0;box-shadow:none}.catalog-showcase-hero .catalog-detail__header{border:0;border-radius:0;box-shadow:none;padding:22px 24px}.catalog-showcase-hero .catalog-detail__header h1{font-size:38px}.catalog-showcase-hero .catalog-detail__kicker{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;font-size:15px}.catalog-showcase-aside{position:sticky;top:92px;display:flex;flex-direction:column;gap:18px}.catalog-side-card{padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 6px 20px rgba(15,23,42,.05)}.catalog-side-card .catalog-page-toc,.catalog-side-card .auto-toc{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.catalog-side-meta{display:flex;flex-direction:column;gap:0}.catalog-side-meta>div{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-bottom:1px solid #eef0f2}.catalog-side-meta>div:first-child{padding-top:0}.catalog-side-meta>div:last-child{padding-bottom:0;border-bottom:0}.catalog-side-meta span{color:#6b7280;font-size:13px}.catalog-side-meta strong{color:#20242b;font-size:14px;line-height:1.45}.catalog-side-meta .is-verified span{color:#16803a}.catalog-detail__content{margin-top:18px}.catalog-detail__section,.catalog-contact-card{border-radius:16px}.catalog-quick-actions a{border-radius:8px;min-width:142px}.catalog-quick-actions a.is-primary{background:var(--catalog-burgundy);color:#fff}.catalog-map-section iframe{width:100%;min-height:330px;border:0;border-radius:12px}.catalog-detail__views{display:none}
@media(max-width:960px){.catalog-showcase-grid{grid-template-columns:1fr}.catalog-showcase-aside{position:static;order:-1}.catalog-side-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.catalog-side-meta>div:nth-last-child(2){border-bottom:0}}
@media(max-width:620px){.catalog-showcase-hero .catalog-detail__image{height:230px}.catalog-showcase-hero .catalog-detail__header{padding:18px}.catalog-showcase-hero .catalog-detail__header h1{font-size:30px}.catalog-side-meta{grid-template-columns:1fr}.catalog-side-meta>div:nth-last-child(2){border-bottom:1px solid #eef0f2}.catalog-quick-actions a{flex:1 1 100%;min-width:0}}
