/*
Theme Name: Hello Elementor Child
Theme URI: https://serviciosdigitalesve.com
Description: Child theme for Servicios Digitales
Author: Servicios Digitales
Template: hello-elementor
Version: 1.4.2
Text Domain: hello-elementor-child
*/

:root {
  --sd-yellow: #F7D923;
  --sd-brand: #3D5AFE;
  --sd-brand-deep: #2A3FE0;
  --sd-brand-soft: #EEF1FF;
  --sd-gray: #3B484E;
  --sd-muted: #6E7A80;
  --sd-surface: #F6F7F9;
  --sd-line: #E6E8EB;
  --sd-white: #FFFFFF;
  --sd-orange: #FF6A00;
  --sd-red: #FA5A3A;
  --sd-max: 1440px;
}

html, body { margin: 0; padding: 0; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--sd-gray);
  background: var(--sd-white);
  -webkit-font-smoothing: antialiased;
}
body.elementor-default .site-main, .site-main { max-width: 100%; }
img { max-width: 100%; }

/* ---------- Header: search ---------- */
.sd-search, .sd-search .elementor-widget-container, .sd-search .widget { width: 100%; margin: 0; }
.sd-search .widget { padding: 0; }
.sd-search form.woocommerce-product-search {
  position: relative; display: flex; align-items: center; width: 100%; box-sizing: border-box;
  margin: 0; padding: 12px 16px 12px 47px; min-height: 48px;
  background: var(--sd-surface) url('/wp-content/uploads/2026/11/sd-icon-search.png') no-repeat 16px center / 20px 20px;
  border: 1px solid var(--sd-line); border-radius: 999px;
}
.sd-search form.woocommerce-product-search .screen-reader-text { position: absolute; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
.sd-search form.woocommerce-product-search input[type="search"] {
  flex: 1; width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; box-shadow: none; padding: 0; margin: 0;
  font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-gray); height: 22px;
}
.sd-search form.woocommerce-product-search input[type="search"]::placeholder { color: var(--sd-muted); opacity: 1; }
.sd-search form.woocommerce-product-search button { position: absolute; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; padding: 0; border: 0; }

/* ---------- Header: cart ---------- */
.sd-cart { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.sd-cart__icon { display: block; width: 22px; height: 22px; }
.sd-cart__count {
  display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 999px;
  background: var(--sd-brand); color: #fff; font: 700 11px/1 'Inter', sans-serif;
}
.sd-cart__count.is-empty { display: none; }

/* ---------- Navigation (WP menu widget) ---------- */
.sd-nav .widget, .sd-nav .elementor-widget-container { margin: 0; padding: 0; }
.sd-nav ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 32px; list-style: none; margin: 0; padding: 0; }
.sd-nav li { margin: 0; padding: 0; }
.sd-nav a { display: block; font: 600 14px/18px 'Inter', sans-serif; color: var(--sd-gray); text-decoration: none; transition: color .2s ease; }
.sd-nav a:hover, .sd-nav .current-menu-item > a, .sd-nav .current-menu-ancestor > a, .sd-nav .current_page_item > a { color: var(--sd-brand); }

.sd-foot-menu .widget, .sd-foot-menu .elementor-widget-container { margin: 0; padding: 0; }
.sd-foot-menu ul { display: flex; flex-direction: column; gap: 12px; list-style: none; margin: 0; padding: 0; }
.sd-foot-menu li { margin: 0; }
.sd-foot-menu a { font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-gray); text-decoration: none; }
.sd-foot-menu a:hover { color: var(--sd-brand); }

