/*
Theme Name: Double Play Celular
Theme URI: https://www.doubleplaycelular.com/
Author: Infinity Nexus
Author URI: https://infinitynexus.do
Description: Tienda desarollada a la medida con Woocommerce.
Version: 6.2.1
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: bootscore
Tags: featured-images, threaded-comments, translation-ready

Use this theme to make something cool, have fun, and share what you've learned with others.

Bootscore is based on Underscores https://underscores.me/, (C) 2012-2024 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/* 
All style editing is done via /assets/scss/_bootscore-custom.scss
*/

:root {
  --primario: #962D31;
  --secundario: #5c6062;
  --negro: #000000;
  --blanco: #ffffff;
  --gris-claro: #f5f5f5;
  --accent: #962D31;     /* principal */
  --accent-2: #5c6062;   /* secundario */
  --text: #1e1f23;
  --muted: #6d7276;
  --line: #e6e7ea;
  --bg-soft: #fafbfc;
  --radius: 12px;
  --shadow: 0 8px 20px rgba(15, 18, 22, .08);
  --azul-accent: #962D31;          /* granate de marca */
  --azul-accent-600:#7e2529;
  --azul-success:#2e7d32;
  --azul-text:#222;
  --azul-muted:#6b7280;
  --azul-line:#e9ecef;
  --azul-chip-bg:#f7f7f8;
  --azul-card:#ffffff;
}

a{
  color: var(--primario);
}



.navbar.bg-body-tertiary{
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.15);
}

body{
	margin: 0;
	padding: 0;
}

.logo-header{
	display: block;
	width: 240px;
}

.search-header .btn-select{
	border:1px solid #D5D7DE;
	height: 50px;
	padding: 0 25px;
}

.search-header input[type=text]{
	border:1px solid #D5D7DE;
	padding: 0 40px;
}

.search-header input::placeholder {
  color: #8E9CA9;
}

.search-header .btn-search:hover{
	background: #5C6062;
}
.search-header .btn-search{
	background: #962D31;
	border: 0;
	color: #FFF;
	font-size: 14px;
	padding: 0 25px;
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show,
.navbar-expand-lg .navbar-nav .current-product-ancestor .nav-link,
.navbar-expand-lg .navbar-nav .nav-link:hover{
  color: var(--primario);
}

.box-header{
	line-height: normal;
	padding-top: 5px;
  position: relative;
}

.box-header a{
  text-decoration: none;
}
.box-header .fa-regular,
.box-header .fa-solid{
	font-size: 24px;
	color: #5C6062;
}
.box-header .txt{
	font-size: 13px;
	color: #AAB4BE;
	text-decoration: none;
	line-height: 13px;
}

.box-header .lnk:hover,
.box-header .txt:hover{
	color: #962D31;
}

.box-header .lk span{
    background: #962d32;
    color: #FFF;
    display: inline-block;
    width: 20px;
    height: 20px;
    text-align: center;
    font-size: 12px;
    line-height: 20px;
    border-radius: 100%;
    top: 0;
    right:10px;
}
.box-header .lk{
	position: relative;
}
.box-header .lnk{
	color: #000;
	text-decoration: none;
	font-size: 13px;
	font-weight: bold;
}

.categorias-home a.prnc{
	background: #F6F7F9;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	border: 0;
	border-bottom: 1px solid #E1E5EB;
}

.categorias-home a{
	color: #191919;
	text-decoration: none;
	line-height: 50px;
	font-size: 16px;
	padding: 0 15px;
	border: 1px solid #E1E5EB;
	border-top:0;
}

.menu-header .nav-link:hover,
.categorias-home a:hover{
	background: #F6F7F9;
}

.menu-header .nav-link{
	line-height: 50px;
	padding: 0 15px;
	color: #000;
	position: relative;
}

.menu-header .nav-link:after{
	content:" ";
	display: inline-block;
	height: 12px;
	width: 1px;
	position: absolute;
	right: 0;
	top: 20px;
	background: #000;
}

.menu-header .nav-item:last-child .nav-link:after{
	display: none;
}

.box-menu{
	font-size: 14px;
	line-height: normal;
	color: #9A9A9A;
}

.box-menu i{
	float: left;
	font-size: 45px;
	margin-right: 10px;
	color: #000;
}

.box-menu h4{
	font-size: 16px;
	font-weight: bold;
	line-height: normal;
	color: #000;
}

.wc-category-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #ddd;
}

.wc-category-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 15px;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  position: relative;
  background: #fff;
}

.wc-category-item:last-child {
  border-bottom: none;
}

.wc-category-item:hover {
  background: #f9f9f9;
}

.wc-category-item img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  margin-right: 10px;
}

.wc-category-item span {
  flex: 1;
}

/* Flecha a la derecha */
.wc-category-item i {
  font-size: 14px;
  color: #888;
}

/* ====== Subcategorías flotantes ====== */
.subcategory-panel {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 220px;
  background: #fff;
  border: 1px solid #ddd;
  z-index: 99;
}

.subcategory-panel a {
  display: block;
  padding: 10px;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

.subcategory-panel a:hover {
  background: #f5f5f5;
}

.wc-category-item:hover .subcategory-panel {
  display: block;
}

.category-link {
  display: flex;
  align-items: center;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

.producto-item {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 15px;
  text-align: center;
  color: #333;
  margin-bottom: 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.producto-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Imagen del producto */
.producto-item img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  margin-bottom: 10px;
}

/* Nombre del producto */
.producto-nombre {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  margin: 10px 0 5px;
}

.producto-nombre a {
  color: #000;
  text-decoration: none;
}

.producto-nombre a:hover {
  color: #555;
}

/* Vendidos */
.producto-vendidos {
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
}

/* Estrellas de rating */
.producto-rating {
  margin-bottom: 10px;
}

/* Precio */
.producto-precio {
  font-size: 16px;
  font-weight: bold;
  color: #5c6062;
  margin-bottom: 10px;
}

/* Botón agregar al carrito */
.producto-carrito .button {
  background-color: #333;
  border: none;
  color: #fff;
  padding: 10px 14px;
  border-radius: 5px;
  font-size: 14px;
  transition: background-color 0.2s ease;
}

.producto-carrito .button:hover {
  background-color: #000;
}

.woocommerce .star-rating::before{
  content: "";
}

.woocommerce .star-rating span::before {
  content: '★★★★★';
  color: #f5b301; /* color estrella encendida */
}

.woocommerce .star-rating {
  font-size: 16px;
  color: #ccc; /* estrellas apagadas */
  letter-spacing: 1px;
  display: inline-block;
}

.woocommerce .star-rating span {
  color: #f5b301;
}

.woocommerce .star-rating .screen-reader-text {
  display: none !important;
}

.cat-title-home {
  font-size: 1.5rem;
  font-weight: 400;
  color: #333;
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.cat-title-home::after {
  content: '';
  flex-grow: 1;
  height: 1px;
  background-color: #ddd;
  margin-left: 15px;
}

.widget_shopping_cart_content .woocommerce-Price-amount.amount{
	font-size: 14px;
}


/* ---------- TITULOS ---------- */
.product_title,
h1, h2, h3, h4 {
  color: var(--primario);
  font-weight: 600;
}

/* ---------- PRECIO ---------- */
.price {
  font-size: 1.5rem;
  color: var(--negro);
  font-weight: bold;
}

.price span {
  color: var(--primario);
}

/* ---------- BOTONES ---------- */
button,
.btn,
.add_to_cart_button {
  background-color: var(--primario);
  border: none;
  color: var(--blanco);
  font-weight: 500;
  padding: 0.6rem 1.2rem;
  transition: background-color 0.3s ease;
}

button:hover,
.btn:hover,
.add_to_cart_button:hover {
  background-color: var(--secundario);
}

.btn-outline-primary {
  border:1px solid var(--primario)!important;
  color: var(--primario);
  background-color: #FFF!important;
}

.btn-outline-primary:hover {
  background-color: var(--primario);
  color: var(--blanco);
}

/* ---------- FORMULARIOS ---------- */
input[type="number"],
input[type="text"],
textarea,
select {
  border: 1px solid var(--secundario);
  padding: 0.5rem;
  border-radius: 4px;
  color: var(--negro);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--primario);
  box-shadow: 0 0 4px var(--primario);
}

/* ---------- GALERÍA ---------- */
.woocommerce-product-gallery__image {
  overflow: hidden;
  transition: transform 0.3s ease;
}

.woocommerce-product-gallery__image:hover {
  transform: scale(1.02);
}

/* ---------- STOCK ---------- */
.stock {
  color: var(--secundario);
  font-weight: 600;
  margin-top: 1rem;
}

/* ---------- REVIEW TABS ---------- */
.nav-tabs .nav-link.active {
  background-color: var(--primario);
  color: var(--blanco);
}

.nav-tabs .nav-link {
  color: var(--secundario);
  border-radius: 0;
}

.nav-tabs .nav-link:hover {
  background-color: var(--secundario);
  color: var(--blanco);
}

/* ---------- TARJETAS DE PRODUCTOS RELACIONADOS ---------- */
.card.product {
  border: 1px solid #ddd;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s ease;
}

.card.product:hover {
  transform: translateY(-4px);
  border-color: var(--primario);
}

.card .woocommerce-loop-product__title {
  font-size: 1.1rem;
  color: var(--negro);
}

.card .price {
  color: var(--primario);
  font-size: 1rem;
}

/* ---------- BADGES ---------- */
.badge.bg-primary-subtle {
  background-color: var(--primario) !important;
  color: var(--blanco) !important;
}

/* ---------- SIDEBAR ---------- */
#secondary .widget {
  background-color: var(--blanco);
  border: 1px solid #ddd;
  padding: 1rem;
  border-radius: 5px;
}

.widget h2 {
  font-size: 1.1rem;
  color: var(--primario);
  margin-bottom: 1rem;
}

.list-group-item-action:hover {
  background-color: var(--primario);
  color: var(--blanco);
}

/* ---------- SCROLLBAR (opcional) ---------- */
.scrollbar-none::-webkit-scrollbar {
  display: none;
}

/* ===== Footer: estilo oscuro tipo mockup ===== */
#footer {
  --bg-dark: #0f1113;           /* fondo principal */
  --bg-darker: #0b0c0d;         /* franja inferior */
  --text: #e8e8e8;              /* texto principal */
  --muted: #b9b9b9;             /* enlaces y detalles */
  --line: #1a1d21;              /* separadores/bordes */
  --accent: #ffffff;            /* hover/enfoque */
  --gap-y: 1rem;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

/* Bloques superiores en oscuro y sin bordes grises de Bootstrap */
#footer .bg-body-tertiary {
  background: var(--bg-dark) !important;
  color: var(--text);
  border: 0 !important;
}

