/*
Theme Name: Iglesia Bíblica de la Fe
Theme URI: https://example.com/
Author: 5S Technology
Description: Tema WordPress responsive para Iglesia Bíblica de la Fe, convertido desde la maqueta HTML original. Incluye menús/submenús administrables, categorías, slider y secciones de portada.
Version: 1.6.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: ibf
*/

:root {
  --blue: #0b4ea2;
  --blue-dark: #072f67;
  --orange: #f36a21;
  --orange-dark: #d95d19;
  --text: #1f2c3d;
  --muted: #5f6d83;
  --line: #dbe6f2;
  --bg: #f6f9fd;
  --white: #ffffff;
  --soft: #edf4fb;
  --radius: 22px;
  --shadow: 0 16px 40px rgba(7, 47, 103, 0.10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 30%, #f6faff 100%);
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; height: auto; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.topbar { background: var(--blue-dark); color: #dbe8ff; font-size: .92rem; }
.topbar-inner { min-height: 40px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.top-links ul, .main-nav ul, .footer-links ul { list-style:none; margin:0; padding:0; }
.top-links > ul { display:flex; gap:18px; flex-wrap:wrap; }
.top-links a:hover { color:#fff; }

.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.95); backdrop-filter:blur(10px); border-bottom:1px solid rgba(219,230,242,.8); }
.admin-bar .site-header { top:32px; }
.nav-wrap { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.brand { display:inline-flex; align-items:center; gap:14px; min-width:0; }
.brand-logo, .custom-logo { width:auto; max-width:150px; max-height:78px; object-fit:contain; }
.brand-copy { display:grid; gap:4px; }
.brand-copy strong { color:var(--blue-dark); font-size:1.18rem; }
.brand-copy span { font-size:.72rem; color:#74829a; text-transform:uppercase; letter-spacing:.15em; }

.main-nav { margin-left:auto; }
.main-nav > ul { display:flex; align-items:center; gap:24px; }
.main-nav li { position:relative; }
.main-nav a { display:block; font-weight:700; color:#34435d; position:relative; padding:28px 0; }
.main-nav > ul > li.current-menu-item > a,
.main-nav > ul > li.current-menu-ancestor > a,
.main-nav > ul > li > a:hover { color:var(--blue); }
.main-nav > ul > li.current-menu-item > a::after,
.main-nav > ul > li.current-menu-ancestor > a::after,
.main-nav > ul > li > a:hover::after { content:""; position:absolute; left:0; right:0; bottom:17px; height:3px; border-radius:999px; background:var(--orange); }
.main-nav .menu-item-has-children > a::before { content:"▾"; position:absolute; right:-15px; top:50%; transform:translateY(-52%); font-size:.7rem; }
.main-nav .sub-menu { display:none; position:absolute; top:calc(100% - 10px); left:-18px; z-index:80; min-width:220px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:8px; }
.main-nav .sub-menu a { padding:11px 13px; font-weight:600; border-radius:9px; color:#34435d; }
.main-nav .sub-menu a:hover { background:var(--soft); color:var(--blue); }
.main-nav .sub-menu a::after { display:none !important; }
.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display:block; }
.main-nav .sub-menu .sub-menu { left:100%; top:0; }

.menu-toggle { display:none; width:46px; height:46px; border:0; border-radius:12px; background:var(--soft); color:var(--blue-dark); font-size:1.4rem; cursor:pointer; }
.header-btn, .btn { display:inline-flex; align-items:center; justify-content:center; border-radius:14px; font-weight:700; transition:.2s ease; }
.header-btn { background:var(--orange); color:#fff; padding:13px 18px; white-space:nowrap; }
.mobile-live-btn { display:none; }
.header-btn:hover, .btn-primary:hover { background:var(--orange-dark); transform:translateY(-2px); }

.hero { padding:18px 0 8px; }
.hero-box { position:relative; }
.hero-slider { position:relative; overflow:hidden; border-radius:28px; box-shadow:var(--shadow); background:var(--blue-dark); }
.slide { display:none; min-height:345px; background-size:cover; background-position:center; }
.slide.active { display:block; }
.slide-copy { min-height:345px; display:flex; flex-direction:column; justify-content:center; max-width:560px; padding:34px 44px 90px; color:#fff; }
.eyebrow, .section-label { text-transform:uppercase; letter-spacing:.18em; font-size:.78rem; font-weight:800; margin:0 0 14px; }
.eyebrow { color:#dce8ff; }
.section-label { color:var(--blue); }
.slide-copy h1, .copy-block h2, .section h2, .contact-card h2, .archive-title, .entry-title { margin:0; line-height:1.08; font-family:"Playfair Display", Georgia, serif; }
.slide-copy h1 { font-size:clamp(2rem, 3.4vw, 3.25rem); }
.description { color:rgba(255,255,255,.92); line-height:1.55; font-size:1rem; margin-top:14px; }
.btn { padding:14px 22px; }
.btn-primary { background:var(--orange); color:#fff; }
.btn-soft { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.35); }
.btn-soft:hover { background:rgba(255,255,255,.22); }
.hero-fixed-actions { position:absolute; left:44px; bottom:28px; z-index:4; display:flex; flex-wrap:wrap; gap:10px; }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); width:50px; height:50px; border:0; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font-size:2rem; cursor:pointer; backdrop-filter:blur(8px); }
.slider-arrow:hover { background:rgba(255,255,255,.26); }
.prev { left:18px; } .next { right:18px; }
.dots { position:absolute; left:50%; bottom:18px; transform:translateX(-50%); display:flex; gap:10px; }
.dot { width:11px; height:11px; border-radius:50%; border:0; background:rgba(255,255,255,.45); cursor:pointer; }
.dot.active { background:var(--orange); }

.hero-cards-wrap { width:min(980px, calc(100% - 24px)); margin:22px auto 0; position:relative; z-index:1; }
.hero-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.mini-card { background:#fff; border-radius:17px; padding:20px 18px; box-shadow:var(--shadow); border:1px solid var(--line); min-width:0; }
.schedule-card { min-height:156px; display:flex; flex-direction:column; justify-content:flex-start; }
.schedule-card .mini-title { margin-bottom:14px; }
.schedule-card .mini-title em { display:block; margin-top:4px; font-style:normal; font-size:.66rem; letter-spacing:.03em; color:var(--muted); text-transform:none; }
.schedule-card.highlight .mini-title em { color:rgba(255,255,255,.82); }
.schedule-lines { font-size:.84rem; line-height:1.62; color:var(--text); font-weight:650; }
.schedule-card.highlight .schedule-lines { color:#fff; }
.mini-card.highlight { background:linear-gradient(135deg,var(--blue),#215fae); color:#fff; }
.mini-card.highlight .mini-title, .mini-card.highlight small { color:rgba(255,255,255,.88); }
.mini-title { display:block; color:var(--orange); font-weight:800; margin-bottom:7px; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; }
.mini-card strong { display:block; font-size:.96rem; color:inherit; line-height:1.25; }
.mini-card small { display:block; margin-top:4px; color:var(--muted); font-size:.72rem; line-height:1.35; }

.section { padding:46px 0; }
.new-grid, .events-grid, .contact-grid, .footer-grid { display:grid; gap:24px; }
.new-grid { grid-template-columns:1fr 1fr; align-items:center; }
.copy-block p { color:var(--muted); line-height:1.75; }
.copy-block .btn { margin-top:10px; }
.image-frame { overflow:hidden; border-radius:24px; box-shadow:var(--shadow); border:1px solid var(--line); background:#fff; }
.transition-photo img, .small-transition img, .side-photo img { width:100%; height:100%; object-fit:cover; }
.transition-photo { min-height:360px; }
.transition-photo img { height:360px; }
.soft { background:linear-gradient(180deg,rgba(237,244,251,.75),rgba(255,255,255,0)); }
.section-head { margin-bottom:18px; display:flex; align-items:end; justify-content:space-between; gap:20px; }

.ministry-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ministry-card, .post-card { background:#fff; border-radius:22px; padding:24px; border:1px solid var(--line); box-shadow:var(--shadow); }
.icon-wrap { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,rgba(11,78,162,.12),rgba(243,106,33,.16)); font-size:1.5rem; margin-bottom:16px; }
.ministry-card h3, .post-card h3 { margin:0 0 10px; color:var(--blue-dark); }
.ministry-card p, .post-card p { margin:0; color:var(--muted); line-height:1.6; }

.events-grid { grid-template-columns:1.1fr .9fr; align-items:start; }
.events-list h2 { margin-bottom:20px; }
.event-item { display:grid; grid-template-columns:82px 1fr; gap:18px; align-items:center; background:#fff; padding:18px; border-radius:18px; margin-bottom:14px; box-shadow:var(--shadow); border:1px solid var(--line); }
.date-badge { border-radius:16px; background:linear-gradient(180deg,var(--orange),var(--orange-dark)); color:#fff; text-align:center; padding:10px 6px; }
.date-badge span { display:block; font-size:.72rem; letter-spacing:.15em; }
.date-badge strong { display:block; font-size:1.7rem; margin-top:2px; }
.event-item h3 { margin:0 0 6px; color:var(--blue-dark); }
.event-item p { margin:0; color:var(--muted); }
.visit-box { overflow:hidden; border-radius:22px; box-shadow:var(--shadow); border:1px solid var(--line); background:#fff; }
.side-photo { height:250px; overflow:hidden; }
.side-copy { padding:24px; }
.side-copy h3 { margin:0 0 10px; color:var(--blue-dark); }
.side-copy p { color:var(--muted); line-height:1.65; margin-bottom:18px; }


/* Portada 1.4: actividades como mini-flyers */
.events-home { padding-top:38px; }
.compact-head { margin-bottom:22px; }
.event-flyers-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.event-flyer-card {
  min-width:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(7,47,103,.10);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.event-flyer-link { display:block; height:100%; }
.event-flyer-image {
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--soft);
}
.event-flyer-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.event-flyer-caption {
  padding:13px 14px 15px;
  border-top:1px solid var(--line);
  background:#fff;
}
.event-flyer-caption h3 {
  margin:0;
  color:var(--blue-dark);
  font-size:.96rem;
  line-height:1.28;
}
.event-flyer-caption p {
  margin:6px 0 0;
  color:var(--orange-dark);
  font-size:.78rem;
  font-weight:700;
}
.event-flyer-card:hover,
.event-flyer-card:focus-within {
  transform:translateY(-8px) scale(1.015);
  box-shadow:0 22px 48px rgba(7,47,103,.20);
  border-color:rgba(11,78,162,.34);
}
.event-flyer-card:hover .event-flyer-image img,
.event-flyer-card:focus-within .event-flyer-image img {
  transform:scale(1.055);
  filter:saturate(1.05) contrast(1.02);
}
.event-flyer-missing {
  width:100%;
  height:100%;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  background:linear-gradient(145deg,var(--blue-dark),var(--blue));
}
.event-flyer-missing span { font-size:.68rem; letter-spacing:.16em; font-weight:800; }
.event-flyer-missing strong { margin-top:12px; font-size:1.2rem; line-height:1.25; }
.event-flyer-missing small { margin-top:10px; color:rgba(255,255,255,.78); line-height:1.35; }
.sermons-section { padding-top:34px; }
.section-link { color:var(--blue); font-weight:800; }
.section-link:hover { color:var(--orange-dark); }
.sermons-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.sermon-card { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 10px 28px rgba(7,47,103,.08); }
.sermon-thumb { display:block; aspect-ratio:4/5; background:var(--soft); overflow:hidden; }
.sermon-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
a.sermon-thumb:hover img { transform:scale(1.025); }
.sermon-copy { padding:16px 18px 18px; border-top:1px solid var(--line); }
.sermon-meta { margin:0 0 7px; color:var(--orange-dark); text-transform:uppercase; letter-spacing:.1em; font-weight:800; font-size:.7rem; }
.sermon-card h3 { margin:0; color:var(--blue-dark); font-family:"Playfair Display", Georgia, serif; font-size:1.35rem; line-height:1.22; }
.sermon-card h3 a:hover { color:var(--blue); }

.new-here { padding-top:38px; }

.contact-grid { grid-template-columns:1.05fr .95fr; align-items:center; }
.contact-card { background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); padding:30px; }
.contact-card h2 { margin-bottom:18px; }
.contact-list p { margin:0 0 12px; color:var(--muted); line-height:1.7; }
.small-transition { min-height:350px; }
.small-transition img { height:350px; }

.posts-section { padding-top:20px; }
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
.post-card { padding:0; overflow:hidden; }
.post-card-thumb { aspect-ratio:4/5; background:linear-gradient(135deg,var(--blue-dark),var(--blue)); overflow:hidden; }
.post-card-thumb img { width:100%; height:100%; object-fit:cover; }
.post-card-body { padding:20px; }
.post-card-meta { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:.84rem; margin-bottom:10px; }
.post-card-cats a { color:var(--orange-dark); font-weight:700; }
.post-card .read-more { display:inline-block; margin-top:14px; color:var(--blue); font-weight:800; }

.content-shell { width:min(900px,calc(100% - 32px)); margin:44px auto; }
.archive-shell { width:min(1180px,calc(100% - 32px)); margin:44px auto; }
.archive-title, .entry-title { color:var(--blue-dark); font-size:clamp(2rem,4vw,3.3rem); margin-bottom:12px; }
.archive-description, .entry-meta { color:var(--muted); margin-bottom:28px; }
.entry-content { line-height:1.8; font-size:1.05rem; }
.entry-content img { border-radius:18px; }
.entry-featured { margin:24px 0; border-radius:22px; overflow:hidden; }
.pagination { margin:32px 0; }
.nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.page-numbers { padding:9px 13px; background:#fff; border:1px solid var(--line); border-radius:10px; }
.page-numbers.current { background:var(--blue); color:#fff; }


/* Página individual de actividades */
.single-event { width:min(1080px,100%); margin:0 auto; }
.event-back { display:inline-flex; margin-bottom:20px; color:var(--blue); font-weight:800; }
.event-back:hover { color:var(--orange-dark); }
.single-event-grid {
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  gap:34px;
  align-items:start;
}
.single-event-flyer {
  overflow:hidden;
  border-radius:22px;
  background:var(--soft);
  box-shadow:var(--shadow);
}
.single-event-flyer:empty { display:none; }
.single-event-flyer img { width:100%; height:auto; display:block; }
.single-event-info {
  padding:12px 0;
}
.single-event-info .entry-title { margin-bottom:24px; }
.event-details-list {
  display:grid;
  gap:0;
  margin:0 0 24px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.event-details-list div {
  display:grid;
  grid-template-columns:120px 1fr;
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
}
.event-details-list div:last-child { border-bottom:0; }
.event-details-list span { color:var(--muted); font-size:.86rem; font-weight:700; }
.event-details-list strong { color:var(--blue-dark); line-height:1.4; }
.event-map-btn { margin-top:2px; }
.event-description { margin-top:36px; padding-top:30px; border-top:1px solid var(--line); }

.site-footer { margin-top:14px; background:linear-gradient(180deg,var(--blue-dark),var(--blue)); color:#fff; }
.footer-grid { grid-template-columns:1.1fr 1fr 1fr; padding:34px 0 18px; }
.footer-brand .brand-copy strong, .footer-brand .brand-copy span, .site-footer h4, .site-footer p, .footer-bottom small, .footer-links a { color:#fff; }
.footer-links ul { display:grid; gap:10px; }
.footer-links a:hover { color:#ffd7c2; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.14); padding:16px 0 26px; }

@media (max-width:1080px) {
  .event-flyers-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sermons-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ministry-grid { grid-template-columns:1fr 1fr; }
  .new-grid, .contact-grid, .footer-grid { grid-template-columns:1fr; }
  .posts-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:860px) {
  .brand-logo, .custom-logo { max-width:118px; max-height:68px; }
  .single-event-grid { grid-template-columns:1fr; }
  .single-event-flyer { max-width:560px; }
  .admin-bar .site-header { top:46px; }
  .topbar-inner { flex-direction:column; justify-content:center; padding:10px 0; }
  .menu-toggle { display:inline-grid; place-items:center; margin-left:auto; }
  .main-nav { position:absolute; top:calc(100% + 8px); left:16px; right:16px; display:none; margin:0; background:#fff; padding:18px; border-radius:16px; box-shadow:var(--shadow); max-height:calc(100vh - 150px); overflow:auto; }
  .main-nav.open { display:block; }
  .main-nav > ul { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .main-nav a { padding:12px 10px; }
  .main-nav > ul > li > a::after { display:none; }
  .main-nav .menu-item-has-children > a::before { right:10px; }
  .main-nav .sub-menu { display:block; position:static; min-width:0; box-shadow:none; border:0; padding:0 0 0 16px; background:transparent; }
  .main-nav .sub-menu a { padding:9px 10px; }
  .header-btn { display:none; }

  .mobile-live-btn {
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:14px;
    padding:14px 18px !important;
    border-radius:14px;
    background:var(--orange);
    color:#fff !important;
    font-weight:800;
    text-align:center;
  }

  .mobile-live-btn:hover,
  .mobile-live-btn:focus {
    background:var(--orange-dark);
    color:#fff !important;
  }
  .slide, .slide-copy { min-height:330px; }
  .slide-copy { padding:34px 36px 90px; }
  .slide-copy h1 { font-size:2.35rem; }
}
@media (max-width:760px) {
  .hero-cards-wrap { width:min(720px, calc(100% - 24px)); margin:16px auto 0; }
  .hero-cards { grid-template-columns:1fr 1fr; }
  .event-flyers-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sermons-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .brand-logo, .custom-logo { max-width:86px; max-height:60px; }
  .brand-copy strong { font-size:1rem; }
  .brand-copy span { display:none; }
  .hero-fixed-actions { left:22px; right:22px; bottom:22px; }
  .ministry-grid, .posts-grid { grid-template-columns:1fr; }
  .slide, .slide-copy { min-height:300px; }
  .slide-copy { padding:28px 28px 86px; }
  .slide-copy h1 { font-size:1.9rem; }
  .description { font-size:.92rem; }
  .event-item { grid-template-columns:66px minmax(0,1fr); }
  .slider-arrow { width:42px; height:42px; font-size:1.6rem; }
  .prev { left:10px; } .next { right:10px; }
}
@media (max-width:480px) {
  .event-flyers-grid { grid-template-columns:1fr; gap:16px; }
  .sermons-grid { grid-template-columns:1fr; gap:16px; }
  .event-flyer-card { max-width:360px; width:100%; margin:0 auto; }
  .event-details-list div { grid-template-columns:1fr; gap:5px; }
  .hero-cards-wrap { width:min(390px, calc(100% - 24px)); }
  .hero-cards { grid-template-columns:1fr; }
  .event-item { grid-template-columns:1fr; }
  .date-badge { width:72px; }
  .section { padding:34px 0; }
}


/* Portada 1.6: ubicación compacta, foto izquierda + datos derecha */
.contact-section { padding-top:38px; }
.location-card {
  max-width:980px;
  height:360px;
  margin:0 auto;
  display:grid;
  grid-template-columns:44% 56%;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
}
.location-photo {
  width:100%;
  height:360px;
  overflow:hidden;
  background:var(--soft);
}
.location-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.location-info {
  height:360px;
  padding:30px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  overflow:hidden;
}
.location-info .section-label { margin-bottom:8px; }
.location-info h2 {
  margin:0 0 12px;
  color:var(--blue-dark);
  font-family:"Playfair Display", Georgia, serif;
  font-size:1.75rem;
}
.location-address {
  margin:0 0 12px;
  color:var(--text);
  font-size:1.02rem;
  line-height:1.5;
}
.location-details {
  display:grid;
  gap:5px;
  margin-bottom:10px;
}
.location-details p {
  margin:0;
  color:var(--text);
  line-height:1.45;
}
.gps-btn {
  display:inline-block;
  padding:0;
  margin:2px 0 4px;
  color:var(--blue);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.gps-btn:hover { color:var(--orange); }
.gps-note {
  margin:0;
  max-width:360px;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.5;
}

@media (max-width:860px) {
  .brand-logo, .custom-logo { max-width:118px; max-height:68px; }
  .single-event-grid { grid-template-columns:1fr; }
  .single-event-flyer { max-width:560px; }
  .location-card {
    height:auto;
    grid-template-columns:1fr 1fr;
  }
  .location-photo, .location-info { height:320px; }
  .location-info { padding:24px; }
}

@media (max-width:640px) {
  .location-card { grid-template-columns:1fr; height:auto; }
  .location-photo { height:240px; }
  .location-info { height:auto; min-height:300px; padding:24px 22px; }
  .gps-btn { width:auto; }
}



/* ===== Sermones con video de YouTube ===== */
.entry-content.has-youtube-video .wp-block-embed-youtube,
.entry-content.has-youtube-video .wp-block-embed {
  width: 100%;
  max-width: 100%;
  margin: 24px 0;
}

.entry-content.has-youtube-video .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.entry-content.has-youtube-video .wp-block-embed__wrapper iframe,
.entry-content.has-youtube-video iframe[src*="youtube.com"],
.entry-content.has-youtube-video iframe[src*="youtu.be"],
.entry-content.has-youtube-video iframe[src*="youtube-nocookie.com"] {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
}


/* Ajuste del header: evita que el menú principal se parta en dos líneas. */
@media (min-width: 861px) {
  .nav-wrap {
    flex-wrap: nowrap !important;
  }

  .main-nav {
    min-width: 0;
  }

  .main-nav > ul {
    flex-wrap: nowrap !important;
    gap: 20px;
  }

  .main-nav > ul > li > a {
    white-space: nowrap;
  }

  .header-btn {
    flex: 0 0 auto;
  }
}
/* Enlace al calendario al final del archivo de Actividades */
.archive-more { text-align: center; margin: 28px 0 8px; }
