:root{
  --aida-navy:#1f3563;
  --aida-navy-2:#16284d;
  --aida-ink:#172033;
  --aida-muted:#647084;
  --aida-line:#dfe5ee;
  --aida-soft:#f5f7fb;
  --aida-soft-2:#eef2f7;
  --aida-gold:#c9a227;
  --aida-gold-soft:#f7efd6;
  --aida-red:#a9343a;
  --aida-green:#5f7443;
  --aida-purple:#683a72;
  --aida-white:#ffffff;
  --aida-whatsapp:#1f8f56;
  --aida-whatsapp-dark:#197949;
  --aida-shadow:0 18px 48px rgba(31,53,99,.10);
  --aida-shadow-lg:0 28px 70px rgba(23,32,51,.14);
}
*{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--aida-ink);background:#fff;line-height:1.65}.top-strip{background:var(--aida-navy-2);color:#eef2f7;border-bottom:1px solid rgba(255,255,255,.08)}.main-navbar{border-bottom:1px solid var(--aida-line);background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)}.site-logo{width:235px;max-height:82px;object-fit:contain}.footer-logo{width:240px;max-width:100%;background:transparent!important;border-radius:0;padding:0;box-shadow:none!important;filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}.navbar .nav-link{font-weight:700;color:var(--aida-navy);letter-spacing:.01em}.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--aida-red)}.navbar-toggler{border-color:var(--aida-line)}.btn{border-radius:10px;padding:.78rem 1rem;font-weight:700;letter-spacing:.01em;transition:all .18s ease}.btn-lg{border-radius:12px;padding:.95rem 1.25rem}.btn-whatsapp{background:var(--aida-whatsapp);border-color:var(--aida-whatsapp);color:#fff;box-shadow:0 12px 26px rgba(31,143,86,.18)}.btn-whatsapp:hover{background:var(--aida-whatsapp-dark);border-color:var(--aida-whatsapp-dark);color:#fff;transform:translateY(-1px)}.btn-aida{background:var(--aida-navy);border-color:var(--aida-navy);color:#fff;box-shadow:0 12px 26px rgba(31,53,99,.16)}.btn-aida:hover{background:var(--aida-navy-2);border-color:var(--aida-navy-2);color:#fff;transform:translateY(-1px)}.btn-gold{background:var(--aida-gold);border-color:var(--aida-gold);color:#1b2435;box-shadow:0 12px 26px rgba(201,162,39,.16)}.btn-gold:hover{background:#b38f22;border-color:#b38f22;color:#111827;transform:translateY(-1px)}.btn-outline-aida{border-color:var(--aida-navy);color:var(--aida-navy);background:#fff}.btn-outline-aida:hover{background:var(--aida-navy);color:#fff;transform:translateY(-1px)}.btn-outline-soft{border-color:var(--aida-line);color:var(--aida-navy);background:#fff}.btn-outline-soft:hover{border-color:var(--aida-navy);background:var(--aida-soft);color:var(--aida-navy)}.badge{font-weight:700;letter-spacing:.02em;border-radius:999px;padding:.55rem .75rem}.badge-aida{background:var(--aida-gold-soft);color:#6c5413;border:1px solid rgba(201,162,39,.28)}.badge-service{background:#eef2f7;color:var(--aida-navy);border:1px solid var(--aida-line)}.hero-section{background:linear-gradient(135deg,#f7f8fb 0%,#ffffff 48%,#eef2f7 100%);color:var(--aida-ink);overflow:hidden;position:relative;border-bottom:1px solid var(--aida-line)}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 5%,rgba(201,162,39,.16),transparent 30%),radial-gradient(circle at 95% 10%,rgba(31,53,99,.08),transparent 34%);pointer-events:none}.hero-section .container{position:relative;z-index:1}.hero-kicker{display:inline-flex;align-items:center;gap:.5rem;color:var(--aida-navy);background:#fff;border:1px solid var(--aida-line);border-radius:999px;padding:.55rem .85rem;font-weight:800;box-shadow:0 8px 22px rgba(31,53,99,.06)}.hero-title{color:var(--aida-navy);letter-spacing:-.03em}.hero-card{background:#fff;border:1px solid var(--aida-line);border-radius:24px;box-shadow:var(--aida-shadow-lg);position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--aida-navy),var(--aida-gold),var(--aida-red))}.hero-image{border-radius:18px}.section-title span{color:var(--aida-navy)}.section-eyebrow{color:var(--aida-gold);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.category-card{border:1px solid var(--aida-line);border-radius:18px;transition:.2s;background:#fff;box-shadow:0 10px 28px rgba(31,53,99,.04)}.category-card:hover{transform:translateY(-3px);box-shadow:var(--aida-shadow);border-color:rgba(31,53,99,.26)}.category-card i{font-size:32px;color:var(--aida-navy)}.product-card{border-radius:18px;overflow:hidden;transition:.2s;border:1px solid var(--aida-line)!important;background:#fff}.product-card:hover{transform:translateY(-4px);box-shadow:var(--aida-shadow)!important}.product-img-wrap{background:linear-gradient(135deg,#f8fafc,#eef2f7)}.product-card img{height:245px;object-fit:cover}.product-badge{position:absolute;left:16px;top:16px;background:var(--aida-navy);color:#fff;border-radius:999px;padding:.5rem .78rem;box-shadow:0 10px 24px rgba(31,53,99,.18)}.feature-box{background:#fff;border-radius:18px;border:1px solid var(--aida-line);box-shadow:0 12px 30px rgba(31,53,99,.05)}.feature-icon{width:46px;height:46px;border-radius:14px;background:var(--aida-soft-2);color:var(--aida-navy);display:flex;align-items:center;justify-content:center;font-size:24px}.contact-card{border-radius:18px;border:1px solid var(--aida-line);background:#fff;box-shadow:var(--aida-shadow)}.footer-section{background:linear-gradient(135deg,#111827,var(--aida-navy-2));color:#e5e7eb;border-top:1px solid rgba(255,255,255,.08)}.footer-section a:not(.btn){color:#f4e5ad;text-decoration:none}.footer-section a:not(.btn):hover{color:#fff}.footer-section h5{color:#fff}.footer-actions .btn{border-radius:12px;padding:.82rem 1rem;font-weight:800}.btn-footer-whatsapp{background:var(--aida-whatsapp);border-color:var(--aida-whatsapp);color:#fff;box-shadow:0 12px 26px rgba(31,143,86,.22)}.btn-footer-whatsapp:hover,.btn-footer-whatsapp:focus{background:var(--aida-whatsapp-dark);border-color:var(--aida-whatsapp-dark);color:#fff;transform:translateY(-1px)}.btn-footer-impresiones{background:#cfefff;border-color:#a8d7ef;color:var(--aida-navy);box-shadow:0 12px 26px rgba(31,53,99,.12)}.btn-footer-impresiones:hover,.btn-footer-impresiones:focus{background:#b8e4fa;border-color:#8ecbec;color:var(--aida-navy-2);transform:translateY(-1px)}.floating-whatsapp{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--aida-whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 14px 32px rgba(31,143,86,.35);z-index:999;text-decoration:none}.floating-whatsapp:hover{color:#fff;background:var(--aida-whatsapp-dark)}.breadcrumb-section{background:linear-gradient(90deg,#f8fafc,#fff);border-bottom:1px solid var(--aida-line)}.form-control,.form-select{border-radius:10px;padding:.82rem 1rem;border-color:#d7dee9}.form-control:focus,.form-select:focus{border-color:var(--aida-navy);box-shadow:0 0 0 .2rem rgba(31,53,99,.11)}.form-text{color:var(--aida-muted)}.mockup-panel{background:#fff;border-radius:20px;padding:18px;box-shadow:var(--aida-shadow);border:1px solid var(--aida-line)}.corporate-banner{background:#fff;border:1px solid var(--aida-line);border-radius:24px;overflow:hidden;position:relative;box-shadow:var(--aida-shadow-lg)}.corporate-banner:before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:linear-gradient(90deg,var(--aida-navy),var(--aida-gold),var(--aida-red),var(--aida-green),var(--aida-purple));opacity:.82}.corporate-banner .banner-visual{background:linear-gradient(135deg,#f5f7fb,#eef2f7);border-radius:18px;border:1px solid var(--aida-line);padding:14px}.service-pill{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.55rem .85rem;background:#fff;border:1px solid var(--aida-line);color:var(--aida-navy);font-weight:700;box-shadow:0 6px 18px rgba(31,53,99,.05)}.portfolio-card{border:1px solid var(--aida-line);border-radius:18px;overflow:hidden;box-shadow:0 16px 38px rgba(31,53,99,.07);height:100%;background:#fff}.portfolio-card img{height:255px;object-fit:cover;background:var(--aida-soft-2)}.portfolio-upload-box{border:1px solid var(--aida-line);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:22px;box-shadow:var(--aida-shadow)}.alert-aida{border:1px solid rgba(201,162,39,.36);background:var(--aida-gold-soft);color:#5f4a11}.payment-card{border:1px solid var(--aida-line);background:#fff;border-radius:18px;box-shadow:var(--aida-shadow);height:100%}.payment-card .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--aida-muted);font-weight:800}.payment-value{font-size:1.2rem;font-weight:900;color:var(--aida-navy)}.policy-card{border:1px solid var(--aida-line);background:#fff;border-radius:18px;padding:1.35rem;box-shadow:0 10px 28px rgba(31,53,99,.05);height:100%}.policy-card i{color:var(--aida-navy);font-size:28px}.upload-result-card{background:#fff;border:1px solid var(--aida-line);border-radius:18px;box-shadow:var(--aida-shadow)}.file-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--aida-soft);border:1px solid var(--aida-line);color:var(--aida-navy);border-radius:999px;padding:.45rem .7rem;font-weight:700;font-size:.88rem}.text-aida-navy{color:var(--aida-navy)!important}.text-aida-red{color:var(--aida-red)!important}.text-aida-muted{color:var(--aida-muted)!important}.bg-aida-soft{background:var(--aida-soft)!important}.bg-aida-yellow-soft{background:var(--aida-gold-soft)!important}.bg-light{background:var(--aida-soft)!important}.shadow{box-shadow:var(--aida-shadow)!important}.list-group-item{border-color:var(--aida-line)}.list-group-item.active{background:var(--aida-navy);border-color:var(--aida-navy);color:#fff}.list-group-item-action:hover{background:var(--aida-soft);color:var(--aida-navy)}.fw-black{font-weight:900}.text-muted{color:var(--aida-muted)!important}code{color:var(--aida-red)}@media(max-width:991px){.site-logo{width:215px}.navbar-nav{padding-top:1rem}}@media(max-width:767px){.site-logo{width:170px}.footer-logo{width:220px}.hero-section{text-align:center}.product-card img{height:210px}.portfolio-card img{height:210px}.floating-whatsapp{right:16px;bottom:16px}.corporate-banner{border-radius:18px}}