/* Línea sutil inferior en la franja final */
#footer .bootscore-footer-info {
  background: #FFF !important;
  color: var(--muted);
  border-top: 1px solid var(--line) !important;
  color: #000!important;
}

/* Línea superior del bloque de columnas */
#footer .bootscore-footer-columns {
  border-top: 1px solid var(--line) !important;
}

/* Espaciados consistentes */
#footer .bootscore-footer-top {
  padding: 2.5rem 0 1.25rem;
}
#footer .bootscore-footer-columns {
  padding-top: 2rem !important;
  padding-bottom: 1.5rem !important;
}

/* Logo centrado y en blanco */
#footer .bootscore-footer-top .widget figure,
#footer .bootscore-footer-top .widget img {
  display: block;
  margin: 0 auto;
  max-width: 240px;
  filter: brightness(0) invert(1); /* por si el SVG no es blanco */
}

/* Títulos de columna */
#footer .footer_widget .widget-title {
  color: var(--text);
  font-weight: 600;
  letter-spacing: .3px;
  margin-bottom: .75rem;
}

/* Listas del menú: sin bullets, compactas */
#footer .footer_widget .menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
#footer .footer_widget .menu li {
  margin: .4rem 0;
}
#footer a,
#footer .footer_widget .menu a {
  color: var(--muted);
  text-decoration: none;
  transition: color .18s ease, transform .18s ease;
}
#footer a:hover,
#footer a:focus,
#footer .footer_widget .menu a:hover,
#footer .footer_widget .menu a:focus {
  color: var(--accent);
  transform: translateX(2px);
}

.bootscore-copyright a:hover{
  color: #962D31!important;
}

/* Párrafos de contacto */
#footer .footer_widget p {
  color: var(--muted);
  margin-bottom: .75rem;
}

/* Iconos sociales de Gutenberg */
#footer .wp-block-social-links {
  gap: .5rem;
}
#footer .wp-block-social-links .wp-social-link {
  background: transparent;
}
#footer .wp-block-social-links .wp-social-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border: 1px solid var(--line);
  border-radius: .6rem;
  color: var(--text);
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
#footer .wp-block-social-links .wp-social-link a:hover {
  color: var(--accent);
  border-color: #2a2f36;
  background: rgba(255,255,255,0.03);
}

/* Iconitos de ubicación y WhatsApp (si usas <i> o SVG) */
#footer .footer_widget i,
#footer .footer_widget svg {
  color: var(--muted);
}

/* Copyright */
#footer .bootscore-copyright {
  color: var(--muted);
  letter-spacing: .2px;
}

/* Columnas: respiración vertical en móvil */
@media (max-width: 991.98px) {
  #footer .row > [class*="col-"] {
    margin-bottom: 1.25rem;
  }
}

/* Accesibilidad: foco visible */
#footer a:focus-visible {
  outline: 2px solid #5a9cff;
  outline-offset: 2px;
  border-radius: 6px;
}

/* Ajuste fino para Bootstrap utility text-body-secondary si aparece */
#footer .text-body-secondary {
  color: var(--muted) !important;
}

/* ===== Paginador estilo limpio ===== */
.pagination {
  --border: #ddd;
  --bg: #ffffff;
  --bg-hover: #f4f4f4;
  --text: #555;
  --text-active: #fff;
  --accent: #962D31; /* color principal */
  --radius: .5rem;
  gap: .3rem;
}

.pagination .page-link {
  border: 1px solid var(--border);
  background-color: var(--bg);
  color: var(--text);
  padding: .5rem .9rem;
  font-size: .95rem;
  border-radius: var(--radius);
  transition: all .2s ease;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
  background-color: var(--bg-hover);
  border-color: var(--accent);
  color: var(--accent);
  text-decoration: none;
}

.pagination .page-item.active .page-link,
.pagination .page-link.active {
  background-color: var(--accent);
  border-color: var(--accent);
  color: var(--text-active);
  font-weight: 600;
}

.pagination .page-item.disabled .page-link {
  color: #aaa;
  pointer-events: none;
  background-color: #f8f9fa;
  border-color: var(--border);
}

/* Ajuste de tamaño en pantallas pequeñas */
@media (max-width: 576px) {
  .pagination .page-link {
    padding: .4rem .7rem;
    font-size: .85rem;
  }
}

/* ===== Breadcrumb estilo limpio ===== */
.wc-breadcrumb {
  --bg: #f8f9fa;         /* fondo claro */
  --text: #555;          /* texto principal */
  --accent: #962D31;     /* color principal */
  --separator: #ccc;     /* separador */
  font-size: .95rem;
  border: 1px solid #e0e0e0;
  border-radius: .5rem;
}

.wc-breadcrumb .breadcrumb {
  background: transparent;
}

.wc-breadcrumb .breadcrumb-item {
  color: var(--text);
  white-space: nowrap;
}

.wc-breadcrumb .breadcrumb-item a {
  color: var(--text);
  text-decoration: none;
  transition: color .2s ease;
}

.wc-breadcrumb .breadcrumb-item a:hover {
  color: var(--accent);
}

.wc-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  color: var(--separator);
  font-size: .85rem;
  padding: 0 .5rem;
}

.wc-breadcrumb .breadcrumb-item.active {
  color: var(--accent);
  font-weight: 600;
}

/* Ícono de home */
.wc-breadcrumb .fa-house {
  color: var(--accent);
  font-size: .9rem;
  margin-right: .2rem;
}


/* ====== Single product – estilo limpio y moderno ====== */

/* Contenedor general */
.single-product .product,
.product.type-product {
  color: var(--text);
}

