/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* ========================================
   Slider: Overlay base styles (Woodmart)
   ======================================== */
.wp-block-wd-cover {
  position: relative;
}
.wd-bg-overlay {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  z-index: 1;
}

/* Blog post images: square and uniform */
.wd-blog-element .wd-post .wd-post-img,
.wd-posts .wd-post .wd-post-img.post-img-wrapp,
.blog-post-loop .wd-post-img {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  height: auto !important;
}
.wd-blog-element .wd-post .wd-post-img img,
.wd-posts .wd-post .wd-post-img.post-img-wrapp img,
.blog-post-loop .wd-post-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Empresa page: gallery uniform height */
[id^="wd-emp-gal"] .wd-block-image img {
  height: 220px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 8px;
}
@media (max-width: 768px) {
  [id^="wd-emp-gal"] .wd-block-image img {
    height: 180px !important;
  }
}

/* Shop: product images square and uniform */
.products .product-element-top .product-image-link {
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.products .product-element-top .product-image-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ========================================
   Page Title Banners: Dark overlay GLOBAL
   ======================================== */

/* Global dark overlay on ALL page titles */
.wd-page-title {
  position: relative;
}
.wd-page-title::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  pointer-events: none;
}

/* Title text and breadcrumbs above overlay */
.wd-page-title .container,
.wd-page-title .wd-breadcrumbs {
  position: relative;
  z-index: 2;
}

/* Colored overlays per section (override global) */
.page-id-38298 .wd-page-title::after { background: rgba(42, 185, 173, 0.55); }  /* Envío Gratuito - Teal */
.page-id-38299 .wd-page-title::after { background: rgba(0, 0, 102, 0.5); }      /* Atención al Cliente - Dark Blue */
.page-id-38300 .wd-page-title::after { background: rgba(0, 150, 64, 0.5); }     /* Pago Seguro - Green */
.page-id-38306 .wd-page-title::after { background: rgba(9, 33, 67, 0.55); }     /* Entrega Rápida - Navy */

/* ========================================
   Footer: Category icons row centering
   ======================================== */
#wd-ca10aa01 > .wp-block-wd-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
#wd-ca10aa01 .wd-block-image {
  display: flex;
  justify-content: center;
}
#wd-ca10aa01 .wp-block-wd-paragraph {
  text-align: center !important;
  width: 100%;
}
#wd-ca10aa01 .wp-block-wd-paragraph a {
  color: #fff;
  text-decoration: none;
}
#wd-ca10aa01 .wp-block-wd-paragraph a:hover {
  color: #58CCB3;
}

/* ========================================
   Mega Menu: Brand Logos (::before with PNG)
   Icons de categorías ahora vía Woodmart nativo (category_icon_alt → <img class="wd-nav-img">)
   ======================================== */

/* --- MARCAS (18x18 con logo PNG via ::before) --- */
.sub-sub-menu > li > a[href*="/marca/"] {
  display: flex !important;
  align-items: center;
}
.sub-sub-menu > li > a[href*="/marca/"]::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  vertical-align: middle;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  border-radius: 3px;
}
.sub-sub-menu > li > a[href*="/marca/extrual/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-extrual.png');
}
.sub-sub-menu > li > a[href*="/marca/kommerling/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-kommerling.png');
}
.sub-sub-menu > li > a[href*="/marca/guardian-glass/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-guardian-glass.png');
}
.sub-sub-menu > li > a[href*="/marca/saint-gobain/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-saint-gobain.png');
}
.sub-sub-menu > li > a[href*="/marca/climalit/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-climalit.png');
}
.sub-sub-menu > li > a[href*="/marca/seeglass/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-seeglass.png');
}
.sub-sub-menu > li > a[href*="/marca/q-railing/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-q-railing.png');
}
.sub-sub-menu > li > a[href*="/marca/doccia/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-doccia.png');
}
.sub-sub-menu > li > a[href*="/marca/profiltek/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-profiltek.png');
}
.sub-sub-menu > li > a[href*="/marca/salgar/"]::before {
  background-image: url('/wp-content/uploads/2026/02/salgar.png');
}
.sub-sub-menu > li > a[href*="/marca/bohle/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-bohle.png');
}
.sub-sub-menu > li > a[href*="/marca/c3-systems/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-c3-systems.png');
}
.sub-sub-menu > li > a[href*="/marca/giesse/"]::before {
  background-image: url('/wp-content/uploads/2026/02/brand-giesse.png');
}

/* --- Responsive: hide brand logos on mobile --- */
@media (max-width: 1024px) {
  .sub-sub-menu > li > a[href*="/marca/"]::before {
    display: none;
  }
}

/* ========================================
   Header CTA: PRESUPUESTO button + badge
   ======================================== */
#menu-item-36925 > a.woodmart-nav-link {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%);
  color: #fff !important;
  padding: 8px 18px !important;
  border-radius: 35px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.5px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0, 0, 102, 0.25);
}
#menu-item-36925 > a.woodmart-nav-link:hover {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0, 0, 102, 0.4);
}
/* Remove separator style from this item */
#menu-item-36925 {
  border: none !important;
  padding-left: 0 !important;
}

/* ========================================
   FAQ Page: Cards, Accordions & Layout
   ======================================== */

/* Category cards hover effect */
.page-id-27845 .faq-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.page-id-27845 .faq-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}

/* Card links styling */
.page-id-27845 .faq-card .wp-block-list {
  list-style: none;
  padding-left: 0;
}
.page-id-27845 .faq-card .wp-block-list li {
  padding: 8px 0;
  border-bottom: 1px solid #e8e8e8;
  line-height: 1.5;
}
.page-id-27845 .faq-card .wp-block-list li:last-child {
  border-bottom: none;
}
.page-id-27845 .faq-card .wp-block-list a {
  color: #000065;
  font-weight: 600;
  text-decoration: none;
}
.page-id-27845 .faq-card .wp-block-list a:hover {
  color: #58CCB3;
}

/* FAQ details/summary accordion styling */
.page-id-27845 .wp-block-details {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 12px;
  overflow: hidden;
}
.page-id-27845 .wp-block-details summary {
  padding: 16px 20px;
  font-weight: 600;
  color: #092143;
  cursor: pointer;
  background: #fff;
  transition: background 0.2s;
  list-style: none;
}
.page-id-27845 .wp-block-details summary::-webkit-details-marker {
  display: none;
}
.page-id-27845 .wp-block-details summary::before {
  content: '+';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #f0f0f0;
  border-radius: 50%;
  margin-right: 12px;
  font-weight: 700;
  font-size: 16px;
  color: #000065;
  transition: all 0.2s;
  flex-shrink: 0;
}
.page-id-27845 .wp-block-details[open] summary::before {
  content: '\2212';
  background: #000065;
  color: #fff;
}
.page-id-27845 .wp-block-details summary:hover {
  background: #f8f9fa;
}
.page-id-27845 .wp-block-details p {
  padding: 0 20px 16px 56px;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

/* Responsive: stack cards on mobile */
@media (max-width: 768px) {
  .page-id-27845 .faq-card {
    margin-bottom: 16px;
  }
  .page-id-27845 .wp-block-details summary {
    padding: 14px 16px;
    font-size: 15px;
  }
  .page-id-27845 .wp-block-details p {
    padding: 0 16px 14px 44px;
  }
}

/* ========================================
   Tables: Horizontal scroll on mobile
   (posts, pages, and guide pages)
   ======================================== */
.single-post .entry-content table,
.single-post .site-content table,
.post-template-default .entry-content table,
.page .entry-content table,
.page-template-default .entry-content table,
.page .site-content table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  white-space: nowrap;
}
.single-post .entry-content table thead,
.single-post .entry-content table tbody,
.single-post .entry-content table tr,
.single-post .site-content table thead,
.single-post .site-content table tbody,
.single-post .site-content table tr,
.page .entry-content table thead,
.page .entry-content table tbody,
.page .entry-content table tr,
.page .site-content table thead,
.page .site-content table tbody,
.page .site-content table tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}
@media (max-width: 768px) {
  .single-post .entry-content table,
  .single-post .site-content table,
  .post-template-default .entry-content table,
  .page .entry-content table,
  .page-template-default .entry-content table,
  .page .site-content table {
    white-space: normal;
    min-width: 500px;
  }
  .single-post .entry-content table th,
  .single-post .entry-content table td,
  .single-post .site-content table th,
  .single-post .site-content table td,
  .page .entry-content table th,
  .page .entry-content table td,
  .page .site-content table th,
  .page .site-content table td {
    padding: 8px 10px !important;
    font-size: 13px;
  }
}

/* ==========================================
   Main Navigation: Menu Icons
   ========================================== */

/* Icon-only menu item (Inicio = casa) */
.wd-icon-only > a .nav-link-text {
  display: none;
}
.wd-icon-only > a .wd-nav-icon {
  font-size: 18px;
  margin-right: 0;
}

/* Menu icons general styling */
.wd-header-nav .wd-nav > li > a .wd-nav-icon {
  margin-right: 5px;
  font-size: 14px;
  opacity: 0.85;
}
.wd-header-nav .wd-nav > li:hover > a .wd-nav-icon,
.wd-header-nav .wd-nav > li.wd-active > a .wd-nav-icon {
  opacity: 1;
}

/* ========================================
   FAQ Sidebar Navigation Layout
   ======================================== */

/* Grid layout: sidebar + content */
.ventana-faq-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 30px;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
}

/* Sidebar sticky */
.ventana-faq-sidebar {
  position: sticky;
  top: 120px;
  background: #fff;
  padding: 20px;
}

/* Toggle button: hidden on desktop */
.faq-sidebar-toggle {
  display: none;
}

/* --- Search box --- */
.faq-sidebar-search {
  position: relative;
  margin-bottom: 16px;
}
.faq-search-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.faq-search-input {
  width: 100%;
  padding: 9px 12px 9px 32px;
  border: 1px solid #ddd;
  border-radius: 35px;
  font-size: 13px;
  color: #333;
  background: #f9f9f9;
  transition: border-color 0.2s, background 0.2s;
  box-sizing: border-box;
}
.faq-search-input:focus {
  outline: none;
  border-color: #2AB9AD;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(42,185,173,0.1);
}
.faq-search-input::placeholder {
  color: #aaa;
}

