Preview de mixed.css
/* MIXED CSS PACK */
/* Template: larosafloreria.com.ar/index.html */
/* Template mtime: 2026-05-05 13:04:27 */
/* external link (no embedded): https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,400&display=swap */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css */
/* ===== INLINE <style> BLOCK #1 ===== */
:root {
--rose: #fd3f3e;
--rose-dark: #e03534;
--green: #67b097;
--blue: #053d5d;
--blue-soft: rgba(5, 61, 93, .08);
--ink: #111111;
--muted: #676767;
--soft: #f8f5f2;
--line: rgba(17, 17, 17, .07);
--shadow: 0 24px 48px rgba(5, 61, 93, .09);
--shadow-strong: 0 30px 70px rgba(5, 61, 93, .14);
--transition: all .4s cubic-bezier(.16, 1, .3, 1);
}
* {
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
text-rendering: geometricPrecision;
}
html {
scroll-behavior: smooth;
scroll-padding-top: 96px;
}
body {
margin: 0;
color: var(--ink);
background: #fff;
font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
overflow-x: hidden;
line-height: 1.6;
}
img {
max-width: 100%;
}
a {
color: inherit;
text-decoration: none;
}
.text-balance {
text-wrap: balance;
}
.reveal {
opacity: 0;
transform: translateY(28px);
transition: var(--transition);
}
.reveal.active {
opacity: 1;
transform: translateY(0);
}
.site-navbar {
background: rgba(255, 255, 255, .88);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-bottom: 1px solid var(--line);
padding: .95rem 0;
transition: var(--transition);
}
.site-navbar.nav-scrolled {
padding: .7rem 0;
box-shadow: 0 18px 42px rgba(17, 17, 17, .06);
}
.navbar-brand {
display: inline-flex;
align-items: center;
gap: 12px;
min-width: 0;
}
.brand-logo {
width: auto;
height: 48px;
object-fit: contain;
flex: 0 0 auto;
transition: var(--transition);
}
.navbar-brand:hover .brand-logo {
transform: rotate(-5deg) scale(1.05);
}
.brand-name {
color: var(--blue);
font-size: clamp(1rem, 2.8vw, 1.25rem);
font-weight: 800;
letter-spacing: -.03em;
white-space: nowrap;
}
.navbar-toggler {
width: 48px;
height: 48px;
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--blue);
background: #fff;
border: 1px solid var(--line);
border-radius: 999px;
box-shadow: 0 10px 22px rgba(5, 61, 93, .08);
}
.navbar-toggler:focus {
box-shadow: 0 0 0 .22rem rgba(253, 63, 62, .13);
}
.nav-link {
position: relative;
color: var(--ink) !important;
font-size: .94rem;
font-weight: 700;
padding: .6rem .85rem !important;
margin: 0 .05rem;
border-radius: 999px;
transition: var(--transition);
}
.nav-link::after {
content: '';
position: absolute;
left: 50%;
bottom: 5px;
width: 0;
height: 2px;
background: var(--rose);
transform: translateX(-50%);
transition: var(--transition);
}
.nav-link:hover,
.nav-link:focus {
color: var(--rose) !important;
background: rgba(253, 63, 62, .06);
}
.nav-link:hover::after,
.nav-link:focus::after {
width: 20px;
}
.btn-pro {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
min-height: 50px;
padding: 14px 26px;
border: 0;
border-radius: 999px;
font-size: .95rem;
font-weight: 800;
line-height: 1;
transition: var(--transition);
}
.btn-rose {
color: #fff;
background: var(--rose);
box-shadow: 0 12px 24px rgba(253, 63, 62, .21);
}
.btn-rose:hover,
.btn-rose:focus {
color: #fff;
background: var(--rose-dark);
transform: translateY(-3px);
box-shadow: 0 18px 34px rgba(253, 63, 62, .3);
}
.btn-outline {
color: var(--blue);
background: #fff;
border: 1.5px solid rgba(5, 61, 93, .13);
box-shadow: 0 12px 22px rgba(5, 61, 93, .04);
}
.btn-outline:hover,
.btn-outline:focus {
color: #fff;
background: var(--blue);
border-color: var(--blue);
transform: translateY(-3px);
}
.section-padding {
padding: clamp(72px, 9vw, 112px) 0;
position: relative;
}
.bg-soft {
background:
radial-gradient(circle at 12% 10%, rgba(253, 63, 62, .045), transparent 32%),
radial-gradient(circle at 90% 80%, rgba(103, 176, 151, .08), transparent 34%),
var(--soft);
}
.section-tag,
.eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
margin-bottom: 1.2rem;
color: var(--rose);
font-size: .76rem;
font-weight: 800;
letter-spacing: .1em;
text-transform: uppercase;
}
.section-tag::before,
.eyebrow::before {
content: '';
width: 30px;
height: 2px;
background: currentColor;
border-radius: 999px;
}
.section-h2 {
max-width: 780px;
margin: 0 0 1.25rem;
color: var(--blue);
font-size: clamp(2rem, 4.4vw, 3.35rem);
font-weight: 800;
line-height: 1.06;
letter-spacing: -.04em;
}
.section-subtitle {
max-width: 760px;
margin: 0;
color: var(--muted);
font-size: 1.05rem;
line-height: 1.75;
}
.text-center .section-h2,
.text-center .section-subtitle {
margin-inline: auto;
}
.hero {
min-height: 100vh;
display: flex;
align-items: center;
padding: 158px 0 96px;
background:
radial-gradient(circle at 82% 16%, rgba(103, 176, 151, .12), transparent 30%),
radial-gradient(circle at 7% 82%, rgba(253, 63, 62, .07), transparent 28%),
linear-gradient(180deg, #fff 0%, #fff 58%, #faf7f4 100%);
}
.hero-title {
max-width: 720px;
margin: 0 0 1.5rem;
color: var(--blue);
font-size: clamp(2.55rem, 6vw, 5rem);
font-weight: 800;
line-height: 1.02;
letter-spacing: -.055em;
}
.hero-title span {
color: var(--rose);
}
.hero-subtitle {
max-width: 690px;
margin: 0 0 1rem;
color: #303030;
font-size: clamp(1.02rem, 1.45vw, 1.18rem);
line-height: 1.72;
}
.hero-copy {
max-width: 650px;
margin: 0 0 2.3rem;
color: var(--muted);
line-height: 1.78;
}
.hero-actions {
display: flex;
flex-wrap: wrap;
gap: 14px;
}
.hero-mobile-media {
display: none;
}
.hero-image-container {
position: relative;
max-width: 530px;
margin-left: auto;
padding: 20px;
}
.hero-image-container::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 80%;
height: 80%;
background: var(--soft);
border-radius: 42px;
z-index: 0;
}
.hero-image-container::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 180px;
height: 180px;
background: rgba(253, 63, 62, .08);
border-radius: 50%;
filter: blur(2px);
z-index: 0;
}
.hero-img {
position: relative;
z-index: 1;
display: block;
width: 100%;
aspect-ratio: 4 / 5;
object-fit: cover;
object-position: center;
border: 10px solid #fff;
border-radius: 34px;
box-shadow: var(--shadow-strong);
transition: var(--transition);
}
.hero-image-container:hover .hero-img {
transform: translateY(-6px) rotate(.6deg);
}
.hero-floating-card {
position: absolute;
z-index: 2;
left: -8px;
bottom: 58px;
display: flex;
align-items: center;
gap: 15px;
max-width: 255px;
padding: 18px 20px;
background: rgba(255,255,255,.94);
border: 1px solid var(--line);
border-radius: 22px;
box-shadow: var(--shadow);
backdrop-filter: blur(12px);
animation: float 4.5s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-14px); }
}
.mini-icon {
width: 48px;
height: 48px;
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 48px;
color: #fff;
background: var(--green);
border-radius: 15px;
}
.content-copy {
color: #333;
font-size: 1.04rem;
line-height: 1.84;
}
.content-copy p:last-child {
margin-bottom: 0;
}
.quote-card {
margin-top: 28px;
padding: 26px;
color: var(--blue);
background: #fff;
border: 1px solid rgba(103, 176, 151, .32);
border-left: 6px solid var(--green);
border-radius: 24px;
box-shadow: 0 16px 34px rgba(17, 17, 17, .055);
font-size: clamp(1.1rem, 2vw, 1.35rem);
font-weight: 800;
line-height: 1.45;
}
.about-panel {
height: 100%;
padding: clamp(26px, 4vw, 40px);
color: #fff;
background:
radial-gradient(circle at 90% 0%, rgba(103, 176, 151, .28), transparent 36%),
linear-gradient(135deg, var(--blue), #032c43);
border-radius: 30px;
box-shadow: var(--shadow-strong);
overflow: hidden;
}
.about-panel-item {
display: flex;
gap: 16px;
padding: 19px 0;
border-bottom: 1px solid rgba(255, 255, 255, .14);
}
.about-panel-item:last-child {
border-bottom: 0;
}
.about-panel-number {
width: 54px;
height: 54px;
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 54px;
color: #fff;
background: var(--rose);
border-radius: 17px;
font-weight: 800;
box-shadow: 0 14px 26px rgba(253, 63, 62, .22);
}
.about-panel-item strong {
display: block;
margin-bottom: 4px;
font-size: 1.05rem;
font-weight: 800;
}
.about-panel-item span:last-child {
display: block;
color: rgba(255, 255, 255, .78);
font-size: .94rem;
line-height: 1.58;
}
.card-pro,
.service-card,
.reason-card {
height: 100%;
position: relative;
overflow: hidden;
padding: 34px;
background: #fff;
border: 1px solid var(--line);
border-radius: 26px;
box-shadow: 0 16px 36px rgba(17, 17, 17, .04);
transition: var(--transition);
}
.service-card::before,
.reason-card::before {
content: '';
position: absolute;
inset: 0 0 auto;
height: 4px;
background: linear-gradient(90deg, var(--rose), var(--green));
transform: scaleX(0);
transform-origin: left;
transition: var(--transition);
}
.service-card:hover,
.reason-card:hover,
.card-pro:hover {
border-color: rgba(103, 176, 151, .44);
transform: translateY(-8px);
box-shadow: var(--shadow);
}
.service-card:hover::before,
.reason-card:hover::before {
transform: scaleX(1);
}
.icon-box,
.service-marker,
.reason-icon {
width: 60px;
height: 60px;
display: inline-flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
color: var(--green);
background: var(--soft);
border-radius: 18px;
transition: var(--transition);
}
.service-marker {
color: #fff;
background: var(--rose);
font-weight: 800;
box-shadow: 0 12px 22px rgba(253, 63, 62, .18);
}
.service-marker i {
width: 27px;
height: 27px;
stroke-width: 2.25;
}
.reason-icon {
color: var(--blue);
background: rgba(103, 176, 151, .18);
border: 1px solid rgba(103, 176, 151, .3);
}
.service-card:hover .service-marker,
.reason-card:hover .reason-icon,
.card-pro:hover .icon-box {
color: #fff;
background: var(--green);
transform: rotate(-4deg) scale(1.04);
}
.service-card h3,
.reason-card h3,
.card-pro h3 {
margin: 0 0 13px;
color: var(--blue);
font-size: 1.16rem;
font-weight: 800;
line-height: 1.28;
letter-spacing: -.02em;
}
.service-card p,
.reason-card p,
.card-pro p {
margin: 0;
color: var(--muted);
line-height: 1.72;
}
.gal-gallery {
background: #fff;
}
.gal-gallery .carousel {
max-width: 990px;
margin-inline: auto;
position: relative;
}
.gal-frame {
height: clamp(240px, 50vh, 465px);
display: flex;
align-items: center;
justify-content: center;
padding: 10px;
overflow: hidden;
background: #fff;
border: 1px solid var(--line);
border-radius: 24px;
box-shadow: var(--shadow);
}
.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;
border-radius: 14px;
}
.gal-gallery .carousel-control-prev,
.gal-gallery .carousel-control-next {
z-index: 20;
width: 54px;
height: 54px;
top: 50%;
opacity: 1;
color: #fff;
background: var(--blue);
border-radius: 50%;
transform: translateY(-50%);
transition: var(--transition);
margin: 0 14px;
}
.gal-gallery .carousel-control-prev:hover,
.gal-gallery .carousel-control-next:hover {
background: var(--rose);
transform: translateY(-50%) scale(1.06);
}
.gal-gallery .carousel-indicators {
z-index: 10;
bottom: -52px;
margin-bottom: 0;
gap: 5px;
}
.gal-gallery .carousel-indicators button {
width: 10px;
height: 10px;
border: 0;
border-radius: 50%;
background: rgba(5, 61, 93, .26);
opacity: 1;
}
.gal-gallery .carousel-indicators button.active {
background: var(--rose);
}
#galLightbox .modal-content {
background: #000;
border: 0;
border-radius: 18px;
overflow: hidden;
}
#galLightboxImg {
width: 100%;
max-height: 86vh;
object-fit: contain;
background: #000;
}
.gal-lightbox-nav {
position: absolute;
top: 50%;
z-index: 5;
width: 48px;
height: 48px;
color: #fff;
background: rgba(255, 255, 255, .18);
border: 0;
border-radius: 999px;
font-size: 34px;
line-height: 44px;
text-align: center;
cursor: pointer;
transform: translateY(-50%);
transition: var(--transition);
}
.gal-lightbox-nav:hover {
background: rgba(255, 255, 255, .28);
}
.gal-lightbox-nav.gal-prev { left: 14px; }
.gal-lightbox-nav.gal-next { right: 14px; }
.accordion-item {
overflow: hidden;
margin-bottom: 1rem;
background: #fff;
border: 1px solid var(--line) !important;
border-radius: 18px !important;
box-shadow: 0 12px 26px rgba(17, 17, 17, .04);
transition: var(--transition);
}
.accordion-item:has(.show) {
border-color: rgba(103, 176, 151, .45) !important;
box-shadow: var(--shadow);
}
.accordion-button {
padding: 24px;
color: var(--blue);
background: #fff;
font-weight: 800;
line-height: 1.38;
box-shadow: none !important;
}
.accordion-button:not(.collapsed) {
color: var(--green);
background: #fff;
}
.accordion-body {
padding: 0 24px 24px;
color: var(--muted);
line-height: 1.72;
}
.contact-wrapper {
overflow: hidden;
background: #fff;
border: 1px solid var(--line);
border-radius: 32px;
box-shadow: var(--shadow-strong);
}
.contact-info-panel {
height: 100%;
padding: clamp(36px, 5vw, 60px);
color: #fff;
background:
radial-gradient(circle at 90% 10%, rgba(103,176,151,.25), transparent 34%),
linear-gradient(135deg, var(--blue), #03283e);
}
.contact-info-panel h3 {
margin: 0 0 18px;
font-size: clamp(1.8rem, 3vw, 2.35rem);
font-weight: 800;
letter-spacing: -.04em;
}
.contact-list {
display: grid;
gap: 16px;
margin: 34px 0 0;
padding: 0;
list-style: none;
}
.contact-list li {
display: flex;
gap: 13px;
align-items: flex-start;
color: rgba(255, 255, 255, .88);
line-height: 1.55;
}
.contact-list strong {
color: #fff;
}
.contact-list a:hover {
color: #fff;
text-decoration: underline;
}
.contact-dot {
width: 38px;
height: 38px;
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 38px;
color: #fff;
background: rgba(255,255,255,.1);
border: 1px solid rgba(255,255,255,.12);
border-radius: 13px;
}
.contact-form {
padding: clamp(32px, 5vw, 56px);
}
.form-label {
color: #242424;
font-size: .92rem;
font-weight: 800;
}
.form-control,
.form-select {
min-height: 52px;
padding: 14px 18px;
color: var(--ink);
background-color: var(--soft);
border: 1px solid transparent;
border-radius: 14px;
font-weight: 600;
transition: var(--transition);
}
textarea.form-control {
min-height: 140px;
resize: vertical;
}
.form-control:focus,
.form-select:focus {
background: #fff;
border-color: var(--green);
box-shadow: 0 0 0 .22rem rgba(103, 176, 151, .14);
}
.hp-field {
position: absolute;
left: -9999px;
width: 1px;
height: 1px;
opacity: 0;
pointer-events: none;
}
.main-footer {
padding: 80px 0 28px;
color: rgba(255,255,255,.66);
background: var(--ink);
}
.footer-brand {
display: inline-flex;
align-items: center;
gap: 12px;
margin-bottom: 18px;
}
.footer-brand img {
width: auto;
height: 42px;
object-fit: contain;
}
.footer-brand span {
color: #fff;
font-size: 1.1rem;
font-weight: 800;
}
.footer-title {
margin: 0 0 1.3rem;
color: #fff;
font-size: .95rem;
font-weight: 800;
letter-spacing: .06em;
text-transform: uppercase;
}
.footer-list {
display: grid;
gap: .65rem;
margin: 0;
padding: 0;
list-style: none;
}
.footer-link,
.footer-list a,
.footer-list li {
color: rgba(255,255,255,.66);
transition: var(--transition);
}
.footer-list a:hover,
.footer-link:hover {
color: var(--rose);
transform: translateX(5px);
}
.footer-bottom {
padding-top: 28px;
margin-top: 48px;
border-top: 1px solid rgba(255,255,255,.1);
}
@media (max-width: 1199.98px) {
.navbar-collapse {
max-height: calc(100vh - 78px);
overflow-y: auto;
padding: 16px;
margin-top: 14px;
background: rgba(255, 255, 255, .98);
border: 1px solid var(--line);
border-radius: 22px;
box-shadow: var(--shadow);
}
.navbar-nav {
align-items: stretch !important;
gap: 4px;
}
.nav-link {
padding: 12px 14px !important;
border-radius: 14px;
}
.nav-link::after {
display: none;
}
.navbar .btn-pro {
width: 100%;
margin-top: 8px;
}
}
@media (max-width: 991.98px) {
html { scroll-padding-top: 82px; }
.hero {
min-height: auto;
padding: 128px 0 72px;
text-align: center;
}
.hero-title,
.hero-subtitle,
.hero-copy {
margin-inline: auto;
}
.hero-actions {
justify-content: center;
}
.hero-image-container {
margin: 38px auto 0;
}
.hero-img {
aspect-ratio: 5 / 4;
}
.about-panel {
margin-top: 10px;
}
}
@media (max-width: 575.98px) {
.container {
padding-inline: 18px;
}
.site-navbar {
padding: .65rem 0;
}
.navbar-brand {
max-width: calc(100vw - 92px);
}
.brand-logo {
height: 40px;
}
.brand-name {
overflow: hidden;
text-overflow: ellipsis;
}
.hero {
padding-top: 106px;
padding-bottom: 62px;
}
.hero .row {
--bs-gutter-y: 0;
}
.hero-title {
margin-bottom: 1rem;
font-size: clamp(2.28rem, 13vw, 3.4rem);
}
.hero-subtitle {
margin-bottom: 0;
}
.hero-media-desktop {
display: none !important;
}
.hero-mobile-media {
display: block;
max-width: 420px;
margin: 22px auto 24px;
}
.hero-mobile-media .hero-image-container {
max-width: 360px;
margin: 0 auto;
padding: 14px;
}
.hero-mobile-media .hero-image-container::before {
width: 86%;
height: 70%;
border-radius: 30px;
}
.hero-mobile-media .hero-image-container::after {
width: 120px;
height: 120px;
left: 6px;
bottom: 42px;
}
.hero-mobile-media .hero-img {
aspect-ratio: 1 / 1;
object-fit: contain;
object-position: center;
padding: 10px;
background: #fff;
border-width: 8px;
border-radius: 28px;
}
.hero-actions,
.hero-actions .btn-pro {
width: 100%;
}
.hero-floating-card {
position: relative;
left: auto;
bottom: auto;
z-index: 3;
justify-content: flex-start;
max-width: none;
margin-top: 14px;
text-align: left;
animation: none;
}
.section-padding {
padding: 62px 0;
}
.section-tag,
.eyebrow {
justify-content: center;
}
.section-tag::before,
.eyebrow::before {
width: 20px;
}
.card-pro,
.service-card,
.reason-card {
padding: 26px;
border-radius: 22px;
}
.gal-frame {
height: clamp(210px, 42vh, 350px);
border-radius: 20px;
}
.gal-gallery .carousel-control-prev,
.gal-gallery .carousel-control-next {
width: 44px;
height: 44px;
margin: 0 6px;
}
.contact-wrapper {
border-radius: 24px;
}
.contact-form,
.contact-info-panel {
padding: 28px;
}
}
/* ===== INLINE <style> BLOCK #2 ===== */
html,
body {
width: 100%;
max-width: 100%;
overflow-x: hidden;
}
body {
position: relative;
}
img,
svg,
video,
canvas,
iframe {
max-width: 100%;
}
@media (max-width: 1199.98px) {
.site-navbar {
left: 0;
right: 0;
width: 100%;
max-width: 100vw;
}
.site-navbar > .container {
width: 100%;
max-width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 0;
}
.navbar-brand {
flex: 1 1 auto;
min-width: 0;
max-width: calc(100% - 60px);
}
.navbar-toggler {
flex: 0 0 48px;
margin-left: 10px;
}
#mainNavbar {
flex: 0 0 100%;
width: 100%;
max-width: 100%;
}
#mainNavbar.collapse:not(.show) {
display: none !important;
}
#mainNavbar.collapsing {
height: 0;
overflow: hidden;
transition: height .28s ease;
}
#mainNavbar.show {
display: block !important;
}
#mainNavbar .navbar-nav,
#mainNavbar .nav-item,
#mainNavbar .nav-link,
#mainNavbar .btn-pro {
width: 100%;
max-width: 100%;
}
}
@media (max-width: 575.98px) {
.site-navbar > .container {
padding-left: 16px;
padding-right: 16px;
}
.navbar-brand {
max-width: calc(100% - 58px);
}
.brand-name {
min-width: 0;
max-width: 100%;
font-size: .96rem;
}
main,
section,
footer,
.hero,
.contact-wrapper,
.gal-gallery .carousel,
.gal-frame,
.hero-mobile-media,
.hero-mobile-media .hero-image-container {
max-width: 100vw;
overflow-x: hidden;
}
.hero-floating-card {
width: 100%;
}
}
/* ===== INLINE <style> BLOCK #3 ===== */
.wa-float{
--wa:#25D366;
--wa-dark:#1fb85a;
--wa-bg:#ffffff;
--wa-soft:#f6f8f7;
--wa-border:#dde4df;
--wa-text:#1c1f1d;
--wa-muted:#6c756f;
position:fixed;
right:18px;
bottom:18px;
z-index:9999;
width:auto;
height:auto;
max-width:calc(100vw - 24px);
display:block;
background:transparent;
border-radius:0;
box-shadow:none;
transform:none;
font-family:inherit;
}
.wa-btn{
background:var(--wa);
color:#fff;
border:0;
width:62px;
height:62px;
border-radius:50%;
display:grid;
place-items:center;
box-shadow:0 12px 32px rgba(0,0,0,.24);
cursor:pointer;
transition:transform .3s, box-shadow .3s, filter .3s;
position:relative;
overflow:hidden;
}
.wa-btn:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 16px 40px rgba(0,0,0,.3);
filter:brightness(.98);
}
.wa-card{
position:absolute;
right:0;
bottom:78px;
width:min(360px, calc(100vw - 24px));
max-width:calc(100vw - 24px);
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 16px;
background:linear-gradient(135deg, #ffffff, #ecf8f1);
border-bottom:1px solid var(--wa-border);
}
.wa-avatar{
width:42px;
height:42px;
border-radius:12px;
background:#ffffff;
display:grid;
place-items:center;
border:1px solid #d9eee1;
overflow:hidden;
flex:0 0 auto;
}
.wa-avatar img{
width:100%;
height:100%;
object-fit:contain;
padding:4px;
}
.wa-title{
font-weight:800;
font-size:1.02rem;
color:var(--wa-text);
}
.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:var(--wa-muted);
border:0;
font-size:24px;
cursor:pointer;
opacity:.75;
width:32px;
height:32px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
transition:.2s;
}
.wa-close:hover{
opacity:1;
background:rgba(0,0,0,.05);
}
.wa-body{
padding:12px 14px;
max-height:40vh;
overflow:auto;
background:var(--wa-soft);
display:flex;
flex-direction:column;
gap:8px;
}
.wa-bubble{
max-width:88%;
padding:9px 11px;
border-radius:14px;
line-height:1.35;
box-shadow:0 3px 10px rgba(0,0,0,.06);
animation:waFadeIn .25s ease;
font-size:.9rem;
}
@keyframes waFadeIn{
from{opacity:0;transform:translateY(5px)}
to{opacity:1;transform:none}
}
.wa-bot{
background:#ffffff;
border:1px solid var(--wa-border);
align-self:flex-start;
border-bottom-left-radius:4px;
}
.wa-user{
background:var(--wa);
color:#fff;
align-self:flex-end;
border-bottom-right-radius:4px;
}
.wa-compose{
display:grid;
grid-template-columns:1fr auto;
gap:8px;
padding:10px 12px;
background:#ffffff;
border-top:1px solid var(--wa-border);
}
.wa-compose textarea{
resize:none;
border-radius:12px;
padding:10px 12px;
border:1px solid var(--wa-border);
background:#f9fbfa;
color:var(--wa-text);
outline:none;
min-height:44px;
font-family:inherit;
font-size:.9rem;
transition:.2s;
}
.wa-compose textarea:focus{
border-color:var(--wa);
box-shadow:0 0 0 2px rgba(37,211,102,.15);
background:#ffffff;
}
.wa-send{
background:var(--wa);
color:#ffffff;
border:0;
border-radius:12px;
padding:0 16px;
font-weight:700;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:.2s;
}
.wa-send:hover{
background:var(--wa-dark);
transform:scale(1.04);
}
.wa-body::-webkit-scrollbar{
width:6px;
}
.wa-body::-webkit-scrollbar-track{
background:rgba(0,0,0,.03);
border-radius:3px;
}
.wa-body::-webkit-scrollbar-thumb{
background:rgba(0,0,0,.12);
border-radius:3px;
}
.wa-body::-webkit-scrollbar-thumb:hover{
background:rgba(0,0,0,.18);
}
@media (max-width:480px){
.wa-float{
right:12px;
bottom:12px;
}
.wa-btn{
width:58px;
height:58px;
}
.wa-card{
width:calc(100vw - 24px);
right:0;
bottom:72px;
}
}