/* Basquet Caliente — sistema visual global aislado v1.5.0 */
body.bc-site-style{
  --bc-red:#d90014;
  --bc-red-dark:#a90010;
  --bc-ink:#17191d;
  --bc-muted:#68707c;
  --bc-bg:#f3f5f8;
  --bc-card:#fff;
  --bc-border:#e6e9ee;
  --bc-radius:18px;
  --bc-shadow:0 14px 36px rgba(16,24,40,.08);
  background:var(--bc-bg);
  color:var(--bc-ink);
}

/* Los componentes propios mantienen su tipografía, sin resets globales sobre links o imágenes. */
body.bc-site-style :where(#bc-home-dinamica-v1,#bc-header-dinamico-v1,#bc-footer-dinamico-v1){
  font-family:Montserrat,Arial,sans-serif;
}

/* Elementor y zonas editoriales. */
body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search,main.elementor){
  color:var(--bc-ink);
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search) > .elementor-element{
  background:transparent;
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search)
:where(.elementor-heading-title,.entry-title,.page-title,.archive-title,.search-title){
  color:var(--bc-ink);
  font-weight:950;
  letter-spacing:-.04em;
  text-wrap:balance;
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search)
:where(.elementor-widget-heading,.elementor-widget-theme-archive-title) .elementor-heading-title::after{
  content:"";
  display:block;
  width:48px;
  height:4px;
  margin-top:10px;
  border-radius:999px;
  background:var(--bc-red);
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search)
:where(.elementor-button,a.elementor-button){
  border-radius:10px;
  background:var(--bc-red);
  color:#fff;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(217,0,20,.18);
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search)
:where(.elementor-button,a.elementor-button):hover{
  background:var(--bc-red-dark);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 11px 24px rgba(217,0,20,.24);
}

/* Loop Grid, Posts y tarjetas de archivo. */
body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search)
:where(.elementor-widget-posts,.elementor-widget-loop-grid) :where(.elementor-post,.e-loop-item),
body.bc-style-archive :where(.site-main,.content-area) > article.post,
body.bc-style-search :where(.site-main,.content-area) > article.post{
  overflow:hidden;
  border:1px solid var(--bc-border);
  border-radius:var(--bc-radius);
  background:var(--bc-card);
  box-shadow:var(--bc-shadow);
}

body.bc-motion-enabled.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search)
:where(.elementor-widget-posts,.elementor-widget-loop-grid) :where(.elementor-post,.e-loop-item),
body.bc-motion-enabled.bc-style-archive :where(.site-main,.content-area) > article.post,
body.bc-motion-enabled.bc-style-search :where(.site-main,.content-area) > article.post{
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

body.bc-motion-enabled.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search)
:where(.elementor-widget-posts,.elementor-widget-loop-grid) :where(.elementor-post,.e-loop-item):hover,
body.bc-motion-enabled.bc-style-archive :where(.site-main,.content-area) > article.post:hover,
body.bc-motion-enabled.bc-style-search :where(.site-main,.content-area) > article.post:hover{
  transform:translateY(-3px);
  border-color:rgba(217,0,20,.22);
  box-shadow:0 18px 42px rgba(16,24,40,.12);
}

body.bc-motion-enabled.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search)
:where(.elementor-widget-posts,.elementor-widget-loop-grid) :where(.elementor-post__thumbnail img,.e-loop-item img),
body.bc-motion-enabled.bc-style-archive :where(.site-main,.content-area) > article.post img,
body.bc-motion-enabled.bc-style-search :where(.site-main,.content-area) > article.post img{
  transition:transform .4s ease;
}