/* --- AJAX Search Results Dropdown --- */
.faq-search-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #dde3ea;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,101,0.12);
  z-index: 9999;
  max-height: 360px;
  overflow-y: auto;
}
.faq-search-result-item {
  display: block;
  padding: 12px 14px;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid #f0f4f8;
  transition: background 0.12s;
}
.faq-search-result-item:last-child {
  border-bottom: none;
}
.faq-search-result-item:hover {
  background: #f0f7f6;
}
.faq-search-result-cat {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #2AB9AD;
  margin-bottom: 2px;
}
.faq-search-result-title {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: #000065;
  margin-bottom: 3px;
  line-height: 1.3;
}
.faq-search-result-excerpt {
  display: block;
  font-size: 12px;
  color: #666;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.faq-search-loading,
.faq-search-empty {
  padding: 14px;
  font-size: 13px;
  color: #888;
  text-align: center;
}
.faq-search-loading::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #ddd;
  border-top-color: #2AB9AD;
  border-radius: 50%;
  animation: faq-spin 0.6s linear infinite;
  margin-right: 8px;
  vertical-align: middle;
}
@keyframes faq-spin {
  to { transform: rotate(360deg); }
}

/* --- Home link --- */
.faq-sidebar-home {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  margin-bottom: 12px;
  color: #000065;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 35px;
  transition: background 0.2s;
}
.faq-sidebar-home:hover {
  background: #f0f7f6;
  color: #000065;
}

/* --- Category details/summary --- */
.faq-sidebar-cat {
  border-bottom: 1px solid #f0f0f0;
}
.faq-sidebar-cat:last-child {
  border-bottom: none;
}
.faq-sidebar-cat summary {
  display: flex;
  align-items: center;
  padding: 10px 8px;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  border-radius: 35px;
  transition: background 0.15s;
}
.faq-sidebar-cat summary::-webkit-details-marker {
  display: none;
}
.faq-sidebar-cat summary::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 2px solid #999;
  border-bottom: 2px solid #999;
  transform: rotate(-45deg);
  margin-left: auto;
  flex-shrink: 0;
  transition: transform 0.2s;
}
.faq-sidebar-cat[open] summary::after {
  transform: rotate(45deg);
}
.faq-sidebar-cat summary:hover {
  background: #f8f9fa;
}

/* Category icon */
.faq-cat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  flex-shrink: 0;
}
.faq-cat-icon svg {
  width: 20px;
  height: 20px;
  stroke: #58CCB3 !important;
}
.faq-cat-icon svg text {
  fill: #58CCB3 !important;
}

/* Category label */
.faq-cat-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Article count badge */
.faq-cat-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  background: #f0f0f0;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  color: #888;
  margin-right: 8px;
  flex-shrink: 0;
}

/* --- Subpage links --- */
.faq-sidebar-links {
  list-style: none;
  margin: 0 0 6px 0;
  padding: 0 0 0 36px;
}
.faq-sidebar-links li {
  margin-bottom: 2px;
}
.faq-sidebar-links a {
  display: block;
  padding: 5px 10px;
  font-size: 12.5px;
  color: #555;
  text-decoration: none;
  border-radius: 35px;
  border-left: 2px solid transparent;
  transition: all 0.15s;
  line-height: 1.4;
}
.faq-sidebar-links a:hover {
  color: #000065;
  background: #f8f9fa;
  border-left-color: #ddd;
}
.faq-sidebar-links li.active a {
  color: #000065;
  font-weight: 600;
  background: #f0f7f6;
  border-left-color: #2AB9AD;
}

/* --- Widgets --- */
.faq-widget {
  margin-top: 14px;
  padding: 14px;
}

/* Widget: Contacto rápido */
.faq-widget-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 17px;
  font-weight: 700;
  color: #000065;
  text-decoration: none;
  margin-bottom: 6px;
}
.faq-widget-phone:hover {
  color: #2AB9AD;
}
.faq-widget-hours {
  font-size: 11.5px;
  color: #888;
  line-height: 1.5;
  margin: 0 0 10px;
}
.faq-widget-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: #25D366;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  border-radius: 35px;
  text-decoration: none;
  transition: background 0.2s;
}
.faq-widget-whatsapp:hover {
  background: #1ebe57;
}

/* Widget: Presupuesto */
.faq-widget-budget {
  background: #f0faf8;
  border-radius: 16px;
  text-align: center;
  border-top: none;
}
.faq-widget-budget p {
  margin: 0 0 10px;
  font-size: 13px;
  color: #333;
  line-height: 1.4;
}
.faq-widget-budget-btn {
  display: inline-block;
  padding: 8px 20px;
  background: #2AB9AD;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  border-radius: 35px;
  text-decoration: none;
  transition: background 0.2s;
}
.faq-widget-budget-btn:hover {
  background: #239e94;
}

/* Widget: Marcas */
.faq-widget-brands-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
}
.faq-widget-brands-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.faq-widget-brands-logos img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 6px;
  padding: 4px;
  background: #f5f5f5;
  border-radius: 50%;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: filter 0.2s, opacity 0.2s;
}
.faq-widget-brands-logos img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* --- CTA box --- */
.faq-sidebar-cta {
  margin-top: 16px;
  padding: 16px;
  background: #092143;
  border-radius: 8px;
  text-align: center;
}
.faq-sidebar-cta p {
  margin: 0 0 10px;
  font-size: 13px;
  color: #ccc;
  line-height: 1.4;
}
.faq-sidebar-cta-btn {
  display: inline-block;
  padding: 8px 20px;
  background: #58CCB3;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  border-radius: 35px;
  text-decoration: none;
  transition: background 0.2s;
}
.faq-sidebar-cta-btn:hover {
  background: #45b8a0;
}

/* --- FAQ content area --- */
.ventana-faq-content {
  min-width: 0;
}

/* ========================================
   FAQ Sidebar: Responsive (mobile ≤991px)
   ======================================== */
@media (max-width: 991px) {
  .ventana-faq-layout {
    display: block;
  }

  .faq-sidebar-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 12px 16px;
    margin-bottom: 16px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    transition: background 0.2s;
  }
  .faq-sidebar-toggle:hover {
    background: #f8f9fa;
  }

  .ventana-faq-sidebar {
    position: static;
    display: none;
    margin-bottom: 20px;
  }
  .ventana-faq-sidebar.is-open {
    display: block;
  }
}

/* ========================================
   Timeline breakpoint labels → pill/round
   ======================================== */
.wd-timeline-breakpoint .wp-block-wd-title,
.woodmart-timeline-breakpoint-title {
  border-radius: 35px !important;
}

/* ========================================
   Brand Header: product_brand archives
   ======================================== */
.ventana-brand-header {
  background: linear-gradient(135deg, #f8fafa 0%, #f0f4f8 100%);
  border-bottom: 2px solid #e8ecf0;
  padding: 36px 0;
  margin-bottom: 24px;
}
.ventana-brand-header__inner {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.ventana-brand-header__logo {
  flex-shrink: 0;
  width: 180px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e0e4e8;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  padding: 16px;
}
.ventana-brand-header__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.ventana-brand-header__info {
  flex: 1;
  min-width: 0;
}
.ventana-brand-header__title-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.ventana-brand-header__name {
  font-size: 28px;
  font-weight: 800;
  color: #000065;
  margin: 0;
  line-height: 1.2;
}
.ventana-brand-header__origin {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  color: #666;
  background: #fff;
  border: 1px solid #dde0e4;
  border-radius: 20px;
  padding: 4px 12px;
}
.ventana-brand-header__origin i {
  color: #2AB9AD;
  font-size: 11px;
}
.ventana-brand-header__tagline {
  font-size: 16px;
  color: #444;
  font-weight: 500;
  margin: 0 0 12px;
  line-height: 1.5;
}
.ventana-brand-header__desc {
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  margin-bottom: 16px;
}
.ventana-brand-header__desc p {
  margin: 0 0 8px;
}
.ventana-brand-header__desc p:last-child {
  margin-bottom: 0;
}
.ventana-brand-header__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}
.ventana-brand-header__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: #fff;
  border: 1px solid #dde0e4;
  border-radius: 24px;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  transition: all 0.2s;
}
.ventana-brand-header__pill i {
  color: #2AB9AD;
  font-size: 12px;
}
.ventana-brand-header__pill--link {
  color: #000065;
  cursor: pointer;
  text-decoration: none;
}
.ventana-brand-header__pill--link:hover {
  background: #000065;
  border-color: #000065;
  color: #fff;
}
.ventana-brand-header__pill--link:hover i {
  color: #fff;
}
.ventana-brand-header__categories {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 13px;
}
.ventana-brand-header__cat-label {
  font-weight: 600;
  color: #666;
  margin-right: 2px;
}
.ventana-brand-header__cat-sep {
  color: #ccc;
}
.ventana-brand-header__cat-link {
  color: #000065;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s;
}
.ventana-brand-header__cat-link:hover {
  color: #2AB9AD;
}

/* Brand Header: Responsive */
@media (max-width: 768px) {
  .ventana-brand-header {
    padding: 24px 0;
  }
  .ventana-brand-header__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
  }
  .ventana-brand-header__logo {
    width: 120px;
    height: 120px;
    padding: 12px;
  }
  .ventana-brand-header__title-row {
    justify-content: center;
  }
  .ventana-brand-header__name {
    font-size: 22px;
  }
  .ventana-brand-header__tagline {
    font-size: 14px;
  }
  .ventana-brand-header__meta {
    justify-content: center;
  }
  .ventana-brand-header__categories {
    justify-content: center;
  }
}

/* ========================================
   Custom Button Colors - Ventana Plus
   ======================================== */

/* Botón de login/acceso específico */
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.login .button {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  border-radius: 35px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 102, 0.25) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.woocommerce-form-login .button:hover,
.woocommerce-form-register .button:hover,
.login .button:hover {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 102, 0.4) !important;
}

/* Botón Google - Integración WoodMart Custom */
.nsl-container {
  width: 100% !important;
  margin-top: 15px !important;
}

.nsl-container .nsl-button-google {
  width: 100% !important;
  display: inline-flex !important;
  background-color: var(--color-white) !important;
  border: var(--wd-form-brd-width) solid var(--wd-primary-color) !important;
  border-radius: var(--btn-accented-brd-radius) !important;
  height: var(--wd-form-height) !important;
  padding: var(--btn-padding, 5px 20px) !important;
  color: var(--color-gray-800) !important;
  font-weight: var(--btn-accented-font-weight, 600) !important;
  text-transform: var(--btn-accented-transform, uppercase) !important;
  font-size: 12px !important;
  box-shadow: var(--btn-accented-box-shadow) !important;
  justify-content: center !important;
  align-items: center !important;
  transition: all 0.3s ease !important;
}

