:root {
  --color-ink: #05080d;
  --color-accent: #168ad2;
  --color-paper: #071521;
  --color-muted: #8ca8bd;
  --color-border: #1c4260;
  --theme-black: #03070b;
  --theme-blue-black: #071521;
  --theme-panel: #0b2031;
  --theme-blue: #0b6da9;
  --theme-blue-bright: #43aeea;
  --theme-text: #f2f8fc;
  --theme-muted: #9eb6c8;
}

html,
body {
  background: var(--theme-black);
  color: var(--theme-text);
  color-scheme: dark;
}

body {
  -webkit-tap-highlight-color: rgba(22, 138, 210, 0.24);
}

::selection {
  background: var(--theme-blue);
  color: #fff;
}

:focus-visible {
  outline-color: var(--theme-blue-bright) !important;
}

.site-header,
.navbar,
.navbar-collapse {
  background: var(--theme-black) !important;
  border-color: #123149 !important;
}

.navbar .nav-link,
.navbar .nav-link:hover,
.navbar .nav-link.active {
  color: var(--theme-text) !important;
}

.navbar .nav-link::after {
  background: var(--theme-blue) !important;
}

.navbar-toggler {
  border-color: #287db4 !important;
  background: #0b2031 !important;
}

.navbar-toggler-icon {
  filter: invert(1) brightness(2);
}

.btn-header,
.btn-primary-custom,
.about-quote__button,
.btn-whatsapp,
.viewer-card__link,
.fv-btn--solid {
  background: #0b6da9 !important;
  border-color: var(--theme-blue) !important;
  color: #fff !important;
}

.btn-header:hover,
.btn-primary-custom:hover,
.about-quote__button:hover,
.btn-whatsapp:hover,
.viewer-card__link:hover,
.fv-btn--solid:hover {
  background: #0d67a1 !important;
  border-color: #0d67a1 !important;
  color: #fff !important;
}

main,
main > section,
main section {
  background-color: var(--theme-blue-black) !important;
  color: var(--theme-text);
}

main :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--theme-text) !important;
}

main :where(p, li, small, label) {
  color: var(--theme-muted) !important;
}

main :where(.eyebrow, .eyebrow--light, em) {
  color: var(--theme-blue-bright) !important;
}

.hero__shade,
.page-banner__shade,
.service-detail-hero__shade {
  background: linear-gradient(90deg, rgba(0, 5, 10, 0.88), rgba(0, 28, 48, 0.42)),
    linear-gradient(0deg, rgba(0, 5, 10, 0.62), transparent 58%) !important;
}

.hero :where(h1, p, span),
.page-banner :where(h1, p, span),
.service-detail-hero :where(h1, p, span) {
  color: #fff !important;
}

.text-link,
.text-link--light,
.footer-contact-link,
.service-detail__preview,
.video-story__external {
  color: var(--theme-blue-bright) !important;
  border-color: var(--theme-blue) !important;
}

.section-title::before,
.home-gallery__rule,
.purpose-story__index span,
.process-section__layers i {
  background: var(--theme-blue) !important;
}

.intro__qualities,
.intro__qualities > div,
.featured-work__details,
.process-step,
.purpose-story,
.catalog-feature__layout {
  border-color: #1c4d70 !important;
}
.purpose-feature{
  background-color: var(--theme-black);
}
.intro__qualities span {
  color: #b9cddd !important;
}

.intro__room figcaption,
.intro__visual-note {
  color: #d9ecf8 !important;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.9) !important;
}

.intro__material figcaption {
  padding: 5px 8px;
  background: rgba(2, 8, 14, 0.82) !important;
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9) !important;
}

.intro__material figcaption span {
  color: #8ed8fa !important;
}

.intro__button,
.service-card__content a,
.catalog-feature__cover-arrow,
.video-story__play {
  background: var(--theme-blue) !important;
  border-color: var(--theme-blue) !important;
  color: #fff !important;
}

