/* Bee2Solutions static recovery — critical layout fixes (no forced text colors) */

.page-header,
.sections.nav-sections {
  display: none !important;
}

.widget.block.block-static-block {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  background: transparent;
}

.widget.block.block-static-block:has(.vt-main-header) {
  position: fixed !important;
  z-index: 1000 !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100% !important;
  height: 70px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #000 !important;
}

.page-wrapper {
  padding-top: 70px !important;
  background-color: #00030b !important;
  min-height: 100vh;
}

/* Default content area layout (do NOT force dark text globally —
   the home and most Bee2 pages are dark backgrounds) */
#maincontent,
#maincontent.page-main {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px 20px 80px !important;
  box-sizing: border-box;
}

/* Home: full-bleed, light text on black */
.cms-index-index #maincontent,
.cms-index-index #maincontent.page-main,
.cms-home-bee2solutions-pt #maincontent {
  max-width: none;
  margin: 0;
  padding: 0 !important;
  color: #ffffff;
}

.cms-index-index #maincontent .video-hero,
.cms-index-index #maincontent .hero-content,
.cms-index-index #maincontent .hero-content .h1,
.cms-index-index #maincontent .mg-title-3,
.cms-index-index #maincontent .main-service,
.cms-index-index #maincontent .my-column p {
  color: #ffffff !important;
}

/* Column titles stay brand red (as in original design) */
.cms-index-index #maincontent .my-column h2 {
  color: #f73c37 !important;
}

.cms-index-index #maincontent .text-block .label,
.cms-index-index #maincontent .blog-title .label,
.cms-index-index #maincontent .banner-title .label {
  color: #ed302b !important;
}

/* Other home dark-section copy */
.cms-index-index #maincontent .section-blog,
.cms-index-index #maincontent .section-blog h2,
.cms-index-index #maincontent .section-blog h3,
.cms-index-index #maincontent .section-blog p,
.cms-index-index #maincontent .surface-09,
.cms-index-index #maincontent .surface-09 p,
.cms-index-index #maincontent .surface-09 h2,
.cms-index-index #maincontent .surface-09 h3 {
  color: #f2f2f2 !important;
}

.cms-index-index #maincontent .section-blog .label {
  color: #ed302b !important;
}

/* Light Magento surfaces (rare white blocks on otherwise dark pages) */
#maincontent .surface-02,
#maincontent .surface-03,
#maincontent .surface-05 {
  color: #222222;
}

#maincontent .surface-02 h1,
#maincontent .surface-02 h2,
#maincontent .surface-02 h3,
#maincontent .surface-02 h4,
#maincontent .surface-03 h1,
#maincontent .surface-03 h2,
#maincontent .surface-03 h3,
#maincontent .surface-03 p,
#maincontent .surface-05 h1,
#maincontent .surface-05 h2,
#maincontent .surface-05 h3,
#maincontent .surface-05 p {
  color: #222222;
}

/* Keep light text on intentionally dark blocks */
#maincontent .surface-09,
#maincontent .accordion-dark,
#maincontent [data-pb-style][style*="#121212"],
#maincontent [data-pb-style][style*="#1e1e1e"],
#maincontent .banner-video,
#maincontent .hero-video-home,
#maincontent .section-blog {
  color: #f0f0f0;
}

#maincontent .surface-09 p,
#maincontent .surface-09 li,
#maincontent .surface-09 h1,
#maincontent .surface-09 h2,
#maincontent .surface-09 h3,
#maincontent .hero-video-home p,
#maincontent .hero-video-home h1,
#maincontent .hero-video-home .mg-title-3,
#maincontent .section-blog p,
#maincontent .section-blog h2,
#maincontent .section-blog h3 {
  color: #f2f2f2 !important;
}

.cms-privacy-policy #maincontent h1,
.cms-privacy-policy #maincontent h2,
.cms-privacy-policy #maincontent h3,
.cms-cookies-policy #maincontent h1,
.cms-cookies-policy #maincontent h2,
.cms-cookies-policy #maincontent h3,
.cms-politica-inovacao #maincontent h1,
.cms-politica-inovacao #maincontent h2,
.cms-politica-qualidade #maincontent h1,
.cms-politica-qualidade #maincontent h2,
.cms-politica-seg-info #maincontent h1,
.cms-politica-seg-info #maincontent h2,
.cms-privacy-policy #maincontent p,
.cms-privacy-policy #maincontent li,
.cms-cookies-policy #maincontent p,
.cms-cookies-policy #maincontent li,
.cms-politica-inovacao #maincontent p,
.cms-politica-inovacao #maincontent li,
.cms-politica-qualidade #maincontent p,
.cms-politica-qualidade #maincontent li,
.cms-politica-seg-info #maincontent p,
.cms-politica-seg-info #maincontent li {
  color: #e8e8e8 !important;
}