.nsl-container .nsl-button-google:hover {
  background-color: var(--btn-default-bgcolor-hover) !important;
  color: var(--color-white) !important;
  border-color: var(--btn-default-bgcolor-hover) !important;
}

.nsl-container .nsl-button-svg-container {
  margin-right: 8px !important;
}

/* Botón Google en Barra Lateral - Ancho Total */
.sidebar .nsl-container,
.widget .nsl-container,
.woodmart-woo-sidebar .nsl-container,
aside .nsl-container {
  width: 100% !important;
  max-width: 100% !important;
}

.sidebar .nsl-button,
.widget .nsl-button,
.woodmart-woo-sidebar .nsl-button,
aside .nsl-button {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
}

/* Botones WooCommerce secundarios */
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt,
.woocommerce #respond input#submit.alt {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  border-radius: 35px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 102, 0.25) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 102, 0.4) !important;
}

/* Botones primarios - añadir al carrito, etc */
.woocommerce button.button.add_to_cart_button,
.woocommerce button.single_add_to_cart_button,
.woocommerce a.button.product_type_simple,
.woocommerce a.button.product_type_variable,
.wd-add-btn a,
.button-primary {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  border-radius: 35px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 102, 0.25) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.woocommerce button.button.add_to_cart_button:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.button.product_type_simple:hover,
.woocommerce a.button.product_type_variable:hover,
.wd-add-btn a:hover,
.button-primary:hover {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 102, 0.4) !important;
}

/* ── Main navigation: green icons, black text, hover text green ── */
.wd-nav-main > li.item-level-0 > a .wd-nav-icon {
  color: #2AB9AD !important;
}
.wd-nav-main > li.item-level-0 > a .nav-link-text {
  color: #000 !important;
}
.wd-nav-main > li.item-level-0:hover > a .nav-link-text,
.wd-nav-main > li.item-level-0.current-menu-item > a .nav-link-text {
  color: #2AB9AD !important;
}
.wd-nav-main > li.item-level-0:hover > a .wd-nav-icon,
.wd-nav-main > li.item-level-0.current-menu-item > a .wd-nav-icon {
  color: #2AB9AD !important;
}
/* Categorías: hamburger icon green */
.wd-header-cats .menu-opener-icon::after {
  color: #2AB9AD !important;
}
/* ── Sticky menu: white text ── */
.whb-sticked .wd-nav-main > li.item-level-0 > a .nav-link-text {
  color: #fff !important;
}
.whb-sticked .wd-nav-main > li.item-level-0:hover > a .nav-link-text,
.whb-sticked .wd-nav-main > li.item-level-0.current-menu-item > a .nav-link-text {
  color: #2AB9AD !important;
}

/* ── Menú navegación: iconos SVG en submenús ── */
.wd-sub-menu > li > a .wd-nav-img,
.sub-sub-menu > li > a .wd-nav-img {
  display: inline-block !important;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  vertical-align: middle;
}

/* ── Newsletter Popup: contenido llena 100% sin marcos ── */
/* 1. Eliminar padding del contenedor popup (default 30px) */
.wd-promo-popup.wd-popup {
  padding: 0 !important;
  --wd-popup-padding: 0px;
  overflow: hidden;
}
/* 2. Eliminar el overlay oscuro ::before que genera el marco */
.wd-promo-popup::before {
  display: none !important;
}
/* 3. Popup inner: sin padding, sin margin */
.wd-promo-popup .wd-popup-inner {
  padding: 0 !important;
  margin: 0 !important;
}
/* 4. Row: llena todo, sin gaps */
.wd-promo-popup .wp-block-wd-row {
  min-height: 380px;
  margin: 0 !important;
  gap: 0 !important;
  width: 100% !important;
}
/* 5. Columna izquierda: imagen edge-to-edge */
.wd-promo-popup #wd-pp-col-l {
  overflow: hidden;
  padding: 0 !important;
}
.wd-promo-popup #wd-pp-col-l .wd-block-image,
.wd-promo-popup #wd-pp-col-l .wd-block-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}
/* 6. Columna derecha: fondo blanco, padding interno */
.wd-promo-popup #wd-pp-col-r {
  background: #fff;
  padding: 40px 35px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* 7. Botón cerrar */
.wd-promo-popup .wd-close-button {
  color: #333 !important;
  z-index: 10;
}
/* 8. Colores de texto OSCUROS - fondo blanco = texto oscuro */
.wd-promo-popup .wd-popup-inner,
.wd-promo-popup .wd-popup-inner p,
.wd-promo-popup .wd-popup-inner h2,
.wd-promo-popup .wd-popup-inner h3,
.wd-promo-popup .wd-popup-inner label,
.wd-promo-popup .wd-popup-inner span {
  color: #333 !important;
}
/* 9. Colores específicos por ID (mayor especificidad, ganan sobre regla general) */
.wd-promo-popup #wd-pp-subti {
  color: #2AB9AD !important;
  text-transform: uppercase;
}
.wd-promo-popup #wd-pp-title,
.wd-promo-popup #wd-pp-title * {
  color: #000065 !important;
}
.wd-promo-popup #wd-pp-desc1 {
  color: #646464 !important;
}
.wd-promo-popup #wd-pp-priva {
  color: #969696 !important;
}
.wd-promo-popup #wd-pp-priva a {
  color: #2AB9AD !important;
  text-decoration: underline;
}
/* 10. Formulario Mailchimp: campo email visible y usable */
.wd-promo-popup .mc4wp-form input[type="email"] {
  background: #f5f5f5 !important;
  color: #333 !important;
  border: 1px solid #ddd !important;
  padding: 12px 16px !important;
  width: 100% !important;
  border-radius: 35px !important;
  font-size: 14px !important;
}
.wd-promo-popup .mc4wp-form input[type="email"]::placeholder {
  color: #999 !important;
}
.wd-promo-popup .mc4wp-form input[type="email"]:focus {
  border-color: #2AB9AD !important;
  outline: none !important;
}
.wd-promo-popup .mc4wp-form input[type="submit"] {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  color: #fff !important;
  border: none !important;
  padding: 12px 30px !important;
  width: 100% !important;
  border-radius: 35px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-top: 8px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 102, 0.25) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.wd-promo-popup .mc4wp-form input[type="submit"]:hover {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 102, 0.4) !important;
}
.wd-promo-popup .mc4wp-form label {
  display: none !important;
}
.wd-promo-popup .mc4wp-form p {
  margin: 0 0 5px !important;
}
/* 11. Responsive: ocultar imagen en móvil */
@media (max-width: 768px) {
  .wd-promo-popup #wd-pp-col-l {
    display: none;
  }
  .wd-promo-popup #wd-pp-col-r {
    padding: 30px 20px !important;
  }
}

/* ── Ocultar "Herramientas y Consumibles" del megamenú ── */
#menu-item-58598 {
  display: none !important;
}

/* ==========================================================================
   SISTEMA DE IMÁGENES CUADRADAS UNIVERSAL (1:1) - VENTANA.PLUS
   ========================================================================== */

/* 1. Categorías (Página principal y grids) */
.category-grid-item .wd-cat-image img,
.wd-cat-image img,
.category-image-wrap img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}

/* 2. Grid de Productos, Relacionados y Upsells */
.product-grid-item .product-image-link img,
.product-grid-item .hover-img img,
.related-products .product-grid-item img,
.upsells.products .product-grid-item img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
}

/* 3. Ficha de Producto (Galería y Miniaturas) */
.woocommerce-product-gallery__image img,
.wd-carousel-item img,
.wd-gallery-thumb .wd-carousel-item img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}

/* 4. Widgets y Navegación lateral */
.woodmart-widget-product-list img,
.widget_products img,
.wd-product-nav-thumb img,
.cart-widget-side .widget_shopping_cart_content img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}

/* 5. Ajustes de contenedores para evitar saltos de layout */
.product-element-top,
.category-grid-item {
    overflow: hidden;
}

/* 6. Iconos SVG de Categorías - Layout Vertical (icono arriba, nombre abajo)
   Anula Woodmart cat-design-default que usa position:absolute + translateY(100%)
   para ocultar el nombre y mostrarlo solo on hover. */

/* Layout vertical: icono arriba, contenido abajo */
.cat-design-default.custom-cat-layout,
.custom-cat-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    position: relative !important;
    overflow: visible !important;
}

.cat-design-default.custom-cat-layout .wd-cat-inner,
.custom-cat-layout .wd-cat-inner {
    overflow: visible !important;
}

.cat-design-default.custom-cat-layout .custom-cat-link,
.custom-cat-layout .custom-cat-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-decoration: none !important;
    width: 100% !important;
}