body.bc-motion-enabled.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search)
:where(.elementor-widget-posts,.elementor-widget-loop-grid) :where(.elementor-post,.e-loop-item):hover img,
body.bc-motion-enabled.bc-style-archive :where(.site-main,.content-area) > article.post:hover img,
body.bc-motion-enabled.bc-style-search :where(.site-main,.content-area) > article.post:hover img{
  transform:scale(1.025);
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search)
:where(.elementor-post__title,.elementor-post__title a,.e-loop-item h2 a,.e-loop-item h3 a),
body.bc-style-archive :where(.site-main,.content-area) :where(.entry-title,.entry-title a),
body.bc-style-search :where(.site-main,.content-area) :where(.entry-title,.entry-title a){
  color:var(--bc-ink);
  font-weight:950;
  letter-spacing:-.025em;
  line-height:1.12;
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search)
:where(.elementor-post__title a,.e-loop-item h2 a,.e-loop-item h3 a):hover,
body.bc-style-archive :where(.site-main,.content-area) .entry-title a:hover,
body.bc-style-search :where(.site-main,.content-area) .entry-title a:hover{
  color:var(--bc-red);
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search)
:where(.elementor-post__meta-data,.elementor-post-info),
body.bc-style-archive :where(.site-main,.content-area) :where(.entry-meta,.posted-on,.byline),
body.bc-style-search :where(.site-main,.content-area) :where(.entry-meta,.posted-on,.byline){
  color:#8a929d;
  font-size:.78rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.035em;
}

body.bc-style-elementor :where(.elementor-location-archive,.elementor-location-search) .elementor-post__read-more,
body.bc-style-archive :where(.site-main,.content-area) :where(.more-link,.read-more),
body.bc-style-search :where(.site-main,.content-area) :where(.more-link,.read-more){
  color:var(--bc-red);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* Encabezados de archivos y búsqueda. */
body.bc-style-archive :where(.site-main,.content-area,.elementor-location-archive)
:where(.page-header,.archive-header,.elementor-widget-theme-archive-title),
body.bc-style-search :where(.site-main,.content-area,.elementor-location-search)
:where(.page-header,.search-header,.elementor-widget-theme-archive-title){
  margin-bottom:22px;
}

body.bc-style-archive :where(.site-main,.content-area,.elementor-location-archive) :where(.page-title,.archive-title),
body.bc-style-search :where(.site-main,.content-area,.elementor-location-search) :where(.page-title,.search-title){
  margin:0;
  color:var(--bc-ink);
  font-size:clamp(30px,5vw,54px);
  line-height:.98;
  font-weight:950;
  letter-spacing:-.045em;
}

body.bc-style-archive :where(.site-main,.content-area,.elementor-location-archive) :where(.taxonomy-description,.archive-description),
body.bc-style-search :where(.site-main,.content-area,.elementor-location-search) .search-description{
  color:var(--bc-muted);
  font-weight:600;
  line-height:1.55;
}

/* Notas individuales. */
body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-title .elementor-heading-title,.entry-title,.post-title){
  max-width:980px;
  margin-inline:auto;
  color:var(--bc-ink);
  font-size:clamp(34px,5.5vw,68px);
  line-height:.96;
  font-weight:950;
  letter-spacing:-.055em;
  text-wrap:balance;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-featured-image,.post-thumbnail){
  overflow:hidden;
  border-radius:var(--bc-radius);
  box-shadow:var(--bc-shadow);
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-featured-image,.post-thumbnail) img{
  width:100%;
  height:auto;
  border-radius:inherit;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content){
  color:#2a2d32;
  font-size:clamp(17px,1.6vw,20px);
  line-height:1.78;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) > *{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) > :where(figure,.wp-block-image,.wp-block-gallery,.wp-block-embed,.alignwide){
  max-width:1100px;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) > p:first-of-type{
  color:#202328;
  font-size:1.12em;
  line-height:1.68;
  font-weight:680;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) :where(h2,h3,h4){
  color:var(--bc-ink);
  font-weight:950;
  line-height:1.08;
  letter-spacing:-.035em;
  margin-top:1.8em;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) h2{font-size:clamp(27px,3vw,40px)}