.cms-privacy-policy #maincontent h1,
.cms-privacy-policy #maincontent h2,
.cms-cookies-policy #maincontent h1,
.cms-cookies-policy #maincontent h2,
.cms-politica-inovacao #maincontent h1,
.cms-politica-inovacao #maincontent h2,
.cms-politica-qualidade #maincontent h1,
.cms-politica-qualidade #maincontent h2,
.cms-politica-seg-info #maincontent h1,
.cms-politica-seg-info #maincontent h2 {
  color: #ffffff !important;
}

.vt-main-header__logo img {
  max-height: 42px;
  width: auto;
  display: block;
}

.vt-main-header__icons img,
.icon-globe img {
  max-height: 28px;
  width: auto;
}

.breadcrumbs {
  background: #000 !important;
  color: #aaa;
  margin: 0;
  padding: 10px 24px;
}

.breadcrumbs a {
  color: #ccc !important;
}

.footer .logo-bee {
  width: 22px;
  height: auto;
  margin-right: 8px;
  vertical-align: middle;
}

/* Values / icon grids */
.icon-listed img,
.product-icon-item img {
  max-width: 80px;
  height: auto;
  display: block;
  margin: 0 auto 12px;
}

/* Valores / icon list sizing */
.icon-listed .product-icon-item img,
.intro-section.icon-listed img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  display: block;
  margin: 0 auto 14px;
}

.intro-image.dashboard-img img,
.intro-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Contact page keeps a dark panel and light text like the archived version */
.cms-contacte-nos #maincontent,
.cms-contacte-nos #maincontent.page-main {
  color: #f0f0f0;
  max-width: 100%;
  padding: 0 20px 80px !important;
}

.cms-contacte-nos .surface-09 {
  background-color: #121212 !important;
}

.cms-contacte-nos .form-container {
  max-width: 600px;
  margin: 40px auto;
  padding: 40px;
  background: #242121;
  color: #f3f3f3;
}

.cms-contacte-nos .form-container h1,
.cms-contacte-nos .form-container p,
.cms-contacte-nos .form-container label,
.cms-contacte-nos .form-container .privacy,
.cms-contacte-nos .form-container .communication p,
.cms-contacte-nos .form-container .communication label {
  color: #f0f0f0 !important;
}

.cms-contacte-nos .form-container input,
.cms-contacte-nos .form-container select,
.cms-contacte-nos .form-container textarea {
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}

.cms-contacte-nos .form-container input::placeholder,
.cms-contacte-nos .form-container textarea::placeholder,
.cms-contacte-nos .form-container select {
  color: rgba(255, 255, 255, 0.8);
}

.cms-contacte-nos .form-container .tel-label,
.cms-contacte-nos .form-container .char-count {
  color: rgba(255, 255, 255, 0.7) !important;
}

.cms-contacte-nos .form-container .submit-btn {
  background-color: #000;
  color: #fff;
}

.cms-contacte-nos .form-container .privacy a {
  color: #ff6b61;
}

/* ===== Novidades (blog) + Loja online — static recovery polish ===== */

.mpblog-post-index #maincontent,
.mpblog-category-view #maincontent,
.mpblog-post-view #maincontent,
.catalog-category-view.category-online-shop #maincontent,
.catalog-product-view #maincontent {
  max-width: 1200px;
  color: #f2f2f2;
}

/* Hide Magento sidebars/filters that don't work offline */
.mpblog-post-index .sidebar,
.mpblog-category-view .sidebar,
.mpblog-post-view .sidebar,
.category-online-shop .sidebar.sidebar-main,
.category-online-shop .filter,
.category-online-shop .block.filter,
.category-online-shop .toolbar .modes,
.category-online-shop .toolbar .limiter,
.category-online-shop .toolbar .sorter,
.catalog-product-view .product-social-links,
.catalog-product-view .product-addto-links,
.mp-blog-rss,
.mp-footer {
  display: none !important;
}

