/* ======================================================================
   CONTRASTE AZUL INSTITUCIONAL + DORADO
   CATEDRAL SAN JUAN BAUTISTA
   Capa global de identidad: no reemplaza la base crema/dorada.
====================================================================== */

:root{
  --cat-blue:#0c4f8a;
  --cat-blue-deep:#0a3763;
  --cat-blue-dark:#082b4f;
  --cat-blue-soft:#edf4f9;
  --cat-blue-soft-2:#f5f9fc;
  --cat-gold:#b7792b;
  --cat-gold-light:#d9b16f;
  --cat-ink:#34251b;
  --cat-line-blue:rgba(12,79,138,.23);
  --cat-line-gold:rgba(183,121,43,.30);
  --cat-shadow-blue:0 14px 34px rgba(10,55,99,.08);
}

/* ----------------------------------------------------------------------
   HEADER / NAVEGACIÓN
------------------------------------------------------------------------ */
.site-header{
  border-bottom-color:rgba(12,79,138,.16) !important;
  box-shadow:0 9px 28px rgba(10,55,99,.055) !important;
}

.site-nav a:hover,
.site-nav a.active{
  color:var(--cat-blue) !important;
  border-bottom-color:var(--cat-gold) !important;
}

.header-search{
  color:var(--cat-blue) !important;
  border-color:rgba(12,79,138,.28) !important;
  background:linear-gradient(180deg,#fffdfa,#f7fbfe) !important;
}

.header-search:hover{
  color:#fff !important;
  background:var(--cat-blue) !important;
  border-color:var(--cat-blue) !important;
}

.menu-toggle span{
  background:var(--cat-blue) !important;
}

/* ----------------------------------------------------------------------
   HOME — VERSÍCULO / ORACIÓN / VIDA PARROQUIAL
------------------------------------------------------------------------ */
.catedral-feature-panel{
  border-color:rgba(12,79,138,.18) !important;
  box-shadow:0 20px 48px rgba(10,55,99,.08) !important;
}

.catedral-verse-reference{
  color:var(--cat-blue) !important;
}

.catedral-verse::after{
  background:linear-gradient(90deg,transparent,var(--cat-blue),var(--cat-gold),transparent) !important;
}

.catedral-verse-mark{
  color:rgba(12,79,138,.20) !important;
}

.oracion-card{
  border-color:rgba(12,79,138,.18) !important;
  box-shadow:0 22px 52px rgba(10,55,99,.10), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.oracion-card::before{
  background:linear-gradient(90deg,transparent,var(--cat-blue),var(--cat-gold),transparent) !important;
}

.oracion-card-kicker,
.fino-kicker{
  color:var(--cat-blue) !important;
}

.oracion-card-rule,
.fino-heading-rule{
  background:linear-gradient(90deg,var(--cat-blue),var(--cat-gold),transparent) !important;
}

.oracion-card-button,
.fino-button:not(.secondary){
  background:linear-gradient(105deg,var(--cat-blue-deep),var(--cat-blue),#1768a8) !important;
  border-color:rgba(217,177,111,.82) !important;
  box-shadow:0 10px 24px rgba(10,55,99,.18) !important;
}

.oracion-card-button:hover,
.fino-button:not(.secondary):hover{
  box-shadow:0 14px 30px rgba(10,55,99,.24) !important;
}

.fino-button.secondary{
  color:var(--cat-blue) !important;
  background:#f9fcfe !important;
  border-color:rgba(12,79,138,.28) !important;
}

.fino-life{
  background:
    radial-gradient(circle at 0 45%,rgba(12,79,138,.075),transparent 32%),
    radial-gradient(circle at 100% 42%,rgba(183,121,43,.09),transparent 32%),
    #fffaf4 !important;
}

.fino-life-heading h2,
.fino-life-card h3{
  color:var(--cat-ink) !important;
}

.fino-line-icon{
  color:var(--cat-blue) !important;
  background:linear-gradient(145deg,#f7fbfe,#eaf3f9) !important;
  border-color:rgba(12,79,138,.22) !important;
}

.fino-life-card{
  border-color:rgba(12,79,138,.22) !important;
  box-shadow:var(--cat-shadow-blue) !important;
}

/* ----------------------------------------------------------------------
   CARDS — ACENTO FINO AZUL + DORADO
------------------------------------------------------------------------ */
.fino-life-card,
.op-prayer-group,
.op-group-prayer,
.op-prayer-row,
.op-intention-card,
.ep-card,
.av-card,
.av-upcoming-card,
.ip-card,
.ip-history-card,
.ip-location,
.mp-feature,
.mp-upcoming-card,
.mp-video-card{
  border-color:rgba(12,79,138,.20) !important;
  box-shadow:0 12px 30px rgba(10,55,99,.065), inset 0 1px 0 rgba(255,255,255,.46) !important;
}

.op-prayer-group:hover,
.op-group-prayer:hover,
.op-prayer-row:hover,
.ep-card:hover,
.av-card:hover,
.av-upcoming-card:hover,
.ip-card:hover,
.mp-upcoming-card:hover,
.mp-video-card:hover{
  border-color:rgba(183,121,43,.50) !important;
  box-shadow:0 17px 36px rgba(10,55,99,.11), inset 0 2px 0 rgba(183,121,43,.22) !important;
}

/* ----------------------------------------------------------------------
   ORACIONES
------------------------------------------------------------------------ */
.oraciones-premium{
  background:
    radial-gradient(circle at 3% 28%,rgba(12,79,138,.055),transparent 30%),
    radial-gradient(circle at 97% 60%,rgba(183,121,43,.065),transparent 28%),
    #fffaf4 !important;
}

.op-kicker,
.op-section-head__eyebrow,
.op-prayer-group__eyebrow,
.op-prayer-row__meta small{
  color:var(--cat-blue) !important;
}

.op-prayer-group__icon{
  color:var(--cat-blue) !important;
  background:var(--cat-blue-soft) !important;
  border-color:rgba(12,79,138,.20) !important;
}

.op-group-prayer__number,
.op-prayer-row__number{
  color:var(--cat-blue) !important;
}

.op-outline-btn{
  color:var(--cat-blue) !important;
  border-color:rgba(12,79,138,.30) !important;
}

.op-outline-btn:hover{
  color:#fff !important;
  background:var(--cat-blue) !important;
  border-color:var(--cat-blue) !important;
}

.op-primary-btn{
  background:linear-gradient(105deg,var(--cat-blue-deep),var(--cat-blue)) !important;
  border-color:rgba(217,177,111,.70) !important;
}

/* ----------------------------------------------------------------------
   ENSEÑANZAS
------------------------------------------------------------------------ */
.ep-page{
  background:
    radial-gradient(circle at 5% 35%,rgba(12,79,138,.055),transparent 28%),
    #fffaf4 !important;
}

.ep-section-head > span,
.ep-card__category,
.ep-modal .ep-kicker{
  color:var(--cat-blue) !important;
}

.ep-head-line,
.ep-closing-ornament i{
  background:linear-gradient(90deg,var(--cat-blue),var(--cat-gold)) !important;
}

.ep-filters button{
  border-color:rgba(12,79,138,.18) !important;
}

.ep-filters button:hover,
.ep-filters button.is-active{
  color:#fff !important;
  background:linear-gradient(105deg,var(--cat-blue-deep),var(--cat-blue)) !important;
  border-color:var(--cat-blue) !important;
  box-shadow:0 8px 20px rgba(10,55,99,.16) !important;
}

.ep-card__play,
.ep-open-video{
  border-color:rgba(217,177,111,.66) !important;
}

.ep-card__play:hover{
  background:var(--cat-blue) !important;
}

/* ----------------------------------------------------------------------
   AVISOS
------------------------------------------------------------------------ */
.av-page{
  background:
    radial-gradient(circle at 95% 22%,rgba(12,79,138,.055),transparent 29%),
    #fffaf4 !important;
}

.av-kicker,
.av-section-head__kicker,
.av-badge,
.av-text-link{
  color:var(--cat-blue) !important;
}

.av-filters button{
  border-color:rgba(12,79,138,.18) !important;
}

.av-filters button:hover,
.av-filters button.is-active{
  color:#fff !important;
  background:linear-gradient(105deg,var(--cat-blue-deep),var(--cat-blue)) !important;
  border-color:var(--cat-blue) !important;
}

.av-badge{
  background:var(--cat-blue-soft) !important;
  border-color:rgba(12,79,138,.18) !important;
}

.av-badge--important{
  color:#8b2d28 !important;
  background:#fff1ef !important;
  border-color:#e1b3ad !important;
}

.av-card__date strong{
  color:var(--cat-blue) !important;
}

/* ----------------------------------------------------------------------
   INFORMACIÓN
------------------------------------------------------------------------ */
.info-premium{
  background:
    radial-gradient(circle at 2% 46%,rgba(12,79,138,.055),transparent 30%),
    #fffaf4 !important;
}

.ip-kicker:not(.ip-kicker--light){
  color:var(--cat-blue) !important;
}

.ip-icon-medallion{
  color:var(--cat-blue) !important;
  background:linear-gradient(145deg,#f7fbfe,#e9f3f9) !important;
  border-color:rgba(12,79,138,.22) !important;
}

.ip-history-card__ornament i,
.ip-hero__quote-ornament i{
  background:linear-gradient(90deg,var(--cat-blue),var(--cat-gold)) !important;
}

.ip-schedule-row__clock,
.ip-sacrament__arrow{
  color:var(--cat-blue) !important;
}

.ip-map-btn{
  background:linear-gradient(105deg,var(--cat-blue-deep),var(--cat-blue)) !important;
  border-color:rgba(217,177,111,.62) !important;
}

.ip-location__map-link{
  color:var(--cat-blue) !important;
}

/* ----------------------------------------------------------------------
   MISAS
------------------------------------------------------------------------ */
.misas-premium{
  background:
    radial-gradient(circle at 98% 35%,rgba(12,79,138,.06),transparent 28%),
    #fffaf4 !important;
}

.mp-tabs-shell{
  border-color:rgba(12,79,138,.18) !important;
}

.mp-tab{
  color:var(--cat-blue) !important;
}

.mp-tab:hover,
.mp-tab.is-active{
  color:#fff !important;
  background:linear-gradient(105deg,var(--cat-blue-deep),var(--cat-blue)) !important;
  border-color:var(--cat-blue) !important;
}

.mp-kicker:not(.mp-kicker--light),
.mp-text-link{
  color:var(--cat-blue) !important;
}

.mp-primary,
.mp-card-play,
.mp-feature__play{
  background:linear-gradient(105deg,var(--cat-blue-deep),var(--cat-blue)) !important;
  border-color:rgba(217,177,111,.72) !important;
  color:#fff !important;
}

/* Mantener estados EN VIVO en rojo */
.mp-feature__badge.is-live{
  background:#b52c2c !important;
  color:#fff !important;
}

/* ----------------------------------------------------------------------
   DETALLES / LINKS / SELECCIÓN
------------------------------------------------------------------------ */
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--cat-blue) !important;
  outline-offset:3px;
}

::selection{
  background:rgba(12,79,138,.18);
  color:var(--cat-blue-dark);
}

/* Azul muy discreto en divisores y pequeños ornamentos */
.op-mini-ornament,
.ep-ornament,
.av-ornament,
.av-closing,
.ip-history-card__ornament,
.ip-hero__quote-ornament{
  color:var(--cat-blue) !important;
}

/* ----------------------------------------------------------------------
   MÓVIL
------------------------------------------------------------------------ */
@media(max-width:840px){
  .site-nav{
    border-bottom-color:rgba(12,79,138,.18) !important;
  }

  .site-nav a{
    border-bottom-color:rgba(12,79,138,.10) !important;
  }
}

@media(max-width:560px){
  .oracion-card-button,
  .op-primary-btn,
  .mp-primary,
  .ip-map-btn{
    box-shadow:0 8px 18px rgba(10,55,99,.16) !important;
  }
}