/* ===== Galería ===== */
.woocommerce-product-gallery {
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
  box-shadow: var(--shadow);
}
.woocommerce-product-gallery__wrapper img {
  border-radius: 10px;
}
.woocommerce-product-gallery__trigger {
  position: absolute;
  top: 10px; right: 12px;
  z-index: 2;
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.woocommerce-product-gallery__trigger:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* ===== Summary / textos ===== */
.summary .product_title {
  font-size: clamp(1.6rem, 1.2rem + 1vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: .25rem;
}
.summary .price {
  margin: .25rem 0 .75rem;
}
.single-product .price span{
  color: #FFF!important;
}
.summary .price .woocommerce-Price-amount {
  display: inline-block;
  background: linear-gradient(180deg, var(--accent) 0%, #7b2326 100%);
  color: #fff!important;
  padding: .35rem .7rem;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: .2px;
  box-shadow: 0 6px 14px rgba(150,45,49,.25);
}
.woocommerce-product-details__short-description p {
  color: var(--muted);
  margin-bottom: .5rem;
}

/* Stock pill */
.stock.in-stock {
  display: inline-block;
  background: #ffeceb;
  color: var(--accent);
  border: 1px dashed rgba(150,45,49,.35);
  padding: .22rem .5rem;
  border-radius: 999px;
  font-size: .85rem;
  margin: .3rem 0 .7rem;
}

/* ===== Cantidad + carrito ===== */
.cart .quantity .input-group {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.cart .quantity .input-group-text,
.cart .quantity .form-control {
  border: 0;
  box-shadow: none !important;
}
.cart .quantity .input-group-text {
  justify-content: center;
  background: #f2f4f6;
  color: var(--text);
}
.cart .quantity .form-control {
  width: 64px;
  text-align: center;
  font-weight: 600;
  color: var(--text);
  background: #fff;
}

/* Botón principal */
.single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.1rem;
  border-radius: 12px;
  border: 1px solid transparent;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
  letter-spacing: .2px;
  box-shadow: 0 10px 18px rgba(150,45,49,.25);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.single_add_to_cart_button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(150,45,49,.28);
  color: #fff;
}
.single_add_to_cart_button:disabled,
.single_add_to_cart_button[disabled] {
  opacity: .7; cursor: not-allowed;
}

/* Loader dentro del botón */
.single_add_to_cart_button .spinner-border {
  display: none;
}
.single_add_to_cart_button.loading .spinner-border {
  display: inline-block;
}

/* Meta: categoría / marca */
.product_meta {
  margin-top: .9rem;
  font-size: .92rem;
  color: var(--muted);
}
.product_meta a {
  color: var(--accent-2);
  text-decoration: none;
}
.product_meta a:hover {
  color: var(--accent);
}

/* ===== Tabs ===== */
.wc-tabs-wrapper {
  margin-top: 1.25rem;
}
.wc-tabs.nav-tabs {
  border-bottom: 1px solid var(--accent);
  gap: .4rem;
}
.wc-tabs .nav-link {
  border: 1px solid var(--line);
  border-bottom: 0;
  color: var(--muted);
  background: #fff;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  padding: .55rem .9rem;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
  border-bottom: 1px solid var(--accent);
}
.wc-tabs .nav-link:hover { color: #FFF; }
.wc-tabs .nav-link.active {
  color: var(--accent);
  font-weight: 700;
  background: var(--bg-soft);
  border-color: var(--accent) var(--accent) transparent var(--accent);
}
.woocommerce-Tabs-panel {
  border: 1px solid var(--accent);
  border-top: 0;
  background: var(--bg-soft);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  padding: 1rem 1rem .8rem;
}
.woocommerce-Tabs-panel h2 {
  font-size: 1.25rem;
  font-weight: 800;
  margin-bottom: .5rem;
}

/* ===== Productos relacionados ===== */
.related.products > h2 {
  font-size: 1.35rem;
  font-weight: 800;
  margin: 1.2rem 0 .6rem;
}
.related .card {
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  box-shadow: var(--shadow);
}
.related .card:hover {
  transform: translateY(-3px);
  border-color: rgba(150,45,49,.25);
  box-shadow: 0 14px 30px rgba(15,18,22,.12);
}
.related .card-img-top {
  padding: 10px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.related .woocommerce-loop-product__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: .35rem;
}
.related .price .amount,
.related .price .woocommerce-Price-amount {
  font-weight: 700;
  color: var(--accent);
}
.related .add_to_cart_button.btn {
  border-radius: 10px;
  font-weight: 700;
}

/* ===== Responsivo ===== */
@media (max-width: 991.98px) {
  .woocommerce-product-gallery { margin-bottom: 1rem; }
  .summary .product_title { font-size: 1.6rem; }
}
@media (max-width: 575.98px) {
  .single_add_to_cart_button { width: 100%; justify-content: center; }
}

.wp-block-separator {
    clear: both;
}

/* ===============================
   Página de Reparación (page-id-61)
   Double Play Celulares
   =============================== */

.page-id-61 {
  --accent: #962D31;     /* rojo DPC */
  --dark: #202427;       /* gris carbón para títulos */
  --muted: #6d7276;      /* texto secundario */
  --line: #e8ebef;       /* bordes sutiles */
  --bg-chip: #f7f7f8;    /* fondos suaves */
  --radius: 22px;
  --shadow: 0 14px 36px rgba(20, 23, 26, .14);
  --shadow-soft: 0 10px 24px rgba(20, 23, 26, .10);
  font-synthesis-weight: none;
}

/* ===== Hero / encabezado ===== */
.page-id-61 .entry-header {
  margin: 0 0 1.25rem;
  padding: 2.2rem 0 0;
  border: 0;
}

.page-id-61 .entry-title {
  color: var(--dark);
  font-weight: 900;
  letter-spacing: .2px;
  line-height: 1.05;
  font-size: clamp(2rem, 1.2rem + 3vw, 4rem); /* grande como el mockup */
  margin: 0 0 .25rem;
}

/* Subtítulo inicial (primer h2 y su párrafo) */
.page-id-61 .entry-content > h2:first-of-type {
  font-weight: 900;
  color: var(--dark);
  font-size: clamp(1.4rem, 1rem + 1.2vw, 2.2rem);
  margin-top: 0;
}
.page-id-61 .entry-content > h2:first-of-type + p {
  color: var(--muted);
  font-size: 1.05rem;
  margin-top: .25rem;
}

/* ===== Tipografía general ===== */
.page-id-61 .entry-content p {
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.7;
}
.page-id-61 .entry-content h3 {
  color: var(--dark);
  font-weight: 800;
  font-size: clamp(1.2rem, .9rem + .8vw, 1.6rem);
  margin: .3rem 0 .5rem;
}

/* Separadores con estilo */
.page-id-61 .wp-block-separator {
  border: 0;
  height: 1px;
  margin: 2.5rem 0 2.25rem;
  background: linear-gradient(90deg, transparent, var(--line), transparent);
}

/* ===== Imágenes “flotantes” (derecha/izquierda) ===== */
.page-id-61 .entry-content figure.alignright img,
.page-id-61 .entry-content figure.alignleft img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: calc(var(--radius) + 4px);
  box-shadow: var(--shadow);
  background: #fff;
}

.page-id-61 .entry-content figure.alignright,
.page-id-61 .entry-content figure.alignleft {
  padding: 0;
  margin: .25rem 0 1.25rem;
  max-width: min(640px, 48vw);
}

.page-id-61 .entry-content figure.alignright { float: right; margin-left: 2rem; }
.page-id-61 .entry-content figure.alignleft  { float: left;  margin-right: 2rem; }

/* Bordes suaves alrededor de imágenes secundarias */
.page-id-61 .entry-content figure.alignright img,
.page-id-61 .entry-content figure.alignleft  img {
  border: 1px solid var(--line);
}

/* ===== Botón/CTA estilo “Book Service” (si usas bloque de botón o enlaces .btn) ===== */
.page-id-61 .wp-block-button .wp-block-button__link,
.page-id-61 a.btn-primary,
.page-id-61 a.wp-element-button {
  background: var(--accent);
  color: #fff;
  border: 0;
  padding: .85rem 1.25rem;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .2px;
  box-shadow: 0 14px 28px rgba(150,45,49,.28);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.page-id-61 .wp-block-button .wp-block-button__link:hover,
.page-id-61 a.btn-primary:hover,
.page-id-61 a.wp-element-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 36px rgba(150,45,49,.32);
  color: #fff;
  text-decoration: none;
}

/* ===== Tarjeta de contenido (simula columnas limpias) ===== */
.page-id-61 .entry-content p + p {
  margin-top: .75rem;
}
.page-id-61 .entry-content p strong { color: var(--dark); }

/* Chips/información destacada (opcional: usa <em> o <strong>) */
.page-id-61 .entry-content em {
  background: var(--bg-chip);
  border: 1px solid var(--line);
  padding: .1rem .4rem;
  border-radius: 8px;
}

/* ===== Layout responsivo: limpia floats en móvil ===== */
@media (max-width: 1199.98px) {
  .page-id-61 .entry-content figure.alignright,
  .page-id-61 .entry-content figure.alignleft {
    max-width: min(560px, 52vw);
  }
}
@media (max-width: 991.98px) {
  .page-id-61 .entry-title { font-size: clamp(1.8rem, 1.2rem + 3vw, 3rem); }
  .page-id-61 .entry-content figure.alignright,
  .page-id-61 .entry-content figure.alignleft {
    float: none !important;
    margin: 0 auto 1.25rem !important;
    max-width: 640px;
  }
  .page-id-61 .entry-content { overflow: hidden; } /* por si quedó algún float */
}

/* ===== Detalles finos ===== */
/* Resaltar listas si las agregas */
.page-id-61 .entry-content ul {
  padding-left: 1.1rem;
}
.page-id-61 .entry-content ul li {
  margin: .35rem 0;
}
.page-id-61 .entry-content ul li::marker {
  color: var(--accent);
}

/* Enlaces dentro del contenido */
.page-id-61 .entry-content a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(150,45,49,.25);
  transition: color .15s ease, border-color .15s ease;
}
.page-id-61 .entry-content a:hover {
  color: #7b2326;
  border-color: rgba(150,45,49,.45);
}

/* Imagen principal (iPhone) más “hero” */
.page-id-61 .entry-content .wp-image-217 {
  /* si quieres más “pop” en la primera imagen */
  filter: saturate(1.03) contrast(1.02);
}

/* Micro animación al hacer hover sobre imágenes */
.page-id-61 .entry-content figure.alignright:hover img,
.page-id-61 .entry-content figure.alignleft:hover img {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(20,23,26,.18);
  transition: transform .18s ease, box-shadow .18s ease;
}

/* Espaciado final del contenido */
.page-id-61 .entry-footer { margin-top: .75rem; }

/* ===== Accesibilidad: foco visible en CTA/enlaces ===== */
.page-id-61 a:focus-visible,
.page-id-61 .wp-block-button .wp-block-button__link:focus-visible {
  outline: 3px solid #ffcfdb;
  outline-offset: 3px;
  border-radius: 14px;
}

.woocommerce-review-link{
  color: #767676;
}

.dpc-cat-dropdown .dropdown-menu.dpc-cat-dropdown-menu{
  width: min(430px, 92vw);
  max-height: 70vh;
  overflow: auto;
  border-radius: 14px;
  box-shadow: 0 18px 42px rgba(0,0,0,.12);
}
.dpc-cat-dropdown .accordion-link{
  display: block;
  padding: .65rem 1rem;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  font-weight: 600;
  color: #333;
  text-decoration: none;
  transition: background .2s ease;
}
.dpc-cat-dropdown .accordion-link:hover{
  background: #e9ecef;
}
.dpc-subcat{ text-decoration:none; }
.dpc-subcat:hover{ text-decoration:underline; }

.dpc-subcat-list li{
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.dpc-subcat-list li a{
    color: var(--bs-nav-link-color);
}

/* ====== Subcategory filter (inline CSS para portabilidad) ====== */
.dpc-subcat-filter-wrap{margin:.5rem 0 1rem;}
.dpc-subcat-filter-header{
  font-weight:700;color:#202427;margin-bottom:.5rem;font-size:1rem;
}
.dpc-subcat-filter{
  display:flex;gap:.5rem;align-items:center;overflow:auto;padding:.2rem 0;
  -ms-overflow-style:none;scrollbar-width:none;
}
.dpc-subcat-filter::-webkit-scrollbar{display:none;}
.dpc-subcat-filter .chip{
  --accent: <?php echo esc_html($accent); ?>;
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .75rem;border:1px solid #e6e7ea;border-radius:999px;
  background:#fff;color:#333;text-decoration:none;font-weight:600;font-size:.95rem;
  white-space:nowrap;transition:all .15s ease;
}
.dpc-subcat-filter .chip:hover{
  border-color:var(--accent);color:var(--accent);transform:translateY(-1px);
}

.dpc-subcat-filter .chip.active{
  background:#2B3235;border-color:#2B3235;color:#fff;
}

.dpc-subcat-filter .chip .count{
  display:inline-block;min-width:1.35em;text-align:center;
  background:rgba(0,0,0,.06);border-radius:999px;padding:.05rem .45rem;font-weight:700;font-size:.85em;
}
.dpc-subcat-filter .chip.active .count{
  background:rgba(255,255,255,.2);
}
@media (max-width: 575.98px){
  .dpc-subcat-filter-header{font-size:.95rem;}
  .dpc-subcat-filter .chip{font-size:.9rem;padding:.4rem .7rem;}
}



/* ======= Promo cards estilo landing ======= */
.promo-card{
  --radius: 18px;
  --shadow: 0 18px 40px rgba(20,23,26,.14);
  --overlay1: rgba(255,255,255,.95);   /* inicio del gradiente */
  --overlay2: rgba(255,255,255,.82);   /* medio */
  --overlay3: rgba(255,255,255,0);     /* fin ( hacia la imagen ) */
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 360px;
  border: 1px solid #eee;
  background-size: cover;
  background-position: right center;
  display: grid;
}

/* Gradiente para que el texto siempre se lea */
.promo-card::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, var(--overlay1) 0%, var(--overlay2) 45%, var(--overlay3) 85%);
}

/* Variantes de posición del fondo (según foto) */
.promo-card.pos-bottom-right{ background-position: right bottom; height: 100%}
.promo-card.pos-center-right{  background-position: 80% center; }

/* Tinte rojo muy sutil (card inferior derecha del mockup) */
.promo-card.theme-red::before{
  background:
    linear-gradient(90deg, rgba(255,240,241,.95) 0%, rgba(255,240,241,.86) 45%, rgba(255,240,241,0) 85%);
}

/* Contenido */
.promo-card .content{
  position: relative; /* sobre el overlay */
  z-index: 2;
  padding: 28px 28px 26px;
  max-width: 560px;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

/* Badge */
.badge-promo{
  align-self: flex-start;
  background: #e11d2e;
  color:#fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
  border-radius: 999px;
  padding: .45rem .9rem;
  font-size: .84rem;
}

/* Para la card superior derecha va a la derecha */
.badge-right{ margin-left: auto; }

/* Títulos y párrafos */
.promo-title{
  font-weight: 900;
  color: #202427;
  line-height: 1.15;
  font-size: clamp(1.45rem, 1rem + 1.6vw, 2.2rem);
  margin: .35rem 0 .25rem;
}
.promo-text{
  color:#5f666b;
  margin-bottom: .4rem;
  max-width: 52ch;
}

/* CTA */
.promo-cta{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-weight: 800;
  color: #202427;
  text-decoration: none;
}
.promo-cta::after{ content: "→"; transition: transform .15s ease; }
.promo-cta:hover::after{ transform: translateX(3px); }
.promo-cta:hover{ color:#000; }

/* ======= Responsive ======= */
@media (max-width: 991.98px){
  .promo-card{ min-height: 320px; }
}
@media (max-width: 767.98px){
  .promo-card{ min-height: 260px; }
  .promo-card .content{ padding: 20px; }
  .badge-promo{ font-size: .78rem; padding: .4rem .75rem; }
}
/* ======== Login / Registro – estilo DPC ======== */
.offcanvas-body .my-offcanvas-account {
  --accent: #962D31;
  --dark: #202427;
  --muted: #6d7276;
  --line: #e9ecf0;
  --bg-soft: #f7f8fa;
  --radius: 16px;
  --shadow: 0 14px 34px rgba(15,18,22,.12);
  color: var(--dark);
}

/* Loader overlay */
.offcanvas-body .ajax-login-loader {
  display: none; /* muéstrala añadiendo .is-loading al body o al wrapper y cámbialo a flex */
}
.offcanvas-body.is-loading .ajax-login-loader,
.offcanvas-body .ajax-login-loader.show {
  display: flex !important;
  backdrop-filter: blur(6px) saturate(1.1);
}

/* Contenedor Woo */
.my-offcanvas-account .woocommerce {
  padding: .75rem;
}

/* Dos columnas -> tarjetas */
#customer_login {
 /* display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;*/
}
#customer_login .u-column1,
#customer_login .u-column2 {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px 16px;
  box-shadow: var(--shadow);
}

/* Títulos */
#customer_login h2 {
  margin: 0 0 .8rem;
  font-weight: 900;
  font-size: 1.25rem;
  letter-spacing: .2px;
  color: var(--dark);
}

