/*
Theme Name: Impresiòna Copistería
Theme URI: https://www.impresionacopisteria.es/
Author: Impresiòna
Description: Tema a medida para la web de copistería de Impresiòna.
Version: 3.1.9
Text Domain: impresiona-copisteria
*/

:root{--imp-purple:#5B1BE7;--imp-dark-purple:#32106E;--imp-yellow:#F8DD55;--imp-cream:#FFF0DE;--imp-green:#E8F4D8;--imp-lilac:#D8C4F5;--imp-soft:#F6F6F8;--imp-white:#FFFFFF;--imp-black:#111827;--imp-text:#303246;--imp-muted:#6B7280;--imp-border:#E8E8EF;--imp-footer:#080B24}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--imp-black);font-family:Inter,Arial,sans-serif}a{text-decoration:none}.imp-container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.imp-topbar{width:100%;background:var(--imp-purple);color:#fff;font-size:14px;font-weight:600}.imp-topbar-inner{min-height:40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.imp-topbar-left{justify-self:start;display:flex;align-items:center;gap:8px}.imp-map-icon{width:17px;height:17px;color:#fff;fill:currentColor;flex:0 0 auto}.imp-topbar-center{justify-self:center}.imp-topbar-right{justify-self:end;display:flex;align-items:center;gap:12px}.imp-topbar a{color:#fff}.imp-social{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center}.imp-social svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.imp-header{background:#fff;border-bottom:1px solid var(--imp-border)}.imp-header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px}.imp-logo{font-size:42px;line-height:1;color:#111;font-weight:900;letter-spacing:-.04em}.imp-logo span{color:var(--imp-purple)}.imp-nav{display:flex;align-items:center;gap:30px}.imp-nav a{color:#111;font-size:15px;font-weight:800}.imp-nav a:hover{color:var(--imp-purple)}.imp-header-actions{display:flex;align-items:center;gap:14px;position:relative;top:6px}.imp-header-icon{width:42px;height:42px;border-radius:50%;background:#F5F3FF;color:var(--imp-purple);display:grid;place-items:center;font-size:17px}.imp-whatsapp{min-height:48px;padding:0 22px;border-radius:8px;background:var(--imp-yellow);color:#111;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:15px}
.imp-hero{background:#fff;padding:58px 0 34px}.imp-hero-grid{display:grid;grid-template-columns:42% 58%;align-items:center;gap:26px}.imp-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(46px,5.2vw,76px);line-height:.98;letter-spacing:-.035em;margin:0 0 24px;color:#11142D;font-weight:800}.imp-hero h1 span{color:var(--imp-dark-purple);display:block}.imp-hero p{font-size:21px;line-height:1.65;color:#1F2338;margin:0 0 28px;max-width:520px}.imp-hero-benefits{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 32px}.imp-hero-benefit{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#F6F3FF;color:var(--imp-dark-purple);font-size:14px;font-weight:800}.imp-hero-benefit svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.imp-buttons{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.imp-btn{min-height:52px;padding:0 26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;transition:.2s ease}.imp-btn-primary{background:var(--imp-dark-purple);color:#fff}.imp-btn-outline{background:#fff;color:var(--imp-dark-purple);border:1.5px solid rgba(50,16,110,.25)}.imp-btn:hover{transform:translateY(-2px)}
.imp-hero-visual{height:470px;position:relative;overflow:hidden;border-radius:2px;background:radial-gradient(circle at 68% 48%,rgba(255,255,255,.9) 0 8%,transparent 9%),linear-gradient(135deg,#F7F1FF 0%,#F9F6FF 45%,#FFFFFF 100%)}.imp-hero-visual:before{content:"";position:absolute;right:10%;top:8%;width:48%;height:84%;border-radius:26px;background:linear-gradient(160deg,#8A4CFF,#5B1BE7);transform:rotate(-7deg);box-shadow:0 28px 70px rgba(50,16,110,.22)}.imp-hero-visual:after{content:"🎒";position:absolute;right:22%;top:24%;font-size:180px;filter:drop-shadow(0 22px 30px rgba(17,24,39,.25))}.imp-hero-shape{position:absolute;left:8%;bottom:8%;display:grid;grid-template-columns:repeat(3,72px);gap:12px}.imp-hero-shape span{height:72px;border-radius:14px;display:grid;place-items:center;font-size:34px;background:#fff;box-shadow:0 14px 30px rgba(17,24,39,.08)}
.imp-quick{padding:0 0 24px}.imp-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.imp-quick-card{background:#fff;border:1px solid #EFEFF4;border-radius:10px;padding:24px 22px;box-shadow:0 8px 26px rgba(17,24,39,.045);display:flex;align-items:flex-start;gap:16px}.imp-icon{width:42px;height:42px;border-radius:50%;background:#F3EEFF;color:var(--imp-dark-purple);display:grid;place-items:center;flex:0 0 auto}.imp-icon svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.imp-quick-card h3{margin:0 0 6px;font-size:18px;font-weight:900;letter-spacing:-.02em}.imp-quick-card p{margin:0;color:#51546A;line-height:1.5;font-size:14px}
.imp-school-banner{margin-top:12px;border-radius:8px;min-height:246px;background:var(--imp-lilac);overflow:hidden;display:grid;grid-template-columns:38% 62%;align-items:center}.imp-school-copy{padding:42px 48px}.imp-school-copy h2{font-size:40px;line-height:1;margin:0 0 18px;font-weight:950;letter-spacing:-.03em}.imp-school-copy p{font-size:20px;line-height:1.5;margin:0 0 28px;color:#24153E}.imp-school-visual{height:246px;position:relative;background:linear-gradient(135deg,#D8C4F5,#ECE0FF);overflow:hidden}.imp-school-visual:before{content:"📚 ✏️ 🎒";position:absolute;inset:0;display:grid;place-items:center;font-size:92px;letter-spacing:18px;filter:drop-shadow(0 20px 28px rgba(50,16,110,.20))}
.imp-featured{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.imp-feature-card{min-height:228px;border-radius:8px;overflow:hidden;display:grid;grid-template-columns:50% 50%;align-items:center}.imp-feature-card-copy{padding:34px 38px}.imp-feature-card h2{margin:0 0 18px;font-size:34px;font-weight:950;letter-spacing:-.03em}.imp-feature-card p{margin:0 0 24px;font-size:20px;line-height:1.55}.imp-cheque{background:var(--imp-cream)}.imp-cheque h2{color:#E87525}.imp-conservatorio{background:var(--imp-green)}.imp-conservatorio h2{color:#4B7D2A}.imp-feature-visual{height:228px;display:grid;place-items:center;font-size:100px}.imp-cheque .imp-feature-visual{background:linear-gradient(135deg,#FFF5EA,#FFE2C3)}.imp-conservatorio .imp-feature-visual{background:linear-gradient(135deg,#F2FAEA,#D9EEC1)}.imp-btn-orange{background:#E87525;color:#fff}.imp-btn-green{background:#4B7D2A;color:#fff}
.imp-services{padding:28px 0 12px}.imp-section-title{text-align:center;font-size:24px;letter-spacing:.02em;margin:0 0 24px;font-weight:950}.imp-services-grid{display:grid;grid-template-columns:repeat(6,1fr)}.imp-services-grid div{text-align:center;padding:12px 16px;border-right:1px solid #DADAE4}.imp-services-grid div:last-child{border-right:0}.imp-services-grid span{display:block;font-size:31px;margin-bottom:9px;color:var(--imp-dark-purple)}.imp-services-grid p{margin:0;font-size:14px;font-weight:850}
.imp-promos{padding:20px 0 30px}.imp-promos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.imp-promo-card{background:#fff;border:1px solid var(--imp-border);border-radius:8px;overflow:hidden;box-shadow:0 14px 34px rgba(17,24,39,.06)}.imp-promo-img{height:152px;position:relative;overflow:hidden}.imp-promo-img:before{content:attr(data-emoji);position:absolute;inset:0;display:grid;place-items:center;font-size:70px;background:var(--promo-bg,#F1F1F1)}.imp-price{position:absolute;right:14px;bottom:14px;width:86px;height:86px;border-radius:50%;background:var(--imp-dark-purple);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:24px;font-weight:950;line-height:1;text-align:center}.imp-price small{font-size:12px;margin-top:4px}.imp-promo-card h3{margin:20px 18px 8px;font-size:20px;font-weight:950}.imp-promo-card p{margin:0 18px 22px;color:#303246;line-height:1.45}
.imp-cta{padding:0 0 20px}.imp-cta-box{min-height:88px;border-radius:8px;background:linear-gradient(90deg,#4B148C,#7E35B3);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 38px}.imp-cta h2{margin:0 0 6px;font-size:24px;font-weight:950}.imp-cta p{margin:0;color:rgba(255,255,255,.88)}.imp-btn-white{background:#fff;color:var(--imp-dark-purple)}
.imp-benefits{padding:8px 0 28px}.imp-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.imp-benefits-grid div{display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:start}.imp-benefits-grid span{width:36px;height:36px;border-radius:50%;background:#F1EAFE;display:grid;place-items:center}.imp-benefits-grid strong{font-size:15px;font-weight:950}.imp-benefits-grid p{grid-column:2;margin:2px 0 0;font-size:13px;color:var(--imp-muted)}
.imp-footer{background:var(--imp-footer);color:#fff;padding:42px 0 24px}.imp-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.35fr;gap:34px}.imp-footer h2{margin:0;font-size:32px;font-weight:950}.imp-footer h3{margin:0 0 12px;font-size:16px}.imp-footer p,.imp-footer small,.imp-footer a{color:rgba(255,255,255,.78);font-size:14px;line-height:1.6}.imp-footer a{display:block;margin-bottom:4px}.wp-site-blocks,.site,#page{overflow-x:hidden}
@media(max-width:1000px){.imp-nav{display:none}.imp-hero-grid,.imp-school-banner,.imp-featured,.imp-footer-grid{grid-template-columns:1fr}.imp-quick-grid,.imp-promos-grid,.imp-benefits-grid{grid-template-columns:1fr 1fr}.imp-services-grid{grid-template-columns:repeat(3,1fr);gap:12px}.imp-services-grid div{border-right:0;border-bottom:1px solid #E5E5ED;padding:16px 10px}}
@media(max-width:700px){.imp-container{width:min(100% - 28px,1180px)}.imp-topbar-inner{grid-template-columns:1fr;text-align:center;min-height:36px}.imp-topbar-left,.imp-topbar-right{display:none}.imp-header-inner{height:auto;padding:18px 0;flex-wrap:wrap}.imp-logo{font-size:34px}.imp-header-actions{margin-left:auto}.imp-header-icon{display:none}.imp-hero{padding:36px 0 24px}.imp-hero h1{font-size:42px}.imp-hero p{font-size:18px}.imp-buttons{flex-direction:column;align-items:stretch}.imp-btn{width:100%}.imp-hero-benefits{gap:8px}.imp-hero-benefit{font-size:13px}.imp-hero-visual{height:330px}.imp-hero-visual:after{font-size:128px;right:20%;top:28%}.imp-hero-shape{left:6%;bottom:8%;grid-template-columns:repeat(3,54px)}.imp-hero-shape span{height:54px;font-size:25px}.imp-quick-grid,.imp-promos-grid,.imp-benefits-grid{grid-template-columns:1fr}.imp-feature-card{grid-template-columns:1fr}.imp-school-copy,.imp-feature-card-copy{padding:28px}.imp-school-copy h2,.imp-feature-card h2{font-size:30px}.imp-services-grid{grid-template-columns:1fr 1fr}.imp-cta-box{flex-direction:column;align-items:flex-start}}


/* ALIGN FIX V1.1.4 */

.imp-nav{
transform:translateY(10px) !important;
}

.imp-header-actions{
transform:translateY(10px) !important;
}



/* ALIGN FIX V1.1.5 - MENÚ */
.imp-header .imp-nav,
.imp-header-inner .imp-nav{
  position: relative !important;
  top: 12px !important;
  transform: none !important;
}

.imp-header .imp-nav a,
.imp-header-inner .imp-nav a{
  position: relative !important;
  top: 0 !important;
}


/* ALIGN FIX V1.1.6 - MENÚ + ICONOS DERECHA */
.imp-header .imp-nav,
.imp-header-inner .imp-nav{
  position: relative !important;
  top: 12px !important;
  transform: none !important;
}

.imp-header .imp-header-actions,
.imp-header-inner .imp-header-actions{
  position: relative !important;
  top: 12px !important;
  transform: none !important;
}

.imp-header .imp-header-icon,
.imp-header-inner .imp-header-icon,
.imp-header .imp-whatsapp,
.imp-header-inner .imp-whatsapp{
  position: relative !important;
  top: 0 !important;
}


/* HERO IMAGE FIX V1.2.7 */
.imp-hero-visual-image{
  height:470px !important;
  background:transparent !important;
  border-radius:28px !important;
  overflow:hidden !important;
  box-shadow:0 22px 60px rgba(17,24,39,.10) !important;
  position:relative !important;
}

.imp-hero-visual-image:before,
.imp-hero-visual-image:after{
  display:none !important;
  content:none !important;
}

.imp-hero-visual-image .imp-hero-shape{
  display:none !important;
}

.imp-hero-visual-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  border-radius:28px !important;
}

@media(max-width:700px){
  .imp-hero-visual-image{
    height:330px !important;
  }
}


/* HERO PNG CLEAN FIX V1.2.8 */
.imp-hero-visual-image{
  height:auto !important;
  min-height:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  overflow:visible !important;
  box-shadow:none !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.imp-hero-visual-image:before,
.imp-hero-visual-image:after{
  display:none !important;
  content:none !important;
}

.imp-hero-visual-image .imp-hero-shape{
  display:none !important;
}

.imp-hero-visual-image img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

@media(max-width:700px){
  .imp-hero-visual-image{
    height:auto !important;
  }
}


/* QUICK SERVICES - MINIMAL STYLE */
.imp-quick{
  padding:10px 0 30px !important;
}

.imp-quick-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:18px !important;
}

.imp-quick-card{
  background:#fff !important;
  border:1px solid #efefef !important;
  border-radius:18px !important;
  padding:22px !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  box-shadow:none !important;
  transition:.2s ease !important;
}

.imp-quick-card:hover{
  transform:translateY(-2px) !important;
  border-color:#ddd !important;
}

.imp-quick-card h3{
  margin:0 0 4px !important;
  font-size:17px !important;
  color:#111 !important;
}

.imp-quick-card p{
  margin:0 !important;
  font-size:14px !important;
  color:#666 !important;
}

.imp-icon{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:14px !important;
  background:#f5f3ff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.imp-icon svg{
  width:22px !important;
  height:22px !important;
  stroke:#6d28d9 !important;
  fill:none !important;
  stroke-width:1.8 !important;
}

@media(max-width:900px){
  .imp-quick-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:600px){
  .imp-quick-grid{
    grid-template-columns:1fr !important;
  }
}


/* QUICK SERVICES EXACT PHOTO STYLE */

.imp-quick{
  margin-top:-10px !important;
  padding:0 0 35px !important;
}

.imp-quick-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;
  background:#fff !important;
  border:1px solid #efefef !important;
  border-radius:18px !important;
  overflow:hidden !important;
}

.imp-quick-card{
  background:#fff !important;
  border:none !important;
  border-right:1px solid #efefef !important;
  border-radius:0 !important;
  padding:26px 24px !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  min-height:110px !important;
  box-shadow:none !important;
}

.imp-quick-card:last-child{
  border-right:none !important;
}

.imp-icon{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  border-radius:0 !important;
  background:transparent !important;
}

.imp-icon svg{
  width:34px !important;
  height:34px !important;
  stroke:#6d28d9 !important;
  fill:none !important;
  stroke-width:1.7 !important;
}

.imp-quick-card h3{
  margin:0 0 5px !important;
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:.3px !important;
  text-transform:uppercase !important;
  color:#111 !important;
}

.imp-quick-card p{
  margin:0 !important;
  font-size:14px !important;
  color:#555 !important;
  line-height:1.4 !important;
}

@media(max-width:900px){
  .imp-quick-grid{
    grid-template-columns:1fr 1fr !important;
  }

  .imp-quick-card{
    border-bottom:1px solid #efefef !important;
  }
}

@media(max-width:600px){
  .imp-quick-grid{
    grid-template-columns:1fr !important;
  }

  .imp-quick-card{
    border-right:none !important;
  }
}


/* PUNTO 4 EXACTO - V1.4.4 */
.imp-quick{
  margin-top:-8px !important;
  padding:0 0 35px !important;
}

.imp-quick-grid{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:0 !important;
  background:#fff !important;
  border:1px solid #efefef !important;
  border-radius:18px !important;
  overflow:hidden !important;
  box-shadow:0 14px 40px rgba(17,24,39,.08) !important;
}

.imp-quick-card{
  background:#fff !important;
  border:none !important;
  border-right:1px solid #e5e5ec !important;
  border-radius:0 !important;
  padding:24px 22px !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  min-height:104px !important;
  box-shadow:none !important;
}

.imp-quick-card:last-child{
  border-right:none !important;
}

.imp-icon{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  background:transparent !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.imp-icon svg{
  width:40px !important;
  height:40px !important;
}

.imp-icon svg path,
.imp-icon svg circle,
.imp-icon svg rect{
  stroke:#5b18d6 !important;
  fill:none !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.imp-quick-card h3{
  margin:0 0 5px !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  text-transform:uppercase !important;
  color:#111 !important;
}

.imp-quick-card p{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  color:#111 !important;
}

@media(max-width:1000px){
  .imp-quick-grid{
    grid-template-columns:1fr 1fr !important;
  }
  .imp-quick-card{
    border-bottom:1px solid #e5e5ec !important;
  }
}

@media(max-width:600px){
  .imp-quick-grid{
    grid-template-columns:1fr !important;
  }
  .imp-quick-card{
    border-right:none !important;
  }
}


/* PUNTO 4 PREMIUM V1.4.5 */
.imp-quick-grid{
  grid-template-columns:repeat(4,1fr) !important;
}

.imp-quick-card{
  padding:26px 28px !important;
}

.imp-icon svg{
  width:42px !important;
  height:42px !important;
}

.imp-icon svg path,
.imp-icon svg circle,
.imp-icon svg rect{
  stroke:#5b18d6 !important;
  fill:none !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}


/* PUNTO 4 FINAL AJUSTADO - V1.4.7 */
.imp-quick{
  margin-top:-6px !important;
  padding:0 0 36px !important;
}

.imp-quick .imp-container{
  width:min(1180px, calc(100% - 48px)) !important;
}

.imp-quick-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;
  background:#fff !important;
  border:1px solid #eeeeee !important;
  border-radius:18px !important;
  overflow:hidden !important;
  box-shadow:0 14px 38px rgba(17,24,39,.07) !important;
}

.imp-quick-card{
  min-height:118px !important;
  padding:28px 30px !important;
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  background:#fff !important;
  border:none !important;
  border-right:1px solid #dedee6 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.imp-quick-card:last-child{
  border-right:none !important;
}

.imp-icon{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border-radius:0 !important;
}

.imp-icon svg{
  width:48px !important;
  height:48px !important;
  display:block !important;
}

.imp-icon svg path,
.imp-icon svg circle,
.imp-icon svg rect{
  stroke:#5b18d6 !important;
  fill:none !important;
  stroke-width:1.55 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.imp-quick-card h3{
  margin:0 0 8px !important;
  font-size:16px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  color:#111 !important;
}

.imp-quick-card p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  color:#111 !important;
  font-weight:400 !important;
}

@media(max-width:1000px){
  .imp-quick-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
  .imp-quick-card{
    border-bottom:1px solid #dedee6 !important;
  }
  .imp-quick-card:nth-child(2){
    border-right:none !important;
  }
  .imp-quick-card:nth-child(3),
  .imp-quick-card:nth-child(4){
    border-bottom:none !important;
  }
}

@media(max-width:600px){
  .imp-quick .imp-container{
    width:min(100% - 28px,1180px) !important;
  }
  .imp-quick-grid{
    grid-template-columns:1fr !important;
  }
  .imp-quick-card{
    min-height:104px !important;
    padding:24px !important;
    border-right:none !important;
    border-bottom:1px solid #dedee6 !important;
  }
  .imp-quick-card:nth-child(3){
    border-bottom:1px solid #dedee6 !important;
  }
  .imp-quick-card:last-child{
    border-bottom:none !important;
  }
}


/* PUNTO 4 ICONOS LIMPIOS V1.4.9 */
.imp-icon svg{
  width:42px !important;
  height:42px !important;
}

.imp-icon svg path,
.imp-icon svg rect,
.imp-icon svg circle{
  stroke:#5b18d6 !important;
  fill:none !important;
  stroke-width:1.45 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}


/* ICONOS LUCIDE/FEATHER - V1.5.0 */
.imp-quick .imp-icon svg{
  width:44px !important;
  height:44px !important;
}

.imp-quick .imp-icon svg path,
.imp-quick .imp-icon svg circle,
.imp-quick .imp-icon svg rect,
.imp-quick .imp-icon svg line,
.imp-quick .imp-icon svg polyline{
  stroke:#5b18d6 !important;
  fill:none !important;
  stroke-width:1.6 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}


/* PUNTO 5 - BANNERS PREMIUM V1.5.1 */
.imp-punto5{
  padding: 18px 0 34px !important;
}

.imp-punto5-grid{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.imp-promo-banner{
  min-height: 250px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  box-shadow: 0 16px 42px rgba(17,24,39,.075) !important;
  border: 1px solid rgba(17,24,39,.06) !important;
}

.imp-banner-cheque{
  background: linear-gradient(135deg,#EAF8EE 0%,#F7FFF8 100%) !important;
}

.imp-banner-libros{
  background: linear-gradient(135deg,#EFE8FF 0%,#FBF8FF 100%) !important;
}

.imp-banner-cole{
  background: linear-gradient(135deg,#FFF3B8 0%,#FFF9DC 100%) !important;
  grid-column: span 1 !important;
}

.imp-promo-banner-copy{
  position: relative !important;
  z-index: 2 !important;
  max-width: 72% !important;
}

.imp-promo-banner-copy span{
  display: inline-block !important;
  margin-bottom: 12px !important;
  color: #5b18d6 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.imp-promo-banner-copy h2{
  margin: 0 0 14px !important;
  color: #11142D !important;
  font-size: 31px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -.03em !important;
  text-transform: none !important;
}

.imp-promo-banner-copy p{
  margin: 0 0 24px !important;
  color: #1f2338 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.imp-promo-banner-visual{
  position: absolute !important;
  right: 18px !important;
  bottom: 10px !important;
  font-size: 96px !important;
  line-height: 1 !important;
  filter: drop-shadow(0 16px 20px rgba(17,24,39,.12)) !important;
  opacity: .95 !important;
}

.imp-promo-banner-list{
  position: relative !important;
  z-index: 2 !important;
  min-width: 150px !important;
}

.imp-promo-banner-list ul{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.imp-promo-banner-list li{
  position: relative !important;
  padding-left: 24px !important;
  margin-bottom: 11px !important;
  color: #11142D !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.imp-promo-banner-list li:before{
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: #ec2e7b !important;
  font-weight: 950 !important;
}

.imp-btn-pink{
  background: #ec2e7b !important;
  color: #fff !important;
}

@media(max-width:1000px){
  .imp-punto5-grid{
    grid-template-columns: 1fr !important;
  }

  .imp-promo-banner-copy{
    max-width: 78% !important;
  }
}

@media(max-width:650px){
  .imp-promo-banner{
    min-height: auto !important;
    padding: 28px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .imp-promo-banner-copy{
    max-width: 100% !important;
  }

  .imp-promo-banner-visual{
    position: static !important;
    font-size: 70px !important;
    align-self: flex-end !important;
  }

  .imp-promo-banner-list{
    width: 100% !important;
  }
}


/* PUNTO 5 ESTÉTICO V1.5.2 */
.imp-punto5{
  padding: 18px 0 42px !important;
}

.imp-punto5-grid{
  display: grid !important;
  grid-template-columns: 1.08fr .92fr .92fr !important;
  gap: 22px !important;
}

.imp-promo-banner{
  min-height: 245px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 34px 36px !important;
  display: flex !important;
  align-items: center !important;
  border: 1px solid rgba(17,24,39,.055) !important;
  box-shadow: 0 18px 44px rgba(17,24,39,.075) !important;
  isolation: isolate !important;
}

.imp-promo-banner:before{
  content:"" !important;
  position:absolute !important;
  inset:auto -55px -75px auto !important;
  width:190px !important;
  height:190px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.58) !important;
  z-index:-1 !important;
}

.imp-promo-banner:after{
  content:"" !important;
  position:absolute !important;
  inset:18px 18px auto auto !important;
  width:72px !important;
  height:72px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.38) !important;
  z-index:-1 !important;
}

.imp-banner-cheque{
  background: linear-gradient(135deg,#E6F8EA 0%,#F9FFF4 58%,#FFFFFF 100%) !important;
}

.imp-banner-libros{
  background: linear-gradient(135deg,#EFE7FF 0%,#FAF7FF 58%,#FFFFFF 100%) !important;
}

.imp-banner-cole{
  background: linear-gradient(135deg,#FFF0A8 0%,#FFF7D6 58%,#FFFFFF 100%) !important;
}

.imp-promo-banner-copy{
  position:relative !important;
  z-index:2 !important;
  max-width:72% !important;
}

.imp-promo-banner-copy span{
  display:inline-flex !important;
  margin:0 0 12px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.72) !important;
  color:#5b18d6 !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-promo-banner-copy h2{
  margin:0 0 12px !important;
  color:#11142D !important;
  font-size:clamp(28px,2.2vw,38px) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
  font-weight:950 !important;
}

.imp-promo-banner-copy p{
  margin:0 0 24px !important;
  color:#202338 !important;
  font-size:16px !important;
  line-height:1.45 !important;
}

.imp-banner-link{
  min-height:44px !important;
  padding:0 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  background:#11142D !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:0 10px 24px rgba(17,24,39,.16) !important;
}

.imp-banner-cheque .imp-banner-link{
  background:#35A85A !important;
}

.imp-banner-libros .imp-banner-link{
  background:#5b18d6 !important;
}

.imp-banner-cole .imp-banner-link{
  background:#EC2E7B !important;
}

.imp-promo-banner-visual{
  position:absolute !important;
  right:20px !important;
  bottom:16px !important;
  width:116px !important;
  height:116px !important;
  display:grid !important;
  place-items:center !important;
  z-index:1 !important;
}

.imp-promo-banner-visual strong{
  font-size:94px !important;
  line-height:1 !important;
  filter:drop-shadow(0 18px 18px rgba(17,24,39,.12)) !important;
}

.imp-visual-upload span{
  position:absolute !important;
  top:2px !important;
  left:6px !important;
  width:36px !important;
  height:36px !important;
  border-radius:999px !important;
  background:#35A85A !important;
  color:#fff !important;
  display:grid !important;
  place-items:center !important;
  font-size:24px !important;
  font-weight:900 !important;
  box-shadow:0 10px 18px rgba(53,168,90,.25) !important;
}

.imp-visual-books strong{
  transform:rotate(-5deg) !important;
}

.imp-visual-school strong{
  transform:rotate(3deg) !important;
}

@media(max-width:1050px){
  .imp-punto5-grid{
    grid-template-columns:1fr !important;
  }

  .imp-promo-banner{
    min-height:220px !important;
  }

  .imp-promo-banner-copy{
    max-width:76% !important;
  }
}

@media(max-width:650px){
  .imp-promo-banner{
    min-height:auto !important;
    padding:28px !important;
    align-items:flex-start !important;
  }

  .imp-promo-banner-copy{
    max-width:100% !important;
  }

  .imp-promo-banner-visual{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    margin-left:auto !important;
    margin-top:20px !important;
    width:84px !important;
    height:84px !important;
  }

  .imp-promo-banner-visual strong{
    font-size:72px !important;
  }
}


/* MODAL CHEQUELIBRO V1.5.4 */
.imp-modal-open{
  overflow:hidden !important;
}

.imp-modal-overlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(17,24,39,.55) !important;
  backdrop-filter:blur(4px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:99999 !important;
  opacity:0 !important;
  visibility:hidden !important;
  transition:.25s ease !important;
  padding:20px !important;
}

.imp-modal-overlay.active{
  opacity:1 !important;
  visibility:visible !important;
}

.imp-modal{
  width:100% !important;
  max-width:520px !important;
  background:#fff !important;
  border-radius:26px !important;
  padding:34px !important;
  position:relative !important;
  box-shadow:0 24px 80px rgba(17,24,39,.22) !important;
}

.imp-modal-close{
  position:absolute !important;
  top:16px !important;
  right:18px !important;
  width:40px !important;
  height:40px !important;
  border:none !important;
  border-radius:999px !important;
  background:#f3f4f6 !important;
  cursor:pointer !important;
  font-size:26px !important;
  line-height:1 !important;
}

.imp-modal-header span{
  display:inline-block !important;
  margin-bottom:10px !important;
  color:#5b18d6 !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-modal-header h2{
  margin:0 0 10px !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:950 !important;
  color:#11142d !important;
}

.imp-modal-header p{
  margin:0 0 24px !important;
  color:#4b5563 !important;
}

.imp-modal-form{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

.imp-field label{
  display:block !important;
  margin-bottom:8px !important;
  font-size:14px !important;
  font-weight:800 !important;
  color:#11142d !important;
}

.imp-field input{
  width:100% !important;
  min-height:54px !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  padding:0 16px !important;
  background:#fff !important;
}

.imp-field input[type="file"]{
  padding:14px !important;
}

.imp-modal-submit{
  min-height:56px !important;
  border:none !important;
  border-radius:16px !important;
  background:#5b18d6 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:0 14px 28px rgba(91,24,214,.25) !important;
}


/* FORM FEEDBACK V1.5.6 */
.imp-form-success,
.imp-form-error{
  margin:0 0 18px !important;
  padding:14px 16px !important;
  border-radius:14px !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.imp-form-success{
  background:#eaf8ee !important;
  color:#176b35 !important;
}

.imp-form-error{
  background:#fff0f0 !important;
  color:#9f1239 !important;
}


/* PROMOCIONES DESTACADAS V1.7.1 */
.imp-section-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin-bottom:18px !important;
}

.imp-section-head h2{
  margin:0 !important;
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  color:#11142d !important;
}

.imp-section-head a{
  font-size:13px !important;
  font-weight:900 !important;
  color:#5b18d6 !important;
  text-decoration:none !important;
}

.imp-promos{
  padding:8px 0 34px !important;
}

.imp-promos-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:22px !important;
}

.imp-promo-card{
  min-height:168px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  position:relative !important;
  padding:26px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 12px 34px rgba(17,24,39,.07) !important;
}

.imp-promo-bn{
  background:linear-gradient(135deg,#f1edff 0%,#ffffff 100%) !important;
}

.imp-promo-color{
  background:linear-gradient(135deg,#fff0a8 0%,#ffffff 100%) !important;
}

.imp-promo-enc{
  background:linear-gradient(135deg,#dff0ff 0%,#ffffff 100%) !important;
}

.imp-promo-cardvisit{
  background:linear-gradient(135deg,#e4f9e8 0%,#ffffff 100%) !important;
}

.imp-promo-copy{
  position:relative !important;
  z-index:2 !important;
  max-width:72% !important;
}

.imp-promo-copy h3{
  margin:0 0 22px !important;
  font-size:20px !important;
  line-height:1.15 !important;
  color:#11142d !important;
  font-weight:950 !important;
}

.imp-promo-copy span{
  display:block !important;
  margin:0 0 3px !important;
  color:#6b7280 !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.imp-promo-copy strong{
  display:block !important;
  color:#5b18d6 !important;
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  font-weight:950 !important;
}

.imp-promo-copy small{
  display:block !important;
  margin-top:4px !important;
  color:#11142d !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.imp-promo-visual{
  position:absolute !important;
  right:18px !important;
  bottom:14px !important;
  font-size:74px !important;
  line-height:1 !important;
  opacity:.72 !important;
  filter:drop-shadow(0 12px 14px rgba(17,24,39,.10)) !important;
}

@media(max-width:1000px){
  .imp-promos-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:650px){
  .imp-section-head{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .imp-promos-grid{
    grid-template-columns:1fr !important;
  }

  .imp-promo-card{
    min-height:150px !important;
  }
}


/* FOTOS REALES CROPS V1.7.5 */
.imp-promo-visual{
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  width:160px !important;
  height:130px !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
}

.imp-promo-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 14px 18px rgba(17,24,39,.16)) !important;
}


/* PROMOCIÓN DESTACADA V1.7.6 */
.imp-featured-promo{
  padding:10px 0 38px !important;
}

.imp-featured-head{
  margin-bottom:18px !important;
}

.imp-featured-head h2{
  margin:0 !important;
  color:#11142d !important;
  font-size:28px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
}

.imp-featured-banner{
  min-height:300px !important;
  border-radius:30px !important;
  overflow:hidden !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:44px !important;
  background:linear-gradient(135deg,#fff0a8 0%,#fff8d7 55%,#ffffff 100%) !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 20px 46px rgba(17,24,39,.08) !important;
}

.imp-featured-banner:before{
  content:"" !important;
  position:absolute !important;
  right:-90px !important;
  bottom:-90px !important;
  width:240px !important;
  height:240px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.42) !important;
}

.imp-featured-copy{
  position:relative !important;
  z-index:2 !important;
  max-width:520px !important;
}

.imp-featured-copy span{
  display:inline-flex !important;
  margin-bottom:16px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.72) !important;
  color:#5b18d6 !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-featured-copy h3{
  margin:0 0 18px !important;
  color:#11142d !important;
  font-size:clamp(40px,4vw,58px) !important;
  line-height:.95 !important;
  letter-spacing:-.05em !important;
  font-weight:950 !important;
}

.imp-featured-copy h3 strong{
  color:#5b18d6 !important;
}

.imp-featured-copy p{
  margin:0 0 24px !important;
  max-width:470px !important;
  color:#1f2338 !important;
  font-size:17px !important;
  line-height:1.55 !important;
}

.imp-featured-btn{
  min-height:50px !important;
  padding:0 22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:14px !important;
  background:#11142d !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:0 14px 26px rgba(17,24,39,.16) !important;
}

.imp-featured-image{
  position:relative !important;
  z-index:2 !important;
  width:340px !important;
  flex-shrink:0 !important;
}

.imp-featured-image img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 22px 28px rgba(17,24,39,.16)) !important;
}

@media(max-width:900px){
  .imp-featured-banner{
    padding:34px !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .imp-featured-image{
    width:240px !important;
    margin-left:auto !important;
  }
}

@media(max-width:640px){
  .imp-featured-banner{
    padding:28px !important;
    border-radius:24px !important;
  }

  .imp-featured-copy h3{
    font-size:38px !important;
  }

  .imp-featured-image{
    width:200px !important;
  }
}


/* BANNER PREMIUM TARJETAS V1.7.7 */
.imp-featured-banner{
  min-height:240px !important;
  padding:38px 42px !important;
  border-radius:26px !important;
  background:linear-gradient(135deg,#efe8ff 0%,#faf7ff 58%,#ffffff 100%) !important;
}

.imp-featured-banner:before{
  width:190px !important;
  height:190px !important;
  right:-70px !important;
  bottom:-70px !important;
}

.imp-featured-copy{
  max-width:480px !important;
}

.imp-featured-copy span{
  margin-bottom:14px !important;
}

.imp-featured-copy h3{
  font-size:clamp(34px,3.4vw,50px) !important;
  line-height:.96 !important;
  margin-bottom:16px !important;
}

.imp-featured-copy p{
  max-width:430px !important;
  margin-bottom:20px !important;
  font-size:16px !important;
}

.imp-featured-btn{
  min-height:46px !important;
  padding:0 20px !important;
  border-radius:12px !important;
  background:#5b18d6 !important;
}

.imp-featured-image{
  width:300px !important;
}

.imp-featured-image img{
  filter:drop-shadow(0 18px 24px rgba(17,24,39,.14)) !important;
}

@media(max-width:900px){
  .imp-featured-banner{
    padding:30px !important;
  }

  .imp-featured-image{
    width:220px !important;
  }
}


/* BANNER TARJETAS PRO V1.7.8 */
.imp-featured-image{
  width:360px !important;
}

.imp-featured-image img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 24px 30px rgba(17,24,39,.18)) !important;
}


/* AJUSTE TIPOGRAFÍA TARJETAS V1.8.2 */
.imp-featured-copy h3{
  font-size:clamp(30px,2.8vw,44px) !important;
  line-height:1.02 !important;
  max-width:520px !important;
}

.imp-featured-copy h3 strong{
  display:inline-block !important;
  margin-top:6px !important;
}

@media(max-width:640px){
  .imp-featured-copy h3{
    font-size:34px !important;
  }
}


/* ESPACIADO PROMOCIÓN V1.8.5 */
.imp-featured-promo{
  margin-top:36px !important;
}


/* ESPACIO ICONO WHATSAPP V1.8.7 */
.imp-whatsapp-btn,
.imp-contact-whatsapp,
a[href*="wa.me"]{
  gap:10px !important;
}


/* BENEFICIOS COMPACTOS DEBAJO PROMO V1.9.0 */
.imp-mini-values{
  padding: 0 0 34px !important;
  margin-top: -6px !important;
}

.imp-mini-values-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:14px !important;
}

.imp-mini-value{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-height:92px !important;
  padding:18px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 10px 24px rgba(17,24,39,.045) !important;
}

.imp-mini-value span{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f3edff !important;
  font-size:22px !important;
}

.imp-mini-value strong{
  display:block !important;
  margin:0 0 4px !important;
  color:#11142d !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}

.imp-mini-value p{
  margin:0 !important;
  color:#62667a !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

@media(max-width:950px){
  .imp-mini-values-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:640px){
  .imp-mini-values-grid{
    grid-template-columns:1fr !important;
  }
}


/* BENEFICIOS SVG ELEGANTES V1.9.1 */
.imp-benefit-svg{
  color:#5b18d6 !important;
}

.imp-benefit-svg svg{
  width:24px !important;
  height:24px !important;
  display:block !important;
}

.imp-benefit-svg svg path,
.imp-benefit-svg svg circle{
  stroke:#5b18d6 !important;
  fill:none !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}


/* BENEFICIOS CON CAJETILLAS V1.9.2 */
.imp-benefits{
  padding:22px 0 36px !important;
}

.imp-benefits-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:14px !important;
}

.imp-benefits-grid > div{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-height:92px !important;
  padding:18px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 10px 24px rgba(17,24,39,.045) !important;
}

.imp-benefits-grid > div > span,
.imp-benefits-grid > div > .imp-benefit-svg{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f3edff !important;
}

.imp-benefits-grid > div strong{
  display:block !important;
  margin:0 0 4px !important;
  color:#11142d !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}

.imp-benefits-grid > div p{
  margin:0 !important;
  color:#62667a !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

.imp-benefits-grid .imp-benefit-svg svg{
  width:24px !important;
  height:24px !important;
}

@media(max-width:950px){
  .imp-benefits-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:640px){
  .imp-benefits-grid{
    grid-template-columns:1fr !important;
  }
}


/* FIX BENEFICIOS ESPACIADOS V1.9.3 */
.imp-benefits-grid{
  gap:18px !important;
}

.imp-benefits-grid > div{
  align-items:flex-start !important;
  min-height:126px !important;
  padding:24px 22px !important;
  border-radius:22px !important;
}

.imp-benefits-grid > div > span,
.imp-benefits-grid > div > .imp-benefit-svg{
  margin-top:2px !important;
}

.imp-benefits-grid > div strong{
  margin-bottom:8px !important;
  font-size:14px !important;
  line-height:1.35 !important;
  letter-spacing:-0.01em !important;
}

.imp-benefits-grid > div p{
  font-size:13px !important;
  line-height:1.65 !important;
  max-width:220px !important;
}

@media(max-width:1200px){
  .imp-benefits-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:640px){
  .imp-benefits-grid{
    grid-template-columns:1fr !important;
  }

  .imp-benefits-grid > div{
    min-height:auto !important;
  }
}


/* BENEFICIOS SOLO TITULO V1.9.4 */
.imp-benefits-grid > div{
  min-height:96px !important;
  align-items:center !important;
  padding:22px !important;
}

.imp-benefits-grid > div strong{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.3 !important;
}

.imp-benefits-grid > div p{
  display:none !important;
}


.imp-double-promos{
  padding:34px 0 40px !important;
}

.imp-double-promos-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:24px !important;
}

.imp-double-promo{
  min-height:240px !important;
  border-radius:28px !important;
  padding:34px !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 18px 40px rgba(17,24,39,.07) !important;
}

.imp-double-promo-purple{
  background:linear-gradient(135deg,#efe8ff 0%,#faf7ff 58%,#ffffff 100%) !important;
}

.imp-double-promo-yellow{
  background:linear-gradient(135deg,#fff0a8 0%,#fff8d7 58%,#ffffff 100%) !important;
}

.imp-double-promo-copy h3{
  margin:0 0 10px !important;
  font-size:36px !important;
  line-height:1.02 !important;
}

.imp-double-promo-copy strong{
  display:block !important;
  margin-bottom:14px !important;
  color:#5b18d6 !important;
  font-size:38px !important;
  font-weight:900 !important;
}

@media(max-width:900px){
  .imp-double-promos-grid{
    grid-template-columns:1fr !important;
  }
}


/* PORTFOLIO PÁGINA SEGURA V2.1.3 */
.imp-portfolio-template{
  background:linear-gradient(180deg,#ffffff 0%,#f8f6ff 100%) !important;
}

.imp-portfolio-hero{
  padding:72px 0 30px !important;
}

.imp-portfolio-hero span{
  display:inline-flex !important;
  margin-bottom:14px !important;
  color:#5b18d6 !important;
  font-size:13px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-portfolio-hero h1{
  max-width:840px !important;
  margin:0 0 18px !important;
  color:#11142d !important;
  font-size:clamp(42px,5vw,72px) !important;
  line-height:.95 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

.imp-portfolio-hero p{
  max-width:650px !important;
  margin:0 !important;
  color:#30354a !important;
  font-size:18px !important;
  line-height:1.6 !important;
}

.imp-portfolio-content{
  padding:20px 0 80px !important;
}

.imp-portfolio-content .wp-block-gallery,
.imp-portfolio-content .blocks-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.imp-portfolio-content figure.wp-block-image,
.imp-portfolio-content .wp-block-gallery figure{
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  box-shadow:0 16px 40px rgba(17,24,39,.075) !important;
  border:1px solid rgba(17,24,39,.06) !important;
}

.imp-portfolio-content figure.wp-block-image img,
.imp-portfolio-content .wp-block-gallery img{
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  display:block !important;
  transition:transform .35s ease !important;
}

.imp-portfolio-content figure:hover img{
  transform:scale(1.04) !important;
}

.imp-portfolio-content .wp-block-gallery figcaption,
.imp-portfolio-content figure.wp-block-image figcaption{
  background:rgba(17,20,45,.82) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:800 !important;
  padding:12px 14px !important;
}

.imp-portfolio-empty{
  background:#fff !important;
  border-radius:24px !important;
  padding:34px !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 16px 40px rgba(17,24,39,.06) !important;
}

.imp-portfolio-empty h2{
  margin:0 0 10px !important;
  color:#11142d !important;
}

.imp-portfolio-empty p{
  margin:0 !important;
  color:#62667a !important;
}

@media(max-width:950px){
  .imp-portfolio-content .wp-block-gallery,
  .imp-portfolio-content .blocks-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:640px){
  .imp-portfolio-hero{
    padding:48px 0 24px !important;
  }

  .imp-portfolio-content .wp-block-gallery,
  .imp-portfolio-content .blocks-gallery-grid{
    grid-template-columns:1fr !important;
  }
}


/* PORTFOLIO DISEÑO IMPRESIONA V2.1.4 */
.imp-portfolio-template{
  background:#fff !important;
  color:#11142d !important;
}

.imp-portfolio-hero{
  padding:72px 0 42px !important;
  background:
    radial-gradient(circle at 80% 10%, rgba(255,213,74,.45) 0 18%, transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8f6ff 100%) !important;
  overflow:hidden !important;
}

.imp-portfolio-hero-inner{
  display:grid !important;
  grid-template-columns:1.05fr .95fr !important;
  gap:44px !important;
  align-items:center !important;
}

.imp-portfolio-hero-copy span{
  display:inline-flex !important;
  margin-bottom:16px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:#f0e9ff !important;
  color:#5b18d6 !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-portfolio-hero-copy h1{
  margin:0 0 18px !important;
  max-width:760px !important;
  color:#11142d !important;
  font-size:clamp(46px,5.6vw,82px) !important;
  line-height:.9 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
}

.imp-portfolio-hero-copy p{
  margin:0 0 28px !important;
  max-width:590px !important;
  color:#30354a !important;
  font-size:18px !important;
  line-height:1.6 !important;
}

.imp-portfolio-cta{
  display:inline-flex !important;
  min-height:52px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 22px !important;
  border-radius:14px !important;
  background:#5b18d6 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:900 !important;
  box-shadow:0 16px 30px rgba(91,24,214,.22) !important;
}

.imp-portfolio-hero-card{
  position:relative !important;
  min-height:430px !important;
}

.imp-portfolio-stack{
  position:absolute !important;
  border-radius:28px !important;
  box-shadow:0 24px 60px rgba(17,24,39,.14) !important;
  border:1px solid rgba(255,255,255,.65) !important;
}

.stack-one{
  width:64% !important;
  height:72% !important;
  right:10% !important;
  top:5% !important;
  background:linear-gradient(135deg,#5b18d6 0%,#8d5cff 100%) !important;
  transform:rotate(5deg) !important;
}

.stack-two{
  width:58% !important;
  height:60% !important;
  left:8% !important;
  top:22% !important;
  background:linear-gradient(135deg,#ffd54a 0%,#fff3b1 100%) !important;
  transform:rotate(-7deg) !important;
}

.stack-three{
  width:52% !important;
  height:46% !important;
  right:5% !important;
  bottom:4% !important;
  background:linear-gradient(135deg,#ffffff 0%,#f3edff 100%) !important;
  transform:rotate(-2deg) !important;
}

.imp-portfolio-cats{
  padding:0 0 34px !important;
  margin-top:-28px !important;
  position:relative !important;
  z-index:3 !important;
}

.imp-portfolio-cats-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
}

.imp-portfolio-cats-grid div{
  min-height:92px !important;
  padding:18px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 12px 30px rgba(17,24,39,.06) !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

.imp-portfolio-cats-grid span{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  background:#f3edff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:22px !important;
}

.imp-portfolio-cats-grid strong{
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#11142d !important;
}

.imp-portfolio-content{
  padding:10px 0 80px !important;
  background:#fff !important;
}

.imp-portfolio-showcase{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:260px !important;
  gap:18px !important;
}

.imp-work-card{
  position:relative !important;
  overflow:hidden !important;
  border-radius:26px !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 16px 40px rgba(17,24,39,.075) !important;
}

.imp-work-large{
  grid-column:span 2 !important;
  grid-row:span 2 !important;
}

.imp-work-wide{
  grid-column:span 2 !important;
}

.imp-work-art{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:clamp(34px,4vw,68px) !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.05em !important;
  color:#fff !important;
}

.imp-work-purple{background:linear-gradient(135deg,#5b18d6 0%,#9b7cff 100%) !important;}
.imp-work-yellow{background:linear-gradient(135deg,#ffd54a 0%,#fff3b1 100%) !important;color:#11142d !important;}
.imp-work-pink{background:linear-gradient(135deg,#ec2e7b 0%,#ff96c2 100%) !important;}
.imp-work-green{background:linear-gradient(135deg,#35a85a 0%,#b6ffd0 100%) !important;color:#11142d !important;}
.imp-work-blue{background:linear-gradient(135deg,#2f80ed 0%,#a9d4ff 100%) !important;}

.imp-work-info{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
  padding:14px 16px !important;
  border-radius:16px !important;
  background:rgba(17,20,45,.78) !important;
  color:#fff !important;
  backdrop-filter:blur(8px) !important;
}

.imp-work-info span{
  display:block !important;
  margin-bottom:5px !important;
  color:#ffd54a !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}

.imp-work-info h3{
  margin:0 !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.18 !important;
  font-weight:900 !important;
}

.imp-portfolio-note{
  margin-top:24px !important;
  padding:26px !important;
  border-radius:22px !important;
  background:#f8f6ff !important;
  border:1px solid rgba(91,24,214,.12) !important;
}

.imp-portfolio-note h2{
  margin:0 0 8px !important;
  color:#11142d !important;
  font-size:24px !important;
}

.imp-portfolio-note p{
  margin:0 !important;
  color:#30354a !important;
  font-size:15px !important;
  line-height:1.6 !important;
}

/* Galería WordPress dentro del portfolio */
.imp-portfolio-content .wp-block-gallery{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.imp-portfolio-content .wp-block-gallery figure{
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  box-shadow:0 16px 40px rgba(17,24,39,.075) !important;
}

.imp-portfolio-content .wp-block-gallery img{
  width:100% !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  display:block !important;
}

@media(max-width:1000px){
  .imp-portfolio-hero-inner{
    grid-template-columns:1fr !important;
  }

  .imp-portfolio-hero-card{
    min-height:300px !important;
  }

  .imp-portfolio-cats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .imp-portfolio-showcase{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:640px){
  .imp-portfolio-hero{
    padding:48px 0 36px !important;
  }

  .imp-portfolio-cats-grid,
  .imp-portfolio-showcase,
  .imp-portfolio-content .wp-block-gallery{
    grid-template-columns:1fr !important;
  }

  .imp-work-large,
  .imp-work-wide{
    grid-column:auto !important;
    grid-row:auto !important;
  }

  .imp-portfolio-showcase{
    grid-auto-rows:240px !important;
  }
}


/* PORTFOLIO DINÁMICO JSON FIX V2.1.7 */
.imp-portfolio{
  padding:70px 0 !important;
}

.imp-portfolio-head{
  text-align:center !important;
  margin-bottom:34px !important;
}

.imp-portfolio-head span{
  display:inline-block !important;
  margin-bottom:10px !important;
  color:#5b18d6 !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-portfolio-head h2{
  margin:0 0 10px !important;
  color:#11142d !important;
  font-size:36px !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}

.imp-portfolio-head p{
  margin:0 auto !important;
  max-width:560px !important;
  color:#5f6472 !important;
  font-size:16px !important;
  line-height:1.55 !important;
}

.imp-portfolio-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:24px !important;
}

.imp-portfolio-card{
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  border-radius:26px !important;
  overflow:hidden !important;
  box-shadow:0 16px 38px rgba(17,24,39,.08) !important;
}

.imp-portfolio-image{
  aspect-ratio:4/3 !important;
  overflow:hidden !important;
  background:#f6f4ff !important;
}

.imp-portfolio-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.imp-portfolio-content{
  padding:22px !important;
}

.imp-portfolio-content h3{
  margin:0 0 8px !important;
  color:#11142d !important;
  font-size:20px !important;
  font-weight:900 !important;
}

.imp-portfolio-content p{
  margin:0 !important;
  color:#5f6472 !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

@media(max-width:950px){
  .imp-portfolio-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:650px){
  .imp-portfolio-grid{
    grid-template-columns:1fr !important;
  }
}


/* PORTFOLIO ESTRUCTURA FIJA V2.1.9 */
.imp-portfolio{
  padding:72px 0 !important;
  background:#fff !important;
}

.imp-portfolio-head{
  text-align:center !important;
  margin-bottom:34px !important;
}

.imp-portfolio-head span{
  display:inline-block !important;
  margin-bottom:10px !important;
  color:#5b18d6 !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-portfolio-head h2{
  margin:0 !important;
  color:#11142d !important;
  font-size:clamp(32px,4vw,46px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
}

.imp-portfolio-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
}

.imp-portfolio-card{
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  border-radius:28px !important;
  overflow:hidden !important;
  box-shadow:0 18px 42px rgba(17,24,39,.08) !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
}

.imp-portfolio-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 22px 52px rgba(17,24,39,.12) !important;
}

.imp-portfolio-image{
  aspect-ratio:4/3 !important;
  overflow:hidden !important;
  background:#f6f4ff !important;
}

.imp-portfolio-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.imp-portfolio-content{
  padding:22px 22px 24px !important;
}

.imp-portfolio-content h3{
  margin:0 0 8px !important;
  color:#11142d !important;
  font-size:20px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
}

.imp-portfolio-content p{
  margin:0 !important;
  color:#5f6472 !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

.imp-portfolio .wp-block-gallery,
.imp-portfolio .gallery{
  display:none !important;
}

@media(max-width:950px){
  .imp-portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:650px){
  .imp-portfolio-grid{
    grid-template-columns:1fr !important;
  }
}


/* PORTFOLIO LIGHTBOX SIN TÍTULOS V2.2.1 */
.imp-portfolio-card{
  cursor:pointer !important;
}

.imp-portfolio-card .imp-portfolio-content{
  display:none !important;
}

.imp-portfolio-image{
  display:block !important;
  aspect-ratio:4/3 !important;
}

.imp-portfolio-image img{
  transition:transform .25s ease !important;
}

.imp-portfolio-card:hover .imp-portfolio-image img{
  transform:scale(1.04) !important;
}

.imp-portfolio-lightbox{
  position:fixed !important;
  inset:0 !important;
  background:rgba(10,12,24,.82) !important;
  backdrop-filter:blur(5px) !important;
  z-index:999999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:32px !important;
  opacity:0 !important;
  visibility:hidden !important;
  transition:.22s ease !important;
}

.imp-portfolio-lightbox.active{
  opacity:1 !important;
  visibility:visible !important;
}

.imp-portfolio-lightbox img{
  max-width:min(1100px, 94vw) !important;
  max-height:88vh !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:20px !important;
  box-shadow:0 24px 80px rgba(0,0,0,.35) !important;
  background:#fff !important;
}

.imp-portfolio-lightbox-close{
  position:absolute !important;
  top:24px !important;
  right:28px !important;
  width:46px !important;
  height:46px !important;
  border:none !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#11142d !important;
  font-size:32px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}


/* PORTFOLIO IMAGEN COMPLETA V2.2.2 */
.imp-portfolio-image{
  background:#f7f5ff !important;
  aspect-ratio:4/3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px !important;
}

.imp-portfolio-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
}

.imp-portfolio-card:hover .imp-portfolio-image img{
  transform:scale(1.02) !important;
}


/* PORTFOLIO SIN TITULO V2.2.3 */
.imp-portfolio{
  padding-top:36px !important;
}

.imp-portfolio-grid{
  margin-top:0 !important;
}


/* PORTFOLIO LABEL ONLY V2.2.4 */
.imp-portfolio-head{
  text-align:center !important;
  margin-bottom:20px !important;
}

.imp-portfolio-head span{
  display:inline-block !important;
  color:#5b18d6 !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}


/* NUESTROS TRABAJOS V2.2.5 */
.imp-portfolio-head{
  text-align:center !important;
  margin-bottom:24px !important;
}

.imp-portfolio-head span{
  display:inline-block !important;
  color:#5b18d6 !important;
  font-size:24px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
  text-transform:none !important;
}


/* CTA PORTFOLIO V2.2.6 */
.imp-portfolio-cta{
  margin:0 auto 34px !important;
  padding:38px !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,#efe8ff 0%,#f8f5ff 60%,#ffffff 100%) !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 18px 42px rgba(17,24,39,.08) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:30px !important;
  overflow:hidden !important;
  position:relative !important;
}

.imp-portfolio-cta:before{
  content:"" !important;
  position:absolute !important;
  right:-80px !important;
  top:-80px !important;
  width:220px !important;
  height:220px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.5) !important;
}

.imp-portfolio-cta-copy{
  position:relative !important;
  z-index:2 !important;
  max-width:520px !important;
}

.imp-portfolio-cta-copy span{
  display:inline-block !important;
  margin-bottom:12px !important;
  color:#5b18d6 !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-portfolio-cta-copy h2{
  margin:0 0 14px !important;
  color:#11142d !important;
  font-size:clamp(34px,4vw,52px) !important;
  line-height:1 !important;
  letter-spacing:-.05em !important;
  font-weight:950 !important;
}

.imp-portfolio-cta-copy p{
  margin:0 0 22px !important;
  color:#5f6472 !important;
  font-size:16px !important;
  line-height:1.6 !important;
  max-width:460px !important;
}

.imp-portfolio-cta-btn{
  min-height:50px !important;
  padding:0 22px !important;
  border-radius:14px !important;
  background:#5b18d6 !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:0 14px 28px rgba(91,24,214,.22) !important;
}

.imp-portfolio-cta-visual{
  position:relative !important;
  width:280px !important;
  height:200px !important;
  flex-shrink:0 !important;
}

.imp-portfolio-card-mini{
  position:absolute !important;
  width:180px !important;
  height:120px !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 18px 36px rgba(17,24,39,.12) !important;
  transform:rotate(-10deg) !important;
  top:40px !important;
  left:30px !important;
}

.imp-portfolio-card-mini.second{
  background:#f4ecff !important;
  transform:rotate(6deg) !important;
  top:18px !important;
  left:72px !important;
}

.imp-portfolio-card-mini.third{
  background:#ffffff !important;
  transform:rotate(-2deg) !important;
  top:62px !important;
  left:92px !important;
}

@media(max-width:850px){
  .imp-portfolio-cta{
    flex-direction:column !important;
    align-items:flex-start !important;
    padding:30px !important;
  }

  .imp-portfolio-cta-visual{
    width:220px !important;
    height:160px !important;
    margin-left:auto !important;
  }
}


/* BANNER VISUAL PORTFOLIO V2.2.7 */

.imp-visual-cta{
  padding:10px 0 34px !important;
}

.imp-visual-cta-content{
  overflow:hidden !important;
  border-radius:34px !important;
  background:#111 !important;
  display:grid !important;
  grid-template-columns:1fr 1.2fr !important;
  align-items:center !important;
  min-height:520px !important;
  box-shadow:0 24px 60px rgba(17,20,45,.14) !important;
}

.imp-visual-cta-copy{
  padding:70px !important;
  color:#fff !important;
}

.imp-visual-cta-copy span{
  display:inline-block !important;
  margin-bottom:18px !important;
  color:#9b6bff !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.imp-visual-cta-copy h2{
  margin:0 0 18px !important;
  font-size:clamp(54px,6vw,78px) !important;
  line-height:.92 !important;
  font-weight:950 !important;
  letter-spacing:-.05em !important;
  color:#fff !important;
}

.imp-visual-cta-copy strong{
  color:#8b5cf6 !important;
}

.imp-visual-cta-copy p{
  max-width:430px !important;
  margin:0 !important;
  color:#d1d5db !important;
  font-size:18px !important;
  line-height:1.6 !important;
}

.imp-visual-cta-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:30px !important;
  min-height:56px !important;
  padding:0 26px !important;
  border-radius:999px !important;
  background:#8b5cf6 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:800 !important;
  box-shadow:0 16px 34px rgba(139,92,246,.28) !important;
}

.imp-visual-cta-image{
  height:100% !important;
}

.imp-visual-cta-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

@media(max-width:980px){

  .imp-visual-cta-content{
    grid-template-columns:1fr !important;
  }

  .imp-visual-cta-copy{
    padding:42px 28px !important;
  }

  .imp-visual-cta-copy h2{
    font-size:52px !important;
  }
}


/* BANNER ANCHO + PORTFOLIO CENTRADO V2.2.8 */

.imp-visual-cta{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 0 40px !important;
}

.imp-visual-cta-content{
  width:100% !important;
  border-radius:0 !important;
  min-height:620px !important;
}

.imp-visual-cta-copy{
  padding-left:clamp(40px,8vw,140px) !important;
  padding-right:40px !important;
}

.imp-portfolio{
  max-width:1320px !important;
  margin:0 auto !important;
  padding:50px 24px 80px !important;
}

.imp-portfolio-grid{
  max-width:1180px !important;
  margin:0 auto !important;
  grid-template-columns:repeat(3,minmax(0,340px)) !important;
  justify-content:center !important;
  gap:28px !important;
}

.imp-portfolio-card{
  width:100% !important;
}

@media(max-width:1100px){

  .imp-portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,340px)) !important;
  }
}

@media(max-width:780px){

  .imp-visual-cta-content{
    min-height:auto !important;
    border-radius:0 0 28px 28px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:minmax(0,380px) !important;
  }
}


/* AJUSTE BANNER + PORTFOLIO V2.2.9 */

/* Banner centrado, más integrado y con fondo blanco */
.imp-visual-cta{
  width:auto !important;
  max-width:1440px !important;
  margin:0 auto !important;
  padding:28px 24px 48px !important;
  background:#fff !important;
}

.imp-visual-cta-content{
  width:100% !important;
  min-height:520px !important;
  border-radius:34px !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 20px 52px rgba(17,24,39,.08) !important;
  overflow:hidden !important;
}

.imp-visual-cta-copy{
  padding:60px !important;
  color:#11142d !important;
}

.imp-visual-cta-copy span{
  color:#5b18d6 !important;
}

.imp-visual-cta-copy h2{
  color:#11142d !important;
}

.imp-visual-cta-copy strong{
  color:#5b18d6 !important;
}

.imp-visual-cta-copy p{
  color:#5f6472 !important;
}

.imp-visual-cta-image{
  background:#f7f4ff !important;
}

.imp-visual-cta-image img{
  opacity:.96 !important;
}

/* Portfolio más grande y visual */
.imp-portfolio{
  max-width:1480px !important;
  margin:0 auto !important;
  padding:54px 28px 86px !important;
}

.imp-portfolio-grid{
  max-width:1380px !important;
  margin:0 auto !important;
  grid-template-columns:repeat(3,minmax(0,420px)) !important;
  justify-content:center !important;
  gap:34px !important;
}

.imp-portfolio-card{
  border-radius:30px !important;
  box-shadow:0 18px 46px rgba(17,24,39,.09) !important;
}

.imp-portfolio-image{
  aspect-ratio:4/3 !important;
  padding:16px !important;
}

@media(max-width:1180px){
  .imp-portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,420px)) !important;
  }
}

@media(max-width:780px){
  .imp-visual-cta{
    padding:20px 16px 36px !important;
  }

  .imp-visual-cta-content{
    border-radius:26px !important;
  }

  .imp-visual-cta-copy{
    padding:34px 28px !important;
  }

  .imp-portfolio{
    padding:42px 16px 70px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:minmax(0,420px) !important;
    gap:24px !important;
  }
}


/* BANNER AJUSTADO AL PORTFOLIO V2.2.10 */

.imp-visual-cta{
  max-width:1480px !important;
  padding:28px 28px 0 !important;
}

.imp-visual-cta-content{
  margin-bottom:0 !important;
}

.imp-portfolio{
  padding-top:18px !important;
}

@media(max-width:780px){

  .imp-visual-cta{
    padding:20px 16px 0 !important;
  }

  .imp-portfolio{
    padding-top:10px !important;
  }
}


/* OVERFLOW FIX V2.2.11 */

.imp-visual-cta{
  overflow:hidden !important;
}

.imp-visual-cta-content{
  overflow:hidden !important;
  align-items:center !important;
}

.imp-visual-cta-image{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  overflow:hidden !important;
  min-height:100% !important;
}

.imp-visual-cta-image img{
  width:100% !important;
  max-width:760px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  display:block !important;
  margin:0 auto !important;
}

@media(max-width:980px){

  .imp-visual-cta-image img{
    max-width:100% !important;
  }
}


/* ALIGN FIX V2.2.12 */

.imp-visual-cta{
  width:100% !important;
  max-width:1480px !important;
  margin:0 auto !important;
  padding:28px 28px 8px !important;
  overflow:visible !important;
  background:transparent !important;
}

.imp-visual-cta-content{
  width:100% !important;
  max-width:1380px !important;
  margin:0 auto !important;

  display:grid !important;
  grid-template-columns:minmax(0,520px) minmax(0,1fr) !important;
  align-items:center !important;
  gap:30px !important;

  min-height:520px !important;

  border-radius:34px !important;
  border:1px solid rgba(17,24,39,.06) !important;
  background:#fff !important;
  box-shadow:0 20px 52px rgba(17,24,39,.08) !important;

  overflow:hidden !important;
}

.imp-visual-cta-copy{
  padding:60px 20px 60px 60px !important;
}

.imp-visual-cta-image{
  position:relative !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:100% !important;
  overflow:hidden !important;

  padding:24px 24px 0 !important;

  background:#faf8ff !important;
}

.imp-visual-cta-image img{
  width:100% !important;
  max-width:720px !important;
  height:auto !important;

  object-fit:contain !important;
  object-position:center bottom !important;

  display:block !important;
  margin:0 auto !important;
}

.imp-portfolio{
  max-width:1480px !important;
  margin:0 auto !important;
  padding:10px 28px 86px !important;
}

.imp-portfolio-grid{
  max-width:1380px !important;
  margin:0 auto !important;

  grid-template-columns:repeat(3,minmax(0,420px)) !important;
  justify-content:center !important;
  gap:32px !important;
}

@media(max-width:1180px){

  .imp-visual-cta-content{
    grid-template-columns:1fr !important;
  }

  .imp-visual-cta-copy{
    padding:44px 34px 10px !important;
  }

  .imp-visual-cta-image{
    padding:10px 24px 0 !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,420px)) !important;
  }
}

@media(max-width:780px){

  .imp-visual-cta{
    padding:18px 16px 0 !important;
  }

  .imp-visual-cta-content{
    border-radius:26px !important;
  }

  .imp-portfolio{
    padding:12px 16px 70px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:minmax(0,420px) !important;
    gap:24px !important;
  }
}


/* BANNER MISMO ANCHO QUE PORTFOLIO V2.2.13 */

.imp-visual-cta{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:24px 28px 8px !important;
}

.imp-visual-cta-content{
  max-width:100% !important;
  min-height:460px !important;
}

.imp-portfolio{
  max-width:1380px !important;
  margin:0 auto !important;
}

.imp-portfolio-grid{
  max-width:100% !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px !important;
}

@media(max-width:1180px){

  .imp-portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:780px){

  .imp-visual-cta{
    padding:18px 16px 0 !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:1fr !important;
  }
}


/* BANNER MÁS ANCHO V2.2.14 */

.imp-visual-cta{
  max-width:1520px !important;
  padding:24px 24px 10px !important;
}

.imp-visual-cta-content{
  max-width:1460px !important;
  min-height:500px !important;
}

.imp-portfolio{
  max-width:1380px !important;
}

.imp-portfolio-grid{
  max-width:1380px !important;
}


/* =========================================
   BANNER REALMENTE MÁS ANCHO V2.2.15
========================================= */

.imp-visual-cta{
    width:100% !important;
    max-width:1680px !important;
    margin:0 auto !important;
    padding:24px 24px 0 !important;
}

.imp-visual-cta .imp-visual-cta-content{
    width:100% !important;
    max-width:1680px !important;

    min-height:560px !important;

    display:grid !important;
    grid-template-columns: minmax(0,620px) minmax(0,1fr) !important;

    border-radius:36px !important;
}

.imp-visual-cta .imp-visual-cta-copy{
    padding:72px !important;
}

.imp-visual-cta .imp-visual-cta-image{
    padding:0 !important;
}

.imp-visual-cta .imp-visual-cta-image img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
}

.imp-portfolio{
    max-width:1380px !important;
    margin:0 auto !important;
}

@media(max-width:980px){

    .imp-visual-cta .imp-visual-cta-content{
        grid-template-columns:1fr !important;
        min-height:auto !important;
    }

    .imp-visual-cta .imp-visual-cta-copy{
        padding:40px 32px !important;
    }
}


/* =========================================
   BANNER PANORÁMICO V2.2.16
========================================= */

.imp-visual-cta{
    width:100% !important;
    max-width:1700px !important;
    margin:0 auto !important;
    padding:24px 24px 6px !important;
}

.imp-visual-cta .imp-visual-cta-content{

    width:100% !important;
    max-width:1700px !important;

    min-height:380px !important;
    height:380px !important;

    display:grid !important;
    grid-template-columns:minmax(0,560px) minmax(0,1fr) !important;

    border-radius:36px !important;

    overflow:hidden !important;
}

.imp-visual-cta .imp-visual-cta-copy{
    padding:54px 56px !important;
}

.imp-visual-cta .imp-visual-cta-copy h2{
    font-size:clamp(52px,5vw,72px) !important;
    line-height:.9 !important;
}

.imp-visual-cta .imp-visual-cta-copy p{
    font-size:16px !important;
    max-width:420px !important;
}

.imp-visual-cta .imp-visual-cta-image{
    height:100% !important;
    padding:0 !important;
}

.imp-visual-cta .imp-visual-cta-image img{
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center !important;

    display:block !important;
}

@media(max-width:980px){

    .imp-visual-cta .imp-visual-cta-content{
        grid-template-columns:1fr !important;
        height:auto !important;
        min-height:auto !important;
    }

    .imp-visual-cta .imp-visual-cta-copy{
        padding:40px 30px !important;
    }

    .imp-visual-cta .imp-visual-cta-image{
        min-height:260px !important;
    }
}


/* =========================================
   ULTRAWIDE BANNER V2.2.17
========================================= */

.imp-visual-cta{
    max-width:1920px !important;
    width:100% !important;

    padding-left:12px !important;
    padding-right:12px !important;
}

.imp-visual-cta .imp-visual-cta-content{

    max-width:1920px !important;
    width:100% !important;

    min-height:360px !important;
    height:360px !important;

    grid-template-columns:minmax(0,520px) minmax(0,1fr) !important;

    border-radius:32px !important;
}

.imp-visual-cta .imp-visual-cta-copy{
    padding:46px 52px !important;
}

.imp-visual-cta .imp-visual-cta-image img{
    object-fit:cover !important;
}

.imp-portfolio{
    max-width:1380px !important;
}

@media(max-width:980px){

    .imp-visual-cta{
        padding-left:16px !important;
        padding-right:16px !important;
    }

    .imp-visual-cta .imp-visual-cta-content{
        height:auto !important;
    }
}


/* =========================================
   AJUSTE FINAL ANCHO BANNER V2.2.18
========================================= */

.imp-visual-cta{
    max-width:1460px !important;
    width:100% !important;
    margin:0 auto !important;

    padding:24px 20px 6px !important;
}

.imp-visual-cta .imp-visual-cta-content{
    width:100% !important;
    max-width:none !important;

    min-height:380px !important;
    height:380px !important;

    border-radius:34px !important;

    overflow:hidden !important;
}

.imp-portfolio{
    max-width:1460px !important;
    margin:0 auto !important;

    padding-left:20px !important;
    padding-right:20px !important;
}

.imp-portfolio-grid{
    width:100% !important;
    max-width:none !important;

    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:30px !important;
}

@media(max-width:980px){

    .imp-visual-cta{
        padding:18px 16px 0 !important;
    }

    .imp-visual-cta .imp-visual-cta-content{
        height:auto !important;
        min-height:auto !important;
    }

    .imp-portfolio{
        padding-left:16px !important;
        padding-right:16px !important;
    }
}


/* SEPARACIÓN REAL ENTRE BANNER Y PORTFOLIO */

.imp-visual-cta{
    margin-bottom:42px !important;
}

.imp-portfolio{
    padding-top:0 !important;
}


/* BOTÓN CORREGIDO V2.2.22 */

.imp-visual-cta .imp-visual-cta-btn{
    margin-bottom:0 !important;
    margin-top:28px !important;
}


/* AJUSTE FINAL BOTÓN */

.imp-visual-cta .imp-visual-cta-btn{
    margin-top:18px !important;
    margin-bottom:14px !important;
}


/* FOTO REAL BANNER V2.2.24 */

.imp-visual-cta .imp-visual-cta-image{
    background:#f4f1ff !important;
    position:relative !important;
}

.imp-visual-cta .imp-visual-cta-image:after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(
      90deg,
      rgba(244,241,255,.12) 0%,
      rgba(244,241,255,0) 30%,
      rgba(0,0,0,.04) 100%
    ) !important;
    pointer-events:none !important;
}

.imp-visual-cta .imp-visual-cta-image img{
    object-fit:cover !important;
    object-position:center !important;
    filter:saturate(1.03) contrast(1.02) !important;
}

.imp-visual-cta .imp-visual-cta-content{
    border:1px solid rgba(91,24,214,.08) !important;
}


/* FORCE REAL IMAGE FIX V2.2.25 */

.imp-visual-cta .imp-visual-cta-image{
    background:#f5f2ff !important;
    overflow:hidden !important;
}

.imp-visual-cta .imp-visual-cta-image img{
    width:100% !important;
    height:100% !important;
    display:block !important;

    object-fit:cover !important;
    object-position:center center !important;
}


/* FOTO REAL DEFINITIVA V2.2.26 */

.imp-visual-cta-image{
    position:relative !important;
    overflow:hidden !important;
    background:#f5f2ff !important;
}

.imp-visual-cta-image img{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;

    display:block !important;

    object-fit:cover !important;
    object-position:center center !important;

    opacity:1 !important;
    visibility:visible !important;
}


/* MOBILE FIX PORTFOLIO / BANNER V2.2.27 */

@media(max-width: 768px){

  .imp-visual-cta{
    padding:18px 14px 28px !important;
    margin-bottom:28px !important;
  }

  .imp-visual-cta .imp-visual-cta-content{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:26px !important;
    overflow:hidden !important;
  }

  .imp-visual-cta .imp-visual-cta-copy{
    width:100% !important;
    padding:34px 26px 24px !important;
    text-align:left !important;
  }

  .imp-visual-cta .imp-visual-cta-copy span{
    font-size:12px !important;
    margin-bottom:12px !important;
  }

  .imp-visual-cta .imp-visual-cta-copy h2{
    font-size:42px !important;
    line-height:.95 !important;
    margin-bottom:14px !important;
  }

  .imp-visual-cta .imp-visual-cta-copy p{
    font-size:15px !important;
    line-height:1.55 !important;
    max-width:100% !important;
  }

  .imp-visual-cta .imp-visual-cta-btn{
    width:100% !important;
    min-height:52px !important;
    margin-top:20px !important;
    margin-bottom:0 !important;
    text-align:center !important;
  }

  .imp-visual-cta .imp-visual-cta-image{
    width:100% !important;
    height:260px !important;
    min-height:260px !important;
  }

  .imp-visual-cta .imp-visual-cta-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  .imp-portfolio{
    padding:0 14px 56px !important;
    max-width:100% !important;
  }

  .imp-portfolio-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
    max-width:520px !important;
    margin:0 auto !important;
  }

  .imp-portfolio-card{
    border-radius:24px !important;
  }

  .imp-portfolio-image{
    aspect-ratio:4/3 !important;
    padding:12px !important;
  }

  .imp-portfolio-lightbox{
    padding:18px !important;
  }

  .imp-portfolio-lightbox img{
    max-width:94vw !important;
    max-height:82vh !important;
    border-radius:16px !important;
  }

  .imp-portfolio-lightbox-close{
    top:14px !important;
    right:14px !important;
  }
}

@media(max-width: 420px){

  .imp-visual-cta .imp-visual-cta-copy{
    padding:30px 22px 22px !important;
  }

  .imp-visual-cta .imp-visual-cta-copy h2{
    font-size:37px !important;
  }

  .imp-visual-cta .imp-visual-cta-image{
    height:230px !important;
    min-height:230px !important;
  }
}


/* V2.2.28 - SIN PORTFOLIO EN HOME + MENÚ MÓVIL */
.imp-mobile-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:0;
  border-radius:12px;
  background:#5b18d6;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  margin-left:auto;
  z-index:100001;
}

.imp-mobile-menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:99px;
  background:#fff;
  transition:.2s ease;
}

.imp-mobile-menu-toggle.is-open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.imp-mobile-menu-toggle.is-open span:nth-child(2){
  opacity:0;
}

.imp-mobile-menu-toggle.is-open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

@media(max-width:900px){
  .imp-mobile-menu-toggle{
    display:flex !important;
  }

  header nav,
  .imp-nav,
  .main-navigation{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    width:min(84vw,360px) !important;
    height:100vh !important;
    background:#fff !important;
    box-shadow:-18px 0 50px rgba(17,24,39,.18) !important;
    padding:90px 26px 30px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:18px !important;
    transform:translateX(105%) !important;
    transition:transform .25s ease !important;
    z-index:100000 !important;
  }

  header nav.is-open,
  .imp-nav.is-open,
  .main-navigation.is-open{
    transform:translateX(0) !important;
  }

  header nav a,
  .imp-nav a,
  .main-navigation a{
    display:block !important;
    width:100% !important;
    color:#11142d !important;
    font-size:18px !important;
    font-weight:800 !important;
    padding:10px 0 !important;
  }

  body.imp-menu-open{
    overflow:hidden !important;
  }
}


/* MENÚ DESPLEGABLE REAL V2.2.29 */

@media(max-width:900px){

  header nav,
  .imp-nav,
  .main-navigation{

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transform:translateX(110%) !important;
  }

  header nav.is-open,
  .imp-nav.is-open,
  .main-navigation.is-open{

    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;

    transform:translateX(0) !important;
  }
}


/* SIN MENÚ MÓVIL V2.2.30 */

@media(max-width:900px){

  .imp-mobile-menu-toggle{
    display:none !important;
  }

  header nav,
  .imp-nav,
  .main-navigation{
    display:none !important;
  }
}


/* LOGO + WHATSAPP ALINEADOS MÓVIL V2.2.31 */

@media(max-width:768px){

  header,
  .site-header,
  .imp-header{
    min-height:auto !important;
  }

  header .container,
  .site-header .container,
  .imp-header .container,
  .imp-header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
  }

  .custom-logo,
  .custom-logo-link img,
  .site-logo img,
  .imp-logo img{
    max-height:42px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  .header-whatsapp,
  .imp-whatsapp-btn,
  a[href*="wa.me"],
  a[href*="whatsapp"]{
    min-height:42px !important;
    padding:0 16px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:12px !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }
}

@media(max-width:420px){

  .custom-logo,
  .custom-logo-link img,
  .site-logo img,
  .imp-logo img{
    max-height:36px !important;
  }

  .header-whatsapp,
  .imp-whatsapp-btn,
  a[href*="wa.me"],
  a[href*="whatsapp"]{
    min-height:38px !important;
    padding:0 13px !important;
    font-size:12px !important;
  }
}


/* AJUSTE TAMAÑO LOGO + WHATSAPP MÓVIL V2.2.32 */

@media(max-width:768px){

  .custom-logo,
  .custom-logo-link img,
  .site-logo img,
  .imp-logo img{
    max-height:52px !important;
    width:auto !important;
  }

  .header-whatsapp,
  .imp-whatsapp-btn,
  a[href*="wa.me"],
  a[href*="whatsapp"]{
    min-height:48px !important;
    padding:0 18px !important;
    font-size:14px !important;
    border-radius:14px !important;
  }
}

@media(max-width:420px){

  .custom-logo,
  .custom-logo-link img,
  .site-logo img,
  .imp-logo img{
    max-height:46px !important;
  }

  .header-whatsapp,
  .imp-whatsapp-btn,
  a[href*="wa.me"],
  a[href*="whatsapp"]{
    min-height:44px !important;
    padding:0 15px !important;
    font-size:13px !important;
  }
}


/* HEADER MÓVIL FINAL V2.2.33 */

@media(max-width:768px){

  header .container,
  .site-header .container,
  .imp-header .container,
  .imp-header-inner{
    align-items:center !important;
  }

  .custom-logo,
  .custom-logo-link img,
  .site-logo img,
  .imp-logo img{
    max-height:58px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  .header-whatsapp,
  .imp-whatsapp-btn,
  a[href*="wa.me"],
  a[href*="whatsapp"]{
    min-height:58px !important;
    padding:0 18px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    font-size:14px !important;
    line-height:1 !important;

    border-radius:16px !important;
  }
}

@media(max-width:420px){

  .custom-logo,
  .custom-logo-link img,
  .site-logo img,
  .imp-logo img{
    max-height:52px !important;
  }

  .header-whatsapp,
  .imp-whatsapp-btn,
  a[href*="wa.me"],
  a[href*="whatsapp"]{
    min-height:52px !important;
  }
}


/* CONTACTO + MENÚ V2.2.34 */

/* Botón Contacto en header, heredando posición del antiguo WhatsApp */
.header-whatsapp,
.imp-whatsapp-btn,
a[href="/contacto/"]{
  text-decoration:none !important;
}

/* Página Contacto */
.imp-contact-page{
  background:#fff !important;
}

.imp-contact-hero{
  padding:70px 0 90px !important;
}

.imp-contact-wrap{
  display:grid !important;
  grid-template-columns:1.1fr .9fr !important;
  gap:34px !important;
  align-items:stretch !important;
}

.imp-contact-copy{
  border-radius:34px !important;
  padding:56px !important;
  background:linear-gradient(135deg,#f4efff 0%,#ffffff 100%) !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 20px 52px rgba(17,24,39,.08) !important;
}

.imp-contact-copy span{
  display:inline-block !important;
  margin-bottom:16px !important;
  color:#5b18d6 !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-contact-copy h1{
  margin:0 0 18px !important;
  color:#11142d !important;
  font-size:clamp(48px,6vw,78px) !important;
  line-height:.95 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
}

.imp-contact-copy p{
  margin:0 0 28px !important;
  max-width:560px !important;
  color:#5f6472 !important;
  font-size:18px !important;
  line-height:1.65 !important;
}

.imp-contact-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
}

.imp-contact-btn{
  min-height:54px !important;
  padding:0 24px !important;
  border-radius:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

.imp-contact-btn-main{
  background:#5b18d6 !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(91,24,214,.22) !important;
}

.imp-contact-btn-light{
  background:#fff !important;
  color:#11142d !important;
  border:1px solid rgba(17,24,39,.08) !important;
}

.imp-contact-card{
  border-radius:34px !important;
  padding:42px !important;
  background:#11142d !important;
  color:#fff !important;
  box-shadow:0 20px 52px rgba(17,24,39,.12) !important;
}

.imp-contact-card h2{
  margin:0 0 28px !important;
  font-size:28px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  color:#fff !important;
}

.imp-contact-item{
  padding:18px 0 !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
}

.imp-contact-item strong{
  display:block !important;
  margin-bottom:6px !important;
  color:#bda8ff !important;
  font-size:13px !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}

.imp-contact-item a,
.imp-contact-item p{
  margin:0 !important;
  color:#fff !important;
  font-size:17px !important;
  line-height:1.4 !important;
  text-decoration:none !important;
}

.imp-contact-note{
  margin-top:22px !important;
  padding:18px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.08) !important;
  color:#e7e2ff !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

@media(max-width:900px){
  .imp-contact-hero{
    padding:34px 0 58px !important;
  }

  .imp-contact-wrap{
    grid-template-columns:1fr !important;
  }

  .imp-contact-copy,
  .imp-contact-card{
    padding:30px !important;
    border-radius:26px !important;
  }

  .imp-contact-actions{
    flex-direction:column !important;
  }

  .imp-contact-btn{
    width:100% !important;
  }
}


/* CONTACTO LIMPIO + MAPA V2.2.35 */

/* Tarjeta de datos más clara, sin bloque oscuro */
.imp-contact-card{
  background:#ffffff !important;
  color:#11142d !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 20px 52px rgba(17,24,39,.08) !important;
}

.imp-contact-card h2{
  color:#11142d !important;
}

.imp-contact-item{
  border-top:1px solid rgba(17,24,39,.08) !important;
}

.imp-contact-item strong{
  color:#5b18d6 !important;
}

.imp-contact-item a,
.imp-contact-item p{
  color:#11142d !important;
}

.imp-contact-note{
  background:#f5f1ff !important;
  color:#5f6472 !important;
}

/* Mapa inferior */
.imp-contact-map-section{
  padding:0 0 80px !important;
}

.imp-contact-map-link{
  display:grid !important;
  grid-template-columns:.8fr 1.2fr !important;
  gap:0 !important;
  overflow:hidden !important;
  border-radius:34px !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 20px 52px rgba(17,24,39,.08) !important;
  text-decoration:none !important;
  color:inherit !important;
}

.imp-contact-map-copy{
  padding:42px !important;
  background:linear-gradient(135deg,#f4efff 0%,#ffffff 100%) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.imp-contact-map-copy span{
  display:inline-block !important;
  margin-bottom:12px !important;
  color:#5b18d6 !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.imp-contact-map-copy h2{
  margin:0 0 12px !important;
  color:#11142d !important;
  font-size:34px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
}

.imp-contact-map-copy p{
  margin:0 !important;
  color:#5f6472 !important;
  font-size:16px !important;
  line-height:1.55 !important;
}

.imp-contact-map-preview{
  min-height:330px !important;
  background:#f5f1ff !important;
}

.imp-contact-map-preview iframe{
  width:100% !important;
  height:100% !important;
  min-height:330px !important;
  border:0 !important;
  display:block !important;
}

@media(max-width:900px){
  .imp-contact-map-section{
    padding:0 0 58px !important;
  }

  .imp-contact-map-link{
    grid-template-columns:1fr !important;
    border-radius:26px !important;
  }

  .imp-contact-map-copy{
    padding:30px !important;
  }

  .imp-contact-map-copy h2{
    font-size:28px !important;
  }

  .imp-contact-map-preview,
  .imp-contact-map-preview iframe{
    min-height:280px !important;
  }
}


/* BOTÓN COMO LLEGAR V2.2.36 */

.imp-contact-map-btn{
  margin-top:22px !important;

  min-height:52px !important;
  padding:0 22px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:16px !important;

  background:#5b18d6 !important;
  color:#fff !important;

  font-size:14px !important;
  font-weight:900 !important;
  text-decoration:none !important;

  box-shadow:0 14px 30px rgba(91,24,214,.20) !important;

  width:max-content !important;
}


/* COMO LLEGAR FIX V2.2.37 */

.imp-contact-map-link{
  display:block !important;
}

.imp-contact-map-box{
  display:grid !important;
  grid-template-columns:.8fr 1.2fr !important;
  gap:0 !important;
  overflow:hidden !important;
  border-radius:34px !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.06) !important;
  box-shadow:0 20px 52px rgba(17,24,39,.08) !important;
}

.imp-contact-map-btn{
  margin-top:22px !important;
  min-height:52px !important;
  padding:0 22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:16px !important;
  background:#5b18d6 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:0 14px 30px rgba(91,24,214,.20) !important;
  width:auto !important;
  max-width:max-content !important;
}

@media(max-width:900px){
  .imp-contact-map-box{
    grid-template-columns:1fr !important;
    border-radius:26px !important;
  }

  .imp-contact-map-btn{
    width:100% !important;
    max-width:none !important;
  }
}


/* MENOS ESPACIO COMO LLEGAR V2.2.41 */

.imp-contact-map-section{
    padding-top:12px !important;
    margin-top:-18px !important;
}

@media(max-width:900px){

    .imp-contact-map-section{
        padding-top:8px !important;
        margin-top:-10px !important;
    }
}


/* EFECTO AMARILLO BLOQUE INFORMACIÓN V2.2.42 */

.imp-contact-card{
    position:relative !important;
    overflow:hidden !important;
}

.imp-contact-card::before{
    content:"" !important;
    position:absolute !important;

    top:-120px !important;
    right:-120px !important;

    width:260px !important;
    height:260px !important;

    border-radius:999px !important;

    background:radial-gradient(
      circle,
      rgba(255,210,74,.42) 0%,
      rgba(255,210,74,.16) 38%,
      rgba(255,210,74,0) 72%
    ) !important;

    pointer-events:none !important;
    z-index:0 !important;
}

.imp-contact-card > *{
    position:relative !important;
    z-index:1 !important;
}


/* AMARILLO POTENTE V2.2.43 */

.imp-contact-card::before{

    top:-170px !important;
    right:-170px !important;

    width:420px !important;
    height:420px !important;

    background:radial-gradient(
      circle,
      rgba(255,214,51,.92) 0%,
      rgba(255,214,51,.72) 22%,
      rgba(255,214,51,.42) 42%,
      rgba(255,214,51,.16) 62%,
      rgba(255,214,51,0) 78%
    ) !important;

    filter:blur(10px) !important;
}


/* GRADIENTE AMARILLO ESTILO BLOQUE IZQUIERDA V2.2.44 */

.imp-contact-card{
    background:linear-gradient(
      135deg,
      #fff8df 0%,
      #ffffff 55%,
      #fff2b8 100%
    ) !important;

    border:1px solid rgba(255,208,51,.24) !important;
}

.imp-contact-card::before{

    top:-140px !important;
    right:-140px !important;

    width:360px !important;
    height:360px !important;

    background:radial-gradient(
      circle,
      rgba(255,210,51,.72) 0%,
      rgba(255,210,51,.44) 34%,
      rgba(255,210,51,.18) 54%,
      rgba(255,210,51,0) 74%
    ) !important;

    filter:blur(18px) !important;
}

.imp-contact-card h2,
.imp-contact-item a,
.imp-contact-item p{
    color:#11142d !important;
}

.imp-contact-item strong{
    color:#c28a00 !important;
}


/* BLOQUE CONTACTO ESTILO PROMOCIÓN AMARILLO V2.2.45 */

.imp-contact-card{
    position:relative !important;
    overflow:hidden !important;

    background:linear-gradient(
      135deg,
      #ffd84a 0%,
      #ffcc1f 52%,
      #ffdf6b 100%
    ) !important;

    border:0 !important;

    box-shadow:
      0 24px 60px rgba(255,196,0,.24),
      0 10px 26px rgba(17,24,39,.08) !important;
}

.imp-contact-card::before{
    content:"" !important;

    position:absolute !important;

    top:-120px !important;
    right:-120px !important;

    width:320px !important;
    height:320px !important;

    border-radius:999px !important;

    background:radial-gradient(
      circle,
      rgba(255,255,255,.58) 0%,
      rgba(255,255,255,.22) 36%,
      rgba(255,255,255,0) 72%
    ) !important;

    filter:blur(14px) !important;
}

.imp-contact-card h2,
.imp-contact-item a,
.imp-contact-item p{
    color:#11142d !important;
}

.imp-contact-item{
    border-top:1px solid rgba(17,24,39,.10) !important;
}

.imp-contact-item strong{
    color:#8a5d00 !important;
}

.imp-contact-card > *{
    position:relative !important;
    z-index:1 !important;
}

/* REDES SOCIALES REAL FIX V2.2.48 */
.imp-social-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
}


/* FOOTER FINAL V2.2.49 */
.imp-footer{
  padding:64px 0 38px !important;
  background:#11142d !important;
  color:#fff !important;
  margin-top:40px !important;
}

.imp-footer-grid{
  display:grid !important;
  grid-template-columns:1.25fr .8fr .9fr 1.15fr !important;
  gap:34px !important;
  align-items:flex-start !important;
}

.imp-footer-brand h2{
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  text-transform:lowercase !important;
}

.imp-footer-brand p{
  margin:0 0 26px !important;
  color:#d8d1ff !important;
  font-size:15px !important;
  font-weight:700 !important;
}

.imp-footer-brand small{
  display:block !important;
  color:rgba(255,255,255,.62) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.imp-footer-col h3{
  margin:0 0 16px !important;
  color:#ffd84a !important;
  font-size:15px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}

.imp-footer-col a,
.imp-footer-col p{
  display:block !important;
  margin:0 0 10px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:14px !important;
  line-height:1.5 !important;
  text-decoration:none !important;
}

.imp-footer-col a:hover{
  color:#fff !important;
}

.imp-footer-contact a{
  word-break:break-word !important;
}

@media(max-width:950px){
  .imp-footer-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:640px){
  .imp-footer{
    padding:46px 0 30px !important;
  }

  .imp-footer-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .imp-footer-brand h2{
    font-size:30px !important;
  }
}


/* FOOTER LEGAL V2.2.50 */

.imp-footer-grid{
  grid-template-columns:1.1fr .9fr .9fr 1fr 1.1fr !important;
}

.imp-footer-bottom{
  margin-top:44px !important;
  padding-top:22px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.imp-footer-bottom .imp-container{
  color:rgba(255,255,255,.62) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

@media(max-width:1150px){
  .imp-footer-grid{
    grid-template-columns:1fr 1fr 1fr !important;
  }
}

@media(max-width:820px){
  .imp-footer-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:640px){
  .imp-footer-grid{
    grid-template-columns:1fr !important;
  }

  .imp-footer-bottom{
    margin-top:30px !important;
    padding-top:18px !important;
  }
}


/* FOOTER LIMPIO V2.2.51 */

.imp-footer-grid{
    grid-template-columns:1fr 1fr 1fr 1.2fr !important;
    align-items:flex-start !important;
}

.imp-footer-contact{
    margin-top:-2px !important;
}

@media(max-width:1000px){

    .imp-footer-grid{
        grid-template-columns:1fr 1fr !important;
    }
}

@media(max-width:640px){

    .imp-footer-grid{
        grid-template-columns:1fr !important;
    }

    .imp-footer-contact{
        margin-top:0 !important;
    }
}


/* FOOTER MINIMAL V2.2.52 */

.imp-footer-grid{
    grid-template-columns:1fr 1.1fr !important;
    gap:70px !important;
    justify-content:space-between !important;
}

.imp-footer-col{
    max-width:520px !important;
}

.imp-footer-contact{
    margin-left:auto !important;
}

@media(max-width:820px){

    .imp-footer-grid{
        grid-template-columns:1fr !important;
        gap:34px !important;
    }

    .imp-footer-contact{
        margin-left:0 !important;
    }
}


/* FOOTER DESDE BASE BUENA V2.2.52 - V2.2.61 */
.imp-footer-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:72px !important;
  align-items:flex-start !important;
}

.imp-footer-col{
  max-width:420px !important;
}

.imp-footer-contact{
  margin-left:0 !important;
}

@media(max-width:980px){
  .imp-footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:42px !important;
  }
}

@media(max-width:680px){
  .imp-footer-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
}


/* FOOTER CENTRADO + ESPACIADO V2.2.62 */

.imp-footer .imp-container{
    max-width:1380px !important;
}

.imp-footer-grid{
    justify-content:center !important;
    justify-items:center !important;

    grid-template-columns:
      minmax(240px, 320px)
      minmax(240px, 320px)
      minmax(240px, 320px) !important;

    gap:120px !important;

    text-align:center !important;
}

.imp-footer-col{
    width:100% !important;
    max-width:320px !important;
    margin:0 auto !important;
}

.imp-footer-col h3{
    text-align:center !important;
}

.imp-footer-col a,
.imp-footer-col p{
    text-align:center !important;
}

@media(max-width:1100px){

    .imp-footer-grid{
        gap:70px !important;
    }
}

@media(max-width:980px){

    .imp-footer-grid{
        grid-template-columns:1fr 1fr !important;
        gap:46px !important;
    }
}

@media(max-width:680px){

    .imp-footer-grid{
        grid-template-columns:1fr !important;
        gap:34px !important;
    }
}


/* HORARIO EN COLUMNA DERECHA V2.2.63 */

.imp-footer-grid{
    grid-template-columns:
      minmax(220px, 300px)
      minmax(220px, 300px)
      minmax(220px, 300px)
      minmax(180px, 240px) !important;

    gap:90px !important;
}

.imp-footer-hours{
    text-align:center !important;
}

@media(max-width:1200px){

    .imp-footer-grid{
        gap:60px !important;
    }
}

@media(max-width:980px){

    .imp-footer-grid{
        grid-template-columns:1fr 1fr !important;
    }
}

@media(max-width:680px){

    .imp-footer-grid{
        grid-template-columns:1fr !important;
    }
}


/* FOOTER FINAL AJUSTADO V2.2.64 */

.imp-footer-grid{
    grid-template-columns:
      minmax(240px, 320px)
      minmax(240px, 320px)
      minmax(240px, 320px) !important;
}

.imp-footer-bottom{
    margin-top:46px !important;
    padding-top:24px !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
}

.imp-footer-hours-bottom{
    text-align:center !important;
    margin-bottom:18px !important;
}

.imp-footer-hours-bottom strong{
    display:block !important;
    margin-bottom:12px !important;

    color:#ffd84a !important;

    font-size:14px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
}

.imp-footer-hours-bottom p{
    margin:0 0 6px !important;

    color:rgba(255,255,255,.78) !important;

    font-size:14px !important;
    line-height:1.5 !important;
}

.imp-footer-copy-bottom{
    text-align:center !important;

    color:rgba(255,255,255,.62) !important;

    font-size:13px !important;
    line-height:1.5 !important;
}


/* FOOTER COPY ANCHO V2.2.65 */

.imp-footer-grid{
    grid-template-columns:
      minmax(220px, 300px)
      minmax(220px, 300px)
      minmax(220px, 300px)
      minmax(180px, 240px) !important;

    gap:90px !important;
}

.imp-footer-schedule{
    text-align:center !important;
}

.imp-footer-bottom{
    width:100% !important;
}

.imp-footer-copy-bottom{
    width:100% !important;
    text-align:center !important;

    display:block !important;

    padding-top:8px !important;
}

@media(max-width:980px){

    .imp-footer-grid{
        grid-template-columns:1fr 1fr !important;
    }
}

@media(max-width:680px){

    .imp-footer-grid{
        grid-template-columns:1fr !important;
    }
}


/* FOOTER HORARIO SIN COPY V2.2.66 */
.imp-footer-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:58px !important;
  align-items:flex-start !important;
}

.imp-footer-bottom,
.imp-footer-copy-bottom,
.imp-footer-clean-bottom,
.imp-final-footer-copy,
.imp-footer-simple-copy{
  display:none !important;
}

.imp-footer-hours p{
  margin-bottom:14px !important;
}

@media(max-width:1050px){
  .imp-footer-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:42px !important;
  }
}

@media(max-width:680px){
  .imp-footer-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
}


/* PÁGINAS LEGALES V2.2.68 */

.imp-legal-page{
    background:#fff !important;
    padding:70px 0 !important;
}

.imp-legal-container{
    max-width:980px !important;
}

.imp-legal-page h1{
    margin:0 0 34px !important;
    color:#11142d !important;
    font-size:54px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.05em !important;
}

.imp-legal-content{
    color:#5f6472 !important;
    font-size:16px !important;
    line-height:1.8 !important;
}

.imp-legal-content h2{
    margin-top:34px !important;
    color:#11142d !important;
    font-size:28px !important;
    font-weight:900 !important;
}

.imp-legal-content p{
    margin-bottom:18px !important;
}

@media(max-width:768px){

    .imp-legal-page{
        padding:42px 0 !important;
    }

    .imp-legal-page h1{
        font-size:38px !important;
    }
}


/* CONDICIONES LEGALES V2.2.70 */
.imp-legal-content ul{
  margin:0 0 24px 20px !important;
  padding:0 !important;
}

.imp-legal-content li{
  margin-bottom:8px !important;
  color:#5f6472 !important;
  line-height:1.7 !important;
}

.imp-legal-content strong{
  color:#11142d !important;
}


/* POLÍTICA DE COOKIES V2.2.73 */
.imp-legal-content h3{
  margin-top:24px !important;
  margin-bottom:10px !important;
  color:#11142d !important;
  font-size:21px !important;
  font-weight:900 !important;
}


/* DESISTIMIENTO + PDF V2.2.75 */
.imp-legal-download-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:52px !important;
  padding:0 22px !important;
  border-radius:16px !important;
  background:#5b18d6 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:0 14px 30px rgba(91,24,214,.20) !important;
}


/* SEO PAGES V2.2.78 */

.imp-legal-content ul{
  margin:0 0 26px 22px !important;
}

.imp-legal-content li{
  margin-bottom:10px !important;
  color:#5f6472 !important;
  line-height:1.7 !important;
}

.imp-legal-content strong{
  color:#11142d !important;
}


/* PUNTO 5 - BOTONES UNIFICADOS V2.2.81 */

/* Unifica tipografía, cursor y estética de todos los botones del bloque */
.imp-featured-btn,
.imp-visual-cta-btn,
.imp-contact-btn,
.imp-contact-clean-map-btn,
.imp-contact-map-btn,
.imp-legal-download-btn,
.imp-btn-primary,
.imp-btn-secondary,
.imp-service-btn,
.imp-banner-btn,
.imp-school-btn,
.imp-featured-promo a,
.imp-portfolio a[class*="btn"],
.imp-contact-page a[class*="btn"],
a.button,
button,
input[type="submit"]{
  font-family:inherit !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;

  cursor:pointer !important;

  text-decoration:none !important;

  border:0 !important;
  outline:none !important;

  box-shadow:none !important;

  -webkit-appearance:none !important;
  appearance:none !important;
}

/* Botones principales en morado, sin marcos negros */
.imp-featured-btn,
.imp-visual-cta-btn,
.imp-contact-btn-main,
.imp-contact-clean-map-btn,
.imp-contact-map-btn,
.imp-legal-download-btn,
.imp-btn-primary,
.imp-service-btn,
.imp-banner-btn,
.imp-school-btn,
.imp-featured-promo a,
.imp-portfolio a[class*="btn"],
.imp-contact-page a[class*="btn"]{
  background:#5b18d6 !important;
  color:#fff !important;

  border:0 !important;
  box-shadow:0 14px 30px rgba(91,24,214,.20) !important;

  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}

/* Botones secundarios: blancos, sin borde negro duro */
.imp-contact-btn-light,
.imp-btn-secondary{
  background:#fff !important;
  color:#11142d !important;
  border:1px solid rgba(17,24,39,.08) !important;
  box-shadow:none !important;
}

/* Mano y efecto hover para todos */
.imp-featured-btn:hover,
.imp-visual-cta-btn:hover,
.imp-contact-btn:hover,
.imp-contact-clean-map-btn:hover,
.imp-contact-map-btn:hover,
.imp-legal-download-btn:hover,
.imp-btn-primary:hover,
.imp-btn-secondary:hover,
.imp-service-btn:hover,
.imp-banner-btn:hover,
.imp-school-btn:hover,
.imp-featured-promo a:hover,
.imp-portfolio a[class*="btn"]:hover,
.imp-contact-page a[class*="btn"]:hover,
a.button:hover,
button:hover,
input[type="submit"]:hover{
  cursor:pointer !important;
  transform:translateY(-2px) !important;
  opacity:.96 !important;
}

/* Evita marcos negros al foco con teclado, deja foco limpio */
.imp-featured-btn:focus,
.imp-visual-cta-btn:focus,
.imp-contact-btn:focus,
.imp-contact-clean-map-btn:focus,
.imp-contact-map-btn:focus,
.imp-legal-download-btn:focus,
.imp-btn-primary:focus,
.imp-btn-secondary:focus,
.imp-service-btn:focus,
.imp-banner-btn:focus,
.imp-school-btn:focus,
a.button:focus,
button:focus,
input[type="submit"]:focus{
  outline:2px solid rgba(91,24,214,.22) !important;
  outline-offset:3px !important;
  border-color:transparent !important;
}


/* BOTONES ALINEADOS MISMA ALTURA V2.2.82 */

.imp-featured-grid,
.imp-services-grid,
.imp-promo-grid,
.imp-feature-grid{
  align-items:stretch !important;
}

.imp-feature-card,
.imp-service-card,
.imp-promo-card,
.imp-feature-item{
  display:flex !important;
  flex-direction:column !important;
}

.imp-feature-card .imp-featured-btn,
.imp-service-card .imp-service-btn,
.imp-promo-card .imp-banner-btn,
.imp-feature-item .imp-btn-primary,
.imp-feature-item .imp-btn-secondary{
  margin-top:auto !important;
}

/* misma altura visual */
.imp-featured-btn,
.imp-service-btn,
.imp-banner-btn,
.imp-btn-primary,
.imp-btn-secondary{
  min-height:54px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}


/* MENÚ NOTICIAS V2.2.84 */
header nav a[href="/noticias/"],
.imp-nav a[href="/noticias/"],
.main-navigation a[href="/noticias/"]{
  cursor:pointer !important;
}


/* NOTICIA BONO SEVILLA V2.2.85 */

.imp-news-page{
  padding:70px 0 !important;
  background:#fff !important;
}

.imp-news-container{
  max-width:980px !important;
}

.imp-news-article{
  background:#fff !important;
}

.imp-news-tag{
  display:inline-flex !important;
  align-items:center !important;

  min-height:38px !important;
  padding:0 18px !important;

  border-radius:999px !important;

  background:#f4efff !important;
  color:#5b18d6 !important;

  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.imp-news-article h1{
  margin:24px 0 24px !important;

  color:#11142d !important;

  font-size:62px !important;
  line-height:.95 !important;
  font-weight:950 !important;
  letter-spacing:-.06em !important;
}

.imp-news-lead{
  margin-bottom:30px !important;

  color:#11142d !important;

  font-size:24px !important;
  line-height:1.6 !important;
  font-weight:600 !important;
}

.imp-news-article p,
.imp-news-article li{
  color:#5f6472 !important;

  font-size:18px !important;
  line-height:1.9 !important;
}

.imp-news-article h2{
  margin:50px 0 18px !important;

  color:#11142d !important;

  font-size:38px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
}

.imp-news-article h3{
  margin:32px 0 10px !important;

  color:#11142d !important;

  font-size:24px !important;
  font-weight:900 !important;
}

.imp-news-article ul{
  margin:0 0 24px 24px !important;
}

.imp-news-highlight{
  margin:42px 0 !important;
  padding:26px 28px !important;

  border-radius:26px !important;

  background:#fff7d7 !important;

  color:#11142d !important;

  font-size:17px !important;
  line-height:1.7 !important;
}

.imp-news-source{
  margin-top:42px !important;

  color:#8b90a0 !important;

  font-size:14px !important;
}

@media(max-width:768px){

  .imp-news-page{
    padding:42px 0 !important;
  }

  .imp-news-article h1{
    font-size:42px !important;
  }

  .imp-news-lead{
    font-size:20px !important;
  }

  .imp-news-article h2{
    font-size:30px !important;
  }

  .imp-news-article p,
  .imp-news-article li{
    font-size:17px !important;
  }
}


/* BLOG NOTICIAS V2.2.86 */

.imp-news-listing h1{
  margin:24px 0 18px !important;
  font-size:62px !important;
  line-height:.95 !important;
  font-weight:950 !important;
  color:#11142d !important;
}

.imp-news-listing-lead{
  margin-bottom:40px !important;
  font-size:22px !important;
  line-height:1.7 !important;
  color:#5f6472 !important;
}

.imp-news-cards{
  display:grid !important;
  gap:28px !important;
}

.imp-news-card{
  padding:36px !important;
  border-radius:30px !important;
  background:#f8f5ff !important;
  border:1px solid rgba(91,24,214,.08) !important;
}

.imp-news-card-category{
  display:inline-flex !important;
  min-height:36px !important;
  padding:0 16px !important;
  align-items:center !important;
  border-radius:999px !important;
  background:#ece4ff !important;
  color:#5b18d6 !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

.imp-news-card h2{
  margin:24px 0 16px !important;
  font-size:36px !important;
  line-height:1.1 !important;
  color:#11142d !important;
  font-weight:950 !important;
}

.imp-news-card p{
  margin-bottom:28px !important;
  color:#5f6472 !important;
  font-size:17px !important;
  line-height:1.8 !important;
}

.imp-news-card-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  padding:0 24px !important;
  border-radius:18px !important;
  background:#5b18d6 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:900 !important;
}


/* IMÁGENES NOTICIAS SEO V2.2.87 */

.imp-news-card-image,
.imp-news-hero-image{
  width:100% !important;
  height:auto !important;

  display:block !important;

  margin-bottom:28px !important;

  border-radius:26px !important;

  object-fit:cover !important;
}

.imp-news-card-image{
  max-height:340px !important;
}

.imp-news-hero-image{
  max-height:420px !important;
}


/* IMAGEN NOTICIA AJUSTADA V2.2.88 */

.imp-news-card-image{
  width:100% !important;
  max-width:520px !important;

  height:auto !important;

  margin:0 auto 24px auto !important;

  display:block !important;

  border-radius:22px !important;

  object-fit:contain !important;
}

.imp-news-hero-image{
  width:100% !important;
  max-width:680px !important;

  height:auto !important;

  margin:0 auto 34px auto !important;

  display:block !important;

  border-radius:26px !important;

  object-fit:contain !important;
}

.imp-news-card{
  text-align:left !important;
}

.imp-news-article{
  text-align:left !important;
}


/* FIX IMAGEN COMPLETA HOME NOTICIAS V2.2.89 */

.imp-news-card{
  overflow:visible !important;
}

.imp-news-card-image{
  width:100% !important;
  max-width:100% !important;

  height:auto !important;
  max-height:none !important;

  display:block !important;

  margin:0 auto 26px auto !important;

  border-radius:22px !important;

  object-fit:contain !important;
  object-position:center center !important;

  background:#ffffff !important;
}

.imp-news-cards{
  overflow:visible !important;
}

.imp-news-card h2{
  margin-top:8px !important;
}

/* noticia individual */
.imp-news-hero-image{
  width:100% !important;
  max-width:760px !important;

  height:auto !important;
  max-height:none !important;

  object-fit:contain !important;

  margin:0 auto 34px auto !important;

  display:block !important;

  background:#fff !important;
}

@media(max-width:768px){

  .imp-news-card-image{
    border-radius:18px !important;
  }

  .imp-news-hero-image{
    border-radius:20px !important;
  }
}


/* NOTICIA HORIZONTAL V2.2.90 */

.imp-news-card-horizontal{
  display:grid !important;
  grid-template-columns:340px 1fr !important;
  gap:34px !important;
  align-items:center !important;
}

.imp-news-card-horizontal .imp-news-card-image{
  width:100% !important;
  max-width:100% !important;

  margin:0 !important;

  border-radius:24px !important;
}

.imp-news-card-content{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.imp-news-card-content .imp-news-card-btn{
  align-self:flex-start !important;
}

@media(max-width:980px){

  .imp-news-card-horizontal{
    grid-template-columns:1fr !important;
  }

  .imp-news-card-horizontal .imp-news-card-image{
    margin:0 auto 12px auto !important;
    max-width:520px !important;
  }
}


/* BOTÓN BAJO IMAGEN NOTICIA V2.2.91 */

.imp-news-card-horizontal{
  display:grid !important;
  grid-template-columns:360px 1fr !important;
  gap:42px !important;
  align-items:center !important;
}

.imp-news-card-media{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

.imp-news-card-image{
  width:100% !important;
  margin:0 0 18px 0 !important;
}

.imp-news-card-media .imp-news-card-btn{
  width:100% !important;
  min-height:54px !important;
}

.imp-news-card-content{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.imp-news-card-content h2{
  margin-top:22px !important;
}

@media(max-width:980px){

  .imp-news-card-horizontal{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .imp-news-card-media{
    max-width:520px !important;
    margin:0 auto !important;
    width:100% !important;
  }
}


/* AJUSTE FOTO + BOTÓN NOTICIAS V2.2.92 */

.imp-news-card-horizontal{
  align-items:flex-start !important;
}

.imp-news-card-media{
  padding-top:6px !important;
}

.imp-news-card-image{
  margin:0 0 24px 0 !important;
  transform:translateY(-10px) !important;
}

.imp-news-card-media .imp-news-card-btn{
  margin-top:8px !important;
}

@media(max-width:980px){

  .imp-news-card-image{
    transform:none !important;
    margin:0 0 22px 0 !important;
  }
}


/* CONTACTO RESTAURADO DESDE V2.2.79 - V2.2.97 */
/* CONTACTO + MENÚ V2.2.34 */



/* CONTACTO LIMPIO + MAPA V2.2.35 */

/* CONTACTO AMARILLO SUAVE V2.2.98 */

.imp-contact-card{
  background:linear-gradient(
    135deg,
    #fff8df 0%,
    #ffffff 58%,
    #fff1b8 100%
  ) !important;

  border:1px solid rgba(255,216,74,.35) !important;

  box-shadow:
    0 18px 46px rgba(17,24,39,.07),
    0 10px 28px rgba(255,216,74,.12) !important;
}

.imp-contact-card::before{
  background:radial-gradient(
    circle,
    rgba(255,216,74,.34) 0%,
    rgba(255,216,74,.16) 42%,
    rgba(255,216,74,0) 72%
  ) !important;

  opacity:1 !important;
  filter:blur(18px) !important;
}

.imp-contact-item strong{
  color:#5b18d6 !important;
}

.imp-contact-card h2,
.imp-contact-item a,
.imp-contact-item p{
  color:#11142d !important;
}


/* MENÚ FORZADO V2.2.100 */
.imp-nav{
  display:flex !important;
  align-items:center !important;
}

.imp-menu{
  display:flex !important;
  align-items:center !important;
  gap:28px !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.imp-menu li{
  margin:0 !important;
  padding:0 !important;
}

.imp-menu a{
  color:#11142d !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.imp-menu a:hover{
  color:#5b18d6 !important;
}

.imp-header-contact-btn,
a[href="/contacto/"].imp-header-contact-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:0 20px !important;
  border-radius:14px !important;
  background:#ffd84a !important;
  color:#11142d !important;
  text-decoration:none !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

@media(max-width:900px){
  .imp-nav{
    display:none !important;
  }
}


/* CONTACTO AMARILLO MÁS SUAVE V2.2.101 */

.imp-contact-card{
  background:linear-gradient(
    135deg,
    #fffaf0 0%,
    #ffffff 54%,
    #fff6dc 100%
  ) !important;

  border:1px solid rgba(245,190,40,.18) !important;

  box-shadow:
    0 18px 46px rgba(17,24,39,.06),
    0 8px 22px rgba(245,190,40,.08) !important;
}

.imp-contact-card::before{
  background:radial-gradient(
    circle,
    rgba(255,216,74,.18) 0%,
    rgba(255,216,74,.08) 42%,
    rgba(255,216,74,0) 72%
  ) !important;

  filter:blur(22px) !important;
  opacity:1 !important;
}

.imp-contact-item strong{
  color:#5b18d6 !important;
}

.imp-contact-card h2,
.imp-contact-item a,
.imp-contact-item p{
  color:#11142d !important;
}

/* También suaviza cualquier bloque amarillo de contacto que pudiera heredarse */
.imp-contact-map-box,
.imp-contact-clean-map-box{
  background:#fff8e6 !important;
  border:1px solid rgba(245,190,40,.18) !important;
}


/* TRABAJOS - BANNER GEOMÉTRICO V2.2.103 */

/* Contenedor general de trabajos */
.imp-visual-cta,
.imp-portfolio{
  max-width:1460px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Banner más alargado y alineado con el ancho del portfolio */
.imp-visual-cta{
  padding:26px 24px 34px !important;
}

.imp-visual-cta-content{
  width:100% !important;
  max-width:1380px !important;
  margin:0 auto !important;

  min-height:330px !important;
  height:330px !important;

  display:grid !important;
  grid-template-columns:minmax(0,480px) minmax(0,1fr) !important;
  gap:0 !important;

  border-radius:30px !important;
  overflow:hidden !important;
}

/* Texto más compacto para que el banner sea panorámico */
.imp-visual-cta-copy{
  padding:42px 48px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.imp-visual-cta-copy h2{
  font-size:clamp(44px,4.6vw,64px) !important;
  line-height:.92 !important;
  margin-bottom:14px !important;
}

.imp-visual-cta-copy p{
  font-size:16px !important;
  line-height:1.55 !important;
  max-width:420px !important;
}

.imp-visual-cta-btn{
  margin-top:22px !important;
  min-height:52px !important;
  width:max-content !important;
}

/* Imagen integrada dentro de la geometría del banner */
.imp-visual-cta-image{
  height:100% !important;
  overflow:hidden !important;
}

.imp-visual-cta-image img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

/* Portfolio alineado con el mismo eje del banner */
.imp-portfolio{
  padding:0 24px 86px !important;
}

.imp-portfolio-grid{
  max-width:1380px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:30px !important;
}

/* Tarjetas con proporción más estable */
.imp-portfolio-card{
  border-radius:30px !important;
  overflow:hidden !important;
}

.imp-portfolio-image{
  aspect-ratio:4/3 !important;
}

/* Separación visual más lógica entre banner y grid */
.imp-visual-cta + .imp-portfolio,
.imp-portfolio{
  margin-top:0 !important;
}

@media(max-width:980px){

  .imp-visual-cta-content{
    height:auto !important;
    min-height:auto !important;
    grid-template-columns:1fr !important;
  }

  .imp-visual-cta-copy{
    padding:34px 28px !important;
  }

  .imp-visual-cta-image{
    height:260px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:1fr 1fr !important;
    gap:24px !important;
  }
}

@media(max-width:680px){

  .imp-visual-cta{
    padding:18px 16px 28px !important;
  }

  .imp-visual-cta-content{
    border-radius:24px !important;
  }

  .imp-visual-cta-copy h2{
    font-size:40px !important;
  }

  .imp-visual-cta-btn{
    width:100% !important;
  }

  .imp-visual-cta-image{
    height:220px !important;
  }

  .imp-portfolio{
    padding:0 16px 64px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:1fr !important;
  }
}


/* TRABAJOS - ESCALA AJUSTADA V2.2.104 */

/* Igualamos el ancho visual al resto de páginas */
.imp-visual-cta,
.imp-portfolio{
  max-width:1240px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Banner más proporcionado y panorámico */
.imp-visual-cta{
  padding:24px 24px 32px !important;
}

.imp-visual-cta-content{
  max-width:1190px !important;
  height:310px !important;
  min-height:310px !important;
  border-radius:30px !important;
  grid-template-columns:minmax(0,430px) minmax(0,1fr) !important;
}

/* Texto compacto para mantener proporción */
.imp-visual-cta-copy{
  padding:38px 42px !important;
}

.imp-visual-cta-copy h2{
  font-size:clamp(42px,4.2vw,58px) !important;
  line-height:.92 !important;
}

.imp-visual-cta-copy p{
  font-size:15.5px !important;
  line-height:1.55 !important;
}

/* Grid algo más estrecho y coherente */
.imp-portfolio{
  padding:0 24px 82px !important;
}

.imp-portfolio-grid{
  max-width:1190px !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:26px !important;
}

/* Tarjetas algo más contenidas */
.imp-portfolio-card{
  border-radius:28px !important;
}

.imp-portfolio-image{
  aspect-ratio:4/3 !important;
}

@media(max-width:980px){

  .imp-visual-cta,
  .imp-portfolio{
    max-width:100% !important;
  }

  .imp-visual-cta-content{
    height:auto !important;
    min-height:auto !important;
    grid-template-columns:1fr !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:1fr 1fr !important;
    max-width:760px !important;
  }
}

@media(max-width:680px){

  .imp-visual-cta{
    padding:18px 16px 28px !important;
  }

  .imp-portfolio{
    padding:0 16px 64px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:1fr !important;
    max-width:420px !important;
  }
}


/* TRABAJOS ALINEADOS CON BANNER V2.2.105 */

/* El grid ahora usa exactamente el mismo ancho visual del banner */
.imp-visual-cta-content{
  max-width:1190px !important;
}

.imp-portfolio{
  max-width:1190px !important;
  margin:0 auto !important;

  padding:0 24px 82px !important;
  box-sizing:border-box !important;
}

/* Los trabajos quedan más estrechos y centrados */
.imp-portfolio-grid{
  width:100% !important;
  max-width:100% !important;

  margin:0 auto !important;

  grid-template-columns:repeat(3,minmax(0,1fr)) !important;

  gap:22px !important;
}

/* Exterior perfectamente alineado */
.imp-portfolio-card{
  width:100% !important;
}

@media(max-width:980px){

  .imp-portfolio{
    max-width:760px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:680px){

  .imp-portfolio{
    max-width:420px !important;
    padding:0 16px 64px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:1fr !important;
  }
}


/* BANNER MÁS AMPLIO V2.2.106 */

.imp-visual-cta{
  max-width:1360px !important;
  padding:24px 24px 34px !important;
}

.imp-visual-cta-content{
  max-width:1320px !important;

  min-height:360px !important;
  height:360px !important;

  grid-template-columns:minmax(0,500px) minmax(0,1fr) !important;

  border-radius:34px !important;
}

/* Más aire en el copy */
.imp-visual-cta-copy{
  padding:46px 52px !important;
}

.imp-visual-cta-copy h2{
  font-size:clamp(48px,4.8vw,68px) !important;
}

.imp-visual-cta-copy p{
  max-width:460px !important;
  font-size:16px !important;
}

/* Imagen panorámica */
.imp-visual-cta-image img{
  object-fit:cover !important;
  object-position:center center !important;
}

@media(max-width:980px){

  .imp-visual-cta{
    max-width:100% !important;
  }

  .imp-visual-cta-content{
    height:auto !important;
    min-height:auto !important;
    grid-template-columns:1fr !important;
  }

  .imp-visual-cta-image{
    height:280px !important;
  }
}

@media(max-width:680px){

  .imp-visual-cta{
    padding:18px 16px 28px !important;
  }

  .imp-visual-cta-copy{
    padding:34px 28px !important;
  }

  .imp-visual-cta-copy h2{
    font-size:42px !important;
  }
}


/* BANNER ALINEADO EXACTO CON TRABAJOS V2.2.107 */

/* El banner ahora usa exactamente el mismo ancho exterior que los trabajos */
.imp-visual-cta{
  max-width:1190px !important;
  margin-left:auto !important;
  margin-right:auto !important;

  padding:24px 24px 34px !important;
  box-sizing:border-box !important;
}

.imp-visual-cta-content{
  width:100% !important;
  max-width:100% !important;

  min-height:360px !important;
  height:360px !important;
}

/* Exterior perfectamente alineado con el grid */
.imp-portfolio{
  max-width:1190px !important;
}

/* Ajuste fino para que coincidan visualmente */
.imp-visual-cta,
.imp-portfolio{
  padding-left:24px !important;
  padding-right:24px !important;
}

@media(max-width:980px){

  .imp-visual-cta,
  .imp-portfolio{
    max-width:760px !important;
  }
}

@media(max-width:680px){

  .imp-visual-cta,
  .imp-portfolio{
    max-width:420px !important;

    padding-left:16px !important;
    padding-right:16px !important;
  }
}


/* ALINEACIÓN REAL BANNER + TRABAJOS V2.2.108 */

/* Un único ancho real para ambos bloques */
.imp-visual-cta,
.imp-portfolio{
  width:100% !important;
  max-width:1240px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  box-sizing:border-box !important;
}

/* El banner ocupa todo el ancho interno del mismo contenedor */
.imp-visual-cta-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* El grid ocupa exactamente el mismo ancho interno que el banner */
.imp-portfolio-grid{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:24px !important;
}

/* Quitamos cualquier límite heredado de tarjetas */
.imp-portfolio-card{
  width:100% !important;
  max-width:none !important;
}

/* Mantener banner panorámico */
.imp-visual-cta-content{
  height:350px !important;
  min-height:350px !important;
  border-radius:32px !important;
}

@media(max-width:980px){

  .imp-visual-cta,
  .imp-portfolio{
    max-width:820px !important;
  }

  .imp-visual-cta-content{
    height:auto !important;
    min-height:auto !important;
    grid-template-columns:1fr !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:680px){

  .imp-visual-cta,
  .imp-portfolio{
    max-width:460px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .imp-portfolio-grid{
    grid-template-columns:1fr !important;
  }
}


/* PRÓXIMAMENTE V2.2.109 */

.imp-coming-page{
  min-height:72vh !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:80px 24px !important;

  background:#fff !important;
}

.imp-coming-wrap{
  width:100% !important;
  max-width:860px !important;

  padding:64px !important;

  border-radius:36px !important;

  background:linear-gradient(
    135deg,
    #f8f5ff 0%,
    #ffffff 62%,
    #fff8e6 100%
  ) !important;

  border:1px solid rgba(17,24,39,.06) !important;

  box-shadow:0 24px 64px rgba(17,24,39,.07) !important;
}

.imp-coming-tag{
  display:inline-flex !important;
  align-items:center !important;

  min-height:38px !important;
  padding:0 18px !important;

  border-radius:999px !important;

  background:#ece4ff !important;

  color:#5b18d6 !important;

  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.imp-coming-wrap h1{
  margin:26px 0 18px !important;

  color:#11142d !important;

  font-size:clamp(54px,6vw,82px) !important;
  line-height:.92 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
}

.imp-coming-wrap p{
  max-width:620px !important;

  color:#5f6472 !important;

  font-size:18px !important;
  line-height:1.75 !important;
}

.imp-coming-box{
  margin-top:34px !important;

  display:flex !important;
  align-items:flex-start !important;
  gap:18px !important;

  padding:24px 26px !important;

  border-radius:24px !important;

  background:#fff !important;

  border:1px solid rgba(17,24,39,.06) !important;
}

.imp-coming-dot{
  width:14px !important;
  height:14px !important;

  border-radius:999px !important;

  background:#ffd84a !important;

  margin-top:8px !important;

  flex:none !important;
}

.imp-coming-box strong{
  display:block !important;
  margin-bottom:6px !important;

  color:#11142d !important;

  font-size:17px !important;
  font-weight:900 !important;
}

.imp-coming-box span{
  color:#5f6472 !important;

  font-size:15px !important;
  line-height:1.7 !important;
}

.imp-coming-btn{
  margin-top:34px !important;

  min-height:56px !important;
  padding:0 24px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:18px !important;

  background:#5b18d6 !important;
  color:#fff !important;

  text-decoration:none !important;

  font-size:15px !important;
  font-weight:900 !important;
}

@media(max-width:768px){

  .imp-coming-page{
    padding:42px 16px !important;
  }

  .imp-coming-wrap{
    padding:36px 28px !important;
    border-radius:28px !important;
  }

  .imp-coming-wrap h1{
    font-size:46px !important;
  }

  .imp-coming-box{
    padding:20px !important;
  }

  .imp-coming-btn{
    width:100% !important;
  }
}


/* OCULTAR BOTONES PROMOCIÓN V2.2.114 */

a[href*="promoc"],
a[href*="flyers"]{
  display:none !important;
}


/* FIX IMAGEN NOTICIAS V2.2.119 */
.imp-news-card-image{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 0 26px 0 !important;
  border-radius:22px !important;
  background:#fff !important;
}


/* LIGHTBOX MINIMO SEGURO V2.2.132 */

.imp-safe-lightbox-lock{
  overflow:hidden !important;
}

.imp-safe-lightbox{
  position:fixed !important;
  inset:0 !important;

  z-index:2147483647 !important;

  display:none !important;
  align-items:center !important;
  justify-content:center !important;

  padding:28px !important;

  background:rgba(17,20,45,.92) !important;
}

.imp-safe-lightbox.open{
  display:flex !important;
}

.imp-safe-lightbox-image{
  width:min(94vw,1400px) !important;
  max-height:90vh !important;

  height:auto !important;

  object-fit:contain !important;

  border-radius:20px !important;

  background:#fff !important;
}

.imp-safe-lightbox-close{
  position:fixed !important;
  top:18px !important;
  right:18px !important;

  width:50px !important;
  height:50px !important;

  border:none !important;
  border-radius:999px !important;

  background:#fff !important;
  color:#11142d !important;

  font-size:34px !important;
  font-weight:900 !important;

  cursor:pointer !important;
}


/* LIGHTBOX VENTANA FLOTANTE V2.2.133 */

.imp-safe-lightbox{
  background:rgba(17,20,45,.72) !important;
  backdrop-filter:blur(10px) !important;
  padding:42px !important;
}

.imp-safe-lightbox-image{
  width:auto !important;
  max-width:min(1180px,88vw) !important;
  max-height:78vh !important;

  padding:14px !important;

  border-radius:28px !important;

  background:#fff !important;

  box-shadow:
    0 36px 110px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.18) !important;
}

.imp-safe-lightbox-close{
  top:calc(50% - 39vh - 22px) !important;
  right:calc(50% - min(590px,44vw) - 22px) !important;

  box-shadow:0 14px 38px rgba(0,0,0,.28) !important;
}

@media(max-width:900px){
  .imp-safe-lightbox{
    padding:22px !important;
  }

  .imp-safe-lightbox-image{
    max-width:92vw !important;
    max-height:76vh !important;
    padding:10px !important;
    border-radius:22px !important;
  }

  .imp-safe-lightbox-close{
    top:18px !important;
    right:18px !important;
  }
}


/* FIX LIGHTBOX ENCIMA DE TODO V2.2.134 */

html.imp-safe-lightbox-lock,
body.imp-safe-lightbox-lock{
  overflow:hidden !important;
}

.imp-safe-lightbox,
.imp-safe-lightbox.open{
  position:fixed !important;

  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;

  width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;

  z-index:2147483647 !important;

  margin:0 !important;

  transform:none !important;

  align-items:center !important;
  justify-content:center !important;
}

.imp-safe-lightbox.open{
  display:flex !important;
}

.imp-safe-lightbox-image{
  position:relative !important;
  z-index:2147483647 !important;
}

.imp-safe-lightbox-close{
  z-index:2147483647 !important;
}


/* LIGHTBOX INLINE FIXED V2.2.135 - respaldo */
#imp-fixed-lightbox-root{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  z-index:2147483647 !important;
}


/* POPUP VUELTA AL COLE V3.1.1 */

.imp-school-popup-lock{
  overflow:hidden !important;
}

.imp-school-popup{
  position:fixed !important;
  inset:0 !important;

  z-index:2147483647 !important;

  display:none !important;
  align-items:center !important;
  justify-content:center !important;

  padding:24px !important;

  background:rgba(17,20,45,.66) !important;
  backdrop-filter:blur(8px) !important;
}

.imp-school-popup.is-visible{
  display:flex !important;
}

.imp-school-popup-box{
  position:relative !important;

  width:min(92vw,460px) !important;

  padding:42px 34px !important;

  border-radius:34px !important;

  background:#fff !important;

  text-align:center !important;

  box-shadow:0 34px 110px rgba(0,0,0,.22) !important;
}

.imp-school-popup-icon{
  font-size:54px !important;
  line-height:1 !important;
  margin-bottom:18px !important;
}

.imp-school-popup-tag{
  display:inline-flex !important;
  align-items:center !important;

  min-height:36px !important;

  padding:0 16px !important;

  border-radius:999px !important;

  background:#f4efff !important;
  color:#5b18d6 !important;

  font-size:12px !important;
  font-weight:900 !important;

  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.imp-school-popup-box h3{
  margin:22px 0 16px !important;

  color:#11142d !important;

  font-size:38px !important;
  line-height:1 !important;

  letter-spacing:-.05em !important;
  font-weight:950 !important;
}

.imp-school-popup-box p{
  margin:0 0 28px !important;

  color:#5f6472 !important;

  font-size:17px !important;
  line-height:1.7 !important;
}

.imp-school-popup-play,
.imp-school-popup-whatsapp{
  width:100% !important;
  min-height:58px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border:none !important;
  border-radius:18px !important;

  background:#ffd84d !important;
  color:#11142d !important;

  text-decoration:none !important;

  font-size:16px !important;
  font-weight:900 !important;

  cursor:pointer !important;

  box-shadow:0 14px 34px rgba(255,216,77,.32) !important;

  transition:transform .18s ease !important;
}

.imp-school-popup-play:hover,
.imp-school-popup-whatsapp:hover{
  transform:translateY(-2px) !important;
}

.imp-school-popup-close{
  position:absolute !important;

  top:18px !important;
  right:18px !important;

  width:42px !important;
  height:42px !important;

  border:none !important;
  border-radius:999px !important;

  background:#f5f5f5 !important;
  color:#11142d !important;

  font-size:28px !important;
  line-height:1 !important;

  cursor:pointer !important;
}

@media(max-width:680px){

  .imp-school-popup-box{
    padding:36px 24px !important;
    border-radius:28px !important;
  }

  .imp-school-popup-box h3{
    font-size:30px !important;
  }

}


/* WHATSAPP FLOTANTE PREMIUM V3.1.6 */

.imp-wa-widget{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483000 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:14px !important;
  font-family:inherit !important;
}

.imp-wa-toggle{
  min-height:58px !important;
  padding:0 20px !important;
  border:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  background:#5b18d6 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:0 18px 46px rgba(91,24,214,.30) !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}

.imp-wa-toggle:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 54px rgba(91,24,214,.36) !important;
}

.imp-wa-toggle-icon{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#ffd84d !important;
  color:#11142d !important;
  font-size:18px !important;
}

.imp-wa-panel{
  width:340px !important;
  max-width:calc(100vw - 32px) !important;
  padding:16px !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.08) !important;
  box-shadow:0 28px 80px rgba(17,24,39,.18) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) scale(.98) !important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}

.imp-wa-widget.is-open .imp-wa-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}

.imp-wa-panel-head{
  padding:8px 8px 14px !important;
}

.imp-wa-panel-head strong{
  display:block !important;
  color:#11142d !important;
  font-size:20px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}

.imp-wa-panel-head span{
  display:block !important;
  margin-top:5px !important;
  color:#5f6472 !important;
  font-size:14px !important;
  line-height:1.4 !important;
}

.imp-wa-option{
  display:grid !important;
  grid-template-columns:44px 1fr !important;
  gap:12px !important;
  align-items:center !important;
  padding:13px !important;
  margin-top:8px !important;
  border-radius:18px !important;
  background:#f8f5ff !important;
  text-decoration:none !important;
  transition:transform .16s ease, background .16s ease !important;
}

.imp-wa-option:hover{
  transform:translateX(-2px) !important;
  background:#f4efff !important;
}

.imp-wa-option > span{
  width:44px !important;
  height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:16px !important;
  background:#fff !important;
  font-size:22px !important;
  box-shadow:0 8px 22px rgba(17,24,39,.06) !important;
}

.imp-wa-option strong{
  display:block !important;
  color:#11142d !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}

.imp-wa-option small{
  display:block !important;
  margin-top:3px !important;
  color:#5f6472 !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
}

@media(max-width:680px){
  .imp-wa-widget{
    right:16px !important;
    bottom:16px !important;
    left:16px !important;
    align-items:stretch !important;
  }

  .imp-wa-panel{
    width:100% !important;
    max-width:none !important;
  }

  .imp-wa-toggle{
    width:100% !important;
    min-height:56px !important;
  }
}


/* WHATSAPP FLOTANTE INLINE FIX V3.1.7 */
#imp-wa-widget-fixed{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483000 !important;
}


/* WHATSAPP DIRECTO V3.1.8 */

#imp-wa-direct{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483000 !important;

  min-height:58px !important;
  padding:0 20px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  border-radius:999px !important;

  background:#5b18d6 !important;
  color:#fff !important;

  text-decoration:none !important;

  font-size:15px !important;
  font-weight:900 !important;

  box-shadow:0 18px 46px rgba(91,24,214,.30) !important;

  transition:transform .18s ease, box-shadow .18s ease !important;
}

#imp-wa-direct:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 54px rgba(91,24,214,.36) !important;
}

.imp-wa-direct-icon{
  width:34px !important;
  height:34px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;

  background:#ffd84d !important;
  color:#11142d !important;

  font-size:18px !important;
}

.imp-wa-direct-text{
  color:#fff !important;
}

@media(max-width:680px){
  #imp-wa-direct{
    right:16px !important;
    bottom:16px !important;
    left:16px !important;
    width:auto !important;
    min-height:56px !important;
  }
}


/* WHATSAPP DIRECTO INLINE V3.1.9 */
#imp-wa-direct-inline{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483000 !important;
}