.mpblog-post-index .column.main,
.mpblog-category-view .column.main,
.mpblog-post-view .column.main,
.category-online-shop .column.main,
.catalog-product-view .column.main {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

/* Blog post cards */
.post-list-content .post-list,
.mp-blog-view .post-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 28px;
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}

.post-list-item,
.product-item.post-list-item {
  width: 100% !important;
  margin: 0 !important;
  background: #111;
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.post-list-item .post-item-wraper,
.product-item.post-list-item .post-item-wraper {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #161616;
  color: #f2f2f2;
}

.post-list-item img,
.post-list-item .post-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.post-list-item .post-info,
.post-list-item .post-name,
.post-list-item h2,
.post-list-item h3,
.post-list-item a {
  color: #f5f5f5 !important;
}

.post-list-item .post-info {
  padding: 18px 18px 22px;
}

.post-list-item .post-name a {
  font-size: 1.15rem;
  line-height: 1.35;
  text-decoration: none;
}

.post-list-item .post-name a:hover {
  color: #ff6b61 !important;
}

.page-title-wrapper .page-title,
.blog-category-view .page-title,
.mpblog-post-index .page-title {
  color: #fff !important;
  margin: 12px 0 8px;
}

/* Shop product grid */
.category-online-shop .products-grid .product-items,
.category-online-shop .products.wrapper.grid .product-items {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.category-online-shop .products-grid .product-item,
.category-online-shop .product-item {
  width: 100% !important;
  margin: 0 !important;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 16px;
  box-sizing: border-box;
}

.category-online-shop .product-item-info {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.category-online-shop .product-image-photo,
.catalog-product-view .product-image-photo {
  width: 100%;
  height: 200px;
  object-fit: contain;
  background: #0c0c0c;
  padding: 12px;
  box-sizing: border-box;
}

.category-online-shop .product-item-name a,
.category-online-shop .price-box .price {
  color: #f3f3f3 !important;
}

.category-online-shop .product-item-name {
  margin: 14px 0 8px;
  min-height: 3em;
  line-height: 1.35;
}

.category-online-shop .page-title,
.catalog-product-view .page-title {
  color: #fff !important;
}

/* Static recovery: cart is offline — restyle CTA */
.category-online-shop .actions-primary,
.catalog-product-view .box-tocart,
.product-item-actions .actions-primary {
  margin-top: auto;
}

.category-online-shop .action.tocart,
.product-item-actions .action.tocart,
.surface-09 .action.tocart {
  display: none !important;
}

.catalog-product-view .box-tocart {
  margin-top: 20px;
}

.catalog-product-view .action.tocart {
  display: none !important;
}

.catalog-product-view .product-info-main::after {
  content: "Para pedidos ou informação, contacte-nos.";
  display: block;
  margin-top: 18px;
  color: #ccc;
  font-size: 0.95rem;
}

.catalog-product-view .product-info-main .contact-static-cta {
  display: inline-flex;
  margin-top: 12px;
  padding: 12px 20px;
  background: #c12717;
  color: #fff !important;
  text-decoration: none;
  font-weight: 600;
}

.catalog-product-view .product-info-main {
  color: #eee;
}

.catalog-product-view .product-info-main .price {
  color: #fff !important;
}

.catalog-product-view .product.media {
  background: #111;
  padding: 20px;
}

/* Home Novidades grid: 3 cards */
.section-blog .blog-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.section-blog .blog-card {
  flex: 1 1 280px;
  max-width: none !important;
  min-width: 0 !important;
  background: #161616;
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.section-blog .blog-card img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.section-blog .blog-card h3,
.section-blog .blog-card p {
  padding-left: 16px;
  padding-right: 16px;
}

.section-blog .blog-card .btn-white {
  margin: 0 16px 18px;
}

/* Home shop carousel items readability */
.surface-09 .product-item {
  background: rgba(0, 0, 0, 0.35);
  padding: 12px;
}

.surface-09 .product-image-photo {
  object-fit: contain;
  background: #0a0a0a;
}

@media (max-width: 767px) {
  .post-list-content .post-list,
  .category-online-shop .products-grid .product-items {
    grid-template-columns: 1fr;
  }
}
