/* Polar Pro - Theme (Ultra Premium) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --pp-navy:#0b1f3a;
  --pp-navy-2:#0e2a4a;
  --pp-orange:#f97316;
  --pp-orange-2:#fb923c;
  --pp-bg:#f3f6fb;
  --pp-card:#ffffff;
  --pp-text:#0f172a;
  --pp-muted:#64748b;
  --pp-border:#e5e7eb;
  --pp-radius:22px;
  --pp-shadow:0 16px 40px rgba(2,6,23,.10);
}

html,body{height:100%;}
body.pp-body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--pp-bg);
  color:var(--pp-text);
}

a{color:inherit}
a:hover{color:inherit; opacity:.9}

.container{max-width:1180px}

/* Topbar */
.pp-topbar{
  background:linear-gradient(180deg, rgba(11,31,58,.96), rgba(11,31,58,.92));
  color:rgba(255,255,255,.88);
  font-size:.9rem;
}

/* Header */
.pp-header{
  background:#fff;
  border-bottom:1px solid var(--pp-border);
}
.pp-brand{
  text-decoration:none;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--pp-navy);
}
.pp-search .form-control{
  border-radius:999px;
  border:1px solid var(--pp-border);
  padding:.7rem 1rem;
  background:#fff;
}
.pp-search .form-control:focus{
  border-color:rgba(249,115,22,.5);
  box-shadow:0 0 0 .25rem rgba(249,115,22,.15);
}

/* Category nav */
.pp-catnav{
  background:#fff;
}
.pp-catnav .nav-link{
  color:#1f3b63;
  font-weight:600;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:.55rem .6rem;
  border-radius:999px;
}
.pp-catnav .nav-link:hover{
  background:rgba(11,31,58,.06);
}

/* Buttons */
.btn-pp-orange{
  background:var(--pp-orange);
  color:#fff;
  border:1px solid var(--pp-orange);
  border-radius:999px;
  font-weight:700;
  letter-spacing:.02em;
}
.btn-pp-orange:hover{
  background:var(--pp-orange-2);
  border-color:var(--pp-orange-2);
  color:#fff;
}
.btn-pp-outline{
  background:transparent;
  color:var(--pp-navy);
  border:1px solid rgba(11,31,58,.22);
  border-radius:999px;
  font-weight:700;
}
.btn-pp-outline:hover{
  background:rgba(11,31,58,.06);
  color:var(--pp-navy);
}

/* Cards */
.pp-card{
  background:var(--pp-card);
  border:1px solid var(--pp-border);
  border-radius:var(--pp-radius);
  box-shadow:0 6px 18px rgba(2,6,23,.06);
}
.pp-card:hover{
  box-shadow:0 16px 40px rgba(2,6,23,.10);
  transform:translateY(-1px);
  transition:all .18s ease;
}

.pp-muted{color:var(--pp-muted)}

/* Hero */
.pp-hero{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  min-height:380px;
  background:
    linear-gradient(90deg, rgba(11,31,58,.90) 0%, rgba(11,31,58,.72) 50%, rgba(11,31,58,.38) 100%),
    url('../../img/hero.jpg');
  background-size:cover;
  background-position:center;
  box-shadow:var(--pp-shadow);
}
.pp-hero > img{display:none;}
.pp-hero-inner{
  position:relative;
  z-index:2;
  padding:52px 44px;
  color:#fff;
  max-width:760px;
}
.pp-hero-kicker{
  color:rgba(255,255,255,.88);
  letter-spacing:.12em;
}
.pp-hero-inner h1{
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.18);
}
.pp-hero-inner .lead{
  font-weight:700;
  opacity:.98;
  max-width:680px;
}
.pp-hero-text{
  max-width:640px;
  color:rgba(255,255,255,.96);
  text-shadow:0 1px 6px rgba(0,0,0,.16);
}
.pp-hero-actions{
  position:relative;
  z-index:3;
}

/* Sections */
.pp-section-title{
  color:var(--pp-navy);
  font-weight:800;
  letter-spacing:-.02em;
}

/* Badge */
.badge{border-radius:999px}

/* CTA strip */
.pp-cta{
  border-radius:28px;
  background:linear-gradient(90deg, rgba(11,31,58,.96), rgba(11,31,58,.78));
  color:#fff;
  box-shadow:var(--pp-shadow);
}

