zingueriametalurgiach.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swaphttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css:root {
--accent-1: #124562;
--accent-2: #207bad;
--accent-3: #0a2d42;
--accent-light: #4ca6d4;
--bg: #ffffff;
--bg-alt: #f8fafc;
--text-main: #111;
--text-muted: #666;
--gradient-primary: linear-gradient(135deg, var(--accent-2) 0%, var(--accent-1) 100%);
--gradient-dark: linear-gradient(135deg, var(--accent-1) 0%, var(--accent-3) 100%);
--gradient-hero: linear-gradient(135deg, rgba(18,69,98,0.9) 0%, rgba(32,123,173,0.85) 100%);
--shadow-sm: 0 4px 12px rgba(0,0,0,0.05);
--shadow-md: 0 8px 30px rgba(0,0,0,0.08);
--shadow-lg: 0 20px 60px rgba(0,0,0,0.12);
--shadow-xl: 0 25px 80px rgba(0,0,0,0.15);
--border-radius: 16px;
--border-radius-lg: 24px;
--transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
width: 100%;
overflow-x: hidden;
}
body {
margin: 0;
font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--text-main);
overflow-x: hidden;
line-height: 1.6;
width: 100%;
}
/* NAVBAR */
.site-navbar {
box-shadow: var(--shadow-sm);
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
transition: var(--transition);
padding: 0.8rem 0;
}
.site-navbar.scrolled {
padding: 0.5rem 0;
box-shadow: var(--shadow-md);
}
.navbar-brand {
font-weight: 800;
letter-spacing: .03em;
color: var(--accent-1) !important;
font-size: 1.4rem;
display: flex !important;
flex-direction: row !important;
align-items: center !important;
gap: .5rem;
}
.navbar-brand span {
display: block;
font-size: .72rem;
font-weight: 500;
color: var(--accent-2);
text-transform: uppercase;
letter-spacing: 0.1em;
}
.navbar-brand img {
height: 90px;
width: auto;
}
.nav-link {
font-size: .95rem;
font-weight: 500;
color: #222;
position: relative;
padding: 0.5rem 0.8rem !important;
margin: 0 0.2rem;
border-radius: 8px;
transition: var(--transition);
}
.nav-link:hover,
.nav-link:focus {
color: var(--accent-2);
background: rgba(32, 123, 173, 0.05);
}
.nav-link::after {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: 0;
left: 50%;
background: var(--gradient-primary);
transition: var(--transition);
transform: translateX(-50%);
}
.nav-link:hover::after {
width: 80%;
}
.navbar-toggler {
border: 0;
margin-left: auto;
padding: .25rem .5rem;
}
.navbar-toggler:focus {
box-shadow: none;
outline: none;
}
.navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 30 30'%3e%3cpath stroke='%23124562' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.btn-cta-nav {
border-radius: 999px;
font-size: .9rem;
padding: .5rem 1.2rem;
font-weight: 600;
background: var(--gradient-primary);
border: none;
color: #fff;
transition: var(--transition);
box-shadow: 0 4px 15px rgba(32, 123, 173, 0.3);
}
.btn-cta-nav:hover {
background: var(--gradient-dark);
color: #fff;
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(32, 123, 173, 0.4);
}
/* SECCIONES */
main {
padding-top: 72px; /* altura aprox navbar */
}
.section {
padding: 80px 0;
position: relative;
}
.section-alt {
background: var(--bg-alt);
}
@media (min-width: 992px) {
.section {
padding: 100px 0;
}
}
.section-eyebrow,
.eyebrow {
font-size: .82rem;
text-transform: uppercase;
letter-spacing: .12em;
font-weight: 600;
color: var(--accent-2);
display: inline-block;
margin-bottom: .8rem;
position: relative;
padding-left: 1.2rem;
}
.section-eyebrow::before,
.eyebrow::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--accent-2);
}
.section-title {
font-size: 2.4rem;
font-weight: 800;
margin-bottom: .8rem;
line-height: 1.2;
background: var(--gradient-dark);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.section-subtitle {
color: var(--text-muted);
max-width: 560px;
margin-bottom: 0;
font-size: 1.1rem;
}
/* HERO */
#inicio {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
overflow: hidden;
}
@media (min-width:992px) {
#inicio {
padding-top: 120px;
padding-bottom: 120px;
}
}
.hero-eyebrow {
margin-bottom: .8rem;
}
.hero-title {
font-size: 3rem;
font-weight: 800;
margin-bottom: .8rem;
line-height: 1.1;
background: var(--gradient-dark);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
@media (min-width:992px) {
.hero-title {
font-size: 3.8rem;
}
}
.hero-subtitle {
font-size: 1.2rem;
color: var(--text-muted);
margin-bottom: 1.8rem;
max-width: 600px;
}
.hero-badges {
display: flex;
flex-wrap: wrap;
gap: .6rem .8rem;
margin-bottom: 2rem;
}
.hero-badge {
font-size: .85rem;
padding: .4rem .8rem;
border-radius: 999px;
background: rgba(32, 123, 173, 0.1);
color: var(--accent-1);
font-weight: 500;
border: 1px solid rgba(32, 123, 173, 0.2);
transition: var(--transition);
}
.hero-badge:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-sm);
}
.hero-cta {
display: flex;
flex-wrap: wrap;
gap: 1rem;
align-items: center;
margin-bottom: 1.5rem;
}
.btn-hero-main {
background: var(--gradient-primary);
border: none;
color: #fff;
padding: .9rem 2rem;
border-radius: 999px;
font-weight: 600;
font-size: 1rem;
transition: var(--transition);
box-shadow: 0 8px 25px rgba(32, 123, 173, 0.4);
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.btn-hero-main:hover {
background: var(--gradient-dark);
color: #fff;
transform: translateY(-3px);
box-shadow: 0 12px 30px rgba(32, 123, 173, 0.5);
}
.btn-hero-ghost {
border-radius: 999px;
border: 1px solid rgba(0,0,0,.15);
padding: .9rem 1.8rem;
font-size: .95rem;
font-weight: 500;
color: #222;
background: #fff;
transition: var(--transition);
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.btn-hero-ghost:hover {
border-color: var(--accent-2);
color: var(--accent-2);
background: #fff;
transform: translateY(-2px);
box-shadow: var(--shadow-sm);
/* ...cortado... */
:root{
--wa:#25D366;
--wa-dark:#128C7E;
--wa-darker:#075E54;
--dark-bg:#0b0f18;
--darker-bg:#0a1324;
--light-text:#ffffff;
--muted-text:rgba(255,255,255,.7);
}
.wa-float{
position:fixed;
right:18px;
bottom:18px;
z-index:9999;
font-family:inherit;
}
.wa-stack{
display:flex;
flex-direction:column;
align-items:flex-end;
gap:10px;
}
/* Botón Facebook */
.fb-btn{
background:linear-gradient(135deg,#1877F2,#0f5dc7);
color:#fff;
width:52px;
height:52px;
border-radius:50%;
display:grid;
place-items:center;
box-shadow:0 10px 30px rgba(0,0,0,.25);
text-decoration:none;
border:0;
cursor:pointer;
transition:transform .3s, box-shadow .3s, background .3s;
}
.fb-btn:hover{
transform:translateY(-2px) scale(1.03);
box-shadow:0 14px 36px rgba(0,0,0,.35);
}
/* Botón WhatsApp principal */
.wa-btn{
background:linear-gradient(135deg,var(--wa),var(--wa-dark));
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,.25);
cursor:pointer;
transition:transform .3s, box-shadow .3s, background .3s;
position:relative;
overflow:hidden;
}
.wa-btn::after{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
opacity:0;
transition:opacity .3s;
}
.wa-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(0,0,0,.35);
}
.wa-btn:hover::after{ opacity:1; }
/* Card WhatsApp */
.wa-card{
position:absolute;
right:0;
bottom:74px;
width:min(360px,92vw);
background:var(--dark-bg);
color:var(--light-text);
border-radius:18px;
overflow:hidden;
box-shadow:0 18px 60px rgba(0,0,0,.5);
border:1px solid rgba(255,255,255,.08);
transform:translateY(10px);
opacity:0;
transition:transform .3s, opacity .3s;
z-index:1;
}
.wa-card[aria-modal="true"]{
transform:translateY(0);
opacity:1;
}
.wa-head{
display:flex;
align-items:center;
gap:12px;
padding:14px;
background:linear-gradient(180deg,#0d162c,var(--darker-bg));
border-bottom:1px solid rgba(255,255,255,.06);
}
.wa-avatar{
width:40px;
height:40px;
border-radius:8px;
background:#0e1a33;
display:grid;
place-items:center;
border:1px solid rgba(255,255,255,.08);
overflow:hidden;
}
.wa-title{ font-weight:700; font-size:1.05rem; }
.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:#fff;
border:0;
font-size:24px;
cursor:pointer;
opacity:.7;
width:32px;
height:32px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
transition:.2s;
}
.wa-close:hover{
opacity:1;
background:rgba(255,255,255,.1);
}
.wa-body{
padding:12px 14px;
max-height:40vh;
overflow:auto;
background:var(--dark-bg);
display:flex;
flex-direction:column;
gap:8px;
font-size:.95rem;
}
.wa-bubble{
max-width:88%;
padding:10px 12px;
border-radius:14px;
line-height:1.35;
box-shadow:0 4px 14px rgba(0,0,0,.25);
animation:fadeIn .25s ease;
}
@keyframes fadeIn{
from{opacity:0; transform:translateY(5px)}
to{opacity:1; transform:none}
}
.wa-bot{
background:#0c1428;
border:1px solid rgba(255,255,255,.06);
align-self:flex-start;
border-bottom-left-radius:4px;
}
.wa-bot a{ color:#8bd1ff; }
.wa-user{
background:var(--wa-darker);
align-self:flex-end;
border-bottom-right-radius:4px;
}
.wa-compose{
display:flex;
flex-direction:column;
gap:8px;
padding:10px;
background:var(--dark-bg);
border-top:1px solid rgba(255,255,255,.08);
}
.wa-compose textarea{
resize:none;
border-radius:12px;
padding:10px 12px;
border:1px solid rgba(255,255,255,.12);
background:#0a1324;
color:var(--light-text);
outline:none;
min-height:44px;
font-family:inherit;
transition:.2s;
font-size:.95rem;
}
.wa-compose textarea:focus{
border-color:var(--wa);
box-shadow:0 0 0 2px rgba(37,211,102,.15);
}
.wa-actions{
display:flex;
gap:8px;
justify-content:space-between;
}
.wa-send{
flex:1;
background:var(--wa);
color:#0b1220;
border:0;
border-radius:10px;
padding:8px 10px;
font-weight:700;
cursor:pointer;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
font-size:.85rem;
transition:.2s;
text-align:center;
}
.wa-send:hover{
background:var(--wa-dark);
transform:scale(1.02);
}
.wa-send-alt{
background:transparent;
color:var(--light-text);
border:1px solid rgba(255,255,255,.35);
}
.wa-send-alt:hover{
background:rgba(255,255,255,.08);
}
.wa-label-num{
font-weight:500;
font-size:.75rem;
opacity:.9;
}
.wa-body::-webkit-scrollbar{ width:6px; }
.wa-body::-webkit-scrollbar-track{ background:rgba(255,255,255,.05); border-radius:3px; }
.wa-body::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.2); border-radius:3px; }
.wa-body::-webkit-scrollbar-thumb:hover{ background:rgba(255,255,255,.3); }
@media (max-width:480px){
.wa-float{ right:12px; bottom:12px; }
.wa-card{ width:calc(100vw - 24px); right:0; }
}
georeserv.com
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap:root {
--primary: #111634; /* azul oscuro cercano al del logo */
--primary-soft: #e3e6f5;
--primary-light: #1d2a5c;
--accent: #f4a546; /* naranja cercano al del logo */
--accent-dark: #d8831c;
--accent-light: #f9c68f;
--bg: #ffffff;
--bg-alt: #f8f9ff;
--text-main: #111111;
--text-muted: #666666;
--border-soft: #e5e7f0;
--radius-lg: 18px;
--radius-xl: 24px;
--shadow-soft: 0 18px 45px rgba(0,0,0,0.08);
--shadow-medium: 0 12px 40px rgba(0,0,0,0.12);
--shadow-large: 0 25px 50px rgba(0,0,0,0.15);
--transition: all 0.3s ease;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--text-main);
overflow-x: hidden;
line-height: 1.6;
}
html {
overflow-x: hidden;
}
@media (max-width: 991.98px) {
.navbar {
padding-right: 0.75rem;
padding-left: 0.75rem;
}
.navbar .container {
max-width: 100%;
}
.navbar-toggler {
margin-left: auto;
}
}
a {
text-decoration: none;
color: inherit;
transition: var(--transition);
}
a:hover {
color: inherit;
}
/* HEADER / NAVBAR */
.site-header {
position: sticky;
top: 0;
z-index: 100;
background: rgba(255,255,255,0.98);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(0,0,0,0.04);
box-shadow: 0 4px 20px rgba(0,0,0,0.05);
transition: var(--transition);
}
.site-header.scrolled {
box-shadow: 0 8px 30px rgba(0,0,0,0.08);
}
.navbar-brand {
display: flex;
align-items: center;
gap: .65rem;
font-weight: 800;
font-size: 1.25rem;
color: var(--primary);
transition: var(--transition);
}
.navbar-brand:hover {
transform: translateY(-1px);
}
.navbar-brand img {
height: 46px;
width: auto;
display: block;
transition: var(--transition);
}
.navbar-brand-sub {
display: block;
font-size: .68rem;
color: var(--text-muted);
margin-top: -4px;
font-weight: 400;
}
.navbar-nav .nav-link {
font-size: .95rem;
font-weight: 500;
padding: .35rem .9rem;
border-radius: 999px;
color: var(--text-muted);
transition: var(--transition);
position: relative;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
color: var(--primary);
background: rgba(17,22,52,0.06);
transform: translateY(-1px);
}
.navbar-nav .nav-link.active {
color: #fff;
background: var(--primary);
box-shadow: 0 6px 15px rgba(17,22,52,0.25);
}
.nav-cta {
display: flex;
align-items: center;
gap: .35rem;
padding: .45rem 1rem;
border-radius: 999px;
border: 1px solid rgba(17,22,52,0.15);
font-size: .9rem;
font-weight: 600;
background: #fff;
color: var(--primary);
box-shadow: 0 8px 20px rgba(0,0,0,0.03);
transition: var(--transition);
}
.nav-cta:hover {
transform: translateY(-2px);
box-shadow: 0 12px 25px rgba(0,0,0,0.08);
border-color: var(--accent);
}
.nav-cta i {
color: var(--accent);
font-size: 1.1rem;
}
.nav-cta small {
display: block;
font-size: .7rem;
color: var(--text-muted);
margin-top: -2px;
font-weight: 400;
}
/* LAYOUT GENERALES */
.section {
padding: 100px 0;
position: relative;
}
.section-narrow {
max-width: 1100px;
margin: 0 auto;
}
.section-eyebrow {
font-size: .8rem;
text-transform: uppercase;
letter-spacing: .16em;
color: var(--accent);
font-weight: 700;
margin-bottom: .8rem;
display: inline-block;
position: relative;
}
.section-eyebrow::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 40px;
height: 2px;
background: var(--accent);
border-radius: 2px;
}
.section-title {
font-size: 2.5rem;
font-weight: 800;
line-height: 1.2;
color: var(--primary);
margin-bottom: 1rem;
position: relative;
}
.section-subtitle {
font-size: 1.1rem;
color: var(--text-muted);
max-width: 620px;
line-height: 1.6;
}
/* HERO */
.hero {
padding-top: 120px;
padding-bottom: 120px;
background: linear-gradient(135deg, #f8f9ff 0%, #ffffff 100%);
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: -50%;
right: -10%;
width: 600px;
height: 600px;
border-radius: 50%;
background: radial-gradient(circle, rgba(244,165,70,0.08) 0%, rgba(244,165,70,0) 70%);
z-index: 0;
}
.hero-inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 1;
padding: 0 1rem;
}
.hero-title {
font-size: 3.2rem;
font-weight: 800;
line-height: 1.15;
color: var(--primary);
margin-bottom: 1.2rem;
}
.hero-title span {
color: var(--accent);
position: relative;
}
.hero-title span::after {
content: '';
position: absolute;
bottom: 5px;
left: 0;
width: 100%;
height: 8px;
background: rgba(244,165,70,0.2);
z-index: -1;
}
.hero-subtitle {
font-size: 1.15rem;
color: var(--text-muted);
margin-bottom: 1.8rem;
max-width: 580px;
}
.hero-badges {
display: flex;
flex-wrap: wrap;
gap: .6rem;
margin-bottom: 2rem;
}
.hero-badge {
font-size: .85rem;
padding: .4rem .9rem;
border-radius: 999px;
border: 1px solid rgba(17,22,52,.08);
background: #fff;
display: inline-flex;
align-items: center;
gap: .4rem;
color: var(--text-muted);
box-shadow: 0 4px 12px rgba(0,0,0,0.04);
transition: var(--transition);
}
.hero-badge:hover {
transform: translateY(-2px);
box-shadow: 0 6px 15px rgba(0,0,0,0.08);
border-color: var(--accent-light);
}
.hero-badge i {
color: var(--accent);
font-size: 1rem;
}
.hero-cta {
display: flex;
flex-wrap: wrap;
gap: .9rem;
align-items: center;
margin-bottom: 1.5rem;
}
.btn-main {
border-radius: 999px;
padding: .85rem 2rem;
font-weight: 600;
font-size: 1rem;
border: none;
background: linear-gradient(135deg, var(--accent), var(--accent-dark));
color: #fff;
box-shadow: 0 14px 30px rgba(244,165,70,0.45);
transition: var(--transition);
position: relative;
overflow: hidden;
z-index: 1;
}
.btn-main::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, var(--accent-dark), var(--accent));
opacity: 0;
transition: var(--transition);
z-index: -1;
}
.btn-main:hover {
transform: translateY(-3px);
box-shadow: 0 18px 35px rgba(244,165,70,0.55);
}
.btn-main:hover::before {
opacity: 1;
}
.btn-ghost {
/* ...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:#128C7E;
--wa-text:#111111;
--wa-muted:#666666;
--wa-bg:#ffffff;
--wa-border:#e4e4e4;
/* header del chat en naranja del sitio */
--wa-head:#f4a546;
}
.wa-float{
position:fixed;
right:18px;
bottom:18px;
z-index:9999;
font-family:inherit;
}
.wa-btn{
background:linear-gradient(135deg,var(--wa),var(--wa-dark));
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,.25);
cursor:pointer;
transition:transform .3s, box-shadow .3s, background .3s;
position:relative;
overflow:hidden;
}
.wa-btn::after{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.25), rgba(255,255,255,0) 70%);
opacity:0;
transition:opacity .3s;
}
.wa-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(0,0,0,.35);
}
.wa-btn:hover::after{ opacity:1; }
.wa-card{
position:absolute;
right:0;
bottom:74px;
width:min(360px,92vw);
background:var(--wa-bg);
color:var(--wa-text);
border-radius:18px;
overflow:hidden;
box-shadow:0 18px 60px rgba(0,0,0,.25);
border:1px solid var(--wa-border);
transform:translateY(10px);
opacity:0;
transition:transform .3s, opacity .3s;
}
.wa-card[aria-modal="true"]{
transform:translateY(0);
opacity:1;
}
.wa-head{
display:flex;
align-items:center;
gap:12px;
padding:14px;
background:var(--wa-head);
border-bottom:1px solid var(--wa-border);
}
.wa-avatar{
width:40px;
height:40px;
border-radius:8px;
background:#fff;
display:grid;
place-items:center;
border:1px solid var(--wa-border);
overflow:hidden;
}
.wa-title{
font-weight:700;
font-size:1.05rem;
}
.wa-status{
font-size:.85rem;
color:var(--wa-muted);
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:#000;
border:0;
font-size:24px;
cursor:pointer;
opacity:.6;
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,.06);
}
.wa-body{
padding:12px 14px;
max-height:40vh;
overflow:auto;
background:#ffffff;
display:flex;
flex-direction:column;
gap:8px;
}
.wa-bubble{
max-width:88%;
padding:10px 12px;
border-radius:14px;
line-height:1.35;
box-shadow:0 4px 10px rgba(0,0,0,.08);
animation:fadeIn .25s ease;
font-size:.95rem;
}
@keyframes fadeIn{
from{opacity:0; transform:translateY(5px);}
to{opacity:1; transform:none;}
}
.wa-bot{
background:#f7f7f7;
border:1px solid #e8e8e8;
align-self:flex-start;
border-bottom-left-radius:4px;
}
.wa-user{
background:#e9fdf1;
border:1px solid #c4f1d8;
align-self:flex-end;
border-bottom-right-radius:4px;
}
.wa-compose{
display:grid;
grid-template-columns:1fr auto;
gap:8px;
padding:10px;
background:#fafafa;
border-top:1px solid var(--wa-border);
}
.wa-compose textarea{
resize:none;
border-radius:12px;
padding:10px 12px;
border:1px solid var(--wa-border);
background:#ffffff;
color:var(--wa-text);
outline:none;
min-height:44px;
font-family:inherit;
font-size:.95rem;
transition:.2s;
}
.wa-compose textarea:focus{
border-color:var(--wa);
box-shadow:0 0 0 2px rgba(37,211,102,.15);
}
.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.05);
}
.wa-body::-webkit-scrollbar{ width:6px; }
.wa-body::-webkit-scrollbar-track{ background:rgba(0,0,0,.02); border-radius:3px; }
.wa-body::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.2); border-radius:3px; }
.wa-body::-webkit-scrollbar-thumb:hover{ background:rgba(0,0,0,.3); }
@media (max-width:480px){
.wa-float{ right:12px; bottom:12px; }
.wa-card{ width:calc(100vw - 24px); right:0; }
}
radioeadtc.com
https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css:root{
--bg:#ffffff; --ink:#0f172a; --muted:#64748b; --line:#e2e8f0;
--accent:#B62C8E; --accent-light:#fdf2f8; --accent-dark:#9c1c74;
--accent-glow:rgba(182,44,142,0.15);
--green:#10b981; --blue:#3b82f6; --orange:#f59e0b;
--radius-sm:8px; --radius:12px; --radius-lg:16px; --radius-xl:24px;
--shadow-sm:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
--gradient:linear-gradient(135deg, #B62C8E 0%, #ec4899 100%);
--gradient-light:linear-gradient(135deg, rgba(182,44,142,0.1) 0%, rgba(236,72,153,0.1) 100%);
--gradient-dark:linear-gradient(135deg, #9c1c74 0%, #d61f69 100%);
}
*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg); color:var(--ink); font-family:'Inter', system-ui, -apple-system, sans-serif; line-height:1.6; overflow-x:hidden}
a{color:inherit; text-decoration:none; transition:all 0.2s ease}
img{max-width:100%; height:auto; display:block}
.container{max-width:1280px; margin:0 auto; padding:0 24px}
.section{padding:100px 0}
.section-title{font-size:clamp(2rem, 4vw, 3rem); font-weight:800; line-height:1.2; margin-bottom:20px; background:var(--gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; text-align:center}
.section-sub{font-size:1.25rem; color:var(--muted); margin-bottom:60px; max-width:700px; margin-left:auto; margin-right:auto; text-align:center; line-height:1.6}
/* NAVBAR */
.navbar{position:sticky; top:0; z-index:1000; background:rgba(255,255,255,0.95); backdrop-filter:blur(16px); border-bottom:1px solid rgba(226,232,240,0.8); transition:all 0.3s ease}
.navbar.scrolled{box-shadow:var(--shadow); background:rgba(255,255,255,0.98)}
.navbar .inner{height:80px; display:flex; align-items:center; justify-content:space-between; gap:32px}
.brand{display:flex; align-items:center; gap:16px; font-weight:800; font-size:1.25rem}
.brand img{width:48px; height:48px; border-radius:var(--radius)}
.nav-links{display:flex; align-items:center; gap:8px}
.nav-links a{position:relative; padding:12px 20px; border-radius:var(--radius); font-weight:500; transition:all 0.2s ease}
.nav-links a:hover{color:var(--accent); background:var(--accent-light)}
.nav-links a.active{color:var(--accent); font-weight:600}
.nav-links a.active::after{content:''; position:absolute; bottom:0; left:20px; right:20px; height:2px; background:var(--accent); border-radius:2px}
.cta{display:flex; gap:12px; align-items:center}
.btn{display:inline-flex; align-items:center; gap:8px; padding:12px 24px; border:none; border-radius:var(--radius); font-weight:600; font-size:0.875rem; cursor:pointer; transition:all 0.2s ease; background:var(--gradient); color:white; box-shadow:var(--shadow); position:relative; overflow:hidden}
.btn::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}
.btn:hover::before{left:100%}
.btn:hover{transform:translateY(-2px); box-shadow:var(--shadow-lg)}
.btn-outline{background:transparent; border:2px solid var(--accent); color:var(--accent)}
.btn-outline:hover{background:var(--accent-light); transform:translateY(-2px)}
.burger{display:none; flex-direction:column; gap:4px; background:none; border:none; cursor:pointer; padding:8px}
.burger span{width:24px; height:2px; background:var(--ink); transition:0.3s; border-radius:2px}
@media (max-width:1024px){
.nav-links{display:none; position:absolute; top:100%; left:0; right:0; background:white; padding:24px; border-bottom:1px solid var(--line); box-shadow:var(--shadow-lg); flex-direction:column; align-items:stretch}
.nav-links.open{display:flex}
.burger{display:flex}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}
}
@media (max-width:768px){
.cta{display:none}
.navbar .inner{gap:16px}
}
/* HERO SLIDER */
.hero-slider{position:relative; height:clamp(500px, 85vh, 800px); overflow:hidden; background:#000}
.hs-track{position:relative; width:100%; height:100%}
.hs-slide{position:absolute; inset:0; opacity:0; transition:opacity 0.8s ease; transform:scale(1.02)}
.hs-slide.is-active{opacity:1; transform:scale(1)}
.hs-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 8s ease}
.hs-slide.is-active .hs-photo{transform:scale(1.1)}
.hs-overlay{position:absolute; inset:0; background:linear-gradient(135deg, rgba(182,44,142,0.3) 0%, rgba(0,0,0,0.7) 100%)}
.hs-caption{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; padding:0 32px; z-index:2}
.hs-caption h1{font-size:clamp(2.5rem, 6vw, 4.5rem); font-weight:800; line-height:1.1; margin-bottom:24px; text-shadow:0 4px 12px rgba(0,0,0,0.3)}
.hs-caption p{font-size:clamp(1.125rem, 2.5vw, 1.5rem); margin-bottom:32px; opacity:0.95; max-width:600px; font-weight:300; line-height:1.6}
.hs-actions{display:flex; gap:16px; flex-wrap:wrap; justify-content:center}
.hs-btn{display:inline-flex; align-items:center; gap:8px; padding:16px 32px; border:none; border-radius:var(--radius); font-weight:600; font-size:1rem; cursor:pointer; transition:all 0.3s ease; background:var(--gradient); color:white; box-shadow:0 8px 25px rgba(182,44,142,0.3); position:relative; overflow:hidden}
.hs-btn::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}
.hs-btn:hover::before{left:100%}
.hs-btn:hover{transform:translateY(-3px); box-shadow:0 12px 35px rgba(182,44,142,0.4)}
.hs-btn-outline{background:transparent; border:2px solid rgba(255,255,255,0.9); backdrop-filter:blur(8px)}
.hs-btn-outline:hover{background:rgba(255,255,255,0.1); transform:translateY(-3px)}
.hs-nav{position:absolute; top:50%; transform:translateY(-50%); z-index:10; width:56px; height:56px; border-radius:50%; border:none; background:rgba(255,255,255,0.9); color:var(--ink); font-size:1.25rem; display:grid; place-items:center; cursor:pointer; transition:all 0.3s ease; box-shadow:var(--shadow)}
.hs-nav:hover{background:white; transform:translateY(-50%) scale(1.1); box-shadow:var(--shadow-lg)}
.hs-prev{left:32px} .hs-next{right:32px}
.hs-dots{position:absolute; left:0; right:0; bottom:32px; display:flex; gap:12px; justify-content:center; z-index:5}
.hs-dots button{width:12px; height:12px; border-radius:50%; border:none; background:rgba(255,255,255,0.5); cursor:pointer; transition:all 0.3s ease}
.hs-dots button:hover{background:rgba(255,255,255,0.8)}
.hs-dots button[aria-selected="true"]{background:white; transform:scale(1.2)}
@media (max-width:768px){
.hs-nav{width:48px; height:48px; font-size:1rem}
.hs-prev{left:16px} .hs-next{right:16px}
.hs-dots{bottom:24px}
}
/* PLAYER (más grande) */
.player-wrap{background:var(--accent-light); border-top:1px solid var(--line); border-bottom:1px solid var(--line); position:relative}
.player-wrap::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--gradient)}
/* PLAYER más grande y sin barras */
.player-inner{max-width:1100px; margin:0 auto; padding:72px 24px}
/* ...cortado... */
/* Tamaños grandes sin tocar el DOM ni atributos */
#player iframe, #player embed, #player object{
display:block;
width:100% !important;
border:0;
border-radius:16px;
/* mejora interacción en mobile (gestos no bloquean taps) */
touch-action: manipulation;
-webkit-tap-highlight-color: transparent;
position:relative;
z-index:1;
}
/* Desktop XL */
@media (min-width: 1400px){
#player iframe, #player embed, #player object{ height: 640px !important; }
}
/* Desktop */
@media (min-width: 992px) and (max-width: 1399.98px){
#player iframe, #player embed, #player object{ height: 600px !important; }
}
/* Tablet */
@media (min-width: 577px) and (max-width: 991.98px){
#player iframe, #player embed, #player object{ height: 560px !important; }
}
/* Phone */
@media (max-width: 576px){
#player iframe, #player embed, #player object{ height: 620px !important; }
}
/* ==== Mobile overflow & layout hardening patch (GPT) ==== */
html, body { max-width:100%; overflow-x:hidden; }
img, video, iframe, .embed-responsive, .ratio, .responsive-embed { max-width:100%; height:auto; }
.container, .container-fluid { overflow-x:hidden; }
.row { --bs-gutter-x: 1.5rem; }
*[style*="width:100vw"] { width:100%; } /* avoid 100vw causing scrollbars with gutters */
.navbar { position: relative; z-index: 1000; } /* keep navbar above */
.offcanvas, .navbar-collapse { max-width: 100%; overflow-x: hidden; }
/* ==== Desktop vertical-scroll fix for "Quiénes somos" (GPT) ==== */
@media (min-width: 992px){
/* Common section names */
#quienes, #quienessomos, section#quienes, .quienes, .quienes-somos, .about, .about-section, .section-soft, .section-about {
overflow: visible !important;
max-height: none !important;
height: auto !important;
}
/* neutralize 100vh patterns that trap content */
.h-100vh, .vh-100, [style*="height:100vh"], [style*="min-height:100vh"]{
height: auto !important;
min-height: unset !important;
}
/* avoid inner scroll containers */
.about-content, .quienes-content, .about__wrap, .scrollable, .overflow-auto{
overflow: visible !important;
max-height: none !important;
}
}
/* ==== Strong fix for desktop inner-scroll in #quienes (GPT) ==== */
@media (min-width: 992px){
#quienes,
#quienes .container,
#quienes .row,
#quienes [class*="col-"],
#quienes .qs2-intro,
#quienes .qs2-intro > div {
height: auto !important;
min-height: auto !important;
max-height: none !important;
overflow: visible !important;
}
#quienes [style*="vh"],
#quienes [style*="height:100vh"],
#quienes [style*="min-height:100vh"]{
height: auto !important;
min-height: auto !important;
}
/* Ensure the page scrolls, not the section */
html, body { overflow-y: auto !important; }
}
/* PLAYER SIMPLE */
.player-section {
background: #f8f9fa;
padding: 40px 0;
border-top: 4px solid var(--accent);
}
.player-header {
text-align: center;
margin-bottom: 30px;
}
.player-header h2 {
font-size: 2.5rem;
font-weight: 800;
background: linear-gradient(135deg, #B62C8E 0%, #16c6cc 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 10px;
}
.player-header p {
color: var(--muted);
margin-bottom: 5px;
}
/* CONTENEDOR DEL IFRAME */
.player-wrapper {
width: 100%;
max-width: 1000px;
margin: 0 auto 20px auto;
background: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
overflow: hidden;
}
/* IFRAME RESPONSIVE */
.radio-iframe {
width: 100%;
height: 400px;
border: none;
display: block;
}
/* BOTÓN */
.player-actions {
text-align: center;
}
/* RESPONSIVE */
@media (max-width: 768px) {
.player-section {
padding: 30px 0;
}
.player-header h2 {
font-size: 2rem;
}
.radio-iframe {
height: 300px; /* Más grande en móvil */
}
.player-wrapper {
margin: 0 10px 20px 10px;
}
}
@media (max-width: 480px) {
.player-header h2 {
font-size: 1.8rem;
}
.radio-iframe {
height: 250px; /* Aún más grande en móviles pequeños */
}
}
/* ==== FIX: ensure overlays don't block clicks unless explicitly opened ==== */
.wa-overlay[hidden],
.wa-card[hidden] { display: none !important; }
/* Extra safety in case some class toggles visibility */
.wa-overlay:not(.is-open)[aria-hidden="true"] { display: none !important; }
/* Keep overlay only when explicitly opened */
/* ----- QS v2 (scope) ----- */
.qs-v2{
--qs-ink:var(--ink, #0f172a);
--qs-muted:var(--muted,#64748b);
--qs-line:var(--line,#e2e8f0);
--qs-accent:var(--accent,#B62C8E);
--qs-ring:#16c6cc;
--qs-card-bg:#fff;
position: relative;
}
/* Aura sutil de fondo (no interfiere con otros bloques) */
.qs-v2::before{
content:"";
position:absolute; inset:-40px 0 auto 0; height:220px; z-index:0;
background:
radial-gradient(1200px 180px at 15% 40%, rgba(182,44,142,.08), transparent 60%),
radial-gradient(800px 160px at 85% 60%, rgba(22,198,204,.07), transparent 55%);
pointer-events:none;
}
.qs-v2 .container{ position:relative; z-index:1; }
/* Titulares */
.qs-v2 .section-title{
font-size:clamp(1.6rem,4vw,2.2rem);
letter-spacing:.02em; font-weight:900; color:var(--qs-ink);
margin:0 0 .35rem;
}
.qs-v2 .section-sub{
margin:0 0 38px; color:var(--qs-muted);
max-width:60ch; line-height:1.75;
}
/* Intro 2 columnas */
.qs-v2 .qs2-intro{
display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:start;
margin-top:16px; margin-bottom:56px;
}
.qs-v2 .qs2-h3{
font-size:clamp(1.05rem,2.2vw,1.2rem);
letter-spacing:.1em; font-weight:800; color:var(--qs-ink);
margin:0 0 14px; text-transform:uppercase;
}
.qs-v2 .qs2-p{ color:var(--qs-muted); line-height:1.8; margin:0 0 14px; }
.qs-v2 .qs2-quote{
background:linear-gradient(0deg,#fdeaf6,#fdeaf6);
border:1px solid #f7c6e7; border-left:4px solid var(--qs-accent);
border-radius:16px; color:var(--qs-ink); padding:18px 20px; font-weight:600; margin-top:12px;
box-shadow:0 10px 24px rgba(182,44,142,.08);
}
/* Chips temáticos (sutiles) */
.qs-v2 .qs2-chips{
display:flex; flex-wrap:wrap; gap:10px; margin-top:14px;
}
.qs-v2 .qs2-chip{
display:inline-flex; align-items:center; gap:8px;
border:1px solid var(--qs-line); color:var(--qs-ink);
background:#fff; padding:8px 12px; border-radius:999px; font-weight:600; font-size:.92rem;
}
.qs-v2 .qs2-chip i{ color:var(--qs-accent); }
/* Aside */
.qs-v2 .qs2-aside .qs2-item{
padding:14px 0 18px; border-bottom:1px solid var(--qs-line)
}
.qs-v2 .qs2-aside .qs2-item:last-child{border-bottom:none}
.qs-v2 .qs2-aside strong{display:block; color:var(--qs-ink); margin-bottom:6px}
.qs-v2 .qs2-aside p{color:var(--qs-muted); margin:0}
.qs-v2 .qs2-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px }
.qs-v2 .btn{
appearance:none; border:0; border-radius:12px; padding:12px 16px; font-weight:800; cursor:pointer;
background:var(--qs-accent); color:#fff; display:inline-flex; align-items:center; gap:8px;
box-shadow:0 10px 24px rgba(182,44,142,.18); transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.qs-v2 .btn:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(182,44,142,.24); }
.qs-v2 .btn.secondary{
background:#0f172a; color:#fff; box-shadow:0 10px 24px rgba(15,23,42,.18);
}
@media (max-width: 1024px){
.qs-v2 .qs2-intro{ grid-template-columns:1fr; gap:32px }
}
/* Grid de temas */
.qs-v2 .qs2-grid{
display:grid; gap:28px;
grid-template-columns:repeat(4,minmax(220px,1fr));
}
@media (max-width:1200px){ .qs-v2 .qs2-grid{grid-template-columns:repeat(3,minmax(200px,1fr))} }
@media (max-width:768px){ .qs-v2 .qs2-grid{grid-template-columns:repeat(2,minmax(180px,1fr))} }
@media (max-width:480px){ .qs-v2 .qs2-grid{grid-template-columns:1fr} }
.qs-v2 .qs2-card{
background:var(--qs-card-bg); border:1px solid var(--qs-line); border-radius:18px;
padding:22px; text-align:center; box-shadow:0 8px 20px rgba(0,0,0,.06);
transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, filter .25s ease;
position:relative; isolation:isolate;
}
.qs-v2 .qs2-card::after{
content:""; position:absolute; inset:auto 12% -2px 12%; height:8px; border-radius:12px;
background:linear-gradient(90deg, rgba(22,198,204,.2), rgba(182,44,142,.22));
filter:blur(10px); opacity:0; transition:opacity .25s ease;
}
.qs-v2 .qs2-card:hover{
transform:translateY(-4px);
box-shadow:0 18px 36px rgba(0,0,0,.08);
border-color:#d0f5f6;
}
.qs-v2 .qs2-card:hover::after{ opacity:1; }
.qs-v2 .qs2-badge{
width:88px; height:88px; border-radius:50%; margin:0 auto 14px; display:grid; place-items:center;
border:3px solid var(--qs-ring);
background:
radial-gradient(ellipse at 50% 40%, rgba(22,198,204,.14), transparent 70%),
radial-gradient(ellipse at 50% 70%, rgba(182,44,142,.12), transparent 72%);
box-shadow:inset 0 0 0 6px rgba(22,198,204,.06), 0 8px 20px rgba(15,23,42,.06);
}
.qs-v2 .qs2-badge i{font-size:34px; color:var(--qs-accent)}
.qs-v2 .qs2-title{
font-size:.92rem; letter-spacing:.12em; text-transform:uppercase; font-weight:900;
color:var(--qs-ink); margin:4px 0 6px;
}
.qs-v2 .qs2-desc{color:var(--qs-muted); font-size:.96rem; line-height:1.65; margin:0}
/* Focus visible accesible */
.qs-v2 a:focus-visible, .qs-v2 button:focus-visible{
outline:3px solid color-mix(in lab, var(--qs-accent) 60%, white);
outline-offset:2px; border-radius:12px;
}
/* Ensure gallery images have a minimal box while loading */
.gal-img{display:block; min-height:120px;}
.gal-img.broken{filter: grayscale(1); opacity:0.7;}
:root {
/* Acento EADTC */
--accent: #B62C8E;
/* WhatsApp */
--wa: #25D366;
--wa-dark: #128C7E;
--wa-darker: #075E54;
/* Colores para modo claro */
--light-bg: #ffffff;
--light-card: #f8f9fa;
--light-border: #e9ecef;
--text-primary: #212529;
--text-secondary: #6c757d;
--shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
--shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.18);
}
.fd-root {
position: fixed;
right: 20px;
bottom: 20px;
z-index: 9999;
font-family: system-ui, -apple-system, sans-serif;
}
.fd-dock {
display: flex;
flex-direction: column;
gap: 10px;
align-items: center;
}
.fd-btn {
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-decoration: none;
border: none;
box-shadow: var(--shadow);
cursor: pointer;
transition: all 0.3s ease;
font-size: 1.3rem;
position: relative;
overflow: hidden;
}
.fd-btn:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-hover);
}
.fd-play { background: var(--accent); }
.fd-ig { background: radial-gradient(circle at 30% 110%, #feda75, #d62976 45%, #962fbf 60%, #4f5bd5); }
.fd-yt { background: #ff0000; }
.fd-fb { background: #1877f2; }
.fd-tk { background: #000; }
.fd-wa { background: linear-gradient(135deg, var(--wa), var(--wa-dark)); }
/* OVERLAY PARA MÓVILES */
.wa-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 10000;
backdrop-filter: blur(4px);
display: none; }
/* VENTANA DE WHATSAPP - COMPLETAMENTE REDISEÑADA */
.wa-card {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.9);
width: 90vw;
max-width: 400px;
max-height: 80vh;
background: var(--light-bg);
color: var(--text-primary);
border-radius: 20px;
overflow: hidden;
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
border: 1px solid var(--light-border);
opacity: 0;
transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 10001;
display: flex;
flex-direction: column;
}
.wa-card[aria-modal="true"] {
transform: translate(-50%, -50%) scale(1);
opacity: 1;
}
.wa-head {
display: flex;
align-items: center;
gap: 12px;
padding: 16px;
background: var(--light-card);
border-bottom: 1px solid var(--light-border);
flex-shrink: 0;
}
.wa-avatar {
width: 40px;
height: 40px;
border-radius: 10px;
background: #e9ecef;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid var(--light-border);
overflow: hidden;
}
.wa-title {
font-weight: 600;
font-size: 1.1rem;
}
.wa-status {
font-size: 0.8rem;
color: var(--text-secondary);
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(--text-secondary);
border: 0;
font-size: 1.2rem;
cursor: pointer;
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s ease;
}
.wa-close:hover {
background: rgba(0, 0, 0, 0.08);
color: var(--text-primary);
}
.wa-body {
padding: 16px;
overflow-y: auto;
background: var(--light-bg);
display: flex;
flex-direction: column;
gap: 12px;
flex: 1;
min-height: 0;
}
.wa-bubble {
max-width: 85%;
padding: 12px 14px;
border-radius: 16px;
line-height: 1.4;
box-shadow: var(--shadow);
animation: bubbleAppear 0.3s ease;
}
@keyframes bubbleAppear {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.wa-bot {
background: var(--light-card);
border: 1px solid var(--light-border);
align-self: flex-start;
border-bottom-left-radius: 4px;
}
.wa-user {
background: linear-gradient(135deg, var(--wa), var(--wa-dark));
color: white;
align-self: flex-end;
border-bottom-right-radius: 4px;
}
.wa-compose {
padding: 16px;
background: var(--light-bg);
border-top: 1px solid var(--light-border);
flex-shrink: 0;
}
.wa-to {
display: flex;
gap: 10px;
margin-bottom: 12px;
flex-wrap: wrap;
}
.wa-to-item {
display: flex;
align-items: center;
gap: 8px;
background: var(--light-card);
border: 1px solid var(--light-border);
padding: 8px 12px;
border-radius: 20px;
color: var(--text-primary);
cursor: pointer;
font-size: 0.85rem;
transition: all 0.2s ease;
white-space: nowrap;
}
.wa-to-item:hover {
background: #e9ecef;
}
.wa-to-item input {
accent-color: var(--wa);
}
.wa-input-wrapper {
display: flex;
gap: 10px;
align-items: flex-end;
}
.wa-compose textarea {
flex: 1;
resize: none;
border-radius: 20px;
padding: 12px 16px;
border: 1px solid var(--light-border);
background: var(--light-bg);
color: var(--text-primary);
outline: none;
min-height: 44px;
max-height: 120px;
font-family: inherit;
transition: all 0.2s ease;
line-height: 1.4;
font-size: 0.9rem;
}
.wa-compose textarea:focus {
border-color: var(--wa);
box-shadow: 0 0 0 2px rgba(37, 211, 102, 0.15);
}
.wa-send {
background: linear-gradient(135deg, var(--wa), var(--wa-dark));
color: white;
border: 0;
border-radius: 50%;
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.2s ease;
font-size: 1rem;
flex-shrink: 0;
}
.wa-send:hover {
transform: scale(1.05);
}
/* SCROLLBAR MEJORADO */
.wa-body::-webkit-scrollbar {
width: 6px;
}
.wa-body::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.05);
border-radius: 3px;
}
.wa-body::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.15);
border-radius: 3px;
}
.wa-body::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.25);
}
/* RESPONSIVE MEJORADO */
@media (max-width: 768px) {
.fd-root {
right: 15px;
bottom: 15px;
}
.fd-btn {
width: 46px;
height: 46px;
font-size: 1.2rem;
}
.fd-dock {
gap: 8px;
}
.wa-card {
width: 95vw;
max-height: 85vh;
}
.wa-head {
padding: 14px;
}
.wa-body {
padding: 14px;
}
.wa-compose {
padding: 14px;
}
}
@media (max-width: 480px) {
.fd-root {
right: 10px;
bottom: 10px;
}
.fd-btn {
width: 42px;
height: 42px;
font-size: 1.1rem;
}
.wa-card {
width: 98vw;
max-height: 90vh;
border-radius: 16px;
}
.wa-head {
padding: 12px;
/* ...cortado... */
doñamandioca.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700;800&display=swap/* link NETFAN */
.sa-footer-accent{
font-weight: 600;
color: #000;
text-decoration: none;
border-bottom: 1px solid rgba(0,0,0,.4);
}
.sa-footer-accent:hover{
color: #000;
border-bottom-color: #000;
}
/* RESET Y VARIABLES */
:root {
--accent: #f5c01a;
--accent-dark: #e0a800;
--accent-soft: #fff6d5;
--text-main: #111;
--text-muted: #666;
--bg: #ffffff;
/* WhatsApp */
--wa:#25D366;
--wa-dark:#128C7E;
--wa-text:#111111;
--wa-muted:#666666;
--wa-bg:#ffffff;
--wa-border:#e4e4e4;
--wa-head:#f5c01a;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Nunito', system-ui, -apple-system, sans-serif;
background: var(--bg);
color: var(--text-main);
padding-top: 80px;
}
/* NAVBAR SIMPLE */
.navbar {
background: #fff;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
padding: 1rem 0;
}
.navbar-brand {
font-weight: 700;
font-size: 1.3rem;
}
.nav-link {
font-weight: 500;
color: #333 !important;
}
.btn-cta-nav {
background: var(--accent);
border: none;
border-radius: 25px;
padding: 0.5rem 1.5rem;
font-weight: 600;
}
.brand-small {
display: flex;
align-items: center;
gap: 6px;
font-size: 16px;
}
.brand-icon {
width: 52px;
height: auto;
}
/* HERO SECTION */
.hero-section {
background: linear-gradient(135deg, #fff9e5, #ffffff);
padding: 80px 0;
margin-bottom: 48px;
}
.hero-title {
font-size: 3rem;
font-weight: 800;
margin-bottom: 1rem;
color: #111;
}
.hero-subtitle {
font-size: 1.2rem;
color: var(--text-muted);
margin-bottom: 2rem;
}
.hero-badge {
background: #fff;
border-radius: 20px;
padding: 0.5rem 1rem;
margin-right: 0.5rem;
margin-bottom: 0.5rem;
display: inline-block;
border: 1px solid #eee;
}
.btn-hero {
padding: 0.8rem 2rem;
border-radius: 25px;
font-weight: 600;
margin-right: 1rem;
margin-bottom: 1rem;
}
.btn-primary-custom {
background: var(--accent);
border: none;
color: #000;
}
.btn-outline-custom {
border: 2px solid #333;
background: transparent;
color: #333;
}
/* SECCIONES GENERALES */
.section {
padding: 60px 0;
}
.section-alt {
background: #f8f9fa;
}
.section-title {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 1rem;
}
.section-subtitle {
font-size: 1.1rem;
color: var(--text-muted);
margin-bottom: 2rem;
}
/* EYEBROW de sección */
.section-eyebrow {
display: inline-block;
font-size: 0.8rem;
letter-spacing: 0.18em;
text-transform: uppercase;
font-weight: 600;
color: var(--text-muted);
margin-bottom: 0.35rem;
}
.section-eyebrow--accent {
color: #000;
background: var(--accent-soft);
padding: 0.2rem 0.75rem;
border-radius: 999px;
}
/* TARJETAS */
.feature-card {
background: #fff;
border-radius: 15px;
padding: 2rem;
box-shadow: 0 5px 15px rgba(0,0,0,0.08);
margin-bottom: 2rem;
border-top: 4px solid var(--accent);
}
.why-card {
background: #fff;
border-radius: 15px;
padding: 2rem;
text-align: center;
box-shadow: 0 5px 15px rgba(0,0,0,0.08);
margin-bottom: 2rem;
transition: transform 0.3s ease;
}
.why-card:hover {
transform: translateY(-5px);
}
.why-icon {
width: 60px;
height: 60px;
background: var(--accent-soft);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
font-size: 1.5rem;
}
/* FAQ */
.accordion-button {
font-weight: 600;
padding: 1.5rem;
}
.accordion-button:not(.collapsed) {
background: var(--accent-soft);
color: #000;
}
/* CONTACTO */
.contact-form {
background: #fff;
padding: 2rem;
border-radius: 15px;
box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}
.form-control:focus {
border-color: var(--accent);
box-shadow: 0 0 0 0.2rem rgba(245, 192, 26, 0.25);
}
/* FOOTER */
.footer {
background: #f5c01a;
color: #111;
padding: 2.5rem 0 1.5rem;
margin-top: 3rem;
border-top: 3px solid #fff;
}
.footer h5 {
font-weight: 700;
margin-bottom: 0.5rem;
}
.footer-brand-tagline {
font-size: 0.95rem;
margin-bottom: 0;
}
.footer-nav-title {
font-weight: 600;
margin-bottom: 0.75rem;
}
.footer-nav {
list-style: none;
padding: 0;
margin: 0;
}
.footer-nav li {
margin-bottom: 0.25rem;
}
.footer-nav a {
text-decoration: none;
color: #111;
font-weight: 500;
}
.footer-nav a:hover {
text-decoration: underline;
}
.footer-contact p {
margin-bottom: 0.25rem;
}
.footer-bottom {
border-top: 1px solid rgba(255,255,255,0.6);
margin-top: 1.5rem;
padding-top: 0.75rem;
font-size: 0.9rem;
}
.footer-bottom span {
color: rgba(0,0,0,0.7);
}
/* GALERÍA */
.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;
}
.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%;
}
.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;
}
#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
/* ...cortado... */
.snack-icon {
display: flex;
justify-content: center;
margin-bottom: 0.75rem;
}
.snack-icon img {
width: 50px;
height: 50px;
object-fit: contain;
}
tecnigo.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://fonts.googleapis.com/css2?family=Poppins:wght@500;600&display=swap:root {
--primary: #e30613;
--primary-dark: #b3040f;
--primary-light: rgba(227, 6, 19, 0.1);
--dark: #111;
--gray: #f8f9fa;
--gray-dark: #e9ecef;
--text: #333;
--text-light: #6c757d;
--white: #fff;
--shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
--shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.12);
--radius: 16px;
--radius-lg: 24px;
--transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
* {
box-sizing: border-box;
}
body {
font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: var(--text);
background: var(--white);
line-height: 1.6;
overflow-x: hidden;
}
html {
scroll-behavior: smooth;
}
/* NAVBAR MEJORADA */
.navbar {
background: rgba(0, 0, 0, 0.95) !important;
backdrop-filter: blur(10px);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
padding: 0.8rem 0;
transition: var(--transition);
}
.navbar.scrolled {
padding: 0.5rem 0;
background: rgba(0, 0, 0, 0.98) !important;
}
.navbar-brand {
font-weight: 800;
font-size: 1.5rem;
letter-spacing: 0.05em;
display: flex;
align-items: center;
gap: 8px;
}
.navbar-brand span {
background: linear-gradient(90deg, var(--white) 0%, var(--primary) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.navbar-nav .nav-link {
font-weight: 500;
text-transform: uppercase;
font-size: 0.85rem;
letter-spacing: 0.08em;
margin: 0 0.2rem;
padding: 0.5rem 1rem !important;
border-radius: 50px;
transition: var(--transition);
position: relative;
}
.navbar-nav .nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
width: 0;
height: 2px;
background: var(--primary);
transition: var(--transition);
transform: translateX(-50%);
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
width: 70%;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active {
color: var(--primary) !important;
}
.navbar-toggler {
border: none;
padding: 0.25rem 0.5rem;
}
.navbar-toggler:focus {
box-shadow: none;
}
/* SECCIONES MEJORADAS */
.section {
padding: 100px 0;
position: relative;
}
.section-title {
font-weight: 800;
margin-bottom: 16px;
text-transform: uppercase;
letter-spacing: 0.08em;
font-size: clamp(1.8rem, 4vw, 2.5rem);
line-height: 1.2;
}
.section-eyebrow {
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.16em;
color: var(--primary);
font-weight: 700;
margin-bottom: 12px;
display: inline-block;
padding: 4px 12px;
background: var(--primary-light);
border-radius: 50px;
}
.section-subtitle {
color: var(--text-light);
max-width: 620px;
font-size: 1.1rem;
}
/* HERO MEJORADO */
.hero {
padding: 160px 0 100px;
background: linear-gradient(135deg, #050505 0%, #1a1a1a 100%);
color: var(--white);
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle at 30% 50%, rgba(227, 6, 19, 0.15) 0%, transparent 50%);
}
.hero h1 {
font-size: clamp(2.5rem, 5vw, 3.5rem);
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.05em;
line-height: 1.1;
margin-bottom: 1.5rem;
}
.hero-highlight {
background: linear-gradient(90deg, var(--primary) 0%, #ff4d5a 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
position: relative;
}
.hero p.lead {
margin-top: 1rem;
color: #ddd;
font-size: 1.2rem;
max-width: 90%;
}
.hero-list {
margin: 28px 0 32px;
padding: 0;
list-style: none;
}
.hero-list li {
display: flex;
align-items: flex-start;
gap: 12px;
margin-bottom: 12px;
color: #eee;
font-size: 1rem;
transition: var(--transition);
padding: 8px 0;
}
.hero-list li:hover {
transform: translateX(5px);
}
.hero-list li i {
color: var(--primary);
margin-top: 3px;
font-size: 1.2rem;
}
.hero-cta {
display: flex;
flex-wrap: wrap;
gap: 16px;
margin-bottom: 2rem;
}
.hero-cta .btn {
font-weight: 600;
padding: 0.9rem 2rem;
border-radius: 50px;
font-size: 1rem;
transition: var(--transition);
box-shadow: 0 4px 15px rgba(227, 6, 19, 0.3);
}
.hero-cta .btn:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(227, 6, 19, 0.4);
}
.hero-cta .btn-outline-light {
border-width: 2px;
background: transparent;
}
.hero-cta .btn-outline-light:hover {
background: var(--white);
color: var(--dark);
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
border-radius: 50px;
background: rgba(255, 255, 255, 0.08);
color: #f5f5f5;
font-size: 0.9rem;
margin-bottom: 24px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.hero-badge span {
color: var(--primary);
font-weight: 700;
}
.hero-img-wrap {
background: linear-gradient(145deg, #1a1a1a 0%, #252525 100%);
border-radius: var(--radius-lg);
padding: 16px;
box-shadow: var(--shadow-lg);
height: 100%;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.05);
}
.hero-img-wrap::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(227, 6, 19, 0.1) 0%, transparent 70%);
animation: rotate 15s linear infinite;
}
@keyframes rotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.hero-img {
width: 100%;
max-height: 480px;
object-fit: contain;
border-radius: 12px;
display: block;
position: relative;
z-index: 2;
}
.hero-location {
display: flex;
align-items: center;
gap: 8px;
color: #bbb;
font-size: 0.9rem;
}
@media (max-width: 991.98px) {
.hero {
padding: 140px 0 80px;
text-align: center;
}
.hero p.lead {
max-width: 100%;
margin-left: auto;
margin-right: auto;
}
.hero-img-wrap {
margin-top: 48px;
}
}
/* QUIÉNES SOMOS MEJORADO */
.about-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 48px 40px;
box-shadow: var(--shadow);
border: 1px solid var(--gray-dark);
transition: var(--transition);
position: relative;
overflow: hidden;
}
.about-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
wid
/* ...cortado... */
pulidosrosario.com.ar
https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Montserrat:wght@400;600;700&display=swaphttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css:root {
--primary: #0cc0df;
--primary-dark: #0aa5c0;
--secondary: #ff6b35;
--dark: #2b2d42;
--light: #f8f9fa;
--gray: #6c757d;
--success: #28a745;
--shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
--shadow-hover: 0 10px 25px rgba(0, 0, 0, 0.15);
--transition: all 0.3s ease;
--border-radius: 8px;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Poppins', sans-serif;
color: var(--dark);
line-height: 1.6;
background-color: var(--light);
overflow-x: hidden;
}
h1, h2, h3, h4 {
font-family: 'Montserrat', sans-serif;
font-weight: 700;
line-height: 1.2;
margin-bottom: 1rem;
}
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
p { margin-bottom: 1rem; }
a {
text-decoration: none;
color: inherit;
transition: var(--transition);
}
img {
max-width: 100%;
height: auto;
display: block;
}
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}
.section {
padding: 5rem 0;
position: relative;
}
.section-title {
text-align: center;
margin-bottom: 3rem;
position: relative;
}
.section-title:after {
content: '';
display: block;
width: 80px;
height: 4px;
background: var(--primary);
margin: 1rem auto;
border-radius: 2px;
}
.btn {
display: inline-block;
padding: 0.8rem 1.8rem;
border-radius: var(--border-radius);
font-weight: 600;
text-align: center;
cursor: pointer;
transition: var(--transition);
border: none;
font-size: 1rem;
}
.btn-primary {
background-color: var(--primary);
color: white;
}
.btn-primary:hover {
background-color: var(--primary-dark);
transform: translateY(-3px);
box-shadow: var(--shadow-hover);
}
.btn-outline {
background-color: transparent;
border: 2px solid var(--primary);
color: var(--primary);
}
.btn-outline:hover {
background-color: var(--primary);
color: white;
}
/* Header & Navigation */
header {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
transition: var(--transition);
padding: 1rem 0;
}
header.scrolled {
background-color: rgba(255, 255, 255, 0.95);
box-shadow: var(--shadow);
padding: 0.5rem 0;
}
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
font-size: 1.8rem;
font-weight: 700;
color: white;
display: flex;
align-items: center;
}
.logo img {
height: 40px;
margin-right: 0.5rem;
}
.logo span {
color: var(--primary);
}
.nav-links {
display: flex;
list-style: none;
}
.nav-links li {
margin-left: 1.5rem;
}
.nav-links a {
color: white;
font-weight: 500;
position: relative;
padding: 0.5rem 0;
}
.nav-links a:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background-color: white;
transition: var(--transition);
}
.nav-links a:hover:after {
width: 100%;
}
header.scrolled .logo,
header.scrolled .nav-links a {
color: var(--dark);
}
header.scrolled .nav-links a:after {
background-color: var(--primary);
}
.mobile-menu-btn {
display: none;
background: none;
border: none;
color: white;
font-size: 1.5rem;
cursor: pointer;
}
header.scrolled .mobile-menu-btn {
color: var(--dark);
}
/* Hero Section */
.hero {
height: 100vh;
min-height: 700px;
background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('img/hero.png') no-repeat center center/cover;
display: flex;
align-items: center;
color: white;
text-align: center;
position: relative;
}
.hero-content {
max-width: 800px;
margin: 0 auto;
padding: 0 1.5rem;
animation: fadeInUp 1s ease;
}
.hero h1 {
font-size: 3.5rem;
margin-bottom: 1.5rem;
line-height: 1.2;
}
.hero p {
font-size: 1.2rem;
margin-bottom: 2rem;
opacity: 0.9;
}
.hero-btns {
display: flex;
justify-content: center;
gap: 1rem;
margin-top: 2rem;
}
.scroll-down {
position: absolute;
bottom: 2rem;
left: 50%;
transform: translateX(-50%);
color: white;
font-size: 1.5rem;
animation: bounce 2s infinite;
cursor: pointer;
}
/* About Section */
.about {
background-color: white;
}
.about-content {
display: flex;
align-items: center;
gap: 3rem;
}
.about-text {
flex: 1;
}
.about-img {
flex: 1;
border-radius: var(--border-radius);
overflow: hidden;
box-shadow: var(--shadow);
}
.about-img img {
width: 100%;
height: auto;
transition: var(--transition);
}
.about-img:hover img {
transform: scale(1.03);
}
/* Services Section */
.services {
background-color: #f8f9fa;
}
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.service-card {
background-color: white;
border-radius: var(--border-radius);
overflow: hidden;
box-shadow: var(--shadow);
transition: var(--transition);
text-align: center;
padding: 2rem;
}
.service-card:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-hover);
}
.service-icon {
font-size: 3rem;
color: var(--primary);
margin-bottom: 1.5rem;
}
.service-card h3 {
margin-bottom: 1rem;
}
/* Why Choose Us Section */
.why-us {
background-color: white;
}
.features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}
.feature {
text-align: center;
padding: 2rem;
border-radius: var(--border-radius);
background-color: #f8f9fa;
transition: var(--transition);
}
.feature:hover {
background-color: var(--primary);
color: white;
transform: translateY(-5px);
}
.feature:hover .feature-icon {
color: white;
}
.feature-icon {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 1rem;
}
/* Portfolio Section */
.portfolio {
background-color: #f8f9fa;
}
.portfolio-filter {
display: flex;
justif
/* ...cortado... */