:root{--gc-accent:#202020;--gc-accent-alt:#444;--gc-accent-contrast:#fff}
.gc-catalog,.gc-catalog *{box-sizing:border-box}.gc-catalog{width:100%;max-width:100%;margin:0 auto 48px;color:var(--gc-text,#333);background:var(--gc-bg,#fff);font-family:inherit}.gc-catalog button,.gc-catalog input,.gc-catalog select{font:inherit}.gc-catalog__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 0 22px;border-bottom:1px solid rgba(0,0,0,.14)}.gc-catalog__eyebrow{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gc-accent);margin-bottom:5px}.gc-catalog__head h2{margin:0;font-size:clamp(1.8rem,3vw,3rem);font-weight:600;line-height:1}.gc-result-count{font-size:.88rem;color:#777;white-space:nowrap}
.gc-tools{padding:18px 0 24px;border-bottom:1px solid rgba(0,0,0,.1)}.gc-search{position:relative;display:block;max-width:560px;margin-bottom:16px}.gc-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:19px;height:19px;stroke:#777;fill:none}.gc-search input{width:100%;height:46px;padding:0 16px 0 42px;border:1px solid #d8d8d5;border-radius:0;background:#fff;color:#222;outline:none}.gc-search input:focus{border-color:var(--gc-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--gc-accent) 15%,transparent)}.gc-filter-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.gc-filter-row label{display:flex;flex-direction:column;gap:5px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#777}.gc-filter-row select{min-width:150px;height:40px;padding:0 34px 0 11px;border:1px solid #d8d8d5;background:#fff;color:#222}.gc-clear{height:40px;padding:0 14px;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--gc-accent);cursor:pointer}.gc-letters{display:flex;gap:2px;flex-wrap:wrap;margin-top:18px}.gc-letters button{border:0;background:transparent;color:#666;min-width:28px;height:30px;padding:0 7px;cursor:pointer;border-radius:2px}.gc-letters button:hover,.gc-letters button.is-active{background:var(--gc-accent);color:var(--gc-accent-contrast,#fff)}
.gc-grid{display:grid;grid-template-columns:repeat(var(--gc-cols-d,5),minmax(0,1fr));gap:clamp(30px,4vw,58px) clamp(20px,3vw,42px);padding:34px 0}.gc-book[hidden]{display:none!important}.gc-book{min-width:0}.gc-book__open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.gc-cover-wrap{position:relative;display:flex;align-items:flex-end;justify-content:center;aspect-ratio:2/3;background:#f3f1ed;overflow:hidden;margin-bottom:15px}.gc-cover{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:none}.gc-cover--empty{width:100%;height:100%;display:grid;place-items:center;color:#999;font-size:.8rem}.gc-cover-mark{position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gc-accent);color:var(--gc-accent-contrast,#fff);font-size:1.2rem;opacity:0;transform:translateY(5px);transition:.25s}.gc-book__open:hover .gc-cover-mark,.gc-book__open:focus-visible .gc-cover-mark{opacity:1;transform:none}.gc-book__author{display:block;font-size:.72rem;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#777;margin-bottom:4px}.gc-book__title{display:block;font-size:1rem;line-height:1.25;font-weight:650;color:var(--gc-text-dark,#202020)}.gc-book__subtitle{display:block;font-size:.85rem;line-height:1.35;color:#777;margin-top:4px}.gc-book__excerpt{display:block;font-size:.82rem;line-height:1.45;color:#666;margin-top:8px}.gc-book__detail{display:none}.gc-load-wrap{text-align:center;padding-top:8px}.gc-load-more{min-width:170px;height:44px;border:1px solid var(--gc-accent);background:transparent;color:var(--gc-accent);cursor:pointer;padding:0 22px}.gc-load-more:hover{background:var(--gc-accent);color:var(--gc-accent-contrast,#fff)}.gc-empty{text-align:center;padding:50px 15px;color:#777}
.gc-modal[hidden]{display:none!important}.gc-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px}.gc-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}.gc-modal__panel{position:relative;z-index:1;width:min(960px,100%);max-height:min(88vh,820px);overflow:auto;background:#fff;color:#222;box-shadow:0 25px 80px rgba(0,0,0,.28)}.gc-modal__close{position:sticky;float:right;top:12px;right:12px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#111;color:#fff;font-size:25px;line-height:1;cursor:pointer;margin:12px}.gc-modal__content{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:clamp(28px,5vw,64px);padding:52px clamp(28px,5vw,64px) clamp(34px,5vw,60px)}.gc-detail__cover img{display:block;width:100%;height:auto}.gc-detail__eyebrow{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gc-accent)}.gc-detail__body h3{font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:.4rem 0 .7rem;font-weight:600}.gc-detail__author{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.gc-detail__subtitle{font-style:italic;color:#666;margin-bottom:1.7rem}.gc-detail__synopsis{font-size:1rem;line-height:1.65;color:#444}.gc-detail__body dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid #ddd;margin-top:24px;padding-top:18px}.gc-detail__body dl div{min-width:0}.gc-detail__body dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#888}.gc-detail__body dd{margin:4px 0 0;font-size:.85rem}.gc-detail__cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:var(--gc-accent);color:var(--gc-accent-contrast,#fff)!important;text-decoration:none;margin-top:24px}.gc-modal-open{overflow:hidden}
.gamma-catalogos-editor{width:100%;max-width:100%}.gc-editor-card{--gc-accent:#202020;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:32px;text-align:center;border:1px solid #e1e3e6;background:#fff;border-top:4px solid var(--gc-accent)}.gc-editor-card svg{width:42px;height:42px;color:var(--gc-accent);margin:12px}.gc-editor-card h3{margin:0 0 8px;font-size:22px}.gc-editor-card p{margin:0;color:#646970}.gc-editor-badge{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--gc-accent)}
.gc-admin-shell{--gc-accent:#202020;--gc-accent-alt:#444;--gc-accent-contrast:#fff;max-width:1100px}.gc-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid #dcdcde;border-top:4px solid var(--gc-accent);padding:24px;margin:20px 0}.gc-admin-hero h1{margin:2px 0 5px}.gc-admin-hero p{margin:0;color:#646970}.gc-admin-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gc-accent)}.gc-admin-cards{display:grid;grid-template-columns:180px 180px 1fr;gap:14px;margin-bottom:16px}.gc-admin-card{background:#fff;border:1px solid #dcdcde;padding:20px;display:flex;flex-direction:column;gap:5px}.gc-admin-card strong{font-size:30px;color:var(--gc-accent)}.gc-admin-card span{color:#646970}.gc-admin-card--wide code{margin-top:5px}.gc-admin-panel{background:#fff;border:1px solid #dcdcde;padding:22px;margin-top:16px}.gc-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:8px 0}.gc-meta-grid label{display:flex;flex-direction:column;gap:6px}.gc-meta-grid label span,.gc-settings-form label span{font-size:12px;font-weight:700;color:#50575e}.gc-meta-grid input,.gc-meta-grid select,.gc-settings-form input,.gc-settings-form select{width:100%;min-height:40px;border:1px solid #c3c4c7;border-radius:4px;padding:0 10px}.gc-meta-grid input:focus,.gc-meta-grid select:focus{border-color:var(--gc-accent);box-shadow:0 0 0 1px var(--gc-accent);outline:0}.gc-span-2{grid-column:span 2}.gc-settings-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gc-settings-row label{display:flex;flex-direction:column;gap:6px}.gc-toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}.gc-toggle-grid label{display:flex;align-items:center;gap:8px;padding:9px 0}.gc-toggle-grid input{width:18px;height:18px;min-height:0}
@media(max-width:1023px){.gc-grid{grid-template-columns:repeat(var(--gc-cols-t,3),minmax(0,1fr))}.gc-admin-cards{grid-template-columns:1fr 1fr}.gc-admin-card--wide{grid-column:span 2}.gc-settings-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.gc-catalog{margin-bottom:34px}.gc-catalog__head{align-items:flex-start;padding-bottom:16px}.gc-catalog__head h2{font-size:2rem}.gc-tools{padding-top:14px}.gc-search{max-width:none}.gc-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gc-filter-row label{min-width:0}.gc-filter-row select{width:100%;min-width:0}.gc-clear{justify-self:start}.gc-letters{gap:1px;max-height:68px;overflow:hidden}.gc-letters button{min-width:26px}.gc-grid{grid-template-columns:repeat(var(--gc-cols-m,2),minmax(0,1fr));gap:30px 16px;padding-top:26px}.gc-cover-wrap{margin-bottom:11px}.gc-book__title{font-size:.94rem}.gc-book__author{font-size:.66rem}.gc-cover-mark{opacity:1;transform:none;width:27px;height:27px;right:7px;bottom:7px}.gc-modal{padding:0;align-items:end}.gc-modal__panel{width:100%;max-height:92dvh;border-radius:16px 16px 0 0}.gc-modal__content{grid-template-columns:1fr;padding:18px 20px 34px;gap:22px}.gc-detail__cover{max-width:260px;margin:0 auto}.gc-detail__body h3{font-size:2rem}.gc-detail__body dl{grid-template-columns:1fr 1fr}.gc-admin-hero{align-items:flex-start;flex-direction:column}.gc-admin-cards,.gc-settings-row,.gc-toggle-grid{grid-template-columns:1fr}.gc-admin-card--wide{grid-column:auto}.gc-meta-grid{grid-template-columns:1fr}.gc-span-2{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.gc-catalog *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.gc-letters button:disabled{opacity:.28;cursor:default;background:transparent!important;color:#777!important}
.gc-modal__panel:focus{outline:none}


/* ==========================================================================\n * 1.0.1 · Blindaje visual frontend contra estilos globales del tema\n * ========================================================================== */
.gc-catalog button,
.gc-catalog input,
.gc-catalog select {
    font: inherit;
    box-sizing: border-box;
}

/* La tarjeta es un control semántico, no un botón visual. */
.gc-catalog .gc-book__open,
.gc-catalog .gc-book__open:hover,
.gc-catalog .gc-book__open:focus,
.gc-catalog .gc-book__open:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: inherit !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.gc-catalog .gc-book__open::before,
.gc-catalog .gc-book__open::after {
    content: none !important;
    display: none !important;
}

/* Superficie de portada clara y neutra: la tapa debe ser protagonista. */
.gc-catalog .gc-cover-wrap {
    background: #f5f4f1 !important;
    border: 1px solid rgba(24, 24, 24, .10);
    box-shadow: none !important;
}

/* Filtros: blancos, sobrios y legibles aunque el tema estilice selects. */
.gc-catalog .gc-search input,
.gc-catalog .gc-filter-row select {
    appearance: auto !important;
    background-color: #fff !important;
    color: #242424 !important;
    border: 1px solid #d8d8d5 !important;
    box-shadow: none !important;
}
.gc-catalog .gc-search input:focus,
.gc-catalog .gc-filter-row select:focus {
    border-color: var(--gc-accent) !important;
    outline: 2px solid color-mix(in srgb, var(--gc-accent) 16%, transparent) !important;
    outline-offset: 1px;
}

/* A–Z: el activo usa acento como señal, no como gran bloque de color. */
.gc-catalog .gc-letters button,
.gc-catalog .gc-letters button:hover,
.gc-catalog .gc-letters button:focus,
.gc-catalog .gc-letters button:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-width: 32px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #686868 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}
.gc-catalog .gc-letters button:not(:disabled):hover,
.gc-catalog .gc-letters button:not(:disabled):focus-visible {
    border-color: color-mix(in srgb, var(--gc-accent) 38%, #d8d8d5) !important;
    color: var(--gc-accent) !important;
}
.gc-catalog .gc-letters button.is-active,
.gc-catalog .gc-letters button.is-active:hover,
.gc-catalog .gc-letters button.is-active:focus {
    background: color-mix(in srgb, var(--gc-accent) 9%, #fff) !important;
    border-color: var(--gc-accent) !important;
    color: var(--gc-accent) !important;
    font-weight: 700 !important;
}
.gc-catalog .gc-letters button:disabled {
    background: transparent !important;
    border-color: transparent !important;
    color: #c8c8c8 !important;
    opacity: 1 !important;
}

/* Acciones secundarias: claras, nunca masas negras. */
.gc-catalog .gc-clear,
.gc-catalog .gc-load-more,
.gc-catalog .gc-clear:hover,
.gc-catalog .gc-load-more:hover,
.gc-catalog .gc-clear:focus,
.gc-catalog .gc-load-more:focus,
.gc-catalog .gc-clear:active,
.gc-catalog .gc-load-more:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #fff !important;
    background-image: none !important;
    color: #242424 !important;
    border: 1px solid #cfcfcb !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 600 !important;
}
.gc-catalog .gc-clear {
    height: 40px !important;
    padding: 0 16px !important;
}
.gc-catalog .gc-load-more {
    min-width: 170px !important;
    height: 44px !important;
    padding: 0 22px !important;
}
.gc-catalog .gc-clear:hover,
.gc-catalog .gc-load-more:hover,
.gc-catalog .gc-clear:focus-visible,
.gc-catalog .gc-load-more:focus-visible {
    border-color: var(--gc-accent) !important;
    color: var(--gc-accent) !important;
    background: color-mix(in srgb, var(--gc-accent) 5%, #fff) !important;
}

/* El + sobre portada conserva el branding, pero reducido a un detalle. */
.gc-catalog .gc-cover-mark {
    background: #fff !important;
    color: var(--gc-accent) !important;
    border: 1px solid color-mix(in srgb, var(--gc-accent) 45%, #ddd) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.10) !important;
}

@media (max-width: 767px) {
    .gc-catalog .gc-filter-row { align-items: end; }
    .gc-catalog .gc-clear { width: 100% !important; }
}


/* ==========================================================================
 * 1.0.2 · Tarjetas editoriales estables, sin zoom ni estilos de button
 * ========================================================================== */
.gc-catalog .gc-book {
    min-width: 0 !important;
    background: transparent !important;
    color: inherit !important;
}
.gc-catalog .gc-book__open,
.gc-catalog .gc-book__open:hover,
.gc-catalog .gc-book__open:focus,
.gc-catalog .gc-book__open:focus-visible,
.gc-catalog .gc-book__open:active {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: inherit !important;
    text-align: left !important;
    text-decoration: none !important;
    cursor: pointer !important;
    outline: none;
}
.gc-catalog .gc-cover-wrap {
    position: relative !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    aspect-ratio: 2 / 3 !important;
    width: 100% !important;
    margin: 0 0 15px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f5f4f1 !important;
    border: 1px solid rgba(24,24,24,.10) !important;
    border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.03) !important;
    transition: box-shadow .18s ease, border-color .18s ease !important;
}
.gc-catalog .gc-cover,
.gc-catalog .gc-book__open:hover .gc-cover,
.gc-catalog .gc-book__open:focus-visible .gc-cover {
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    transform: none !important;
    scale: 1 !important;
    filter: none !important;
    transition: none !important;
}
.gc-catalog .gc-book__meta,
.gc-catalog .gc-book__author,
.gc-catalog .gc-book__title,
.gc-catalog .gc-book__subtitle,
.gc-catalog .gc-book__excerpt {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}
.gc-catalog .gc-book__open:hover .gc-cover-wrap,
.gc-catalog .gc-book__open:focus-visible .gc-cover-wrap {
    border-color: color-mix(in srgb, var(--gc-accent) 35%, #d9d9d5) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.08) !important;
}
.gc-catalog .gc-book__open:focus-visible {
    outline: 2px solid var(--gc-accent) !important;
    outline-offset: 5px !important;
}
.gc-catalog .gc-cover-mark {
    opacity: 0 !important;
    transform: translateY(4px) !important;
}
.gc-catalog .gc-book__open:hover .gc-cover-mark,
.gc-catalog .gc-book__open:focus-visible .gc-cover-mark {
    opacity: 1 !important;
    transform: none !important;
}
@media (hover:none), (max-width:767px) {
    .gc-catalog .gc-cover-mark { opacity: 1 !important; transform: none !important; }
    .gc-catalog .gc-book__open:hover .gc-cover-wrap { box-shadow: 0 1px 2px rgba(0,0,0,.03) !important; }
}

/* ==========================================================================
 * 1.1.0 · Paginación / scroll infinito responsive
 * ========================================================================== */
.gc-catalog .gc-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 28px 0 4px;
}
.gc-catalog .gc-pagination[hidden] { display: none !important; }
.gc-catalog .gc-page-btn,
.gc-catalog .gc-page-btn:hover,
.gc-catalog .gc-page-btn:focus,
.gc-catalog .gc-page-btn:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid #d8d8d5 !important;
    border-radius: 3px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #444 !important;
    font: inherit !important;
    font-size: .85rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
}
.gc-catalog .gc-page-btn:not(:disabled):not(.is-current):hover,
.gc-catalog .gc-page-btn:not(:disabled):not(.is-current):focus-visible {
    border-color: var(--gc-accent) !important;
    color: var(--gc-accent) !important;
    outline: none !important;
}
.gc-catalog .gc-page-btn.is-current,
.gc-catalog .gc-page-btn.is-current:hover,
.gc-catalog .gc-page-btn.is-current:focus {
    border-color: var(--gc-accent) !important;
    background: var(--gc-accent) !important;
    color: var(--gc-accent-contrast,#fff) !important;
    cursor: default !important;
}
.gc-catalog .gc-page-btn:disabled {
    opacity: .35 !important;
    cursor: default !important;
}
.gc-catalog .gc-page-dots {
    min-width: 24px;
    text-align: center;
    color: #888;
    user-select: none;
}
.gc-catalog .gc-infinite-sentinel {
    display: block;
    width: 100%;
    height: 1px;
    margin: 0;
    padding: 0;
    pointer-events: none;
}
.gc-catalog .gc-infinite-sentinel[hidden] { display: none !important; }

.gc-pagination-settings { margin-top: 12px; }

@media (max-width: 767px) {
    .gc-catalog .gc-pagination { gap: 5px; padding-top: 22px; }
    .gc-catalog .gc-page-btn,
    .gc-catalog .gc-page-btn:hover,
    .gc-catalog .gc-page-btn:focus,
    .gc-catalog .gc-page-btn:active {
        min-width: 36px !important;
        height: 36px !important;
        padding: 0 8px !important;
    }
}
