:root{
  --pt-bg: #ffffff;
  --pt-text: #111827;
  --pt-muted: #6b7280;
  --pt-border: rgba(17,24,39,.10);
  --pt-card: #ffffff;
  --pt-soft: rgba(13,110,253,.06);
  --pt-primary: #3c7eb4;
  --pt-primary2: #336792;
  --pt-secondary: #000;
}

a {
    color: var(--pt-primary);
    text-decoration: none;
}

h1, h1 {
        font-size: 2rem;
		color:var(--pt-primary);
    }
	.h6, h6 {
    font-size: 1.2rem;
}
	
	.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--pt-primary);
    --bs-btn-border-color: var(--pt-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--pt-primary2);
    --bs-btn-hover-border-color: var(--pt-primary2);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow
inset 0 3px 5px rgba(0, 0, 0, 0.125)
: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd;
}

.pt-site{ background: var(--pt-bg); color: var(--pt-text); }

.navbar-blur{
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(10px);
}

.brand-dot{
  display:inline-block; width:10px; height:10px; border-radius:50%;
  background:#fd7e14; margin-right:8px; transform: translateY(-1px);
}

.section{ padding: 56px 0; }
.section-soft{ background: var(--pt-soft); border-top: 1px solid var(--pt-border); border-bottom: 1px solid var(--pt-border); }

.pt-hero {
  padding: 64px 0 40px;
  background: linear-gradient(
    180deg,
    rgba(13, 110, 253, 0.08) 0%,
    rgba(255, 255, 255, 0) 75%
  );
  border-bottom: 1px solid var(--pt-border);
}

.pt-kicker{ color: var(--pt-muted); }
.pt-title{ letter-spacing:-.02em; }

.pt-card{
  background: var(--pt-card);
  border: 1px solid var(--pt-border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(0,0,0,.04);
  height: 100%;
}

.buscador{
  background: #ffde49;
  border: 1px solid #ffde49;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(0,0,0,.04);
  height: 100%;
}



.pt-card .thumb{
  aspect-ratio: 16/10;
  background: #f3f4f6;
  overflow: hidden;
}
.pt-card .thumb img{ width:100%; height:100%; object-fit:cover; }

.badge-soft{
  background: rgba(25,135,84,.10);
  color: #198754;
  border: 1px solid rgba(25,135,84,.18);
}

.price{
  font-size: .9rem;
  font-weight: 400;
}

.link-muted{ color: var(--pt-muted); text-decoration: none; }
.link-muted:hover{ text-decoration: underline; }

.pt-footer{ background: #fff; }

/* ===== Oferta (ver.php) ===== */
.offer-hero{
  padding: 40px 0 56px;
  border-bottom: 1px solid var(--pt-border);
}

.offer-media{
  border-radius: 22px;
  overflow: hidden;
}

.offer-img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 16/10;
}

.offer-title{
  font-weight: 700;
  letter-spacing: -.02em;
  margin-bottom: .35rem;
}

.offer-price{
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: .75rem;
  color: var(--pt-secondary);
}

.offer-quick{
  border-radius: 18px;
}

.offer-quick-list{
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.offer-quick-list li{
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  padding: .2rem 0;
}

.offer-quick-list i{
  transform: translateY(2px);
  opacity: .75;
}

.offer-list{
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.offer-list li{
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  padding: .2rem 0;
}

.offer-list i{
  transform: translateY(3px);
  opacity: .75;
}

@media (min-width: 992px){
  .offer-side{
    position: sticky;
    top: 92px;
  }
}
/* Relacionadas */
.offer-related{
  margin-top: 28px;
  padding-top: 12px;
  border-top: 1px solid var(--pt-border);
}
/* Bullets pro (ver.php) */
.offer-list li{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  padding:.28rem 0;
}

.offer-list i{
  font-size: 1.05rem;
  line-height: 1;
  transform: translateY(2px);
}

/* colores sutiles */
.offer-list .li-check i{ color:#198754; }   /* bootstrap success */
.offer-list .li-x i{ color:#dc3545; }       /* bootstrap danger */
.offer-list .li-tip i{ color:#0d6efd; }     /* bootstrap primary */

.offer-list span{
  flex:1;
}

/* micro separación visual */
.pt-card h2 i{
  opacity:.9;
}
.offer-quick-list i.bi-calendar3{ color:#0d6efd; }
.offer-quick-list i.bi-tag{ color:#fd7e14; }
.offer-quick-list i.bi-shield-check{ color:#198754; }

/* ===== Detalle oferta - estilo limpio ===== */

.offer-box{
  background: transparent;
  border: 0;
  padding: 0;
}

/* ===== Detalle oferta (minimal) ===== */

.offer-col{ position: relative; }

/* Separadores ENTRE columnas (en el "gap") */
@media (min-width: 992px){
  .offer-col:not(:last-child)::after{
    content:"";
    position:absolute;
    top: 12%;
    right: 3.5rem;          /* mitad del gap aprox */
    width: 1px;
    height: 76%;
    background: rgba(0,0,0,.08);
  }
}

.offer-h{
  display:flex;
  align-items:center;
  gap:.55rem;
}

.offer-ico{
  font-size: 1.05rem;
  transform: translateY(1px);
}

/* color solo en el icono del título */
.offer-ico-check{ color:#198754; }
.offer-ico-x{ color:#dc3545; }
.offer-ico-tip{ color:#0d6efd; }

/* Lista con puntos sutiles */
.offer-minilist{
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.offer-minilist li{
  position: relative;
  padding: .35rem 0 .35rem 1.05rem;
  color: var(--pt-text);
}

.offer-minilist li::before{
  content:"";
  position:absolute;
  left: 0;
  top: .95rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(17,24,39,.25);
}

.offer-col .pt-card {
    background: none;
    box-shadow: none;
}

/* ===== Footer oscuro ===== */
.pt-footer{
  background: #0b1220;        /* azul oscuro */
  color: rgba(255,255,255,.85);
}

.pt-footer a{
  color: rgba(255,255,255,.85);
  text-decoration: none;
}

.pt-footer a:hover{
  color: #fff;
  text-decoration: underline;
}

.pt-footer-logo{
  height: 44px;
  width: auto;
  opacity: .95;
}

.pt-footer-title{
  font-weight: 800;
  color: #fff;
  letter-spacing: -.01em;
  line-height: 1.1;
}

.pt-footer-sub{
  font-size: .92rem;
  opacity: .8;
}

.pt-footer-text{
  max-width: 520px;
  opacity: .85;
}

.pt-footer-h{
  font-weight: 700;
  color: #fff;
  margin-bottom: .6rem;
}

.pt-footer-links{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .35rem;
}

.pt-footer-divider{
  height: 1px;
  background: rgba(255,255,255,.10);
}

.pt-footer-muted{
  opacity: .75;
}