/* Labels e inputs */
#customer_login label {
  font-weight: 600;
  color: var(--dark);
  margin-bottom: .25rem;
  display: inline-block;
}
#customer_login .input-text,
#customer_login input[type="email"],
#customer_login input[type="text"],
#customer_login input[type="password"]{
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  padding: .65rem .8rem;
  border-radius: 12px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#customer_login .input-text:focus,
#customer_login input:focus{
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(150,45,49,.15);
}

/* Filas/espaciado */
#customer_login .form-row { margin: .6rem 0 .2rem; }
#customer_login .form-row-wide { margin-bottom: .55rem; }

/* Checkbox “Recuérdame” */
.woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--muted);
  font-weight: 600;
}
.woocommerce-form__input-checkbox {
  width: 18px; height: 18px; accent-color: var(--accent);
}

/* Botones principales */
#customer_login .woocommerce-button,
#customer_login .button,
#customer_login .woocommerce-Button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  padding: .75rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #fff;
  font-weight: 800;
  letter-spacing: .2px;
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
#customer_login .woocommerce-button:hover,
#customer_login .button:hover,
#customer_login .woocommerce-Button:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(150,45,49,.26);
  color: #fff;
}

/* Enlaces secundarios */
#customer_login .lost_password a,
#customer_login a.woocommerce-privacy-policy-link {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(150,45,49,.25);
  transition: color .15s ease, border-color .15s ease;
}
#customer_login .lost_password a:hover,
#customer_login a.woocommerce-privacy-policy-link:hover {
  color: #7b2326;
  border-color: rgba(150,45,49,.5);
}

/* Texto secundario / privacidad */
.woocommerce-privacy-policy-text p {
  color: var(--muted);
  font-size: .92rem;
  margin: .5rem 0 0;
}

/* Avisos WooCommerce (errores/success) */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info{
  border-radius: 12px;
  border: 1px solid var(--line);
  padding: .8rem 1rem;
  padding-left: 40px;
}
.woocommerce .woocommerce-error{ border-color:#ffd7d7; background:#fff5f5; }
.woocommerce .woocommerce-message{ border-color:#cdebd6; background:#f2fbf5; }

/* ================================
   FAQ – page-id-18 (solo visual)
   ================================ */
.page-id-18 .entry-header {
  margin-bottom: 1rem;
}
.page-id-18 .entry-title {
  font-weight: 900;
  letter-spacing: .2px;
  color: #202427;
}

/* Paleta & tokens locales */
.page-id-18 .entry-content {
  --accent:#962D31;
  --text:#202427;
  --muted:#5f666b;
  --line:#e9edf2;
  --soft:#f7f8fa;
}

/* Tarjeta para cada bloque de FAQ (h3 + ul) */
.page-id-18 .entry-content h3.wp-block-heading {
  position: relative;
  margin: 1rem 0 .25rem;
  font-weight: 900;
  color: var(--text);
  font-size: clamp(1.05rem, .98rem + .4vw, 1.25rem);
  padding: .9rem 1rem .85rem 1rem;
  background: linear-gradient(180deg, #fff, #fafbfc);
  border: 1px solid var(--line);
  border-bottom: 0;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  box-shadow: 0 10px 24px rgba(15,18,22,.06);
}

/* “Chevron” decorativo en el título (visual, no interactivo) */
.page-id-18 .entry-content h3.wp-block-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 9px; height: 9px;
  border-right: 2px solid #a4aab0;
  border-bottom: 2px solid #a4aab0;
  transform: translateY(-50%) rotate(-45deg);
  opacity: .85;
}

/* Cuerpo de cada FAQ (ul que sigue al h3) */
.page-id-18 .entry-content h3.wp-block-heading + ul.wp-block-list {
  margin: 0 0 1.1rem 0;
  list-style: none;
  padding: .9rem 1rem 1rem 1rem;
  border: 1px solid var(--line);
  border-top: 0;
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15,18,22,.06);
}

/* Ítems: pregunta (strong) + respuesta (texto) */
.page-id-18 .entry-content ul.wp-block-list > li {
  margin: .5rem 0;
  padding: .35rem 0 .45rem;
  border-top: 1px dashed #eef1f5;
  color: var(--muted);
  line-height: 1.55;
}
.page-id-18 .entry-content ul.wp-block-list > li:first-child {
  border-top: 0;
  padding-top: 0;
}
.page-id-18 .entry-content ul.wp-block-list > li strong {
  display: inline-block;
  color: var(--text);
  font-weight: 800;
}

/* Separadores <hr> del editor: suavizarlos o esconderlos */
.page-id-18 .entry-content hr.wp-block-separator {
  border: 0;
  height: 1px;
  margin: .6rem 0 1rem;
  background: linear-gradient(90deg, transparent, var(--line), transparent);
  opacity: .9;
}

/* Enlaces dentro del contenido */
.page-id-18 .entry-content a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(150,45,49,.25);
  transition: color .15s ease, border-color .15s ease;
}
.page-id-18 .entry-content a:hover {
  color: #79262a;
  border-color: rgba(150,45,49,.5);
}
/* ====== Contacto (template DPC) ====== */
.page-template-page-contacto {
  --accent:#962D31; --line:#e8ebef; --shadow:0 18px 42px rgba(20,23,26,.12);
}

/* Hero con mapa y tarjeta superpuesta */
.page-template-page-contacto .contact-hero { position: relative; }
.page-template-page-contacto .contact-hero .hero-map iframe { width:100%; border:0; }
.page-template-page-contacto .contact-hero .contact-card{
  position: relative;
  margin-top: -60px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px 18px;
  box-shadow: var(--shadow);
}
@media (max-width: 767.98px){
  .page-template-page-contacto .contact-hero .contact-card{ margin-top:-36px; padding:14px; }
}