.intro__visual-note,
.purpose-feature__label,
.purpose-feature__number,
.purpose-story__index,
.process-step__label,
.process-step__number,
.featured-work__eyebrow,
.featured-work__link,
.featured-work__details dt,
.catalog-feature__link,
.catalog-feature__cover-label,
.video-story__choice-number,
.home-gallery__footer a {
  color: var(--theme-blue-bright) !important;
  border-color: var(--theme-blue) !important;
}

.purpose-feature__number span,
.purpose-feature__label span,
.purpose-story__index span,
.featured-work__eyebrow span,
.featured-work__material-tag span,
.video-story__poster-label,
.video-story__screen-index {
  color: var(--theme-blue-bright) !important;
}

.service-card__content,
.purpose-story__copy,
.featured-work__material-tag {
  background: var(--theme-panel) !important;
  border-color: #1c4d70 !important;
  color: var(--theme-text) !important;
}

.service-card__content h3,
.purpose-story__copy h3,
.featured-work__material-tag strong {
  color: #fff !important;
}

.service-card__content p,
.purpose-story__copy p {
  color: #b9cddd !important;
}

.purpose-story__image > span,
.featured-work__photo-label,
.catalog-feature__cover-label {
  display: inline-block;
  padding: 5px 8px;
  background: #02080e !important;
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9) !important;
}

.process-step__number {
  background: #071521 !important;
  border-color: var(--theme-blue-bright) !important;
  color: #69c6f4 !important;
  box-shadow: 0 0 0 6px #071521 !important;
}

.process-step--featured .process-step__number {
  background: #0a2940 !important;
  color: #8ed8fa !important;
}

.service-marquee__group span {
  color: #dcecf6 !important;
  -webkit-text-stroke-color: #5598c1 !important;
}

.purpose-feature__bottom a,
.process-section__closing a {
  color: var(--theme-blue-bright) !important;
  border-color: var(--theme-blue) !important;
}

.purpose-feature__bottom a span,
.process-section__closing a span {
  color: var(--theme-blue-bright) !important;
}

.featured-work__link {
  background: var(--theme-blue) !important;
  color: #fff !important;
}

.process-step--featured,
.purpose-feature,
.featured-work__content,
.video-story__choice.is-active {
  background-color: #0a2940 !important;
  border-color: var(--theme-blue) !important;
}

.finish-marquee,
.finish-marquee--warm,
.service-marquee {
  background: #050b12 !important;
  border-color: #17466a !important;
  color: var(--theme-text) !important;
}

.finish-marquee__item,
.finish-marquee--warm .finish-marquee__item {
  border-color: #17466a !important;
  color: var(--theme-text) !important;
}

.finish-marquee__grain,
.service-marquee b,
.service-marquee small {
  color: var(--theme-blue-bright) !important;
}

.featured-work,
.home-gallery,
.video-story,
.about-story,
.about-values,
.about-quote,
.contact-section,
.catalog-book,
.service-detail,
.service-detail-next,
.gallery-section {
  background-color: var(--theme-blue-black) !important;
}

:where(.service-card, .product-card, .viewer-card, .value-card, .catalogo-prev-card, .empty-state,
  .service-detail__facts, .catalog-book__page, .contact-form-panel, .about-quote__panel,
  .video-story__choice, .home-gallery__detail, .fv-panel, .fv-toolbar, .fv-scenes,
  .about-tabs__panel, .about-values__card) {
  background: var(--theme-panel) !important;
  border-color: #1c4d70 !important;
  color: var(--theme-text) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28) !important;
}

:where(.service-card, .product-card, .viewer-card, .value-card, .catalogo-prev-card,
  .service-detail__facts, .contact-form-panel, .about-quote__panel, .video-story__choice)
  :where(h2, h3, h4, strong, span) {
  color: var(--theme-text) !important;
}

.service-card__index,
.service-card__link,
.product-card__category,
.viewer-kicker,
.viewer-card__number,
.about-values__number,
.contact-detail > i,
.catalog-book__status {
  color: var(--theme-blue-bright) !important;
}