/* Footer */
.pp-footer{
  background:linear-gradient(180deg, rgba(11,31,58,.98), rgba(11,31,58,.92));
  color:rgba(255,255,255,.82);
}
.pp-footer a{color:rgba(255,255,255,.82); text-decoration:none}
.pp-footer a:hover{color:#fff}

/* Forms */
.form-control, .form-select{
  border-radius:14px;
  border:1px solid var(--pp-border);
}
.form-control:focus, .form-select:focus{
  border-color:rgba(249,115,22,.5);
  box-shadow:0 0 0 .25rem rgba(249,115,22,.12);
}

/* Responsive */
@media (max-width: 768px){
  .pp-hero{
    min-height:420px;
    background-position:center;
  }
  .pp-hero-inner{
    padding:34px 22px;
    max-width:100%;
  }
  .pp-hero-inner .lead,
  .pp-hero-text{
    max-width:100%;
  }
  .pp-catnav .nav-link{font-size:.78rem}
}

/* Bootstrap cards tuning (catalogo, carrito, forms) */
.card{
  border-radius:var(--pp-radius);
  border:1px solid var(--pp-border);
  box-shadow:0 6px 18px rgba(2,6,23,.06);
}
.card .card-img-top{border-top-left-radius:var(--pp-radius); border-top-right-radius:var(--pp-radius);}
.btn-primary{
  background:var(--pp-orange);
  border-color:var(--pp-orange);
  border-radius:999px;
  font-weight:700;
}
.btn-primary:hover{background:var(--pp-orange-2); border-color:var(--pp-orange-2);}
.btn-outline-primary{
  color:var(--pp-navy);
  border-color:rgba(11,31,58,.22);
  border-radius:999px;
  font-weight:700;
}
.btn-outline-primary:hover{background:rgba(11,31,58,.06); border-color:rgba(11,31,58,.22); color:var(--pp-navy);}

/* Botón secundario del hero */
.btn-hero-secondary {
  background:#ffffff;
  color:#0b2a4a;
  border:1px solid rgba(255,255,255,.95);
  border-radius:999px;
  font-weight:800;
  box-shadow:0 8px 24px rgba(0,0,0,0.28);
  transition:all 0.3s ease;
}
.btn-hero-secondary:hover {
  background:#f1f5f9;
  color:#081c33;
  transform:translateY(-2px);
}

/* Imagen categorías */
.categoria-img {
    width: 100%;
    height: 190px;
    overflow: hidden;
    border-radius: 14px;
    background: #f2f4f8;
}

.categoria-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.card-categoria:hover img {
    transform: scale(1.05);
}

.categoria-box-home{
  background-color:#eef2f7;
}

/* ===== LOGO HEADER AJUSTE DEFINITIVO ===== */
.pp-header .pp-brand img{
    height: 60px !important;
    width: auto !important;
}

.pp-header .container{
    display: flex;
    align-items: center;
}

.pp-header .pp-search{
    flex: 1;
    display: flex;
    justify-content: flex-start;
}

.pp-header .pp-brand{
    margin-right: 20px;
}

/* FORCE: logo grande en header */
.pp-brand{
  flex: 0 0 340px !important;
  max-width: 340px !important;
}

.pp-brand img{
  height: 72px !important;
  width: 100% !important;
  max-width: 340px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Header: que el buscador + botones ocupen todo el ancho disponible */
.pp-headbar{
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}

/* Contenedor del buscador: que se estire */
.pp-search{
  flex: 1;
  display: flex;
  justify-content: flex-start;
}

/* Input: que sea ancho y responsive */
.pp-search input{
  width: 100%;
  max-width: 720px;
}

/* Botones: que no se achiquen ni se bajen */
.pp-actions{
  display: flex;
  gap: 10px;
  align-items: center;
  flex-shrink: 0;
}

/* ===== HEADER LAYOUT CORRECTO ===== */
.pp-header .container > .d-flex{
    width: 100%;
    align-items: center;
}

/* Logo fijo a la izquierda */
.pp-header .pp-brand{
    flex: 0 0 auto;
    margin-right: 25px;
}

/* Bloque buscador que ocupe TODO el espacio central */
.pp-header .pp-search{
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-start;
}

/* Input ocupa todo el espacio disponible */
.pp-header .pp-search .form-control{
    width: 100%;
    max-width: none;
}

/* Botones a la derecha sin comprimirse */
.pp-header .btn-pp-outline,
.pp-header .btn-pp-orange{
    flex: 0 0 auto;
}

/* Imagen institucional con efecto hover */
.img-institucional{
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
    transition:all .35s ease;
}
.img-institucional:hover{
    transform:scale(1.04);
    box-shadow:0 18px 40px rgba(0,0,0,0.25);
}