/* Icono arriba */
.cat-design-default.custom-cat-layout .wd-cat-thumb,
.custom-cat-layout .wd-cat-thumb {
    position: relative !important;
    width: 100% !important;
    margin-bottom: 12px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.cat-design-default.custom-cat-layout .custom-svg-icon,
.custom-cat-layout .custom-svg-icon {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
}

.custom-svg-icon img {
    width: 55px !important;
    height: 55px !important;
    margin: 0 auto !important;
}

/* Nombre y contador abajo - ANULA position:absolute y transform de Woodmart */
.cat-design-default.custom-cat-layout .wd-cat-content,
.custom-cat-layout .wd-cat-content {
    position: relative !important;
    inset: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    background: none !important;
    padding: 0 !important;
    text-align: center !important;
    transform: none !important;
    transition: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Título - ANULA position:absolute de Woodmart */
.cat-design-default.custom-cat-layout .wd-entities-title,
.custom-cat-layout .wd-entities-title {
    position: relative !important;
    bottom: auto !important;
    inset-inline-start: auto !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
    color: #000065 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

/* Contador - ANULA opacity:0 de Woodmart */
.cat-design-default.custom-cat-layout .wd-cat-count,
.custom-cat-layout .wd-cat-count {
    font-size: 12px !important;
    color: #999 !important;
    margin-top: 2px !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    visibility: visible !important;
}

.custom-cat-layout .wd-cat-count a {
    color: inherit !important;
    text-decoration: none !important;
}

/* Hover effect */
.custom-cat-layout:hover .wd-entities-title {
    color: #2AB9AD !important;
}

/* Responsive: móvil */
@media (max-width: 768px) {
    .custom-svg-icon img {
        width: 40px !important;
        height: 40px !important;
    }

    .cat-design-default.custom-cat-layout .wd-cat-thumb,
    .custom-cat-layout .wd-cat-thumb {
        margin-bottom: 8px !important;
    }

    .cat-design-default.custom-cat-layout .wd-entities-title,
    .custom-cat-layout .wd-entities-title {
        font-size: 11px !important;
    }

    .cat-design-default.custom-cat-layout .wd-cat-count,
    .custom-cat-layout .wd-cat-count {
        font-size: 10px !important;
    }
}

/* ========================================
   Utilidades Generales
   ======================================== */

/* Asegurar que el overlay no bloquee clics si es invisible */
.wd-popup-overlay[style*='opacity: 0'],
.wd-close-side[style*='opacity: 0'] {
    pointer-events: none !important;
    display: none !important;
}

/* ========================================
   Página Mantenimiento - page-id-27954
   Estructura real:
     #wd-c8ac90b6  → sección (fondo original #272c30)
     #wd-c254d70a  → row (100vh, 2 cols)
     #wd-b24d670a  → col izq (texto, timer, botón)
     #wd-dc316638  → col der (imagen de fondo)
     #wd-1717d112  → subtítulo "BRAND NEW STORE"
     #wd-b15e9205  → título "COMING SOON"
     #wd-18c899b3  → párrafo descriptivo
     #wd-93aa6562  → countdown timer
     #wd-8d75c387  → botón "Contact us"
   ======================================== */

/* 1. Sección: quitar fondo oscuro, imagen de fondo global */
.page-id-27954 #wd-c8ac90b6 {
    background-color: transparent !important;
    background-image: url('https://ventana.plus/wp-content/uploads/2022/02/villa-marina-golf.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
}

/* 2. Columna izquierda: caja blanca sobre la imagen */
.page-id-27954 #wd-b24d670a {
    background-color: rgba(255, 255, 255, 0.95) !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    padding: 40px !important;
    margin: 40px 20px !important;
}

/* 3. Columna derecha: ocultar (la imagen ya es fondo de la sección) */
.page-id-27954 #wd-dc316638 {
    display: none !important;
}

/* 4. Row: centrar la columna única */
.page-id-27954 #wd-c254d70a {
    justify-content: center !important;
    align-items: center !important;
}

/* 5. Subtítulo "BRAND NEW STORE" */
.page-id-27954 #wd-1717d112 {
    color: #58CCB3 !important;
}

/* 6. Título "COMING SOON" */
.page-id-27954 #wd-b15e9205 {
    color: #333333 !important;
    font-family: 'Cabin', sans-serif !important;
}

/* 7. Párrafo descriptivo */
.page-id-27954 #wd-18c899b3 {
    color: #555555 !important;
}

/* 8. Countdown timer: números turquesa, textos oscuros */
.page-id-27954 #wd-93aa6562 .wd-timer-value {
    color: #58CCB3 !important;
    font-weight: 700 !important;
}
.page-id-27954 #wd-93aa6562 .wd-timer-text {
    color: #333333 !important;
}
.page-id-27954 #wd-93aa6562 .wd-timer {
    --wd-timer-bg: rgba(0, 0, 101, 0.08) !important;
}

/* 9. Botón "Contact us": turquesa, redondo */
.page-id-27954 #wd-8d75c387 {
    background-color: #58CCB3 !important;
    border: none !important;
    border-radius: 35px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    padding: 12px 30px !important;
}
.page-id-27954 #wd-8d75c387:hover {
    background-color: #46a38f !important;
    box-shadow: 0 5px 15px rgba(88, 204, 179, 0.4) !important;
}

/* 10. Formulario del popup: botones turquesa */
.page-id-27954 .wpcf7 input[type='submit'] {
    background-color: #58CCB3 !important;
    border: none !important;
    border-radius: 35px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 12px 30px !important;
}
.page-id-27954 .wpcf7 input[type='submit']:hover {
    background-color: #46a38f !important;
}

/* 10b. Iconos sociales: oscuros sobre caja blanca */
.page-id-27954 #wd-77138eaf .wd-social-icon {
    border-color: #000065 !important;
    color: #000065 !important;
}
.page-id-27954 #wd-77138eaf .wd-social-icon:hover {
    background-color: #58CCB3 !important;
    border-color: #58CCB3 !important;
    color: #fff !important;
}

/* 11. Responsive: móvil */
@media (max-width: 768px) {
    .page-id-27954 #wd-b24d670a {
        padding: 25px !important;
        margin: 20px 10px !important;
        border-radius: 14px !important;
    }
    .page-id-27954 #wd-b15e9205 {
        font-size: 36px !important;
    }
}

/* ============================================
   WPC Estimated Delivery Date - ventana.plus
   ============================================ */
.wpced .wpced-inner {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 16px !important;
    margin: 10px 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    color: #000065 !important;
    background-color: #e8f8f7 !important;
    border: 1px solid #c5edea !important;
}
.wpced .wpced-inner:before {
    flex-shrink: 0 !important;
}
/* En listados - más compacto */
.woocommerce ul.products .wpced .wpced-inner {
    font-size: 12px !important;
    padding: 6px 10px !important;
}
/* En carrito */
.woocommerce-cart .wpced .wpced-inner {
    font-size: 13px !important;
    margin: 5px 0 !important;
}

/* ============================================
   Shop: Grid responsivo ultrawide
   - Estándar (< 1920px): 3 columnas (config global Woodmart)
   - Pantallas grandes ≥ 1920px: 5 columnas
   ============================================ */
@media (min-width: 1920px) {
    .products.wd-products.wd-grid-g {
        --wd-col: 5 !important;
    }
}

/* Banners home: texto 100% blanco */
#wd-0e07ab17 p,
#wd-0e07ab17 h2,
#wd-0e07ab17 span,
#wd-7499fcfd p,
#wd-7499fcfd h2,
#wd-7499fcfd span {
    color: #ffffff !important;
}

/* ========================================
   Proveedores y Marcas (page-id-38543)
   ======================================== */

/* Intro */
.page-id-38543 .vpb-brands-intro {
    font-size: 16px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 40px;
    padding-bottom: 24px;
    border-bottom: 2px solid #e8ecf0;
}

/* Section wrapper */
.page-id-38543 .vpb-section {
    margin-bottom: 48px;
}

/* Section title pill */
.page-id-38543 .vpb-section-title {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #fff !important;
    background: #000065;
    padding: 8px 20px;
    border-radius: 35px;
    margin: 0 0 20px;
    border: none;
}

/* Brand card: texto izquierda + logo derecha */
.page-id-38543 .vpb-brand-card {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    padding: 24px 0;
    border-bottom: 1px solid #eef0f4;
}
.page-id-38543 .vpb-brand-card:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Body */
.page-id-38543 .vpb-brand-body {
    flex: 1;
    min-width: 0;
}

/* Nombre de marca */
.page-id-38543 .vpb-brand-name {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000065 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: none !important;
}

/* Descripción */
.page-id-38543 .vpb-brand-body > p {
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    margin: 0 0 10px;
}

/* Specs en línea */
.page-id-38543 .vpb-brand-specs {
    list-style: none !important;
    padding: 0 !important;
    margin: 8px 0 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 20px;
}
.page-id-38543 .vpb-brand-specs li {
    font-size: 13px;
    color: #666;
    padding-left: 14px;
    position: relative;
}
.page-id-38543 .vpb-brand-specs li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: #2AB9AD;
    font-weight: 700;
}

/* Caja del logo */
.page-id-38543 .vpb-brand-logo {
    flex-shrink: 0;
    width: 140px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fb;
    border: 1px solid #e8ecf0;
    border-radius: 12px;
    padding: 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.page-id-38543 .vpb-brand-card:hover .vpb-brand-logo {
    border-color: #2AB9AD;
    box-shadow: 0 2px 10px rgba(42,185,173,0.12);
}
.page-id-38543 .vpb-brand-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

/* Footer CTA */
.page-id-38543 .vpb-brands-footer {
    margin-top: 40px;
    padding: 28px 32px;
    background: #f0faf8;
    border-radius: 12px;
    border-left: 4px solid #2AB9AD;
}
.page-id-38543 .vpb-brands-footer p {
    margin: 0 0 12px;
    font-size: 15px;
    color: #444;
}
.page-id-38543 .vpb-brands-footer p:last-child {
    margin: 0;
}
.page-id-38543 .vpb-cta-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    background: #2AB9AD;
    color: #fff !important;
    font-weight: 600;
    font-size: 14px;
    border-radius: 35px;
    text-decoration: none !important;
    transition: background 0.2s;
}
.page-id-38543 .vpb-cta-btn:hover {
    background: #000065;
}

/* Responsive móvil */
@media (max-width: 768px) {
    .page-id-38543 .vpb-brand-card {
        flex-direction: column-reverse;
        gap: 14px;
    }
    .page-id-38543 .vpb-brand-logo {
        width: 100px;
        height: 65px;
    }
    .page-id-38543 .vpb-brands-footer {
        padding: 20px;
    }
    .page-id-38543 .vpb-brand-specs {
        flex-direction: column;
        gap: 4px;
    }
}

/* =============================================================
   CATÁLOGOS — /catalogos/ section
   ============================================================= */

.ventana-catalogos-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 30px;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
}

/* --- Sidebar --- */
.ventana-catalogos-sidebar {
    position: sticky;
    top: 120px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e8edf2;
}

.catalogos-sidebar-toggle {
    display: none;
}

.catalogos-sidebar-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #000065;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 2px solid #000065;
}

.catalogos-sidebar-back {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #555;
    text-decoration: none;
    margin-bottom: 12px;
    padding: 6px 8px;
    border-radius: 6px;
    transition: background 0.15s, color 0.15s;
}
.catalogos-sidebar-back:hover {
    background: #f0f7f6;
    color: #2AB9AD;
}

.catalogos-sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.catalogos-sidebar-list li {
    margin: 0;
}
.catalogos-sidebar-list li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    font-size: 13.5px;
    color: #333;
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.15s, color 0.15s;
}
.catalogos-sidebar-list li a:hover {
    background: #f0f7f6;
    color: #000065;
}
.catalogos-sidebar-list li.active a {
    background: #eef3ff;
    color: #000065;
    font-weight: 600;
}
.catalogos-sidebar-list li svg {
    flex-shrink: 0;
    opacity: 0.5;
}
.catalogos-sidebar-list li.catalogos-sidebar-group-header {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #2AB9AD;
    padding: 12px 10px 4px;
    margin-top: 4px;
    pointer-events: none;
}
.catalogos-sidebar-list li.catalogos-sidebar-group-header:first-child {
    padding-top: 4px;
    margin-top: 0;
}