.home-gallery__heading h2,
.home-gallery__heading > p,
.video-story__heading h2,
.video-story__heading > p {
  color: var(--theme-text) !important;
}

.gallery-item {
  background: #05080d !important;
  border: 1px solid #174e76 !important;
}

.gallery-item::after {
  background: linear-gradient(transparent, rgba(0, 8, 16, 0.92)) !important;
}

.gallery-item__caption,
.gallery-item__caption :where(small, strong, i) {
  color: #fff !important;
}

.pagination .page-link {
  background: #071521 !important;
  border-color: #1c4d70 !important;
  color: var(--theme-blue-bright) !important;
}

.pagination .active .page-link,
.pagination .page-link:hover {
  background: var(--theme-blue) !important;
  border-color: var(--theme-blue) !important;
  color: #fff !important;
}

.about-tabs__tab {
  background: #071521 !important;
  border-color: #1c4d70 !important;
  color: var(--theme-muted) !important;
}

.about-tabs__tab.is-active,
.about-tabs__tab:hover {
  background: var(--theme-blue) !important;
  color: #fff !important;
}

.about-quote {
  background-image: linear-gradient(rgba(0, 7, 13, 0.92), rgba(0, 20, 35, 0.96)),
    url("../img/home/cfs-flake-detail.jpg") !important;
}

.contact-detail,
.about-values__item,
.service-detail__facts > div {
  border-color: #1b4b6f !important;
}

.contact-detail a,
.footer-links a {
  color: var(--theme-text) !important;
}

.contact-detail span {
  color: #b9cddd !important;
}

.service-detail__facts-label,
.service-detail__facts b {
  color: #8ed8fa !important;
}

.form-control,
.form-select,
.about-quote__field input,
.about-quote__field select,
.about-quote__field textarea {
  background: #030a11 !important;
  border-color: #24628e !important;
  color: #fff !important;
}

.form-control:focus,
.form-select:focus,
.about-quote__field input:focus,
.about-quote__field select:focus,
.about-quote__field textarea:focus {
  border-color: var(--theme-blue-bright) !important;
  box-shadow: 0 0 0 3px rgba(22, 138, 210, 0.22) !important;
}

.form-control::placeholder,
.about-quote__field input::placeholder,
.about-quote__field textarea::placeholder {
  color: #718da2 !important;
}

.form-notice,
.contact-map {
  background: #06111b !important;
  border-color: #1c4d70 !important;
}

.catalog-book__copy,
.catalog-book__frame,
.catalog-feature__copy,
.catalog-feature__cover {
  color: var(--theme-text) !important;
  border-color: #1c4d70 !important;
}

.catalogo-prev-card:hover,
.catalogo-prev-card:focus-visible {
  border-color: var(--theme-blue) !important;
  box-shadow: 0 18px 34px rgba(0, 80, 140, 0.28) !important;
}

.list-item-catalog i,
.img-catalog-prev {
  color: var(--theme-blue-bright) !important;
  border-color: var(--theme-blue) !important;
}

.viewer-page,
.viewer-hero,
.floor-visualizer,
.fv-stage,
.fv-workspace {
  background-color: var(--theme-blue-black) !important;
  color: var(--theme-text) !important;
}

.viewer-card__body,
.fv-sidebar,
.fv-actions,
.fv-scene-tab,
.fv-btn--ghost {
  background: var(--theme-panel) !important;
  border-color: #1c4d70 !important;
  color: var(--theme-text) !important;
}

.fv-scene-tab.is-active,
.fv-finish.is-active,
.fv-color.is-active {
  border-color: var(--theme-blue-bright) !important;
  color: var(--theme-blue-bright) !important;
}

.site-footer {
  background: #020407 !important;
  color: var(--theme-text) !important;
}

.site-footer :where(p, li, span) {
  color: var(--theme-muted) !important;
}

