/* ===== SISTEMA DE COMPONENTES REUTILIZABLES ===== Diseño base compartido entre layouts (tipografía, section, hero, bento, card, glass, cta, media/contact grids). Se inyecta inline como critical en la home y puede incluirse (deferred) en cualquier layout que lo reutilice. No añadir aquí nada que no se use en el HTML. */ :root { --surface: #f9f9f9; --surface-container-low: #f3f3f4; --surface-container: #eeeeee; --surface-variant: #e2e2e2; --surface-container-highest: #e2e2e2; --on-surface: #1a1c1c; --on-surface-variant: #43474e; --outline: #73777f; --outline-variant: #c3c7cf; --clinical-white: #fefefe; --shadow-ambient: 0 20px 40px -15px rgba(0, 46, 81, 0.1); } /* Typography tokens */ .text-display-lg-mobile { font-family: "Lexend Deca", sans-serif; font-size: clamp(1.75rem, 1.5rem + 0.8vw, 2.25rem); font-weight: 600; line-height: 1.2; } .text-headline-md { font-family: "Lexend Deca", sans-serif; font-size: clamp(1.5rem, 1.3rem + 0.6vw, 2rem); font-weight: 500; line-height: 1.25; } .text-headline-sm { font-family: "Lexend Deca", sans-serif; font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem); font-weight: 500; line-height: 1.3; } .text-body-lg { font-family: "DM Sans", sans-serif; font-size: clamp(1rem, 0.9rem + 0.2vw, 1.125rem); font-weight: 400; line-height: 1.6; } .text-body-md { font-family: "DM Sans", sans-serif; font-size: clamp(0.875rem, 0.8rem + 0.2vw, 1rem); font-weight: 400; line-height: 1.5; } .text-body-sm { font-family: "DM Sans", sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.4; } /* ===== NAV ===== */ .home-redesign-body { overflow-x: clip; } .home-redesign-body .site-header { position: sticky; top: 0; z-index: 50; } .home-redesign-body .site-header::before { content: ''; position: absolute; inset: 0; background: rgba(254, 254, 254, 0.92); backdrop-filter: blur(12px); box-shadow: 0 1px 0 var(--outline-variant); pointer-events: none; z-index: -1; } .home-redesign-body .site-header nav { box-shadow: none; background: transparent; } .home-redesign-body .logo-nav img { height: 36px; } /* Reduce gap del nav en escritorio angosto para evitar que desborde */ @media screen and (min-width: 1025px) and (max-width: 1300px) { .home-redesign-body .navegacion { gap: 0.75rem; } .home-redesign-body .dropdown > span { font-size: 0.875rem; } } /* ===== CENTERED CONTENT UTILITY ===== */ .content-center { display: flex; flex-direction: column; align-items: center; text-align: center; } /* ===== HERO ===== */ .hero { position: relative; padding: 3rem 0 4rem; overflow: hidden; background: var(--clinical-white); text-align: center; } .hero__inner { max-width: 800px; margin: 0 auto; padding: 0 var(--gutter, 20px); position: relative; z-index: 2; } .hero__badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(199, 231, 255, 0.3); color: var(--principal); padding: 0.5rem 1rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 1.5rem; } .hero__title { color: var(--principal); margin-bottom: 1rem; } .hero__description { color: var(--on-surface); max-width: 600px; margin: 0 auto 1.5rem; } .hero__actions { display: flex; gap: 1rem; justify-content: center; padding-top: 1rem; } .hero__image-wrapper { max-width: var(--container-max, 1200px); margin: 3rem auto 0; padding: 0 var(--gutter, 20px); position: relative; z-index: 2; } .hero__image { border-radius: 1.5rem; overflow: hidden; box-shadow: var(--shadow-ambient); border: 1px solid rgba(195, 199, 207, 0.2); aspect-ratio: 16 / 9; } .hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: top; } .hero__gradient { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(199, 231, 255, 0.15), transparent); pointer-events: none; z-index: 0; } /* ===== BUTTON ===== */ .btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-family: "DM Sans", sans-serif; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.75rem 1.5rem; border-radius: 0.75rem; transition: all 0.3s ease; cursor: pointer; border: none; line-height: 1; } .btn--primary { background: var(--principal); color: var(--clinical-white); } .btn--primary:hover { background: var(--complemento); } .btn--secondary { background: var(--clinical-white); color: var(--principal); border: 1px solid var(--secundario); width: fit-content; margin-top: 1rem; } .btn--secondary:hover { background: var(--surface-container-low); } /* ===== SECTIONS ===== */ .section { padding: 4rem 0; } .section--tint { background: var(--surface); } .section--white { background: var(--clinical-white); } .section--dark { background: var(--principal); color: white; } .section__inner { max-width: var(--container-max, 1200px); margin: 0 auto; padding: 0 var(--gutter, 20px); } .section__header { text-align: center; max-width: 768px; margin: 0 auto 3rem; } .section__header .text-headline-md { margin-bottom: 1rem; } /* ===== CARD PRINCIPAL (reusable — fondo azul, texto blanco) ===== */ .card--feature { background: var(--principal); color: white; padding: 2rem; border-radius: 1.5rem; display: flex; flex-direction: column; gap: 1rem; } :is(.section) .card--feature :where(.text-body-lg, .text-body-md, .text-body-sm) { color: white; } .card--feature a:not(.btn):not(.btn-whatsapp) { color: var(--secundario); text-decoration: underline; text-decoration-thickness: 2px; } .card--feature a:not(.btn):not(.btn-whatsapp):hover { color: white; } /* ===== CTA CARD (extiende card--feature) ===== */ .cta-card { justify-content: center; } .cta-card__icon { font-size: 2.5rem; color: var(--secondary-fixed, #c7e7ff); } .cta-card__title { font-family: "Lexend Deca", sans-serif; font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem); font-weight: 500; color: white; } .cta-card__text { color: white; font-size: clamp(0.875rem, 0.8rem + 0.2vw, 1rem); } .cta-card__btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; background: var(--clinical-white); color: var(--principal); text-decoration: none; font-family: "DM Sans", sans-serif; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.85rem 1.5rem; border-radius: 0.75rem; width: 100%; text-align: center; transition: all 0.3s ease; word-break: break-word; hyphens: auto; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15); } .cta-card__btn:hover { background: var(--surface-container-low); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25); } .cta-card__btn::after { content: "→"; transition: transform 0.2s ease; } .cta-card__btn:hover::after { transform: translateX(4px); } /* ===== BENTO GRID ===== */ .bento-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; } /* ===== BENTO CARD ===== */ .bento-card { position: relative; border-radius: 1.5rem; overflow: hidden; min-height: 300px; } .bento-card :where(.text-headline-sm, .text-headline-md) { word-break: break-word; overflow-wrap: break-word; } .bento-card--full { grid-column: 1 / -1; } .bento-card--text { padding: 2rem; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; } .bento-card--text-center { justify-content: center; } .bento-card--dark { background: var(--principal); color: white; } .bento-card--light { background: var(--surface-container-low); } .bento-card--tint { background: var(--surface-variant); } .bento-card--glass { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.3); } .bento-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } .bento-card:hover .bento-card__image { transform: scale(1.05); } .bento-card__overlay { position: absolute; inset: 0; pointer-events: none; } .bento-card__overlay--gradient-t { background: linear-gradient(to top, var(--principal) 0%, transparent 60%); } .bento-card__overlay--gradient-r { background: linear-gradient(to right, var(--principal) 0%, transparent 60%); } .bento-card__overlay--dark { background: rgba(0, 46, 81, 0.4); } .bento-card__content { position: relative; z-index: 2; padding: 1.5rem; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; color: white; overflow: hidden; } .bento-card__content :where(.text-headline-sm, .text-body-sm, .text-body-md) { word-break: break-word; overflow-wrap: break-word; } .bento-card__content--center { justify-content: center; } .bento-card__link { display: inline-flex; align-items: center; gap: 0.35rem; color: white; text-decoration: none; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; margin-top: 0.75rem; transition: opacity 0.2s; border-bottom: 1px solid transparent; align-self: flex-start; } .bento-card__link::after { content: "→"; transition: transform 0.2s ease; } .bento-card__link:hover { opacity: 0.85; border-bottom-color: rgba(255, 255, 255, 0.5); } .bento-card__link:hover::after { transform: translateX(4px); } .bento-card__tag { display: inline-block; padding: 0.25rem 0.75rem; background: rgba(209, 228, 255, 0.3); color: var(--principal); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 9999px; margin-bottom: 1rem; width: fit-content; } .bento-card__tag--light { background: rgba(166, 203, 230, 0.3); } /* ===== TEXT CARD ===== */ .bento-card--text h3 { color: var(--principal); margin-bottom: 0.75rem; } .bento-card--text :where(.text-body-md, .text-body-sm) { color: var(--on-surface); max-width: 480px; } /* ===== SERVICE CARD TEXT LINK ===== */ .link--cta-text { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--principal); text-decoration: none; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; margin-top: 1rem; padding-bottom: 0.25rem; border-bottom: 2px solid var(--principal); width: fit-content; transition: all 0.2s; align-self: flex-start; } .link--cta-text::after { content: "→"; transition: transform 0.2s ease; } .link--cta-text:hover { opacity: 0.8; gap: 0.5rem; } .link--cta-text:hover::after { transform: translateX(4px); } /* Link-button secundario — fondos claros (ej. bento-card--light) */ .btn-link--secondary { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--principal); text-decoration: none; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; margin-top: 1rem; padding-bottom: 0.25rem; border-bottom: 2px solid var(--principal); width: fit-content; transition: all 0.2s; align-self: flex-start; } .btn-link--secondary::after { content: "→"; transition: transform 0.2s ease; } .btn-link--secondary:hover { opacity: 0.75; gap: 0.5rem; } .btn-link--secondary:hover::after { transform: translateX(4px); } /* Link-button secundario claro — fondos oscuros/imagen (ej. glass-card) */ .btn-link--secondary-light { display: inline-flex; align-items: center; gap: 0.35rem; color: white; text-decoration: none; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; margin-top: 0.75rem; border-bottom: 1px solid transparent; width: fit-content; transition: all 0.2s; align-self: flex-start; } .btn-link--secondary-light::after { content: "→"; transition: transform 0.2s ease; } .btn-link--secondary-light:hover { opacity: 0.85; border-bottom-color: rgba(255,255,255,0.5); gap: 0.5rem; } .btn-link--secondary-light:hover::after { transform: translateX(4px); } /* ===== GLASS CARD ===== */ .glass-card { background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 1rem; padding: 1.5rem; color: white; } .glass-card h3 { color: white; } .glass-card p { opacity: 0.9; } .glass-card--narrow { max-width: 280px; } /* ===== BENTO CARD BACKGROUND MODIFIERS ===== */ .bento-card--bg-principal { background: var(--principal); } .bento-card--bg-complemento { background: var(--complemento); } .bento-card--bg-secundario { background: var(--secundario); } .bento-card--bg-surface-highest { background: var(--surface-container-highest); } .bento-card__content--end { justify-content: flex-end; } /* ===== SURFACE HIGHEST ===== */ .bento-card--bg-surface-highest .bento-card__content { color: var(--on-surface); } .bento-card--bg-surface-highest .text-headline-sm { color: var(--principal); } .bento-card--bg-surface-highest .text-body-sm { color: var(--on-surface); } .bento-card--bg-surface-highest .bento-card__link { color: var(--principal); border-bottom: 2px solid var(--principal); } /* ===== DARK OVERLAY ===== */ .bento-card--dark-overlay { color: white; } .bento-card--dark-overlay .text-body-md { color: white; opacity: 0.9; max-width: 450px; } /* ===== VIDEO ===== */ .video-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 1rem; overflow: hidden; box-shadow: var(--shadow-ambient); border: 1px solid rgba(195, 199, 207, 0.1); } .video-summary { display: grid; place-items: center; cursor: pointer; list-style: none; height: 100%; } .video-summary::-webkit-details-marker { display: none; } .video-thumbnail { grid-area: 1 / 1; width: 100%; height: 100%; object-fit: cover; display: block; } .video-playicon { grid-area: 1 / 1; width: 72px; height: 72px; filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.5)); transition: transform 0.2s ease; } .video-summary:hover .video-playicon { transform: scale(1.1); } .video-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .video-content iframe { width: 100%; height: 100%; border: 0; } .video-embed[open] .video-summary { visibility: hidden; pointer-events: none; } /* ===== GRID-2 / WHY CHOOSE US ===== */ .grid-2 { display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; } .about-img { border-radius: 1rem; width: 100%; height: auto; box-shadow: var(--shadow-ambient); border: 1px solid rgba(195, 199, 207, 0.2); } /* ===== MEDIA GRID ===== */ .media-grid { display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; } .media-content { display: flex; flex-direction: column; gap: 1.5rem; order: -1; color: var(--on-surface); } .media-content__label { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--secundario); } .media-content :where(.text-headline-md) { color: var(--principal); } .media-content :where(.text-body-lg, .text-body-md) { color: var(--on-surface); } .media-content .btn { width: fit-content; } /* ===== CONTACT ===== */ .contact-grid { display: grid; grid-template-columns: 1fr; gap: 3rem; } .contact-grid .text-headline-md { color: var(--principal); margin-bottom: 1rem; } .contact-grid .text-body-md { color: var(--on-surface); } .contact-list { display: flex; flex-direction: column; gap: 1rem; list-style: none; margin: 1.5rem 0 0; padding: 0; } .contact-list li { display: flex; align-items: flex-start; gap: 0.75rem; margin: 0; font-size: clamp(0.875rem, 0.8rem + 0.2vw, 1rem); color: var(--on-surface); } .contact-list .icon { color: var(--principal); flex-shrink: 0; margin-top: 0.125rem; } .contact-map { border-radius: 1rem; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.08); border: 1px solid rgba(195, 199, 207, 0.2); min-height: 400px; } .contact-map iframe { width: 100%; height: 100%; border: none; } .contact-cta-wrapper { margin-top: 2rem; } /* ===== BENTO CARD CONTENT PARAGRAPHS ===== */ .bento-card__content :where(.text-body-sm, .text-body-md) { margin-top: 0.5rem; } /* ===== SECTION TEXT COLORS ===== */ .section :where(.text-headline-md) { color: var(--principal); } .section :where(.text-body-lg, .text-body-md) { color: var(--on-surface); } /* ===== MOBILE (< 480px): 2 columnas + texto compacto ===== */ @media (max-width: 480px) { .bento-grid { grid-template-columns: 1fr 1fr; } .bento-card--wide, .cta-card { grid-column: span 2; } .bento-card { min-height: 200px; } .bento-card--text { padding: 1rem; } .bento-card--text .text-headline-sm { font-size: 0.9rem; } .bento-card--text .text-body-sm { font-size: 0.75rem; } .bento-card__content { padding: 0.75rem; } .bento-card__content .text-headline-sm { font-size: 0.85rem; word-break: break-word; overflow-wrap: break-word; hyphens: auto; } .bento-card__content .text-body-sm { font-size: 0.7rem; word-break: break-word; overflow-wrap: break-word; } .bento-card__content .bento-card__link { font-size: 0.65rem; margin-top: 0.5rem; } .glass-card { padding: 0.75rem; max-width: 100%; overflow: hidden; word-break: break-word; } .glass-card--narrow { max-width: 100%; } .glass-card .text-headline-sm { font-size: 0.85rem; word-break: break-word; overflow-wrap: break-word; } .glass-card .text-body-sm { font-size: 0.7rem; } .bento-card--dark-overlay .text-body-md { font-size: 0.75rem; max-width: 100%; } .card--feature { padding: 1rem; } .card--feature .text-headline-sm { font-size: 1rem; } .card--feature .text-body-md { font-size: 0.8rem; } .cta-card__title { font-size: 1rem; } .cta-card__text { font-size: 0.8rem; } .cta-card__btn { font-size: 0.65rem; padding: 0.5rem 0.75rem; } } /* ===== MEDIA QUERIES (layout global + bento desktop) ===== */ @media (min-width: 768px) { .bento-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 300px; } .bento-card--wide { grid-column: span 2; } .bento-card--tall { grid-row: span 2; } .section { padding: 6rem 0; } .bento-card__content { padding: 2rem; } .hero { padding: 4rem 0 6rem; } .hero__image-wrapper { margin-top: 4rem; } .grid-2 { grid-template-columns: 1fr 1fr; } .media-grid { grid-template-columns: 1fr 1fr; } .video-embed { order: -1; } .media-content { order: 0; } .contact-grid { grid-template-columns: 1fr 1fr; } } /* Tablet text overflow */ @media (min-width: 481px) and (max-width: 767px) { .bento-card { min-height: 260px; } .bento-card__content .text-headline-sm { font-size: clamp(1rem, 1.8vw, 1.25rem); } .bento-card__content .text-body-sm { font-size: clamp(0.75rem, 1.4vw, 0.875rem); } .bento-card--text .text-body-sm { font-size: clamp(0.75rem, 1.4vw, 0.875rem); } .glass-card { padding: 1rem; max-width: 100%; overflow: hidden; word-break: break-word; } .glass-card--narrow { max-width: 100%; } .bento-card--text { padding: 1rem; overflow: hidden; word-break: break-word; } .bento-card--text .text-headline-sm { font-size: 0.9rem; } } /* Why Choose Us — tablet */ @media (min-width: 768px) and (max-width: 1023px) { .grid-2 { grid-template-columns: 1fr; } .grid-2 .about-img { max-height: 400px; width: 100%; object-fit: cover; object-position: top; } } @media (max-width: 767px) { .grid-2 { gap: 2rem; } .grid-2 .about-img { max-height: 400px; width: 100%; object-fit: cover; } .section { padding: 2rem 0; } } @media (max-width: 480px) { .hero__actions { flex-direction: column; align-items: center; } .btn { width: 100%; max-width: 320px; } } @media (min-width: 1200px) { .hero__inner { max-width: 900px; } .hero__image { aspect-ratio: 21 / 9; } } /* ===== SECTION NARROW ===== */ .section__inner--narrow { max-width: 800px; margin: 0 auto; } /* ===== TRUST BADGE / SECTION ===== */ .trust-badge { display: inline-block; padding: 0.25rem 0.75rem; background: rgba(0, 46, 81, 0.08); color: var(--principal); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 9999px; margin-bottom: 1rem; } .trust-section__title { color: var(--principal); margin-bottom: 1rem; } .trust-section__body { color: var(--on-surface); } /* ===== FLOW PADDED ===== */ .flow--padded { padding: 2rem; } /* ===== FOOTER OVERRIDE (solo home) ===== */ .home-redesign-body .footer { margin-top: 0; } a:hover { color: var(--secundario); } ol li { margin-left: 3em; list-style: decimal; } blockquote { position: relative; padding: 2.5rem 2rem; margin: 2rem 0; background: linear-gradient(135deg, var(--principal), var(--complemento)); color: white; box-shadow: var(--shadow); a{color: var(--secundario);} } blockquote::before { content: '"'; position: absolute; top: -0.5rem; left: 1rem; font-family: var(--fuenteTitulos); font-size: 6rem; line-height: 1; color: var(--accion); opacity: 0.3; } blockquote p { position: relative; font-family: var(--fuenteTitulos); font-size: clamp(1.25rem, 1rem + 0.5vw, 1.75rem); line-height: 1.4; margin-bottom: 1rem; } blockquote small { display: block; color: var(--accion); font-family: var(--fuenteTexto); font-size: 1rem; font-weight: 700; margin-top: 1rem; text-align: right; } blockquote .boton { margin-top: 1.5rem; background-color: var(--accion); color: var(--principal); margin: 1em auto 0; } blockquote .boton:hover { background-color: var(--secundario); color: white; } table { width: 100%; margin: 2em 0 4em; } table tr { border-bottom: 2px dotted var(--gris1); display: flex; padding: 1.2em; flex-wrap: wrap; gap: 1em; width: 100%; } table tr:nth-child(even) { background-color: var(--gris1); } table th { font-weight: 900; } table td, table th { flex: 1 0 200px; } hr { border: 0; height: 1px; background: #333; background-image: linear-gradient(to right, #ccc, #333, #ccc); } .two_columns { display: flex; flex-wrap: wrap; gap: 3em; justify-content: space-around; height: -webkit-min-content; height: -moz-min-content; height: min-content; & > div, figure { flex: 1 0 400px; max-width: 100%; } img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: center right; object-position: center right; } .two_columns-image { line-height: 0; } } .two_columns_left { flex-direction: row-reverse; } .three_columns { display: flex; flex-wrap: wrap; gap: 1em; justify-content: center; align-items: flex-start; margin-bottom: 4em; & > div { position: relative; width: min(100%, 276px); text-align: center; display: grid; place-items: center; border-radius: var(--radius-cards); overflow: hidden; img { transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); } img:hover { transform: scale(1.015); } h4 { font-size: 24px; max-width: 296px; margin: 0; } } } .icons { max-width: 180px; } .footer { background-color: #002b4d; color: white; padding: 2rem 1rem; font-family: Arial, sans-serif; } .footer-content { width: min(100%, 1440px); margin: 0 auto; display: flex; gap: 1em; flex-wrap: wrap; justify-content: space-between; align-items: center; } .footer-logo { flex: 1 1 200px; margin-bottom: 1rem; } .footer-logo img { max-width: 200px; width: 100%; height: auto; } .footer-section { flex: 1 1 200px; margin: 0 1rem 1rem 0; min-width: 0; /* Permite que las secciones se reduzcan más allá de su contenido */ } .footer-section h3 { font-size: clamp(1rem, 2vw, 1.2rem); margin-bottom: 0.5rem; } .footer-section p { margin: 0.25rem 0; font-size: clamp(0.875rem, 1.5vw, 1rem); color: rgba(255, 255, 255, 0.95); } .social-icons { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; } .social-icon { width: clamp(20px, 4vw, 24px); height: clamp(20px, 4vw, 24px); fill: white; } .footer-bottom { margin-top: 2rem; text-align: center; font-size: clamp(0.8rem, 1.5vw, 0.9rem); border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 1rem; width: 100%; color: rgba(255, 255, 255, 0.9); a { color: #f0dfc8; font-size: 16px; font-weight: 500; text-decoration: none; } small { color: rgba(255, 255, 255, 0.85); } } .background_full{ background-color: var(--gris1); box-shadow: 0 0 0 100vmax var(--gris1); clip-path: inset(0 -100vmax); } /* ============================================================================ COOKIE BANNER & MODAL STYLES ============================================================================ */ /* Cookie Bubble */ .cookie-bubble { position: fixed; bottom: 20px; left: 20px; background: #fff; border-radius: var(--radius-cards); box-shadow: var(--shadow); padding: 12px 16px; z-index: 9999; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(20px); transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s linear 0.4s; border: 1px solid var(--gris1); max-width: 320px; } .cookie-bubble.show { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s linear 0s; } .cookie-bubble__content { display: flex; flex-direction: column; gap: 10px; } .cookie-bubble__text { display: flex; align-items: center; gap: 8px; } .cookie-bubble__icon { font-size: 16px; flex-shrink: 0; } .cookie-bubble__message { font-size: 13px; color: var(--grisTexto); line-height: 1.4; } .cookie-bubble__actions { display: flex; align-items: center; gap: 12px; } .cookie-bubble__link { font-size: 12px; color: var(--gris2); background: none; border: none; cursor: pointer; text-decoration: underline; padding: 6px 8px; transition: color 0.2s ease; white-space: nowrap; } .cookie-bubble__link:hover { color: var(--grisTexto); } .cookie-bubble__btn { padding: 8px 16px; border: none; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; white-space: nowrap; background: var(--accion); color: var(--principal); } .cookie-bubble__btn:hover { background: var(--secundario); color: #fff; transform: translateY(-1px); } /* Ocultar elementos del banner antiguo */ .cookie-banner, .cookie-banner__content, .cookie-banner__text, .cookie-banner__title, .cookie-banner__description, .cookie-banner__link, .cookie-banner__actions { display: none !important; } /* Cookie Modal */ .cookie-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(4px); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 1rem; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s ease, visibility 0s linear 0.3s; } .cookie-modal.show { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity 0.3s ease, visibility 0s linear 0s; } .cookie-modal__content { background: #fff; border-radius: var(--radius-cards); max-width: 600px; width: 100%; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--shadow); animation: modalSlideIn 0.3s ease; } @keyframes modalSlideIn { from { transform: scale(0.9) translateY(20px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } } .cookie-modal__header { padding: 1.5rem; border-bottom: 1px solid var(--gris1); display: flex; justify-content: space-between; align-items: center; } .cookie-modal__title { margin: 0; font-size: 1.25rem; font-weight: 700; color: var(--principal); } .cookie-modal__close { background: transparent; border: none; font-size: 2rem; line-height: 1; cursor: pointer; color: var(--gris2); padding: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: all 0.2s; } .cookie-modal__close:hover { background: var(--gris1); color: var(--grisTexto); } .cookie-modal__body { padding: 1.5rem; overflow-y: auto; flex: 1; } .cookie-modal__intro { margin: 0 0 1.5rem; font-size: 0.875rem; line-height: 1.6; color: var(--gris2); } .cookie-category { margin-bottom: 1.5rem; padding: 1rem; background: var(--gris1); border-radius: 8px; border: 1px solid var(--gris1); } .cookie-category__header { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 0.75rem; } .cookie-category__info { flex: 1; display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; } .cookie-category__title { margin: 0; font-size: 1rem; font-weight: 600; color: var(--principal); } .cookie-category__badge { display: inline-block; padding: 0.25rem 0.75rem; background: var(--accion); color: var(--principal); font-size: 0.75rem; font-weight: 600; border-radius: 12px; text-transform: uppercase; letter-spacing: 0.5px; } .cookie-category__description { margin: 0; font-size: 0.875rem; line-height: 1.6; color: var(--gris2); } /* Toggle Switch */ .cookie-toggle { position: relative; display: inline-block; width: 50px; height: 26px; cursor: pointer; flex-shrink: 0; } .cookie-toggle input { opacity: 0; width: 0; height: 0; } .cookie-toggle__slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--gris1); transition: 0.3s; border-radius: 26px; } .cookie-toggle__slider:before { position: absolute; content: ""; height: 20px; width: 20px; left: 3px; bottom: 3px; background-color: white; transition: 0.3s; border-radius: 50%; } .cookie-toggle input:checked + .cookie-toggle__slider { background-color: var(--secundario); } .cookie-toggle input:checked + .cookie-toggle__slider:before { transform: translateX(24px); } .cookie-toggle input:disabled + .cookie-toggle__slider { opacity: 0.6; cursor: not-allowed; } .cookie-modal__footer { padding: 1.5rem; border-top: 1px solid var(--gris1); display: flex; gap: 0.75rem; flex-wrap: wrap; } .cookie-modal__btn { flex: 1; min-width: 140px; padding: 10px 16px; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; border: 2px solid var(--accion); } .cookie-modal__btn--primary { background: var(--accion); color: var(--principal); } .cookie-modal__btn--primary:hover { background: var(--secundario); border-color: var(--secundario); color: #fff; } .cookie-modal__btn--secondary { background: transparent; color: var(--principal); border-color: var(--principal); } .cookie-modal__btn--secondary:hover { background: var(--principal); color: #fff; } /* Responsive Design - Burbuja flotante */ @media (max-width: 768px) { .cookie-bubble { bottom: 12px; left: 12px; right: 12px; max-width: none; padding: 10px 14px; } .cookie-bubble__content { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; } .cookie-bubble__text { flex: 1 1 auto; min-width: 0; } .cookie-bubble__message { font-size: 12px; } .cookie-bubble__actions { flex-shrink: 0; gap: 8px; } .cookie-bubble__btn { padding: 6px 12px; font-size: 12px; } .cookie-bubble__link { font-size: 11px; padding: 6px 8px; } /* Modal styles remain the same */ .cookie-modal__content { max-height: 95vh; } .cookie-modal__header, .cookie-modal__body, .cookie-modal__footer { padding: 1rem; } .cookie-modal__footer { flex-direction: column; } .cookie-modal__btn { width: 100%; } .cookie-category__header { gap: 0.75rem; } } @media (max-width: 480px) { .cookie-bubble { bottom: 10px; left: 10px; right: 10px; padding: 8px 12px; border-radius: 10px; } .cookie-bubble__content { flex-direction: column; align-items: stretch; gap: 8px; } .cookie-bubble__text { justify-content: center; } .cookie-bubble__actions { justify-content: center; } .cookie-bubble__message { font-size: 11px; text-align: center; } .cookie-bubble__btn { flex: 1; } .cookie-bubble__link { flex: 1; text-align: center; } } /* Accessibility */ .cookie-modal__close:focus, .cookie-bubble__btn:focus, .cookie-modal__btn:focus, .cookie-toggle input:focus + .cookie-toggle__slider { outline: 2px solid var(--accion); outline-offset: 2px; } /* Reduced Motion */ @media (prefers-reduced-motion: reduce) { .cookie-bubble, .cookie-modal, .cookie-modal__btn, .cookie-toggle__slider, .cookie-toggle__slider:before { transition: none; } @keyframes modalSlideIn { from, to { transform: none; opacity: 1; } } } .text-container-center { display: flex; justify-content: center; align-items: center; text-align: center; height: 100%; color: #fff; .intro small { font-size: 1rem; color: #fff; } .intro h2 { font-size: clamp(2.75rem, 2.3rem + 0.7vw, 3.25rem); } } .text-container-end { position: relative; display: flex; align-items: flex-end; } .service-cards { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); justify-content: center; } .card { background-color: #fefefe; display: grid; padding: 2rem; place-items: center; text-align: center; box-shadow: var(--shadow); transition: transform 0.3s ease-in-out; position: relative; transform: translateY(20px); transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1); } .card__flow { transform: none; } .card.visible { opacity: 1; transform: translateY(0); } .card-image { aspect-ratio: 16/9; overflow: hidden; } .card-image img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform 0.3s ease; } .card:hover .card-image img { transform: scale(1.05); } .card-content { padding: 1.5rem; } .card h3 { color: var(--principal); margin-bottom: 1rem; font-size: clamp(1.25rem, 1.1rem + 0.3vw, 1.5rem); } .card p { color: var(--grisTexto); margin-bottom: 1.5rem; font-size: clamp(1rem, 0.9rem + 0.2vw, 1.125rem); } .card ul li { font-size: 1rem; color: var(--grey-1); list-style: none; margin-bottom: 1rem; } /* Acordeon */ .accordion { display: grid; gap: 1.5rem; } /* Ocultar los checkboxes */ .accordion-toggle { display: none; } /* Estilo del encabezado */ .accordion-header { background-color: var(--gris1); color: var(--principal); padding: 1.2rem; font-family: var(--fuenteTitulos); font-size: 1.25rem; text-align: left; border: 1px solid var(--gris1); cursor: pointer; transition: all 0.3s ease; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); display: flex; justify-content: space-between; align-items: center; } .accordion-header:hover { background-color: var(--secundario); color: #fff; box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2); } .accordion-toggle:checked + .accordion-header { background-color: var(--principal); color: white; border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-color: var(--principal); } .accordion-header::after { content: "+"; font-size: 1.5rem; transition: transform 0.3s ease; } .accordion-toggle:checked + .accordion-header::after { content: "-"; transform: rotate(180deg); } .accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s ease; padding: 0 1.2rem; background-color: #f9f9f9; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); } .accordion-content p { margin: 1rem 0; color: var(--grisTexto); } /* Mostrar contenido cuando está seleccionado */ .accordion-toggle:checked + .accordion-header + .accordion-content { max-height: 550px; /* Ajusta según el contenido */ padding: 1.2rem; } /* SECCIONES PARALLAX */ .parallax { min-height: -webkit-min-content; min-height: -moz-min-content; min-height: min-content; display: grid; place-items: center; background-attachment: fixed; background-position: center; background-size: cover; h2 { color: #ffffff; } } .parallax_copy, .parallax_copy small, .parallax_copy h2 { color: #ffffff; } .parallax_hilos-tensores { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-hilos-tensores.avif'); } .parallax_neuronox{ background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-hilos-tensores.avif'); } .parallax_kbeauty{ background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/rejuvenecimiento-facial-bogota.avif'); } .parallax_rejuvenecimiento-facial { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/rejuvenecimiento-facial-bogota.avif'); } .parallax_centro-estetico { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/centro-estetico-bogota-colombia.avif'); } .parallax_aumento-labios { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/aumento-labios-bogota-colombia.avif'); } .parallax_toxina-boca { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/aumento-labios-bogota-colombia.avif'); } .parallax_biorevitalizacion-facial { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/biorevitalizacion-facial-colombia.avif'); } .parallax_biorevitalizacion-facial { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/lifting-facial-sin-cirugia.avif'); } .parallax_peeling-quimico { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/peeling-quimico-facial-dr-tatiana-leal.avif'); } .parallax_toxina-entrecejo { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/peeling-quimico-facial-dr-tatiana-leal.avif'); } .parallax_acido-hialuronico { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-acido-hialuronico-bogota.avif'); } .parallax_caida-cabello { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-capilar-bogota.avif'); } .parallax_ojeras { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-ojeras-bogota.avif'); } .parallax_toxina-frente { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-ojeras-bogota.avif'); } .parallax_manchas { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-manchas.avif'); } .parallax_limpieza-facial { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/limpieza-facial-profunda-bogota.avif'); } .parallax_toxina-ojos { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/limpieza-facial-profunda-bogota.avif'); } .parallax_rejuve { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/centro-estetico-rejuvenecimiento.avif'); } .parallax_vitamina-c { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/vitamina-c-facial.avif'); } .parallax_moldeamiento-corporal { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/moldeamiento-corporal-en-bogota.avif'); } .parallax_celulitis { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-celulitis-en-bogota.avif'); } .parallax_gluteos { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/levantamiento-gluteos-sin-cirugia.avif'); } .parallax_detox { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/sueroterapia-detox-en%20-bogota.avif'); } .parallax_tonificacion { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tonificacion-muscular-en-colombia.avif'); } .parallax_depilacion-laser { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/depilacion-laser-permanente.avif'); } .parallax_radiofrecuencia { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/radiofrecuencia-corporal-bogota.avif'); } .parallax_varices { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-varices-en-bogota.avif'); } .parallax_tatuajes { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/eliminacion-tatuajes-laser-centro-estetico.avif'); } .parallax_lipolisis { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/lipolisis-laser-centro-estetico.avif'); } .parallax_aclaramiento { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/aclaramiento-genital-beneficios.avif'); } .parallax_aumento-labios { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/aumento-labios-mayores-ginecologia-estetica.avif'); } .parallax_incontinencia { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/incontinencia-urinaria.avif'); } .parallax_vaginal { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/rejuvenecimiento-vaginal-laser-bogota.avif'); } .parallax_analisis { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/analisis-facial-janus-bogota.avif'); } .parallax_inbody { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/radiofrecuencia-corporal-bogota.avif'); } .parallax_scizer { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/radiofrecuencia-corporal-bogota.avif'); } .parallax_maximus { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/parallax_maximus.avif'); } .parallax_ombligo-triste { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/lipolisis-laser-centro-estetico.avif'); } .parallax_dysport { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/analisis-facial-janus-bogota.avif'); } .parallax_sculptra { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-sculptra-bogota-colombia.avif'); } .parallax_sculptra-gluteos { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-sculptra-gluteos-bogota-colombia.avif'); } .parallax_toxina-botulinica { background-image: linear-gradient(rgba(0, 46, 81, 0.6), rgba(0, 46, 81, 0.6)), url('/img/tratamiento-toxina-botulinica.avif'); } /* overlay */ .section-overlay { background: var(--principal); color: #fff; a{ color: #fff; &:hover{ color: var(--accion); } } h2 { color: #fefefe; } } .three_blocks { display: flex; justify-content: space-around; flex-wrap: wrap; } .block { width: min(max(300px, 80vw), 480px); flex: 1 1 300px; li { margin: 0; list-style: none; &::before { content: "✓"; color: var(--accion); padding-right: 4px; } } } .gallery-video { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; border-radius: var(--radius); } .gallery-video { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; border-radius: var(--radius); } .benefits-option ul li { margin: 0 0 8px; list-style: none; &::before { content: "✓"; color: var(--accion); padding-right: 4px; } } /* Estilos para los videos */ .video-wrapper { position: relative; width: min(100%, 355px); height: 664px; overflow: hidden; cursor: pointer; border-radius: var(--radius); margin-inline: auto; margin-bottom: 1.5rem; background-color: var(--gris1); } .video-play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; transition: opacity 0.3s ease, transform 0.3s ease; opacity: 0.9; } .video-play-button svg { -webkit-filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); } .video-wrapper:hover .video-play-button { transform: translate(-50%, -50%) scale(1.1); } .video-wrapper.playing .video-play-button { opacity: 0; } .gallery-video { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform 0.3s ease; } .video-wrapper:hover .gallery-video { transform: scale(1.05); } /* Loader para los videos */ .video-wrapper::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; border: 3px solid var(--principal); border-top-color: transparent; border-radius: 50%; -webkit-animation: spin 1s linear infinite; animation: spin 1s linear infinite; opacity: 0; } .video-wrapper.loading::before { opacity: 1; } @-webkit-keyframes spin { to { transform: translate(-50%, -50%) rotate(360deg); } } @keyframes spin { to { transform: translate(-50%, -50%) rotate(360deg); } } /* Estilos para destacar el video del medio */ .video-wrapper-featured { width: min(100%, 400px); /* Un poco más ancho */ height: 700px; /* Un poco más alto */ border: 2px solid var(--accion); /* Borde especial */ box-shadow: 0 8px 32px rgba(207, 186, 163, 0.15); /* Sombra elegante */ transform: translateY(-20px); /* Elevación sutil */ } /* Efecto hover mejorado para el video destacado */ .video-wrapper-featured:hover { border-color: var(--principal); box-shadow: 0 12px 48px rgba(207, 186, 163, 0.25); } /* Botón de play más grande para el video destacado */ .video-wrapper-featured .video-play-button svg { width: 64px; height: 64px; -webkit-filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4)); filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4)); } /* Overlay especial para el video destacado */ .video-wrapper-featured::after { content: 'Tecnología Premium'; position: absolute; top: 1rem; right: 1rem; background: linear-gradient(135deg, var(--principal), var(--complemento)); color: white; padding: 0.5rem 1rem; border-radius: var(--radius); font-size: 0.875rem; font-weight: 500; opacity: 0.9; z-index: 2; } /* Ajuste del contenedor para acomodar el video más grande */ .block { display: flex; flex-direction: column; align-items: center; } /* Aseguramos que el texto se mantenga alineado */ .block h3, .block p { text-align: center; max-width: 90%; } /* Animación suave al cargar */ .video-wrapper-featured { -webkit-animation: fadeInUp 0.6s ease-out; animation: fadeInUp 0.6s ease-out; } @-webkit-keyframes fadeInUp { from { opacity: 0; transform: translateY(0); } to { opacity: 1; transform: translateY(-20px); } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(0); } to { opacity: 1; transform: translateY(-20px); } } .contacto-grid{ display: grid; gap: 2em; ul li{ list-style: none; } } /* WhatsApp Button */ .boton-whatsapp { position: fixed; bottom: 8rem; right: 12px; z-index: 100; -webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0.5s 6 alternate-reverse both; animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0.5s 6 alternate-reverse both; transition: all .2s ease-in-out; width: -webkit-max-content; width: -moz-max-content; width: max-content; text-decoration: none; } .boton-whatsapp:hover { -webkit-filter: drop-shadow(5px 5px 5px rgba(190, 190, 190, .7)); filter: drop-shadow(5px 5px 5px rgba(190, 190, 190, .7)); transform: scale(1.05); } /* Keyframes for the animation */ @-webkit-keyframes scale-up-center { 0% { transform: scale(1); } 100% { transform: scale(1.1); } } @keyframes scale-up-center { 0% { transform: scale(1); } 100% { transform: scale(1.1); } } /* scroll top */ .boton-up { position: fixed; right: 15px; bottom: 48px; width: 50px; height: 50px; display: flex; justify-content: center; align-items: center; background-color: var(--accion); border-radius: var(--radius); box-shadow: var(--shadow); transition: all 300ms ease-in; z-index: 5; opacity: 0; visibility: hidden; } .boton-up.visible { opacity: 1; visibility: visible; } .boton-up:hover { transform: scale(1.1); } /* Asegurarse de que el icono sea blanco */ .boton-up svg { color: white; } .benefit-features li{ list-style: none; } .reviews-container{ display: flex; justify-content: space-between; gap: 2rem; flex-wrap: wrap; .review-card{ flex: 1 0 400px; max-width: 100%; .stars{ color: var(--accion); } } } .review-platforms{ margin-top: 2em; } /* CTA Buttons */ .cta-buttons { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.5rem; } .cta-buttons .boton { text-align: center; } @media (min-width: 768px) { .cta-buttons { flex-direction: row; } } /* Legal page header */ .legal-header { border-bottom: 1px solid var(--gris1); background-color: var(--fondo, #fafaf9); } .legal-header__inner { max-width: 72ch; } .legal-header__tag { display: inline-block; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--principal); border: 1px solid var(--principal); padding: 0.25rem 0.875rem; border-radius: 999px; } .legal-header__desc { color: var(--grisTexto); font-size: clamp(1rem, 0.95rem + 0.15vw, 1.125rem); max-width: 65ch; } .legal-header__meta { display: flex; align-items: center; gap: 0.375rem; font-size: 0.875rem; color: var(--grisTexto); margin-top: 0; svg { flex-shrink: 0; color: var(--principal); opacity: 0.7; } } /* ===== WHATSAPP BUTTON (Primary CTA — destaque) ===== */ .btn-whatsapp { display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem; background: linear-gradient(135deg, #25D366 0%, #128C7E 100%); color: #fff; text-decoration: none; font-family: "DM Sans", sans-serif; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.875rem 1.75rem; border-radius: 0.75rem; border: none; cursor: pointer; line-height: 1; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(37, 211, 102, 0.35); position: relative; overflow: hidden; } .btn-whatsapp:hover { transform: translateY(-2px); box-shadow: 0 6px 25px rgba(37, 211, 102, 0.5); color: #fff; background: linear-gradient(135deg, #20bd5a 0%, #0e6b5f 100%); } .btn-whatsapp:active { transform: translateY(0); box-shadow: 0 2px 10px rgba(37, 211, 102, 0.3); } .btn-whatsapp--wide { width: 100%; justify-content: center; } .btn-whatsapp__icon { display: inline-flex; align-items: center; flex-shrink: 0; animation: btn-whatsapp-pulse 2s ease-in-out infinite; } @keyframes btn-whatsapp-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } } /* ===== LINK SECONDARY (navegación interna importante) ===== */ .btn-link--secondary { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--principal); text-decoration: none; font-family: "DM Sans", sans-serif; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding-bottom: 0.25rem; border-bottom: 2px solid var(--principal); width: fit-content; transition: all 0.2s; line-height: 1; align-self: flex-start; } .btn-link--secondary::after { content: "→"; transition: transform 0.2s ease; line-height: 1; } .btn-link--secondary:hover { gap: 0.5rem; color: var(--complemento); border-bottom-color: var(--complemento); } .btn-link--secondary:hover::after { transform: translateX(4px); } /* Light variant for dark backgrounds */ .btn-link--secondary-light { color: #fff; border-bottom-color: rgba(255, 255, 255, 0.5); } .btn-link--secondary-light:hover { border-bottom-color: #fff; } /* ===== LINK TERTIARY (enlaces secundarios, texto inline) ===== */ .btn-link--tertiary { display: inline; color: var(--on-surface-variant); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; font-family: "DM Sans", sans-serif; font-size: inherit; font-weight: 500; transition: all 0.2s; } .btn-link--tertiary:hover { color: var(--principal); }