/* V4.2 - Panel administrativo y comprobantes */
.admin-page{background:linear-gradient(135deg,#f5f7fb 0%,#ffffff 48%,#eef2f7 100%)}
.admin-card{background:#fff;border:1px solid var(--aida-line);border-radius:22px;box-shadow:var(--aida-shadow-lg)}
.admin-logo{width:230px;max-width:100%;height:auto;object-fit:contain}
.admin-form .form-control,.admin-card .form-control{min-height:48px}
.password-group .btn{border-top-left-radius:0;border-bottom-left-radius:0}
.admin-stat{background:#fff;border:1px solid var(--aida-line);border-radius:18px;box-shadow:var(--aida-shadow);padding:1.5rem;height:100%}
.admin-stat span{display:block;font-size:2.25rem;font-weight:900;color:var(--aida-navy);line-height:1}
.admin-stat p{margin:.55rem 0 0;color:var(--aida-muted);font-weight:700}
.admin-list .list-group-item{border-color:var(--aida-line);padding:1rem 1.1rem;color:var(--aida-ink)}
.admin-list .list-group-item:hover{background:var(--aida-soft);color:var(--aida-navy)}
/* V4.3 - Reparación del menú lateral de productos
   El panel ya no invade el footer: en escritorio se mantiene fijo,
   pero con alto controlado y scroll interno. En móviles queda normal. */
.product-sidebar{position:relative;z-index:1}
.product-sidebar .category-scroll{padding-right:.25rem}
.category-scroll::-webkit-scrollbar{width:8px}.category-scroll::-webkit-scrollbar-thumb{background:var(--aida-line);border-radius:999px}
@media(min-width:992px){
  .product-sidebar{
    position:sticky;
    top:110px;
    max-height:calc(100vh - 140px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .product-sidebar .category-scroll{max-height:none;overflow:visible}
}
@media(max-width:991px){
  .product-sidebar{max-height:none;overflow:visible}
  .product-sidebar .category-scroll{max-height:360px;overflow-y:auto}
}

.file-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--aida-line);background:#fff;color:var(--aida-navy);padding:.55rem .75rem;border-radius:999px;font-weight:700;box-shadow:0 8px 20px rgba(31,53,99,.06)}
.file-chip:hover{background:var(--aida-soft);color:var(--aida-navy)}

/* V4.4 - Conteo y filtrado estable de categorías del catálogo */
.category-count-badge{
  min-width:30px;
  height:26px;
  padding:0 .55rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.78rem;
  font-weight:900;
  background:#eef2f7;
  color:var(--aida-navy);
  border:1px solid var(--aida-line);
  flex:0 0 auto;
}
.list-group-item.active .category-count-badge{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}
.min-w-0{min-width:0}
.product-sidebar .list-group-item span span{
  overflow:hidden;
  text-overflow:ellipsis;
}


/* =========================================================
   Portafolio Bootstrap Pro - La Tienda de Aida
   ========================================================= */
.portfolio-hero-section{
  background:
    radial-gradient(circle at 88% 12%, rgba(242,183,5,.28), transparent 28%),
    linear-gradient(135deg, var(--aida-navy), var(--aida-navy-2));
  color:#fff;
  padding:78px 0;
  position:relative;
  overflow:hidden;
}
.portfolio-hero-section:after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:320px;
  height:320px;
  border-radius:999px;
  border:42px solid rgba(255,255,255,.06);
}
.portfolio-hero-section .lead{color:rgba(255,255,255,.78)}
.portfolio-hero-card{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  border-radius:24px;
  backdrop-filter:blur(12px);
  box-shadow:0 24px 60px rgba(0,0,0,.22);
  position:relative;
  z-index:1;
}
.portfolio-hero-logo{
  width:96px;
  max-height:60px;
  object-fit:contain;
  background:#fff;
  border-radius:16px;
  padding:8px;
}
.portfolio-catalog-section{background:linear-gradient(180deg,#f8fafc,#fff)}
.portfolio-sidebar{border-radius:24px}
.portfolio-sidebar .list-group-item{
  border:0;
  border-radius:14px!important;
  margin-bottom:.25rem;
  font-weight:750;
}
.portfolio-sidebar .list-group-item.active{
  background:linear-gradient(135deg,var(--aida-navy),var(--aida-navy-2));
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 28px rgba(31,53,99,.20);
}
.portfolio-toolbar{
  background:#fff;
  border:1px solid var(--aida-line);
  border-radius:24px;
  box-shadow:var(--aida-shadow);
}
.filter-chip{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--aida-line);
  background:var(--aida-soft);
  color:var(--aida-navy);
  border-radius:999px;
  padding:.5rem .78rem;
  font-size:.86rem;
  font-weight:800;
  text-decoration:none;
}
.filter-chip.clear{background:#fff;color:var(--aida-red)}
.portfolio-product-card{
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(31,53,99,.10)!important;
  box-shadow:0 18px 42px rgba(31,53,99,.08);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.portfolio-product-card:hover{
  transform:translateY(-7px);
  box-shadow:0 28px 62px rgba(31,53,99,.15);
  border-color:rgba(31,53,99,.22)!important;
}
.portfolio-product-media{
  display:block;
  position:relative;
  min-height:238px;
  background:linear-gradient(135deg,#f8fafc,#eef2f7);
  overflow:hidden;
  text-decoration:none;
}
.portfolio-product-img{
  width:100%;
  height:255px!important;
  object-fit:cover;
  display:block;
  transition:transform .28s ease;
}
.portfolio-product-card:hover .portfolio-product-img{transform:scale(1.035)}
.portfolio-product-media:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(15,23,42,.34));
  pointer-events:none;
}
.portfolio-product-badge{
  position:absolute;
  left:16px;
  top:16px;
  z-index:2;
  background:var(--aida-gold);
  color:#1b2435;
  border-radius:999px;
  padding:.45rem .75rem;
  font-weight:900;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.portfolio-category-pill{
  display:inline-flex;
  align-items:center;
  max-width:60%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:var(--aida-soft-2);
  color:var(--aida-navy);
  border:1px solid rgba(31,53,99,.10);
  border-radius:999px;
  padding:.42rem .68rem;
  font-size:.76rem;
  font-weight:900;
}
.portfolio-price{
  color:var(--aida-navy);
  font-weight:950;
  white-space:nowrap;
}
.portfolio-product-title a{
  color:var(--aida-navy);
  text-decoration:none;
}
.portfolio-product-title a:hover{color:var(--aida-red)}
.portfolio-product-description{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:62px;
}
.portfolio-feature-list{
  list-style:none;
  margin:0;
  padding:0;
}
.portfolio-feature-list li{
  display:flex;
  gap:.45rem;
  color:var(--aida-muted);
  margin-bottom:.38rem;
}
.portfolio-feature-list li:before{
  content:"✓";
  color:var(--aida-green);
  font-weight:900;
}
.portfolio-card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.65rem;
}
.portfolio-card-actions .btn{
  padding:.72rem .75rem;
  font-size:.92rem;
}
.product-detail-section{background:linear-gradient(180deg,#fff,#f8fafc)}
.product-detail-shell{
  background:#fff;
  border:1px solid var(--aida-line);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 26px 70px rgba(31,53,99,.12);
}
.product-detail-media{
  min-height:100%;
  background:linear-gradient(135deg,#f8fafc,#eef2f7);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.product-detail-media img{
  width:100%;
  max-height:650px;
  object-fit:contain;
  border-radius:24px;
  box-shadow:0 18px 45px rgba(31,53,99,.10);
}
.product-detail-content{height:100%}
.product-price-panel{
  border:1px solid var(--aida-line);
  border-radius:22px;
  padding:1.15rem 1.25rem;
  background:linear-gradient(135deg,#fff,var(--aida-soft));
}
.product-price-panel span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--aida-muted);
  font-size:.76rem;
  font-weight:900;
}
.product-price-panel strong{
  display:block;
  font-size:2rem;
  line-height:1.1;
  color:var(--aida-navy);
  font-weight:950;
}
.product-price-panel small{display:block;color:var(--aida-muted);margin-top:.35rem}
.detail-feature-item{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.75rem .85rem;
  border:1px solid var(--aida-line);
  border-radius:14px;
  background:#fff;
  color:var(--aida-ink);
  font-weight:700;
}
.detail-feature-item i{color:var(--aida-green);font-size:1.05rem;margin-top:.1rem}
@media(max-width:575px){
  .portfolio-card-actions{grid-template-columns:1fr}
  .portfolio-product-img{height:220px!important}
  .portfolio-hero-section{padding:52px 0}
}


/* =========================================================
   Bootstrap Pro Pack: Offcanvas + Modal + Toasts + Carousel
   ========================================================= */
.catalog-mega-menu{
  min-width:540px;
  border:1px solid var(--aida-line);
  border-radius:18px;
  box-shadow:0 24px 60px rgba(31,53,99,.16);
}
.catalog-menu-item{
  border-radius:12px;
  padding:.65rem .75rem;
  font-weight:750;
}
.catalog-menu-item i{color:var(--aida-navy);margin-right:.35rem}
.nav-quote-btn{position:relative}
.quote-count-badge{
  display:inline-flex;
  min-width:22px;
  height:22px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--aida-gold);
  color:#1b2435;
  font-size:.75rem;
  font-weight:950;
  margin-left:.35rem;
  padding:0 .35rem;
}
.portfolio-hero-pro{
  padding:82px 0 92px;
}
.portfolio-featured-carousel{
  position:relative;
  z-index:1;
}
.featured-slide-card{
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 70px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.20);
}
.featured-slide-card img{
  width:100%;
  height:310px;
  object-fit:cover;
  display:block;
}
.featured-slide-body{
  padding:1.35rem;
  color:#1b2435;
}
.featured-slide-body span{
  display:inline-flex;
  background:var(--aida-gold);
  color:#1b2435;
  border-radius:999px;
  padding:.35rem .65rem;
  font-size:.76rem;
  font-weight:950;
  margin-bottom:.6rem;
}
.featured-slide-body h3{
  color:var(--aida-navy);
  font-weight:950;
  font-size:1.25rem;
  margin-bottom:.45rem;
}
.featured-slide-body p{
  color:var(--aida-muted);
  font-size:.92rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:43px;
}
.portfolio-featured-carousel .carousel-indicators{
  bottom:-45px;
}
.portfolio-featured-carousel .carousel-indicators [data-bs-target]{
  width:10px;
  height:10px;
  border-radius:999px;
}
.btn-light-aida{
  background:#f8fafc;
  color:var(--aida-navy);
  border:1px solid var(--aida-line);
}
.btn-light-aida:hover{
  background:var(--aida-soft-2);
  color:var(--aida-navy);
  transform:translateY(-1px);
}
.portfolio-card-actions.secondary .btn{
  font-size:.86rem;
}
.quote-open-chip{
  cursor:pointer;
}
.quote-offcanvas{
  width:min(430px, 96vw)!important;
  border-left:1px solid var(--aida-line);
  box-shadow:-26px 0 70px rgba(15,23,42,.18);
}
.quote-offcanvas .offcanvas-header{
  border-bottom:1px solid var(--aida-line);
}
.quote-items-list{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.quote-item{
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:.75rem;
  padding:.75rem;
  border:1px solid var(--aida-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(31,53,99,.06);
}
.quote-item img{
  width:72px;
  height:72px;
  border-radius:14px;
  object-fit:cover;
  background:#f8fafc;
}
.quote-item h6{
  color:var(--aida-navy);
  margin:0 0 .2rem;
  font-weight:950;
  font-size:.95rem;
}
.quote-item p{
  margin:0;
  color:var(--aida-muted);
  font-size:.78rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.quote-item small{
  color:var(--aida-navy);
  font-weight:900;
}
.quote-item-remove{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:#fff1f2;
  color:#be123c;
}
.quote-empty-state{
  border:1px dashed var(--aida-line);
  border-radius:22px;
  background:#f8fafc;
}
.quote-empty-state i{
  font-size:46px;
  color:var(--aida-navy);
}
.quote-form{
  border-top:1px solid var(--aida-line);
  padding-top:1.2rem;
}
.quick-view-modal .modal-content{
  border:0;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 35px 90px rgba(15,23,42,.30);
}
.quick-modal-close{
  position:absolute;
  right:18px;
  top:18px;
  z-index:3;
  background-color:#fff;
  opacity:1;
  border-radius:999px;
  padding:.75rem;
}
.quick-view-image-wrap{
  height:100%;
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#f8fafc,#eef2f7);
  padding:24px;
}
.quick-view-image{
  max-width:100%;
  max-height:560px;
  object-fit:contain;
  border-radius:22px;
  box-shadow:0 18px 46px rgba(31,53,99,.12);
}
.quick-feature-list{
  list-style:none;
  padding:0;
  margin:0;
}
.quick-feature-list li{
  display:flex;
  gap:.55rem;
  padding:.65rem .75rem;
  border:1px solid var(--aida-line);
  border-radius:14px;
  background:#fff;
  margin-bottom:.5rem;
  font-weight:700;
}
.quick-feature-list li:before{
  content:"✓";
  color:var(--aida-green);
  font-weight:950;
}
.aida-toast{
  border:0;
  border-radius:16px;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  overflow:hidden;
}
.aida-toast .toast-header{
  background:var(--aida-navy);
  color:#fff;
  border:0;
}
.aida-toast .btn-close{
  filter:invert(1);
}
.aida-toast .toast-body{
  background:#fff;
  color:var(--aida-ink);
  font-weight:700;
}
@media(max-width:991px){
  .catalog-mega-menu{min-width:auto}
  .featured-slide-card img{height:250px}
  .quick-view-image-wrap{min-height:320px}
}
@media(max-width:575px){
  .quote-item{grid-template-columns:58px 1fr auto}
  .quote-item img{width:58px;height:58px}
}


/* =========================================================
   Home Hero Slider - La Tienda de Aida
   ========================================================= */
.index-hero-slider-section{
  position:relative;
  overflow:hidden;
  background:#f8fafc;
}
.aida-home-slider{
  position:relative;
}
.home-slide{
  position:relative;
  min-height:680px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:70px 0 86px;
}
.home-slide:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 88% 12%, rgba(242,183,5,.22), transparent 26%),
    radial-gradient(circle at 8% 85%, rgba(33,150,83,.14), transparent 28%);
  pointer-events:none;
}
.home-slide:after{
  content:"";
  position:absolute;
  right:-130px;
  top:-130px;
  width:360px;
  height:360px;
  border-radius:999px;
  border:48px solid rgba(31,53,99,.06);
  pointer-events:none;
}
.home-slide-one{background:linear-gradient(110deg,#fff 0%,#f8fafc 54%,#eef4fb 100%)}
.home-slide-two{background:linear-gradient(110deg,#fff8f1 0%,#fff 55%,#f2f7ff 100%)}
.home-slide-three{background:linear-gradient(110deg,#f8fbff 0%,#fff 55%,#fff8e6 100%)}
.home-slide-four{background:linear-gradient(110deg,#fff 0%,#f9fbff 50%,#eef7f3 100%)}
.min-vh-slide{
  min-height:560px;
  position:relative;
  z-index:2;
}
.slider-product-frame{
  position:relative;
  border-radius:36px;
  background:rgba(255,255,255,.82);
  padding:18px;
  border:1px solid rgba(31,53,99,.10);
  box-shadow:0 30px 80px rgba(31,53,99,.16);
  transform:rotate(-1deg);
}
.slider-product-frame:before{
  content:"";
  position:absolute;
  left:-14px;
  top:38px;
  bottom:38px;
  width:8px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--aida-red),var(--aida-gold),var(--aida-green));
}
.slider-product-frame:after{
  content:"";
  position:absolute;
  right:28px;
  top:28px;
  width:92px;
  height:92px;
  border-radius:999px;
  background:rgba(31,53,99,.10);
  z-index:0;
}
.slider-product-img{
  position:relative;
  z-index:1;
  width:100%;
  min-height:390px;
  max-height:470px;
  object-fit:contain;
  border-radius:26px;
  background:#fff;
}
.aida-home-slider .carousel-indicators{
  bottom:24px;
  margin-bottom:0;
}
.aida-home-slider .carousel-indicators [data-bs-target]{
  width:12px;
  height:12px;
  border-radius:999px;
  background-color:var(--aida-navy);
  opacity:.28;
  border:0;
}
.aida-home-slider .carousel-indicators .active{
  width:34px;
  opacity:1;
  background-color:var(--aida-gold);
}
.aida-slider-control{
  width:58px;
  height:58px;
  top:50%;
  transform:translateY(-50%);
  background:rgba(31,53,99,.86);
  border-radius:999px;
  opacity:1;
  margin:0 18px;
  box-shadow:0 16px 38px rgba(31,53,99,.22);
}
.aida-slider-control:hover{
  background:var(--aida-navy);
}
@media(max-width:991px){
  .home-slide{
    min-height:auto;
    padding:52px 0 82px;
  }
  .min-vh-slide{min-height:auto}
  .slider-product-frame{
    margin-top:1rem;
    transform:none;
  }
  .slider-product-img{
    min-height:280px;
    max-height:360px;
  }
  .aida-slider-control{
    width:46px;
    height:46px;
    margin:0 8px;
  }
}
@media(max-width:575px){
  .home-slide{
    padding:42px 0 78px;
  }
  .slider-product-frame{
    border-radius:24px;
    padding:12px;
  }
  .slider-product-img{
    min-height:230px;
    max-height:300px;
    border-radius:18px;
  }
}


/* =========================================================
   Paginación automática del portafolio - V5.1
   ========================================================= */
.portfolio-pagination-wrap{
  background:#fff;
  border:1px solid var(--aida-line);
  border-radius:24px;
  padding:1.25rem;
  box-shadow:var(--aida-shadow);
}
.pagination-summary{
  text-align:center;
  color:var(--aida-muted);
  font-weight:700;
}
.portfolio-pagination .page-link{
  border:1px solid var(--aida-line);
  color:var(--aida-navy);
  border-radius:12px!important;
  min-width:44px;
  text-align:center;
  font-weight:800;
  padding:.7rem .9rem;
  background:#fff;
}
.portfolio-pagination .page-link:hover{
  background:var(--aida-soft);
  color:var(--aida-navy);
  border-color:rgba(31,53,99,.22);
}
.portfolio-pagination .page-item.active .page-link{
  background:var(--aida-navy);
  border-color:var(--aida-navy);
  color:#fff;
  box-shadow:0 12px 28px rgba(31,53,99,.18);
}
.portfolio-pagination .page-item.disabled .page-link{
  background:#f8fafc;
  color:#a0aec0;
}


/* =========================================================
   Paginación minimalista centrada - V5.1.1
   Inspirada en estilo tipo cursos: flechas + número activo circular
   ========================================================= */
.portfolio-pagination-minimal{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:2.5rem 0 .5rem;
}
.pagination-summary-minimal{
  color:var(--aida-muted);
  font-size:.95rem;
  font-weight:700;
  text-align:center;
}
.pagination-clean{
  gap:.75rem;
}
.pagination-clean .page-link{
  border:0!important;
  background:transparent!important;
  color:#4b5563;
  box-shadow:none!important;
  min-width:38px;
  height:38px;
  padding:0!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px!important;
  font-weight:800;
  font-size:1.05rem;
}
.pagination-clean .page-number:hover,
.pagination-clean .page-arrow:hover{
  background:#eef2f7!important;
  color:var(--aida-navy)!important;
}
.pagination-clean .page-item.active .page-number{
  background:#3f4652!important;
  color:#fff!important;
  width:38px;
  height:38px;
  border-radius:999px!important;
}
.pagination-clean .page-arrow{
  font-size:1.55rem;
  color:#465469!important;
}
.pagination-clean .page-item.disabled .page-link{
  opacity:.32;
  pointer-events:none;
}
.pagination-clean .page-dots{
  color:#9aa4b2!important;
  font-weight:900;
}
@media(max-width:575px){
  .pagination-clean{
    gap:.35rem;
  }
  .pagination-clean .page-link{
    min-width:34px;
    height:34px;
    font-size:.95rem;
  }
  .pagination-clean .page-arrow{
    font-size:1.25rem;
  }
}


/* =========================================================
   Paginación minimalista centrada - V5.1.2 corregida
   ========================================================= */
.portfolio-pagination-minimal{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:2.5rem 0 .5rem;
}
.pagination-summary-minimal{
  color:var(--aida-muted);
  font-size:.95rem;
  font-weight:700;
  text-align:center;
}
.pagination-clean{
  gap:.75rem;
}
.pagination-clean .page-link{
  border:0!important;
  background:transparent!important;
  color:#4b5563;
  box-shadow:none!important;
  min-width:38px;
  height:38px;
  padding:0!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px!important;
  font-weight:800;
  font-size:1.05rem;
}
.pagination-clean .page-number:hover,
.pagination-clean .page-arrow:hover{
  background:#eef2f7!important;
  color:var(--aida-navy)!important;
}
.pagination-clean .page-item.active .page-number{
  background:#3f4652!important;
  color:#fff!important;
  width:38px;
  height:38px;
  border-radius:999px!important;
}
.pagination-clean .page-arrow{
  font-size:1.55rem;
  color:#465469!important;
}
.pagination-clean .page-item.disabled .page-link{
  opacity:.32;
  pointer-events:none;
}
.pagination-clean .page-dots{
  color:#9aa4b2!important;
  font-weight:900;
}
@media(max-width:575px){
  .pagination-clean{
    gap:.35rem;
  }
  .pagination-clean .page-link{
    min-width:34px;
    height:34px;
    font-size:.95rem;
  }
  .pagination-clean .page-arrow{
    font-size:1.25rem;
  }
}


/* =========================================================
   Index slider transparente - V5.1.3
   Quita el fondo blanco de las tarjetas visuales del slider
   ========================================================= */
.index-hero-slider-section .slider-product-frame{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.index-hero-slider-section .slider-product-frame:after{
  display:none!important;
}
.index-hero-slider-section .slider-product-img{
  background:transparent!important;
  box-shadow:none!important;
}
.index-hero-slider-section .slider-product-frame .img-fluid{
  background:transparent!important;
}


/* =========================================================
   Index slider transparencia real - V5.1.4
   La imagen ya no usa JPG con fondo blanco; ahora usa PNG transparente.
   ========================================================= */
.index-hero-slider-section .slider-product-frame{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.index-hero-slider-section .slider-product-frame:before,
.index-hero-slider-section .slider-product-frame:after{
  display:none!important;
}
.index-hero-slider-section .slider-product-img{
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 28px 42px rgba(31,53,99,.16));
}


/* =========================================================
   Categorías visibles e individuales - V5.2.1
   ========================================================= */
.home-real-categories-section{
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.category-page-hero{
  background:
    radial-gradient(circle at 8% 20%, rgba(242,183,5,.16), transparent 26%),
    radial-gradient(circle at 92% 18%, rgba(31,53,99,.08), transparent 30%),
    linear-gradient(135deg,#fff,#f8fafc);
  border-bottom:1px solid var(--aida-line);
}
.category-hero-visual{
  background:rgba(255,255,255,.65);
  border:1px solid var(--aida-line);
  border-radius:28px;
  padding:20px;
  box-shadow:0 26px 60px rgba(31,53,99,.12);
}
.category-hero-visual img{
  width:100%;
  max-height:360px;
  object-fit:contain;
  border-radius:22px;
}
.category-portfolio-card{
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(31,53,99,.10)!important;
  box-shadow:0 18px 42px rgba(31,53,99,.08);
  transition:transform .22s ease, box-shadow .22s ease;
}
.category-portfolio-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 62px rgba(31,53,99,.14);
}
.category-portfolio-media{
  position:relative;
  height:230px;
  background:linear-gradient(135deg,#fff,#f8fafc);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  overflow:hidden;
}
.category-portfolio-img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.category-portfolio-badge{
  position:absolute;
  left:16px;
  top:16px;
  z-index:2;
  background:var(--aida-gold);
  color:#1b2435;
  border-radius:999px;
  padding:.42rem .72rem;
  font-weight:900;
  box-shadow:0 12px 28px rgba(0,0,0,.13);
}
.category-index-card{
  display:block;
  background:#fff;
  border:1px solid var(--aida-line);
  border-radius:20px;
  padding:1.25rem;
  box-shadow:0 12px 30px rgba(31,53,99,.06);
  height:100%;
  transition:.22s ease;
}
.category-index-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 54px rgba(31,53,99,.13);
  border-color:rgba(31,53,99,.22);
}
.category-index-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  background:var(--aida-soft-2);
  color:var(--aida-navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  flex:0 0 52px;
}
@media(max-width:575px){
  .category-portfolio-media{height:210px;}
}


/* =========================================================
   Sidebar real de categorías - V5.2.2
   ========================================================= */
.sidebar-group-title{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:rgba(31,53,99,.62);
  padding:.9rem .75rem .35rem;
}
.category-featured-logo img{
  object-fit:contain!important;
  background:#fff;
  padding:18px;
}
.category-top-hero .featured-slide-card{
  min-height:390px;
}


/* =========================================================
   Paginación visible en páginas de categoría - V5.2.3
   ========================================================= */
.portfolio-pagination-minimal{
  text-align:center;
}
.portfolio-pagination-minimal .pagination-summary-minimal{
  color:rgba(31,53,99,.68);
  font-size:.95rem;
}
.portfolio-pagination-minimal .page-item.disabled .page-link{
  opacity:.45;
  pointer-events:none;
}


/* =========================================================
   Index envíos y atención comercial pro - V5.2.4
   ========================================================= */
.shipping-correos-jumbotron{
  background:
    radial-gradient(circle at 12% 25%, rgba(218,169,24,.14), transparent 28%),
    linear-gradient(180deg,#fff,#f7fafc);
}
.shipping-correos-card{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(31,53,99,.11);
  border-radius:34px;
  padding:2rem;
  box-shadow:0 28px 80px rgba(31,53,99,.12);
  overflow:hidden;
}
.shipping-correos-image{
  background:#fff;
  border-radius:28px;
  border:1px solid rgba(31,53,99,.10);
  padding:12px;
  box-shadow:0 22px 56px rgba(31,53,99,.10);
}
.shipping-correos-image img{
  border-radius:22px;
  width:100%;
  object-fit:cover;
}
.shipping-note{
  background:linear-gradient(135deg,rgba(218,169,24,.15),rgba(31,53,99,.05));
  border-left:5px solid var(--aida-gold);
  border-radius:18px;
  padding:1rem 1.1rem;
  color:var(--aida-navy);
}
.commercial-attention-pro-section{
  background:
    radial-gradient(circle at 86% 20%, rgba(31,53,99,.08), transparent 30%),
    radial-gradient(circle at 8% 90%, rgba(218,169,24,.13), transparent 26%),
    linear-gradient(180deg,#f8fafc,#ffffff);
}
.commercial-attention-card{
  background:#fff;
  border:1px solid rgba(31,53,99,.10);
  border-radius:34px;
  padding:2rem;
  box-shadow:0 30px 90px rgba(31,53,99,.13);
}
.commercial-attention-image{
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(31,53,99,.11);
  box-shadow:0 22px 56px rgba(31,53,99,.13);
}
.commercial-attention-image img{
  width:100%;
  display:block;
}
.commercial-check-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.8rem;
}
.commercial-check-grid div{
  background:#f8fafc;
  border:1px solid rgba(31,53,99,.08);
  border-radius:16px;
  padding:.8rem .95rem;
  font-weight:800;
  color:var(--aida-navy);
}
.commercial-check-grid i{
  color:#159154;
  margin-right:.45rem;
}
.commercial-big-btn{
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  padding-left:1.35rem;
  padding-right:1.35rem;
  border-radius:18px;
}
@media(min-width:992px){
  .shipping-correos-card,
  .commercial-attention-card{
    padding:3rem;
  }
  .commercial-check-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:575px){
  .shipping-correos-card,
  .commercial-attention-card{
    padding:1.25rem;
    border-radius:24px;
  }
}


/* =========================================================
   Categorías destacadas con iconos en index - V5.2.6
   ========================================================= */
.category-showcase-icons-section{
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.category-index-card-compact{
  text-align:left;
  padding:1.35rem;
}
.category-index-card-compact .category-index-icon{
  width:56px;
  height:56px;
  border-radius:18px;
}
.category-index-card-compact:hover .text-aida-gold{
  text-decoration:underline;
}


/* =========================================================
   Rotador de categorías reales en index - V5.2.7
   ========================================================= */
.real-category-rotator-section{
  background:
    radial-gradient(circle at 8% 20%, rgba(218,169,24,.12), transparent 24%),
    linear-gradient(180deg,#f8fafc,#ffffff);
}
.real-category-rotator{
  position:relative;
  padding:0 3.5rem 3.2rem;
}
.real-category-group-title span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--aida-navy);
  border:1px solid rgba(31,53,99,.10);
  border-radius:999px;
  padding:.65rem 1.2rem;
  font-weight:900;
  box-shadow:0 12px 32px rgba(31,53,99,.08);
}
.real-category-icon-card{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(31,53,99,.09);
  box-shadow:0 14px 34px rgba(31,53,99,.07);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.real-category-icon-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 58px rgba(31,53,99,.14);
  border-color:rgba(218,169,24,.46);
}
.real-category-icon-card i{
  color:var(--aida-navy);
  font-size:2.25rem;
}
.real-category-icon-card h6{
  line-height:1.25;
}
.real-category-control{
  width:42px;
  height:42px;
  top:50%;
  transform:translateY(-50%);
  background:var(--aida-navy);
  border-radius:999px;
  opacity:1;
  box-shadow:0 12px 30px rgba(31,53,99,.20);
}
.real-category-control.carousel-control-prev{
  left:.3rem;
}
.real-category-control.carousel-control-next{
  right:.3rem;
}
.real-category-indicators{
  bottom:0;
  margin-bottom:0;
}
.real-category-indicators [data-bs-target]{
  width:11px;
  height:11px;
  border-radius:999px;
  background-color:var(--aida-navy);
  opacity:.25;
}
.real-category-indicators .active{
  opacity:1;
  background-color:var(--aida-gold);
}
@media(max-width:767px){
  .real-category-rotator{
    padding:0 0 3rem;
  }
  .real-category-control{
    display:none;
  }
  .real-category-icon-card{
    min-height:135px;
  }
}


/* =========================================================
   Corrección fuente única de categorías reales - V5.2.8
   ========================================================= */
.real-category-rotator .carousel-item{
  min-height:330px;
}
.real-category-rotator .row{
  align-items:stretch;
}
.real-category-icon-card{
  width:100%;
}
.real-category-icon-card h6{
  word-break:normal;
  overflow-wrap:break-word;
}


/* =========================================================
   Usuarios de mantenimiento y permisos - V5.3
   ========================================================= */
.maintenance-registration-section{
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.maintenance-permission-list{
  display:grid;
  gap:.8rem;
  margin-top:1.25rem;
}
.maintenance-permission-list div{
  background:#f8fafc;
  border:1px solid rgba(31,53,99,.08);
  border-radius:16px;
  padding:.85rem 1rem;
  font-weight:800;
  color:var(--aida-navy);
}
.maintenance-permission-list i{
  color:#159154;
  margin-right:.45rem;
}
.maintenance-access-cta-section{
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.maintenance-access-card{
  background:#fff;
  border:1px solid rgba(31,53,99,.10);
  border-radius:30px;
  padding:2rem;
  box-shadow:0 24px 70px rgba(31,53,99,.10);
}
.admin-user-box{
  background:#fff;
  border:1px solid rgba(31,53,99,.10);
  border-radius:22px;
  padding:1.15rem;
  box-shadow:0 12px 34px rgba(31,53,99,.06);
}
.permission-check{
  display:flex;
  align-items:center;
  gap:.6rem;
  background:#f8fafc;
  border:1px solid rgba(31,53,99,.08);
  border-radius:14px;
  padding:.72rem .85rem;
  margin-bottom:.55rem;
  font-weight:800;
  color:var(--aida-navy);
}
.permission-check input{
  width:18px;
  height:18px;
}
@media(min-width:992px){
  .maintenance-access-card{
    padding:2.5rem;
  }
}


/* =========================================================
   V5.3.9 - Responsive móvil, logo final e imágenes adaptativas
   ========================================================= */

html, body{
  max-width:100%;
  overflow-x:hidden;
}

img, svg, video, canvas{
  max-width:100%;
  height:auto;
}

.navbar-brand{
  max-width:72vw;
  min-width:0;
}

.site-logo{
  width:clamp(150px, 34vw, 235px);
  max-width:100%;
  height:auto;
  max-height:72px;
  object-fit:contain;
  display:block;
}

.footer-logo{
  width:clamp(180px, 48vw, 260px);
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.admin-logo{
  width:clamp(190px, 62vw, 270px);
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.main-navbar .container{
  gap:.75rem;
}

.navbar-toggler{
  flex:0 0 auto;
  padding:.45rem .6rem;
}

.navbar-collapse{
  max-width:100%;
}

.product-img-wrap{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}

.product-card img{
  width:100%;
  height:220px;
  object-fit:contain;
  object-position:center;
  display:block;
}

.product-card .card-body{
  min-width:0;
}

.product-card h3,
.product-card .card-title{
  overflow-wrap:anywhere;
}

.category-portfolio-media{
  height:220px;
  padding:18px;
}

.category-portfolio-img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.shipping-correos-jumbotron img,
.commercial-attention-pro-section img,
.maintenance-access-card img{
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.whatsapp-float,
.floating-whatsapp{
  right:18px;
  bottom:18px;
  max-width:58px;
  max-height:58px;
}

@media (max-width: 991.98px){
  .top-strip{
    display:none!important;
  }

  .main-navbar{
    padding:.55rem 0;
  }

  .site-logo{
    width:clamp(145px, 45vw, 210px);
    max-height:62px;
  }

  .navbar-brand{
    margin-right:0;
  }

  .catalog-mega-menu{
    max-width:100%;
    min-width:0!important;
  }
}

@media (max-width: 575.98px){
  .container{
    width:100%;
    max-width:100%;
    padding-left:16px;
    padding-right:16px;
  }

  .main-navbar .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
  }

  .navbar-brand{
    width:auto;
    max-width:68vw;
  }

  .site-logo{
    width:min(178px, 62vw);
    max-height:54px;
  }

  .navbar-toggler{
    margin-left:auto;
  }

  .section-eyebrow{
    font-size:.68rem;
  }

  .product-card img{
    height:180px;
  }

  .category-portfolio-media{
    height:185px;
    padding:16px;
  }

  .footer-logo{
    width:min(230px, 78vw);
  }

  .admin-logo{
    width:min(245px, 80vw);
  }

  .real-category-icon-card,
  .category-card{
    min-height:118px;
  }

  .real-category-icon-card h6,
  .category-card h6{
    font-size:.82rem;
    line-height:1.18;
  }

  .real-category-icon-card i,
  .category-card i{
    font-size:1.55rem;
  }
}

@media (max-width: 390px){
  .site-logo{
    width:150px;
    max-height:48px;
  }

  .product-card img{
    height:160px;
  }

  .category-portfolio-media{
    height:165px;
  }
}


/* V5.4.2 - Calidad visual catálogo */
.product-img-wrap,
.category-portfolio-media{background:#fff;}
.product-card img,
.category-portfolio-img{image-rendering:auto;object-fit:contain;object-position:center;}
@media (min-width: 992px){.product-card img{height:260px;}.category-portfolio-media{height:260px;}}


/* =========================================================
   V5.4.3 - SKU visible y WhatsApp con enlace de imagen
   ========================================================= */
.portfolio-sku-pill{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:.3rem;
  padding:.32rem .62rem;
  border-radius:999px;
  background:rgba(37,42,112,.08);
  color:#252a70;
  border:1px solid rgba(37,42,112,.14);
  font-size:.78rem;
  line-height:1.1;
  letter-spacing:.02em;
}

.portfolio-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

.portfolio-card-actions .btn{
  flex:1 1 auto;
  white-space:normal;
}

@media (max-width: 575.98px){
  .portfolio-sku-pill{
    font-size:.72rem;
  }
}


/* =========================================================
   V5.4.4 - Header/navbar fijo restaurado
   ========================================================= */
.site-fixed-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1040;
  background:#ffffff;
  box-shadow:0 12px 32px rgba(23,32,51,.10);
}

.site-fixed-header .top-strip{
  position:relative;
  z-index:2;
}

.site-fixed-header .main-navbar{
  position:relative!important;
  top:auto!important;
  z-index:1;
}

.site-fixed-header-spacer{
  height:126px;
}

html{
  scroll-padding-top:140px;
}

section[id],
[id^="sku-"],
#portafolio{
  scroll-margin-top:145px;
}

@media (max-width: 991.98px){
  .site-fixed-header-spacer{
    height:78px;
  }

  html{
    scroll-padding-top:92px;
  }

  section[id],
  [id^="sku-"],
  #portafolio{
    scroll-margin-top:96px;
  }
}

@media (max-width: 575.98px){
  .site-fixed-header-spacer{
    height:70px;
  }

  .site-fixed-header .main-navbar{
    min-height:70px;
  }

  html{
    scroll-padding-top:84px;
  }

  section[id],
  [id^="sku-"],
  #portafolio{
    scroll-margin-top:88px;
  }
}


/* =========================================================
   V5.4.5 - Consulta funcional desde tarjetas del catálogo
   ========================================================= */
.quote-item-sku,
.quote-item-category{
  display:block;
  color:#252a70;
  font-weight:800;
  line-height:1.25;
}

.quote-item-category{
  color:#647084;
  font-weight:700;
  margin-top:.18rem;
}

.category-portfolio-card .btn-gold{
  background:var(--aida-gold);
  border-color:var(--aida-gold);
  color:#1f3563;
}

.category-portfolio-card .btn-gold:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
}


/* =========================================================
   V5.4.6 - Impresiones comestibles visual profesional
   ========================================================= */
.banner-visual{
  overflow:hidden;
  border-radius:1.25rem;
  background:#fff;
  border:1px solid rgba(31,53,99,.10);
  box-shadow:0 18px 45px rgba(23,32,51,.10);
}

.impresiones-banner-img{
  width:100%;
  height:100%;
  max-height:390px;
  object-fit:cover;
  object-position:center;
  display:block;
}

.portfolio-card{
  overflow:hidden;
  border:1px solid rgba(31,53,99,.10);
  border-radius:1.05rem;
  box-shadow:0 16px 42px rgba(23,32,51,.08);
  transition:transform .18s ease, box-shadow .18s ease;
}

.portfolio-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(23,32,51,.12);
}

.portfolio-card .card-img-top{
  width:100%;
  height:230px;
  object-fit:cover;
  object-position:center;
  background:#f6f7fb;
}

.portfolio-card .card-body{
  min-height:174px;
}

@media (max-width: 991.98px){
  .impresiones-banner-img{
    max-height:360px;
  }
}

@media (max-width: 575.98px){
  .impresiones-banner-img{
    max-height:260px;
  }

  .portfolio-card .card-img-top{
    height:210px;
  }
}


/* =========================================================
   V5.4.7 - Administración de impresiones con aprobación
   ========================================================= */
.admin-imp-request{
  border:1px solid rgba(31,53,99,.12)!important;
  border-radius:1rem!important;
  overflow:hidden;
  margin-bottom:1rem;
  box-shadow:0 12px 32px rgba(23,32,51,.06);
}

.admin-imp-file-card,
.admin-portfolio-edit-card{
  border:1px solid rgba(31,53,99,.12);
  border-radius:1rem;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 32px rgba(23,32,51,.06);
}

.admin-imp-preview,
.admin-portfolio-image{
  background:#f5f7fb;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.admin-imp-preview img,
.admin-portfolio-image img{
  width:100%;
  height:240px;
  object-fit:cover;
  object-position:center;
  display:block;
}

.admin-file-placeholder{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  color:#252a70;
  font-weight:800;
}

.admin-file-placeholder i{
  font-size:2.6rem;
}

.admin-approve-form{
  background:#f8fafc;
  border:1px dashed rgba(31,53,99,.18);
  border-radius:.85rem;
  padding:.75rem;
}

@media(max-width:575.98px){
  .admin-imp-preview img,
  .admin-portfolio-image img{
    height:210px;
  }
}


/* =========================================================
   V5.4.9 - Tarjetas de ejemplo editables en impresiones
   ========================================================= */
.admin-new-card-box{
  border:1px dashed rgba(31,53,99,.24);
  border-radius:1rem;
  background:linear-gradient(135deg,#ffffff,#f8fafc);
}

/* =========================================================
   V5.5.0 - Código proveedor en tarjetas y consulta
   ========================================================= */
.portfolio-provider-code{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:.35rem;
  border:1px solid rgba(31,53,99,.16);
  background:#f8fafc;
  color:#1f3563;
  border-radius:999px;
  padding:.28rem .62rem;
  font-size:.78rem;
  font-weight:800;
}

.quote-item-provider-code{
  display:block;
  color:#647084;
  font-weight:800;
  line-height:1.25;
}


/* =========================================================
   V5.5.4 - Header visual Chocolatería Pro
   ========================================================= */
.category-hero-visual img[src*="chocolateria-header-cacao-pro"]{
  width:100%;
  height:360px;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
@media (max-width: 767.98px){
  .category-hero-visual img[src*="chocolateria-header-cacao-pro"]{
    height:260px;
  }
}

/* =========================================================
   V5.5.5 - Buscador inteligente en header y página de resultados
   ========================================================= */
.header-search-row{
  border-top:1px solid var(--aida-line);
  background:linear-gradient(90deg,#ffffff,#f8fafc);
  padding:.55rem 0 .65rem;
  position:relative;
  z-index:3;
}
.aida-header-search{position:relative;max-width:980px;margin:0 auto}.aida-header-search-form{position:relative}.input-group-search-pro{box-shadow:0 10px 24px rgba(31,53,99,.07);border-radius:999px}.input-group-search-pro .input-group-text{background:#fff;border-color:var(--aida-line);border-top-left-radius:999px;border-bottom-left-radius:999px;color:var(--aida-navy)}.input-group-search-pro .form-control{border-color:var(--aida-line);min-height:42px}.input-group-search-pro .btn{border-top-right-radius:999px;border-bottom-right-radius:999px;padding-left:1.15rem;padding-right:1.15rem}.aida-search-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--aida-line);border-radius:18px;box-shadow:0 22px 50px rgba(31,53,99,.18);overflow:hidden;z-index:1090}.aida-search-loading,.aida-search-empty{padding:1rem;color:var(--aida-muted);font-weight:700}.aida-search-empty small{display:block;margin-top:.25rem;font-weight:600}.aida-search-result{display:flex;gap:.78rem;padding:.78rem .95rem;text-decoration:none;color:var(--aida-ink);border-bottom:1px solid var(--aida-line);transition:.18s;background:#fff}.aida-search-result:hover{background:var(--aida-soft);color:var(--aida-navy)}.aida-search-result img{width:58px;height:58px;object-fit:cover;border-radius:12px;border:1px solid var(--aida-line);background:#fff;flex:0 0 auto}.aida-search-result strong{display:block;font-size:.92rem;line-height:1.25}.aida-search-result small{display:block;color:var(--aida-muted);font-size:.76rem;margin:.15rem 0}.aida-search-result em{display:inline-block;font-style:normal;color:var(--aida-gold);font-weight:900;font-size:.82rem}.aida-search-all{display:block;padding:.9rem 1rem;text-align:center;text-decoration:none;color:var(--aida-navy);font-weight:900;background:linear-gradient(90deg,#f8fafc,#fff)}.aida-search-all:hover{background:var(--aida-soft);color:var(--aida-navy-2)}.search-hero{background:linear-gradient(135deg,#fff,#f8fafc 55%,#eef2f7);border-bottom:1px solid var(--aida-line)}.search-hero-panel,.search-filter-panel{background:#fff;border:1px solid var(--aida-line);border-radius:22px;box-shadow:var(--aida-shadow-lg)}.search-results-section{background:#fff}.search-product-card{border-radius:18px;overflow:hidden;border:1px solid var(--aida-line)!important;transition:.2s;background:#fff}.search-product-card:hover{transform:translateY(-4px);box-shadow:var(--aida-shadow)!important}.search-product-media{position:relative;display:block;background:linear-gradient(135deg,#f8fafc,#eef2f7);text-decoration:none}.search-product-media img{width:100%;height:230px;object-fit:cover;display:block}.search-category-pill{position:absolute;left:14px;top:14px;background:var(--aida-navy);color:#fff;border-radius:999px;font-size:.72rem;font-weight:900;padding:.42rem .7rem;box-shadow:0 10px 24px rgba(31,53,99,.18)}.portfolio-provider-pill{background:#f8fafc;color:var(--aida-navy-2)}
.site-fixed-header-spacer{height:184px}html{scroll-padding-top:198px}section[id],[id^="sku-"],#portafolio{scroll-margin-top:202px}
@media(max-width:991.98px){.site-fixed-header-spacer{height:140px}.header-search-row{padding:.45rem 0}.aida-header-search{max-width:none}.input-group-search-pro .form-control{min-height:40px;font-size:.88rem}.input-group-search-pro .btn{padding-left:.85rem;padding-right:.85rem}html{scroll-padding-top:154px}section[id],[id^="sku-"],#portafolio{scroll-margin-top:158px}.search-product-media img{height:210px}}
@media(max-width:575.98px){.site-fixed-header-spacer{height:134px}.input-group-search-pro .input-group-text{display:none}.input-group-search-pro .form-control{border-top-left-radius:999px;border-bottom-left-radius:999px}.aida-search-result img{width:50px;height:50px}.aida-search-result strong{font-size:.86rem}.aida-search-result small{font-size:.72rem}}


/* V5.5.6 - Correos CR + Google Maps Contacto */
.correos-banner-section {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.correos-banner-card {
  background: linear-gradient(135deg, #ffffff 0%, #f6f9ff 55%, #eef6ff 100%);
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 28px;
  padding: 2.5rem;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.correos-logo-box {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 26px;
  padding: 2rem;
  box-shadow: 0 18px 35px rgba(15, 23, 42, .07);
}

.correos-logo-banner {
  max-height: 150px;
  width: auto;
  filter: drop-shadow(0 14px 24px rgba(15, 23, 42, .12));
}

.contact-map-section {
  background: #f8fafc;
}

.map-embed-wrapper iframe {
  display: block;
  min-height: 420px;
}

.store-photo-card img {
  max-height: 520px;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 767.98px) {
  .correos-banner-card {
    padding: 1.5rem;
    border-radius: 22px;
  }

  .correos-logo-box {
    padding: 1.5rem;
  }

  .map-embed-wrapper iframe {
    min-height: 340px;
  }

  .store-photo-card img {
    max-height: 360px;
  }
}


/* =========================================================
   V5.5.7 - Hotfix Buscador Producción Hostinger (v=5561)
   ========================================================= */
.site-fixed-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:1030!important;
  isolation:isolate!important;
  overflow:visible!important;
}
.site-fixed-header .main-navbar,
.site-fixed-header .navbar-collapse,
.site-fixed-header .container,
.header-search-row,
.header-search-container,
.aida-header-search-shell,
.aida-header-search,
.aida-header-search-form{
  overflow:visible!important;
}
.site-fixed-header .main-navbar{position:relative!important;z-index:30!important;}
.header-search-row{
  position:relative!important;
  z-index:20!important;
  width:100%!important;
  background:#fff!important;
  border-top:1px solid #e5eaf0!important;
  box-shadow:0 8px 22px rgba(31,53,99,.08)!important;
}
.header-search-container{position:relative!important;z-index:1!important;}
.aida-header-search-shell{
  width:100%!important;
  max-width:1000px!important;
  margin:0 auto!important;
  position:relative!important;
  z-index:1!important;
}
.aida-header-search{
  width:100%!important;
  max-width:1000px!important;
  margin:0 auto!important;
  position:relative!important;
  z-index:1!important;
}
.aida-header-search-form{position:relative!important;width:100%!important;z-index:1!important;}
.input-group-search-pro{width:100%!important;display:flex!important;flex-wrap:nowrap!important;background:#fff!important;}
.input-group-search-pro .form-control{min-width:0!important;width:1%!important;flex:1 1 auto!important;background:#fff!important;}
.aida-search-suggestions{
  display:block;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-height:min(520px,65vh)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#fff!important;
  border:1px solid #dfe5ec!important;
  border-radius:18px!important;
  box-shadow:0 24px 60px rgba(20,38,76,.28)!important;
  z-index:50!important;
  color:#1f2937!important;
  overscroll-behavior:contain!important;
}
.aida-search-suggestions[hidden]{display:none!important;}
.aida-search-results-list{background:#fff!important;}
a.aida-search-result,
a.aida-search-result:link,
a.aida-search-result:visited{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:11px 14px!important;
  min-height:78px!important;
  width:100%!important;
  background:#fff!important;
  color:#1f2937!important;
  text-decoration:none!important;
  border:0!important;
  border-bottom:1px solid #edf0f4!important;
  line-height:1.25!important;
}
a.aida-search-result:hover,a.aida-search-result:focus{background:#f6f8fb!important;color:#1f3563!important;outline:none!important;}
.aida-search-result > span{display:block!important;min-width:0!important;flex:1 1 auto!important;}
.aida-search-result strong{display:block!important;color:#1f3563!important;font-size:.92rem!important;font-weight:900!important;white-space:normal!important;}
.aida-search-result small{display:block!important;color:#667085!important;font-size:.76rem!important;margin:.18rem 0!important;white-space:normal!important;}
.aida-search-result em{display:inline-block!important;color:#a66a00!important;font-style:normal!important;font-weight:900!important;font-size:.82rem!important;}
.aida-search-result img,
.aida-search-result .aida-search-thumb{
  display:block!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:12px!important;
  border:1px solid #dfe5ec!important;
  background:#fff!important;
  flex:0 0 58px!important;
}
a.aida-search-all,a.aida-search-all:visited{display:block!important;background:#f8fafc!important;color:#1f3563!important;text-decoration:none!important;font-weight:900!important;padding:14px!important;text-align:center!important;}
@media(max-width:991.98px){
  .site-fixed-header .main-navbar{z-index:30!important;}
  .header-search-row{z-index:20!important;padding:.5rem 0!important;}
  .aida-header-search-shell,.aida-header-search{max-width:none!important;width:100%!important;}
  .aida-search-suggestions{max-height:58vh!important;border-radius:14px!important;}
}
@media(max-width:575.98px){
  .header-search-container{padding-left:10px!important;padding-right:10px!important;}
  .input-group-search-pro .input-group-text{padding-left:.7rem!important;padding-right:.55rem!important;}
  .input-group-search-pro .form-control{font-size:.82rem!important;padding-left:.45rem!important;padding-right:.35rem!important;}
  .input-group-search-pro .btn{font-size:.8rem!important;padding-left:.78rem!important;padding-right:.78rem!important;}
  .aida-search-result img,.aida-search-result .aida-search-thumb{width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex-basis:52px!important;}
  a.aida-search-result{padding:10px!important;min-height:70px!important;gap:10px!important;}
}

/* V5.5.7.2 - Hotfix definitivo: header, buscador y consulta */
:root{--aida-fixed-header-height:184px;}
.site-fixed-header{z-index:1030!important;}
.site-fixed-header .main-navbar{z-index:30!important;}
.site-fixed-header .navbar-collapse,
.site-fixed-header .dropdown-menu{z-index:40!important;}
.header-search-row{z-index:20!important;}
.header-search-container,
.aida-header-search-shell,
.aida-header-search,
.aida-header-search-form{z-index:1!important;}
.aida-search-suggestions{z-index:50!important;pointer-events:auto!important;}
.aida-search-result,.aida-search-all{position:relative!important;z-index:1!important;pointer-events:auto!important;cursor:pointer!important;}
.offcanvas-backdrop{z-index:1040!important;}
.offcanvas{z-index:1045!important;}
body.aida-offcanvas-open .site-fixed-header{pointer-events:none!important;}
.site-fixed-header-spacer{height:var(--aida-fixed-header-height)!important;}
html{scroll-padding-top:calc(var(--aida-fixed-header-height) + 14px)!important;}
section[id],[id^="sku-"],#portafolio{scroll-margin-top:calc(var(--aida-fixed-header-height) + 18px)!important;}
.aida-search-target{outline:4px solid rgba(242,183,5,.72)!important;outline-offset:4px;animation:aida-search-target-pulse 1.1s ease-out 2;}
@keyframes aida-search-target-pulse{50%{box-shadow:0 0 0 10px rgba(242,183,5,.18),var(--aida-shadow)!important;}}
@media(max-width:991.98px){
  :root{--aida-fixed-header-height:134px;}
  .site-fixed-header .main-navbar{z-index:30!important;}
  .header-search-row{z-index:20!important;}
}
@media(max-width:575.98px){
  .header-search-container{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .aida-header-search-shell{width:auto!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;}
  .aida-header-search{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .aida-search-result img,.aida-search-result .aida-search-thumb{box-sizing:border-box!important;}
}

/* Banner Atención comercial visual, con botones funcionales */
.commercial-attention-visual-section{background:linear-gradient(180deg,#fff,#f5f8fc);}
.commercial-attention-visual-card{background:#fff;border:1px solid rgba(31,53,99,.10);border-radius:32px;padding:18px;box-shadow:0 26px 64px rgba(31,53,99,.13);overflow:hidden;}
.commercial-attention-banner-wrap{position:relative;width:100%;overflow:hidden;border-radius:24px;background:#fff;}
.commercial-attention-banner-img{display:block;width:100%;height:auto;aspect-ratio:2.5/1;object-fit:cover;}
.commercial-banner-hotspot{position:absolute;display:block;z-index:3;border-radius:18px;outline-offset:4px;}
.commercial-banner-hotspot:focus-visible{outline:4px solid rgba(242,183,5,.9);}
.commercial-banner-hotspot-whatsapp{left:48.4%;top:73.2%;width:20.2%;height:12.8%;}
.commercial-banner-hotspot-catalog{left:69.3%;top:73.2%;width:19.4%;height:12.8%;}
.commercial-banner-mobile-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px;}
@media(max-width:767.98px){
  .commercial-attention-visual-card{padding:10px;border-radius:22px;}
  .commercial-attention-banner-wrap{border-radius:16px;overflow-x:auto;}
  .commercial-attention-banner-img{min-width:760px;aspect-ratio:2.5/1;object-fit:cover;}
  .commercial-banner-hotspot{display:none;}
}

/* Cabeceras profesionales para todas las categorías */
.category-hero-visual img[src*="categorias-profesionales/"]{
  width:100%!important;
  height:360px!important;
  max-height:360px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:22px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)!important;
}
@media(max-width:767.98px){
  .category-hero-visual img[src*="categorias-profesionales/"]{height:260px!important;max-height:260px!important;}
}

/* V5.5.7.1 - Ajuste limpio de headers y tarjetas con logo */
.category-hero-visual{
  padding:12px;
}
.category-hero-visual img[src*="categorias-profesionales/"]{
  width:100%!important;
  height:340px!important;
  max-height:340px!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:20px!important;
}
@media(max-width:767.98px){
  .category-hero-visual img[src*="categorias-profesionales/"]{
    height:240px!important;
    max-height:240px!important;
  }
}
.category-portfolio-img[src*="assets/images/logo-aida.png"],
.category-portfolio-img[src$="logo-aida.png"]{
  object-fit:contain!important;
  padding:16px;
  background:#fff;
}

/* V5.5.8 - Visual Pro Integral */
.commercial-visual-links-section{background:linear-gradient(180deg,#fff 0%,#f5f8fc 100%);}
.visual-commercial-card{position:relative;display:block;min-height:330px;border-radius:26px;overflow:hidden;background:#102a55;color:#fff;text-decoration:none;box-shadow:0 22px 55px rgba(20,43,83,.16);isolation:isolate;}
.visual-commercial-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,25,51,.04) 15%,rgba(8,25,51,.88) 100%);z-index:1;transition:background .25s ease;}
.visual-commercial-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.visual-commercial-card:hover img{transform:scale(1.045);}
.visual-commercial-card:hover:after{background:linear-gradient(180deg,rgba(8,25,51,.02) 10%,rgba(8,25,51,.94) 100%);}
.visual-commercial-overlay{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px;display:flex;flex-direction:column;align-items:flex-start;}
.visual-commercial-overlay small{font-size:.75rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#f5cf54;}
.visual-commercial-overlay strong{font-size:1.45rem;line-height:1.12;margin:.25rem 0 .6rem;color:#fff;}
.visual-commercial-overlay em{font-style:normal;font-weight:800;color:#fff;}

.commercial-attention-premium-section{background:linear-gradient(180deg,#f5f8fc 0%,#fff 100%);}
.commercial-attention-premium-card{position:relative;min-height:600px;border:1px solid rgba(31,53,99,.12);border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 30px 74px rgba(20,43,83,.15);isolation:isolate;}
.commercial-attention-premium-picture,.commercial-attention-premium-picture img{position:absolute;inset:0;width:100%;height:100%;display:block;}
.commercial-attention-premium-picture img{object-fit:cover;object-position:center;}
.commercial-attention-premium-content{position:relative;z-index:2;width:54%;margin-left:auto;padding:64px 58px 54px;}
.commercial-attention-premium-content h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em;margin:.25rem 0 .7rem;}
.commercial-attention-premium-content>p{font-size:1.15rem;color:#667085;max-width:620px;}
.commercial-contact-grid{display:grid;gap:10px;margin-top:24px;}
.commercial-contact-grid>a,.commercial-contact-grid>div{display:flex;align-items:center;gap:14px;padding:12px 16px;background:rgba(255,255,255,.92);border:1px solid #dce3ed;border-radius:16px;color:var(--aida-navy);text-decoration:none;box-shadow:0 8px 24px rgba(31,53,99,.06);backdrop-filter:blur(7px);}
.commercial-contact-grid i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--aida-navy);color:#fff;font-size:1.2rem;flex:0 0 auto;}
.commercial-contact-grid>a:first-child i{background:var(--aida-whatsapp);}
.commercial-contact-grid span{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;color:#667085;font-weight:700;}
.commercial-contact-grid strong{color:var(--aida-navy);font-size:1.05rem;}
.category-hero-visual picture{display:block;width:100%;}

/* V5.5.9 - Cabeceras visuales profesionales por categoria */
.category-hero-visual{overflow:hidden;background:linear-gradient(145deg,#fff,#eef2f7);}
.category-hero-visual picture{height:340px;overflow:hidden;border-radius:20px;}
.category-hero-visual .category-hero-image{
  display:block;
  width:100%!important;
  height:340px!important;
  max-height:340px!important;
  object-fit:cover!important;
  border-radius:20px!important;
}
@media(max-width:991.98px){
  .category-hero-visual picture,
  .category-hero-visual .category-hero-image{height:300px!important;max-height:300px!important;}
}
@media(max-width:767.98px){
  .category-page-hero{padding-top:2rem!important;padding-bottom:2.5rem!important;}
  .category-hero-visual{padding:8px;border-radius:22px;}
  .category-hero-visual picture,
  .category-hero-visual .category-hero-image{height:420px!important;max-height:420px!important;border-radius:16px!important;}
}
@media(max-width:420px){
  .category-hero-visual picture,
  .category-hero-visual .category-hero-image{height:380px!important;max-height:380px!important;}
}

/* V5.6.0 - Paginas de error profesionales */
.error-page-section{min-height:62vh;background:radial-gradient(circle at 15% 10%,rgba(242,183,5,.16),transparent 28%),linear-gradient(145deg,#fff,#f3f6fb);}
.error-page-card{max-width:820px;border:1px solid var(--aida-line);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:0 28px 70px rgba(31,53,99,.13);}
.error-page-code{display:block;font-size:clamp(4rem,12vw,8rem);font-weight:900;line-height:.9;letter-spacing:-.07em;color:rgba(31,53,99,.10);}

@media(max-width:991.98px){
  .commercial-attention-premium-card{min-height:660px;}
  .commercial-attention-premium-content{width:58%;padding:44px 32px;}
  .commercial-contact-grid span{display:block;}
  .commercial-contact-grid strong{display:block;}
}
@media(max-width:767.98px){
  .visual-commercial-card{min-height:290px;border-radius:22px;}
  .visual-commercial-overlay{padding:22px;}
  .commercial-attention-premium-card{min-height:980px;border-radius:26px;}
  .commercial-attention-premium-picture,.commercial-attention-premium-picture img{height:100%;}
  .commercial-attention-premium-picture img{object-position:center top;}
  .commercial-attention-premium-content{width:100%;margin:0;padding:500px 20px 28px;background:linear-gradient(180deg,transparent 0,transparent 370px,rgba(255,255,255,.94) 455px,#fff 545px);}
  .commercial-attention-premium-content h2{font-size:2.25rem;}
  .commercial-attention-premium-content>p{font-size:1rem;}
  .commercial-contact-grid>a,.commercial-contact-grid>div{background:rgba(255,255,255,.96);padding:10px 12px;}
}
@media(max-width:420px){
  .commercial-attention-premium-card{min-height:980px;}
  .commercial-attention-premium-content{padding-top:475px;background:linear-gradient(180deg,transparent 0,transparent 345px,rgba(255,255,255,.94) 425px,#fff 515px);}
}