body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) h3{font-size:clamp(22px,2.4vw,31px)}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) a{
  color:var(--bc-red);
  font-weight:800;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) blockquote{
  position:relative;
  max-width:900px;
  padding:22px 24px 22px 28px;
  border:0;
  border-left:5px solid var(--bc-red);
  border-radius:0 14px 14px 0;
  background:#fff;
  box-shadow:0 9px 26px rgba(16,24,40,.05);
  color:var(--bc-ink);
  font-size:1.08em;
  font-weight:750;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) figcaption{
  margin-top:7px;
  color:#7a818b;
  font-size:.72em;
  line-height:1.4;
  font-style:italic;
  text-align:center;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) table{
  display:block;
  max-width:100%;
  overflow-x:auto;
  border-collapse:collapse;
  background:#fff;
  border-radius:12px;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) th{background:#17191d;color:#fff}
body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.elementor-widget-theme-post-content,.entry-content) :where(th,td){padding:11px 13px;border:1px solid var(--bc-border)}

/* Taxonomías y metadatos, limitados a zonas editoriales. */
body.bc-site-style :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search,.site-main,.content-area)
:where(.elementor-widget-post-info,.elementor-widget-theme-post-info) a,
body.bc-site-style :where(.site-main,.content-area) :where(.cat-links,.tags-links) a{
  display:inline-flex;
  align-items:center;
  margin:3px 4px 3px 0;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(217,0,20,.08);
  color:var(--bc-red);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* Widgets editoriales; no alcanza slots publicitarios ni componentes del plugin. */
body.bc-site-style :where(.widget-area,.elementor-widget-sidebar)
:where(.widget:not(.bc-home-ad-widget),.elementor-widget-wp-widget-categories,.elementor-widget-wp-widget-recent-posts,.elementor-widget-wp-widget-tag_cloud){
  border-radius:16px;
}

body.bc-site-style :where(.widget-area,.elementor-widget-sidebar)
:where(.widget-title,.elementor-widget-container > h5,.elementor-widget-container > h2){
  font-weight:950;
  letter-spacing:-.025em;
}

/* Formularios: sólo en contenido, búsqueda, comentarios y sidebar editorial. */
body.bc-style-forms :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search,.comments-area,.widget_search,.site-main,.content-area)
:where(input[type="text"],input[type="email"],input[type="url"],input[type="search"],input[type="number"],select,textarea){
  max-width:100%;
  border:1px solid #dfe3e8;
  border-radius:11px;
  background:#fff;
  color:var(--bc-ink);
  box-shadow:none;
}

body.bc-style-forms :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search,.comments-area,.widget_search,.site-main,.content-area)
:where(input[type="text"],input[type="email"],input[type="url"],input[type="search"],input[type="number"],select){
  min-height:44px;
  padding:0 13px;
}

body.bc-style-forms :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search,.comments-area,.widget_search,.site-main,.content-area) textarea{
  padding:12px 13px;
}

body.bc-style-forms :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search,.comments-area,.widget_search,.site-main,.content-area)
:where(input,select,textarea):focus{
  outline:none;
  border-color:var(--bc-red);
  box-shadow:0 0 0 3px rgba(217,0,20,.08);
}

body.bc-style-forms :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search,.comments-area,.widget_search,.site-main,.content-area)
:where(button,input[type="submit"],.search-submit,.wp-element-button):not(.bc-header-menu-button):not(.bc-header-search-button){
  min-height:42px;
  padding:0 15px;
  border:0;
  border-radius:10px;
  background:var(--bc-red);
  color:#fff;
  font-weight:950;
  letter-spacing:.035em;
  text-transform:uppercase;
  cursor:pointer;
}

body.bc-style-forms :where(.elementor-location-archive,.elementor-location-single,.elementor-location-search,.comments-area,.widget_search,.site-main,.content-area)
:where(button,input[type="submit"],.search-submit,.wp-element-button):not(.bc-header-menu-button):not(.bc-header-search-button):hover{
  background:var(--bc-red-dark);
  color:#fff;
}