/* --- Widgets --- */
.catalogos-widget {
    margin-top: 20px;
    padding: 14px;
    border-radius: 8px;
    border: 1px solid #e8edf2;
}
.catalogos-widget-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #000065;
    margin: 0 0 10px;
    letter-spacing: 0.4px;
}
.catalogos-widget-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: #000065;
    text-decoration: none;
    font-size: 15px;
}
.catalogos-widget-phone:hover {
    color: #2AB9AD;
}
.catalogos-widget-hours {
    font-size: 12px;
    color: #777;
    margin: 6px 0 0;
}

/* --- Content area --- */
.ventana-catalogos-content {
    min-width: 0;
}

/* --- Landing page grouped sections --- */
.catalogos-grouped {
    margin-top: 24px;
}
.catalogos-group {
    margin-bottom: 36px;
}
.catalogos-group-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #2AB9AD;
    margin: 0 0 6px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8edf2;
}
.catalogos-group-desc {
    font-size: 13px;
    color: #777;
    margin: 0 0 14px;
    line-height: 1.5;
}
.catalogos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
    margin-top: 0;
}
.catalogos-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: #fff;
    border: 1px solid #e8edf2;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.catalogos-card:hover {
    border-color: #2AB9AD;
    box-shadow: 0 4px 12px rgba(0,0,101,0.08);
    transform: translateY(-2px);
}
.catalogos-card-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: #eef3ff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.catalogos-card-body {
    flex: 1;
    min-width: 0;
}
.catalogos-card-title {
    font-size: 14px;
    font-weight: 600;
    color: #000065;
    margin: 0 0 4px;
    line-height: 1.3;
}
.catalogos-card-excerpt {
    font-size: 12.5px;
    color: #666;
    margin: 0;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.catalogos-card-arrow {
    font-size: 18px;
    color: #2AB9AD;
    flex-shrink: 0;
    align-self: center;
    opacity: 0;
    transition: opacity 0.15s;
}
.catalogos-card:hover .catalogos-card-arrow {
    opacity: 1;
}

/* --- Mobile --- */
@media (max-width: 768px) {
    .ventana-catalogos-layout {
        display: block;
    }
    .catalogos-sidebar-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
        background: #000065;
        color: #fff;
        border: none;
        padding: 10px 16px;
        border-radius: 35px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        margin-bottom: 16px;
    }
    .ventana-catalogos-sidebar {
        display: none;
        position: static;
        margin-bottom: 20px;
    }
    .ventana-catalogos-sidebar.is-open {
        display: block;
    }
    .catalogos-grid {
        grid-template-columns: 1fr;
    }
}

/* --- Sección Catálogos / Manuales dentro de página de marca --- */
.ventana-catalogos-content h2.ventana-seccion-titulo {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #000065;
    margin: 32px 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid #e8edf2;
}
.ventana-catalogos-content h2.ventana-seccion-titulo:first-child {
    margin-top: 0;
}

/* Ocultar sidebar Woodmart (Biblioteca Técnica) en sección /catalogos/ */
.page-id-66111 .wd-sidebar,
.parent-pageid-66111 .wd-sidebar {
    display: none !important;
}
.page-id-66111 #main-content,
.parent-pageid-66111 #main-content {
    --wd-col-lg: 12 !important;
}

/* =============================================================
   Blog: Primer artículo destacado (hero) — span todas las columnas
   ============================================================= */

/* El artículo hero ocupa todas las columnas del grid */
.wd-posts.wd-blog-holder article.blog-featured-hero {
    grid-column: 1 / -1;
}

/* Layout interno: imagen izquierda (60%) + contenido derecha (40%) */
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-inner {
    display: grid;
    grid-template-columns: 60% 1fr;
    grid-template-rows: 1fr;
    min-height: 380px;
}

/* Imagen: ocupa toda la columna izquierda, sin altura fija */
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-thumb {
    grid-column: 1;
    grid-row: 1;
}
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-img,
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-img.post-img-wrapp {
    height: 100% !important;
    max-height: none !important;
}
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-img img,
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-img picture {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
}

/* Contenido: columna derecha con padding */
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-content {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 32px 28px !important;
}

/* Título más grande */
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-title {
    font-size: clamp(18px, 2vw, 26px) !important;
    line-height: 1.3 !important;
    margin-bottom: 12px;
}

/* Excerpt visible en el hero */
.wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-excerpt {
    display: block !important;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Mobile: stack vertical */
@media (max-width: 768px) {
    .wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-inner {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        min-height: unset;
    }
    .wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-thumb {
        grid-column: 1;
        grid-row: 1;
    }
    .wd-posts.wd-blog-holder article.blog-featured-hero .wd-post-content {
        grid-column: 1;
        grid-row: 2;
    }
}

/* =====================================================
   PROYECTOS - Archivo: separación entre tarjetas
   ===================================================== */
/* Woodmart gestiona el gap horizontal via padding-inline: calc(var(--wd-gap)/2)
   y el vertical via margin-bottom: var(--wd-gap). Con portfolio_spacing=20
   ambos son 20px. Eliminamos overrides que añadían padding extra en todos lados. */

/* Forzar aspect-ratio uniforme en thumbnails del portfolio:
   todas las imágenes tienen la misma altura → masonry queda alineado */
.wd-portfolio-element .wd-project .portfolio-thumbnail {
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.wd-portfolio-element .wd-project .portfolio-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* =====================================================
   PROYECTOS - Single: estilos mejorados
   ===================================================== */

/* Hero imagen */
.wd-proyecto-hero {
    position: relative;
    margin-bottom: 36px;
    border-radius: 12px;
    overflow: hidden;
}

.wd-proyecto-hero-img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}

/* Badges de categoría sobre la imagen */
.wd-proyecto-cats {
    position: absolute;
    bottom: 16px;
    left: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.wd-proyecto-cat-badge {
    background: #000065;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 35px;
}

/* Cuerpo del artículo */
.wd-proyecto-body {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 20px 48px;
}

/* Título del proyecto */
.wd-proyecto-title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    color: #000065;
    margin-bottom: 24px;
    line-height: 1.2;
}

/* Contenido: tipografía mejorada */
.wd-proyecto-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 18px;
}

.wd-proyecto-content strong {
    color: #222;
    font-weight: 600;
}

/* Separador visual entre párrafos de detalle */
.wd-proyecto-content p:last-child {
    border-top: 1px solid #eee;
    padding-top: 20px;
    margin-top: 8px;
    font-size: 14px;
    color: #666;
    line-height: 1.7;
}

/* Mobile */
@media (max-width: 768px) {
    /* Hero: altura reducida pero con padding lateral para el badge */
    .wd-proyecto-hero {
        border-radius: 8px;
        margin-bottom: 24px;
    }
    .wd-proyecto-hero-img {
        max-height: 260px;
        border-radius: 8px;
    }
    .wd-proyecto-cats {
        bottom: 12px;
        left: 12px;
        gap: 6px;
    }
    .wd-proyecto-cat-badge {
        font-size: 10px;
        padding: 4px 10px;
    }
    /* Body: mantener padding lateral para que el texto no quede pegado */
    .wd-proyecto-body {
        padding: 0 4px 32px;
    }
    .wd-proyecto-title {
        font-size: 20px;
        margin-bottom: 16px;
    }
    .wd-proyecto-content p {
        font-size: 15px;
        line-height: 1.7;
    }
    /* Archivo: aspect-ratio algo más alto en móvil para mejor presencia */
    .wd-portfolio-element .wd-project .portfolio-thumbnail {
        aspect-ratio: 16 / 10;
    }
}

/* ==========================================================================
   BLOG SIDEBAR — ventana.plus (vbs-*)
   Sidebar izquierda exclusiva para blog y posts individuales.
   ========================================================================== */

/* Contenedor sticky */
.vbs-wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 100px;
}

/* Widget base */
.vbs-widget {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 101, 0.07);
    border: 1px solid rgba(0, 0, 101, 0.08);
}

/* ---- Buscador ---- */
.vbs-search-widget {
    padding: 16px;
}

.vbs-search-form {
    margin: 0;
}

.vbs-search-inner {
    display: flex;
    align-items: center;
    gap: 0;
    border: 2px solid #e8e8f0;
    border-radius: 35px;
    overflow: hidden;
    transition: border-color 0.2s;
}

.vbs-search-inner:focus-within {
    border-color: #2AB9AD;
}

.vbs-search-input {
    flex: 1;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 10px 14px;
    font-size: 14px;
    color: #333;
    background: transparent;
    min-width: 0;
}

.vbs-search-input::placeholder {
    color: #aaa;
}

.vbs-search-btn {
    background: #000065;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    color: #fff;
    transition: background 0.2s;
    flex-shrink: 0;
}

.vbs-search-btn:hover {
    background: #2AB9AD;
}

/* ---- Título de widget (posts recientes) ---- */
.vbs-widget-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #000065;
    padding: 16px 20px 12px;
    margin: 0;
    border-bottom: 1px solid rgba(0, 0, 101, 0.08);
}

.vbs-title-icon {
    display: flex;
    align-items: center;
    color: #2AB9AD;
    flex-shrink: 0;
}

/* ---- Accordion (categories & archive) ---- */
.vbs-accordion {
    border: none;
    margin: 0;
}

.vbs-accordion-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #000065;
    user-select: none;
    transition: background 0.15s;
}

.vbs-accordion-header::-webkit-details-marker {
    display: none;
}

.vbs-accordion-header::marker {
    display: none;
}

.vbs-accordion-header:hover {
    background: rgba(0, 0, 101, 0.03);
}

.vbs-accordion-icon {
    display: flex;
    align-items: center;
    color: #2AB9AD;
    flex-shrink: 0;
}

.vbs-accordion-label {
    flex: 1;
}

.vbs-accordion-arrow {
    display: flex;
    align-items: center;
    color: #999;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}

details.vbs-accordion[open] .vbs-accordion-arrow {
    transform: rotate(180deg);
}

/* ---- Lista de categorías ---- */
.vbs-cat-list {
    list-style: none;
    margin: 0;
    padding: 0 0 8px;
}

.vbs-cat-item {
    border-top: 1px solid rgba(0, 0, 101, 0.06);
}

.vbs-cat-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s;
    gap: 8px;
}

.vbs-cat-link:hover {
    background: rgba(42, 185, 173, 0.06);
}

