/* CSV45 · refinamiento visual, menos lectura y acciones fiables */
:root{--csv45-navy:#032f53;--csv45-ink:#06172b;--csv45-blue:#0877b9}
.csv45-brand-object{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 18px 34px rgba(2,36,63,.20),0 5px 10px rgba(2,36,63,.10),inset 0 2px 1px rgba(255,255,255,.95),inset 0 -4px 9px rgba(3,56,91,.10)!important;border:1px solid rgba(255,255,255,.9)!important;background:linear-gradient(145deg,#fff 0%,#f8fbff 42%,#dfeaf4 100%)!important}
.csv45-brand-object:before{content:"";position:absolute;z-index:-1;left:5%;right:5%;top:2px;height:43%;border-radius:999px 999px 46% 46%;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.15));pointer-events:none}
.csv45-brand-object:after{content:"";position:absolute;inset:auto 12% 7px;height:9px;border-radius:50%;background:rgba(0,42,75,.13);filter:blur(8px);pointer-events:none}
.csv45-map-mark,.csv45-share-mark{width:48px;height:48px;display:block;filter:drop-shadow(0 8px 8px rgba(2,38,66,.20))}
.csv-object--route .csv-object__icon{background:linear-gradient(145deg,#fff,#e8f1f8)!important;box-shadow:0 9px 18px rgba(0,44,78,.18),inset 0 2px 2px #fff!important}
.csv-object--route .csv-object__icon svg{display:none!important}
.csv-object--route .csv-object__icon:after{content:"";display:block;width:40px;height:40px;background:url('/assets/google-maps-premium.svg?v=45') center/contain no-repeat}
/* Menos palabras: marcas y acciones visuales */
.csv-contact-brand__text b{font-size:1.13rem}.csv-contact-brand__text span{font-size:.82rem;color:#526477}
.csv-contact-brand[data-csv-share] .csv-contact-brand__text span{display:none}
.csv45-email-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Payment emblems with stronger luxury composition */
.payment.csv-brand-payment{min-height:180px!important;border-radius:30px!important;box-shadow:0 22px 42px rgba(2,35,62,.17),0 7px 14px rgba(2,35,62,.08),inset 0 2px 1px #fff,inset 0 -5px 12px rgba(5,64,103,.08)!important}
.csv-payment-logo{filter:drop-shadow(0 10px 10px rgba(2,39,67,.16))}
.csv-payment-logo--brand{padding:8px!important;background:linear-gradient(145deg,#fff,#e7eef5)!important;border:1px solid rgba(255,255,255,.95);box-shadow:0 12px 24px rgba(3,35,61,.20),inset 0 2px 2px #fff!important}
/* Share sheet */
.csv45-share-backdrop{position:fixed;inset:0;z-index:100000;background:rgba(0,17,31,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;align-items:end;opacity:0;visibility:hidden;transition:.22s ease}
.csv45-share-backdrop.is-open{opacity:1;visibility:visible}
.csv45-share-sheet{width:min(620px,calc(100% - 18px));margin:0 auto 10px;padding:18px;border-radius:32px;background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(226,238,248,.98));border:1px solid rgba(255,255,255,.95);box-shadow:0 30px 80px rgba(0,15,28,.45),inset 0 2px 1px #fff;transform:translateY(28px);transition:.25s ease}
.is-open .csv45-share-sheet{transform:none}.csv45-share-head{display:flex;align-items:center;gap:12px;padding:4px 4px 15px}.csv45-share-head img{width:48px;height:48px}.csv45-share-head strong{display:block;font-size:1.22rem;color:var(--csv45-ink)}.csv45-share-head span{font-size:.84rem;color:#526477}
.csv45-share-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.csv45-share-action{border:0;border-radius:23px;padding:15px 8px 13px;min-height:100px;background:linear-gradient(145deg,#fff,#e7f0f7);box-shadow:0 12px 24px rgba(2,35,62,.15),inset 0 2px 2px #fff;color:var(--csv45-ink);font-weight:800;font-size:.84rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.csv45-share-action:active{transform:translateY(2px);box-shadow:0 6px 14px rgba(2,35,62,.14),inset 0 2px 5px rgba(2,35,62,.08)}.csv45-share-action img,.csv45-share-action svg{width:38px;height:38px}.csv45-share-close{width:100%;margin-top:12px;border:0;border-radius:999px;padding:14px;background:#092f50;color:#fff;font-weight:850;font-size:1rem}
@media(min-width:700px){.csv45-share-backdrop{align-items:center}.csv45-share-sheet{margin:auto}.csv45-share-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:420px){.csv45-share-grid{grid-template-columns:repeat(3,1fr)}.csv45-share-action{min-height:92px;padding-inline:4px}}
/* CSV45.1 · jerarquía uniforme de iconos y redes */
.csv-object__icon,.csv-contact-brand__icon{flex:0 0 64px!important;width:64px!important;height:64px!important;display:grid!important;place-items:center!important;border-radius:22px!important;margin:0!important}
.csv-object--route .csv-object__icon:after{width:52px!important;height:52px!important;background-image:url('/assets/google-maps-premium.svg?v=45.3')!important;filter:none!important}
.contact-cards{display:grid!important;gap:16px!important}.contact-card{min-height:92px!important;display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;gap:18px!important;padding:14px 22px!important;text-align:left!important}.contact-card .csv-object__label,.csv-contact-brand__text{justify-self:start!important;text-align:left!important}.contact-card.csv-object--route .csv-object__label{font-size:1.12rem!important}
.social{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;margin-top:8px!important}.social a{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;gap:18px!important;min-height:94px!important;padding:14px 24px!important;border-radius:30px!important;background:linear-gradient(145deg,#fff,#e8f0f7)!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 18px 34px rgba(2,36,63,.18),inset 0 2px 2px #fff,inset 0 -5px 12px rgba(3,56,91,.08)!important;color:#07385f!important;text-decoration:none!important;font-weight:850!important;font-size:1.08rem!important}.social a:before{content:"";width:56px;height:56px;display:block;background:center/contain no-repeat;filter:drop-shadow(0 8px 8px rgba(2,38,66,.18))}.social a.csv-social--facebook:before{background-image:url('/assets/facebook-oficial.svg?v=45.3')}.social a.csv-social--instagram:before{background-image:url('/assets/instagram-oficial.svg?v=45.3')}
@media(max-width:430px){.contact-card,.social a{grid-template-columns:56px minmax(0,1fr)!important;gap:14px!important;padding-inline:16px!important}.csv-object__icon,.csv-contact-brand__icon{width:56px!important;height:56px!important;flex-basis:56px!important}.csv-object--route .csv-object__icon:after{width:48px!important;height:48px!important}.social a:before{width:50px;height:50px}}
/* CSV45.2 · iconografía legible, delimitada y premium */
.csv-object__icon,.csv-contact-brand__icon{
  position:relative!important;overflow:hidden!important;
  border:2px solid rgba(255,255,255,.96)!important;
  outline:1px solid rgba(4,41,70,.22)!important;
  outline-offset:-4px!important;
  box-shadow:0 12px 22px rgba(1,34,59,.24),inset 0 2px 2px rgba(255,255,255,.88),inset 0 -5px 10px rgba(0,30,55,.18)!important;
}
.csv-object__icon:before,.csv-contact-brand__icon:before{content:"";position:absolute;left:8%;right:8%;top:5%;height:38%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,0));pointer-events:none}
.csv-object--call .csv-object__icon{background:linear-gradient(145deg,#24a9f3 0%,#0879c1 52%,#034775 100%)!important}
.csv-object--whatsapp .csv-object__icon{background:linear-gradient(145deg,#3ce88a 0%,#15bb62 52%,#08783f 100%)!important}
.csv-object--call .csv-object__icon svg,.csv-object--whatsapp .csv-object__icon svg{display:none!important}
.csv-object--call .csv-object__icon:after,.csv-object--whatsapp .csv-object__icon:after{content:"";position:relative;z-index:2;width:34px;height:34px;display:block;background:center/contain no-repeat}
.csv-object--call .csv-object__icon:after{background-image:url('/assets/phone-white.svg?v=45.3')}
.csv-object--whatsapp .csv-object__icon:after{background-image:url('/assets/whatsapp-white.svg?v=45.3')}
.csv45-share-mark{width:50px!important;height:50px!important;object-fit:contain!important;filter:none!important}
.csv-contact-brand[data-csv-share] .csv-contact-brand__icon{background:linear-gradient(145deg,#eef9ff,#cfeafa 50%,#91c9e8)!important}
.contact-card,.social a,.btn,.payment.csv-brand-payment{
  border:2px solid rgba(255,255,255,.96)!important;
  outline:1px solid rgba(3,39,67,.20)!important;
  outline-offset:-5px!important;
}
.contact-card:focus-visible,.social a:focus-visible,.btn:focus-visible{outline:3px solid #0b7fc3!important;outline-offset:3px!important}
.csv-object__label,.csv-contact-brand__text,.social a{letter-spacing:-.01em}

/* CSV45.3 · corrección de iconografía oficial, redes y proporciones */
.csv-object--call .csv-object__icon:after{width:38px!important;height:38px!important;background-image:url('/assets/phone-white.svg?v=45.3')!important}
.csv-object--whatsapp .csv-object__icon:after{width:40px!important;height:40px!important;background-image:url('/assets/whatsapp-white.svg?v=45.3')!important}
.csv-contact-brand[data-csv-share] .csv-contact-brand__icon{background:linear-gradient(145deg,#f5fbff 0%,#d7edf9 55%,#a7d4eb 100%)!important}
.csv-contact-brand[data-csv-share] .csv-contact-brand__icon svg{width:42px!important;height:42px!important;display:block!important;filter:drop-shadow(0 7px 7px rgba(0,47,80,.22))}
.cta{align-items:center!important}.cta .social{flex:0 1 430px!important;width:min(100%,430px)!important;min-width:0!important}.social a{width:100%!important;box-sizing:border-box!important;grid-template-columns:64px minmax(0,1fr)!important;overflow:hidden!important}.social a:before{display:none!important}.csv-social-logo{display:block!important;width:56px!important;height:56px!important;object-fit:contain!important;filter:drop-shadow(0 8px 8px rgba(2,38,66,.18))}.social a span{min-width:0!important;overflow-wrap:anywhere!important;line-height:1.18!important}
.csv-payment-logo--brand img[src*="waylet-actual"]{width:auto!important;height:112px!important;max-width:170px!important;object-fit:contain!important}
@media(max-width:760px){.cta{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;padding:30px 22px!important}.cta .social{width:100%!important;max-width:none!important;flex:none!important}.social a{grid-template-columns:56px minmax(0,1fr)!important;min-height:88px!important;padding:14px 18px!important}.csv-social-logo{width:52px!important;height:52px!important}}
@media(max-width:390px){.social a{grid-template-columns:50px minmax(0,1fr)!important;gap:13px!important;padding-inline:14px!important;font-size:1rem!important}.csv-social-logo{width:48px!important;height:48px!important}}