.footer-heading,
.footer-brand,
.footer-links a:hover {
  color: #fff !important;
}

.social-link {
  background: #071521 !important;
  border-color: #1d6798 !important;
  color: var(--theme-blue-bright) !important;
}

.social-link:hover {
  background: var(--theme-blue) !important;
  color: #fff !important;
}

.site-footer__bottom {
  border-color: #153a56 !important;
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    border-top: 1px solid #153a56 !important;
  }
}

/* Navigation dropdown */
.navbar .dropdown-toggle::after {
  display: none !important;
}

.nav-dropdown-arrow {
  font-size: 0.72rem;
  margin-left: 6px;
  color: var(--theme-blue-bright, #43aeea);
  transition: transform 0.22s ease, color 0.22s ease;
}

.navbar .dropdown:hover .nav-dropdown-arrow,
.navbar .dropdown.show .nav-dropdown-arrow,
.navbar .dropdown-toggle[aria-expanded="true"] .nav-dropdown-arrow {
  transform: rotate(180deg);
  color: #ffffff;
}

.navbar .dropdown-menu {
  background: #0b2031 !important;
  border: 1px solid #1c4260 !important;
  border-radius: 10px !important;
  padding: 8px 6px !important;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.55) !important;
  min-width: 270px;
}

.navbar .dropdown-item {
  color: #f2f8fc !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  padding: 10px 16px !important;
  border-radius: 6px !important;
  margin-bottom: 2px;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}

.dropdown-item-arrow {
  font-size: 0.8rem;
  color: var(--theme-blue-bright, #43aeea);
  margin-left: 14px;
  opacity: 0.75;
  transition: transform 0.18s ease, opacity 0.18s ease, color 0.18s ease;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  background: #0b6da9 !important;
  color: #ffffff !important;
  transform: translateX(3px);
}

.navbar .dropdown-item:hover .dropdown-item-arrow,
.navbar .dropdown-item:focus .dropdown-item-arrow {
  color: #ffffff;
  opacity: 1;
  transform: translateX(4px);
}

.navbar .dropdown-item.active {
  background: #0b6da9 !important;
  color: #ffffff !important;
}

.navbar .dropdown-item.active .dropdown-item-arrow {
  color: #ffffff;
  opacity: 1;
}

@media (min-width: 992px) {
  .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
    animation: fadeInDropdown 0.2s ease forwards;
  }
}

@keyframes fadeInDropdown {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Floating Lateral Social Buttons ────────────────────────────────────── */
.container-media {
  position: fixed;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1050;
  display: flex;
  flex-direction: column;
  gap: 3px;
  pointer-events: auto;
}

.container-media a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 0 10px 10px 0;
  color: #ffffff !important;
  text-decoration: none;
  font-size: 19px;
  box-shadow: 2px 4px 14px rgba(0, 0, 0, 0.45);
  transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.22s ease, width 0.22s ease;
  position: relative;
  overflow: hidden;
}

.container-media a:hover,
.container-media a:focus-visible {
  transform: translateX(6px);
  filter: brightness(1.15);
  color: #ffffff !important;
}

.container-media a.bbb {
  background: #ffffff !important;
  border: 1px solid #c0d2e0;
}

.container-media a.bbb img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}

.container-media a.phone {
  background: #008080 !important; /* Teal */
}

.container-media a.whatsapp {
  background: #25d366 !important; /* WhatsApp Green */
}

.container-media a.facebook {
  background: #1877f2 !important; /* Facebook Blue */
}

.container-media a.home {
  background: #e65100 !important; /* HomeAdvisor Orange */
}

.container-media a.google {
  background: #ea4335 !important; /* Google Red */
}

@media (max-width: 575.98px) {
  .container-media a {
    width: 38px;
    height: 38px;
    font-size: 16px;
    border-radius: 0 8px 8px 0;
  }
  .container-media a.bbb img {
    width: 22px;
    height: 22px;
  }
}