/* Titulares y tarjetas */
.page-template-page-contacto h1,
.page-template-page-contacto h2,
.page-template-page-contacto h3 { color:#202427; }
.page-template-page-contacto .card { border-radius:14px; border:1px solid var(--line); }
.page-template-page-contacto .card-body { padding:18px; }

/* Botones */
.page-template-page-contacto .btn { border-radius:10px; font-weight:700; }

/* Formulario (CF7) – look Bootstrap-like */
.page-template-page-contacto .wpcf7-form p { margin-bottom: .9rem; }
.page-template-page-contacto .wpcf7-form input[type="text"],
.page-template-page-contacto .wpcf7-form input[type="email"],
.page-template-page-contacto .wpcf7-form input[type="tel"],
.page-template-page-contacto .wpcf7-form textarea {
  width:100%; border:1px solid var(--line); border-radius:12px; padding:.7rem .9rem;
}
.page-template-page-contacto .wpcf7-form input[type="submit"]{
  background:var(--accent); border:1px solid var(--accent); color:#fff;
  padding:.7rem 1rem; border-radius:12px; font-weight:800;
}
.page-template-page-contacto .wpcf7-spinner{ margin-left:.5rem; }

/* Listas & badges */
.page-template-page-contacto .badge { border-radius:999px; font-weight:700; }

/* ================================
   Quiénes Somos – page-id-15
   ================================ */
.page-id-15 .entry-header { margin-bottom: 1rem; }
.page-id-15 .entry-title {
  color:#202427; font-weight:900; letter-spacing:.2px;
}

/* Tokens locales */
.page-id-15 .entry-content{
  --accent:#962D31;
  --text:#202427;
  --muted:#5f666b;
  --line:#e9edf2;
  --soft:#f7f8fa;
}

/* Secciones como tarjetas suaves */
.page-id-15 .entry-content > .wp-block-heading{
  margin: 1.25rem 0 .35rem;
  font-weight: 900;
  color: var(--text);
  font-size: clamp(1.1rem, 1rem + .6vw, 1.45rem);
  position: relative;
  padding-left: .75rem;
}
.page-id-15 .entry-content > .wp-block-heading::before{
  content:"";
  position:absolute; left:0; top:.2rem; bottom:.2rem;
  width:4px; border-radius:4px; background: var(--accent);
}

/* Párrafos */
.page-id-15 .entry-content p{
  color: var(--muted);
  line-height: 1.7;
  margin: .3rem 0 1rem;
}

/* Listas: estilo check sin iconos externos */
.page-id-15 .entry-content ul.wp-block-list{
  list-style: none; margin: .2rem 0 1.1rem; padding-left: 0;
  background:#fff; border:1px solid var(--line); border-radius:14px;
  box-shadow: 0 10px 24px rgba(15,18,22,.06);
}
.page-id-15 .entry-content ul.wp-block-list > li{
  position: relative;
  padding: .75rem 1rem .75rem 2.25rem;
  color: var(--muted);
  border-top:1px dashed #eef1f5;
}
.page-id-15 .entry-content ul.wp-block-list > li:first-child{ border-top:0; border-top-left-radius:14px; border-top-right-radius:14px; }
.page-id-15 .entry-content ul.wp-block-list > li:last-child{ border-bottom-left-radius:14px; border-bottom-right-radius:14px; }

/* “Check” dibujado con CSS */
.page-id-15 .entry-content ul.wp-block-list > li::before{
  content:"";
  position:absolute; left:1rem; top:50%; transform:translateY(-50%) rotate(45deg);
  width:8px; height:14px;
  border-right:3px solid var(--accent);
  border-bottom:3px solid var(--accent);
}

/* Enlaces */
.page-id-15 .entry-content a{
  color: var(--accent); text-decoration: none;
  border-bottom:1px solid rgba(150,45,49,.25);
  transition: color .15s ease, border-color .15s ease;
}
.page-id-15 .entry-content a:hover{
  color:#7b2326; border-color:rgba(150,45,49,.5);
}

.woocommerce div.product {
    overflow: hidden;
}

.cart-badge.mb-2 .badge.bg-danger{
  color: #FFF!important;
}

/* Separadores del editor (si los usas) */
.page-id-15 .entry-content hr.wp-block-separator{
  border:0; height:1px; margin:1rem 0;
  background: linear-gradient(90deg, transparent, var(--line), transparent);
}

.wrap{max-width:1200px;margin:0 auto;padding:0 16px;}
  .grid{display:grid;gap:1rem;}
  .btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-radius:12px;border:1px solid transparent;font-weight:800;text-decoration:none}
  .btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);}
  .btn-primary:hover{filter:brightness(.95)}
  .btn-outline{background:#fff;color:var(--accent);border-color:var(--accent)}
  .badge{display:inline-flex;gap:.4rem;align-items:center;border-radius:999px;background:#fff;border:1px solid var(--line);padding:.4rem .7rem;font-weight:700; color: #5c6062;}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
  .section{padding:2.8rem 0}
  .title{font-weight:900;color:var(--text);letter-spacing:.2px}
  .muted{color:var(--muted)}
  .kicker{display:inline-block;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.35rem}

  /* ====== HERO ====== */
  .unlock-hero{padding:2rem 0;background: radial-gradient(1200px 400px at 10% 0%, #fff 0%, #fff 60%, #fff0 60.1%) , linear-gradient(135deg,#fff 0%, #fff 40%, #fff0 41%), linear-gradient(180deg,#fff,#fff);}
  .hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
  .hero-card{padding:1.2rem}
  .hero-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .hero-list .badge i{font-size:1rem}
  .duo{font-size:2.8rem;color:var(--accent)}
  .duo.fa-duotone{--fa-primary-color: var(--accent);--fa-secondary-color:#ff9aa2;--fa-secondary-opacity:.35}
  .brand-row{display:flex;flex-wrap:wrap;gap:.5rem}
  .brand-row .badge i{font-size:1.1rem}

  /* ====== Servicios ====== */
  .svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .svc{padding:1.1rem}
  .svc i{font-size:1.9rem;color:var(--accent);margin-bottom:.35rem}

  /* ====== Pasos ====== */
  .steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .step{padding:1.1rem;text-align:left}
  .step .num{width:42px;height:42px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));
    color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:.6rem}
  .step i{color:var(--accent);margin-left:.4rem}

  /* ====== Beneficios ====== */
  .benefits{grid-template-columns:repeat(4,minmax(0,1fr))}
  .benefit{padding:1rem;display:flex;gap:.7rem;align-items:flex-start}
  .benefit i{font-size:1.25rem;color:var(--accent);margin-top:.15rem}

  /* ====== Precios ====== */
  .pricing{overflow:auto}
  .price-table{width:100%;border-collapse:separate;border-spacing:0}
  .price-table th,.price-table td{padding:.8rem .9rem;border-bottom:1px solid var(--line)}
  .price-table th{background:#fff;font-weight:800;color:#2b3036;position:sticky;top:0}
  .price-table tr:hover td{background:#fafbfd}

  /* ====== FAQ ====== */
  .faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faq{padding:1rem}
  .faq h4{margin:.15rem 0 .35rem;font-weight:900}
  .faq p{margin:0;color:var(--muted)}

  /* ====== Responsive ====== */
  @media (max-width: 991.98px){
    .hero-inner{grid-template-columns:1fr}
    .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
    .faq-grid{grid-template-columns:1fr}
  }

/* ===== Bank details (BACS) – estilo card, limpio y legible ===== */
.woocommerce-bacs-bank-details{
  --accent: #962D31;          /* color principal */
  --ink: #202427;
  --muted: #6b7280;
  --line: #e8eaef;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:1.25rem;
  box-shadow:0 6px 18px rgba(20,23,28,.06);
  margin:1rem 0 2rem;
}

/* Título principal */
.woocommerce-bacs-bank-details .wc-bacs-bank-details-heading{
  font-size:clamp(1.15rem, 1rem + .6vw, 1.55rem);
  font-weight:800;
  color:var(--ink);
  margin:0 0 .75rem;
  position:relative;
  letter-spacing:.2px;
}
.woocommerce-bacs-bank-details .wc-bacs-bank-details-heading::after{
  content:"";
  display:block;
  width:140px; height:3px;
  margin-top:.35rem;
  background:linear-gradient(90deg,var(--accent),transparent);
  border-radius:3px;
}

/* Nombre de la cuenta (cada banco) */
.woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name{
  font-size:clamp(1rem, .95rem + .3vw, 1.15rem);
  font-weight:900;
  color:var(--accent);
  padding:.6rem .8rem;
  margin:1rem 0 .5rem;
  border-radius:10px;
}

/* Lista de datos (banco / número) como chips legibles */
.woocommerce-bacs-bank-details .wc-bacs-bank-details{
  list-style:none;
  margin:0 0 .5rem;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}

.woocommerce-bacs-bank-details .wc-bacs-bank-details li{
  display:flex; align-items:center; gap:.55rem;
  background:#fff;
  padding:.55rem .75rem;
  color:var(--muted);
  font-weight:600;
}

/* Etiquetas (Banco:, Número de cuenta:) */
.woocommerce-bacs-bank-details .wc-bacs-bank-details li::before{
  content:"";
  display:inline-block;
  width:18px; height:18px; flex:0 0 18px;
  background-size:18px 18px; background-repeat:no-repeat;
  filter:grayscale(0);
  opacity:.9;
}

/* Icono banco */
.woocommerce-bacs-bank-details .wc-bacs-bank-details li.bank_name::before{
  /* edificio banco (SVG) */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23962D31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10l9-7 9 7'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3Cpath d='M2 22h20'/%3E%3C/svg%3E");
}

/* Icono número / cuenta */
.woocommerce-bacs-bank-details .wc-bacs-bank-details li.account_number::before{
  /* tarjeta / número */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23962D31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3Cpath d='M6 15h2m2 0h2'/%3E%3C/svg%3E");
}

/* Valores en negrita; el número con tipografía monoespaciada y fácil de seleccionar */
.woocommerce-bacs-bank-details .wc-bacs-bank-details li strong{
  color:var(--ink);
  font-weight:800;
}
.woocommerce-bacs-bank-details .wc-bacs-bank-details li.account_number strong{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing:.4px;
  user-select:all;                 /* para copiar rápido */
  padding:.05rem .25rem;
  background:#f7f8fb;
  border-radius:6px;
}

.woocommerce ul.order_details::before{
  display: none;
}

.woocommerce-checkout #payment ul.payment_methods li input{
  margin-left: 10px;
}

.woocommerce-checkout #payment ul.payment_methods li input[type=file]{
    width: 100%;
    height: 42px;
    padding: 5px;
    margin-bottom: 15px;
    margin-left: 0;
}

/* ===== Comprobante (imagen) ===== */
#dpc-bacs-proof-section{
  margin-top:1rem;
}
#dpc-bacs-proof-section .dpc-bacs-proof-wrap{
  border:1px dashed color-mix(in oklab, var(--accent) 35%, #ffffff);
  background:linear-gradient(180deg, #fff, #fafbff);
  border-radius:14px;
  padding:1rem;
  box-shadow:0 4px 14px rgba(20,23,28,.05);
}
#dpc-bacs-proof-section .dpc-bacs-proof-wrap h3{
  margin:0 0 .5rem !important;
  font-weight:800 !important;
  color:var(--ink);
}

/* Imagen click-to-zoom sutil */
.dpc-bacs-proof-thumb{
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  max-width:260px !important;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:0 6px 18px rgba(20,23,28,.08);
}
a[href*="wp-content/uploads"] .dpc-bacs-proof-thumb:hover{
  transform:translateY(-2px) scale(1.015);
  box-shadow:0 12px 26px rgba(20,23,28,.12);
}

/* Texto auxiliar */
#dpc-bacs-proof-section .dpc-bacs-proof-wrap p{
  color:var(--muted) !important;
  margin:.5rem 0 0 !important;
  font-size:.95rem !important;
}

/* ===== Detalles del pedido – card limpia y moderna ===== */
.woocommerce-order-details{
  --accent: #962D31;
  --ink: #202427;
  --muted: #6b7280;
  --line: #e8eaef;
  margin:1.25rem 0 2rem;
  overflow-x:auto; /* por si algún tema no “stackea” la tabla en móvil */
}

/* Título */
.woocommerce-order-details__title{
  font-size:clamp(1.15rem, 1rem + .6vw, 1.55rem);
  font-weight:800;
  color:var(--ink);
  margin:0 0 .9rem;
  position:relative;
  letter-spacing:.2px;
}
.woocommerce-order-details__title::after{
  content:"";
  display:block;
  width:160px; height:3px;
  margin-top:.4rem;
  background:linear-gradient(90deg,var(--accent),transparent);
  border-radius:3px;
}

/* Tabla */
.woocommerce-order-details .shop_table.order_details{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden; /* redondeo del thead */
  box-shadow:0 4px 14px rgba(20,23,28,.05);
}

/* Head */
.woocommerce-order-details .shop_table.order_details thead th{
  background:linear-gradient(180deg,#fafbfe,#f3f5f9);
  color:#374151;
  text-transform:uppercase;
  letter-spacing:.6px;
  font-weight:800;
  font-size:.82rem;
  padding:.85rem 1rem;
  border-bottom:1px solid var(--line);
}

/* Body rows */
.woocommerce-order-details .shop_table.order_details tbody td{
  padding:.85rem 1rem;
  border-top:1px solid var(--line);
  vertical-align:middle;
  color:var(--ink);
}
.woocommerce-order-details .shop_table.order_details tbody tr:hover{
  background:#fafbff;
}

/* Producto + link */
.woocommerce-order-details .product-name a{
  color:var(--ink);
  font-weight:700;
  text-decoration:none;
}
.woocommerce-order-details .product-name a:hover{
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Cantidad como “pill” */
.woocommerce-order-details .product-quantity{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  margin-left:.45rem;
  padding:.15rem .5rem;
  border-radius:999px;
  background:rgba(150,45,49,.08);
  border:1px solid rgba(150,45,49,.18);
  color:var(--accent);
  font-weight:800;
  font-size:.85rem;
  line-height:1;
}

/* Precios */
.woocommerce-order-details .amount,
.woocommerce-order-details .amount bdi{
  font-weight:800;
  font-variant-numeric:tabular-nums;
  color:#111827;
}

/* Footer (totales) */
.woocommerce-order-details .shop_table.order_details tfoot th,
.woocommerce-order-details .shop_table.order_details tfoot td{
  padding:.75rem 1rem;
  border-top:1px solid var(--line);
  vertical-align:middle;
}
.woocommerce-order-details .shop_table.order_details tfoot th{
  text-align:right;
  color:var(--muted);
  font-weight:700;
}

/* Fila TOTAL destacada */
.woocommerce-order-details .shop_table.order_details tfoot tr:nth-last-child(2) td,
.woocommerce-order-details .shop_table.order_details tfoot tr:nth-last-child(2) th{
  /* La penúltima suele ser el “Total:” antes del método de pago */
  font-size:1.06rem;
  border-top:2px solid color-mix(in oklab, var(--accent) 35%, #ffffff);
}
.woocommerce-order-details .shop_table.order_details tfoot tr:nth-last-child(2) td .amount{
  color:var(--accent);
}

/* Método de pago (última fila) como etiqueta */
.woocommerce-order-details .shop_table.order_details tfoot tr:last-child td{
  /* convierte el texto en una especie de chip */
  display:inline-block;
  background:#f3f4f6;
  color:#374151;
  padding:.25rem .6rem;
  border-radius:999px;
  font-weight:700;
  border:1px solid var(--line);
}
/* ===== Responsive ===== */
@media (min-width: 768px){
  .woocommerce-bacs-bank-details{
    padding:1.5rem 1.5rem 1.25rem;
  }
  .woocommerce-bacs-bank-details .wc-bacs-bank-details{
    gap:.75rem 1rem;
  }
}
/* ===== WooCommerce: Detalles del cliente (Direcciones) ===== */
.woocommerce-customer-details{
  --accent:#962D31;
  --ink:#202427;
  --muted:#6b7280;
  --line:#e8eaef;
  margin:1.25rem 0 2rem;
}

/* Títulos con subrayado en degradado */
.woocommerce-customer-details .woocommerce-column__title{
  margin:0 0 .75rem;
  font-size:clamp(1.05rem, .95rem + .4vw, 1.25rem);
  font-weight:800;
  color:var(--ink);
  position:relative;
  letter-spacing:.2px;
}
.woocommerce-customer-details .woocommerce-column__title::after{
  content:"";
  display:block;
  width:140px; height:3px;
  margin-top:.35rem;
  background:linear-gradient(90deg,var(--accent),transparent);
  border-radius:3px;
}

/* Bloque de address con fondo sutil y borde suave */
.woocommerce-customer-details address{
  margin:0;
  padding:.85rem .9rem;
  background:linear-gradient(180deg,#fff,#fafbff);
  border:1px solid var(--line);
  border-radius:12px;
  line-height:1.55;
  color:var(--ink);
  box-shadow:0 2px 10px rgba(20,23,28,.04);
}

/* Icono de ubicación al inicio del address */
.woocommerce-customer-details address::before{
  content:"";
  display:inline-block;
  width:18px; height:18px; margin-right:.45rem; vertical-align:-3px;
  background-repeat:no-repeat; background-size:18px 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23962D31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 6-9 13-9 13S3 16 3 10a9 9 0 1118 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

/* Teléfono y email en “chips” con iconos */
.woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-customer-details .woocommerce-customer-details--email{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin:.5rem .4rem 0 0;
  padding:.28rem .6rem;
  background:#f3f4f6;
  border:1px solid var(--line);
  border-radius:999px;
  color:#374151;
  font-weight:700;
  box-shadow:0 2px 8px rgba(0,0,0,.03);
}

/* Iconos para chips */
.woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce-customer-details .woocommerce-customer-details--email::before{
  content:"";
  width:16px; height:16px;
  background-repeat:no-repeat; background-size:16px 16px;
  margin-right:.1rem;
}
.woocommerce-customer-details .woocommerce-customer-details--phone::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23962D31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 01-2.18 2 19.8 19.8 0 01-8.63-3.07 19.5 19.5 0 01-6-6A19.8 19.8 0 012.08 4.18 2 2 0 014.06 2h3a2 2 0 012 1.72c.12.9.32 1.78.61 2.63a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.45-1.14a2 2 0 012.11-.45c.85.29 1.73.49 2.63.61A2 2 0 0122 16.92z'/%3E%3C/svg%3E");
}
.woocommerce-customer-details .woocommerce-customer-details--email::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23962D31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16a2 2 0 012 2v12a2 2 0 01-2 2H4a2 2 0 01-2-2V6a2 2 0 012-2z'/%3E%3Cpath d='M22 6l-10 7L2 6'/%3E%3C/svg%3E");
}

/* Hover sutil en chips */
.woocommerce-customer-details .woocommerce-customer-details--phone:hover,
.woocommerce-customer-details .woocommerce-customer-details--email:hover{
  border-color:var(--accent);
  color:var(--accent);
  transform:translateY(-1px);
  transition:all .15s ease;
}

/* ====== Woo Checkout – Look & Feel general ====== */
form.woocommerce-checkout{
  --accent:#962D31;
  --ink:#202427;
  --muted:#6b7280;
  --line:#e8eaef;
}

/* Títulos de secciones */
form.woocommerce-checkout h3{
  margin:.25rem 0 .9rem;
  font-size:clamp(1.05rem, .95rem + .5vw, 1.4rem);
  font-weight:800;
  color:var(--ink);
  letter-spacing:.2px;
  position:relative;
}

/* ====== Columna izquierda (datos) ====== */
#customer_details{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:1rem 1.2rem;
  box-shadow:0 6px 18px rgba(20,23,28,.06);
}

/* Grid bonito para campos */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem .9rem;
}

#tipo_comprobante{
  margin-bottom: 20px;
}

/* Campos wide a toda fila */
.form-row-wide{ grid-column:1 / -1; }

/* Apariencia de cada fila */
form.woocommerce-checkout p.form-row{
  margin:0;
}

/* Labels */
form.woocommerce-checkout p.form-row label{
  display:block;
  font-weight:700;
  color:#374151;
  margin:0 0 .35rem;
  font-size:.93rem;
}
form.woocommerce-checkout .required{ color:var(--accent); }

/* Inputs / selects / textarea */
form.woocommerce-checkout .input-text.form-control,
form.woocommerce-checkout select.form-control,
form.woocommerce-checkout .state_select.form-control,
form.woocommerce-checkout textarea.form-control{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:.65rem .75rem;
  box-shadow:0 2px 8px rgba(0,0,0,.03);
  transition:border-color .15s ease, box-shadow .15s ease, transform .08s ease;
}
form.woocommerce-checkout .input-text.form-control:focus,
form.woocommerce-checkout select.form-control:focus,
form.woocommerce-checkout .state_select.form-control:focus,
form.woocommerce-checkout textarea.form-control:focus{
  outline:0;
  border-color:color-mix(in oklab, var(--accent) 55%, #ffffff);
  box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 20%, transparent);
}

/* Placeholder tenue */
form.woocommerce-checkout ::placeholder{ color:#9aa3af; }

/* País bloqueado (RD) */
#billing_country_field strong,
#shipping_country_field strong{
  display:inline-block;
  padding:.4rem .6rem;
  border:1px dashed var(--line);
  border-radius:999px;
  background:#fafbff;
  font-weight:800;
}

/* Enviar a dirección diferente (checkbox) */
#ship-to-different-address{
  margin-top:1.25rem;
}
#ship-to-different-address .checkbox{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem .75rem;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f9fafb;
  font-weight:700; color:#374151;
}
#ship-to-different-address input[type="checkbox"]{
  width:18px; height:18px; accent-color:var(--accent); margin-left: 0;
}