@media (max-width: 767px) {
  .sd-search form.woocommerce-product-search { padding: 12px 16px 12px 42px; min-height: 46px; background-position: 16px center; background-size: 18px 18px; border-color: var(--sd-surface); }
  .sd-nav ul { gap: 8px; justify-content: flex-start; }
  .sd-nav a { font-weight: 400; font-size: 14px; line-height: 22px; background: var(--sd-surface); border-radius: 999px; padding: 8px 12px; }
  .sd-nav a:hover, .sd-nav .current-menu-item > a { background: var(--sd-brand); color: #fff; }
}

/* ---------- Product grid + cards ---------- */
.woocommerce ul.products, .woocommerce-page ul.products, .sd-grid ul.products {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.woocommerce ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none !important; content: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  float: none; width: auto; margin: 0; padding: 0; display: flex; flex-direction: column; overflow: hidden;
  background: #fff; border: 1px solid var(--sd-line); border-radius: 16px; box-shadow: 0 8px 24px rgba(10, 15, 41, .08);
}
.sd-shop ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sd-card__media { display: block; height: 210px; overflow: hidden; flex-shrink: 0; background: var(--sd-surface); }
.sd-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.sd-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px; flex: 1; }
.sd-badge { display: inline-flex; padding: 4px 8px; border-radius: 999px; font: 500 12px/16px 'Inter', sans-serif; letter-spacing: .96px; text-transform: uppercase; background: var(--sd-yellow); color: var(--sd-gray); }
.sd-badge--sale { background: var(--sd-red); color: #fff; }
.sd-card__eyebrow { font: 500 12px/16px 'Inter', sans-serif; letter-spacing: .96px; text-transform: uppercase; color: var(--sd-brand); }
.sd-card__title { margin: 0; font: 600 20px/28px 'Inter', sans-serif; color: var(--sd-gray); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sd-card__title a { color: inherit; text-decoration: none; }
.sd-card__rating { display: flex; align-items: center; gap: 8px; font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-gray); }
.sd-card__muted { color: var(--sd-muted); }
.sd-card__price { font: 700 20px/26px 'Inter', sans-serif; color: var(--sd-gray); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.sd-card__price .price, .sd-card__price .amount, .sd-card__price bdi { font: inherit; color: inherit; }
.sd-card__price del { font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-muted); order: 2; }
.sd-card__price ins { text-decoration: none; background: transparent; }
.sd-card__body .button, .sd-card__body a.add_to_cart_button {
  margin: auto 0 0; align-self: stretch; display: block; text-align: center; background: #fff; color: var(--sd-brand);
  border: 1.5px solid var(--sd-brand); border-radius: 999px; padding: 12px 0; font: 600 14px/18px 'Inter', sans-serif; text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.sd-card__body .button:hover { background: var(--sd-brand); color: #fff; }
.sd-card__body a.added_to_cart { align-self: stretch; text-align: center; font: 600 13px/18px 'Inter', sans-serif; color: var(--sd-brand); }
.sd-card__price { margin-top: 0; }
.sd-card__body .button { margin-top: auto; }

@media (max-width: 1024px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .woocommerce ul.products, .woocommerce-page ul.products, .sd-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .sd-card__media { height: 140px; }
  .sd-card__body { padding: 12px; gap: 8px; }
  .sd-card__body .button, .sd-card__body a.added_to_cart, .sd-card__rating { display: none; }
}

/* ---------- Fixes: Woo width overrides ---------- */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product,
.woocommerce.columns-3 ul.products li.product, .woocommerce.columns-4 ul.products li.product,
.woocommerce-page.columns-3 ul.products li.product, .woocommerce-page.columns-4 ul.products li.product {
  width: auto !important; float: none !important; margin: 0 !important; clear: none !important;
}
.sd-featured, .sd-featured .woocommerce { width: 100%; }
.sd-featured .elementor-shortcode { width: 100%; }
@media (max-width: 1024px) { .sd-featured ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) { .sd-featured ul.products li.product:nth-child(n+3) { display: none; } }

/* ---------- Newsletter form ---------- */
.sd-news { width: 100%; }
.sd-news__form { display: flex; align-items: center; gap: 12px; width: 100%; margin: 0; }
.sd-news__form input[type="email"] {
  flex: 1 1 auto; min-width: 0; height: 54px; box-sizing: border-box; padding: 0 20px; margin: 0; background: #fff; color: var(--sd-gray);
  border: 0; border-radius: 999px; outline: 0; box-shadow: none; font: 400 14px/22px 'Inter', sans-serif;
}
.sd-news__form input[type="email"]::placeholder { color: var(--sd-muted); opacity: 1; }
.sd-news__form button {
  flex: 0 0 auto; height: 50px; padding: 0 24px; margin: 0; background: var(--sd-gray); color: #fff; border: 0; border-radius: 999px; cursor: pointer;
  font: 600 14px/18px 'Inter', sans-serif; transition: background-color .2s ease;
}
.sd-news__form button:hover { background: var(--sd-yellow); color: var(--sd-gray); }
.sd-news__msg { margin: 12px 0 0; text-align: center; color: #fff; font: 500 14px/22px 'Inter', sans-serif; }
@media (max-width: 767px) { .sd-news__form { flex-direction: column; align-items: stretch; } .sd-news__form button { width: 100%; } }

/* ---------- Page chrome ---------- */
body.elementor-page .page-header, body.elementor-page header.page-header, body.home .page-header { display: none !important; }
.sd-price, .sd-price .woocommerce-Price-amount, .sd-price bdi, .sd-price span { font: 600 14px/18px 'Inter', sans-serif; color: var(--sd-gray); }
.sd-price del { color: var(--sd-muted); font-weight: 400; margin-right: 6px; }
.sd-price ins { text-decoration: none; background: transparent; }
@media (max-width: 767px) {
  .sd-news__form input[type="email"] { height: 46px; padding: 0 16px; }
  .sd-news__form button { height: 42px; background: var(--sd-yellow); color: var(--sd-gray); }
}

/* ---------- Shop page ---------- */
.sd-crumb { font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-muted); }
.sd-crumb a { color: var(--sd-muted); text-decoration: none; }
.sd-crumb a:hover { color: var(--sd-brand); }
.sd-shop-title { margin: 0; font: 700 40px/48px 'Inter', sans-serif; letter-spacing: -1px; color: var(--sd-gray); }
.sd-result-count { font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-muted); }
.sd-sort { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 17px; border: 1px solid var(--sd-line); border-radius: 999px; font: 600 14px/18px 'Inter', sans-serif; color: var(--sd-gray); background: #fff; }
.sd-sort form.woocommerce-ordering { margin: 0; }
.sd-sort select { border: 0; background: transparent; padding: 0 4px 0 0; margin: 0; font: 600 14px/18px 'Inter', sans-serif; color: var(--sd-gray); cursor: pointer; outline: 0; box-shadow: none; }
.sd-filter-btn { display: none; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 999px; background: var(--sd-surface); align-items: center; justify-content: center; cursor: pointer; }
.sd-drawer-head, .sd-chips { display: none; }
.sd-fblock { margin: 0; }
.sd-fblock__title, .sd-filters .wpfFilterTitle, .sd-filters .wpfTitle { margin: 0 0 12px; font: 600 14px/18px 'Inter', sans-serif; color: var(--sd-gray); }
.sd-modelo { list-style: none; margin: 0; padding: 0; max-height: 220px; overflow: auto; display: flex; flex-direction: column; gap: 10px; }
.sd-modelo li { margin: 0; }
.sd-modelo a { display: flex; align-items: center; gap: 8px; font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-gray); text-decoration: none; }
.sd-box { display: inline-block; flex: 0 0 16px; width: 16px; height: 16px; border: 1px solid var(--sd-line); border-radius: 4px; background: #fff; }
.sd-modelo li.is-active .sd-box { background: var(--sd-brand); border-color: var(--sd-brand); }
.sd-modelo a:hover { color: var(--sd-brand); }
.sd-filters .wpfMainWrapper, .sd-filters .wpfFilterWrapper { margin: 0 0 20px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.sd-filters .wpfFilterWrapper ul { list-style: none; margin: 0; padding: 0; }
.sd-filters .wpfFilterWrapper li { font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-gray); margin: 0 0 10px; }
.sd-filters .wpfFilterWrapper label, .sd-filters .wpfFilterWrapper a { font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-gray); text-decoration: none; }
.sd-filters .wpfFilterButton, .sd-filters .wpfClearButton, .sd-filters button.wpfButton { margin: 4px 8px 0 0; padding: 12px 20px; border: 0; border-radius: 999px; background: var(--sd-brand); color: #fff; font: 600 14px/18px 'Inter', sans-serif; cursor: pointer; }
.sd-filters .wpfClearButton { background: var(--sd-surface); color: var(--sd-gray); }
.sd-shop .woocommerce-pagination { margin-top: 24px; }
.sd-shop .woocommerce-pagination ul.page-numbers { display: flex; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; border: 0; }
.sd-shop .woocommerce-pagination ul.page-numbers li { border: 0; margin: 0; padding: 0; float: none; }
.sd-shop .woocommerce-pagination .page-numbers a, .sd-shop .woocommerce-pagination .page-numbers span.current { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--sd-line); border-radius: 999px; background: #fff; font: 600 14px/18px 'Inter', sans-serif; color: var(--sd-gray); text-decoration: none; }
.sd-shop .woocommerce-pagination .page-numbers span.current { background: var(--sd-brand); border-color: var(--sd-brand); color: #fff; }
.sd-empty { padding: 48px 0; text-align: center; color: var(--sd-muted); font: 400 16px/26px 'Inter', sans-serif; }
.sd-filters { background: #fff; }
@media (min-width: 768px) {
  .sd-filters { border: 1px solid var(--sd-line); border-radius: 16px; padding: 20px; box-sizing: border-box; }
}
@media (max-width: 767px) {
  .sd-shop-title { font-size: 32px; line-height: 40px; letter-spacing: -.48px; }
  .sd-filter-btn { display: inline-flex; }
  .sd-sort-wrap { display: none; }
  .sd-chips { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
  .sd-chip { padding: 8px 12px; border-radius: 999px; background: var(--sd-surface); color: var(--sd-gray); font: 400 14px/22px 'Inter', sans-serif; text-decoration: none; }
  .sd-filters { position: fixed; top: 0; right: 0; bottom: 0; width: 320px; max-width: 85vw; box-sizing: border-box; padding: 20px; overflow: auto; z-index: 100000; transform: translateX(100%); transition: transform .25s ease; box-shadow: -8px 0 24px rgba(10,15,41,.12); }
  body.sd-filters-open .sd-filters { transform: none; }
  body.sd-filters-open::after { content: ''; position: fixed; inset: 0; background: rgba(10,15,41,.5); z-index: 99999; }
  .sd-drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; font: 700 20px/28px 'Inter', sans-serif; color: var(--sd-gray); }
  .sd-drawer-close { border: 0; background: transparent; padding: 0; cursor: pointer; }
}


/* ======================================================================
   Single product (Figma 2:54 / 16:120)
   ====================================================================== */
.single-product .site-main { max-width: 1440px; margin: 0 auto; padding: 0; }
.single-product .woocommerce-notices-wrapper { padding: 0 80px; }
.single-product div.product {
  display: grid; grid-template-columns: 620px minmax(0, 1fr); column-gap: 48px; row-gap: 0;
  padding: 32px 80px 0; align-items: start; box-sizing: border-box; margin: 0;
}
.single-product div.product > * { min-width: 0; }
.single-product div.product div.images, .single-product div.product div.summary {
  float: none !important; width: auto !important; margin: 0 !important; clear: none;
}
.single-product span.onsale { display: none; }

/* gallery */
.single-product .woocommerce-product-gallery { position: relative; }
.single-product .woocommerce-product-gallery .flex-viewport { height: auto !important; border-radius: 16px; overflow: hidden; background: var(--sd-surface); }
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__image a { display: block; width: 100%; }
.single-product .woocommerce-product-gallery__image img { height: 480px; object-fit: cover; border-radius: 16px; }
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:not(:first-child) { display: none; }
.single-product .woocommerce-product-gallery.flex-ready .woocommerce-product-gallery__image:not(:first-child),
.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image { display: block; }
.single-product .woocommerce-product-gallery__trigger { top: 16px; right: 16px; }
.single-product .flex-control-thumbs {
  display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0 0; padding: 0; list-style: none;
}
.single-product .flex-control-thumbs li { width: 96px !important; height: 96px; float: none !important; margin: 0; }
.single-product .flex-control-thumbs li img {
  width: 96px; height: 96px; object-fit: cover; border-radius: 12px; opacity: 1; cursor: pointer;
  border: 2px solid transparent; box-sizing: border-box; display: block;
}
.single-product .flex-control-thumbs li img.flex-active { border-color: var(--sd-brand); }

/* summary */
.single-product .summary { font-family: 'Inter', sans-serif; }
.sd-pdp-crumb { margin: 0 0 16px; }
.sd-pdp-eyebrow { display: block; font: 500 12px/16px 'Inter', sans-serif; letter-spacing: .96px; text-transform: uppercase; color: var(--sd-brand); margin-bottom: 16px; }
.single-product .summary .product_title { font: 700 40px/48px 'Inter', sans-serif; letter-spacing: -.5px; color: var(--sd-gray); margin: 0 0 16px; }
.sd-pdp-rating { display: flex; align-items: center; gap: 8px; font: 400 14px/22px 'Inter', sans-serif; margin-bottom: 16px; }
.sd-pdp-rating strong { font-weight: 600; color: var(--sd-gray); }
.sd-pdp-rating a { color: var(--sd-brand); text-decoration: none; }
.sd-buybox { background: #fff; border: 1px solid var(--sd-line); border-radius: 16px; padding: 24px; margin-top: 16px; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.sd-pdp-price { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 16px; }
.sd-pdp-price .price { display: flex; align-items: baseline; gap: 12px; margin: 0; font: 700 32px/39px 'Inter', sans-serif; color: var(--sd-gray); }
.sd-pdp-price .price ins { order: -1; text-decoration: none; background: none; font-weight: 700; }
.sd-pdp-price .price del { opacity: 1; font: 400 18px/26px 'Inter', sans-serif; color: var(--sd-muted); }
.sd-pdp-price .price .woocommerce-Price-amount { font: inherit; color: inherit; }
.sd-pdp-price .sd-badge { background: var(--sd-red); color: #fff; }
.single-product .woocommerce-product-details__short-description { font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-muted); margin: 0 0 16px; }
.single-product .woocommerce-product-details__short-description p { margin: 0; font: inherit; color: inherit; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sd-pdp-bullets { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 16px; }
.sd-pdp-bullets li { position: relative; padding-left: 18px; font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-gray); margin: 0; }
.sd-pdp-bullets li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--sd-brand); }
.sd-buybox form.cart {
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px 12px;
  border-top: 1px solid var(--sd-line); padding-top: 16px; margin: 0 0 16px;
}
.sd-buybox .stock { display: none; }
.sd-buybox form.cart .quantity { display: flex; align-items: center; margin: 0; }
.sd-buybox .quantity input.qty {
  width: 36px; height: 36px; border: 0; background: none; text-align: center; font: 600 18px/28px 'Inter', sans-serif;
  color: var(--sd-gray); padding: 0; -moz-appearance: textfield; appearance: textfield; margin: 0 4px;
}
.sd-buybox .quantity input.qty::-webkit-outer-spin-button, .sd-buybox .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sd-step { width: 36px; height: 36px; padding: 0; border-radius: 50%; border: 1px solid var(--sd-line); background: #fff; color: var(--sd-gray); font: 500 18px/1 'Inter', sans-serif; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.sd-step:hover { background: var(--sd-surface); color: var(--sd-gray); border-color: var(--sd-line); }
.sd-stock { justify-self: end; font: 500 14px/18px 'Inter', sans-serif; color: #12A150; }
.sd-buybox form.cart .single_add_to_cart_button {
  grid-column: 1 / -1; width: 100%; height: 50px; margin: 0; padding: 0 24px; border: 0; border-radius: 999px;
  background: var(--sd-brand); color: #fff; font: 600 14px/18px 'Inter', sans-serif; letter-spacing: 0; text-transform: none;
}
.sd-buybox form.cart .single_add_to_cart_button:hover { background: var(--sd-brand-deep); }
.sd-buy-now {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 52px; box-sizing: border-box; margin: 0 0 16px;
  border: 1px solid var(--sd-brand); border-radius: 999px; background: #fff; color: var(--sd-brand);
  font: 600 14px/18px 'Inter', sans-serif; text-decoration: none;
}
.sd-buy-now:hover { background: var(--sd-brand-soft); color: var(--sd-brand); }
.sd-pdp-note { margin: 0; font: 400 14px/22px 'Inter', sans-serif; color: var(--sd-muted); }
.sd-pdp-note span { margin: 0 6px; }
.single-product .product_meta { display: none; }

/* tabs / details band */
.single-product div.product .woocommerce-tabs {
  grid-column: 1 / -1; margin: 32px 0 0; padding: 32px 0; background: var(--sd-surface);
  box-shadow: 0 0 0 100vmax var(--sd-surface); clip-path: inset(0 -100vmax); float: none; width: auto;
}
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 32px; margin: 0 0 24px; padding: 0; border: 0; background: none; overflow: visible; }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li { border: 0; background: none; margin: 0; padding: 0; border-radius: 0; box-shadow: none; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 0 0 8px; font: 500 14px/18px 'Inter', sans-serif; color: var(--sd-muted); border-bottom: 2px solid transparent; text-decoration: none; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--sd-brand); border-bottom-color: var(--sd-brand); }
.single-product .woocommerce-tabs .panel { background: #fff; border-radius: 16px; padding: 32px; margin: 0; box-shadow: none; font: 400 14px/26px 'Inter', sans-serif; color: var(--sd-muted); }
.single-product .woocommerce-tabs .panel h2 { font: 600 20px/28px 'Inter', sans-serif; color: var(--sd-gray); margin: 0 0 12px; }
.single-product .woocommerce-tabs .panel p { margin: 0 0 12px; }
.single-product .woocommerce-tabs table.shop_attributes { width: 100%; max-width: 420px; border: 1px solid var(--sd-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; margin: 0; }
.single-product .woocommerce-tabs table.shop_attributes tr:nth-child(odd) { background: var(--sd-surface); }
.single-product .woocommerce-tabs table.shop_attributes th, .single-product .woocommerce-tabs table.shop_attributes td { padding: 12px 16px; border: 0; border-bottom: 1px solid var(--sd-line); font: 400 14px/22px 'Inter', sans-serif; background: none; font-style: normal; }
.single-product .woocommerce-tabs table.shop_attributes th { width: 40%; color: var(--sd-muted); text-align: left; font-weight: 400; }
.single-product .woocommerce-tabs table.shop_attributes td { color: var(--sd-gray); font-weight: 600; text-align: right; }
.single-product .woocommerce-tabs table.shop_attributes td p { margin: 0; }
.single-product .woocommerce-tabs table.shop_attributes tr:last-child th, .single-product .woocommerce-tabs table.shop_attributes tr:last-child td { border-bottom: 0; }

/* related */
.single-product section.related, .single-product section.up-sells { grid-column: 1 / -1; padding: 64px 0; }
.single-product section.related > h2 { font: 700 32px/40px 'Inter', sans-serif; letter-spacing: -.3px; color: var(--sd-gray); margin: 0 0 24px; }
.single-product section.related ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; }
.single-product section.related ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
.single-product section.related .sd-card__body .button,
.single-product section.related .sd-card__body a.added_to_cart,
.single-product section.related .sd-card__rating,
.single-product section.related .sd-card__eyebrow { display: none; }
.single-product section.related .sd-card__media img { height: 160px; object-fit: cover; }

@media (max-width: 1024px) {
  .single-product .woocommerce-notices-wrapper { padding: 0 32px; }
  .single-product div.product { grid-template-columns: 1fr; padding: 24px 32px 0; row-gap: 24px; }
  .single-product section.related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .single-product .woocommerce-notices-wrapper { padding: 0 16px; }
  .single-product div.product { padding: 0 16px; row-gap: 16px; }
  .single-product .woocommerce-product-gallery__image img { height: 280px; }
  .single-product .flex-control-thumbs { gap: 8px; margin-top: 12px; }
  .single-product .flex-control-thumbs li, .single-product .flex-control-thumbs li img { width: 72px !important; height: 72px; }
  .sd-pdp-crumb, .single-product .woocommerce-product-details__short-description, .sd-pdp-note, .sd-pdp-rating { display: none; }
  .single-product .summary .product_title { font-size: 32px; line-height: 40px; margin-bottom: 12px; }
  .sd-buybox { border: 0; box-shadow: none; padding: 0; margin-top: 0; }
  .sd-pdp-price .price { font-size: 32px; line-height: 40px; }
  .sd-buybox form.cart { border-top: 0; padding-top: 0; }
  .single-product div.product .woocommerce-tabs { margin: 0; padding: 0; background: none; box-shadow: none; clip-path: none; }
  .single-product .woocommerce-tabs ul.tabs { display: none; }
  .single-product .woocommerce-tabs .panel { display: none !important; padding: 0; border-radius: 0; }
  .single-product .woocommerce-tabs .panel#tab-additional_information { display: block !important; }
  .single-product .woocommerce-tabs .panel#tab-additional_information::before { content: 'Especificaciones'; display: block; font: 600 20px/28px 'Inter', sans-serif; color: var(--sd-gray); margin-bottom: 12px; }
  .single-product .woocommerce-tabs table.shop_attributes { max-width: none; }
  .single-product section.related { padding: 32px 0; }
  .single-product section.related > h2 { font-size: 20px; line-height: 28px; }
  .single-product section.related ul.products li.product:nth-child(n+3) { display: none; }
  .single-product section.related .sd-card__media img { height: 110px; }
}

/* PDP fixes */
.sd-pdp-price, .sd-pdp-price .woocs_price_code, .sd-pdp-price .woocommerce-Price-amount, .sd-pdp-price bdi { font: 700 32px/39px 'Inter', sans-serif; color: var(--sd-gray); }
.sd-pdp-price .woocs_price_code { display: inline-flex; align-items: baseline; gap: 12px; }
.sd-pdp-price del, .sd-pdp-price del .woocommerce-Price-amount, .sd-pdp-price del bdi { font: 400 18px/26px 'Inter', sans-serif !important; color: var(--sd-muted) !important; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li,
.single-product div.product .woocommerce-tabs ul.tabs li { border: 0 !important; background: none !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; }
.single-product div.product .woocommerce-tabs ul.tabs li.active { background: none !important; }
.single-product section.related ul.products li.product .button,
.single-product section.related ul.products li.product a.added_to_cart { display: none !important; }
.single-product .woocommerce-tabs .panel > h2:first-child { }
@media (max-width: 767px) {
  .sd-pdp-price, .sd-pdp-price .woocs_price_code, .sd-pdp-price .woocommerce-Price-amount, .sd-pdp-price bdi { font-size: 32px; line-height: 40px; }
  .single-product .woocommerce-tabs .panel#tab-additional_information > h2 { display: none; }
}

.sd-buybox form.cart { display: flex !important; flex-wrap: wrap; align-items: center; gap: 16px 12px; }
.sd-buybox form.cart .quantity { flex: 0 0 auto; width: auto !important; float: none; }
.sd-buybox form.cart .sd-stock { margin-left: auto; }
.sd-buybox form.cart .single_add_to_cart_button { flex: 0 0 100%; }
.single-product div.product .woocommerce-tabs .panel { padding: 32px !important; background: #fff !important; }
@media (max-width: 767px) { .single-product div.product .woocommerce-tabs .panel { padding: 0 !important; background: none !important; } }
