/* =========================================================================
   Cultouring — "Mi colección" + save (heart) buttons (Fase 3, BP-16). Milpa.
   ========================================================================= */
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 300 900; font-display: swap; src: url('../fonts/fraunces-wght-normal.woff2') format('woff2-variations'); }

/* --- Save / favourite button (used on explorer cards + place ficha) --- */
.ct-fav-btn {
    display: inline-flex; align-items: center; gap: 0.4rem;
    background: rgba(255,255,255,0.92); color: #C8583A;
    border: 1px solid rgba(200,88,58,0.35); border-radius: 999px;
    padding: 0.35rem 0.8rem; font: inherit; font-size: 0.82rem; font-weight: 600;
    cursor: pointer; transition: all 0.18s ease; line-height: 1;
}
.ct-fav-btn:hover { background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.12); }
.ct-fav-btn .ct-fav-heart { font-size: 1rem; }
.ct-fav-btn.is-saved { background: #C8583A; color: #fff; border-color: #C8583A; }
/* compact icon-only variant for cards */
.ct-fav-btn-icon { padding: 0.35rem 0.5rem; position: absolute; top: 10px; left: 10px; z-index: 3; }
.ct-fav-btn-icon .ct-fav-label { display: none; }

/* count badge (nav/menu) */
.ct-collection-badge { display: inline-block; min-width: 18px; padding: 0 5px; background: #C8583A; color: #fff; border-radius: 999px; font-size: 0.7rem; font-weight: 700; text-align: center; }

/* --- Collection page --- */
.ct-collection { background: #F5F0E8; padding: clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem); }
.ct-collection-inner { max-width: 1100px; margin: 0 auto; }
.ct-collection-head { text-align: center; margin-bottom: 2rem; }
.ct-collection-title { font-family: 'Fraunces', Georgia, serif; font-weight: 700; font-size: clamp(2rem,5vw,3rem); color: #143C36; margin: 0; }
.ct-collection-sub { color: #5C4A3A; margin: 0.5rem 0 0; font-size: 1.05rem; }
.ct-collection-empty { text-align: center; color: #9A8A78; padding: 3rem 1rem; }
.ct-collection-empty svg { color: #d9c9b8; margin-bottom: 0.8rem; }
.ct-collection-empty p { margin: 0 0 1.2rem; }
.ct-collection-cta { display: inline-block; background: #1C5C52; color: #F5F0E8; padding: 0.6rem 1.4rem; border-radius: 999px; text-decoration: none; font-weight: 600; }
.ct-collection-cta:hover { background: #0c3a38; }
.ct-collection-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 1.2rem; }
.ct-col-card { position: relative; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 14px -6px rgba(0,0,0,.14); }
.ct-col-card-link { text-decoration: none; color: inherit; display: block; }
.ct-col-card-img { height: 150px; background-size: cover; background-position: center; background-color: #1C5C52; }
.ct-col-card-img-empty { background: linear-gradient(135deg,#1C5C52,#0c3a38); }
.ct-col-card-body { padding: 0.9rem 1rem; }
.ct-col-card-cat { font-size: 0.7rem; text-transform: uppercase; letter-spacing: .06em; color: #C8583A; font-weight: 700; }
.ct-col-card-title { font-family: 'Fraunces', Georgia, serif; font-size: 1.1rem; color: #143C36; margin: 0.2rem 0 0; }
.ct-col-card-remove { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(0,0,0,0.55); color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer; }
.ct-col-card-remove:hover { background: #C8583A; }

/* SITE CHROME — harmonise Cassiopeia header + hide topbar login on this view (CAL-271). */
body.com_cultouring .container-topbar { display: none !important; }
body.com_cultouring header.container-header,
body.com_cultouring header.header {
    background: linear-gradient(180deg, #0c3a38 0%, #114c4c 100%) !important;
    border-bottom: 1px solid rgba(196, 144, 26, 0.30);
    box-shadow: 0 2px 18px -8px rgba(0, 0, 0, 0.45);
}
body.com_cultouring .navbar-brand .brand-logo,
body.com_cultouring .navbar-brand .brand-logo span { color: #F5F0E8 !important; font-family: 'Fraunces', Georgia, serif !important; font-weight: 600 !important; text-decoration: none !important; }
body.com_cultouring .navbar-brand .site-description { color: rgba(245,240,232,0.74) !important; font-style: italic; }
body.com_cultouring .container-nav .mod-menu > li > a { color: #F5F0E8 !important; font-weight: 500; }
body.com_cultouring .container-nav .mod-menu > li > a:hover,
body.com_cultouring .container-nav .mod-menu > li.current > a { color: #d9a52e !important; }