/* Bloque fiscal (tu sección personalizada) */
#preguntas_tributarias{
  margin-top:1rem;
  padding-top:.25rem;
}
#preguntas_tributarias h3{
  margin-top:.25rem;
}
#campos_fiscales{
  margin-top: 20px;
}
#campos_fiscales .alert-in-danger{
  background:#fdecec !important; color:#6b0b0b !important; border-color:#f5c2c0 !important;
}
#campos_fiscales .alert-in-info{
  background:#eef2ff !important; color:#1f2937 !important; border-color:#c7d2fe !important;
}

/* ====== Columna derecha (Resumen + Pago) ====== */
#order_review_heading{
  margin:0 0 .75rem;
  font-size:clamp(1.05rem, .95rem + .5vw, 1.35rem);
  font-weight:800; color:var(--ink);
}

/* Tabla del pedido */
#order_review .shop_table{
  width:100%;
  border-collapse:separate; border-spacing:0;
  border:1px solid var(--line);
  border-radius:12px; overflow:hidden;
  box-shadow:0 4px 14px rgba(20,23,28,.05);
}
#order_review thead th{
  background:linear-gradient(180deg,#fafbfe,#f3f5f9);
  color:#374151; text-transform:uppercase; letter-spacing:.6px;
  font-weight:800; font-size:.8rem; padding:.8rem 1rem;
  border-bottom:1px solid var(--line);
}
#order_review tbody td,
#order_review tfoot th,
#order_review tfoot td{
  padding:.8rem 1rem; border-top:1px solid var(--line);
  vertical-align:middle;
}
#order_review tbody tr:hover{ background:#fafbff; }
#order_review .product-name{ font-weight:700; color:#111827; }
#order_review .product-quantity{
  margin-left:.4rem; padding:.12rem .5rem; border-radius:999px;
  background:rgba(150,45,49,.08); border:1px solid rgba(150,45,49,.18);
  color:var(--accent); font-weight:800; font-size:.85rem;
}

/* Totales */
#order_review .order-total th,
#order_review .order-total td{
  border-top:2px solid color-mix(in oklab, var(--accent) 35%, #ffffff);
  font-size:1.05rem;
}
#order_review .order-total .amount{ color:var(--accent); font-weight:800; }

/* Métodos de pago como “cards” */

#payment .wc_payment_methods{ list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
#payment .wc_payment_method{
  border:1px solid var(--line); border-radius:10px; background:#fafafa;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
  padding:.55rem .65rem;
}
#payment .wc_payment_method:hover{ border-color:color-mix(in oklab, var(--accent) 40%, #ffffff); background:#fff; }
#payment .wc_payment_method input.input-radio{ width:16px; height:16px; accent-color:var(--accent); margin-right:.4rem; }
#payment .wc_payment_method label{
  font-weight:800; color:#111827; cursor:pointer;
}