.vbs-cat-name {
    font-size: 14px;
    color: #333;
    font-weight: 500;
    transition: color 0.15s;
    line-height: 1.3;
}

.vbs-cat-link:hover .vbs-cat-name {
    color: #000065;
}

.vbs-cat-count {
    background: rgba(0, 0, 101, 0.07);
    color: #000065;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.vbs-cat-link:hover .vbs-cat-count {
    background: #2AB9AD;
    color: #fff;
}

/* Categoría activa */
.vbs-cat-item.vbs-cat-current .vbs-cat-link {
    background: rgba(42, 185, 173, 0.08);
}

.vbs-cat-item.vbs-cat-current .vbs-cat-name {
    color: #000065;
    font-weight: 700;
}

.vbs-cat-item.vbs-cat-current .vbs-cat-count {
    background: #000065;
    color: #fff;
}

/* ---- Posts recientes ---- */
.vbs-recent-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.vbs-recent-item {
    border-top: 1px solid rgba(0, 0, 101, 0.06);
}

.vbs-recent-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    text-decoration: none !important;
    transition: background 0.15s;
}

.vbs-recent-link:hover {
    background: rgba(42, 185, 173, 0.06);
}

.vbs-recent-thumb {
    width: 52px;
    height: 52px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f0f0f8;
}

.vbs-recent-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.vbs-recent-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vbs-recent-title {
    font-size: 13px;
    font-weight: 600;
    color: #222;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s;
}

.vbs-recent-link:hover .vbs-recent-title {
    color: #000065;
}

.vbs-recent-date {
    font-size: 11px;
    color: #999;
    letter-spacing: 0.02em;
}

/* ---- Archivo mensual ---- */
.vbs-archive-list {
    list-style: none;
    margin: 0;
    padding: 0 0 8px;
}

.vbs-archive-item {
    border-top: 1px solid rgba(0, 0, 101, 0.06);
}

.vbs-archive-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 20px;
    text-decoration: none !important;
    transition: background 0.15s;
    gap: 8px;
}

.vbs-archive-link:hover {
    background: rgba(42, 185, 173, 0.06);
}

.vbs-archive-name {
    font-size: 14px;
    color: #444;
    font-weight: 500;
    transition: color 0.15s;
}

.vbs-archive-link:hover .vbs-archive-name {
    color: #000065;
}

.vbs-archive-count {
    background: rgba(0, 0, 101, 0.07);
    color: #000065;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.vbs-archive-link:hover .vbs-archive-count {
    background: #2AB9AD;
    color: #fff;
}

/* ---- CTA Presupuesto ---- */
.vbs-cta-widget {
    background: linear-gradient(135deg, #000065 0%, #0a0a8f 50%, #001490 100%) !important;
    border: none !important;
    box-shadow: 0 4px 20px rgba(0, 0, 101, 0.35) !important;
}

.vbs-cta-inner {
    padding: 24px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.vbs-cta-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: rgba(42, 185, 173, 0.2);
    border-radius: 50%;
    color: #2AB9AD;
    flex-shrink: 0;
}

.vbs-cta-text {
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

.vbs-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2AB9AD;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 10px 22px;
    border-radius: 35px;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 3px 12px rgba(42, 185, 173, 0.4);
    width: 100%;
}

.vbs-cta-btn:hover {
    background: #fff;
    color: #000065 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(42, 185, 173, 0.5);
}

/* ---- Mobile responsive ---- */
@media (max-width: 991px) {
    .vbs-wrap {
        position: static;
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .vbs-wrap {
        gap: 12px;
    }

    .vbs-widget-title,
    .vbs-accordion-header {
        padding: 12px 16px;
    }

    .vbs-cat-link,
    .vbs-archive-link {
        padding: 9px 16px;
    }

    .vbs-recent-link {
        padding: 10px 16px;
    }

    .vbs-cta-inner {
        padding: 20px 16px;
    }
}

/* ==========================================================================
   BLOG — 5 columnas en pantallas grandes (1920px+: FHD, QHD, 3440 ultrawide)
   El blog holder usa --wd-col-lg:3 inline → lo forzamos con !important
   ========================================================================== */
@media (min-width: 1920px) {
    .wd-blog-holder.wd-grid-g {
        --wd-col-lg: 5 !important;
        --wd-col: 5 !important;
    }
}

/* ==========================================================================
   CATÁLOGOS - Grid de PDFs
   Miniaturas de portada que abren el PDF al hacer clic
   ========================================================================== */

/* Grid múltiples PDFs */
.ventana-pdf-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 0 32px;
    align-items: flex-start;
}

/* Tarjeta de PDF (grid y single) */
.ventana-pdf-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #000065;
    transition: transform 0.22s ease;
}

.ventana-pdf-grid .ventana-pdf-item {
    flex: 0 0 auto;
    width: calc(25% - 15px);
    min-width: 140px;
    max-width: 220px;
}

.ventana-pdf-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 101, 0.18);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    background: #e9ecef;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.ventana-pdf-item:hover img {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 10px 28px rgba(0, 0, 101, 0.28);
}

.ventana-pdf-item span {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-align: center;
    margin-top: 8px;
    line-height: 1.3;
    word-break: break-word;
    padding: 0 2px;
}

/* PDF único (ACR, Aramar, Salgar) */
.ventana-pdf-single {
    text-align: center;
    margin: 0 auto 36px;
}

.ventana-pdf-single .ventana-pdf-item {
    display: inline-flex;
    max-width: 520px;
}

.ventana-pdf-single .ventana-pdf-item img {
    border-radius: 8px;
    box-shadow: 0 6px 28px rgba(0, 0, 101, 0.22);
    aspect-ratio: auto;
    object-fit: contain;
}

.ventana-pdf-btn {
    display: inline-block;
    margin-top: 14px;
    padding: 10px 28px;
    background: #000065;
    color: #fff !important;
    border-radius: 35px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.03em;
    transition: background 0.2s ease;
}

.ventana-pdf-single .ventana-pdf-item:hover .ventana-pdf-btn {
    background: #2AB9AD;
}

/* Responsive */
@media (max-width: 1100px) {
    .ventana-pdf-grid .ventana-pdf-item {
        width: calc(33.333% - 14px);
    }
}

@media (max-width: 768px) {
    .ventana-pdf-grid {
        gap: 14px;
    }
    .ventana-pdf-grid .ventana-pdf-item {
        width: calc(50% - 7px);
        min-width: 120px;
    }
}

@media (max-width: 480px) {
    .ventana-pdf-grid .ventana-pdf-item {
        width: calc(50% - 7px);
    }
}

/* ==========================================================================
   BLOG SIDEBAR — Archivo por año (vbs-year-*)
   ========================================================================== */

/* Contenedor de todos los años */
.vbs-year-group {
    padding: 8px 0;
}

/* Accordion de año */
.vbs-year-accordion {
    border-top: 1px solid rgba(0, 0, 101, 0.06);
}

.vbs-year-accordion:last-child {
    border-bottom: 1px solid rgba(0, 0, 101, 0.06);
}

/* Cabecera del año */
.vbs-year-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background 0.15s;
}

.vbs-year-header::-webkit-details-marker { display: none; }
.vbs-year-header::marker { display: none; }

.vbs-year-header:hover {
    background: rgba(0, 0, 101, 0.03);
}

.vbs-year-label {
    flex: 1;
    font-size: 14px;
    font-weight: 700;
    color: #000065;
    letter-spacing: 0.03em;
}

.vbs-year-count {
    background: rgba(0, 0, 101, 0.07);
    color: #000065;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.vbs-year-accordion[open] .vbs-year-count {
    background: #000065;
    color: #fff;
}

.vbs-year-arrow {
    display: flex;
    align-items: center;
    color: #bbb;
    transition: transform 0.22s ease;
    flex-shrink: 0;
}

.vbs-year-accordion[open] .vbs-year-arrow {
    transform: rotate(180deg);
    color: #2AB9AD;
}

/* Lista de meses dentro del año */
.vbs-month-list {
    list-style: none;
    margin: 0;
    padding: 4px 0 8px 0;
    background: rgba(0, 0, 101, 0.02);
}

.vbs-month-item {
    border-top: 1px solid rgba(0, 0, 101, 0.04);
}

.vbs-month-item:first-child {
    border-top: none;
}

.vbs-month-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 20px 8px 32px;
    text-decoration: none !important;
    transition: background 0.15s;
    gap: 8px;
}

.vbs-month-link:hover {
    background: rgba(42, 185, 173, 0.07);
}

.vbs-month-name {
    font-size: 13px;
    color: #555;
    font-weight: 500;
    transition: color 0.15s;
}

.vbs-month-link:hover .vbs-month-name {
    color: #000065;
}

.vbs-month-count {
    font-size: 11px;
    color: #aaa;
    font-weight: 600;
    flex-shrink: 0;
}

/* ========================================
   Sidebar Categories: Hide dropdown bg icon
   ======================================== */
.wd-nav-vertical .wd-dropdown-menu {
    --wd-dropdown-bg-img: none !important;
}

/* ========================================
   Página Contacto (ID 5288) - Mapa full-width
   ======================================== */

/* Evitar scroll horizontal por el mapa full-width */
body.page-id-5288 {
    overflow-x: hidden !important;
}

/* Eliminar padding/margin superior del contenido para pegar mapa al header */
.page-id-5288 #main-content.container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.page-id-5288 .wd-content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Mapa: romper fuera del contenedor para ancho completo centrado */
.page-id-5288 #wd-2cbd3882 {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: none !important;
    margin-top: 0 !important;
    margin-bottom: 80px !important;
    padding: 0 !important;
}

.page-id-5288 #wd-2cbd3882 iframe {
    display: block;
}

/* ========================================
   Gravity Forms - Formulario Contacto
   Selectores corregidos: form.vp-contacto-form
   está DENTRO de #gform_wrapper_1, no al revés
   ======================================== */