/* Paginación limitada a archivos y búsqueda. */
body.bc-style-archive :where(.elementor-location-archive,.site-main,.content-area) :where(.elementor-pagination,.pagination,.nav-links),
body.bc-style-search :where(.elementor-location-search,.site-main,.content-area) :where(.elementor-pagination,.pagination,.nav-links){
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:28px;
}

body.bc-style-archive :where(.elementor-location-archive,.site-main,.content-area) :where(.elementor-pagination,.pagination,.nav-links) :where(a,span),
body.bc-style-search :where(.elementor-location-search,.site-main,.content-area) :where(.elementor-pagination,.pagination,.nav-links) :where(a,span){
  display:grid;
  place-items:center;
  min-width:38px;
  min-height:38px;
  padding:5px 10px;
  border:1px solid var(--bc-border);
  border-radius:9px;
  background:#fff;
  color:var(--bc-ink);
  font-size:.82rem;
  font-weight:900;
}

body.bc-style-archive :where(.elementor-location-archive,.site-main,.content-area) :where(.elementor-pagination,.pagination,.nav-links) :where(.current,a:hover),
body.bc-style-search :where(.elementor-location-search,.site-main,.content-area) :where(.elementor-pagination,.pagination,.nav-links) :where(.current,a:hover){
  border-color:var(--bc-red);
  background:var(--bc-red);
  color:#fff;
}

body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
:where(.comments-area,.post-navigation,.elementor-post-navigation){
  margin-top:28px;
  padding:clamp(16px,2vw,26px);
  border:1px solid var(--bc-border);
  border-radius:var(--bc-radius);
  background:#fff;
  box-shadow:0 9px 26px rgba(16,24,40,.05);
}

/* Utilidades explícitas para Elementor. Sólo actúan si el editor agrega la clase. */
body.bc-style-elementor .bc-elementor-card{
  padding:clamp(16px,2vw,26px);
  border:1px solid var(--bc-border);
  border-radius:var(--bc-radius);
  background:#fff;
  box-shadow:var(--bc-shadow);
}
body.bc-style-elementor .bc-elementor-dark{background:#17191d;color:#fff}
body.bc-style-elementor .bc-elementor-red{background:linear-gradient(110deg,var(--bc-red),#8f0010);color:#fff}
body.bc-style-elementor .bc-elementor-rounded{overflow:hidden;border-radius:var(--bc-radius)}

/* Barra de progreso de lectura, generada por site.js sólo en entradas. */
#bc-reading-progress{
  position:fixed;
  z-index:999999;
  top:0;
  left:0;
  width:100%;
  height:4px;
  pointer-events:none;
  background:transparent;
}
#bc-reading-progress > span{
  display:block;
  width:0;
  height:100%;
  border-radius:0 999px 999px 0;
  background:linear-gradient(90deg,#d90014,#ff4656);
  box-shadow:0 0 12px rgba(217,0,20,.34);
  will-change:width;
}

@media(max-width:760px){
  body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
  :where(.elementor-widget-theme-post-content,.entry-content){font-size:16.5px;line-height:1.68}

  body.bc-style-single :where(.elementor-location-single,.site-main,.content-area)
  :where(.elementor-widget-theme-post-content,.entry-content) blockquote{padding:18px 18px 18px 21px}

  body.bc-style-archive :where(.elementor-location-archive,.site-main,.content-area) :where(.elementor-pagination,.pagination,.nav-links) :where(a,span),
  body.bc-style-search :where(.elementor-location-search,.site-main,.content-area) :where(.elementor-pagination,.pagination,.nav-links) :where(a,span){min-width:34px;min-height:34px}
}

@media(prefers-reduced-motion:reduce){
  body.bc-site-style *,
  body.bc-site-style *::before,
  body.bc-site-style *::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}