/* Botón Realizar pedido */
#place_order{
  width:100%;
  margin-top:.9rem;
  background:var(--accent);
  border:1px solid var(--accent);
  border-radius:12px;
  padding:.8rem 1rem;
  color:#fff; font-weight:900; letter-spacing:.3px;
  box-shadow:0 12px 24px rgba(150,45,49,.18);
  transition:transform .06s ease, box-shadow .15s ease, filter .15s ease;
}
#place_order:hover{
  filter:brightness(1.03);
  box-shadow:0 16px 28px rgba(150,45,49,.24);
}
#place_order:active{ transform:translateY(1px); }

/* Texto de privacidad */
.woocommerce-privacy-policy-text{
  margin:.6rem 0 0; color:var(--muted);
  font-size:.92rem;
}

/* Título */
.entry-header .entry-title{
  color:var(--azul-accent);
  font-weight:800;
}

/* Contenedor */
.entry-content #AZUL_PaymentPage{
  list-style:none;margin:0;padding:0;
  background:var(--azul-card);
  border:1px solid var(--azul-line);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  overflow:hidden;
}

/* Banda de éxito */
.entry-content #AZUL_PayStatus{
  background:linear-gradient(135deg,var(--azul-success),#40a845);
  color:#fff;font-weight:800;letter-spacing:.2px;
  padding:1rem 1.25rem;font-size:1.02rem;
}
.entry-content #AZUL_PayStatus::before{
  content:"\f058"; /* fa-solid circle-check */
  font-family:"Font Awesome 6 Pro";
  font-weight:900;margin-right:.6rem;
}

/* Fila: grid de 2 columnas */
.entry-content #AZUL_PaymentPage li:not(#AZUL_PayStatus){
  display:grid;
  grid-template-columns: minmax(210px, 360px) 1fr; /* etiqueta | valor */
  gap:.9rem;
  align-items:center;
  padding:.9rem 1.25rem;
  border-top:1px solid var(--azul-line);
  color:var(--azul-text);
  font-weight:700; /* valor en negrita */
  background:#fff;
}

/* Label (span) como chip sin estirarse */
.entry-content #AZUL_PaymentPage li > span:first-child{
  justify-self:start; /* evita estirarse */
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.38rem .7rem;
  background:var(--azul-chip-bg);
  border:1px solid var(--azul-line);
  border-radius:999px;
  color:var(--azul-muted);
  font-weight:700; line-height:1;
  white-space:nowrap;
  max-width:100%;
}

.entry-content #AZUL_PaymentPage li > span:first-child{ position:relative; }
.entry-content #AZUL_PaymentPage li > span:first-child::before{
  content:inherit; /* toma el content del li::before */
  position:absolute; left:.55rem; top:50%; transform:translateY(-50%);
  font-family:inherit; font-weight:900; color:var(--azul-accent);
}

/* Valor (texto suelto del li) – mismo renglón, no sobrescribir */
.entry-content #AZUL_PaymentPage li:not(#AZUL_PayStatus){ font-size:clamp(.96rem, .9rem + .2vw, 1rem); }

/* Hover sutil por fila */
.entry-content #AZUL_PaymentPage li:not(#AZUL_PayStatus):hover{
  background:#fafafa;
}

/* Responsive: apilar */
@media (max-width: 780px){
  .entry-content #AZUL_PaymentPage li:not(#AZUL_PayStatus){
    grid-template-columns: minmax(100px, 200px) 2fr; /* etiqueta arriba, valor abajo */
    align-items:start;
  }
  .entry-content #AZUL_PaymentPage li > span:first-child{
    margin-bottom:.25rem;
  }

}

/* ====== Responsive ====== */
@media (max-width: 991.98px){
  #customer_details,
  .woocommerce-additional-fields,
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper{
    grid-template-columns:1fr; gap:.75rem;
  }
}
@media (max-width: 575.98px){
  #payment{ padding:.65rem .7rem; }
  #order_review .shop_table{ border-radius:10px; }
}

/* Responsive */
@media (max-width: 767.98px){
  .woocommerce-customer-details .woocommerce-columns.col2-set.addresses{
    grid-template-columns: 1fr;
  }
  .woocommerce-customer-details .woocommerce-column{
    border-radius:12px;
    padding:1rem;
  }
  .woocommerce-customer-details address{
    border-radius:10px;
  }
}

@media (max-width: 992px) {
    .container, .container-sm, .container-md, .container-lg {
        max-width: 100%;
    }

    .box-menu i{
      font-size: 22px;
    }

    .box-menu h4{
      font-size: 14px;
    }
}

@media (max-width: 991.98px) {

  /* Panel: bordes redondeados y sombra */
  #offcanvas-navbar.offcanvas-end {
    border-left: 0;
    border-top-left-radius: var(--radius);
    border-bottom-left-radius: var(--radius);
    box-shadow: var(--shadow);
  }

  /* Header */
  #offcanvas-navbar .offcanvas-header {
    background: linear-gradient(180deg, #fff, #fafbfc);
    border-bottom: 1px solid var(--line);
    padding: 1rem 1rem .85rem;
  }
  #offcanvas-navbar .offcanvas-title {
    color: var(--dark);
    font-weight: 900;
    letter-spacing: .2px;
  }
  #offcanvas-navbar .btn-close {
    opacity: .6;
    transition: opacity .15s ease, transform .15s ease;
  }
  #offcanvas-navbar .btn-close:hover {
    opacity: 1;
    transform: rotate(90deg);
  }

  #bootscore-navbar {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* Separador entre elementos */
  #bootscore-navbar > li {
    border-bottom: 1px solid var(--line);
  }
  #bootscore-navbar > li:last-child {
    border-bottom: none;
  }

  /* Estilo de enlaces */
  #bootscore-navbar .nav-link {
    display: block;
    padding: .9rem 1rem;
    color: #2a2f36;
    font-weight: 600;
    letter-spacing: .1px;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
  }
  #bootscore-navbar .nav-link:hover {
    background: var(--bg-soft);
    color: var(--accent);
  }
  #bootscore-navbar .current-product_cat-ancestor .nav-link,
  #bootscore-navbar .current-menu-item .nav-link {
    background: var(--accent);
    color: #fff;
  }
  #offcanvas-navbar .offcanvas-body {
    padding: 0;
    background: #fff;
}
#bootscore-navbar {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* Separador entre elementos */
  #bootscore-navbar > li {
    border-bottom: 1px solid var(--line);
  }
  #bootscore-navbar > li:last-child {
    border-bottom: none;
  }

  .dpc-mobile-cats .accordion-link .chev{
    width: 10px; height: 10px;
    border-right: 2px solid #9aa0a6;
    border-bottom: 2px solid #9aa0a6;
    transform: rotate(-45deg);
    transition: transform .2s ease;
    display: inline-block;
  }
  .dpc-mobile-cats .accordion-link[aria-expanded="true"] .chev,
  .dpc-mobile-cats .accordion-link.is-open .chev{
    transform: rotate(45deg);
  }
  /* Contenedor general */
  .dpc-mobile-cats-accordion {
    background: #fff;
    border-top: 1px solid #ddd;
  }

  /* Categorías principales */
  .dpc-mobile-cats-accordion .accordion-link {
    padding: 10px 12px;
    background: #f8f9fa;
    font-weight: 600;
    font-size: 15px;
    border-bottom: 1px solid #ddd;
    color: #222;
    text-decoration: none;
    transition: background 0.2s ease-in-out;
  }

  /* Hover en categorías principales */
  .dpc-mobile-cats-accordion .accordion-link:hover {
    background: #e9ecef;
  }

  /* Imagen de categoría principal */
  .dpc-mobile-cats-accordion .accordion-link img {
    flex-shrink: 0;
  }

  /* Subcategorías */
  .dpc-subcat-list {
    padding-left: 8px;
    margin: 0;
  }

  .dpc-subcat-list li {
    border-bottom: 1px solid #eee;
  }

  .dpc-subcat-list a.dpc-subcat {
    display: flex;
    align-items: center;
    padding: 8px 8px 8px 4px;
    font-size: 14px;
    color: #555;
    text-decoration: none;
    background: #fff;
    transition: background 0.2s ease-in-out;
  }

  /* Hover en subcategorías */
  .dpc-subcat-list a.dpc-subcat:hover {
    background: #f6f6f6;
    color: #000;
  }

  /* Imagen subcategoría */
  .dpc-subcat-list img {
    flex-shrink: 0;
  }

  /* Botón Ver Todo */
  .dpc-mobile-cats-accordion .btn-sm {
    margin-top: 6px;
    font-size: 13px;
  }

}