/* Override ALL GF Orbital/Framework CSS variables for round style */
#gform_wrapper_1[data-form-index="0"].gform-theme,
#gform_wrapper_1.gform_wrapper.gform-theme--framework {
    --gf-radius: 35px !important;
    --gf-radius-max-sm: 35px !important;
    --gf-radius-max-md: 35px !important;
    --gf-radius-max-lg: 35px !important;
    --gf-ctrl-radius: 35px !important;
    --gf-ctrl-radius-max-sm: 35px !important;
    --gf-ctrl-radius-max-md: 35px !important;
    --gf-ctrl-radius-max-lg: 35px !important;
    --gf-ctrl-btn-radius: 35px !important;
    --gf-ctrl-border-color: #ddd !important;
    --gf-ctrl-shadow: none !important;
    --gf-ctrl-bg-color: #fafafa !important;
    --gf-ctrl-bg-color-focus: #fff !important;
    --gf-ctrl-border-color-focus: #2AB9AD !important;
    --gf-ctrl-outline-color-focus: rgba(42, 185, 173, 0.15) !important;
    --gf-ctrl-outline-width-focus: 3px !important;
    --gf-ctrl-label-color-primary: #000065 !important;
    --gf-ctrl-label-color-secondary: #000065 !important;
    --gf-color-primary: #2AB9AD !important;
    --gf-color-primary-rgb: 42, 185, 173 !important;
    --gf-color-primary-darker: #000065 !important;
    --gf-color-primary-contrast: #fff !important;
    --gf-ctrl-btn-bg-color-primary: #2AB9AD !important;
    --gf-ctrl-btn-bg-color-hover-primary: #000065 !important;
    --gf-ctrl-btn-color-primary: #fff !important;
    --gf-ctrl-btn-border-color-primary: transparent !important;
}

/* Force border-radius on ALL inputs/selects/textareas (correct selector hierarchy) */
#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 input[type="url"],
#gform_wrapper_1 input[type="number"],
#gform_wrapper_1 select,
#gform_wrapper_1 .gform-theme-field-control {
    --gf-local-radius: 35px !important;
    border-radius: 35px !important;
    border-color: #ddd !important;
    background-color: #fafafa !important;
    font-size: 15px !important;
    padding-inline: 20px !important;
}

#gform_wrapper_1 textarea {
    --gf-local-radius: 20px !important;
    border-radius: 20px !important;
    border-color: #ddd !important;
    background-color: #fafafa !important;
    font-size: 15px !important;
    padding: 12px 20px !important;
    min-height: 120px !important;
}

/* Focus states */
#gform_wrapper_1 input:focus,
#gform_wrapper_1 select:focus,
#gform_wrapper_1 textarea:focus {
    border-color: #2AB9AD !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(42, 185, 173, 0.15) !important;
    outline: none !important;
}

/* Labels */
#gform_wrapper_1 .gfield_label,
#gform_wrapper_1 .gfield_consent_label,
#gform_wrapper_1 legend.gfield_label {
    color: #000065 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
}

/* Select dropdown arrow */
#gform_wrapper_1 select {
    cursor: pointer !important;
}

/* Radio & Checkbox labels */
#gform_wrapper_1 .gfield_radio label,
#gform_wrapper_1 .gfield_checkbox label {
    font-size: 14px !important;
    color: #333 !important;
    cursor: pointer !important;
}

#gform_wrapper_1 .gchoice input[type="radio"]:checked + label,
#gform_wrapper_1 .gchoice input[type="checkbox"]:checked + label {
    color: #000065 !important;
    font-weight: 600 !important;
}

/* Submit button - pill style with gradient */
#gform_wrapper_1 .gform_footer input[type="submit"],
#gform_wrapper_1 .gform_footer button[type="submit"],
#gform_wrapper_1 .gform_footer .gform_button,
#gform_wrapper_1 input[type="submit"].gform_button {
    --gf-local-radius: 35px !important;
    background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 35px !important;
    padding: 14px 40px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-transform: none !important;
    letter-spacing: 0.3px !important;
    width: 100% !important;
    block-size: auto !important;
    line-height: 1.4 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 102, 0.25) !important;
}

#gform_wrapper_1 .gform_footer input[type="submit"]:hover,
#gform_wrapper_1 .gform_footer button[type="submit"]:hover,
#gform_wrapper_1 .gform_footer .gform_button:hover {
    background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 102, 0.4) !important;
}

/* File upload dropzone */
#gform_wrapper_1 .gform_drop_area {
    border: 2px dashed #ccc !important;
    border-radius: 20px !important;
    padding: 25px !important;
    text-align: center !important;
    background: #fafafa !important;
    transition: all 0.3s ease !important;
}

#gform_wrapper_1 .gform_drop_area:hover {
    border-color: #2AB9AD !important;
    background: #f0faf9 !important;
}

#gform_wrapper_1 .gform_drop_area .gform_drop_instructions {
    color: #666 !important;
    font-size: 14px !important;
}

#gform_wrapper_1 .gform_drop_area .gform_button_select_files {
    background: #000065 !important;
    color: #fff !important;
    border-radius: 35px !important;
    padding: 8px 24px !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 13px !important;
    margin-top: 8px !important;
}

#gform_wrapper_1 .gform_drop_area .gform_button_select_files:hover {
    background: #2AB9AD !important;
}

/* Description text */
#gform_wrapper_1 .gfield_description {
    font-size: 12px !important;
    color: #888 !important;
    margin-top: 4px !important;
}

/* RGPD consent field */
#gform_wrapper_1 .ginput_container_consent {
    padding: 14px 20px !important;
    background: #f8f9fa !important;
    border-radius: 20px !important;
    border: 1px solid #eee !important;
}

#gform_wrapper_1 .ginput_container_consent label {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #555 !important;
}

#gform_wrapper_1 .ginput_container_consent a {
    color: #2AB9AD !important;
    text-decoration: underline !important;
}

/* Newsletter opt-in */
#gform_wrapper_1 .vp-newsletter-optin .gfield_label {
    display: none !important;
}

#gform_wrapper_1 .vp-newsletter-optin .ginput_container_checkbox {
    padding: 12px 20px !important;
    background: #f0faf9 !important;
    border-radius: 20px !important;
    border: 1px solid #d4ece9 !important;
}

/* Section title style for tipo consulta */
#gform_wrapper_1 .vp-tipo-consulta .gfield_label::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: #2AB9AD;
    margin-top: 6px;
    border-radius: 2px;
}

/* Validation errors */
#gform_wrapper_1 .gfield_error input,
#gform_wrapper_1 .gfield_error select,
#gform_wrapper_1 .gfield_error textarea {
    border-color: #e74c3c !important;
}

#gform_wrapper_1 .validation_message {
    color: #e74c3c !important;
    font-size: 12px !important;
    margin-top: 4px !important;
}

/* Confirmation message */
.vp-confirmacion-exito {
    background: #f0faf9 !important;
    border: 1px solid #d4ece9 !important;
    border-radius: 20px !important;
    padding: 30px !important;
    text-align: center !important;
}

.vp-confirmacion-exito h3 {
    color: #000065 !important;
    font-size: 22px !important;
    margin-bottom: 12px !important;
}

.vp-confirmacion-exito p {
    color: #333 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.vp-confirmacion-exito a {
    color: #2AB9AD !important;
    font-weight: 700 !important;
}

/* Spinner/loading */
#gform_wrapper_1 .gform_ajax_spinner {
    margin-left: 10px !important;
}

/* Responsive mobile */
@media (max-width: 768px) {
    #gform_wrapper_1 .gform_footer input[type="submit"],
    #gform_wrapper_1 .gform_footer button[type="submit"],
    #gform_wrapper_1 .gform_footer .gform_button {
        padding: 12px 30px !important;
        font-size: 15px !important;
    }

    #gform_wrapper_1 input[type="text"],
    #gform_wrapper_1 input[type="email"],
    #gform_wrapper_1 input[type="tel"],
    #gform_wrapper_1 select,
    #gform_wrapper_1 textarea {
        font-size: 16px !important;
    }

    #gform_wrapper_1 .gform_drop_area {
        padding: 20px 15px !important;
    }
}

/* Marketing attribution - compact radio */
#gform_wrapper_1 .vp-marketing-attribution .gfield_radio {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 12px !important;
}

#gform_wrapper_1 .vp-marketing-attribution .gchoice {
    flex: 0 0 auto !important;
}

/* --- Required: asterisco en lugar de texto --- */
#gform_wrapper_1 .gfield_required_text {
    display: none !important;
}
#gform_wrapper_1 .gfield_required::after {
    content: " *" !important;
    color: #e74c3c !important;
    font-weight: 700 !important;
}

/* --- Dos columnas + compactación --- */
#gform_wrapper_1 #gform_fields_1 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 20px !important;
    row-gap: 6px !important;
}

/* Campos ancho completo */
#gform_wrapper_1 #field_1_15,
#gform_wrapper_1 #field_1_4,
#gform_wrapper_1 #field_1_7,
#gform_wrapper_1 #field_1_8,
#gform_wrapper_1 #field_1_10,
#gform_wrapper_1 #field_1_11,
#gform_wrapper_1 #field_1_12,
#gform_wrapper_1 #field_1_13,
#gform_wrapper_1 #field_1_14 {
    grid-column: 1 / -1 !important;
}

#gform_wrapper_1 .gform_footer {
    grid-column: 1 / -1 !important;
}

/* Compactar márgenes internos */
#gform_wrapper_1 .gfield {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#gform_wrapper_1 .gfield_label {
    margin-bottom: 3px !important;
    font-size: 13px !important;
}

/* Mobile: una sola columna */
@media (max-width: 767px) {
    #gform_wrapper_1 #gform_fields_1 {
        grid-template-columns: 1fr !important;
    }
    #gform_wrapper_1 #field_1_15,
    #gform_wrapper_1 #field_1_4,
    #gform_wrapper_1 #field_1_7,
    #gform_wrapper_1 #field_1_8,
    #gform_wrapper_1 #field_1_10,
    #gform_wrapper_1 #field_1_11,
    #gform_wrapper_1 #field_1_12,
    #gform_wrapper_1 #field_1_13,
    #gform_wrapper_1 #field_1_14,
    #gform_wrapper_1 .gform_footer {
        grid-column: 1 !important;
    }
}

/* --- Ocultar barra Rank Math Analytics (solo visible para admins) --- */
#rank-math-analytics-stats-bar,
.rank-math-analytics-stats-bar,
#rank-math-hlp-ui {
    display: none !important;
}

/* --- Mapa contacto: altura reducida --- */
.page-id-5288 #wd-2cbd3882 iframe {
    height: 350px !important;
}

