roñacastropasiondebox.com
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.csshttps://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css/* --------------------------------
RESET Y VARIABLES (PALETA ORIGINAL RESPETADA)
----------------------------------- */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--rojo-box: #8B0000;
--negro-box: #0A0A0A;
--gris-lona: #2A2A2A;
--blanco: #FFFFFF;
--dorado: #B8860B;
--shadow-fuerte: 0 10px 25px -5px rgba(0,0,0,0.5);
--border-ring: 3px solid var(--rojo-box);
/* Mejoras visuales */
--transition-smooth: all 0.3s ease;
--glass-bg: rgba(10, 10, 10, 0.7);
--glass-border: 1px solid rgba(255, 255, 255, 0.1);
/* Tema */
--text-main: var(--blanco);
--text-muted: rgba(255,255,255,0.80);
--text-soft: rgba(255,255,255,0.72);
--panel-bg: rgba(0,0,0,0.30);
--panel-bg-2: rgba(0,0,0,0.40);
--panel-border: rgba(255,255,255,0.10);
--input-border: rgba(255,255,255,0.25);
--input-border-2: rgba(255,255,255,0.20);
--iframe-scale: 1;
}
/* --------------------------------
LIGHT MODE (toggle con body.light-mode)
----------------------------------- */
body.light-mode {
/* Invertimos superficies manteniendo acentos */
--negro-box: #F6F6F7;
--blanco: #0A0A0A;
--gris-lona: #E7E7E9;
--glass-bg: rgba(255, 255, 255, 0.78);
--glass-border: 1px solid rgba(10, 10, 10, 0.08);
--shadow-fuerte: 0 10px 25px -5px rgba(0,0,0,0.18);
--text-muted: rgba(10,10,10,0.78);
--text-soft: rgba(10,10,10,0.68);
--panel-bg: rgba(255,255,255,0.62);
--panel-bg-2: rgba(255,255,255,0.70);
--panel-border: rgba(10,10,10,0.10);
--input-border: rgba(10,10,10,0.22);
--input-border-2: rgba(10,10,10,0.18);
}
/* Overlay global: en claro aclaramos (no oscurecemos) */
body.light-mode::before {
background: rgba(255,255,255,0.72);
}
/* Text utilities de bootstrap que quedaron "white" en modo oscuro */
body.light-mode .text-white,
body.light-mode .text-white-50,
body.light-mode .text-white-75,
body.light-mode .text-white-25 {
color: rgba(10,10,10,0.92) !important;
}
body.light-mode .text-white-50 { color: rgba(10,10,10,0.62) !important; }
body.light-mode .text-muted { color: rgba(10,10,10,0.62) !important; }
/* Inputs transparentes */
body.light-mode .form-control.bg-transparent,
body.light-mode .form-select.bg-transparent,
body.light-mode .input-group-text.bg-transparent {
color: rgba(10,10,10,0.92) !important;
}
body.light-mode .form-control::placeholder { color: rgba(10,10,10,0.52) !important; }
/* Accordion "dark" pasa a claro */
body.light-mode .accordion-dark .accordion-button {
background: rgba(255,255,255,0.75);
color: rgba(10,10,10,0.92);
border-color: rgba(10,10,10,0.08);
}
body.light-mode .accordion-dark .accordion-button:not(.collapsed){
background: rgba(255,255,255,0.92);
color: rgba(10,10,10,0.92);
}
body.light-mode .accordion-dark .accordion-body {
background: rgba(255,255,255,0.68);
color: rgba(10,10,10,0.72);
}
/* Footer */
body.light-mode .footer-rona {
background: rgba(255,255,255,0.80);
}
body.light-mode .footer-links a { color: rgba(10,10,10,.72); }
body.light-mode .footer-links a:hover { color: var(--rojo-box); }
body.light-mode .social-btn { color: rgba(10,10,10,.72); border-color: rgba(10,10,10,.12); }
body.light-mode .social-btn:hover { color: var(--negro-box); }
/* CTA strip más claro */
body.light-mode .cta-strip {
background: linear-gradient(90deg, rgba(139,0,0,.18) 0%, rgba(255,255,255,.75) 55%, rgba(184,134,11,.12) 100%);
}
/* ===== Ajustes extras para modo claro (contrastes) ===== */
body.light-mode .header-box p { background: rgba(255,255,255,0.70) !important; color: rgba(10,10,10,0.78) !important; border-color: rgba(139,0,0,0.18) !important; }
body.light-mode .section-head .section-lead { color: rgba(10,10,10,0.70) !important; }
body.light-mode .feature-card p,
body.light-mode .benefit-card p,
body.light-mode .review-text,
body.light-mode .review-meta,
body.light-mode .note-text.text-white-50,
body.light-mode .quick-sub.text-white-50,
body.light-mode .meta-row.text-white-50,
body.light-mode .text-white-50 { color: rgba(10,10,10,0.62) !important; }
body.light-mode .feature-card,
body.light-mode .glass-panel,
body.light-mode .review-card,
body.light-mode .note-card,
body.light-mode .contact-card,
body.light-mode .contact-side {
background: rgba(255,255,255,0.78) !important;
border-color: rgba(10,10,10,0.10) !important;
}
body.light-mode .benefit-card {
background: rgba(255,255,255,0.72) !important;
border-color: rgba(10,10,10,0.10) !important;
}
body.light-mode .topbar,
body.light-mode .topbar .topbar-item,
body.light-mode .topbar .topbar-link {
color: rgba(10,10,10,0.78) !important;
}
body.light-mode .topbar { background: rgba(255,255,255,0.65) !important; border-bottom-color: rgba(10,10,10,0.08) !important; }
body.light-mode .topbar .topbar-link { border-color: rgba(10,10,10,0.12) !important; }
body.light-mode .navbar { box-shadow: 0 4px 20px rgba(0,0,0,0.10) !important; }
body.light-mode .nav-link { color: rgba(10,10,10,0.88) !important; }
body.light-mode .nav-link:hover { color: #fff !important; }
body.light-mode .quick-link {
color: rgba(10,10,10,0.88) !important;
background: rgba(255,255,255,0.60) !important;
border-color: rgba(10,10,10,0.10) !important;
}
body.light-mode .quick-link:hover { border-color: rgba(139,0,0,0.35) !important; background: rgba(255,255,255,0.78) !important; }
body.light-mode .btn-outline-light {
color: var(--rojo-box) !important;
border-color: var(--rojo-box) !important;
}
body.light-mode .btn-outline-light:hover { background: var(--rojo-box) !important; color: #fff !important; }
/* Footer sólido en modo claro */
body.light-mode .footer-rona {
background: var(--rojo-box) !important;
color: #fff !important;
border-top: 0 !important;
}
body.light-mode .footer-heading { color: rgba(255,255,255,0.92) !important; }
body.light-mode .footer-title,
body.light-mode .footer-subtitle { color: rgba(255,255,255,0.92) !important; }
body.light-mode .footer-links a { color: rgba(255,255,255,.82) !important; }
body.light-mode .footer-links a:hover { color: var(--dorado) !important; }
body.light-mode .footer-hr { border-color: rgba(255,255,255,.18) !important; }
body.light-mode .social-btn { color: rgba(255,255,255,.90) !important; border-color: rgba(255,255,255,.22) !important; }
body.light-mode .social-btn:hover { background: var(--dorado) !important; color: var(--negro-box) !important; border-color: rgba(255,255,255,.35) !important; }
body.light-mode .footer-box { background: rgba(255,255,255,0.12) !important; border-color: rgba(255,255,255,0.22) !important; }
body.light-mode .footer-legal { color: rgba(255,255,255,0.82) !important; text-decoration: none; }
body.light-mode .footer-legal:hover { color: var(--dorado) !important; }
/* Newsletter strip */
body.light-mode #newsletter { background: rgba(255,255,255,0.70) !important; }
body.light-mode #newsletter .text-white-50 { color: rgba(10,10,10,0.62) !important; }
body {
font-family: 'Inter', sans-serif;
background-color: var(--negro-box);
color: var(--blanco);
min-height: 100vh;
overflow-x: hidden;
}
/* FONDO: imagen centrada en pantalla (exactamente como el original) */
.hero-bg {
position: fixed;
inset: 0;
background: url('img/rona2.jpg') no-repeat center center / auto 90%;
pointer-events: none;
z-index: -2;
}
/* overlay oscuro general (exactamente como el original) */
body::before {
content: '';
position: fixed;
inset: 0;
background: rgba(8,8,8,0.82);
z-index: -1;
}
/* TIPOGRAFÍA */
h1, h2, h3, h4, h5, h6 {
font-family: 'Oswald', sans-serif;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
}
/* ...cortado... */
.ticker-section {
overflow: hidden;
padding: 60px 0;
}
.ticker-wrapper {
width: 100%;
overflow: hidden;
}
.ticker-track {
display: flex;
gap: 40px;
width: max-content;
animation: tickerMove 18s linear infinite;
}
.ticker-track img {
height: 320px; /* MÁS GRANDES */
width: auto;
object-fit: contain; /* Respeta proporción real */
border-radius: 18px;
box-shadow: 0 20px 40px rgba(0,0,0,0.45);
transition: transform .4s ease;
}
.ticker-track img:hover {
transform: scale(1.08);
}
@keyframes tickerMove {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
/* Mobile */
@media (max-width: 768px) {
.ticker-track img {
height: 200px;
}
}
.ticker-section {
overflow: hidden;
padding: 60px 0;
}
.ticker-wrapper {
width: 100%;
overflow: hidden;
}
.ticker-track {
display: flex;
gap: 40px;
width: max-content;
animation: tickerMove 18s linear infinite;
}
.ticker-track img {
height: 320px; /* MÁS GRANDES */
width: auto;
object-fit: contain; /* Respeta proporción real */
border-radius: 18px;
box-shadow: 0 20px 40px rgba(0,0,0,0.45);
transition: transform .4s ease;
}
.ticker-track img:hover {
transform: scale(1.08);
}
@keyframes tickerMove {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
/* Mobile */
@media (max-width: 768px) {
.ticker-track img {
height: 200px;
}
}
:root{
--wa:#25D366;
--wa-dark:#1fb85a;
--light-bg:#ffffff;
--light-bg-soft:#f6f8f7;
--light-border:#dde4df;
--dark-text:#1c1f1d;
--muted-text:#6c756f;
}
/* TikTok button (arriba) */
.tt-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, #111111 0%, #000000 100%);
box-shadow:0 10px 30px rgba(0,0,0,.25);
transition:transform .25s, box-shadow .25s, opacity .25s;
}
.tt-float:hover{
transform:translateY(-2px) scale(1.04);
box-shadow:0 14px 36px rgba(0,0,0,.35);
}
/* IG button (medio) */
.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){
.tt-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; }
}
lsbturismoytraslados.com
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Inter:opsz,[email protected],300..700&display=swap/* ----------------------------------------------
· ROOT · Variables refinadas y expansivas
------------------------------------------------ */
:root {
--accent: #27979d; /* Tu color, inmutable */
--accent-dark: #1c6f73; /* Sutilmente más oscuro para hovers */
--ink: #0b1a1e; /* Casi negro azulado, más profundo */
--muted: #5b6e7a; /* Gris más elegante */
--bg-light: #f6fafc; /* Fondo ligerísimo azulado */
--white: #ffffff;
--radius-md: 20px; /* Unifica bordes */
--radius-lg: 32px;
--shadow-sm: 0 8px 20px -6px rgba(0,50,60,0.08), 0 4px 12px rgba(0,0,0,0.02);
--shadow-md: 0 20px 35px -12px rgba(0,90,100,0.18), 0 8px 18px rgba(0,40,50,0.06);
--shadow-lg: 0 30px 55px -12px rgba(0,70,80,0.28);
--transition: all 0.25s ease-out;
--font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
html { scroll-behavior: smooth; }
body {
font-family: var(--font-sans);
color: var(--ink);
background-color: var(--white);
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
/* ----------------------------------------------
· NAVBAR · Más ligera y con más presencia
------------------------------------------------ */
.navbar {
background: rgba(255,255,255,0.75);
backdrop-filter: blur(12px) saturate(180%);
-webkit-backdrop-filter: blur(12px) saturate(180%);
border-bottom: 1px solid rgba(39,151,157,0.15);
box-shadow: 0 4px 20px -10px rgba(0,30,40,0.08);
padding: 12px 0;
}
.navbar-brand {
display: flex;
align-items: center;
gap: 0.8rem;
font-weight: 600;
letter-spacing: -0.02em;
color: var(--ink) !important;
}
.navbar-brand img {
height: 44px;
width: auto;
transition: var(--transition);
}
.navbar-brand:hover img { transform: scale(1.02); }
.navbar-brand span {
font-size: 1.2rem;
background: linear-gradient(145deg, var(--ink) 0%, var(--accent-dark) 90%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.navbar-nav .nav-link {
font-weight: 500;
font-size: 0.95rem;
padding: 0.5rem 1rem !important;
color: var(--ink);
border-radius: 40px;
transition: var(--transition);
}
.navbar-nav .nav-link:hover {
color: var(--accent);
background: rgba(39,151,157,0.06);
}
/* ----------------------------------------------
· HELPERS GLOBALES · Tipografía y espaciado pro
------------------------------------------------ */
.section {
padding: 100px 0;
}
@media (max-width: 768px) {
.section { padding: 70px 0; }
}
.eyebrow {
display: inline-block;
font-size: 0.75rem;
letter-spacing: 0.4em;
text-transform: uppercase;
color: var(--accent);
font-weight: 700;
margin-bottom: 0.75rem;
background: rgba(39,151,157,0.1);
padding: 0.3rem 1rem;
border-radius: 40px;
border: 1px solid rgba(39,151,157,0.2);
backdrop-filter: blur(4px);
}
.section-title {
font-weight: 700;
font-size: clamp(2rem, 5vw, 2.8rem);
letter-spacing: -0.03em;
line-height: 1.2;
margin-bottom: 1.2rem;
color: var(--ink);
}
.section-subtitle {
color: var(--muted);
font-size: 1.2rem;
max-width: 720px;
margin-left: auto;
margin-right: auto;
}
/* ----------------------------------------------
· CARDS · eleganza, profundidad, suavidad
------------------------------------------------ */
.kcard, .contact-card, .hero-card {
border: none;
border-radius: var(--radius-md);
background: var(--white);
box-shadow: var(--shadow-sm);
padding: 2rem 1.8rem;
transition: var(--transition);
height: 100%;
backdrop-filter: blur(2px);
border: 1px solid rgba(255,255,255,0.6);
}
.kcard:hover, .contact-card:hover {
box-shadow: var(--shadow-md);
transform: translateY(-6px);
}
/* Icon badges dentro de cards */
.icon-badge {
width: 56px;
height: 56px;
border-radius: 18px;
background: rgba(39,151,157,0.12);
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
transition: var(--transition);
}
.kcard:hover .icon-badge {
background: var(--accent);
transform: scale(1.05);
}
.icon-badge svg {
width: 28px;
height: 28px;
fill: var(--accent);
transition: var(--transition);
}
.kcard:hover .icon-badge svg {
fill: white;
}
/* ----------------------------------------------
· BOTONES · con personalidad
------------------------------------------------ */
.btn-accent {
background: var(--accent);
border: none;
color: white;
border-radius: 50px;
padding: 0.7rem 1.8rem;
font-weight: 600;
letter-spacing: 0.3px;
box-shadow: 0 8px 18px -6px rgba(39,151,157,0.4);
transition: var(--transition);
}
.btn-accent:hover {
background: var(--accent-dark);
transform: translateY(-2px);
box-shadow: 0 12px 24px -8px rgba(39,151,157,0.6);
color: white;
}
.btn-outline-accent {
background: transparent;
border: 1.5px solid var(--accent);
color: var(--accent);
border-radius: 50px;
padding: 0.7rem 1.8rem;
font-weight: 600;
transition: var(--transition);
}
.btn-outline-accent:hover {
background: var(--accent);
color: white;
transform: translateY(-2px);
box-shadow: 0 8px 16px -8px var(--accent);
}
/* ----------------------------------------------
· HERO · La entrada triunfal
------------------------------------------------ */
.hero {
padding-top: 140px;
padding-bottom: 80px;
background: linear-gradient(145deg, rgba(246,250,252,0.5) 0%, rgba(255,255,255,1) 100%);
}
.hero-card {
padding: 0;
overflow: hidden;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-lg);
border: 1px solid rgba(255,255,255,0.8);
}
.hero-img {
width: 100%;
height: 100%;
min-height: 400px;
object-fit: cover;
transition: transform 1.2s cubic-bezier(0.25, 0.45, 0.45, 0.95);
}
.hero-card:hover .hero-img {
transform: scale(1.03);
}
.hero-points {
list-style: none;
padding: 0;
margin-top: 1.5rem;
}
.hero-points li {
display: flex;
gap: 1rem;
align-items: center;
margin-bottom: 0.8rem;
font-size: 1.05rem;
}
.hero-points .dot {
width: 10px;
height: 10px;
border-radius: 50%;
background: var(--accent);
opacity: 0.8;
box-shadow: 0 0 0 3px rgba(39,151,157,0.2);
}
/* ----------------------------------------------
· FORMULARIOS · suaves y orgánicos
------------------------------------------------ */
.form-control, .form-select {
border-radius: 60px;
border: 1px solid rgba(39,151,157,0.25);
padding: 0.85rem 1.2rem;
background-color: rgba(255,255,255,0.8);
backdrop-filter: blur(4px);
transition: var(--transition);
}
.form-control:focus, .form-select:focus {
border-color: var(--accent);
box-shadow: 0 0 0 4px rgba(39,151,157,0.2);
background-color: white;
}
/* ---------------------------------------
/* ...cortado... */
/* Variables para facilitar ajustes */
:root {
--ig-transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
--ig-transition-bounce: 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ig-grid-gallery {
padding: 72px 0;
position: relative;
overflow: hidden;
}
@media (max-width: 575.98px) {
.ig-grid-gallery {
padding: 54px 0;
}
}
/* Animación de entrada para los textos */
.ig-grid-gallery .eyebrow,
.ig-grid-gallery .section-title,
.ig-grid-gallery .section-subtitle {
animation: slideUpFade 0.8s var(--ig-transition-bounce) forwards;
opacity: 0;
}
.ig-grid-gallery .section-title { animation-delay: 0.1s; }
.ig-grid-gallery .section-subtitle { animation-delay: 0.2s; }
@keyframes slideUpFade {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* GRID mejorado con animaciones */
.ig-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 22px;
align-items: stretch;
}
@media (max-width: 575.98px) {
.ig-grid {
grid-template-columns: 1fr;
gap: 14px;
}
}
.ig-item {
margin: 0;
opacity: 0;
animation: fadeScale 0.6s var(--ig-transition-bounce) forwards;
}
/* Animación escalonada para cada item */
.ig-item:nth-child(1) { animation-delay: 0.1s; }
.ig-item:nth-child(2) { animation-delay: 0.15s; }
.ig-item:nth-child(3) { animation-delay: 0.2s; }
.ig-item:nth-child(4) { animation-delay: 0.25s; }
.ig-item:nth-child(5) { animation-delay: 0.3s; }
.ig-item:nth-child(6) { animation-delay: 0.35s; }
.ig-item:nth-child(7) { animation-delay: 0.4s; }
@keyframes fadeScale {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
/* MARCO mejorado con efectos hover */
.ig-frame {
background: #fff;
border: 1px solid rgba(17, 17, 17, 0.10);
border-radius: 18px;
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
overflow: hidden;
height: 560px;
display: flex;
align-items: center;
justify-content: center;
padding: 14px;
cursor: zoom-in;
transition: all var(--ig-transition-slow);
position: relative;
}
.ig-frame::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
opacity: 0;
transition: opacity var(--ig-transition-slow);
pointer-events: none;
z-index: 1;
}
.ig-frame:hover {
transform: translateY(-8px) scale(1.02);
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
border-color: rgba(17, 17, 17, 0.2);
}
.ig-frame:hover::before {
opacity: 1;
}
.ig-frame img {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
object-fit: contain;
object-position: center;
display: block;
user-select: none;
-webkit-user-drag: none;
transition: transform var(--ig-transition-slow);
}
.ig-frame:hover img {
transform: scale(1.05);
}
/* Ajustes responsive */
@media (max-width: 1199.98px) {
.ig-frame { height: 520px; }
}
@media (max-width: 991.98px) {
.ig-frame { height: 480px; }
}
@media (max-width: 575.98px) {
.ig-frame {
height: clamp(320px, 60vh, 520px);
padding: 12px;
}
.ig-frame:hover {
transform: translateY(-4px) scale(1.01);
}
}
/* ===== Modal mejorado ===== */
.ig-modal {
position: fixed;
inset: 0;
z-index: 9999;
display: none;
align-items: center;
justify-content: center;
padding: 16px;
}
.ig-modal.is-open {
display: flex;
animation: modalFadeIn 0.3s ease;
}
@keyframes modalFadeIn {
from {
opacity: 0;
backdrop-filter: blur(0);
}
to {
opacity: 1;
backdrop-filter: blur(4px);
}
}
.ig-modal-backdrop {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.85);
backdrop-filter: blur(4px);
transition: all 0.3s ease;
}
.ig-modal-dialog {
position: relative;
z-index: 1;
width: min(1200px, 96vw);
height: min(88vh, 820px);
background: #000;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 22px 70px rgba(0, 0, 0, 0.45);
display: flex;
align-items: center;
justify-content: center;
animation: modalSlideIn 0.4s var(--ig-transition-bounce);
}
@keyframes modalSlideIn {
from {
opacity: 0;
transform: scale(0.9) translateY(20px);
}
to {
opacity: 1;
transform: scale(1) translateY(0);
}
}
.ig-modal-img {
width: 100%;
height: 100%;
object-fit: contain;
display: block;
background: #000;
transition: transform 0.3s ease;
}
/* Botones del modal mejorados */
.ig-modal-close {
position: absolute;
top: 16px;
right: 16px;
width: 46px;
height: 46px;
border-radius: 999px;
border: 0;
background: rgba(255, 255, 255, 0.16);
color: #fff;
font-size: 30px;
line-height: 46px;
cursor: pointer;
z-index: 2;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
backdrop-filter: blur(4px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.ig-modal-close:hover {
background: rgba(255, 255, 255, 0.24);
transform: rotate(90deg);
}
.ig-modal-nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 52px;
height: 52px;
border-radius: 999px;
border: 0;
background: rgba(255, 255, 255, 0.16);
color: #fff;
cursor: pointer;
z-index: 2;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
backdrop-filter: blur(4px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.ig-modal-nav:hover {
background: rgba(255, 255, 255, 0.24);
transform: translateY(-50%) scale(1.1);
}
.ig-modal-nav:active {
transform: translateY(-50%) scale(0.95);
}
.ig-modal-nav.ig-prev { left: 16px; }
.ig-modal-nav.ig-next { right: 16px; }
.ig-modal-nav svg {
width: 24px;
height: 24px;
stroke: white;
}
/* Contador de imágenes */
.ig-modal-counter {
position: absolute;
bottom: 16px;
left: 50%;
transform: translateX(-50%);
background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(4px);
color: white;
padding: 8px 16px;
border-radius: 999px;
font-size: 14px;
font-weight: 500;
border: 1px solid rgba(255, 255, 255, 0.1);
animation: counterFadeIn 0.3s ease;
}
@keyframes counterFadeIn {
from {
opacity: 0;
transform: translateX(-50%) translateY(20px);
}
to {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
}
@media (max-width: 575.98px) {
.ig-modal-dialog {
height: min(84vh, 680px);
}
.ig-modal-nav {
width: 42px;
height: 42px;
}
.ig-modal-nav.ig-prev { left: 8px; }
/* ...cortado... */
/* ------------------------------------------------
EXCURSIONES · Tarjetas de destino con personalidad
------------------------------------------------ */
#excursiones .ex-card {
background: var(--white);
border-radius: var(--radius-md);
padding: 1.8rem 1.5rem 1.5rem 1.5rem;
box-shadow: var(--shadow-sm);
border: 1px solid rgba(39,151,157,0.1);
transition: var(--transition);
height: 100%;
display: flex;
flex-direction: column;
position: relative;
overflow: hidden;
}
#excursiones .ex-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 6px;
background: linear-gradient(90deg, var(--accent), #4dc3c9);
opacity: 0;
transition: var(--transition);
}
#excursiones .ex-card:hover {
box-shadow: var(--shadow-lg);
transform: translateY(-8px);
}
#excursiones .ex-card:hover::before {
opacity: 1;
}
/* Header de la tarjeta: bandera + badge */
#excursiones .ex-card__header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1.2rem;
}
#excursiones .ex-flag {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
background: #f0f6f8;
border-radius: 50%;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
#excursiones .ex-flag::after {
content: '';
width: 32px;
height: 32px;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* Asignamos las banderas vía attr + content con un pequeño script */
#excursiones .ex-badge {
background: rgba(39,151,157,0.1);
color: var(--accent-dark);
font-size: 0.75rem;
font-weight: 700;
padding: 0.35rem 1rem;
border-radius: 40px;
border: 1px solid rgba(39,151,157,0.2);
letter-spacing: 0.3px;
}
/* Cuerpo de la tarjeta */
#excursiones .ex-card__body {
flex: 1;
}
#excursiones .ex-card__title {
font-size: 1.8rem;
font-weight: 700;
letter-spacing: -0.02em;
margin-bottom: 0.4rem;
color: var(--ink);
line-height: 1.2;
}
#excursiones .ex-card__subtitle {
color: var(--muted);
font-size: 0.95rem;
margin-bottom: 1.5rem;
border-left: 3px solid var(--accent);
padding-left: 0.8rem;
}
#excursiones .ex-card__list {
list-style: none;
padding: 0;
margin: 0 0 1rem 0;
}
#excursiones .ex-card__list li {
padding: 0.45rem 0 0.45rem 1.6rem;
position: relative;
color: var(--ink);
font-weight: 400;
border-bottom: 1px dashed rgba(39,151,157,0.1);
}
#excursiones .ex-card__list li::before {
content: "✓";
position: absolute;
left: 0;
top: 0.4rem;
color: var(--accent);
font-weight: 700;
font-size: 1rem;
}
#excursiones .ex-card__list-more {
color: var(--muted) !important;
font-size: 0.9rem;
font-style: italic;
border-bottom: none !important;
}
#excursiones .ex-card__list-more::before {
content: "⋯" !important;
color: var(--muted) !important;
font-size: 1.2rem;
top: 0.2rem;
}
/* Footer */
#excursiones .ex-card__footer {
margin-top: 1.5rem;
padding-top: 0.8rem;
border-top: 1px solid rgba(0,0,0,0.05);
}
#excursiones .ex-card__link {
color: var(--accent);
text-decoration: none;
font-weight: 600;
font-size: 0.95rem;
display: inline-flex;
align-items: center;
gap: 0.4rem;
transition: var(--transition);
}
#excursiones .ex-card__link:hover {
gap: 0.8rem;
color: var(--accent-dark);
}
/* Ajuste para móvil */
@media (max-width: 768px) {
#excursiones .ex-card__title {
font-size: 1.6rem;
}
}
.media-showcase{ padding:72px 0; }
/* ===== IMÁGENES ===== */
.ms-grid-images{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-bottom:30px;
}
@media(max-width:575.98px){
.ms-grid-images{ grid-template-columns:1fr; }
}
.ms-frame{
background:#fff;
border-radius:18px;
box-shadow:0 15px 40px rgba(0,0,0,.10);
height:420px;
display:flex;
align-items:center;
justify-content:center;
padding:12px;
overflow:hidden;
}
.ms-frame img{
max-width:100%;
max-height:100%;
object-fit:contain;
}
/* ===== VIDEOS ===== */
.ms-grid-videos{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
}
@media(max-width:575.98px){
.ms-grid-videos{ grid-template-columns:1fr; }
}
/* IMPORTANTE: quitamos aspect-ratio fijo */
.ms-video-frame{
background:#fff; /* blanco en vez de negro */
border-radius:18px;
box-shadow:0 18px 45px rgba(0,0,0,.12);
padding:12px;
display:flex;
justify-content:center;
align-items:center;
}
/* Video mantiene su proporción real */
.ms-video-frame video{
width:100%;
height:auto; /* NO forzamos alto */
max-height:650px; /* tamaño grande en desktop */
object-fit:contain; /* nunca recorta */
background:#fff; /* si sobra espacio, blanco */
border-radius:12px;
}
@media(max-width:575.98px){
.ms-frame{ height:360px; }
.ms-video-frame video{ max-height:520px; }
}
/* ===== Contenedor fijo (solo WA) ===== */
.wa-float{
position:fixed;
right:18px;
bottom:18px;
z-index:2147483647;
display:flex;
flex-direction:column;
align-items:flex-end;
font-family:inherit;
}
/* ===== Botón flotante ===== */
.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);
}
/* ===== Card ===== */
.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; }
/* ===== Head ===== */
.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); }
/* ===== Body ===== */
.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;
}
/* ===== Compose ===== */
.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); }
}
acpositivity.com
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.csshttps://fonts.googleapis.com/css2?family=Inter:opsz,[email protected],400;14..32,500;14..32,600;14..32,700;14..32,800;14..32,900&display=swap/* ===== VARIABLES Y RESET PREMIUM ===== */
:root {
--accent: #69abf9;
--accent-dark: #4f97f6;
--accent-soft: rgba(105, 171, 249, 0.12);
--ink: #0b1220;
--ink-light: #1e2a3a;
--muted: #5d6b85;
--muted-light: #8a97b0;
--border: #e7edf7;
--soft: #f6f9ff;
--white: #ffffff;
--radius-md: 18px;
--radius-lg: 28px;
--radius-sm: 12px;
--shadow-sm: 0 8px 20px rgba(11, 18, 32, 0.06);
--shadow-md: 0 16px 40px rgba(11, 18, 32, 0.10);
--shadow-lg: 0 25px 50px -10px rgba(11, 18, 32, 0.25);
--shadow-hover: 0 30px 60px -12px rgba(105, 171, 249, 0.35);
--transition: all 0.25s cubic-bezier(0.2, 0, 0, 1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
overflow-x: hidden;
}
body {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
color: var(--ink);
background: var(--white);
overflow-x: hidden;
line-height: 1.5;
}
/* Evitar overflow horizontal por componentes con 100vw / sombras */
img, svg, video, canvas { max-width: 100%; }
a {
color: inherit;
text-decoration: none;
}
.container {
max-width: 1200px;
padding: 0 24px;
}
/* ===== TIPOGRAFÍA ===== */
.eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-size: 0.8rem;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--accent);
background: var(--accent-soft);
padding: 0.4rem 1rem;
border-radius: 100px;
border: 1px solid rgba(105, 171, 249, 0.2);
backdrop-filter: blur(4px);
margin-bottom: 1rem;
}
.section-title {
font-weight: 900;
letter-spacing: -0.03em;
font-size: clamp(2rem, 4vw, 3rem);
margin: 0 0 0.5rem;
line-height: 1.2;
background: linear-gradient(135deg, var(--ink) 0%, var(--accent-dark) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.section-subtitle {
color: var(--muted);
font-size: 1.1rem;
max-width: 600px;
margin: 0 auto;
}
/* ===== NAVBAR PREMIUM ===== */
.navbar {
backdrop-filter: blur(16px) saturate(180%);
background: rgba(255, 255, 255, 0.85);
border-bottom: 1px solid rgba(105, 171, 249, 0.15);
padding: 0.75rem 0;
transition: var(--transition);
}
.navbar-scrolled {
padding: 0.5rem 0;
background: rgba(255, 255, 255, 0.98);
box-shadow: var(--shadow-sm);
}
.brand-wrap {
display: flex;
align-items: center;
gap: 0.85rem;
}
.brand-wrap img {
height: 44px;
width: auto;
transition: transform 0.3s ease;
}
.brand-wrap:hover img {
transform: scale(1.05);
}
.brand-text {
font-weight: 800;
font-size: 1.1rem;
background: linear-gradient(135deg, var(--ink) 0%, var(--accent) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* Icono hamburger visible (por si algún estilo lo pisa) */
.navbar-toggler-icon{
background-image: var(--bs-navbar-toggler-icon-bg);
}
.navbar-toggler:focus{ box-shadow:none; }
.nav-link {
color: var(--ink) !important;
font-weight: 600;
padding: 0.5rem 1rem !important;
border-radius: 100px;
transition: var(--transition);
position: relative;
}
.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%) scaleX(0);
width: 20px;
height: 3px;
background: var(--accent);
border-radius: 2px;
transition: transform 0.2s ease;
}
.nav-link:hover::after {
transform: translateX(-50%) scaleX(1);
}
.nav-link:hover {
background: var(--accent-soft);
}
/* Botones */
.btn-accent {
background: var(--accent);
border: none;
color: var(--ink);
font-weight: 700;
border-radius: 100px;
padding: 0.6rem 1.5rem;
transition: var(--transition);
box-shadow: 0 8px 18px -6px rgba(105, 171, 249, 0.4);
}
.btn-accent:hover {
background: var(--accent-dark);
transform: translateY(-3px);
box-shadow: 0 15px 25px -8px rgba(105, 171, 249, 0.6);
color: var(--ink);
}
.btn-ghost {
border: 2px solid rgba(105, 171, 249, 0.3);
background: transparent;
border-radius: 100px;
padding: 0.6rem 1.5rem;
font-weight: 700;
color: var(--ink);
transition: var(--transition);
}
.btn-ghost:hover {
border-color: var(--accent);
background: var(--accent-soft);
transform: translateY(-2px);
}
/* ===== HERO PREMIUM ===== */
.hero {
padding-top: 120px;
padding-bottom: 60px; /* separación real antes del siguiente bloque */
position: relative;
overflow: visible; /* evita que corte sombras y genere bug visual */
}
.hero::before {
content: '';
position: absolute;
top: -30%;
right: -10%;
width: 80%;
height: 80%;
background: radial-gradient(circle, rgba(105, 171, 249, 0.15) 0%, transparent 70%);
border-radius: 50%;
z-index: -1;
}
.hero::after {
content: '';
position: absolute;
bottom: -10%;
left: -10%;
width: 60%;
height: 60%;
background: radial-gradient(circle, rgba(105, 171, 249, 0.1) 0%, transparent 70%);
border-radius: 50%;
z-index: -1;
}
.hero-card {
border: 1px solid var(--border);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
background: rgba(255, 255, 255, 0.75);
backdrop-filter: blur(8px);
overflow: hidden;
transition: var(--transition);
}
.hero-card:hover {
box-shadow: var(--shadow-hover);
}
.hero-img-wrap {
background: linear-gradient(145deg, var(--accent-soft), rgba(105, 171, 249, 0.02));
border-left: 1px solid var(--border);
height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
}
.hero-img {
width: 100%;
max-width: 520px;
height: auto;
border-radius: var(--radius-md);
box-shadow: var(--shadow-lg);
transition: transform 0.5s ease;
}
.hero-img:hover {
transform: scale(1.02) rotate(0.5deg);
}
.hero h1 {
font-weight: 900;
letter-spacing: -0.03em;
font-size: clamp(2.2rem, 4vw, 3.5rem);
line-height: 1.2;
margin: 1rem 0 1rem;
}
.hero-bullets {
list-style: none;
padding: 0;
}
.hero-bullets li {
margin: 0.75rem 0;
display: flex;
align-items: center;
gap: 0.75rem;
}
.hero-bullets li::before {
content: '✓';
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
background: var(--accent);
color: var(--white);
border-radius: 50%;
font-size: 14px;
font-weight: 900;
}
/* ===== CARDS PREMIUM ===== */
.kcard {
border: 1px solid var(--border);
border-radius: var(--radius-lg);
background: var(--white);
padding: 24px;
height: 100%;
transition: var(--transition);
position: relative;
overflow: hidden;
}
.kcard::before {
content: '';
position:
/* ...cortado... */
/* ===== Wrapper (IG arriba + WA abajo) ===== */
.social-float{
position:fixed;
right:18px;
bottom:18px;
z-index:2147483647;
display:flex;
flex-direction:column;
align-items:flex-end;
gap:10px;
font-family:inherit;
}
/* ===== Instagram button ===== */
.ig-btn{
width:56px;
height:56px;
border-radius:50%;
display:grid;
place-items:center;
color:#fff;
text-decoration:none;
background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
box-shadow:0 10px 30px rgba(0,0,0,.18);
transition:transform .25s, box-shadow .25s;
}
.ig-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(0,0,0,.22);
}
/* ===== Contenedor WA ===== */
.wa-float{
position:relative;
display:flex;
flex-direction:column;
align-items:flex-end;
}
/* ===== Botón flotante WA ===== */
.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);
}
/* ===== Card WA ===== */
.wa-card{
position:absolute;
right:0;
bottom:74px;
width:360px;
max-width:calc(100vw - 24px);
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; }
/* ===== Head WA ===== */
.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); }
/* ===== Body WA ===== */
.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; }
/* ===== Compose WA ===== */
.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){
.social-float{ right:12px; bottom:12px; }
.wa-card{ width:360px; max-width:calc(100vw - 24px); }
}
/* ===== FIX ESPACIO EXCESIVO NAVBAR-HERO EN MOBILE ===== */
@media (max-width: 767.98px){
.hero.section{
padding-top: 80px !important;
padding-bottom: 60px !important;
}
}
/* ===== FIX V2 (MÁS AGRESIVO) ESPACIO NAVBAR-HERO EN MOBILE ===== */
@media (max-width: 767.98px){
/* navbar un poco más baja */
.navbar{
padding-top: .45rem !important;
padding-bottom: .45rem !important;
}
/* menos hueco arriba del hero */
.hero.section{
padding-top: 62px !important;
padding-bottom: 52px !important;
}
}
/* ===== FIX V3 ULTRA MOBILE ===== */
@media (max-width: 767.98px){
/* Navbar más compacta todavía */
.navbar{
padding-top: .35rem !important;
padding-bottom: .35rem !important;
}
/* Eliminamos prácticamente el hueco superior */
.hero.section{
padding-top: 48px !important;
padding-bottom: 50px !important;
}
/* Si .section general agrega demasiado espacio arriba */
.section{
padding-top: 60px !important;
}
}
eseizasportbendix.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Inter:opsz,[email protected],400;14..32,500;14..32,600;14..32,700;14..32,800;14..32,900&display=swap/* ===== VARIABLES PROFESIONALES ===== */
:root {
--accent: #f11308;
--accent-dark: #c00f06;
--accent-soft: rgba(241, 19, 8, 0.08);
--accent-light: rgba(241, 19, 8, 0.04);
--text-primary: #1a1a1a;
--text-secondary: #4a4a4a;
--text-tertiary: #6f6f6f;
--border-light: rgba(0, 0, 0, 0.08);
--border-medium: rgba(0, 0, 0, 0.12);
--bg-soft: #fafafa;
--white: #ffffff;
--shadow-sm: 0 4px 6px -2px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.02);
--shadow-md: 0 12px 24px -8px rgba(0, 0, 0, 0.08), 0 4px 12px -4px rgba(0, 0, 0, 0.02);
--shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, 0.12), 0 8px 24px -8px rgba(0, 0, 0, 0.04);
--radius-xs: 8px;
--radius-sm: 12px;
--radius-md: 16px;
--radius-lg: 24px;
--radius-xl: 32px;
--radius-full: 9999px;
--transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ===== RESET PROFESIONAL ===== */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
body {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
background: var(--white);
color: var(--text-primary);
line-height: 1.5;
overflow-x: hidden;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: inherit;
text-decoration: none;
transition: var(--transition);
}
/* ===== UTILIDADES PROFESIONALES ===== */
.container {
width: 100%;
margin-left: auto;
margin-right: auto;
max-width: 1280px;
padding: 0 2rem;
}
@media (max-width: 768px) {
.container {
padding: 0 1.5rem;
}
}
.anchor-offset {
scroll-margin-top: 88px;
}
/* ===== NAVBAR ELEVADA ===== */
/* ===== NAVBAR (FIX MOBILE TOGGLER + OVERFLOW) ===== */
.navbar-toggler{
border: 1px solid var(--border-light);
border-radius: var(--radius-md);
padding: .45rem .6rem;
}
.navbar-toggler:focus{
box-shadow: 0 0 0 4px rgba(241, 19, 8, 0.12);
}
/* Asegura que el icono del hamburguesa se vea aunque cambien variables */
.navbar-toggler-icon{
background-image: var(--bs-navbar-toggler-icon-bg);
}
.navbar {
background: rgba(255, 255, 255, 0.98);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border-bottom: 1px solid var(--border-light);
padding: 1rem 0;
transition: var(--transition);
}
.navbar.sticky-top {
box-shadow: var(--shadow-sm);
}
.brand-wrap {
display: flex;
align-items: center;
gap: 12px;
}
.brand-wrap img {
height: 44px;
width: auto;
object-fit: contain;
transition: var(--transition);
}
.brand-wrap .brand-text {
font-weight: 700;
font-size: 1.25rem;
letter-spacing: -0.02em;
color: var(--text-primary);
background: linear-gradient(135deg, var(--text-primary) 0%, var(--accent) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.navbar-nav .nav-link {
font-weight: 500;
color: var(--text-secondary);
padding: 0.5rem 1rem !important;
margin: 0 0.25rem;
border-radius: var(--radius-full);
transition: var(--transition);
font-size: 0.95rem;
}
.navbar-nav .nav-link:hover {
color: var(--accent);
background: var(--accent-soft);
}
.btn-accent {
background: var(--accent);
border: none;
color: white;
font-weight: 600;
padding: 0.6rem 1.25rem;
border-radius: var(--radius-full);
transition: var(--transition);
box-shadow: 0 8px 16px -4px rgba(241, 19, 8, 0.2);
letter-spacing: -0.01em;
font-size: 0.95rem;
}
.btn-accent:hover {
background: var(--accent-dark);
color: white;
transform: translateY(-1px);
box-shadow: 0 12px 20px -8px rgba(241, 19, 8, 0.3);
}
.btn-accent:active {
transform: translateY(0);
box-shadow: 0 4px 12px -4px rgba(241, 19, 8, 0.25);
}
.btn-outline-dark {
border: 1.5px solid var(--border-medium);
color: var(--text-primary);
font-weight: 600;
padding: 0.6rem 1.5rem;
border-radius: var(--radius-full);
transition: var(--transition);
background: transparent;
font-size: 0.95rem;
}
.btn-outline-dark:hover {
border-color: var(--accent);
background: var(--accent-soft);
color: var(--accent);
transform: translateY(-1px);
}
/* ===== HERO SECTION PROFESIONAL ===== */
.hero {
padding: 4rem 0 3rem;
background:
radial-gradient(800px at 10% 30%, rgba(241, 19, 8, 0.03) 0%, transparent 70%),
radial-gradient(600px at 90% 70%, rgba(241, 19, 8, 0.02) 0%, transparent 70%),
linear-gradient(180deg, rgba(241, 19, 8, 0.02) 0%, transparent 100%);
position: relative;
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 12px;
font-weight: 600;
font-size: 0.85rem;
letter-spacing: 0.3em;
text-transform: uppercase;
color: var(--text-tertiary);
margin-bottom: 1.5rem;
}
.eyebrow::before {
content: '';
width: 32px;
height: 2px;
background: var(--accent);
border-radius: var(--radius-full);
}
.hero h1 {
font-weight: 800;
font-size: clamp(2.5rem, 5vw, 3.75rem);
line-height: 1.1;
letter-spacing: -0.03em;
color: var(--text-primary);
margin-bottom: 1.5rem;
}
.hero .lead {
font-size: 1.125rem;
color: var(--text-secondary);
max-width: 90%;
margin-bottom: 2rem;
}
.pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 0.5rem 1.25rem;
background: var(--white);
border: 1px solid var(--border-light);
border-radius: var(--radius-full);
font-weight: 500;
font-size: 0.9rem;
color: var(--text-secondary);
transition: var(--transition);
box-shadow: var(--shadow-sm);
}
.pill:hover {
border-color: var(--accent);
color: var(--accent);
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}
.pill svg {
width: 18px;
height: 18px;
fill: var(--accent);
}
.hero-card {
background: var(--white);
border: 1px solid var(--border-light);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
transition: var(--transition);
}
.hero-card:hover {
transform: translateY(-4px);
box-shadow: 0 32px 64px -16px rgba(0, 0, 0, 0.16);
}
.hero-media {
aspect-ratio: 1/1;
background: linear-gradient(135deg, var(--accent-light) 0%, transparent 100%);
display: flex;
align-items: center;
justify-content: center;
padding: 1.5rem;
}
.hero-media img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.08));
}
/* ===== SECTION TITLES ===== */
.section {
padding: 5rem 0;
position: relative;
}
.section:nth-child(even) {
background: var(--bg-soft);
}
.section-title {
font-weight: 800;
font-size: clamp(2rem, 4vw, 2.75rem);
letter-spacing
/* ...cortado... */
/* ===== Brand Ticker (standalone / no dependencias) ===== */
.bt-section{ padding: 84px 0; background: transparent; }
.bt-container{ max-width: 1140px; margin: 0 auto; padding: 0 16px; }
.bt-head{ text-align:center; margin-bottom: 18px; }
.bt-eyebrow{
display:inline-block; font-weight:700; font-size: 12px; letter-spacing:.12em;
text-transform: uppercase; padding: 6px 12px; border-radius: 999px;
background: rgba(11,58,114,.08); color: rgba(11,58,114,.95);
margin-bottom: 10px;
}
.bt-title{ margin: 6px 0 8px; font-size: clamp(22px, 3vw, 34px); line-height: 1.15; }
.bt-subtitle{ margin: 0 auto; max-width: 720px; opacity: .75; }
.bt-wrap{
border-radius: 18px;
border: 1px solid rgba(11,58,114,.12);
background: rgba(255,255,255,.92);
box-shadow: 0 14px 34px rgba(0,0,0,.06);
padding: 14px;
overflow: hidden;
}
.bt-ticker{
overflow:hidden; width:100%;
mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.bt-track{
display:flex;
align-items:center;
gap: 18px;
width: max-content;
will-change: transform;
animation-name: bt-scroll;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-duration: 30s; /* JS lo ajusta automáticamente */
}
.bt-item{
flex: 0 0 auto;
width: 160px;
height: 86px;
border-radius: 14px;
border: 1px solid rgba(11,58,114,.10);
background:#fff;
display:flex;
align-items:center;
justify-content:center;
padding: 10px;
}
.bt-item img{
max-width:100%;
max-height:100%;
width:auto;
height:auto;
object-fit:contain;
display:block;
opacity:.95;
}
@keyframes bt-scroll{
from{ transform: translateX(0); }
to{ transform: translateX(-50%); } /* exacto porque duplicamos el contenido */
}
@media (max-width: 991.98px){
.bt-item{ width: 140px; height: 80px; }
}
@media (max-width: 575.98px){
.bt-section{ padding: 64px 0; }
.bt-wrap{ padding: 12px; }
.bt-item{ width: 120px; height: 72px; }
}
/* Accesibilidad: reduce motion */
@media (prefers-reduced-motion: reduce){
.bt-track{ animation: none !important; transform: translateX(0) !important; }
}
/* ===== Brand Ticker (standalone / no dependencias) ===== */
.bt-section{ padding: 84px 0; background: transparent; }
.bt-container{ max-width: 1140px; margin: 0 auto; padding: 0 16px; }
.bt-head{ text-align:center; margin-bottom: 18px; }
.bt-eyebrow{
display:inline-block; font-weight:700; font-size: 12px; letter-spacing:.12em;
text-transform: uppercase; padding: 6px 12px; border-radius: 999px;
background: rgba(11,58,114,.08); color: rgba(11,58,114,.95);
margin-bottom: 10px;
}
.bt-title{ margin: 6px 0 8px; font-size: clamp(22px, 3vw, 34px); line-height: 1.15; }
.bt-subtitle{ margin: 0 auto; max-width: 720px; opacity: .75; }
.bt-wrap{
border-radius: 18px;
border: 1px solid rgba(11,58,114,.12);
background: rgba(255,255,255,.92);
box-shadow: 0 14px 34px rgba(0,0,0,.06);
padding: 14px;
overflow: hidden;
}
.bt-ticker{
overflow:hidden; width:100%;
mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.bt-track{
display:flex;
align-items:center;
gap: 18px;
width: max-content;
will-change: transform;
animation-name: bt-scroll;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-duration: 30s; /* JS lo ajusta automáticamente */
}
.bt-item{
flex: 0 0 auto;
width: 160px;
height: 86px;
border-radius: 14px;
border: 1px solid rgba(11,58,114,.10);
background:#fff;
display:flex;
align-items:center;
justify-content:center;
padding: 10px;
}
.bt-item img{
max-width:100%;
max-height:100%;
width:auto;
height:auto;
object-fit:contain;
display:block;
opacity:.95;
}
@keyframes bt-scroll{
from{ transform: translateX(0); }
to{ transform: translateX(-50%); } /* exacto porque duplicamos el contenido */
}
@media (max-width: 991.98px){
.bt-item{ width: 140px; height: 80px; }
}
@media (max-width: 575.98px){
.bt-section{ padding: 64px 0; }
.bt-wrap{ padding: 12px; }
.bt-item{ width: 120px; height: 72px; }
}
/* Accesibilidad: reduce motion */
@media (prefers-reduced-motion: reduce){
.bt-track{ animation: none !important; transform: translateX(0) !important; }
}
/* ===== Contenedor fijo (solo WA) ===== */
.wa-float{
position:fixed;
right:18px;
bottom:18px;
z-index:2147483647; /* para que no lo tape nada */
display:flex;
flex-direction:column;
align-items:flex-end;
font-family:inherit;
}
/* ===== Botón flotante ===== */
.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);
}
/* ===== Card ===== */
.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; }
/* ===== Head ===== */
.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); }
/* ===== Body ===== */
.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;
}
/* ===== Compose ===== */
.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); }
}
positivitynewcom.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.csshttps://fonts.googleapis.com/css2?family=Inter:opsz,[email protected],400;14..32,500;14..32,600;14..32,700;14..32,800;14..32,900&display=swap/* ===== VARIABLES Y RESET PREMIUM ===== */
:root {
--accent: #69abf9;
--accent-dark: #4f97f6;
--accent-soft: rgba(105, 171, 249, 0.12);
--ink: #0b1220;
--ink-light: #1e2a3a;
--muted: #5d6b85;
--muted-light: #8a97b0;
--border: #e7edf7;
--soft: #f6f9ff;
--white: #ffffff;
--radius-md: 18px;
--radius-lg: 28px;
--radius-sm: 12px;
--shadow-sm: 0 8px 20px rgba(11, 18, 32, 0.06);
--shadow-md: 0 16px 40px rgba(11, 18, 32, 0.10);
--shadow-lg: 0 25px 50px -10px rgba(11, 18, 32, 0.25);
--shadow-hover: 0 30px 60px -12px rgba(105, 171, 249, 0.35);
--transition: all 0.25s cubic-bezier(0.2, 0, 0, 1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
overflow-x: hidden;
}
body {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
color: var(--ink);
background: var(--white);
overflow-x: hidden;
line-height: 1.5;
}
/* Evitar overflow horizontal por componentes con 100vw / sombras */
img, svg, video, canvas { max-width: 100%; }
a {
color: inherit;
text-decoration: none;
}
.container {
max-width: 1200px;
padding: 0 24px;
}
/* ===== TIPOGRAFÍA ===== */
.eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-size: 0.8rem;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--accent);
background: var(--accent-soft);
padding: 0.4rem 1rem;
border-radius: 100px;
border: 1px solid rgba(105, 171, 249, 0.2);
backdrop-filter: blur(4px);
margin-bottom: 1rem;
}
.section-title {
font-weight: 900;
letter-spacing: -0.03em;
font-size: clamp(2rem, 4vw, 3rem);
margin: 0 0 0.5rem;
line-height: 1.2;
background: linear-gradient(135deg, var(--ink) 0%, var(--accent-dark) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.section-subtitle {
color: var(--muted);
font-size: 1.1rem;
max-width: 600px;
margin: 0 auto;
}
/* ===== NAVBAR PREMIUM ===== */
.navbar {
backdrop-filter: blur(16px) saturate(180%);
background: rgba(255, 255, 255, 0.85);
border-bottom: 1px solid rgba(105, 171, 249, 0.15);
padding: 0.75rem 0;
transition: var(--transition);
}
.navbar-scrolled {
padding: 0.5rem 0;
background: rgba(255, 255, 255, 0.98);
box-shadow: var(--shadow-sm);
}
.brand-wrap {
display: flex;
align-items: center;
gap: 0.85rem;
}
.brand-wrap img {
height: 44px;
width: auto;
transition: transform 0.3s ease;
}
.brand-wrap:hover img {
transform: scale(1.05);
}
.brand-text {
font-weight: 800;
font-size: 1.1rem;
background: linear-gradient(135deg, var(--ink) 0%, var(--accent) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* Icono hamburger visible (por si algún estilo lo pisa) */
.navbar-toggler-icon{
background-image: var(--bs-navbar-toggler-icon-bg);
}
.navbar-toggler:focus{ box-shadow:none; }
.nav-link {
color: var(--ink) !important;
font-weight: 600;
padding: 0.5rem 1rem !important;
border-radius: 100px;
transition: var(--transition);
position: relative;
}
.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%) scaleX(0);
width: 20px;
height: 3px;
background: var(--accent);
border-radius: 2px;
transition: transform 0.2s ease;
}
.nav-link:hover::after {
transform: translateX(-50%) scaleX(1);
}
.nav-link:hover {
background: var(--accent-soft);
}
/* Botones */
.btn-accent {
background: var(--accent);
border: none;
color: var(--ink);
font-weight: 700;
border-radius: 100px;
padding: 0.6rem 1.5rem;
transition: var(--transition);
box-shadow: 0 8px 18px -6px rgba(105, 171, 249, 0.4);
}
.btn-accent:hover {
background: var(--accent-dark);
transform: translateY(-3px);
box-shadow: 0 15px 25px -8px rgba(105, 171, 249, 0.6);
color: var(--ink);
}
.btn-ghost {
border: 2px solid rgba(105, 171, 249, 0.3);
background: transparent;
border-radius: 100px;
padding: 0.6rem 1.5rem;
font-weight: 700;
color: var(--ink);
transition: var(--transition);
}
.btn-ghost:hover {
border-color: var(--accent);
background: var(--accent-soft);
transform: translateY(-2px);
}
/* ===== HERO PREMIUM ===== */
.hero {
padding-top: 120px;
padding-bottom: 60px; /* separación real antes del siguiente bloque */
position: relative;
overflow: visible; /* evita que corte sombras y genere bug visual */
}
.hero::before {
content: '';
position: absolute;
top: -30%;
right: -10%;
width: 80%;
height: 80%;
background: radial-gradient(circle, rgba(105, 171, 249, 0.15) 0%, transparent 70%);
border-radius: 50%;
z-index: -1;
}
.hero::after {
content: '';
position: absolute;
bottom: -10%;
left: -10%;
width: 60%;
height: 60%;
background: radial-gradient(circle, rgba(105, 171, 249, 0.1) 0%, transparent 70%);
border-radius: 50%;
z-index: -1;
}
.hero-card {
border: 1px solid var(--border);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
background: rgba(255, 255, 255, 0.75);
backdrop-filter: blur(8px);
overflow: hidden;
transition: var(--transition);
}
.hero-card:hover {
box-shadow: var(--shadow-hover);
}
.hero-img-wrap {
background: linear-gradient(145deg, var(--accent-soft), rgba(105, 171, 249, 0.02));
border-left: 1px solid var(--border);
height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
}
.hero-img {
width: 100%;
max-width: 520px;
height: auto;
border-radius: var(--radius-md);
box-shadow: var(--shadow-lg);
transition: transform 0.5s ease;
}
.hero-img:hover {
transform: scale(1.02) rotate(0.5deg);
}
.hero h1 {
font-weight: 900;
letter-spacing: -0.03em;
font-size: clamp(2.2rem, 4vw, 3.5rem);
line-height: 1.2;
margin: 1rem 0 1rem;
}
.hero-bullets {
list-style: none;
padding: 0;
}
.hero-bullets li {
margin: 0.75rem 0;
display: flex;
align-items: center;
gap: 0.75rem;
}
.hero-bullets li::before {
content: '✓';
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
background: var(--accent);
color: var(--white);
border-radius: 50%;
font-size: 14px;
font-weight: 900;
}
/* ===== CARDS PREMIUM ===== */
.kcard {
border: 1px solid var(--border);
border-radius: var(--radius-lg);
background: var(--white);
padding: 24px;
height: 100%;
transition: var(--transition);
position: relative;
overflow: hidden;
}
.kcard::before {
content: '';
position:
/* ...cortado... */
/* ===== Wrapper (IG arriba + WA abajo) ===== */
.social-float{
position:fixed;
right:18px;
bottom:18px;
z-index:2147483647;
display:flex;
flex-direction:column;
align-items:flex-end;
gap:10px;
font-family:inherit;
}
/* ===== Instagram button ===== */
.ig-btn{
width:56px;
height:56px;
border-radius:50%;
display:grid;
place-items:center;
color:#fff;
text-decoration:none;
background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
box-shadow:0 10px 30px rgba(0,0,0,.18);
transition:transform .25s, box-shadow .25s;
}
.ig-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(0,0,0,.22);
}
/* ===== Contenedor WA ===== */
.wa-float{
position:relative;
display:flex;
flex-direction:column;
align-items:flex-end;
}
/* ===== Botón flotante WA ===== */
.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);
}
/* ===== Card WA ===== */
.wa-card{
position:absolute;
right:0;
bottom:74px;
width:360px;
max-width:calc(100vw - 24px);
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; }
/* ===== Head WA ===== */
.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); }
/* ===== Body WA ===== */
.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; }
/* ===== Compose WA ===== */
.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){
.social-float{ right:12px; bottom:12px; }
.wa-card{ width:360px; max-width:calc(100vw - 24px); }
}
/* ===== FIX ESPACIO EXCESIVO NAVBAR-HERO EN MOBILE ===== */
@media (max-width: 767.98px){
.hero.section{
padding-top: 80px !important;
padding-bottom: 60px !important;
}
}
/* ===== FIX V2 (MÁS AGRESIVO) ESPACIO NAVBAR-HERO EN MOBILE ===== */
@media (max-width: 767.98px){
/* navbar un poco más baja */
.navbar{
padding-top: .45rem !important;
padding-bottom: .45rem !important;
}
/* menos hueco arriba del hero */
.hero.section{
padding-top: 62px !important;
padding-bottom: 52px !important;
}
}
/* ===== FIX V3 ULTRA MOBILE ===== */
@media (max-width: 767.98px){
/* Navbar más compacta todavía */
.navbar{
padding-top: .35rem !important;
padding-bottom: .35rem !important;
}
/* Eliminamos prácticamente el hueco superior */
.hero.section{
padding-top: 48px !important;
padding-bottom: 50px !important;
}
/* Si .section general agrega demasiado espacio arriba */
.section{
padding-top: 60px !important;
}
}
piscinasgio.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,700;1,700&display=swaphttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css.footer-logo {
max-width: 150px; /* tamaño máximo */
height: auto; /* mantiene proporción */
display: block; /* evita espacios raros */
}
.footer-logo {
max-width: 150px;
height: auto;
display: block;
}
/* ---------- VARIABLES DE DISEÑO PREMIUM ---------- */
:root {
--primary: #0b4f6c; /* Azul profundo y elegante */
--primary-light: #1e6f8f;
--primary-soft: rgba(11, 79, 108, 0.08);
--accent: #d9923b; /* Acento cálido (ocre/dorado) */
--accent-soft: rgba(217, 146, 59, 0.1);
--ink: #1a2b3c;
--ink-light: #2e4057;
--gray-600: #4d5f72;
--gray-400: #9aabbb;
--gray-200: #eef2f6;
--white: #ffffff;
--bg-gradient: linear-gradient(145deg, #f9fcff 0%, #edf2f9 100%);
--radius-card: 32px;
--radius-btn: 60px;
--shadow-sm: 0 10px 25px -10px rgba(0,0,0,0.05), 0 5px 10px -5px rgba(0,0,0,0.02);
--shadow-md: 0 20px 35px -12px rgba(11,79,108,0.12), 0 8px 18px -6px rgba(11,79,108,0.05);
--shadow-lg: 0 35px 60px -15px rgba(11,79,108,0.25);
--shadow-hover: 0 40px 50px -15px rgba(11,79,108,0.3);
--transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);
}
/* ---------- RESET Y BASE ---------- */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: 'Manrope', system-ui, -apple-system, sans-serif;
color: var(--ink);
background: var(--white);
line-height: 1.5;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, .h1, .h2, .h3, .display-1, .display-2, .display-3,
.navbar-brand, .btn, .eyebrow {
font-family: 'Manrope', sans-serif;
font-weight: 800;
letter-spacing: -0.02em;
}
/* Tipografía especial para títulos muy grandes (opcional) */
.section-title {
font-weight: 800;
letter-spacing: -1.5px;
line-height: 1.1;
}
a {
color: var(--ink);
transition: var(--transition);
text-decoration: none;
}
a:hover {
color: var(--primary);
}
/* ---------- BOTONES DE ALTA GAMA ---------- */
.btn {
border-radius: var(--radius-btn);
padding: 0.85rem 2rem;
font-weight: 700;
font-size: 1rem;
letter-spacing: 0.3px;
transition: var(--transition);
border: 2px solid transparent;
box-shadow: var(--shadow-sm);
position: relative;
overflow: hidden;
z-index: 1;
}
.btn::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: rgba(0,0,0,0.05);
transition: var(--transition);
z-index: -1;
}
.btn:hover::after {
height: 100%;
}
.btn-accent {
background: var(--primary);
color: white;
border-color: var(--primary);
}
.btn-accent:hover {
background: var(--primary-light);
border-color: var(--primary-light);
color: white;
transform: translateY(-4px);
box-shadow: var(--shadow-hover);
}
.btn-outline-accent {
background: transparent;
color: var(--primary);
border-color: var(--primary);
}
.btn-outline-accent:hover {
background: var(--primary-soft);
color: var(--primary-light);
border-color: var(--primary-light);
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}
/* Botón de WhatsApp con estilo propio */
.btn-wa {
background: #25D366;
color: white;
border-color: #25D366;
}
.btn-wa:hover {
background: #20bd5a;
border-color: #20bd5a;
color: white;
transform: translateY(-4px);
box-shadow: var(--shadow-hover);
}
/* ---------- NAVBAR CON EFECTO LUXURY ---------- */
.navbar {
background: rgba(255,255,255,0.75);
backdrop-filter: blur(16px) saturate(180%);
-webkit-backdrop-filter: blur(16px) saturate(180%);
border-bottom: 1px solid rgba(255,255,255,0.3);
box-shadow: 0 4px 30px rgba(0,0,0,0.03);
padding: 8px 0;
}
.navbar .navbar-brand {
display: flex;
align-items: center;
gap: 0.8rem;
font-weight: 900;
font-size: 1.4rem;
color: var(--ink);
}
.brand-logo {
height: 48px;
width: auto;
max-width: 160px;
filter: drop-shadow(0 4px 8px rgba(0,0,0,0.05));
transition: var(--transition);
}
.navbar-brand:hover .brand-logo {
transform: scale(1.02);
}
.brand-text {
background: linear-gradient(135deg, var(--ink) 0%, var(--primary) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.nav-link {
font-weight: 600 !important;
color: var(--ink-light) !important;
padding: 0.6rem 1.2rem !important;
border-radius: 40px;
transition: var(--transition);
margin: 0 0.1rem;
font-size: 0.95rem;
}
.nav-link:hover {
color: var(--primary) !important;
background: var(--primary-soft);
}
.navbar-toggler {
border: none;
border-radius: 12px;
padding: 0.6rem;
background: rgba(0,0,0,0.02);
}
.navbar-toggler:focus {
box-shadow: none;
outline: none;
}
/* ---------- SECCIÓN HERO CON FONDO SUTIL ---------- */
.hero {
padding: 40px 0 100px;
background: var(--bg-gradient);
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 70%;
height: 200%;
background: radial-gradient(circle at 70% 30%, rgba(11,79,108,0.03) 0%, transparent 60%);
pointer-events: none;
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 0.6rem;
padding: 0.5rem 1.4rem;
border-radius: 60px;
background: var(--primary-soft);
color: var(--primary);
font-weight: 800;
font-size: 0.85rem;
letter-spacing: 0.5px;
text-transform: uppercase;
border: 1px solid rgba(11,79,108,0.15);
backdrop-filter: blur(4px);
}
.hero h1 {
font-weight: 900;
letter-spacing: -2px;
line-height: 1.1;
font-size: clamp(2.5rem, 5vw, 4rem);
margin: 25px 0 15px;
color: var(--ink);
}
.hero p.lead {
color: var(--gray-600);
font-size: 1.25rem;
font-weight: 500;
max-width: 550px;
}
.hero-bullets {
display: grid;
gap: 1rem;
margin: 30px 0 25px;
list-style: none;
padding: 0;
}
.hero-bullets li {
display: flex;
gap: 1rem;
align-items: center;
font-weight: 600;
color: var(--ink-light);
}
.check {
width: 28px;
height: 28px;
border-radius: 12px;
background: var(--primary-soft);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
color: var(--primary);
font-size: 0.9rem;
}
.hero-note {
color: var(--gray-600);
font-weight: 600;
font-size: 1rem;
background: rgba(0,0,0,0.02);
padding: 0.6rem 1.2rem;
border-radius: 60px;
display: inline-block;
border: 1px solid rgba(0,0,0,0.02);
}
.hero-card {
background: rgba(255,255,255,0.5);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,0.7);
border-radius: var(--radius-card);
box-shadow: v
/* ...cortado... */
.gal-gallery .carousel{max-width:980px;margin-inline:auto;position:relative}
.gal-frame{
height: clamp(220px, 48vh, 440px);
background:#fff;border-radius:16px;overflow:hidden;
box-shadow:0 12px 28px rgba(0,0,0,.12);
display:flex;align-items:center;justify-content:center;padding:8px
}
.gal-img{
width:auto !important;max-width:100%;
height:auto !important;max-height:100%;
object-fit:contain !important;object-position:center;display:block;cursor:zoom-in
}
/* Controles circulares con más contraste */
.gal-gallery .carousel-control-prev,
.gal-gallery .carousel-control-next{
z-index:20;width:50px;height:50px;top:50%;transform:translateY(-50%);
opacity:1;background:rgba(0,0,0,.55);border-radius:50%;margin:0 12px
}
.gal-gallery .carousel-control-prev{left:0}
.gal-gallery .carousel-control-next{right:0}
.gal-gallery .gal-ctrl-icon{width:2.6rem;height:2.6rem;background-size:60% 60%}
/* Indicadores: se sitúan fuera; agregamos espacio inferior para que no se corten */
.gal-gallery .carousel-indicators{z-index:10;bottom:-50px}
.gal-gallery .carousel-indicators button{
width:10px;height:10px;border-radius:50%;
background:rgba(0,0,0,.5);border:none
}
.gal-gallery .carousel-indicators button.active{background:#000}
.gal-gallery{padding-bottom:56px} /* espacio para indicadores */
/* Modal */
#galLightbox .modal-content{background:#000}
#galLightboxImg{max-height:86vh;width:100%;height:auto;object-fit:contain;background:#000}
.gal-lightbox-nav{
position:absolute;top:50%;transform:translateY(-50%);
border:0;width:44px;height:44px;border-radius:999px;
background:rgba(255,255,255,.18);color:#fff;font-size:30px;line-height:44px;text-align:center;z-index:5;cursor:pointer
}
.gal-lightbox-nav:hover{background:rgba(255,255,255,.28)}
.gal-lightbox-nav.gal-prev{left:10px}
.gal-lightbox-nav.gal-next{right:10px}
/* Pequeños ajustes móviles */
@media (max-width: 575.98px){
.gal-frame{height: clamp(200px, 40vh, 360px)}
}
:root{
--wa:#25D366;
--wa-dark:#1fb85a;
--light-bg:#ffffff;
--light-bg-soft:#f6f8f7;
--light-border:#dde4df;
--dark-text:#1c1f1d;
--muted-text:#6c756f;
}
/* IG button (arriba) */
.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; }
}
/* ========== MOBILE TUNING (BANNER + STATS STRIP) ========== */
@media (max-width: 576px) {
/* Banner más grande en phone (sin estirar: mantiene proporción) */
.banner-wrap { max-height: 320px; }
.banner-img { width: 100%; height: auto; max-height: 320px; object-fit: cover; object-position: center 35%; }
/* Pills un poco más compactas */
.banner-badge { bottom: 12px; gap: 8px; }
.banner-pill { font-size: 0.74rem; padding: 0.38rem 0.85rem; }
/* Stats strip más ajustado */
.stats-strip { padding: 22px 0; }
.stats-strip .d-flex { gap: 14px !important; }
.stat-item { padding: 0 0.35rem; min-width: 46%; }
.stat-number { font-size: clamp(1.7rem, 7vw, 2.4rem); letter-spacing: -1.5px; }
.stat-label { font-size: 0.78rem; margin-top: 4px; }
}
/* Ajuste general mobile (hasta 768px): menos aire en stats */
@media (max-width: 768px) {
.stats-strip { padding: 30px 0; }
.stats-strip .d-flex { gap: 18px; }
.stat-number { letter-spacing: -2px; }
}