.hero-carousel { position: relative; overflow: hidden; }
.hero-slide { display: none; position: absolute; inset: 0; background-position: center; background-size: cover; }
.hero-slide.is-active { display: block; animation: cmsFade .7s ease; }
.hero-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.5), rgba(0,0,0,.08)); }
.hero-slide__content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.hero-dots { position: absolute; z-index: 2; bottom: 1rem; left: 50%; transform: translateX(-50%); display: flex; gap: .45rem; }
.hero-dot { width: 10px; height: 10px; border-radius: 50%; border: 1px solid #fff; padding: 0; background: transparent; cursor: pointer; }
.hero-dot.is-active { background: #fff; }
@keyframes cmsFade { from { opacity: .35; } to { opacity: 1; } }
.cms-empty { padding: 2.5rem; text-align: center; color: #666; background: #f7f4ee; border-radius: 4px; }
.cms-alert { max-width: 760px; margin: 1rem auto; padding: 1rem 1.25rem; border-radius: 4px; }
.cms-alert--success { background: #eaf7ef; color: #176b36; }
.cms-alert--error { background: #fff0f0; color: #9b1c1c; }
.cms-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem; margin: 2rem 0; }
.cms-pagination a, .cms-pagination span { min-width: 2.35rem; padding: .45rem .7rem; text-align: center; border: 1px solid #d5cec2; color: inherit; text-decoration: none; }
.cms-pagination .is-active { color: #fff; background: var(--color-red); border-color: var(--color-red); }
.content-card__image { width: 180px; min-height: 120px; object-fit: cover; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem; }
.blog-card { border: 1px solid #e4ddd1; background: #fff; }
.blog-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.blog-card__body { padding: 1rem; }
.blog-card h2 { margin: .25rem 0 .6rem; font-size: 1.15rem; }
.article-meta { color: #777; font-size: .9rem; margin-bottom: 1.25rem; }
.whatsapp-float { position: fixed; right: 1.1rem; bottom: 5rem; z-index: 100; padding: .75rem 1rem; border-radius: 999px; background: #25d366; color: #fff; font-weight: 700; text-decoration: none; box-shadow: 0 6px 22px rgba(0,0,0,.2); }
.contact-form .hp-field { position: absolute; left: -9999px; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; padding: .65rem .75rem; border: 1px solid #cfc7bb; margin: .35rem 0 1rem; font: inherit; }
.contact-form button { cursor: pointer; }
.install-notice { max-width: 760px; margin: 4rem auto; padding: 2rem; border: 1px solid #ddd2c2; background: #fff; }
@media (max-width: 800px) { .blog-grid { grid-template-columns: 1fr; } .content-card__image { width: 110px; } }