/* --- Submenús: esquinas solo abajo redondeadas y sombra en caja exterior --- */
.wd-dropdown-menu {
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22) !important;
    overflow: hidden !important;
}
.wd-sub-menu-wrapp {
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* --- Fix gap menú de usuario: puente invisible para que el ratón no pierda el hover --- */
.wd-header-my-account.wd-event-hover > .wd-dropdown,
.wd-header-my-account.wd-event-hover > ul {
    padding-top: 10px !important;
    margin-top: -10px !important;
}
.wd-header-my-account.wd-event-hover {
    padding-bottom: 10px !important;
}

/* ========================================
   Brands carousel: logos misma altura
   ======================================== */
#wd-2d5500b6 {
    --wd-brand-img-height: 100px !important;
    --wd-brand-img-width: 280px !important;
}
.wd-brands .wd-brand-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 120px !important;
    overflow: visible !important;
}
.wd-brands .wd-brand-item img {
    max-height: 100px !important;
    height: auto !important;
    width: auto !important;
    max-width: 280px !important;
    object-fit: contain !important;
}

/* ========================================
   GLOBAL BUTTON STYLE: Gradient + Shine
   ======================================== */

/* Shine animation */
@keyframes btn-shine {
  0%   { left: -100%; }
  100% { left: 100%; }
}

/* Global: ALL Woodmart/WC/theme buttons */
.btn-color-primary,
.wd-btn,
.woodmart-btn,
.wp-block-button__link,
.woocommerce .button,
.woocommerce-page .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.return-to-shop .button,
.wc-proceed-to-checkout .checkout-button,
.woocommerce-form-coupon .button,
.wpcf7-submit,
input[type="submit"]:not(.searchsubmit),
button[type="submit"]:not(.searchsubmit) {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
  border-radius: 35px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 102, 0.25) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Shine reflection pseudo-element */
.btn-color-primary::after,
.wd-btn::after,
.woodmart-btn::after,
.wp-block-button__link::after,
.woocommerce .button::after,
.woocommerce-page .button::after,
.woocommerce a.button::after,
.woocommerce button.button::after,
.woocommerce input.button::after,
.woocommerce #respond input#submit::after,
.return-to-shop .button::after,
.wc-proceed-to-checkout .checkout-button::after,
.woocommerce-form-coupon .button::after,
.wpcf7-submit::after,
input[type="submit"]:not(.searchsubmit)::after,
button[type="submit"]:not(.searchsubmit)::after,
#menu-item-36925 > a.woodmart-nav-link::after,
.wd-promo-popup .mc4wp-form input[type="submit"]::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 60% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%) !important;
  transform: skewX(-20deg) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Hover: shadow + shine animation */
.btn-color-primary:hover,
.wd-btn:hover,
.woodmart-btn:hover,
.wp-block-button__link:hover,
.woocommerce .button:hover,
.woocommerce-page .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.return-to-shop .button:hover,
.wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-form-coupon .button:hover,
.wpcf7-submit:hover,
input[type="submit"]:not(.searchsubmit):hover,
button[type="submit"]:not(.searchsubmit):hover {
  background: linear-gradient(135deg, #000066 0%, #2AB9AD 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 102, 0.4) !important;
}

/* Shine slides on hover */
.btn-color-primary:hover::after,
.wd-btn:hover::after,
.woodmart-btn:hover::after,
.wp-block-button__link:hover::after,
.woocommerce .button:hover::after,
.woocommerce-page .button:hover::after,
.woocommerce a.button:hover::after,
.woocommerce button.button:hover::after,
.woocommerce input.button:hover::after,
.woocommerce #respond input#submit:hover::after,
.return-to-shop .button:hover::after,
.wc-proceed-to-checkout .checkout-button:hover::after,
.woocommerce-form-coupon .button:hover::after,
.wpcf7-submit:hover::after,
input[type="submit"]:not(.searchsubmit):hover::after,
button[type="submit"]:not(.searchsubmit):hover::after,
#menu-item-36925 > a.woodmart-nav-link:hover::after,
.wd-promo-popup .mc4wp-form input[type="submit"]:hover::after {
  animation: btn-shine 0.6s ease-in-out forwards !important;
}

/* ========================================
   BRANDS CAROUSEL - Full Width Section
   ======================================== */
#wd-a1b2c3d4 {
  background: #ffffff !important;
  padding: 35px 0 !important;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

/* Bigger brand logos - homepage */
#wd-a1b2c3d4 .wd-brand-item img {
  max-height: 100px !important;
  height: auto !important;
  width: auto !important;
  max-width: 280px !important;
  object-fit: contain !important;
}

#wd-a1b2c3d4 .wd-brand-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 120px !important;
}

/* Fix Footer Blanco */
.wd-footer.footer-container.color-scheme-light {
  background-color: rgb(9, 33, 67) !important;
}

/* ========================================
   WPC SMART COMPARE — Tabla comparador
   Atributos individuales, imágenes pequeñas,
   filas con línea, alineación perfecta
   ======================================== */

/* --- Tabla base --- */
.woosc-quick-table .woosc_table,
.woosc-area .woosc_table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #e0e0e0 !important;
}

/* --- Cabecera --- */
.woosc-quick-table .woosc_table thead tr th,
.woosc-area .woosc_table thead tr th {
    border-bottom: 2px solid #000065 !important;
    border-right: 1px solid #e0e0e0 !important;
    padding: 10px 12px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #000065 !important;
    background: #f4f6f9 !important;
    vertical-align: middle !important;
    text-align: center !important;
}

.woosc-quick-table .woosc_table thead tr th:last-child,
.woosc-area .woosc_table thead tr th:last-child {
    border-right: none !important;
}

/* --- Todas las celdas del body: línea en cada fila --- */
.woosc-quick-table .woosc_table tbody tr td,
.woosc-area .woosc_table tbody tr td {
    border-bottom: 1px solid #e0e0e0 !important;
    border-right: 1px solid #eee !important;
    vertical-align: middle !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.woosc-quick-table .woosc_table tbody tr td:last-child,
.woosc-area .woosc_table tbody tr td:last-child {
    border-right: none !important;
}

/* --- Label columna izquierda --- */
.woosc-quick-table .woosc_table td.td-label,
.woosc-area .woosc_table td.td-label {
    font-weight: 700 !important;
    color: #000065 !important;
    white-space: nowrap !important;
    background: #f4f6f9 !important;
    border-right: 1px solid #e0e0e0 !important;
    min-width: 120px !important;
    width: 120px !important;
}

/* --- Alternancia de color --- */
.woosc-quick-table .woosc_table tbody tr:nth-child(even) td,
.woosc-area .woosc_table tbody tr:nth-child(even) td {
    background: #fafbfc !important;
}

.woosc-quick-table .woosc_table tbody tr:nth-child(even) td.td-label,
.woosc-area .woosc_table tbody tr:nth-child(even) td.td-label {
    background: #eff1f5 !important;
}

.woosc-quick-table .woosc_table tbody tr:nth-child(odd) td,
.woosc-area .woosc_table tbody tr:nth-child(odd) td {
    background: #fff !important;
}

.woosc-quick-table .woosc_table tbody tr:nth-child(odd) td.td-label,
.woosc-area .woosc_table tbody tr:nth-child(odd) td.td-label {
    background: #f4f6f9 !important;
}

/* --- Hover en filas --- */
.woosc-quick-table .woosc_table tbody tr:hover td,
.woosc-area .woosc_table tbody tr:hover td {
    background: #eef8f7 !important;
}

.woosc-quick-table .woosc_table tbody tr:hover td.td-label,
.woosc-area .woosc_table tbody tr:hover td.td-label {
    background: #e4f0ee !important;
}

/* --- Imágenes MUCHO más pequeñas --- */
.woosc-quick-table .woosc_table tr.tr-image td.col,
.woosc-area .woosc_table tr.tr-image td.col {
    padding: 8px 12px !important;
    text-align: center !important;
}

.woosc-quick-table .woosc_table tr.tr-image img,
.woosc-area .woosc_table tr.tr-image img {
    max-width: 70px !important;
    max-height: 70px !important;
    width: auto !important;
    height: auto !important;
    border-radius: 4px !important;
    object-fit: contain !important;
}

.woosc-quick-table .woosc_table tr.tr-image picture,
.woosc-area .woosc_table tr.tr-image picture {
    display: inline-block !important;
    max-width: 70px !important;
}

/* --- Precio centrado --- */
.woosc-quick-table .woosc_table tr.tr-price td.col,
.woosc-area .woosc_table tr.tr-price td.col {
    font-weight: 600 !important;
    color: #000065 !important;
}

/* --- Botón add to cart: compacto --- */
.woosc-quick-table .woosc_table tr.tr-add_to_cart td.col,
.woosc-area .woosc_table tr.tr-add_to_cart td.col {
    padding: 6px 8px !important;
}

.woosc-quick-table .woosc_table tr.tr-add_to_cart td.col .button,
.woosc-area .woosc_table tr.tr-add_to_cart td.col .button {
    font-size: 11px !important;
    padding: 6px 14px !important;
    white-space: nowrap !important;
}

/* --- Título "Comparación rápida" --- */
.woosc-quick-table > h2 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000065 !important;
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid #2AB9AD !important;
}

/* --- Botón "eliminar" más discreto --- */
.woosc-quick-table .woosc-remove,
.woosc-area .woosc-remove {
    font-size: 10px !important;
    color: #bbb !important;
    cursor: pointer !important;
    display: block !important;
    margin-top: 3px !important;
}

.woosc-quick-table .woosc-remove:hover,
.woosc-area .woosc-remove:hover {
    color: #e74c3c !important;
}

/* --- Scroll horizontal en móvil --- */
.woosc-quick-table-products {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

/* --- Celdas vacías: guión discreto --- */
.woosc-quick-table .woosc_table tbody td.col:empty::after,
.woosc-area .woosc_table tbody td.col:empty::after {
    content: '—' !important;
    color: #ccc !important;
}

/* --- Sección Presupuesto: texto sobre overlay --- */
#wd-cta-pres > .wp-block-wd-container {
    position: relative;
    z-index: 2;
}
#wd-cta-pres > .wd-bg-overlay {
    z-index: 1;
}
#wd-cta-pres .wp-block-wd-title,
#wd-cta-pres .wp-block-wd-paragraph {
    color: #ffffff !important;
}
#wd-cta-pres #wd-59412810 {
    color: #000065 !important;
}
#wd-cta-pres #wd-cta-btn- {
    color: #ffffff !important;
}

/* --- SLIDER: forzar texto visible (fix animación que no se activa) --- */
.wd-slider .wd-slide-container .wd-animation {
    opacity: 1 !important;
    transform: none !important;
}
.wd-slider .wd-slide-container .wd-transform {
    transform: none !important;
}