/* Responsive tweaks */
@media (max-width: 575.98px){
  .woocommerce-order-details{
    padding:1rem;
    border-radius:12px;
  }
  .woocommerce-order-details .shop_table.order_details{
    border-radius:10px;
  }
  .woocommerce-order-details .shop_table.order_details thead th{
    font-size:.78rem;
  }
  .woocommerce-order-details .product-quantity{
    margin-left:.35rem;
  }
  .woocommerce-bacs-bank-details{
    border-radius:12px;
    padding:1rem;
  }
  .woocommerce-bacs-bank-details .wc-bacs-bank-details li{
    width:100%;
    border-radius:12px;
    justify-content:flex-start;
  }
  .dpc-bacs-proof-thumb{ max-width:100% !important; }

  .hero-list{grid-template-columns:1fr}
  .page-id-15 .entry-content > .wp-block-heading{ margin: 1rem 0 .25rem; }
  .page-id-15 .entry-content ul.wp-block-list > li{ padding-left: 2rem; }

  .page-id-18 .entry-content h3.wp-block-heading {
    padding: .8rem .9rem;
  }
  .page-id-18 .entry-content h3.wp-block-heading + ul.wp-block-list {
    padding: .8rem .9rem .9rem;
  }

  #customer_login { grid-template-columns: 1fr; gap: 12px; }
  #customer_login .u-column1,
  #customer_login .u-column2{ padding: 14px; }
  #customer_login h2{ font-size: 1.15rem; }

.dpc-mobile-cats .accordion-link .chev{
    width: 10px; height: 10px;
    border-right: 2px solid #9aa0a6;
    border-bottom: 2px solid #9aa0a6;
    transform: rotate(-45deg);
    transition: transform .2s ease;
    display: inline-block;
  }
  .dpc-mobile-cats .accordion-link[aria-expanded="true"] .chev,
  .dpc-mobile-cats .accordion-link.is-open .chev{
    transform: rotate(45deg);
  }
  /* Contenedor general */
  .dpc-mobile-cats-accordion {
    background: #fff;
    border-top: 1px solid #ddd;
  }

  /* Categorías principales */
  .dpc-mobile-cats-accordion .accordion-link {
    padding: 10px 12px;
    background: #f8f9fa;
    font-weight: 600;
    font-size: 15px;
    border-bottom: 1px solid #ddd;
    color: #222;
    text-decoration: none;
    transition: background 0.2s ease-in-out;
  }

  /* Hover en categorías principales */
  .dpc-mobile-cats-accordion .accordion-link:hover {
    background: #e9ecef;
  }

  /* Imagen de categoría principal */
  .dpc-mobile-cats-accordion .accordion-link img {
    flex-shrink: 0;
  }

  /* Subcategorías */
  .dpc-subcat-list {
    padding-left: 8px;
    margin: 0;
  }

  .dpc-subcat-list li {
    border-bottom: 1px solid #eee;
  }

  .dpc-subcat-list a.dpc-subcat {
    display: flex;
    align-items: center;
    padding: 8px 8px 8px 4px;
    font-size: 14px;
    color: #555;
    text-decoration: none;
    background: #fff;
    transition: background 0.2s ease-in-out;
  }

  /* Hover en subcategorías */
  .dpc-subcat-list a.dpc-subcat:hover {
    background: #f6f6f6;
    color: #000;
  }

  /* Imagen subcategoría */
  .dpc-subcat-list img {
    flex-shrink: 0;
  }

  /* Botón Ver Todo */
  .dpc-mobile-cats-accordion .btn-sm {
    margin-top: 6px;
    font-size: 13px;
  }

  button, .btn, .add_to_cart_button{
    padding: 10px 15px;
    font-size: 13px;
  }
  .woocommerce div.product form.cart .button {
    flex-grow: 1;
    width: 170px;
}
  .navbar.navbar-expand-lg{
    border-bottom: 1px solid #dedede;
  }
  /* ============================
     Offcanvas menú (mismo HTML)
     ============================ */
  #offcanvas-navbar {
    --accent: #962D31;
    --dark: #202427;
    --muted: #6d7276;
    --line: #e8ebef;
    --bg-soft: #f7f8fa;
    --radius: 18px;
    --shadow: 0 18px 42px rgba(20,23,26,.18);
  }

  /* Panel: bordes redondeados y sombra */
  #offcanvas-navbar.offcanvas-end {
    border-left: 0;
    border-top-left-radius: var(--radius);
    border-bottom-left-radius: var(--radius);
    box-shadow: var(--shadow);
  }

  /* Header */
  #offcanvas-navbar .offcanvas-header {
    background: linear-gradient(180deg, #fff, #fafbfc);
    border-bottom: 1px solid var(--line);
    padding: 1rem 1rem .85rem;
  }
  #offcanvas-navbar .offcanvas-title {
    color: var(--dark);
    font-weight: 900;
    letter-spacing: .2px;
  }
  #offcanvas-navbar .btn-close {
    opacity: .6;
    transition: opacity .15s ease, transform .15s ease;
  }
  #offcanvas-navbar .btn-close:hover {
    opacity: 1;
    transform: rotate(90deg);
  }

  /* Body */
  #offcanvas-navbar .offcanvas-body {
    padding: 0;
    background: #fff;
  }

  /* ============================
     Lista y enlaces
     ============================ */
  #bootscore-navbar {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* Separador entre elementos */
  #bootscore-navbar > li {
    border-bottom: 1px solid var(--line);
  }
  #bootscore-navbar > li:last-child {
    border-bottom: none;
  }

  /* Estilo de enlaces */
  #bootscore-navbar .nav-link {
    display: block;
    padding: .9rem 1rem;
    color: #2a2f36;
    font-weight: 600;
    letter-spacing: .1px;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
  }
  #bootscore-navbar .nav-link:hover {
    background: var(--bg-soft);
    color: var(--accent);
  }
  #bootscore-navbar .current-product_cat-ancestor .nav-link,
  #bootscore-navbar .current-menu-item .nav-link {
    background: var(--accent);
    color: #fff;
  }

  .promo-card{
    background-image: none!important;
  }
}


.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount{
  font-size: 1rem;
}

.woocommerce div.product p.price del, .woocommerce div.product span.price del{
  opacity: .5!important;
}

/* Contenedor principal */
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
  color: var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
}

.wc-block-components-title,
.wc-block-components-checkout-step__title {
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--text);
  letter-spacing: .2px;
  margin: 0 0 .4rem;
}

/* Descripciones y notas */
.wc-block-components-checkout-step__description,
.wc-block-checkout__guest-checkout-notice,
.wc-block-components-checkbox__label {
  color: var(--muted);
}

/* ====== Tarjetas / secciones ====== */
.wc-block-components-checkout-step__container,
.wc-block-components-panel,
.wp-block-woocommerce-checkout-order-summary-block {
  background: var(--azul-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.wc-block-components-checkout-step {
  padding: 1rem;
  margin-bottom: 1rem;
}

.wc-block-components-checkout-step__container {
  padding: 1rem;
}

/* ====== Inputs (texto, select, teléfono, email) ====== */
.wc-block-components-text-input input,
.wc-blocks-components-select__select,
.wc-block-components-address-form__address_2-hidden-input {
  width: 100%;
  background: var(--bg-soft);
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) - 4px);
  padding: .9rem .9rem;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-address-form__address_2-hidden-input:focus {
  outline: none;
  border-color: var(--accent);
  background: #fff;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}

/* Label flotante de los inputs */
.wc-block-components-text-input label,
.wc-blocks-components-select__label {
  color: var(--azul-muted);
  font-size: .85rem;
}

/* Toggle “+ Añadir apartamento…” */
.wc-block-components-address-form__address_2-toggle {
  color: var(--accent);
  font-weight: 600;
  margin-top: .25rem;
  cursor: pointer;
}

/* Checkbox (crear cuenta, usar misma dirección, notas) */
.wc-block-components-checkbox__input {
  accent-color: var(--accent);
}
.wc-block-components-checkbox__label {
  font-size: .95rem;
}

/* ====== Radios (envío y métodos de pago) ====== */
.wc-block-components-radio-control__option {
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) - 4px);
  padding: .8rem .9rem;
  margin-bottom: .6rem;
  transition: border-color .2s, box-shadow .2s, background .2s;
  background: var(--azul-card);
}

.wc-block-components-radio-control__option:hover {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
}

.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option--checked-option-highlighted {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
  background: #fff;
}

.wc-block-components-radio-control__label {
  font-weight: 600;
  color: var(--text);
}
.wc-block-components-radio-control__secondary-label,
.wc-block-checkout__shipping-option--free {
  color: var(--azul-muted);
}

/* Badge de stock bajo */
.wc-block-components-product-low-stock-badge {
  background: var(--azul-chip-bg);
  border: 1px solid var(--azul-line);
  color: var(--accent);
  border-radius: 999px;
  padding: .15rem .6rem;
  font-size: .75rem;
  font-weight: 700;
}

/* ====== Resumen del pedido (sidebar) ====== */
.wc-block-checkout__sidebar {
  position: sticky;
  top: 16px;
  gap: 1rem;
}

.wc-block-components-checkout-order-summary__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-soft);
  border-bottom: 1px solid var(--line);
  border-radius: var(--radius) var(--radius) 0 0;
  padding: .9rem 1rem;
}

.wc-block-components-order-summary__content {
  padding: .8rem 1rem 1rem;
}

.wc-block-components-order-summary-item {
  border-bottom: 1px dashed var(--line);
  padding: .7rem 0;
}
.wc-block-components-order-summary-item:last-child {
  border-bottom: 0;
}

.wc-block-components-product-name {
  margin: 0 0 .2rem;
  font-weight: 600;
}

.wc-block-components-totals-item__label {
  color: var(--azul-muted);
}
.wc-block-components-totals-item__value,
.wc-block-components-checkout-order-summary__title-price {
  font-weight: 700;
  color: var(--text);
}

.wc-block-components-totals-coupon.wc-block-components-panel{
  line-height: 45px;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}

.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained{
  height: 50px;
}

/* Total final */

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 1.05rem;
  color: var(--text);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.25rem;
}

/* ====== Botones ====== */
.wc-block-components-button.contained,
.wc-block-components-checkout-place-order-button.contained,
.wc-block-components-checkout-return-to-cart-button {
  border-radius: calc(var(--radius) - 4px);
  font-weight: 700;
  border: 1px solid transparent;
  transition: transform .04s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

.wc-block-components-checkout-place-order-button.contained {
  background: var(--accent);
  color: var(--blanco);
  box-shadow: var(--shadow);
  padding: .9rem 1.2rem;
}
.wc-block-components-checkout-place-order-button.contained:hover {
  background: var(--azul-accent-600);
}
.wc-block-components-checkout-place-order-button.contained:active {
  transform: translateY(1px);
}

.wc-block-components-checkout-return-to-cart-button {
  background: var(--azul-chip-bg);
  color: var(--text);
  border-color: var(--azul-line);
  padding: .7rem 1rem;
}
.wc-block-components-checkout-return-to-cart-button:hover {
  border-color: var(--accent);
  color: var(--accent);
}

/* ====== Términos y cupones ====== */
.wc-block-checkout__terms--with-separator {
  border-top: 1px solid var(--line);
  margin-top: 1rem;
  padding-top: .8rem;
}
.wc-block-components-panel__button {
  color: var(--accent);
  font-weight: 600;
}

/* ====== Estados (errores/éxito) ====== */
.wc-block-components-notice-snackbar-list .wc-block-components-notice,
.wc-block-components-notices .wc-block-components-notice {
  border-radius: calc(var(--radius) - 6px);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.wc-block-components-notice.is-success {
  border-color: color-mix(in srgb, var(--azul-success) 50%, var(--line));
}
.wc-block-components-notice.is-error {
  border-color: color-mix(in srgb, red 40%, var(--line));
}

/* ====== Pequeños ajustes de layout ====== */
.wc-block-checkout__actions_row {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
}

/* ====== Responsive ====== */
@media (max-width: 992px) {
  .wc-block-components-sidebar-layout.wc-block-checkout.is-large {
    gap: 1rem !important;
  }
  .wc-block-components-checkout-step,
  .wc-block-components-checkout-step__container,
  .wp-block-woocommerce-checkout-order-summary-block {
    border-radius: calc(var(--radius) - 4px);
  }
}
@media (max-width: 600px) {
  .wc-block-components-title,
  .wc-block-components-checkout-step__title {
    font-size: 1.15rem;
  }
  .wc-block-components-checkout-order-summary__title-price {
    font-size: 1rem;
  }
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title{
  margin-top: 0!important;
  font-size: 18px;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text{
  margin-bottom: 0!important;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{
  box-shadow: none;
}

