/* DEPOL · Ofertas. Estilos encapsulados para no alterar el catálogo existente. */
.depol-ofertas-page { width: 100%; max-width: none; margin: 0 auto; overflow: clip; }
.depol-ofertas-page__content { width: 100%; }
.depol-ofertas-page__content > :not(.depol-ofertas-hero):not(.depol-ofertas-catalog):not(.depol-ofertas-section) { max-width: 1180px; margin-left: auto; margin-right: auto; }
/* Cabecera de ofertas: margen superior identico al .heading-container del tema DEPOL. */
.depol-ofertas-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 9em 0 0;
  background: var(--depol-ofertas-hero-bg, #161c37);
  color: #fff;
  /* La altura del hero es independiente del tamano de la imagen. */
  min-height: 520px;
  display: flex;
  align-items: center;
}
.depol-ofertas-hero--medium { min-height: 380px; }
.depol-ofertas-hero__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  /* Imagen al 100% de la altura del hero, sin recorte vertical.
     Centrada horizontalmente: puede quedar fondo azul a los lados. */
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center center;
}
/* Oscurecer solamente lo necesario para que la tipografia clara se lea encima de la foto. */
.depol-ofertas-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 12, 47, .76) 0%, rgba(8, 12, 47, .45) 48%, rgba(8, 12, 47, .10) 100%);
  opacity: var(--depol-ofertas-hero-overlay-opacity, 1);
  pointer-events: none;
}
.depol-ofertas-hero__content {
  position: relative;
  box-sizing: border-box;
  width: 90%;
  max-width: 70em;
  margin: 0 auto;
  padding: 64px 1em;
}
/* Sin pastilla: el texto se apoya directamente sobre la fotografia. */
.depol-ofertas-hero__panel {
  box-sizing: border-box;
  width: min(680px, 100%);
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.depol-ofertas-hero__eyebrow {
  margin: 0 0 18px !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #faaa28;
  text-transform: uppercase;
}
.depol-ofertas-hero h1 {
  font-size: clamp(36px, 4.7vw, 66px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 21px;
  text-transform: none;
}
.depol-ofertas-hero__description {
  color: #fff;
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.48;
  margin: 0;
  max-width: 560px;
}
.depol-ofertas-hero__button {
  margin-top: 25px;
  display: inline-block;
  background: #faaa28;
  color: #182865 !important;
  padding: 14px 22px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
}
.depol-ofertas-hero__button:hover,
.depol-ofertas-hero__button:focus {
  background: #fff;
  color: #182865 !important;
}
/* El catálogo conserva EXACTAMENTE la estructura del tema: #shopping > .shop-cat-group > ul.shop-items. */
.depol-ofertas-page .depol-ofertas-catalog { padding-top: 45px; padding-bottom: 55px; }
.depol-ofertas-page .depol-ofertas-section__intro { margin-bottom: 24px; }
.depol-ofertas-page .depol-ofertas-catalog .shop-cat-group { position: relative; }
.depol-ofertas-page .depol-ofertas-catalog .shop-items { list-style: none; }
.depol-ofertas-empty { padding: 24px; border: 1px dashed #b0b0b0; color: #555; }
@media (max-width: 650px) {
  .depol-ofertas-hero,
  .depol-ofertas-hero--medium { min-height: 370px; align-items: center; }
  .depol-ofertas-hero__content { padding: 48px 0; width: calc(100% - 40px); }
  .depol-ofertas-hero__panel { padding: 0; }
  .depol-ofertas-hero::before { background: rgba(8, 12, 47, .62); }
  .depol-ofertas-hero h1 { font-size: clamp(34px, 9vw, 46px); }
  .depol-ofertas-page .depol-ofertas-catalog { padding-top: 25px; }
}
/* Edición Gutenberg. */
.depol-ofertas-block-editor { border: 1px solid #d6d6df; padding: 12px; margin-bottom: 12px; }
.depol-ofertas-block-editor .depol-ofertas-editor-fields { background: #f6f6f8; padding: 18px; margin-bottom: 15px; }
.depol-ofertas-block-editor .depol-ofertas-editor-fields > strong { display: block; font-size: 18px; margin-bottom: 14px; }
.depol-ofertas-block-editor .depol-ofertas-editor-preview > small { font-weight: 700; color: #54546a; }
.depol-ofertas-block-editor .depol-ofertas-hero { min-height: 260px; margin: 0; }
.depol-ofertas-block-editor .depol-ofertas-hero__content { padding: 20px 0; }
.depol-ofertas-block-editor .depol-ofertas-hero__panel { padding: 0; }
.depol-ofertas-block-editor .depol-ofertas-hero h1 { font-size: 34px; }
.depol-ofertas-block-editor .depol-ofertas-selected { margin: 0 0 14px; padding: 0; list-style-position: inside; }
.depol-ofertas-block-editor .depol-ofertas-selected li { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #ddd; gap: 8px; padding: 6px; }
.depol-ofertas-block-editor .depol-ofertas-products-list { max-height: 240px; overflow: auto; padding: 12px; background: #fff; border: 1px solid #d6d6df; }
.depol-ofertas-categories { max-height: 300px; overflow-y: auto; }
.depol-ofertas-block-editor .depol-ofertas-hint { font-size: 12px; color: #555; }


/* v0.5: fichas y rejilla 100% controladas por el CSS original del tema DEPOL. */
.depol-ofertas-page .depol-ofertas-block { margin-bottom: 3em; }
.depol-ofertas-page .depol-ofertas-block__title { margin: 0 0 .35em; color:#182865; font-weight:800; font-size:2.2em; }
.depol-ofertas-page .depol-ofertas-section__intro { font-size:1.15em; margin: 0 0 1.5em; }
.depol-ofertas-page #shopping .shop-cat-title { scroll-margin-top: 10em; }

/* 0.5.8 - modo noche exclusivo del catalogo de ofertas.
   Reutiliza medidas, estructura, tipografia y disposicion del tema DEPOL.
   No afecta al banner, header ni footer de la web. */
.depol-ofertas-page .depol-ofertas-catalog--night {
  background-color: var(--depol-ofertas-night-bg, #222d5d);
  color: #f4f6ff;
  margin: 0;
}
.depol-ofertas-page .depol-ofertas-catalog--night .depol-ofertas-block__title {
  color: #fff;
}
.depol-ofertas-page .depol-ofertas-catalog--night .depol-ofertas-section__intro {
  color: #dbe3ff;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-cat-title {
  color: #faaa28;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-items {
  border-bottom-color: rgba(255, 255, 255, .24);
}
/* Cambia solo los colores de las tarjetas; la geometria sigue siendo la del tema. */
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info {
  background-color: var(--depol-ofertas-night-info-bg, var(--depol-ofertas-night-bg, #222d5d));
  color: #fff;
  border-radius: 1em;
  margin: 1em;
  padding: .5em 0 1em .5em;
}
/* Mantener el espaciado del tema, ajustando solo la derecha. */
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner {
  padding-right: 1em !important;
  box-sizing: border-box;
  width: 100%;
}
/* La opacidad afecta al snapshot COMPLETO: fondo blanco, imagen y distintivos.
   El modo Dia y el banner permanecen intactos. */
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .snapshot {
  background-color: #fff;
  opacity: var(--depol-ofertas-snapshot-opacity, .7);
  transition: opacity .25s ease;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item:hover .snapshot,
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item:focus-within .snapshot {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .depol-ofertas-page .depol-ofertas-catalog--night .shop-item .snapshot {
    transition: none;
  }
}
/* En movil, descontar los margenes laterales del ancho de la tarjeta. */
@media (max-width: 650px) {
  .depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info {
    width: calc(100% - 2em);
  }
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner h4 {
  color: #fff;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .detail,
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .statement,
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .term,
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .separator,
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .hyphen {
  color: #e3eaff;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .mark,
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .mark > * {
  background-color: #323c6b;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .mark .call,
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .mark .date {
  color: #e1e7ff;
}
/* La pastilla PRECIO ALUMNO ya tiene fondo amarillo en el tema.
   No forzamos el color de todos los precios; solo aseguramos letras blancas en la pastilla. */
/* 0.6.3: oscurecer ligeramente la pastilla gris SOLO en Noche.
   Mantener variantes especiales (.grey.blue) con su color original. */
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .offer.grey:not(.blue) {
  background-color: #8991ad;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .price.student-label {
  color: #fff;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .price.old {
  color: #ffb1b1;
}
.depol-ofertas-page .depol-ofertas-catalog--night .depol-ofertas-empty {
  color: #dbe3ff;
  border-color: rgba(255, 255, 255, .35);
}

/* 0.5.9: párrafos y enlaces del WYSIWYG del banner. */
.depol-ofertas-hero__description p { color:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; margin:0 0 .75em; }
.depol-ofertas-hero__description p:last-child { margin-bottom:0; }
.depol-ofertas-hero__description a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.depol-ofertas-hero__description a:hover { color:#faaa28; }
.depol-ofertas-hero__description strong { font-weight:700; }
.depol-ofertas-hero__description ul, .depol-ofertas-hero__description ol { padding-left:1.5em; margin:.5em 0; }
.depol-ofertas-hero__description ul { list-style:disc; }
.depol-ofertas-hero__description ol { list-style:decimal; }

/* 0.5.9: RichText si se utiliza el editor Gutenberg. */
.depol-ofertas-block-editor .depol-ofertas-rich-label { display:block; font-weight:600; margin-bottom:8px; }
.depol-ofertas-block-editor .depol-ofertas-rich-description { min-height:75px; padding:12px; border:1px solid #949494; background:#fff; color:#182865; }

/* 0.6.1: solo ofertas. Separador independiente del catalogo nativo.
   Azul en Dia, blanco en Noche. Ninguna regla global sobre #shopping. */
.depol-ofertas-page .depol-ofertas-catalog .shop-item .info .inner .mark-separator {
  display: block;
  width: 100%;
  height: 0;
  min-height: 0;
  margin: .75em 0 0;
  padding: 0;
  border: 0;
  border-top: .5px solid #182865;
  opacity: .5;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  line-height: 0;
}
.depol-ofertas-page .depol-ofertas-catalog--night .shop-item .info .inner .mark-separator {
  border-top-color: #fff;
}


/* v0.6.9 - Mobile Noche: fotografía primero, información debajo y contorno blanco.
   Exclusivo de la plantilla de ofertas y del modo Noche. No afecta al tema. */
@media only screen and (max-width: 900px) {
  .depol-ofertas-page .depol-ofertas-catalog--night .shop-items .shop-item {
    display: flex;
    flex-direction: column;
    border: .5px solid #fff;
    border-radius: 1em;
    overflow: hidden;
    box-sizing: border-box;
  }
  .depol-ofertas-page .depol-ofertas-catalog--night .shop-items .shop-item > .snapshot {
    order: 0;
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    border-radius: 0;
  }
  .depol-ofertas-page .depol-ofertas-catalog--night .shop-items .shop-item > .info {
    order: 1;
    flex: 0 0 auto;
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 1em .5em 1.25em 1em;
    border-radius: 0;
    box-sizing: border-box;
  }
}
