silviabusaniche.com
https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css:root{
--accent:#56206b;
--accent-2:#6b2b86;
--accent-soft:#f4ebf8;
--text:#111111;
--muted:#5e5e66;
--line:#e9e1ee;
--bg:#ffffff;
--bg-soft:#faf8fb;
--shadow:0 18px 45px rgba(37, 16, 47, .10);
--shadow-soft:0 12px 28px rgba(37, 16, 47, .08);
--radius:24px;
--radius-sm:18px;
--container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
margin:0;
font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
color:var(--text);
background:var(--bg);
overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none}
.container-custom{max-width:var(--container)}
.section{padding:92px 0}
.section.alt{background:var(--bg-soft)}
.eyebrow{
display:inline-flex;
align-items:center;
padding:.55rem .95rem;
border-radius:999px;
background:var(--accent-soft);
color:var(--accent);
font-weight:800;
font-size:.8rem;
letter-spacing:.04em;
text-transform:uppercase;
margin-bottom:1rem;
}
.section-title{
font-size:clamp(2rem, 3.8vw, 3.2rem);
line-height:1.06;
letter-spacing:-.04em;
font-weight:800;
margin-bottom:1rem;
color:var(--text);
}
.section-subtitle{
max-width:760px;
margin:0 auto;
color:var(--muted);
font-size:1.05rem;
line-height:1.8;
}
.navbar{
background:rgba(255,255,255,.92);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
border-bottom:1px solid rgba(86,32,107,.08);
padding:.9rem 0;
}
.navbar-brand{
display:flex;
align-items:center;
gap:.72rem;
color:var(--text)!important;
font-size:.98rem;
font-weight:700;
letter-spacing:-.01em;
}
.brand-logo{
height:40px;
width:auto;
object-fit:contain;
flex:0 0 auto;
}
.navbar-nav .nav-link{
color:var(--text);
font-weight:600;
font-size:.95rem;
padding:.7rem .9rem!important;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{color:var(--accent)}
.navbar-toggler{
border:1px solid rgba(86,32,107,.18);
padding:.55rem .7rem;
box-shadow:none!important;
}
.navbar-toggler:focus{box-shadow:none}
.navbar-toggler-icon{
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(86,32,107,0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.btn-main,
.btn-outline-main{
min-height:54px;
display:inline-flex;
align-items:center;
justify-content:center;
padding:.95rem 1.35rem;
border-radius:14px;
font-weight:700;
font-size:.98rem;
transition:.22s ease;
border:1px solid transparent;
}
.btn-main{
background:var(--accent);
color:#fff;
box-shadow:0 16px 30px rgba(86,32,107,.18);
}
.btn-main:hover{
background:var(--accent-2);
color:#fff;
transform:translateY(-1px);
}
.btn-outline-main{
background:#fff;
color:var(--accent);
border-color:rgba(86,32,107,.18);
}
.btn-outline-main:hover{
background:var(--accent-soft);
color:var(--accent);
transform:translateY(-1px);
}
.hero{
padding:158px 0 92px;
background:
radial-gradient(circle at top left, rgba(86,32,107,.07), transparent 34%),
linear-gradient(180deg, #ffffff 0%, #fbf8fc 100%);
overflow:hidden;
}
.hero-title{
font-size:clamp(2.5rem, 5vw, 5rem);
line-height:.97;
letter-spacing:-.05em;
font-weight:800;
margin-bottom:1.15rem;
}
.hero-title span{color:var(--accent)}
.hero-text{
color:var(--muted);
font-size:1.07rem;
line-height:1.9;
max-width:650px;
margin-bottom:1.7rem;
}
.hero-actions{
display:flex;
flex-wrap:wrap;
gap:.85rem;
margin-bottom:1.3rem;
}
.hero-badges{
display:flex;
flex-wrap:wrap;
gap:.7rem;
}
.hero-badge{
padding:.72rem 1rem;
border-radius:999px;
background:#fff;
border:1px solid rgba(86,32,107,.12);
box-shadow:var(--shadow-soft);
color:#2e2633;
font-size:.92rem;
font-weight:600;
}
.hero-media{
position:relative;
max-width:540px;
margin-inline:auto;
}
.hero-frame{
background:#fff;
border:1px solid var(--line);
border-radius:34px;
padding:14px;
box-shadow:var(--shadow);
}
.hero-img{
width:100%;
aspect-ratio:1/1.08;
object-fit:cover;
border-radius:24px;
}
.hero-note{
position:absolute;
left:-20px;
bottom:18px;
background:#fff;
border:1px solid var(--line);
border-radius:18px;
box-shadow:var(--shadow-soft);
padding:1rem 1.05rem;
max-width:240px;
}
.hero-note strong{
display:block;
color:var(--accent);
font-size:.98rem;
margin-bottom:.3rem;
}
.hero-note span{
color:var(--muted);
font-size:.9rem;
line-height:1.55;
}
.stats-strip{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1rem;
margin-top:2rem;
}
.stat-box{
background:#fff;
border:1px solid var(--line);
border-radius:22px;
padding:1.25rem 1rem;
text-align:center;
box-shadow:var(--shadow-soft);
}
.stat-box strong{
display:block;
color:var(--accent);
font-size:1.45rem;
font-weight:800;
margin-bottom:.25rem;
}
.stat-box span{
color:var(--muted);
font-size:.93rem;
line-height:1.5;
}
.content-card,
.service-card,
.why-card,
.timeline-card,
.contact-card,
.form-card{
background:#fff;
border:1px solid var(--line);
border-radius:var(--radius);
box-shadow:var(--shadow-soft);
}
.content-card,
.contact-card,
.form-card{padding:2rem}
.content-card p:last-child,
.service-card p:last-child,
.why-card p:last-child,
.timeline-card p:last-child{margin-bottom:0}
.about-image-wrap,
.history-image-wrap{
background:#fff;
border:1px solid var(--line);
border-radius:30px;
padding:12px;
box-shadow:var(--shadow);
height:100%;
}
.about-image,
.history-image{
width:100%;
height:100%;
min-height:440px;
object-fit:cover;
border-radius:22px;
}
.quote-band{
margin-top:1.4rem;
padding:1.3rem 1.35rem;
border-radius:22px;
background:linear-gradient(135deg,#fff 0%,#f8f2fb 100%);
border:1px solid var(--line);
color:#261d2a;
font-weight:700;
line-height:1.75;
box-shadow:var(--shadow-soft);
}
.service-card,
.why-card{
padding:1.7rem;
height:100%;
transition:.22s ease;
}
.service-card:hover,
.why-card:hover{
transform:translateY(-4px);
box-shadow:var(--shadow);
border-color:rgba(86,32,107,.16);
}
.service-title,
.why-title,
.timeline-title{
font-size:1.13rem;
line-height:1.35;
font-weight:800;
margin-bottom:.75rem;
}
.service-card p,
.why-card p,
.timeline-card p{
color:var(--muted);
font-size:.98rem;
line-height:1.8;
}
.why-icon{
widt
/* ...cortado... */
.hero{
padding:158px 0 92px;
background:
radial-gradient(circle at top left, rgba(86,32,107,.07), transparent 34%),
linear-gradient(180deg, #ffffff 0%, #fbf8fc 100%);
overflow:hidden;
}
.hero-title{
font-size:clamp(2.5rem, 5vw, 5rem);
line-height:.97;
letter-spacing:-.05em;
font-weight:800;
margin-bottom:1.15rem;
}
.hero-title span{color:var(--accent)}
.hero-text{
color:var(--muted);
font-size:1.07rem;
line-height:1.9;
max-width:650px;
margin-bottom:1.7rem;
}
.hero-actions{
display:flex;
flex-wrap:wrap;
gap:.85rem;
margin-bottom:1.3rem;
}
.hero-badges{
display:flex;
flex-wrap:wrap;
gap:.7rem;
}
.hero-badge{
padding:.72rem 1rem;
border-radius:999px;
background:#fff;
border:1px solid rgba(86,32,107,.12);
box-shadow:var(--shadow-soft);
color:#2e2633;
font-size:.92rem;
font-weight:600;
}
.hero-media{
position:relative;
max-width:560px;
margin-inline:auto;
}
.hero-frame{
position:relative;
background:#fff;
border:1px solid var(--line);
border-radius:34px;
padding:14px;
box-shadow:var(--shadow);
overflow:hidden;
}
.hero-visual{
position:relative;
width:100%;
aspect-ratio:1 / 1.08;
border-radius:24px;
overflow:hidden;
background:
radial-gradient(circle at center, rgba(86,32,107,.08), rgba(86,32,107,.02) 55%, transparent 75%),
linear-gradient(180deg, #f8f2fb 0%, #ffffff 100%);
}
.hero-slide{
position:absolute;
inset:0;
width:100%;
height:100%;
opacity:0;
transition:opacity 1.15s ease-in-out, transform 1.15s ease-in-out;
transform:scale(1.03);
pointer-events:none;
}
.hero-slide.is-active{
opacity:1;
transform:scale(1);
pointer-events:auto;
}
.hero-slide img{
width:100%;
height:100%;
display:block;
}
.hero-slide.photo img{
object-fit:cover;
}
.hero-slide.logo{
display:flex;
align-items:center;
justify-content:center;
padding:12%;
background:
radial-gradient(circle at center, rgba(255,255,255,.96) 0%, rgba(244,235,248,.92) 68%, rgba(236,223,242,.88) 100%);
}
.hero-slide.logo img{
object-fit:contain;
filter:drop-shadow(0 20px 38px rgba(86,32,107,.16));
max-width:82%;
max-height:82%;
}
.hero-switch{
position:absolute;
left:50%;
bottom:16px;
transform:translateX(-50%);
display:inline-flex;
align-items:center;
gap:10px;
padding:.55rem .75rem;
border-radius:999px;
background:rgba(255,255,255,.84);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
border:1px solid rgba(86,32,107,.10);
box-shadow:0 10px 24px rgba(37,16,47,.10);
z-index:3;
}
.hero-dot{
width:11px;
height:11px;
border-radius:50%;
border:none;
background:rgba(86,32,107,.25);
padding:0;
transition:.22s ease;
cursor:pointer;
}
.hero-dot.active{
background:var(--accent);
transform:scale(1.14);
}
.hero-glow{
position:absolute;
width:170px;
height:170px;
border-radius:50%;
background:radial-gradient(circle, rgba(86,32,107,.20) 0%, rgba(86,32,107,0) 72%);
top:-30px;
right:-20px;
pointer-events:none;
filter:blur(4px);
z-index:0;
}
.stats-strip{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1rem;
margin-top:2rem;
}
.stat-box{
background:#fff;
border:1px solid var(--line);
border-radius:22px;
padding:1.25rem 1rem;
text-align:center;
box-shadow:var(--shadow-soft);
}
.stat-box strong{
display:block;
color:var(--accent);
font-size:1.45rem;
font-weight:800;
margin-bottom:.25rem;
}
.stat-box span{
color:var(--muted);
font-size:.93rem;
line-height:1.5;
}
@media (max-width:991.98px){
.hero{padding:138px 0 74px}
.stats-strip{grid-template-columns:1fr}
.hero-media{max-width:520px}
}
@media (max-width:767.98px){
.hero{padding:124px 0 66px}
.hero-actions{flex-direction:column;align-items:stretch}
.btn-main,.btn-outline-main{width:100%}
.hero-switch{bottom:12px}
}
@media (max-width:575.98px){
.hero-title{font-size:2.35rem}
.hero-text{font-size:1rem}
.hero-frame{
border-radius:26px;
padding:10px;
}
.hero-visual{
border-radius:18px;
aspect-ratio:1 / 1.14;
}
.hero-slide.logo{
padding:14%;
}
}
.gallery-ticker-wrap{
position: relative;
overflow: hidden;
margin: 0 0 56px;
padding: 8px 0;
}
.gallery-ticker-wrap::before,
.gallery-ticker-wrap::after{
content: "";
position: absolute;
top: 0;
bottom: 0;
width: 90px;
z-index: 2;
pointer-events: none;
}
.gallery-ticker-wrap::before{
left: 0;
background: linear-gradient(to right, #fff, transparent);
}
.gallery-ticker-wrap::after{
right: 0;
background: linear-gradient(to left, #fff, transparent);
}
.gallery-ticker-wrap .ticker-wrapper{
width: 100%;
overflow: hidden;
}
.gallery-ticker-wrap .ticker-track{
display: flex;
align-items: center;
gap: 40px;
width: max-content;
animation: galleryTickerMove 34s linear infinite;
will-change: transform;
}
.gallery-ticker-wrap .ticker-track:hover{
animation-play-state: paused;
}
.gallery-ticker-wrap .ticker-track img{
height: 420px;
width: 280px;
object-fit: cover;
border-radius: 18px;
flex: 0 0 auto;
filter: none;
opacity: 1;
transition: transform .3s ease, opacity .3s ease, box-shadow .3s ease;
cursor: pointer;
box-shadow: 0 18px 40px rgba(0,0,0,.08);
}
.gallery-ticker-wrap .ticker-track img:hover{
filter: none;
opacity: 1;
transform: scale(1.04);
box-shadow: 0 22px 50px rgba(0,0,0,.14);
}
@keyframes galleryTickerMove{
0%{ transform: translateX(0); }
100%{ transform: translateX(-50%); }
}
.ticker-gallery-modal .modal-dialog{
max-width: min(1200px, calc(100vw - 32px));
}
.ticker-gallery-modal .modal-content{
background: #fff;
border: 0;
border-radius: 24px;
overflow: hidden;
position: relative;
box-shadow: 0 30px 90px rgba(0,0,0,.18);
}
.ticker-modal-close{
position: absolute;
top: 14px;
right: 14px;
width: 46px;
height: 46px;
border: 0;
border-radius: 999px;
background: rgba(255,255,255,.96);
color: #111;
font-size: 30px;
line-height: 1;
z-index: 20;
display: inline-flex;
align-items: center;
justify-content: center;
box-shadow: 0 10px 25px rgba(0,0,0,.12);
}
.ticker-modal-close span{
transform: translateY(-1px);
}
.ticker-modal-image-wrap{
height: 82vh;
min-height: 560px;
padding: 32px;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
}
.ticker-modal-image{
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
border-radius: 18px;
display: block;
}
.ticker-gallery-modal .carousel-control-prev,
.ticker-gallery-modal .carousel-control-next{
width: 72px;
opacity: 1;
}
.ticker-gallery-modal .carousel-control-prev-icon,
.ticker-gallery-modal .carousel-control-next-icon{
width: 44px;
height: 44px;
border-radius: 999px;
background-color: rgba(17,17,17,.78);
background-size: 18px 18px;
}
.ticker-gallery-modal .carousel-indicators{
margin-bottom: 18px;
flex-wrap: wrap;
gap: 6px;
}
.ticker-gallery-modal .carousel-indicators [data-bs-target]{
width: 10px;
height: 10px;
border-radius: 999px;
border: 0;
background-color: rgba(0,0,0,.28);
}
.ticker-gallery-modal .carousel-indicators .active{
background-color: rgba(0,0,0,.82);
}
@media (max-width: 991.98px){
.gallery-ticker-wrap{
margin-bottom: 42px;
}
.gallery-ticker-wrap::before,
.gallery-ticker-wrap::after{
width: 60px;
}
.gallery-ticker-wrap .ticker-track{
gap: 28px;
animation-duration: 30s;
}
.gallery-ticker-wrap .ticker-track img{
height: 340px;
width: 220px;
border-radius: 16px;
}
.ticker-modal-image-wrap{
height: 74vh;
min-height: 460px;
padding: 24px;
}
}
@media (max-width: 767.98px){
.gallery-ticker-wrap{
margin-bottom: 28px;
}
.gallery-ticker-wrap::before,
.gallery-ticker-wrap::after{
width: 28px;
}
.gallery-ticker-wrap .ticker-track{
gap: 18px;
animation-duration: 26s;
}
.gallery-ticker-wrap .ticker-track img{
height: 220px;
width: 150px;
border-radius: 14px;
filter: none;
opacity: 1;
}
.gallery-ticker-wrap .ticker-track img:hover{
transform: none;
}
.ticker-gallery-modal .modal-dialog{
max-width: calc(100vw - 14px);
margin: 7px auto;
}
.ticker-gallery-modal .modal-content{
border-radius: 18px;
}
.ticker-modal-close{
top: 10px;
right: 10px;
width: 42px;
height: 42px;
font-size: 28px;
}
.ticker-modal-image-wrap{
height: 72vh;
min-height: 360px;
padding: 18px 14px 46px;
}
.ticker-gallery-modal .carousel-control-prev,
.ticker-gallery-modal .carousel-control-next{
width: 52px;
}
.ticker-gallery-modal .carousel-control-prev-icon,
.ticker-gallery-modal .carousel-control-next-icon{
width: 38px;
height: 38px;
background-size: 15px 15px;
}
.ticker-gallery-modal .carousel-indicators{
margin-bottom: 12px;
}
}
.wa-float{
position:fixed;
right:18px;
bottom:18px;
z-index:2147483647;
display:flex;
flex-direction:column;
align-items:flex-end;
font-family:inherit;
}
.wa-btn{
width:60px;
height:60px;
border-radius:50%;
border:none;
background:linear-gradient(135deg,#25D366,#128C7E);
color:#fff;
display:grid;
place-items:center;
cursor:pointer;
box-shadow:0 10px 30px rgba(37,211,102,.45);
transition:transform .25s, box-shadow .25s;
}
.wa-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(37,211,102,.55);
}
.wa-card{
position:absolute;
right:0;
bottom:74px;
width:min(360px,92vw);
background:#fff;
border-radius:18px;
border:1px solid #e3e6ea;
box-shadow:0 18px 60px rgba(0,0,0,.25);
overflow:hidden;
transform:translateY(10px);
opacity:0;
transition:.25s ease;
}
.wa-card[aria-modal="true"]{
transform:none;
opacity:1;
}
.wa-head{
display:flex;
align-items:center;
gap:12px;
padding:14px;
background:linear-gradient(135deg,#25D366,#128C7E);
color:#fff;
}
.wa-avatar{
width:40px;
height:40px;
background:#fff;
border-radius:10px;
display:grid;
place-items:center;
overflow:hidden;
}
.wa-avatar img{
width:26px;
height:26px;
object-fit:contain;
}
.wa-title{font-weight:800}
.wa-status{font-size:.85rem;opacity:.9}
.wa-close{
margin-left:auto;
border:none;
background:transparent;
color:#fff;
font-size:24px;
cursor:pointer;
width:32px;
height:32px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
opacity:.9;
}
.wa-close:hover{
opacity:1;
background:rgba(255,255,255,.14);
}
.wa-body{
padding:14px;
max-height:40vh;
overflow:auto;
background:#f8f9fa;
display:flex;
flex-direction:column;
gap:8px;
}
.wa-bubble{
max-width:88%;
padding:10px 12px;
border-radius:14px;
font-size:.95rem;
box-shadow:0 4px 10px rgba(0,0,0,.08);
}
.wa-bot{
background:#fff;
border:1px solid #e3e6ea;
align-self:flex-start;
}
.wa-user{
background:#eaf7f0;
border:1px solid #cfeedd;
align-self:flex-end;
}
.wa-compose{
display:grid;
grid-template-columns:1fr auto;
gap:8px;
padding:10px;
border-top:1px solid #e3e6ea;
background:#fff;
}
.wa-compose textarea{
resize:none;
border-radius:12px;
padding:10px;
border:1px solid #e3e6ea;
font-family:inherit;
outline:none;
}
.wa-send{
background:#25D366;
color:#fff;
border:none;
border-radius:12px;
padding:0 16px;
cursor:pointer;
}
.wa-send:hover{
background:#1fb85a;
}
@media(max-width:480px){
.wa-float{
right:12px;
bottom:12px;
}
.wa-card{
width:calc(100vw - 24px);
}
}
tanimotos.com.ar
https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css/* ============================================
VARIABLES Y CONFIGURACIÓN BASE
============================================ */
:root {
--accent: #fcc70f;
--accent-strong: #e5b000;
--accent-light: rgba(252, 199, 15, 0.12);
--accent-glow: rgba(252, 199, 15, 0.4);
--bg: #ffffff;
--bg-warm: #fffdf8;
--surface: #ffffff;
--text: #111111;
--text-secondary: #1a1a1a;
--muted: #5f5f5f;
--line: #e9e9e9;
--line-soft: rgba(0,0,0,0.04);
/* Sombras refinadas */
--shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
--shadow-md: 0 8px 30px rgba(0,0,0,0.06);
--shadow-lg: 0 20px 50px rgba(0,0,0,0.08);
--shadow-xl: 0 30px 70px rgba(0,0,0,0.1);
--shadow-accent: 0 15px 40px rgba(252, 199, 15, 0.25);
--shadow-accent-lg: 0 20px 50px rgba(252, 199, 15, 0.35);
/* Radios */
--radius-sm: 12px;
--radius-md: 20px;
--radius-lg: 28px;
--radius-xl: 36px;
/* Navbar */
--nav-h: 88px;
/* Transiciones */
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
--ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* ============================================
RESET Y BASE
============================================ */
*, *::before, *::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
overflow-x: clip;
}
body {
margin: 0;
font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
background: var(--bg);
color: var(--text);
overflow-x: clip;
width: 100%;
max-width: 100%;
line-height: 1.6;
}
a {
text-decoration: none;
color: inherit;
transition: color 0.3s var(--ease-out);
}
img {
max-width: 100%;
display: block;
}
/* ============================================
CONTENEDOR PERSONALIZADO
============================================ */
.container-custom {
width: min(1220px, calc(100% - 40px));
margin-inline: auto;
}
/* ============================================
SECCIONES
============================================ */
.section {
padding: 120px 0;
position: relative;
}
.section--alt {
background: var(--bg-warm);
}
/* ============================================
EYEBROW / BADGE
============================================ */
.eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 18px;
border-radius: 100px;
background: linear-gradient(135deg, rgba(252,199,15,0.15) 0%, rgba(252,199,15,0.08) 100%);
border: 1px solid rgba(252,199,15,0.3);
color: #7a5f00;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
position: relative;
overflow: hidden;
}
.eyebrow::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
animation: shimmer 3s infinite;
}
@keyframes shimmer {
0% { left: -100%; }
100% { left: 100%; }
}
/* ============================================
ENCABEZADOS DE SECCIÓN
============================================ */
.section-head {
max-width: 800px;
margin: 0 auto 70px;
text-align: center;
}
.section-title {
font-family: 'Outfit', sans-serif;
font-size: clamp(2.2rem, 4.5vw, 3.4rem);
line-height: 1.1;
font-weight: 800;
margin: 20px 0 18px;
letter-spacing: -0.035em;
color: var(--text);
}
.section-subtitle {
font-size: 1.15rem;
color: var(--muted);
margin: 0;
max-width: 600px;
margin-inline: auto;
line-height: 1.7;
}
.text-gradient {
background: linear-gradient(135deg, #b8860b 0%, #fcc70f 50%, #d4a900 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* ============================================
NAVBAR
============================================ */
.navbar-custom {
background: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
min-height: var(--nav-h);
width: 100%;
max-width: 100%;
transition: all 0.4s var(--ease-out);
}
.navbar-custom.scrolled {
background: rgba(255, 255, 255, 0.95);
box-shadow: var(--shadow-md);
}
.navbar .container-custom {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
flex-wrap: wrap;
min-width: 0;
}
.navbar-brand {
display: flex;
align-items: center;
gap: 14px;
min-width: 0;
font-family: 'Outfit', sans-serif;
font-size: 1.1rem;
font-weight: 800;
letter-spacing: -0.02em;
color: var(--text);
transition: transform 0.3s var(--ease-out);
}
.navbar-brand:hover {
transform: scale(1.02);
}
.navbar-brand img {
height: 44px;
width: auto;
flex: 0 0 auto;
}
.navbar-toggler {
border: 1px solid rgba(0, 0, 0, 0.1);
padding: 10px 14px;
border-radius: var(--radius-sm);
box-shadow: none !important;
transition: all 0.3s var(--ease-out);
}
.navbar-toggler:hover {
background: var(--accent-light);
border-color: var(--accent);
}
.nav-link {
font-weight: 600;
color: var(--text);
padding: 12px 16px !important;
position: relative;
transition: color 0.3s var(--ease-out);
}
.nav-link::after {
content: '';
position: absolute;
bottom: 6px;
left: 16px;
right: 16px;
height: 2px;
background: var(--accent);
border-radius: 2px;
transform: scaleX(0);
transition: transform 0.3s var(--ease-out);
}
.nav-link:hover,
.nav-link:focus {
color: var(--accent-strong);
}
.nav-link:hover::after {
transform: scaleX(1);
}
.navbar-collapse {
min-width: 0;
}
.navbar-nav {
min-width: 0;
}
/* ============================================
BOTONES
============================================ */
.btn-main,
.btn-outline-main {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
min-height: 56px;
padding: 16px 28px;
border-radius: 100px;
font-family: 'Outfit', sans-serif;
font-weight: 700;
font-size: 0.95rem;
letter-spacing: -0.01em;
transition: all 0.4s var(--ease-out);
border: 2px solid transparent;
cursor: pointer;
position: relative;
overflow: hidden;
}
.btn-main {
background: linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);
color: #111;
box-shadow: var(--shadow-accent);
}
.btn-main::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
transition: left 0.5s var(--ease-out);
}
.btn-main:hover {
tran
/* ...cortado... */
.flashes-loop-section{
background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
overflow: hidden;
position: relative;
}
.flashes-loop-wrap{
max-width: 1120px;
margin: 0 auto;
}
.flashes-stage{
position: relative;
min-height: 470px;
display: flex;
align-items: center;
justify-content: center;
isolation: isolate;
}
.flashes-stage::before{
content: "";
position: absolute;
left: 50%;
bottom: 10px;
transform: translateX(-50%);
width: min(760px, 82%);
height: 120px;
background: radial-gradient(circle, rgba(10,43,74,.10) 0%, rgba(10,43,74,.04) 42%, transparent 72%);
filter: blur(22px);
z-index: 0;
pointer-events: none;
}
.flash-loop-card{
position: absolute;
width: clamp(250px, 28vw, 355px);
aspect-ratio: 4 / 5;
border-radius: 30px;
background:
radial-gradient(circle at top right, rgba(200,169,110,.16), transparent 35%),
linear-gradient(135deg, #fcfcfc 0%, #f5f7fa 100%);
border: 1px solid rgba(10,43,74,.06);
box-shadow: 0 18px 40px rgba(7,29,53,.10);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
padding: 18px;
will-change: transform, opacity, filter;
transition:
transform 1s cubic-bezier(.22,.8,.2,1),
opacity 1s ease,
filter 1s ease,
box-shadow 1s ease;
backface-visibility: hidden;
}
.flash-loop-card::before{
content:"";
position:absolute;
inset:0;
background: linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 32%);
pointer-events:none;
z-index:1;
}
.flash-loop-card::after{
content:"";
position:absolute;
inset:-10%;
background: linear-gradient(115deg, transparent 24%, rgba(255,255,255,.70) 50%, transparent 76%);
transform: translateX(-140%);
opacity: 0;
pointer-events:none;
z-index:2;
}
.flash-loop-card img{
position: relative;
z-index: 0;
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
display: block;
filter: drop-shadow(0 16px 24px rgba(10,43,74,.14));
pointer-events: none;
user-select: none;
transition: transform 1s cubic-bezier(.22,.8,.2,1), filter 1s ease;
}
.flash-pos-center{
transform: translateX(0) scale(1) rotate(0deg);
opacity: 1;
z-index: 5;
filter: blur(0) saturate(1.08) brightness(1.02);
box-shadow: 0 28px 64px rgba(7,29,53,.20);
animation: flashCenterBoom .92s cubic-bezier(.2,.88,.24,1);
}
.flash-pos-center::after{
animation: flashFrontSweep .9s ease;
}
.flash-pos-center img{
transform: scale(1.03);
filter: drop-shadow(0 20px 30px rgba(10,43,74,.18));
}
.flash-pos-right{
transform: translateX(265px) scale(.88) rotate(4deg);
opacity: .62;
z-index: 3;
filter: blur(5px) saturate(.72) brightness(.92);
box-shadow: 0 12px 22px rgba(7,29,53,.07);
}
.flash-pos-right img{
transform: scale(.96);
filter: drop-shadow(0 10px 16px rgba(10,43,74,.10));
}
.flash-pos-left{
transform: translateX(-265px) scale(.88) rotate(-4deg);
opacity: .62;
z-index: 2;
filter: blur(5px) saturate(.72) brightness(.92);
box-shadow: 0 12px 22px rgba(7,29,53,.07);
}
.flash-pos-left img{
transform: scale(.96);
filter: drop-shadow(0 10px 16px rgba(10,43,74,.10));
}
.flash-pos-hidden{
transform: translateX(430px) scale(.74) rotate(8deg);
opacity: 0;
z-index: 1;
filter: blur(14px) saturate(.55) brightness(.86);
pointer-events: none;
box-shadow: none;
}
.flash-pos-hidden-left{
transform: translateX(-430px) scale(.74) rotate(-8deg);
opacity: 0;
z-index: 1;
filter: blur(14px) saturate(.55) brightness(.86);
pointer-events: none;
box-shadow: none;
}
@keyframes flashCenterBoom{
0%{
transform: translateX(110px) scale(.68) rotate(10deg);
opacity: 0;
filter: blur(14px) brightness(1.08);
}
38%{
transform: translateX(-18px) scale(1.10) rotate(-2.6deg);
opacity: 1;
filter: blur(0) brightness(1.06);
}
60%{
transform: translateX(8px) scale(.985) rotate(.8deg);
}
78%{
transform: translateX(-4px) scale(1.02) rotate(-.35deg);
}
100%{
transform: translateX(0) scale(1) rotate(0deg);
opacity: 1;
filter: blur(0) brightness(1);
}
}
@keyframes flashFrontSweep{
0%{
transform: translateX(-140%);
opacity: 0;
}
18%{
opacity: .9;
}
100%{
transform: translateX(140%);
opacity: 0;
}
}
@media (max-width: 991px){
.flashes-stage{
min-height: 390px;
}
.flash-loop-card{
width: min(40vw, 295px);
border-radius: 26px;
}
.flash-pos-right{
transform: translateX(170px) scale(.86) rotate(4deg);
filter: blur(5px) saturate(.7) brightness(.92);
}
.flash-pos-left{
transform: translateX(-170px) scale(.86) rotate(-4deg);
filter: blur(5px) saturate(.7) brightness(.92);
}
.flash-pos-hidden{
transform: translateX(300px) scale(.72) rotate(8deg);
}
.flash-pos-hidden-left{
transform: translateX(-300px) scale(.72) rotate(-8deg);
}
}
@media (max-width: 640px){
.flashes-loop-wrap .text-center{
margin-bottom: 2rem !important;
}
.flashes-stage{
min-height: 315px;
}
.flash-loop-card{
width: min(72vw, 276px);
padding: 14px;
border-radius: 22px;
}
.flash-pos-center{
transform: translateX(0) scale(1);
}
.flash-pos-right{
transform: translateX(68px) scale(.82) rotate(4deg);
opacity: .38;
filter: blur(7px) saturate(.66) brightness(.9);
}
.flash-pos-left{
transform: translateX(-68px) scale(.82) rotate(-4deg);
opacity: .38;
filter: blur(7px) saturate(.66) brightness(.9);
}
.flash-pos-hidden,
.flash-pos-hidden-left{
opacity: 0;
}
@keyframes flashCenterBoom{
0%{
transform: translateX(75px) scale(.7) rotate(9deg);
opacity: 0;
filter: blur(12px) brightness(1.06);
}
4
/* ...cortado... */
.wa-float{
position:fixed;
right:18px;
bottom:18px;
z-index:2147483647;
display:flex;
flex-direction:column;
align-items:flex-end;
font-family:inherit;
}
.wa-btn{
width:60px;
height:60px;
border-radius:50%;
border:none;
background:linear-gradient(135deg,#25D366,#128C7E);
color:#fff;
display:grid;
place-items:center;
cursor:pointer;
box-shadow:0 10px 30px rgba(37,211,102,.45);
transition:transform .25s, box-shadow .25s;
}
.wa-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(37,211,102,.55);
}
.wa-card{
position:absolute;
right:0;
bottom:74px;
width:min(360px,92vw);
background:#fff;
border-radius:18px;
border:1px solid #e3e6ea;
box-shadow:0 18px 60px rgba(0,0,0,.25);
overflow:hidden;
transform:translateY(10px);
opacity:0;
transition:.25s ease;
}
.wa-card[aria-modal="true"]{
transform:none;
opacity:1;
}
.wa-head{
display:flex;
align-items:center;
gap:12px;
padding:14px;
background:linear-gradient(135deg,#fcc70f,#d5a600);
color:#111;
}
.wa-avatar{
width:40px;
height:40px;
background:#fff;
border-radius:10px;
display:grid;
place-items:center;
overflow:hidden;
}
.wa-avatar img{
width:26px;
height:26px;
object-fit:contain;
}
.wa-title{
font-weight:800;
}
.wa-status{
font-size:.85rem;
opacity:.85;
}
.wa-close{
margin-left:auto;
border:none;
background:transparent;
color:#111;
font-size:24px;
cursor:pointer;
width:32px;
height:32px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
opacity:.9;
}
.wa-close:hover{
opacity:1;
background:rgba(255,255,255,.35);
}
.wa-body{
padding:14px;
max-height:40vh;
overflow:auto;
background:#f8f9fa;
display:flex;
flex-direction:column;
gap:8px;
}
.wa-bubble{
max-width:88%;
padding:10px 12px;
border-radius:14px;
font-size:.95rem;
box-shadow:0 4px 10px rgba(0,0,0,.08);
}
.wa-bot{
background:#fff;
border:1px solid #e3e6ea;
align-self:flex-start;
}
.wa-user{
background:#fff7d1;
border:1px solid #f0dc7a;
align-self:flex-end;
}
.wa-compose{
display:grid;
grid-template-columns:1fr auto;
gap:8px;
padding:10px;
border-top:1px solid #e3e6ea;
background:#fff;
}
.wa-compose textarea{
resize:none;
border-radius:12px;
padding:10px;
border:1px solid #e3e6ea;
font-family:inherit;
outline:none;
}
.wa-compose textarea:focus{
border-color:#fcc70f;
box-shadow:0 0 0 3px rgba(252,199,15,.18);
}
.wa-send{
background:#fcc70f;
color:#111;
border:none;
border-radius:12px;
padding:0 16px;
cursor:pointer;
}
.wa-send:hover{
background:#e5b400;
}
@media(max-width:480px){
.wa-float{
right:12px;
bottom:12px;
}
.wa-card{
width:calc(100vw - 24px);
}
}
carpinteriavip.com.ar
https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css/* ═══════════════════════════════════════════════════════════════
CSS VARIABLES - Respetando paleta original con extensiones
═══════════════════════════════════════════════════════════════ */
:root {
--accent: #8a3c8f;
--accent-2: #f39200;
--accent-light: rgba(138, 60, 143, 0.08);
--accent-glow: rgba(138, 60, 143, 0.25);
--text: #161616;
--text-secondary: #3d3d3d;
--muted: #5e5e66;
--bg: #ffffff;
--bg-soft: #f7f5f8;
--bg-cream: #fdfbfe;
--line: #e9e1ea;
--line-soft: rgba(138, 60, 143, 0.06);
--footer: #8a3c8f;
--shadow-sm: 0 4px 20px rgba(19, 16, 24, 0.04);
--shadow: 0 18px 50px rgba(19, 16, 24, 0.08);
--shadow-lg: 0 32px 80px rgba(19, 16, 24, 0.12);
--shadow-glow: 0 20px 60px rgba(138, 60, 143, 0.18);
--radius: 24px;
--radius-sm: 16px;
--radius-xs: 12px;
--nav-h: 88px;
--transition: cubic-bezier(0.4, 0, 0.2, 1);
--transition-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* ═══════════════════════════════════════════════════════════════
RESET & BASE
═══════════════════════════════════════════════════════════════ */
*, *::before, *::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
margin: 0;
font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
color: var(--text);
background: var(--bg);
overflow-x: hidden;
line-height: 1.6;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
text-decoration: none;
transition: all 0.3s var(--transition);
}
/* ═══════════════════════════════════════════════════════════════
UTILITIES
═══════════════════════════════════════════════════════════════ */
.container-custom {
width: min(1220px, calc(100% - 40px));
margin-inline: auto;
}
.section {
padding: 120px 0;
position: relative;
}
/* Animated gradient text */
.text-gradient {
background: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 50%, var(--accent) 100%);
background-size: 200% auto;
-webkit-background-clip: text;
background-clip: text;
color: transparent;
animation: shimmer 3s linear infinite;
}
@keyframes shimmer {
0% { background-position: 0% center; }
100% { background-position: 200% center; }
}
/* Eyebrow badge with glow */
.eyebrow {
display: inline-flex;
align-items: center;
gap: 0.6rem;
padding: 0.55rem 1.1rem;
border-radius: 999px;
background: linear-gradient(135deg, rgba(138, 60, 143, 0.1), rgba(243, 146, 0, 0.08));
color: var(--accent);
font-family: 'Sora', sans-serif;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
margin-bottom: 1.25rem;
border: 1px solid rgba(138, 60, 143, 0.12);
box-shadow: 0 4px 24px rgba(138, 60, 143, 0.08);
position: relative;
overflow: hidden;
}
.eyebrow::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
transform: translateX(-100%);
animation: eyebrow-shine 3s ease-in-out infinite;
}
@keyframes eyebrow-shine {
0%, 100% { transform: translateX(-100%); }
50% { transform: translateX(100%); }
}
/* Section titles */
.section-title {
font-family: 'Sora', sans-serif;
font-size: clamp(2.2rem, 4vw, 3.2rem);
line-height: 1.1;
font-weight: 800;
letter-spacing: -0.035em;
margin: 0 0 1.25rem;
color: var(--text);
}
.section-subtitle {
max-width: 680px;
margin: 0 auto;
color: var(--muted);
font-size: 1.1rem;
line-height: 1.8;
}
/* ═══════════════════════════════════════════════════════════════
NAVBAR - Premium glassmorphism
═══════════════════════════════════════════════════════════════ */
.site-navbar {
min-height: var(--nav-h);
background: rgba(255, 255, 255, 0.75);
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
border-bottom: 1px solid rgba(138, 60, 143, 0.06);
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
transition: all 0.4s var(--transition);
}
.site-navbar.scrolled {
background: rgba(255, 255, 255, 0.92);
box-shadow: 0 8px 40px rgba(0, 0, 0, 0.06);
}
.site-navbar .container-custom {
min-height: var(--nav-h);
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}
.navbar-brand {
display: flex;
align-items: center;
gap: 0.85rem;
color: var(--text);
font-weight: 700;
}
.navbar-brand img {
height: 44px;
width: auto;
object-fit: contain;
transition: transform 0.3s var(--transition);
}
.navbar-brand:hover img {
transform: scale(1.05) rotate(-2deg);
}
.brand-copy {
display: flex;
flex-direction: column;
line-height: 1.15;
}
.brand-copy strong {
font-family: 'Sora', sans-serif;
font-size: 1.05rem;
font-weight: 800;
letter-spacing: -0.02em;
}
.brand-copy span {
font-size: 0.78rem;
color: var(--muted);
font-weight: 500;
}
.navbar-nav .nav-link {
color: var(--text);
font-weight: 600;
font-size: 0.92rem;
padding: 0.9rem 1.1rem !important;
position: relative;
overflow: hidden;
}
.navbar-nav .nav-link::after {
content: '';
position: absolute;
bottom: 6px;
left: 1.1rem;
right: 1.1rem;
height: 2px;
background: linear-gradient(90deg, var(--accent), var(--accent-2));
border-radius: 2px;
transform: scaleX(0);
transform-origin: center;
transition: transform 0.3s var(--transition);
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link:focus::after {
transform: scaleX(1);
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
color: var(--accent);
}
.navbar-toggler {
border: none;
box-shadow: none !important;
padding: 0.6rem 0.75rem;
border-radius: var(--radius-xs);
background: linear-gradient(135deg, rgba(138, 60, 143, 0.1), rgba(243, 146, 0, 0.08));
transition: all 0.3s var(--transition);
}
.navbar
/* ...cortado... */
:root{
--wa:#25D366;
--wa-dark:#1fb85a;
--wa-darker:#189a4a;
--light-bg:#ffffff;
--light-bg-soft:#f6f8f7;
--light-border:#dde4df;
--dark-text:#1c1f1d;
--muted-text:#6c756f;
}
.fb-float{
position:fixed; right:18px; bottom:166px;
z-index:9997;
width:54px; height:54px; border-radius:50%;
display:grid; place-items:center; color:#fff; text-decoration:none;
background: linear-gradient(180deg, #1877F2 0%, #0f63d6 100%);
box-shadow:0 10px 30px rgba(0,0,0,.25);
transition:transform .25s, box-shadow .25s, opacity .25s;
}
.fb-float:hover{
transform:translateY(-2px) scale(1.04);
box-shadow:0 14px 36px rgba(0,0,0,.35);
}
.ig-float{
position:fixed; right:18px; bottom:92px;
z-index:9998;
width:54px; height:54px; border-radius:50%;
display:grid; place-items:center; color:#fff; text-decoration:none;
background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
box-shadow:0 10px 30px rgba(0,0,0,.25);
transition:transform .25s, box-shadow .25s, opacity .25s;
}
.ig-float:hover{
transform:translateY(-2px) scale(1.04);
box-shadow:0 14px 36px rgba(0,0,0,.35);
}
.wa-float{
position:fixed; right:18px; bottom:18px;
z-index:9999; font-family:inherit;
}
.wa-btn{
background:var(--wa);
color:#fff;
border:0;
width:60px; height:60px; border-radius:50%;
display:grid; place-items:center;
box-shadow:0 10px 30px rgba(0,0,0,.22);
cursor:pointer; transition:transform .3s, box-shadow .3s, filter .3s;
position:relative; overflow:hidden;
z-index:9999;
}
.wa-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(0,0,0,.28);
filter:brightness(.98);
}
.wa-card{
position:absolute; right:0; bottom:74px;
width:min(360px,92vw);
background:var(--light-bg);
color:var(--dark-text);
border-radius:18px;
overflow:hidden;
box-shadow:0 18px 60px rgba(0,0,0,.25);
border:1px solid var(--light-border);
transform:translateY(10px);
opacity:0;
transition:transform .3s, opacity .3s;
z-index:10000;
}
.wa-card[aria-modal="true"]{
transform:translateY(0);
opacity:1;
}
.wa-head{
display:flex; align-items:center; gap:12px;
padding:14px 16px;
background:linear-gradient(135deg, #ffffff, #ecf6f0);
border-bottom:1px solid var(--light-border);
}
.wa-avatar{
width:40px; height:40px; border-radius:10px;
background:#e9f7ef;
display:grid; place-items:center;
border:1px solid #cfeeda;
overflow:hidden;
}
.wa-title{
font-weight:800;
font-size:1.02rem;
color:var(--dark-text);
}
.wa-status{
font-size:.85rem;
color:var(--muted-text);
display:flex; align-items:center; gap:6px;
}
.wa-status::before{
content:""; width:8px; height:8px; border-radius:50%;
background:var(--wa);
}
.wa-close{
margin-left:auto;
background:transparent;
color:var(--muted-text);
border:0;
font-size:24px;
cursor:pointer;
opacity:.75;
width:32px; height:32px;
border-radius:50%;
display:flex; align-items:center; justify-content:center;
transition:.2s;
}
.wa-close:hover{
opacity:1;
background:rgba(0,0,0,.04);
}
.wa-body{
padding:12px 14px;
max-height:40vh;
overflow:auto;
background:var(--light-bg-soft);
display:flex;
flex-direction:column;
gap:8px;
}
.wa-bubble{
max-width:88%;
padding:9px 11px;
border-radius:14px;
line-height:1.35;
box-shadow:0 3px 10px rgba(0,0,0,.06);
animation:fadeIn .25s ease;
font-size:0.9rem;
}
@keyframes fadeIn{
from{opacity:0; transform:translateY(5px)}
to{opacity:1; transform:none}
}
.wa-bot{
background:#ffffff;
border:1px solid var(--light-border);
align-self:flex-start;
border-bottom-left-radius:4px;
}
.wa-user{
background:var(--wa);
color:#fff;
align-self:flex-end;
border-bottom-right-radius:4px;
}
.wa-compose{
display:grid;
grid-template-columns:1fr auto;
gap:8px;
padding:10px 12px;
background:#ffffff;
border-top:1px solid var(--light-border);
}
.wa-compose textarea{
resize:none;
border-radius:12px;
padding:10px 12px;
border:1px solid var(--light-border);
background:#f9fbfa;
color:var(--dark-text);
outline:none;
min-height:44px;
font-family:inherit;
font-size:0.9rem;
transition:.2s;
}
.wa-compose textarea:focus{
border-color:var(--wa);
box-shadow:0 0 0 2px rgba(37,211,102,.15);
background:#ffffff;
}
.wa-send{
background:var(--wa);
color:#ffffff;
border:0;
border-radius:12px;
padding:0 16px;
font-weight:700;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:.2s;
}
.wa-send:hover{
background:var(--wa-dark);
transform:scale(1.04);
}
.wa-body::-webkit-scrollbar{ width:6px; }
.wa-body::-webkit-scrollbar-track{ background:rgba(0,0,0,.03); border-radius:3px; }
.wa-body::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.12); border-radius:3px; }
.wa-body::-webkit-scrollbar-thumb:hover{ background:rgba(0,0,0,.18); }
@media (max-width:480px){
.fb-float{ right:12px; bottom:160px; width:52px; height:52px; }
.ig-float{ right:12px; bottom:86px; width:52px; height:52px; }
.wa-float{ right:12px; bottom:12px; }
.wa-card{ width:calc(100vw - 24px); right:0; }
}
abogadorodriguezcastroyasociados.com.ar
https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css:root {
--font-display: 'Cormorant Garamond', Georgia, serif;
--font-body: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
--brand: #7a2b2f;
--brand-light: #93363a;
--brand-dark: #652125;
--accent: #c9a467;
--accent-light: #d4b57e;
--accent-dark: #a88446;
--dark: #0d1117;
--dark-soft: #161b22;
--muted: #8b949e;
--light: #f0f3f6;
--lighter: #f8fafc;
--white: #ffffff;
--gold-gradient: linear-gradient(135deg, #d4af37 0%, #c9a467 25%, #f4d03f 50%, #c9a467 75%, #a88446 100%);
--brand-gradient: linear-gradient(135deg, #5c1d21 0%, #8d3236 48%, #74272b 100%);
--shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
--shadow-md: 0 8px 30px rgba(0,0,0,0.12);
--shadow-lg: 0 20px 60px rgba(0,0,0,0.15);
--shadow-gold: 0 10px 40px rgba(201, 164, 103, 0.25);
--shadow-brand: 0 10px 40px rgba(122, 43, 47, 0.22);
--radius: 16px;
--radius-lg: 24px;
--radius-xl: 32px;
--ease-smooth: cubic-bezier(0.25, 0.8, 0.25, 1);
--ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
--ease-expo: cubic-bezier(0.19, 1, 0.22, 1);
}
*, *::before, *::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: var(--font-body);
font-weight: 400;
color: #374151;
line-height: 1.7;
overflow-x: hidden;
background: var(--white);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* ========================================
TYPOGRAPHY SYSTEM
======================================== */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
font-family: var(--font-display);
color: var(--dark);
font-weight: 600;
letter-spacing: -0.02em;
line-height: 1.15;
}
.display-4 { font-size: clamp(2.5rem, 5vw, 4rem); }
.display-5 { font-size: clamp(2rem, 4vw, 3rem); }
.display-6 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.lead {
font-size: 1.15rem;
font-weight: 400;
line-height: 1.8;
color: var(--muted);
}
/* ========================================
NAVIGATION
======================================== */
.navbar {
padding: 1.25rem 0;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1030;
transition: all 0.5s var(--ease-smooth);
background: transparent;
}
.navbar.scrolled {
background: rgba(13, 17, 23, 0.97);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
padding: 0.75rem 0;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}
.navbar .navbar-brand {
font-family: var(--font-body);
font-size: 0.95rem;
font-weight: 600;
color: var(--white);
display: flex;
align-items: center;
gap: 0.85rem;
text-decoration: none;
transition: all 0.3s var(--ease-smooth);
}
.navbar .navbar-brand:hover {
transform: translateX(3px);
}
.navbar .navbar-brand img {
height: 44px;
width: auto;
display: block;
object-fit: contain;
transition: all 0.3s var(--ease-smooth);
}
.navbar-dark .navbar-nav .nav-link {
font-family: var(--font-body);
font-weight: 500;
font-size: 0.9rem;
color: rgba(255, 255, 255, 0.85);
margin: 0 0.15rem;
padding: 0.6rem 1rem !important;
position: relative;
letter-spacing: 0.03em;
transition: all 0.3s var(--ease-smooth);
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
color: var(--white);
}
.navbar-dark .navbar-nav .nav-link::before {
content: '';
position: absolute;
bottom: 4px;
left: 1rem;
right: 1rem;
height: 2px;
background: var(--gold-gradient);
transform: scaleX(0);
transform-origin: right;
transition: transform 0.4s var(--ease-expo);
}
.navbar-dark .navbar-nav .nav-link:hover::before,
.navbar-dark .navbar-nav .nav-link.active::before {
transform: scaleX(1);
transform-origin: left;
}
.navbar-toggler {
border: none;
padding: 0.5rem;
position: relative;
width: 40px;
height: 40px;
}
.navbar-toggler:focus {
box-shadow: none;
}
.navbar-toggler-icon {
background-image: none !important;
position: relative;
width: 24px;
height: 2px;
background: var(--white);
display: block;
transition: all 0.3s var(--ease-smooth);
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
content: '';
position: absolute;
left: 0;
width: 100%;
height: 2px;
background: var(--white);
transition: all 0.3s var(--ease-smooth);
}
.navbar-toggler-icon::before { top: -7px; }
.navbar-toggler-icon::after { bottom: -7px; }
/* ========================================
BUTTONS
======================================== */
.btn-brand {
font-family: var(--font-body);
font-weight: 600;
font-size: 0.9rem;
letter-spacing: 0.04em;
background: var(--gold-gradient);
background-size: 200% 200%;
color: var(--dark);
border: none;
border-radius: 50px;
padding: 1rem 2rem;
position: relative;
overflow: hidden;
transition: all 0.4s var(--ease-smooth);
box-shadow: var(--shadow-gold);
}
.btn-brand::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
transition: left 0.6s var(--ease-smooth);
}
.btn-brand:hover {
transform: translateY(-3px);
box-shadow: 0 15px 50px rgba(201, 164, 103, 0.4);
background-position: 100% 0;
color: var(--dark);
}
.btn-brand:hover::before {
left: 100%;
}
.btn-outline-elegant {
font-family: var(--font-body);
font-weight: 500;
font-size: 0.9rem;
letter-spacing: 0.04em;
background: transparent;
color: var(--white);
border: 1.5px solid rgba(255, 255, 255, 0.4);
border-radius: 50px;
padding: 1rem 2rem;
position: relative;
overflow: hidden;
transition: all 0.4s var(--ease-smooth);
}
.btn-outline-elegant:hover {
background: var(--white);
color: var(--dark);
border-color: var(--white);
transform: translateY(-3px);
box-shadow: 0 15px 40px rgba(255, 255, 255, 0.15);
}
/* ========================================
HERO SECTION
======================================== */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
position: relative;
overflow: hidden;
color: var(--white);
background: var(--dark);
}
.hero::before {
content: '';
position: absolute;
inset: 0;
background:
linear-gradient(135deg, rgba(101, 33, 37, 0.58) 0%, rgba(58, 16, 20, 0.66) 100%),
url('img/hero.png') center/cover no-repeat;
z-index: 1;
}
.hero::after {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at 20% 50%, rgba(201, 164, 103, 0.08) 0%, transparent 50%),
radial-gradient(ellipse at 80% 20%, rgba(147, 54, 58, 0.26) 0%, transparent 40%);
z-i
/* ...cortado... */
.service-card {
height: 100%;
padding: 32px 26px;
border-radius: 22px;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.08);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-card:hover {
transform: translateY(-6px);
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.10);
border-color: rgba(0, 0, 0, 0.12);
}
.service-icon {
width: 62px;
height: 62px;
border-radius: 18px;
display: inline-flex;
align-items: center;
justify-content: center;
margin-bottom: 18px;
background: linear-gradient(135deg, var(--accent, #c5a46d), rgba(197, 164, 109, 0.18));
color: #111;
box-shadow: 0 10px 24px rgba(197, 164, 109, 0.22);
}
.service-icon i {
font-size: 1.55rem;
line-height: 1;
}
.service-card h3 {
font-size: 1.28rem;
font-weight: 700;
margin-bottom: 14px;
color: #111;
}
.service-card p {
margin-bottom: 0;
color: #4b5563;
line-height: 1.7;
}
@media (max-width: 767.98px) {
.service-card {
padding: 24px 20px;
border-radius: 18px;
}
.service-icon {
width: 56px;
height: 56px;
border-radius: 16px;
margin-bottom: 16px;
}
.service-icon i {
font-size: 1.35rem;
}
.service-card h3 {
font-size: 1.15rem;
}
}
.specialty-main-card {
position: relative;
background: linear-gradient(135deg, #ffffff 0%, #fcfaf7 100%);
border: 1px solid rgba(0, 0, 0, 0.07);
border-radius: 28px;
padding: 38px 34px;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.07);
overflow: hidden;
}
.specialty-main-card::before {
content: "";
position: absolute;
inset: 0 auto 0 0;
width: 5px;
background: var(--gold-gradient);
}
.specialty-main-card::after {
content: "";
position: absolute;
top: -70px;
right: -70px;
width: 220px;
height: 220px;
border-radius: 50%;
background: radial-gradient(circle, rgba(201, 164, 103, 0.14) 0%, transparent 70%);
pointer-events: none;
}
.specialty-kicker {
display: inline-block;
margin-bottom: 14px;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--brand);
}
.specialty-main-card h3 {
font-size: 2rem;
line-height: 1.15;
margin-bottom: 18px;
color: var(--dark);
}
.specialty-main-card p {
color: #4b5563;
line-height: 1.85;
margin-bottom: 16px;
}
.specialty-highlight-list {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 24px;
}
.specialty-highlight {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 12px 16px;
border-radius: 999px;
background: rgba(122, 43, 47, 0.06);
border: 1px solid rgba(122, 43, 47, 0.10);
color: #1f2937;
font-size: 0.92rem;
font-weight: 600;
}
.specialty-highlight i {
color: var(--brand);
font-size: 1rem;
}
.specialty-card {
display: flex;
align-items: flex-start;
gap: 18px;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.07);
border-radius: 24px;
padding: 28px 24px;
box-shadow: 0 14px 36px rgba(0, 0, 0, 0.05);
transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.specialty-card:hover {
transform: translateY(-6px);
box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
border-color: rgba(201, 164, 103, 0.35);
}
.specialty-icon {
width: 60px;
height: 60px;
min-width: 60px;
border-radius: 18px;
display: inline-flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--accent) 0%, rgba(201, 164, 103, 0.18) 100%);
color: #111;
box-shadow: 0 10px 24px rgba(201, 164, 103, 0.20);
}
.specialty-icon i {
font-size: 1.4rem;
line-height: 1;
}
.specialty-card h3 {
font-size: 1.3rem;
margin-bottom: 10px;
color: var(--dark);
}
.specialty-card p {
margin-bottom: 0;
color: #4b5563;
line-height: 1.8;
}
.specialty-bottom-note {
margin-top: 30px;
padding: 22px 24px;
border-radius: 20px;
background: linear-gradient(135deg, rgba(122, 43, 47, 0.05) 0%, rgba(201, 164, 103, 0.10) 100%);
border: 1px solid rgba(201, 164, 103, 0.18);
text-align: center;
}
.specialty-bottom-note p {
color: #374151;
line-height: 1.8;
}
@media (max-width: 991.98px) {
.specialty-main-card {
padding: 30px 24px;
border-radius: 24px;
}
.specialty-main-card h3 {
font-size: 1.7rem;
}
}
@media (max-width: 767.98px) {
.specialty-main-card,
.specialty-card {
border-radius: 20px;
}
.specialty-main-card {
padding: 26px 20px;
}
.specialty-card {
padding: 22px 18px;
gap: 14px;
}
.specialty-icon {
width: 52px;
height: 52px;
min-width: 52px;
border-radius: 16px;
}
.specialty-icon i {
font-size: 1.2rem;
}
.specialty-main-card h3 {
font-size: 1.5rem;
}
.specialty-card h3 {
font-size: 1.12rem;
}
.specialty-highlight-list {
gap: 10px;
}
.specialty-highlight {
width: 100%;
justify-content: flex-start;
border-radius: 16px;
}
.specialty-bottom-note {
padding: 18px 16px;
border-radius: 18px;
}
}
#nosotros .about-card {
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 24px;
padding: 34px 30px;
box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06);
height: 100%;
}
#nosotros .about-accent {
display: block;
width: 84px;
height: 4px;
border-radius: 999px;
background: var(--accent, #c5a46d);
margin-bottom: 22px;
}
#nosotros .brand-pic {
position: relative;
width: 100%;
min-height: 520px;
border-radius: 28px;
overflow: hidden;
background: #f4f4f4;
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.10);
}
#nosotros .brand-slider {
isolation: isolate;
}
#nosotros .brand-slider .brand-image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
visibility: hidden;
transition: opacity 1.2s ease, visibility 1.2s ease, transform 1.8s ease;
transform: scale(1.03);
}
#nosotros .brand-slider .brand-image.active {
opacity: 1;
visibility: visible;
z-index: 2;
transform: scale(1);
}
@media (max-width: 991.98px) {
#nosotros .brand-pic {
min-height: 430px;
}
}
@media (max-width: 767.98px) {
#nosotros .about-card {
padding: 26px 20px;
border-radius: 20px;
}
#nosotros .brand-pic {
min-height: 320px;
border-radius: 22px;
}
}
.site-footer {
background: var(--accent);
color: var(--dark);
padding: 4.5rem 0 2rem;
position: relative;
}
.site-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--brand), var(--brand-light), var(--brand));
}
.footer-brand {
display: inline-flex;
align-items: center;
gap: 1rem;
text-decoration: none;
margin-bottom: 1.5rem;
}
.footer-brand img {
height: 48px;
width: auto;
display: block;
}
.footer-brand span {
font-family: var(--font-body);
font-size: 1rem;
font-weight: 700;
color: var(--dark);
line-height: 1.3;
}
.footer-head {
font-family: var(--font-display);
font-size: 1.35rem;
font-weight: 600;
color: var(--dark);
margin-bottom: 1.3rem;
}
.footer-text {
max-width: 330px;
font-size: 1rem;
line-height: 1.8;
color: rgba(17, 24, 39, 0.9);
}
.footer-nav,
.footer-list {
list-style: none;
padding: 0;
margin: 0;
}
.footer-nav li,
.footer-list li {
margin-bottom: 0.9rem;
}
.site-footer a {
color: var(--dark);
text-decoration: none;
font-weight: 500;
transition: opacity .25s ease;
}
.site-footer a:hover {
opacity: .8;
}
.site-footer a::after {
display: none;
}
.footer-contact-card {
background: rgba(255, 255, 255, 0.22);
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 24px;
padding: 1.25rem;
box-shadow: 0 14px 40px rgba(0, 0, 0, 0.08);
backdrop-filter: blur(6px);
}
.footer-contact-items {
display: grid;
gap: 1rem;
margin-bottom: 1rem;
}
.footer-contact-item {
display: flex;
flex-direction: column;
gap: 0.18rem;
}
.footer-contact-label {
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: rgba(17, 24, 39, 0.65);
}
.footer-contact-item a,
.footer-contact-item span:last-child {
font-size: 1rem;
font-weight: 500;
line-height: 1.6;
color: var(--dark);
word-break: break-word;
}
.footer-map-wrap {
border-radius: 18px;
overflow: hidden;
border: 1px solid rgba(0, 0, 0, 0.10);
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
background: #fff;
margin-bottom: 0.9rem;
}
.footer-map-wrap iframe {
display: block;
width: 100%;
height: 190px;
border: 0;
}
.footer-map-btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 46px;
padding: 0.85rem 1.25rem;
border-radius: 999px;
background: var(--dark);
color: #fff !important;
font-weight: 600;
letter-spacing: 0.02em;
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}
.footer-map-btn:hover {
opacity: 1;
transform: translateY(-1px);
}
.footer-copy {
border-top: 1px solid rgba(0, 0, 0, 0.14);
padding-top: 1.6rem;
margin-top: 2.5rem;
}
.footer-copy .small {
font-size: 0.88rem;
opacity: 0.9;
}
@media (max-width: 991.98px) {
.footer-text {
max-width: none;
}
}
@media (max-width: 767.98px) {
.site-footer {
padding: 4rem 0 2rem;
}
.footer-contact-card {
border-radius: 20px;
padding: 1rem;
}
.footer-map-wrap iframe {
height: 170px;
}
.footer-copy {
text-align: center;
}
}
/* ── Variables ─────────────────────────────────────────── */
:root {
--brand: #7a2b2f;
--brand-dark: #5e1e22;
--accent: #c9a467;
--dark: #111827;
--muted: #6b7280;
--white: #ffffff;
--border: rgba(17,24,39,.10);
--shadow-md: 0 10px 30px rgba(0,0,0,.22);
--shadow-lg: 0 20px 55px rgba(0,0,0,.28);
--wa: #25D366;
--wa-dark: #1fb85a;
/* Stagger timing */
--stagger-gap: 42ms;
--ease-spring: cubic-bezier(.34,1.5,.64,1);
--ease-out: cubic-bezier(.22,.6,.36,1);
}
/* ── Master toggle button ──────────────────────────────── */
.social-master-toggle {
position: fixed;
right: 18px;
bottom: 388px;
z-index: 10010;
width: 54px;
height: 54px;
border: 0;
border-radius: 50%;
cursor: pointer;
display: grid;
place-items: center;
padding: 0;
overflow: hidden;
/* Expanded: clean white pill */
background: #fff;
color: var(--brand);
box-shadow: var(--shadow-md), 0 0 0 1.5px rgba(122,43,47,.12);
transition:
background .35s var(--ease-out),
box-shadow .35s var(--ease-out),
transform .25s var(--ease-spring);
}
.social-master-toggle:hover {
transform: translateY(-2px) scale(1.06);
box-shadow: var(--shadow-lg), 0 0 0 2px rgba(122,43,47,.18);
}
.social-master-toggle:active {
transform: scale(.96);
}
/* Collapsed state: brand background */
.social-master-toggle.is-collapsed {
background: var(--brand);
color: #fff;
box-shadow: var(--shadow-md), 0 0 0 0 transparent;
}
/* Pulsing ring when collapsed to attract attention */
.social-master-toggle.is-collapsed::after {
content: '';
position: absolute;
inset: -6px;
border-radius: 50%;
border: 2px solid var(--accent);
animation: smtPulse 2.4s ease-in-out infinite;
pointer-events: none;
}
@keyframes smtPulse {
0%, 100% { opacity: .55; transform: scale(1); }
50% { opacity: 0; transform: scale(1.22); }
}
/* ── Faces (open / closed) ─────────────────────────────── */
.smt-face {
position: absolute;
inset: 0;
display: grid;
place-items: center;
will-change: transform, opacity;
}
/* Open face: visible by default */
.smt-face--open {
opacity: 1;
transform: rotate(0deg) scale(1);
transition:
opacity .28s var(--ease-out),
transform .3s var(--ease-spring);
}
/* Closed face: hidden by default */
.smt-face--closed {
opacity: 0;
transform: rotate(-90deg) scale(.8);
transition:
opacity .28s var(--ease-out),
transform .32s var(--ease-spring);
}
/* When collapsed: swap faces */
.social-master-toggle.is-collapsed .smt-face--open {
opacity: 0;
transform: rotate(90deg) scale(.8);
}
.social-master-toggle.is-collapsed .smt-face--closed {
opacity: 1;
transform: rotate(0deg) scale(1);
}
/* Logo image fills the closed face */
.smt-logo-img {
width: 54px;
height: 54px;
object-fit: cover;
border-radius: 50%;
display: block;
}
/* Badge bottom-right on collapsed */
.smt-badge {
position: absolute;
right: 0px;
bottom: 0px;
width: 19px;
height: 19px;
border-radius: 50%;
background: var(--accent);
color: var(--brand-dark);
display: grid;
place-items: center;
border: 2px solid var(--brand);
box-shadow: 0 3px 10px rgba(0,0,0,.25);
}
/* ── Float group & items ───────────────────────────────── */
.social-float-group {
position: relative;
}
/* Each item uses --si (stagger index) 0..4 */
.social-float-item {
/* default (expanded) state — no delay so they show instantly on page load */
transition:
transform .42s var(--ease-spring),
opacity .30s var(--ease-out),
visibility .30s linear,
box-shadow .22s ease;
}
/* Expanded → items cascade from bottom (low si) first */
.social-float-group.is-expanded .social-float-item {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateY(0) scale(1);
transition-delay: calc(var(--si, 0) * var(--stagger-gap));
}
/* Collapsed → items cascade from top (high si) first */
.social-float-group.is-collapsing .social-float-item,
.social-float-group.is-collapsed .social-float-item {
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(16px) scale(.88);
transition-delay: calc((4 - var(--si, 0)) * var(--stagger-gap));
}
/* ── Individual floats ─────────────────────────────────── */
.fb-float,
.ig-float,
.x-float,
.tt-float {
position: fixed;
right: 18px;
width: 54px;
height: 54px;
border-radius: 50%;
display: grid;
place-items: center;
color: #fff;
text-decoration: none;
box-shadow: var(--shadow-md);
}
.tt-float { bottom: 314px; z-index: 9995; background: linear-gradient(135deg,#111 0%,#1f1f1f 100%); }
.fb-float { bottom: 240px; z-index: 9996; background: linear-gradient(180deg,#1877F2 0%,#0f63d6 100%); }
.ig-float { bottom: 166px; z-index: 9997; background: linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); }
.x-float { bottom: 92px; z-index: 9998; background: linear-gradient(180deg,#111 0%,#2b2b2b 100%); }
.fb-float:hover,
.ig-float:hover,
.x-float:hover,
.tt-float:hover {
transform: translateY(-3px) scale(1.07) !important;
box-shadow: 0 16px 40px rgba(0,0,0,.35);
color: #fff;
}
/* ── WhatsApp ──────────────────────────────────────────── */
.wa-float-box {
position: fixed;
right: 18px;
bottom: 18px;
z-index: 9999;
font-family: inherit;
}
.wa-btn-law {
background: linear-gradient(135deg, var(--wa) 0%, var(--wa-dark) 100%);
color: #fff;
border: 0;
width: 60px;
height: 60px;
border-radius: 50%;
display: grid;
place-items: center;
box-shadow: var(--shadow-md);
cursor: pointer;
position: relative;
overflow: hidden;
transition: transform .3s var(--ease-spring), box-shadow .3s ease;
}
.wa-btn-law:hover {
transform: translateY(-3px) scale(1.06) !important;
box-shadow: var(--shadow-lg);
}
.wa-btn-law:active {
transform: scale(.96) !important;
}
.wa-card-law {
position: absolute;
right: 0;
bottom: 74px;
width: min(360px, 92vw);
background: var(--white);
color: var(--dark);
border-radius: 18px;
overflow: hidden;
box-shadow: 0 18px 60px rgba(0,0,0,.25);
border: 1px solid var(--border);
transform: translateY(14px) scale(.97);
opacity: 0;
transition: transform .36s var(--ease-spring), opacity .28s var(--ease-out);
z-index: 10000;
pointer-events: none;
}
.wa-card-law[aria-modal="true"] {
transform: translateY(0) scale(1);
opacity: 1;
pointer-events: auto;
}
.wa-head-law {
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px;
background: linear-gradient(135deg,#fff 0%,#f7f2e8 100%);
border-bottom: 1px solid rgba(0,0,0,.08);
}
.wa-avatar-law {
width: 42px; height: 42px;
border-radius
/* ...cortado... */
administracion-ra.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=DM+Sans:opsz,[email protected],300;9..40,400;9..40,500;9..40,600&display=swaphttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css/* ============================================
VARIABLES & RESET
============================================ */
:root {
--navy: #071d35;
--navy-mid: #0a2b4a;
--blue: #124b7a;
--blue-light: #1e6aab;
--accent: #1697af; /* gold accent */
--accent-dim: rgba(200,169,110,.15);
--cream: #f8f5ef;
--off-white: #fafcff;
--text: #0b1c2e;
--muted: #5a6e84;
--border: rgba(10,43,74,.1);
--r-card: 28px;
--r-btn: 60px;
--ease: cubic-bezier(.22,.9,.36,1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
html, body {
max-width: 100%;
overflow-x: hidden;
}
body {
font-family: 'DM Sans', system-ui, sans-serif;
background: #fff;
color: var(--text);
width: 100%;
max-width: 100%;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--cream); }
::-webkit-scrollbar-thumb { background: var(--navy-mid); border-radius: 12px; }
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
/* ============================================
TYPOGRAPHY
============================================ */
h1, h2, h3, .display { font-family: 'Playfair Display', Georgia, serif; }
.section-title {
font-size: clamp(2rem, 4.5vw, 3.2rem);
font-weight: 800;
color: var(--navy);
line-height: 1.12;
letter-spacing: -.02em;
margin-bottom: 16px;
}
.section-subtitle {
font-size: 1.05rem;
color: var(--muted);
max-width: 640px;
margin: 0 auto;
line-height: 1.65;
font-weight: 400;
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 5px 18px;
border-radius: 60px;
font-size: 0.72rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .1em;
color: var(--accent);
background: var(--accent-dim);
border: 1px solid rgba(200,169,110,.3);
margin-bottom: 20px;
}
/* ============================================
SECTIONS
============================================ */
.section { padding: 112px 0; position: relative; }
.section-alt { background: var(--cream); }
/* ============================================
BUTTONS
============================================ */
.btn-main {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
padding: 0 30px;
min-height: 54px;
border-radius: var(--r-btn);
font-weight: 600;
font-size: .9rem;
transition: all .35s var(--ease);
border: none;
cursor: pointer;
text-decoration: none;
letter-spacing: .01em;
}
.btn-primary-dark {
background: var(--navy);
color: #fff;
box-shadow: 0 12px 32px -8px rgba(7,29,53,.35);
}
.btn-primary-dark:hover {
background: var(--blue);
transform: translateY(-3px);
box-shadow: 0 20px 40px -10px rgba(7,29,53,.45);
color: #fff;
}
.btn-gold {
background: var(--accent);
color: var(--navy);
font-weight: 700;
box-shadow: 0 10px 28px -6px rgba(200,169,110,.4);
}
.btn-gold:hover {
background: #8dd4b3;
transform: translateY(-3px);
box-shadow: 0 18px 36px -8px rgba(200,169,110,.55);
color: var(--navy);
}
.btn-outline-dark {
background: transparent;
color: var(--navy);
border: 1.5px solid rgba(10,43,74,.25);
}
.btn-outline-dark:hover {
border-color: var(--navy);
background: rgba(10,43,74,.04);
transform: translateY(-2px);
}
/* ============================================
NAVBAR
============================================ */
.navbar {
padding: .75rem 0;
transition: all .3s ease;
background: rgba(255,255,255,.98);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
box-shadow: 0 4px 30px rgba(0,0,0,.06);
}
.navbar.scrolled {
background: rgba(255,255,255,.98);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
box-shadow: 0 4px 30px rgba(0,0,0,.06);
padding: .5rem 0;
}
.navbar-toggler {
width: 46px;
height: 46px;
border-radius: 14px;
border: 1px solid rgba(10,43,74,.16) !important;
background: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
box-shadow: 0 8px 18px rgba(10,43,74,.08);
}
.navbar-toggler:focus {
box-shadow: 0 0 0 4px rgba(200,169,110,.18);
}
.navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%287,29,53,0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
width: 1.35em;
height: 1.35em;
}
.navbar-brand {
display: flex;
align-items: center;
gap: 10px;
}
.navbar-brand img {
height: 40px;
width: auto;
flex: 0 0 auto;
}
.brand-title {
display: block;
font-family: 'Playfair Display', serif;
font-weight: 700;
font-size: 0.95rem;
color: var(--navy);
line-height: 1.02;
margin: 0;
}
.brand-subtitle {
display: block;
font-size: .42rem;
font-weight: 500;
color: var(--muted);
letter-spacing: .03em;
text-transform: uppercase;
line-height: 1.05;
margin: 1px 0 0;
}
.navbar-nav .nav-link {
font-weight: 500;
color: var(--navy);
padding: .55rem 1rem;
border-radius: 40px;
font-size: .88rem;
transition: all .2s;
}
.navbar-nav .nav-link:hover {
background: rgba(10,43,74,.06);
color: var(--blue);
}
.navbar-cta {
margin-left: 12px;
}
.brand-text {
display: inline-flex;
flex-direction: column;
justify-content: center;
gap: 1px;
min-width: 0;
line-height: 1;
}
/* ============================================
HERO
============================================ */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
background: var(--navy);
overflow: hidden;
padding: 140px 0 100px;
}
/* Animated bg grid */
.hero-grid {
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(200,169,110,.07) 1px, transparent 1px),
linear-gradient(90deg, rgba(200,169,110,.07) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
animation: gridDrift 30s linear infinite;
}
@keyframes gridDrift {
from { background-position: 0 0; }
to { background-position: 60px 60px; }
}
.hero-glow {
position: absolute;
border-radius: 50%;
pointer-events: none;
filter: blur(90px);
}
.hero-glow-1 {
width: 500px; height: 500px;
background: radial-gradient(circle, rgba(18,75,122,.55), transparent 70%);
top: -100px; right: -80px;
}
.hero-glow-2 {
width: 350px; height: 350px;
background: radial-gradient(circle, rgba(200,169,110,.18), tra
/* ...cortado... */
.flashes-loop-section{
background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
overflow: hidden;
position: relative;
}
.flashes-loop-wrap{
max-width: 1120px;
margin: 0 auto;
}
.flashes-stage{
position: relative;
min-height: 470px;
display: flex;
align-items: center;
justify-content: center;
isolation: isolate;
}
.flashes-stage::before{
content: "";
position: absolute;
left: 50%;
bottom: 10px;
transform: translateX(-50%);
width: min(760px, 82%);
height: 120px;
background: radial-gradient(circle, rgba(10,43,74,.10) 0%, rgba(10,43,74,.04) 42%, transparent 72%);
filter: blur(22px);
z-index: 0;
pointer-events: none;
}
.flash-loop-card{
position: absolute;
width: clamp(250px, 28vw, 355px);
aspect-ratio: 4 / 5;
border-radius: 30px;
background:
radial-gradient(circle at top right, rgba(200,169,110,.16), transparent 35%),
linear-gradient(135deg, #fcfcfc 0%, #f5f7fa 100%);
border: 1px solid rgba(10,43,74,.06);
box-shadow: 0 18px 40px rgba(7,29,53,.10);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
padding: 18px;
will-change: transform, opacity, filter;
transition:
transform 1s cubic-bezier(.22,.8,.2,1),
opacity 1s ease,
filter 1s ease,
box-shadow 1s ease;
backface-visibility: hidden;
}
.flash-loop-card::before{
content:"";
position:absolute;
inset:0;
background: linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 32%);
pointer-events:none;
z-index:1;
}
.flash-loop-card::after{
content:"";
position:absolute;
inset:-10%;
background: linear-gradient(115deg, transparent 24%, rgba(255,255,255,.70) 50%, transparent 76%);
transform: translateX(-140%);
opacity: 0;
pointer-events:none;
z-index:2;
}
.flash-loop-card img{
position: relative;
z-index: 0;
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
display: block;
filter: drop-shadow(0 16px 24px rgba(10,43,74,.14));
pointer-events: none;
user-select: none;
transition: transform 1s cubic-bezier(.22,.8,.2,1), filter 1s ease;
}
.flash-pos-center{
transform: translateX(0) scale(1) rotate(0deg);
opacity: 1;
z-index: 5;
filter: blur(0) saturate(1.08) brightness(1.02);
box-shadow: 0 28px 64px rgba(7,29,53,.20);
animation: flashCenterBoom .92s cubic-bezier(.2,.88,.24,1);
}
.flash-pos-center::after{
animation: flashFrontSweep .9s ease;
}
.flash-pos-center img{
transform: scale(1.03);
filter: drop-shadow(0 20px 30px rgba(10,43,74,.18));
}
.flash-pos-right{
transform: translateX(265px) scale(.88) rotate(4deg);
opacity: .62;
z-index: 3;
filter: blur(5px) saturate(.72) brightness(.92);
box-shadow: 0 12px 22px rgba(7,29,53,.07);
}
.flash-pos-right img{
transform: scale(.96);
filter: drop-shadow(0 10px 16px rgba(10,43,74,.10));
}
.flash-pos-left{
transform: translateX(-265px) scale(.88) rotate(-4deg);
opacity: .62;
z-index: 2;
filter: blur(5px) saturate(.72) brightness(.92);
box-shadow: 0 12px 22px rgba(7,29,53,.07);
}
.flash-pos-left img{
transform: scale(.96);
filter: drop-shadow(0 10px 16px rgba(10,43,74,.10));
}
.flash-pos-hidden{
transform: translateX(430px) scale(.74) rotate(8deg);
opacity: 0;
z-index: 1;
filter: blur(14px) saturate(.55) brightness(.86);
pointer-events: none;
box-shadow: none;
}
.flash-pos-hidden-left{
transform: translateX(-430px) scale(.74) rotate(-8deg);
opacity: 0;
z-index: 1;
filter: blur(14px) saturate(.55) brightness(.86);
pointer-events: none;
box-shadow: none;
}
@keyframes flashCenterBoom{
0%{
transform: translateX(110px) scale(.68) rotate(10deg);
opacity: 0;
filter: blur(14px) brightness(1.08);
}
38%{
transform: translateX(-18px) scale(1.10) rotate(-2.6deg);
opacity: 1;
filter: blur(0) brightness(1.06);
}
60%{
transform: translateX(8px) scale(.985) rotate(.8deg);
}
78%{
transform: translateX(-4px) scale(1.02) rotate(-.35deg);
}
100%{
transform: translateX(0) scale(1) rotate(0deg);
opacity: 1;
filter: blur(0) brightness(1);
}
}
@keyframes flashFrontSweep{
0%{
transform: translateX(-140%);
opacity: 0;
}
18%{
opacity: .9;
}
100%{
transform: translateX(140%);
opacity: 0;
}
}
@media (max-width: 991px){
.flashes-stage{
min-height: 390px;
}
.flash-loop-card{
width: min(40vw, 295px);
border-radius: 26px;
}
.flash-pos-right{
transform: translateX(170px) scale(.86) rotate(4deg);
filter: blur(5px) saturate(.7) brightness(.92);
}
.flash-pos-left{
transform: translateX(-170px) scale(.86) rotate(-4deg);
filter: blur(5px) saturate(.7) brightness(.92);
}
.flash-pos-hidden{
transform: translateX(300px) scale(.72) rotate(8deg);
}
.flash-pos-hidden-left{
transform: translateX(-300px) scale(.72) rotate(-8deg);
}
}
@media (max-width: 640px){
.flashes-loop-wrap .text-center{
margin-bottom: 2rem !important;
}
.flashes-stage{
min-height: 315px;
}
.flash-loop-card{
width: min(72vw, 276px);
padding: 14px;
border-radius: 22px;
}
.flash-pos-center{
transform: translateX(0) scale(1);
}
.flash-pos-right{
transform: translateX(68px) scale(.82) rotate(4deg);
opacity: .38;
filter: blur(7px) saturate(.66) brightness(.9);
}
.flash-pos-left{
transform: translateX(-68px) scale(.82) rotate(-4deg);
opacity: .38;
filter: blur(7px) saturate(.66) brightness(.9);
}
.flash-pos-hidden,
.flash-pos-hidden-left{
opacity: 0;
}
@keyframes flashCenterBoom{
0%{
transform: translateX(75px) scale(.7) rotate(9deg);
opacity: 0;
filter: blur(12px) brightness(1.06);
}
42%{
transform: translateX(-8px) scale(1.08) rotate(-1.6deg);
opacity: 1;
filter: blur(0);
}
100%{
transform: translateX(0) scale(1) rotate(0deg);
opacity: 1;
filter: blur(0);
}
}
}
:root{
--wa:#25D366;
--wa-dark:#1fb85a;
--wa-darker:#189a4a;
--light-bg:#ffffff;
--light-bg-soft:#f6f8f7;
--light-border:#dde4df;
--dark-text:#1c1f1d;
--muted-text:#6c756f;
}
/* IG button */
.ig-float{
position:fixed; right:18px; bottom:92px;
z-index:9998;
width:54px; height:54px; border-radius:50%;
display:grid; place-items:center; color:#fff; text-decoration:none;
background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
box-shadow:0 10px 30px rgba(0,0,0,.25);
transition:transform .25s, box-shadow .25s, opacity .25s;
}
.ig-float:hover{
transform:translateY(-2px) scale(1.04);
box-shadow:0 14px 36px rgba(0,0,0,.35);
}
/* WhatsApp flotante */
.wa-float{
position:fixed; right:18px; bottom:18px;
z-index:9999; font-family:inherit;
}
.wa-btn{
background:var(--wa);
color:#fff;
border:0;
width:60px; height:60px; border-radius:50%;
display:grid; place-items:center;
box-shadow:0 10px 30px rgba(0,0,0,.22);
cursor:pointer; transition:transform .3s, box-shadow .3s, filter .3s;
position:relative; overflow:hidden;
z-index:9999;
}
.wa-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(0,0,0,.28);
filter:brightness(.98);
}
.wa-card{
position:absolute; right:0; bottom:74px;
width:min(360px,92vw);
background:var(--light-bg);
color:var(--dark-text);
border-radius:18px;
overflow:hidden;
box-shadow:0 18px 60px rgba(0,0,0,.25);
border:1px solid var(--light-border);
transform:translateY(10px);
opacity:0;
transition:transform .3s, opacity .3s;
z-index:10000;
}
.wa-card[aria-modal="true"]{
transform:translateY(0);
opacity:1;
}
.wa-head{
display:flex; align-items:center; gap:12px;
padding:14px 16px;
background:linear-gradient(135deg, #ffffff, #ecf6f0);
border-bottom:1px solid var(--light-border);
}
.wa-avatar{
width:40px; height:40px; border-radius:10px;
background:#e9f7ef;
display:grid; place-items:center;
border:1px solid #cfeeda;
overflow:hidden;
}
.wa-title{
font-weight:800;
font-size:1.02rem;
color:var(--dark-text);
}
.wa-status{
font-size:.85rem;
color:var(--muted-text);
display:flex; align-items:center; gap:6px;
}
.wa-status::before{
content:""; width:8px; height:8px; border-radius:50%;
background:var(--wa);
}
.wa-close{
margin-left:auto;
background:transparent;
color:var(--muted-text);
border:0;
font-size:24px;
cursor:pointer;
opacity:.75;
width:32px; height:32px;
border-radius:50%;
display:flex; align-items:center; justify-content:center;
transition:.2s;
}
.wa-close:hover{
opacity:1;
background:rgba(0,0,0,.04);
}
.wa-body{
padding:12px 14px;
max-height:40vh;
overflow:auto;
background:var(--light-bg-soft);
display:flex;
flex-direction:column;
gap:8px;
}
.wa-bubble{
max-width:88%;
padding:9px 11px;
border-radius:14px;
line-height:1.35;
box-shadow:0 3px 10px rgba(0,0,0,.06);
animation:fadeIn .25s ease;
font-size:0.9rem;
}
@keyframes fadeIn{
from{opacity:0; transform:translateY(5px)}
to{opacity:1; transform:none}
}
.wa-bot{
background:#ffffff;
border:1px solid var(--light-border);
align-self:flex-start;
border-bottom-left-radius:4px;
}
.wa-user{
background:var(--wa);
color:#fff;
align-self:flex-end;
border-bottom-right-radius:4px;
}
.wa-compose{
display:grid;
grid-template-columns:1fr auto;
gap:8px;
padding:10px 12px;
background:#ffffff;
border-top:1px solid var(--light-border);
}
.wa-compose textarea{
resize:none;
border-radius:12px;
padding:10px 12px;
border:1px solid var(--light-border);
background:#f9fbfa;
color:var(--dark-text);
outline:none;
min-height:44px;
font-family:inherit;
font-size:0.9rem;
transition:.2s;
}
.wa-compose textarea:focus{
border-color:var(--wa);
box-shadow:0 0 0 2px rgba(37,211,102,.15);
background:#ffffff;
}
.wa-send{
background:var(--wa);
color:#ffffff;
border:0;
border-radius:12px;
padding:0 16px;
font-weight:700;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:.2s;
}
.wa-send:hover{
background:var(--wa-dark);
transform:scale(1.04);
}
.wa-body::-webkit-scrollbar{ width:6px; }
.wa-body::-webkit-scrollbar-track{ background:rgba(0,0,0,.03); border-radius:3px; }
.wa-body::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.12); border-radius:3px; }
.wa-body::-webkit-scrollbar-thumb:hover{ background:rgba(0,0,0,.18); }
@media (max-width:480px){
.ig-float{ right:12px; bottom:86px; width:52px; height:52px; }
.wa-float{ right:12px; bottom:12px; }
.wa-card{ width:calc(100vw - 24px); right:0; }
}
fidelfiel.com.ar
https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://unpkg.com/[email protected]/dist/aos.css/* ===== VARIABLES ===== */
:root {
--accent: #ff0086;
--accent-2: #1f1ab4;
--accent-3: #0098df;
--text: #12131a;
--muted: #5f6472;
--line: #dde1ec;
--bg: #f1f3f7; /* base gris frío */
--bg-white: #ffffff;
--bg-soft: #eef1f7;
--bg-dark: #111827; /* footer / secciones premium */
--bg-darker: #0d1320;
--bg-brand: #1a1760; /* azul profundo marca */
--shadow-sm: 0 4px 18px rgba(15,23,42,.06);
--shadow-md: 0 16px 40px rgba(15,23,42,.10);
--shadow-lg: 0 28px 60px rgba(15,23,42,.14);
--radius: 22px;
--radius-sm: 16px;
--container: 1180px;
--nav-h: 86px;
--transition: all 0.38s cubic-bezier(0.2, 0.9, 0.3, 1);
/* tipografía */
--font-display: 'Barlow Condensed', sans-serif;
--font-body: 'DM Sans', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; width: 100%; overflow-x: clip; }
body {
margin: 0; width: 100%; max-width: 100%;
font-family: var(--font-body);
color: var(--text);
background: var(--bg);
overflow-x: clip;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
.container-custom {
max-width: var(--container);
padding: 0 24px;
margin: 0 auto;
width: 100%;
}
.section { padding: 110px 0; }
.bg-white-section { background: var(--bg-white); }
.bg-soft-section { background: var(--bg-soft); }
.bg-dark-section { background: var(--bg-dark); }
.bg-brand-section { background: var(--bg-brand); }
/* ===== TIPOGRAFÍA ===== */
.eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-family: var(--font-body);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--accent);
background: rgba(255, 0, 134, 0.07);
border: 1px solid rgba(255, 0, 134, 0.18);
padding: 0.55rem 1.1rem;
border-radius: 100px;
margin-bottom: 1.4rem;
}
.eyebrow::before {
content: '';
width: 6px; height: 6px;
background: var(--accent);
border-radius: 50%;
flex-shrink: 0;
}
.eyebrow-light {
color: rgba(255,255,255,0.85);
background: rgba(255,255,255,0.08);
border-color: rgba(255,255,255,0.18);
}
.eyebrow-light::before { background: rgba(255,255,255,0.8); }
.section-title {
font-family: var(--font-display);
font-size: clamp(2.4rem, 5vw, 3.6rem);
font-weight: 800;
line-height: 1.0;
letter-spacing: -0.01em;
color: var(--text);
margin: 0 0 1.2rem;
text-transform: uppercase;
}
.section-title-light { color: #ffffff; }
.section-subtitle {
font-size: 1.05rem;
color: var(--muted);
max-width: 700px;
margin: 0 auto 3rem;
line-height: 1.85;
}
.section-subtitle-light { color: rgba(255,255,255,0.72); }
.text-gradient {
background: linear-gradient(125deg, var(--accent) 0%, #b200ff 50%, var(--accent-2) 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
display: inline;
}
.text-gradient-cool {
background: linear-gradient(125deg, var(--accent-3) 0%, var(--accent-2) 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
display: inline;
}
/* ===== NAVBAR ===== */
.navbar {
--bs-navbar-padding-y: 0;
min-height: var(--nav-h);
background: rgba(17, 24, 39, 0.96);
backdrop-filter: blur(20px);
border-bottom: 1px solid rgba(255,255,255,0.07);
box-shadow: 0 4px 30px rgba(0,0,0,0.25);
}
.navbar .container-custom {
min-height: var(--nav-h);
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
flex-wrap: wrap;
}
.navbar-brand {
display: flex;
align-items: center;
gap: 0.75rem;
font-family: var(--font-display);
font-size: 1.4rem;
font-weight: 800;
color: #ffffff;
letter-spacing: 0.03em;
text-transform: uppercase;
}
.navbar-brand img {
height: 42px;
width: auto;
transition: var(--transition);
}
.navbar-brand:hover img { transform: scale(1.04); }
.navbar-nav { gap: 0.15rem; }
.navbar .nav-link {
color: rgba(255,255,255,0.78);
font-weight: 600;
font-size: 0.88rem;
letter-spacing: 0.03em;
padding: 0.65rem 1.1rem !important;
border-radius: 100px;
transition: var(--transition);
text-transform: uppercase;
}
.navbar .nav-link:hover {
color: #fff;
background: rgba(255,255,255,0.08);
}
.navbar-toggler {
margin-left: auto;
flex-shrink: 0;
border: 1px solid rgba(255,255,255,0.2);
padding: 0.55rem;
border-radius: 12px;
background: rgba(255,255,255,0.06);
}
.navbar-toggler-icon {
filter: invert(1);
}
.navbar-collapse { flex-basis: 100%; width: 100%; min-width: 0; }
@media (min-width: 992px) {
.navbar .container-custom { flex-wrap: nowrap; gap: 0.75rem; }
.navbar-brand { flex: 0 0 auto; margin-right: 0.75rem; }
.navbar-collapse {
flex-basis: auto; width: auto; min-width: 0;
display: flex !important;
align-items: center;
justify-content: flex-end;
gap: 0.85rem;
}
.navbar-nav { flex-wrap: nowrap; align-items: center; gap: 0.05rem; }
.navbar .nav-link { font-size: 0.82rem; padding: 0.65rem 0.78rem !important; white-space: nowrap; }
.navbar-collapse .ms-lg-4 {
margin-top: 0 !important;
margin-left: 0.65rem !important;
flex: 0 0 auto;
}
.btn-nav { padding: 0.78rem 1.35rem; white-space: nowrap; }
}
/* ===== BOTONES ===== */
.btn-main, .btn-outline-main, .btn-nav, .btn-light-outline {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
border-radius: 60px;
font-family: var(--font-body);
font-weight: 700;
padding: 0.95rem 2rem;
transition: var(--transition);
border: 2px solid transparent;
line-height: 1;
font-size: 0.92rem;
letter-spacing: 0.03em;
text-transform: uppercase;
}
.btn-main {
background: linear-gradient(135deg, var(--accent) 0%, #b200ff 50%, var(--accent-2) 100%);
background-size: 200% 200%;
color: white;
box-shadow: 0 12px 30px -6px rgba(255, 0, 134, 0.35);
}
.btn-main:hover {
transform: translateY(-3px);
box-shadow: 0 20px 40px -6px rgba(255, 0, 134, 0.45);
color: white;
background-position: right center;
}
.btn-outline-main {
background: transparent;
border-color: rgba(255,255,255,0.3);
color: white;
backdrop-filter: blur(8px);
}
.btn-outline-main:hover {
border-color: white;
background: rgba(255,255,255,0.12);
color: white;
transform: translateY(-3px);
}
.btn-dark-outline {
background: transparent;
border-color: rgba(17,17,17,0.2);
color: var(--text);
}
.btn-dark-outline:hover {
border-color: var(--accent-2);
color: var(--accent-2);
transform: translateY(-3px);
}
.btn-nav {
background: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);
color: white;
padding: 0.75rem 1.6rem;
/* ...cortado... */
@media (max-width: 767px) {
html, body { overflow-x: hidden !important; }
.section { padding: 64px 0 !important; }
.container-custom { padding-left: 14px !important; padding-right: 14px !important; }
.row { --bs-gutter-x: 1rem; margin-left: 0 !important; margin-right: 0 !important; }
.hero { padding-top: calc(var(--nav-h) + 28px) !important; }
.hero-title { font-size: clamp(2.4rem, 11vw, 3rem) !important; }
.hero-media, .hero-media[style] { min-height: 0 !important; height: auto !important; aspect-ratio: 4/3; padding: 10px; }
.hero-media img, .hero-media img[style] { min-height: 0 !important; height: 100% !important; width: 100% !important; object-fit: contain !important; }
#inicio .hero-media { aspect-ratio: 1/1; }
}
@media (max-width: 480px) {
.section-title { font-size: clamp(1.9rem, 9.5vw, 2.4rem) !important; }
.hero-title { font-size: clamp(2rem, 10.5vw, 2.6rem) !important; }
}
#inicio .hero-media { padding: 16px; }
#inicio .hero-media img { width: 100%; height: 100%; max-height: 500px; object-fit: contain; object-position: center; }
@media (max-width: 767px) {
#inicio.hero,
#inicio {
padding-top: calc(var(--nav-h) + 72px) !important;
}
#inicio .container-custom {
padding-top: 8px;
}
#inicio .row { display: flex; flex-direction: column; }
#inicio .row > .col-lg-6:first-child { display: contents; }
#inicio .row > .col-lg-6:last-child { order: 4; width: 100%; }
#inicio .eyebrow {
order: 1;
margin-top: 4px;
margin-bottom: 1rem;
}
#inicio .hero-title { order: 2; }
#inicio .hero-text { order: 3; margin-bottom: 1rem; }
#inicio .hero-actions { order: 5; margin-top: 1rem; }
#inicio .hero-badges { order: 6; }
#inicio .hero-visual { margin-top: .25rem; }
#inicio .hero-media { aspect-ratio: 1/1; padding: 12px; }
#inicio .hero-media img { max-height: none; }
}
.offers-section{
position: relative;
overflow: hidden;
background:
radial-gradient(circle at 10% 15%, rgba(255,0,134,.05) 0%, transparent 26%),
radial-gradient(circle at 90% 10%, rgba(31,26,180,.05) 0%, transparent 28%),
linear-gradient(180deg, #eef1f7 0%, #f5f7fb 100%);
}
.offers-section .container-custom{
position: relative;
z-index: 1;
}
.offers-shell{
margin-top: 2.2rem;
display: grid;
grid-template-columns: minmax(0, 1.12fr) minmax(320px, 460px);
gap: 32px;
align-items: start;
}
.offers-cards-grid{
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 22px;
align-content: start;
}
.offers-section .card-premium{
padding: 1.65rem 1.45rem;
border-radius: 22px;
min-height: 100%;
box-shadow: 0 10px 28px rgba(15,23,42,.06);
}
.offers-section .card-premium:hover{
transform: translateY(-6px);
box-shadow: 0 18px 34px rgba(15,23,42,.10);
}
.offers-section .card-icon{
width: 58px;
height: 58px;
border-radius: 16px;
margin-bottom: 1.15rem;
}
.offers-section .card-icon img{
width: 28px;
height: 28px;
}
.offers-section .card-icon svg{
width: 28px;
height: 28px;
}
.offers-section .card-title{
font-size: 1.18rem;
margin-bottom: .65rem;
line-height: 1.02;
}
.offers-section .card-text{
font-size: .96rem;
line-height: 1.72;
margin-bottom: 0;
}
.offers-media-col{
position: sticky;
top: 108px;
}
.offers-media-card{
position: relative;
border-radius: 28px;
overflow: hidden;
background:
radial-gradient(circle at top right, rgba(255,0,134,.12), transparent 34%),
linear-gradient(135deg, #111827 0%, #1a1760 100%);
padding: 10px;
border: 1px solid rgba(17,17,17,.08);
box-shadow: 0 26px 60px rgba(15,23,42,.16);
min-height: 100%;
}
.offers-media-inner{
position: relative;
border-radius: 22px;
overflow: hidden;
background: #0f172a;
min-height: 620px;
display: flex;
align-items: stretch;
justify-content: stretch;
}
.offers-media-inner video{
width: 100%;
height: 100%;
min-height: 620px;
object-fit: cover;
display: block;
}
.offers-media-badge{
position: absolute;
left: 18px;
bottom: 18px;
z-index: 2;
max-width: 290px;
padding: 1rem 1.05rem;
border-radius: 18px;
background: rgba(17,24,39,.78);
backdrop-filter: blur(12px);
border: 1px solid rgba(255,255,255,.12);
box-shadow: 0 16px 36px rgba(0,0,0,.28);
}
.offers-media-badge strong{
display: block;
margin-bottom: .28rem;
color: #fff;
font-family: var(--font-display);
font-size: 1rem;
letter-spacing: .03em;
text-transform: uppercase;
}
.offers-media-badge span{
color: rgba(255,255,255,.78);
font-size: .88rem;
line-height: 1.5;
display: block;
}
@media (max-width: 1199px){
.offers-shell{
grid-template-columns: minmax(0,1fr) minmax(280px,390px);
gap: 24px;
}
.offers-media-inner,
.offers-media-inner video{
min-height: 560px;
}
}
@media (max-width: 991px){
.offers-shell{
grid-template-columns: 1fr;
}
.offers-media-col{
position: relative;
top: auto;
}
.offers-media-card{
max-width: 760px;
margin: 0 auto;
}
.offers-media-inner,
.offers-media-inner video{
min-height: 420px;
}
}
@media (max-width: 767px){
.offers-cards-grid{
grid-template-columns: 1fr;
gap: 18px;
}
.offers-section .card-premium{
padding: 1.35rem 1.15rem;
}
.offers-media-inner,
.offers-media-inner video{
min-height: 320px;
}
.offers-media-badge{
left: 14px;
right: 14px;
bottom: 14px;
max-width: none;
}
}
@media (max-width: 575px){
.offers-shell{
margin-top: 1.6rem;
}
.offers-media-card{
padding: 8px;
border-radius: 22px;
}
.offers-media-inner{
border-radius: 16px;
}
}
.productos-section{
background: var(--bg-white);
position: relative;
overflow: hidden;
}
.productos-section::before{
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(circle at 12% 18%, rgba(255,0,134,.045) 0%, transparent 28%),
radial-gradient(circle at 88% 16%, rgba(31,26,180,.045) 0%, transparent 30%),
radial-gradient(circle at 50% 100%, rgba(0,152,223,.04) 0%, transparent 34%);
pointer-events: none;
}
.productos-section > .container-custom{
position: relative;
z-index: 1;
}
.productos-top-row{
margin-top: 1.2rem;
}
.producto-card-rollo .hero-media{
min-height: 320px !important;
margin-bottom: 1.5rem;
background:
radial-gradient(circle at top right, rgba(255,0,134,.05), transparent 34%),
linear-gradient(135deg, #ffffff 0%, #f7f8fc 100%);
border: 1px solid rgba(17,17,17,0.05);
padding: 18px;
}
.producto-card-rollo .hero-media img{
min-height: 320px !important;
width: 100%;
object-fit: contain !important;
background: transparent !important;
}
.perfumina-block{
margin-top: 4.2rem;
padding: 2.6rem 2rem 2.2rem;
border-radius: var(--radius);
background:
radial-gradient(circle at top right, rgba(255,0,134,.06), transparent 28%),
radial-gradient(circle at bottom left, rgba(31,26,180,.06), transparent 32%),
linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
border: 1px solid rgba(17,17,17,0.07);
box-shadow: var(--shadow-sm);
overflow: hidden;
position: relative;
}
.perfumina-block::after{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:3px;
background: linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));
}
.perfumina-head{
max-width: 760px;
margin: 0 auto 2.2rem;
text-align: center;
}
.perfumina-head .product-tag{
margin-bottom: 1rem;
}
.perfumina-head .card-title{
margin-bottom: .8rem;
}
.perfumina-head .card-text{
margin-bottom: 0;
}
.flashes-loop-holder{
max-width: 1120px;
margin: 0 auto;
}
.flashes-stage{
position: relative;
min-height: 470px;
display: flex;
align-items: center;
justify-content: center;
isolation: isolate;
}
.flashes-stage::before{
content: "";
position: absolute;
left: 50%;
bottom: 10px;
transform: translateX(-50%);
width: min(760px, 82%);
height: 120px;
background: radial-gradient(circle, rgba(10,43,74,.10) 0%, rgba(10,43,74,.04) 42%, transparent 72%);
filter: blur(22px);
z-index: 0;
pointer-events: none;
}
.flash-loop-card{
position: absolute;
width: clamp(250px, 28vw, 355px);
aspect-ratio: 4 / 5;
border-radius: 30px;
background:
radial-gradient(circle at top right, rgba(200,169,110,.16), transparent 35%),
linear-gradient(135deg, #fcfcfc 0%, #f5f7fa 100%);
border: 1px solid rgba(10,43,74,.06);
box-shadow: 0 18px 40px rgba(7,29,53,.10);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
padding: 18px;
will-change: transform, opacity, filter;
transition:
transform 1s cubic-bezier(.22,.8,.2,1),
opacity 1s ease,
filter 1s ease,
box-shadow 1s ease;
backface-visibility: hidden;
}
.flash-loop-card::before{
content:"";
position:absolute;
inset:0;
background: linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 32%);
pointer-events:none;
z-index:1;
}
.flash-loop-card::after{
content:"";
position:absolute;
inset:-10%;
background: linear-gradient(115deg, transparent 24%, rgba(255,255,255,.70) 50%, transparent 76%);
transform: translateX(-140%);
opacity: 0;
pointer-events:none;
z-index:2;
}
.flash-loop-card img{
position: relative;
z-index: 0;
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
display: block;
filter: drop-shadow(0 16px 24px rgba(10,43,74,.14));
pointer-events: none;
user-select: none;
transition: transform 1s cubic-bezier(.22,.8,.2,1), filter 1s ease;
}
.flash-pos-center{
transform: translateX(0) scale(1) rotate(0deg);
opacity: 1;
z-index: 5;
filter: blur(0) saturate(1.08) brightness(1.02);
box-shadow: 0 28px 64px rgba(7,29,53,.20);
animation: flashCenterBoom .92s cubic-bezier(.2,.88,.24,1);
}
.flash-pos-center::after{
animation: flashFrontSweep .9s ease;
}
.flash-pos-center img{
transform: scale(1.03);
filter: drop-shadow(0 20px 30px rgba(10,43,74,.18));
}
.flash-pos-right{
transform: translateX(265px) scale(.88) rotate(4deg);
opacity: .62;
z-index: 3;
filter: blur(5px) saturate(.72) brightness(.92);
box-shadow: 0 12px 22px rgba(7,29,53,.07);
}
.flash-pos-right img{
transform: scale(.96);
filter: drop-shadow(0 10px 16px rgba(10,43,74,.10));
}
.flash-pos-left{
transform: translateX(-265px) scale(.88) rotate(-4deg);
opacity: .62;
z-index: 2;
filter: blur(5px) saturate(.72) brightness(.92);
box-shadow: 0 12px 22px rgba(7,29,53,.07);
}
.flash-pos-left img{
transform: scale(.96);
filter: drop-shadow(0 10px 16px rgba(10,43,74,.10));
}
.flash-pos-hidden{
transform: translateX(430px) scale(.74) rotate(8deg);
opacity: 0;
z-index: 1;
filter: blur(14px) saturate(.55) brightness(.86);
pointer-events: none;
box-shadow: none;
}
.flash-pos-hidden-left{
transform: translateX(-430px) scale(.74) rotate(-8deg);
opacity: 0;
z-index: 1;
filter: blur(14px) saturate(.55) brightness(.86);
pointer-events: none;
box-shadow: none;
}
@keyframes flashCenterBoom{
0%{
transform: translateX(110px) scale(.68) rotate(10deg);
opacity: 0;
filter: blur(14px) brightness(1.08);
}
38%{
transform: translateX(-18px) scale(1.10) rotate(-2.6deg);
opacity: 1;
filter: blur(0) brightness(1.06);
}
60%{
transform: translateX(8px) scale(.985) rotate(.8deg);
}
78%{
transform: translateX(-4px) scale(1.02) rotate(-.35deg);
}
100%{
transform: translateX
/* ...cortado... */
/* FILA IMAGEN + CTA + VIDEO */
.productos-cta-row--triple{
display: grid;
grid-template-columns: minmax(240px, 340px) minmax(320px, 1fr) minmax(240px, 340px);
align-items: stretch;
gap: 26px;
margin: 40px 0 0;
}
/* CARD BASE */
.producto-card-side,
.producto-video-card{
background: rgba(17,24,39,0.04);
border: 1px solid rgba(17,17,17,0.08);
padding: 20px;
border-radius: 18px;
height: 100%;
display: flex;
box-shadow: 0 10px 24px rgba(15,23,42,.06);
}
/* IMAGEN IZQUIERDA */
.producto-card-side .producto-img-wrap{
background: linear-gradient(135deg, rgba(17,24,39,0.04), rgba(31,26,180,0.04));
padding: 12px;
border-radius: 14px;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
min-height: 100%;
}
.producto-card-side .producto-img-wrap img{
width: 100%;
max-width: 420px;
height: auto;
display: block;
border-radius: 10px;
object-fit: contain;
}
/* CTA MEDIO */
.cta-band-middle{
margin: 0;
min-height: 100%;
display: flex;
align-items: center;
padding: 0;
background: linear-gradient(135deg, var(--accent-2) 0%, #0d0b6b 38%, var(--accent) 100%);
border-radius: 24px;
box-shadow: 0 26px 54px rgba(31,26,180,.22);
}
.cta-band-middle-inner{
width: 100%;
padding: 2.4rem 2rem;
position: relative;
z-index: 2;
}
.cta-band-middle .product-tag{
display: inline-flex;
margin-bottom: 1rem;
color: #fff;
background: rgba(255,255,255,.12);
border: 1px solid rgba(255,255,255,.14);
}
.cta-band-middle h3{
margin-bottom: .9rem;
font-size: clamp(1.45rem, 2vw, 2rem);
line-height: 1.02;
}
.cta-band-middle p{
margin-bottom: 1.15rem;
max-width: 560px;
}
.cta-band-features{
list-style: none;
padding: 0;
margin: 0 0 1.4rem;
display: grid;
gap: .65rem;
}
.cta-band-features li{
display: flex;
align-items: center;
gap: .55rem;
color: rgba(255,255,255,.92);
font-size: .94rem;
font-weight: 600;
}
.cta-band-features li::before{
content: "✓";
width: 22px;
height: 22px;
flex: 0 0 22px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: rgba(255,255,255,.14);
color: #fff;
font-size: .82rem;
font-weight: 800;
}
.cta-band-middle .btn-outline-main{
width: auto;
border-color: rgba(255,255,255,.34);
background: rgba(255,255,255,.08);
}
.cta-band-middle .btn-outline-main:hover{
background: rgba(255,255,255,.16);
}
/* VIDEO DERECHA */
.producto-video-card{
position: relative;
}
.producto-video-wrap{
position: relative;
width: 100%;
min-height: 100%;
border-radius: 14px;
overflow: hidden;
background: linear-gradient(135deg, rgba(17,24,39,0.12), rgba(31,26,180,0.12));
display: flex;
}
.producto-video-wrap video{
width: 100%;
height: 100%;
min-height: 100%;
object-fit: cover;
display: block;
}
.producto-video-badge{
position: absolute;
left: 14px;
right: 14px;
bottom: 14px;
padding: .9rem .95rem;
border-radius: 14px;
background: rgba(17,24,39,.74);
backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,.12);
}
.producto-video-badge strong{
display: block;
color: #fff;
font-family: var(--font-display);
font-size: .98rem;
letter-spacing: .04em;
text-transform: uppercase;
margin-bottom: .18rem;
}
.producto-video-badge span{
display: block;
color: rgba(255,255,255,.78);
font-size: .84rem;
line-height: 1.45;
}
/* DESKTOP MEDIO */
@media (max-width: 1199px){
.productos-cta-row--triple{
grid-template-columns: minmax(220px, 290px) minmax(280px, 1fr) minmax(220px, 290px);
gap: 20px;
}
.cta-band-middle-inner{
padding: 2rem 1.5rem;
}
}
/* TABLET */
@media (max-width: 991px){
.productos-cta-row--triple{
grid-template-columns: 1fr;
gap: 22px;
}
.producto-card-side,
.producto-video-card{
max-width: 560px;
width: 100%;
margin: 0 auto;
}
.cta-band-middle{
max-width: 760px;
margin: 0 auto;
}
.producto-video-wrap{
min-height: 360px;
}
}
/* PHONE */
@media (max-width: 640px){
.producto-card-side,
.producto-video-card{
padding: 14px;
}
.producto-card-side .producto-img-wrap{
padding: 10px;
}
.cta-band-middle-inner{
padding: 1.6rem 1.2rem;
}
.cta-band-middle .btn-outline-main{
width: 100%;
}
.producto-video-wrap{
min-height: 280px;
}
}
:root { --wa:#25D366; }
.tt-float { position:fixed; right:18px; bottom:166px; z-index:9997; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; color:#fff; text-decoration:none; background:linear-gradient(180deg,#111,#000); box-shadow:0 8px 24px rgba(0,0,0,.3); transition:transform .25s,box-shadow .25s; }
.tt-float:hover { transform:translateY(-3px) scale(1.05); box-shadow:0 12px 32px rgba(0,0,0,.4); }
.ig-float { position:fixed; right:18px; bottom:92px; z-index:9998; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; color:#fff; text-decoration:none; background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); box-shadow:0 8px 24px rgba(0,0,0,.25); transition:transform .25s,box-shadow .25s; }
.ig-float:hover { transform:translateY(-3px) scale(1.05); }
.wa-float { position:fixed; right:18px; bottom:18px; z-index:9999; font-family:var(--font-body,sans-serif); }
.wa-btn { background:var(--wa); color:#fff; border:0; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; box-shadow:0 8px 28px rgba(0,0,0,.22); cursor:pointer; transition:transform .3s,box-shadow .3s; z-index:9999; position:relative; }
.wa-btn:hover { transform:translateY(-3px) scale(1.05); }
.wa-card { position:absolute; right:0; bottom:72px; width:min(360px,92vw); background:#fff; color:#12131a; border-radius:18px; overflow:hidden; box-shadow:0 18px 60px rgba(0,0,0,.22); border:1px solid #dde4df; transform:translateY(10px); opacity:0; transition:transform .3s,opacity .3s; z-index:10000; }
.wa-card[aria-modal="true"] { transform:translateY(0); opacity:1; }
.wa-head { display:flex; align-items:center; gap:12px; padding:14px 16px; background:linear-gradient(135deg,#fff,#ecf6f0); border-bottom:1px solid #dde4df; }
.wa-avatar { width:40px; height:40px; border-radius:10px; background:#e9f7ef; display:grid; place-items:center; border:1px solid #cfeeda; overflow:hidden; }
.wa-title { font-weight:800; font-size:1rem; }
.wa-status { font-size:.82rem; color:#6c756f; display:flex; align-items:center; gap:5px; }
.wa-status::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--wa); }
.wa-close { margin-left:auto; background:transparent; color:#6c756f; border:0; font-size:22px; cursor:pointer; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:.2s; }
.wa-close:hover { background:rgba(0,0,0,.04); }
.wa-body { padding:12px 14px; max-height:38vh; overflow:auto; background:#f6f8f7; display:flex; flex-direction:column; gap:8px; }
.wa-bubble { max-width:88%; padding:9px 11px; border-radius:14px; line-height:1.35; box-shadow:0 2px 8px rgba(0,0,0,.06); font-size:.88rem; animation:fadeIn .25s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
.wa-bot { background:#fff; border:1px solid #dde4df; align-self:flex-start; border-bottom-left-radius:4px; }
.wa-user { background:var(--wa); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
.wa-compose { display:grid; grid-template-columns:1fr auto; gap:8px; padding:10px 12px; background:#fff; border-top:1px solid #dde4df; }
.wa-compose textarea { resize:none; border-radius:12px; padding:10px 12px; border:1px solid #dde4df; background:#f9fbfa; outline:none; min-height:44px; font-size:.88rem; transition:.2s; font-family:inherit; }
.wa-compose textarea:focus { border-color:var(--wa); box-shadow:0 0 0 2px rgba(37,211,102,.15); background:#fff; }
.wa-send { background:var(--wa); color:#fff; border:0; border-radius:12px; padding:0 14px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.2s; }
.wa-send:hover { background:#1fb85a; transform:scale(1.04); }
@media (max-width:480px) { .tt-float{right:12px;bottom:158px;width:48px;height:48px;} .ig-float{right:12px;bottom:84px;width:48px;height:48px;} .wa-float{right:12px;bottom:12px;} .wa-btn{width:54px;height:54px;} .wa-card{width:calc(100vw - 24px);right:0;} }