/*
Theme Name: camino-dynamo-woo-pretty2
Text Domain: camino-dynamo
Version: 1.0
Requires at least: 4.7
Requires PHP: 5.2.4
Description: tema para camino dynamo.
Author: Carlos Velasquez
Author URI: https://www.camino-dynamo.com/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

*/
/* === BREAKPOINTS BASE RESPONSIVE === */
@media (max-width: 575.98px) {
  html { font-size: 14px; }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  html { font-size: 15px; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  html { font-size: 16px; }
}

@media (min-width: 992px) {
  html { font-size: 18px; }
}

/* === ESCALADO AUTOMÁTICO DE IMÁGENES === */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* === RESPONSIVE PARA PRODUCT BOX === */
@media (max-width: 767.98px) {
  #product-box-content {
    height: auto !important;
    padding: 1rem !important;
  }

  .product-box a.button.add_to_cart_button,
  .single_add_to_cart_button {
    font-size: 0.875rem !important;
    padding: 0.5rem !important;
  }

  .product-box h3,
  .product-box p {
    font-size: 1rem !important;
  }

  #carousel-single-product .product-image img {
    width: 100% !important;
    height: auto !important;
  }
}

/* === SIDEBAR Y COLUMNA EN PANTALLAS PEQUEÑAS === */
@media (max-width: 991.98px) {
  .shop-sidebar {
    margin-top: 1.5rem;
    width: 100% !important;
  }

  .woocommerce-checkout .col-1,
  .woocommerce-checkout .col-2 {
    width: 100% !important;
    float: none !important;
  }
}
/* Oculta el sidebar en móviles */
@media (max-width: 767px) {
  aside#secondary {
    display: none !important;
  }
}

/* Ajusta tamaño de productos en móviles */
@media (max-width: 767px) {
  .product-box {
    padding: 0.5rem;
    font-size: 0.85rem;
  }

  .product-box h6 {
    font-size: 0.95rem;
  }

  .product-box img {
    object-fit: cover;
    height: 150px !important;
  }
}
#mainBannerCarousel img {
  height: 280px;
  object-fit: cover;
  border-radius: 10px;
}

@media (max-width: 768px) {
  #mainBannerCarousel img {
    height: 180px;
  }
}

body {
    background:#FFF7F0;
    color:#176767;
    font-size: 20px;
    text-align: justify !important;
}
/* Títulos (h1 a h6) */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', 'Poppins', sans-serif;
  font-weight: 700;
}

/* Precios */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
  font-family: 'Bebas Neue', 'Lato', sans-serif !important;
  font-weight: 700;
}

/* Descripción corta */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: 'Open Sans', 'Roboto', sans-serif !important;
  font-weight: 400;
  font-size: 1rem;
  color: #333;
}

html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}
header {
    position: relative;
    margin: 0px;
    padding: 0px;
    width: 100% !important;
    background-color: rgb(23,103,103) !important;
    background-image: linear-gradient(68deg, rgba(23,103,103,1) 0%, rgba(23,145,142,1) 50%, rgba(255,255,255,1) 100%) !important;
}
header:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100% !important;
    height: 210px;
    background: url(img/wave.svg);
    background-size: cover;
    background-repeat: no-repeat;
}
/* The sticky class is added to the header with JS when it reaches its scroll position */
.sticky {
    position: fixed;
    z-index: 999;
    top: 0;
    width: 100%;
    background: rgb(23,103,103) !important;
    background: linear-gradient(68deg, rgba(23,103,103,1) 0%, rgba(23,145,142,1) 50%, rgba(255,255,255,1) 100%) !important;
}
.sticky:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 210px;
    background: url(img/wave.svg);
    background-size: cover;
    background-repeat: no-repeat;
}
.top-header {
    width: 100% !important;
    margin: 0px;
}
.navbar-light .navbar-nav li.nav-item a.nav-link {
    color:white !important;
}
.dropdown-menu-dark {
    background-color: #176767 !important;
}
#slider {
    padding: 0 !important;
    width: 100% !important;
    margin: auto;
}
#slider .carousel-caption {
    top:70%;
}
#slider .carousel-caption, #slider .carousel-inner {
    text-align: left;
}
#servicios {
    width: 100% !important;
    text-align: center;
}
#title-servicio {
    font-size: 50px !important;
}
.btn-success {
    background: linear-gradient(to right, #1FAACB, #174747) !important;
    border-bottom-left-radius: 50px !important;
    border-top-left-radius: 50px !important;
    border-top-right-radius: 50px !important;
    border-bottom-right-radius: 50px !important;
}
.btn-danger {
    border-bottom-left-radius: 50px !important;
    border-top-left-radius: 50px !important;
    border-top-right-radius: 50px !important;
    border-bottom-right-radius: 50px !important;
}
#nosotros {
    text-align: justify;
    text-justify: inter-word;
    margin-top: 40px !important;
}
#comunas {
    color:white !important;
    width: 100% !important;
    position: relative !important;
    text-align: center !important;
}
#estadisticas {
    width: 100% !important;
    background: url(img/estadisticas_background.png) no-repeat;
    background-size: cover;
    font-family: sans-serif;
    font-size: 30px !important;
    color: #176767 !important;
}
#estadisticas p.texto {
    font-size: 15px !important;
}
#estadisticas h6 {
    font-size: 50px !important;
}
.links {
    text-decoration: none;
    color: white;
}
a.links h6 {
    font-size: 10px !important;
}
.links:hover {
    color:black;
}
.item {
    align-items: center;
    justify-content: center;
    display: inline-block;
    height: 50px;
    width: 150px;
}
#alianzas {
    padding: 0;
    margin-top: 60px;
    margin-bottom: 60px;
    width: 100% !important;
}
button:active {
    border: none;
}
#contenido {
    margin-top: 50px !important ;
}
#page-contacto p {
    font-size: 15px !important;
}

.bg-light {
    background-color: rgba(160, 160, 159, 0.849) !important;
}
.text-light {
    color:black !important;
    text-decoration: underline !important;
}
.accordion-body {
    font-size: 1rem !important;
}
.text-light:hover {
    cursor: pointer !important;
}
/*
#b-tr {
    background-color: black !important;
    opacity: 0.6 !important;
}*/
#workteam-dynamo h1 {
    color: #174747;
}
/*
.text-glow {
    animation: glow 1s ease-in-out infinite alternate !important;
}
@-webkit-keyframes glow {
    from {
        text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #174747, 0 0 40px #174747, 0 0 50px #174747, 0 0 60px #174747, 0 0 70px #174747;
    }
    to {
        text-shadow: 0 0 20px #fff, 0 0 30px #176767, 0 0 40px #176767, 0 0 50px #176767, 0 0 60px #176767, 0 0 70px #176767, 0 0 80px #176767;
    }
}*/
.card {
    text-align: center !important;
    background-color: #176767 !important;
    color: white !important;
}
#service .card-group .card {
    background-color: white !important;
    color:#174747 !important;
    font-size: 15px !important;
    border: 1px solid #555 !important;
}
#service .card-group .card .card-title {
    color: #174747 !important;
}
#footer {
    position: relative;
    width: 100% !important;
    margin: 0px;
    padding: 0px;
    background: url(img/fondo-footer.jpeg) no-repeat !important;
    background-size: cover !important;
}
#footer div.titulo-footer {
    background: rgb(27,31,31);
    background: linear-gradient(68deg, rgba(27,31,31,1) 0%, rgba(68,84,84,1) 100%);
    font-size: 10px !important;
    display: inline-flex !important;
}
#footer div.titulo-footer.px-6 {
    padding-left: 33px !important;
    padding-right: 33px !important;
}
h6.letra-verde {
    color: #7dbd22 !important;
}
#sub-footer{
    z-index: 9 !important;
}
#link-footer{
    font-size: 15px !important;
    border-right: solid 3px white !important;
}
#link-footer .links {
    font-size: 10px !important;
}
span.icon-ubi {
    color: white;
}
#steps {
    width: 100% !important;
}
.dashicons-arrow-up-alt:before {
    content: "\f342";
    font-size:18px;
    color:white;
    }
#myBtn {
    display: none; /* Hidden by default */
    position: fixed; /* Fixed/sticky position */
    bottom: 20px; /* Place the button at the bottom of the page */
    right: 30px; /* Place the button 30px from the right */
    z-index: 9; /* Make sure it does not overlap */
    border: none; /* Remove borders */
    outline: none; /* Remove outline */
    background-color: #176767; /* Set a background color */
    color: white; /* Text color */
    cursor: pointer; /* Add a mouse pointer on hover */
    padding: 15px; /* Some padding */
    border-radius: 10px; /* Rounded corners */
    font-size: 10px; /* Increase font size */
}

#myBtn:hover {
background-color: #555; /* Add a dark-grey background on hover */
}
.modal-body p {
    font-size: 10px !important;
}

.accordion-button:focus {
    background-color: #176767 !important;
    color: white !important;
    box-shadow: none !important;
    border-color: white !important;
}
.parallax {
    font-size: 20px !important ;
    /* The image used */
    background-color: white !important;
   /* background-image: url("img/fondo.jpeg"); */
  
  
    /* Create the parallax scrolling effect */
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
/* testimonial index */
.text-primary {
    color: #176767 !important;
}
#testimonios-sect .card {
    background-color: white !important;
    color: black !important;
    font-size: 14px !important;
    margin-top: 50px !important;
}
#testimonios-sect .card img.img-circle {
    vertical-align: middle;
    width: 80px;
    height: 80px;
    border-radius: 50%;
}
/* css para testimoniales */

.product-card .card-img-top {
  transition: transform 0.3s ease;
}
.product-card .add_to_cart_button {
  width: 100%;
}
/* css para tienda productos */

/* Estilo general del contenedor del producto */

.product-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Reservar espacio aunque no haya oferta */
.product-box .badge,
.product-box .badge-placeholder {
  display: block;
  min-height: 1.8rem;
  margin-bottom: 0.5rem;
}

/* Ocultar placeholder si hay oferta */
.product-box .badge + .badge-placeholder {
  display: none;
}
.badge {
    z-index:10;
}

/* Imagenes en el carrusel */

/* descuentos css */

.product-image {
  position: relative;
  overflow: hidden;
    object-fit:contain;
}

.carousel-img-contain {/* fuerza a respetar la altura del contenedor padre */
  object-fit: contain;  /* evita recortes, muestra toda la imagen */
  object-position: center center;
  background-color: #fff;
}

.discount-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  background: #ff5722;
  color: white;
  font-weight: 600;
  padding: 0.3rem 0.6rem;
  border-radius: 0.5rem;
}


/* Estilo del bot車n agregar al carrito */
/* Bot車n Agregar al carrito con selector robusto y !important */
.product-box a.button.add_to_cart_button{
  display: block !important;
  width: 100% !important;
  background-color: #ff5722 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-align: center !important;
  padding: 0.6rem 1rem !important;
  border-radius: 0.5rem !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: none !important;
}

.product-box a.button.add_to_cart_button:hover {
  background-color: #e64a19 !important;
  color: #fff !important;
}


/* T赤tulo del producto */
.product-box h3 {
  font-size: 12px !important;
  margin-top: 0.5rem;
}

/* Precio */
.product-box p {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

/* Carrusel botones */
#product-single-product .carousel-control-prev,
#product-single-product .carousel-control-next {
  width: 10% !important;
}



/* Carrusel en producto individual */
productCarousel .carousel-item {
  object-fit:contain !important;
  object-position:center center;
  background-color: #fff !important;
}

#productCarousel .carousel-item img {
  object-fit: contain !important;
  border-radius: 0.5rem;
}
/* Estilos para formulario de valoraci車n */
/* Fondo crema para secciones de tarjeta */
.card,
.woocommerce-tabs,
.widget_shopping_cart_content {
  background-color: #FFF7F0 !important;
  border-radius: 1rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.06);
  color:#176767 !important;
}

.woocommerce-tabs .form-label {
  font-weight: 600;
}

.woocommerce-tabs select.form-select {
  max-width: 200px;
}

.woocommerce-tabs textarea.form-control {
  resize: vertical;
}

.woocommerce-tabs .form-submit .btn {
  margin-top: 1rem;
}

/* Ajustes para comentarios existentes */
.woocommerce-Reviews .commentlist {
  list-style: none;
  padding-left: 0;
}

.woocommerce-Reviews .comment {
  border-bottom: 1px solid #dee2e6;
  padding: 1rem 0;
}

.woocommerce-Reviews .comment .meta {
  font-size: 0.9rem;
  color: #6c757d;
}

.woocommerce-Reviews .comment .description {
  margin-top: 0.5rem;
}

/* Estrellas del rating en el formulario */
.woocommerce-tabs select[name="rating"] {
  font-size: 1.1rem;
}


/* Centrar selector de estrellas */
.woocommerce-tabs select[name="rating"] {
  display: inline-block;
  margin: 0 auto;
  text-align: center;
}

/* Espaciado y alineaci車n de comentarios */
.commentlist {
  list-style: none;
  padding-left: 0;
  margin-top: 1rem;
}

.commentlist li {
  border-bottom: 1px solid #dee2e6;
  padding: 1rem 0;
}

.commentlist .meta {
  font-size: 0.9rem;
  color: #6c757d;
}

.commentlist .description {
  margin-top: 0.5rem;
}

.form-submit .btn {
  margin-top: 1rem;
}

.single_add_to_cart_button {
  display: block !important;
  width: 100% !important;
  background-color: #ff5722 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-align: center !important;
  padding: 0.6rem 1rem !important;
  border-radius: 0.5rem !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: none !important;
}

.tab-content .tab-pane a.btn, .form-submit input.btn {
  display: block !important;
  width: 100% !important;
  background-color: #ff5722 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-align: center !important;
  padding: 0.6rem 1rem !important;
  border-radius: 0.5rem !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: none !important;
}


/* Contenedor de cantidad con botones + y - */
.quantity-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 120px;
}

/* Input de cantidad */
.btn-qty {
  background-color: #e9ecef;
  color: #000;
  font-size: 1.2rem;
  width: 38px;
  height: 38px;
  line-height: 1;
  padding: 0;
  text-align: center;
  border-radius: 0.25rem;
  border: 1px solid #ced4da;
}

.qty {
  width: 60px;
  text-align: center;
  font-weight: bold;
}
.shop-sidebar {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  padding: 1rem;
  border-radius: 0.5rem;
  z-index:10 !important;
}

.shop-sidebar .widget {
  margin-bottom: 1.5rem;
}

.shop-sidebar .widget-title {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.75rem;
  color: #0d6efd;
}

.shop-ordering select {
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.375rem;
  border: 1px solid #ced4da;
}

/* Ajuste para los inputs del filtro de precio */
.wc-block-product-filter-price-slider__left input, .wc-block-product-filter-price-slider__right input {
  width: 100% !important;
  max-width: 120px !important;
  padding: 0.4rem !important;
  text-align: center !important;
  font-weight: 600 !important;
  border-radius: 0.375rem !important;
  border: 1px solid #ced4da !important;
  z-index:9 !important;
}

/* Fondo general */
body.woocommerce-cart {
  background-color: #FFF7F0;
  color: #176767;
}

/* Producto listado */
.woocommerce-cart .list-group-item {
  background-color: #fffefc;
  border: 1px solid #eee;
}

/* Título de la sección */
.woocommerce-cart h2,
.woocommerce-cart h4 {
  font-family: 'Montserrat', sans-serif;
}

/* Imagen del producto */
.woocommerce-cart .product-thumbnail img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Precio en rojo */
.woocommerce-cart .text-danger {
  color: #e63946 !important;
}

/* Stock disponible */
.woocommerce-cart .badge {
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 0.5rem;
}

/* Sidebar resumen */
.woocommerce-cart .cart-collaterals {
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 0 8px rgba(0,0,0,0.05);
}

/* Botón finalizar compra */
.btn-danger {
  background-color: #ff5722 !important;
  border-color: #ff5722 !important;
  transition: background 0.3s ease;
}
.btn-danger:hover {
  background-color: #e64a19 !important;
  border-color: #e64a19 !important;
}

/* Responsive: móviles */
@media (max-width: 767.98px) {
  .woocommerce-cart .row.g-4 {
    flex-direction: column;
  }

  .woocommerce-cart .col-lg-8,
  .woocommerce-cart .col-lg-4 {
    width: 100%;
    max-width: 100%;
  }

  .woocommerce-cart .list-group-item {
    flex-direction: column;
    text-align: center;
    padding: 1rem;
  }

  .woocommerce-cart .list-group-item .d-flex {
    flex-direction: column;
    align-items: center;
  }

  .woocommerce-cart .list-group-item .text-end {
    margin-top: 0.5rem;
    text-align: center !important;
  }

  .woocommerce-cart .btn-danger {
    font-size: 1rem;
    padding: 0.75rem 1rem;
  }
}

/* Responsive: tablets */
@media (max-width: 991.98px) {
  .woocommerce-cart .cart-collaterals {
    padding: 1.5rem;
  }
}


/* pagina checkout wp-mp*/
body.woocommerce-checkout {
  background-color: #FFF7F0;
  color: #176767;
}

/* Títulos */
.woocommerce-checkout h2,
.woocommerce-checkout h4,
.woocommerce-checkout h5 {
  font-family: 'Montserrat', sans-serif;
}

/* Cuadros blancos */
.woocommerce-checkout .bg-white {
  background-color: #ffffff;
  border: 1px solid #eee;
}

/* Botón de pagar */
#place_order {
  background-color: #ff5722 !important;
  border: none;
  padding: 12px 20px;
  font-weight: bold;
  font-size: 1rem;
  color: white;
  width: 100%;
  border-radius: 0.5rem;
}
#place_order:hover {
  background-color: #e64a19 !important;
}

/* Responsive */
@media (max-width: 767.98px) {
  .woocommerce-checkout .row.g-4 {
    flex-direction: column;
  }

  .woocommerce-checkout .col-lg-7,
  .woocommerce-checkout .col-lg-5 {
    width: 100%;
    max-width: 100%;
  }
}



/* css para el header */
/* === HEADER LOGIN + CARRITO === */
/* Imagen del logo */
.navbar-brand img {
  max-width: 160px;
  height: auto;
}

/* Espaciado vertical del navbar */
.navbar {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  background-image: url('img/wave.png');
  background-color: #197e70;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  z-index: 1000;
}

/* Íconos y enlaces del carrito */
.navbar .bi-cart3 {
  transition: transform 0.2s ease;
}
.navbar .bi-cart3:hover {
  transform: scale(1.1);
}

/* Botones de login */
.btn-login-1 {
  background-color: #ff7f27;
  border: 1px solid #176767;
  color: #fff;
  padding: 6px 14px;
  font-size: 0.875rem;
  border-radius: 0.4rem;
}
.btn-login-1:hover {
  background-color: #eafaf9;
  color: #0a3d3f;
  border-color: #0a3d3f;
}
.btn-login-2 {
  background-color: #ff7f27;
  color: #fff;
  padding: 6px 14px;
  font-size: 0.875rem;
  border: none;
  border-radius: 0.4rem;
}

.btn-login-2:hover {
  background-color: #eafaf9;
  color: #0a3d3f;
}

/* Menú responsive */
.navbar-nav .nav-link {
  font-weight: 500;
  color: #333;
}
.navbar-nav .nav-link:hover {
  color: #176767;
}

.navbar .dropdown-menu {
  border-radius: 0.5rem;
  border: none;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.navbar .dropdown-item:hover {
  background-color: #eafaf9;
  color: #176767;
}

/* Mobile */
@media (max-width: 991.98px) {
  .navbar .d-flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 1rem;
  }

  .navbar .navbar-collapse {
    background-color: #197e70;
    padding: 1rem;
    border-radius: 0.5rem;
  }

  .navbar .navbar-toggler {
    border-color: #176767;
  }

  .navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23176767' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(23, 103, 103, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  }

  .navbar-brand img {
    max-width: 130px;
  }
    .btn-login-1,
  .btn-login-2 {
    width: 100%;
    margin-bottom: 10px;
    font-size:0.8rem;
    padding:5px 10px;
  }
}
/* Estilos solo para pantallas entre 770px y 1280px */
@media (min-width: 770px) and (max-width: 1280px) {
  .btn-login-1,
  .btn-login-2 {
    font-size: 0.75rem;
    padding: 4px 10px;
    line-height: 1.2;
  }
}

/* Extras: bandera */
.navbar img[alt*="bandera"] {
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #ccc;
}



/* Fondo general */
body.woocommerce-page .site-main {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFF7F0;
  min-height: 100vh;
  padding: 2rem;
}

/* Contenedor del formulario */
form.bg-white.shadow-sm {
  background-color: #ffffff;
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

/* Títulos */
form.bg-white.shadow-sm h2,
form.bg-white.shadow-sm h3 {
  font-family: 'Montserrat', sans-serif;
  color: #0d6efd;
  text-align: center;
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

/* Inputs */
form.bg-white.shadow-sm input[type="text"],
form.bg-white.shadow-sm input[type="password"],
form.bg-white.shadow-sm input[type="email"] {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  padding: 0.6rem 0.75rem;
  width: 100%;
  border-radius: 0.5rem;
  border: 1px solid #ccc;
  margin-bottom: 1rem;
}

/* Checkbox */
form.bg-white.shadow-sm .form-check-label {
  font-size: 0.95rem;
}


/* Botón naranja */
form.bg-white.shadow-sm button.btn-primary {
  background-color: #FFA500;
  border: none;
  padding: 0.75rem;
  width: 100%;
  text-transform: uppercase;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  border-radius: 0.5rem;
}

form.bg-white.shadow-sm button.btn-primary:hover {
  background-color: #e28a00;
}

/* Enlace de contraseña */
form.bg-white.shadow-sm .text-center.mt-3 a {
  font-size: 0.9rem;
  color: #0d6efd;
  text-decoration: none;
}

/* form register css */

/* Fondo general para página de registro */
body.woocommerce-page .site-main {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFF7F0;
  min-height: 100vh;
  padding: 2rem;
}

/* Contenedor del formulario */
form#register.bg-white.shadow-sm {
  background-color: #ffffff;
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

/* Título */
form#register.bg-white.shadow-sm h2,
form#register.bg-white.shadow-sm h3 {
  font-family: 'Montserrat', sans-serif;
  color: #0d6efd;
  text-align: center;
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

/* Inputs */
form#register.bg-white.shadow-sm input[type="email"],
form#register.bg-white.shadow-sm input[type="password"] {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  padding: 0.6rem 0.75rem;
  width: 100%;
  border-radius: 0.5rem;
  border: 1px solid #ccc;
  margin-bottom: 1rem;
}

/* Botón naranja */
form#register.bg-white.shadow-sm button.btn-success {
  background-color: #FFA500;
  border: none;
  padding: 0.75rem;
  width: 100%;
  text-transform: uppercase;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  border-radius: 0.5rem;
}

form#register.bg-white.shadow-sm button.btn-success:hover {
  background-color: #e28a00;
}

/* whatsapp icon */
.ctc_s_3.ctc_nb svg {
    width: 90px !important;
    height: 90px !important;
}

/* recuperacion de clave */

/* Fondo general */
body.woocommerce-page .site-main {
  background-color: #FFF7F0;
  min-height: 100vh;
  padding: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Contenedor del formulario */
form.woocommerce-ResetPassword {
  width: 100%;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  font-family: 'Montserrat', sans-serif;
}

/* Título */
.woocommerce-page .site-main h2 {
  font-size: 1.6rem;
  color: #0d6efd;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: center;
}

/* Inputs */
.woocommerce-page .site-main input[type="text"],
.woocommerce-page .site-main input[type="email"] {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  padding: 0.6rem 0.75rem;
  width: 100%;
  border-radius: 0.5rem;
  border: 1px solid #ccc;
  margin-bottom: 1rem;
}

/* Botón */
.woocommerce-page .site-main button.woocommerce-Button {
  background-color: #FFA500;
  border: none;
  padding: 0.75rem;
  width: 100%;
  text-transform: uppercase;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  border-radius: 0.5rem;
}

.woocommerce-page .site-main button.woocommerce-Button:hover {
  background-color: #e28a00;
}

/* sidebar mi cuenta */

/* Sidebar nav-tabs estilo vertical */
.nav-pills .nav-link {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  color: #333;
  border-radius: 0.5rem;
  padding: 0.6rem 1rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.nav-pills .nav-link:hover {
  background-color: #f0f0f0;
}

.nav-pills .nav-link.active {
  background-color: #0d6efd;
  color: #fff;
  font-weight: 600;
}

/* Contenedor del contenido */
.woocommerce-MyAccount-content {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  color: #333;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  color: #0d6efd;
  margin-bottom: 1rem;
}

/* Botones y tablas */
.woocommerce-MyAccount-content .button {
  background-color: #FFA500;
  border: none;
  border-radius: 0.4rem;
  padding: 0.5rem 1rem;
  font-weight: 600;
  color: #fff;
  text-transform: uppercase;
}

.woocommerce-MyAccount-content .button:hover {
  background-color: #e28a00;
}

.woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
}

.woocommerce-MyAccount-content table th,
.woocommerce-MyAccount-content table td {
  padding: 0.75rem;
  border: 1px solid #ddd;
  text-align: left;
}

.woocommerce-MyAccount-content table th {
  background-color: #f9f9f9;
  font-weight: 600;
}

.wc-block-product-filter-price-slider__range,
.wc-block-product-filter-price-slider__left input,
.wc-block-product-filter-price-slider__right input,
.wp-block-woocommerce-product-filter-status h3{
    z-index:9 !important;
}

del[aria-hidden="true"] span {
  color: grey;
}

/* paginacion tienda */
.woocommerce-pagination {
  display: flex;
  justify-content: center;
  margin: 30px 0;
}

.woocommerce-pagination ul {
  display: flex;
  flex-direction: row; /* horizontal */
  gap: 10px;
  padding-left: 0;
  list-style: none;
  margin: 0;
}

.woocommerce-pagination ul li {
  margin: 0;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: inline-block;
  padding: 8px 14px;
  background-color: #f9f9f9;
  color: #333;
  border: 1px solid #ccc;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.woocommerce-pagination ul li a:hover {
  background-color: #ffd700;
  color: #000;
}

.woocommerce-pagination ul li span.current {
  background-color: #ff8c00;
  color: #fff;
  font-weight: bold;
}


/* nuevos estilos carousel */
.product-carousel-container {
  width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
}

.product-carousel-container img {
  width: 100% !important;
  object-fit: contain !important;
}

#carousel-single-product .product-image img {
    width: 500px !important;
    height: 500px !important;
    object-fit:contain !important;
}
#carousel-single-product{
    background-color: #fff !important;
}


.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: #191919 !important;
    border-radius:50% !important;
}

/* background titulo shop */
/* css para filtro de categorias */
.woocommerce .widget-title,
.sidebar .widget-title,
.sidebar h2 {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  font-weight: 700;
  color: #004d40;
  text-transform: uppercase;
  border-bottom: 3px solid #ffc107;
  padding-bottom: 6px;
  margin-bottom: 15px;
}
/* Estilo general para la lista de categorías */
/* GENERAL - Aplica a todas las pantallas */
.wp-block-woocommerce-product-categories {
  padding: 1rem;
  background-color: #ffffff;
  border-radius: 10px;
  border: 1px solid #e0e0e0;
}

.wc-block-product-categories-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Cada ítem de la lista */
.wc-block-product-categories-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 0.75rem;
  margin-bottom: 0.5rem;
  border-radius: 6px;
  background-color: #f8f9fa;
  transition: background-color 0.2s ease;
}

/* Hover */
.wc-block-product-categories-list-item:hover {
  background-color: #e0f2f1;
}

/* Enlace de la categoría */
.wc-block-product-categories-list-item a {
  text-decoration: none;
  color: #00796b;
  font-weight: 150;
  flex-grow: 1;
}

/* Nombre de la categoría */
.wc-block-product-categories-list-item__name {
  font-size: 0.7rem;
}

/* Cantidad de productos */
.wc-block-product-categories-list-item-count {
  background-color: #00796b;
  color: #ffffff;
  border-radius: 50px;
  padding: 0.25rem 0.6rem;
  font-size: 0.5rem;
  font-weight: bold;
}

/* Pantallas pequeñas - diseño en columnas */
@media (max-width: 767px) {
  .wc-block-product-categories-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .wc-block-product-categories-list-item {
    width: calc(50% - 0.5rem);
    flex-direction: column;
    align-items: flex-start;
    padding: 0.75rem;
  }

  .wc-block-product-categories-list-item-count {
    margin-top: 0.25rem;
  }

  .wc-block-product-categories-list-item a {
    font-size: 0.95rem;
  }
}

/* Hover o activo */
.wc-block-product-categories-list-item a:hover,
.wc-block-product-categories-list-item a:focus {
  background-color: #d1f2eb;
  color: #0a3d3f;
}

/* Si Woo agrega clase de categoría activa */
.wc-block-product-categories-list-item.is-active a {
  background-color: #cce5ff;
  font-weight: 600;
}


.woocommerce-shipping-calculator {
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  padding: 15px;
  border-radius: 10px;
}
.woocommerce-shipping-calculator select,
.woocommerce-shipping-calculator input {
  margin-bottom: 10px;
}

h3.wp-block-heading {
    font-size:0.87rem;
}

@media (min-width: 768px) {
  .navbar .menu-categorias {
    display: none;
  }
}

@media (max-width: 767px) {
  .navbar .menu-categorias {
    display: flex;
    flex-wrap: wrap;
    padding: 0.5rem;
    background-color: #f8f9fa;
    border-top: 1px solid #ddd;
  }

  .navbar .menu-categorias li {
    margin-right: 1rem;
    margin-bottom: 0.5rem;
  }
}
/* Botón de categorías */
.btn-categorias {
  background-color: transparent;
  color: #fff;
  border: none;
  padding: 0.5rem;
}

/* Contenedor del menú de categorías */
#collapseCategoriasMenu {
  background-color: #00796b;
  z-index: 99;
    border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Lista del menú */
#collapseCategoriasMenu .navbar-nav {
  padding: 0;
  margin: 0;
}

/* Ítems del menú */
#collapseCategoriasMenu .navbar-nav li {
  margin-bottom: 0.25rem;
  text-align: center;
}

/* Enlaces del menú */
#collapseCategoriasMenu .navbar-nav a {
  display: block;
  padding: 0.75rem;
  background-color: #00796b;
  color: #ffffff;
  border-radius: 8px;
  margin: 0 0.5rem;
  font-weight: 600;
  transition: all 0.2s ease-in-out;
}

/* Hover y focus */
#collapseCategoriasMenu .navbar-nav a:hover,
#collapseCategoriasMenu .navbar-nav a:focus {
  background-color: #e0f2f1;
  color: #004d40;
  text-decoration: none;
}
@media (max-width: 767px) {
  .container form[role="search"] {
    background-color: #00796b; /* color de fondo como el tema */
    border-radius: 8px;
    padding: 0.5rem;
  }

  .container form[role="search"] input[type="search"] {
    border: none;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    font-size: 0.95rem;
  }

  .container form[role="search"] button {
    border: none;
    background-color: #004d40;
    color: #fff;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
  }

  .container form[role="search"] button:hover {
    background-color: #00332d;
  }
}

@media (min-width: 768px) {
  .search-form {
    background-color: #f8f9fa;
    padding: 0.75rem;
    border-radius: 8px;
    border: 1px solid #ddd;
  }

  .search-form .form-control {
    border-radius: 6px 0 0 6px;
  }

  .search-form .btn {
    border-radius: 0 6px 6px 0;
  }

  .search-form input[type="search"]::placeholder {
    font-size: 0.9rem;
  }
}
/* CONTENEDOR GENERAL DEL PRODUCTO */
.product-box {
  background-color: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
}

/* CONTENEDOR DE LA TARJETA - UNIFORME */
.product-box .woocommerce-loop-product__link {
  text-align: center !important;
}

/* CARRUSEL DE IMÁGENES */
.product-box .carousel,
.product-box .carousel-inner {
  width: 100% !important;
  border-radius: 8px !important;
}

.product-box .carousel-item img {
  width: 100% !important;
  height: 150px !important;
  object-fit: cover !important;
  object-position: center center !important;
}
#carousel-single-product .carousel-inner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* TÍTULO DEL PRODUCTO */
.product-box h6,
.product-box .woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 0.75rem 0 0.5rem 0 !important;
  line-height: 1.3 !important;
  color: #333 !important;
  min-height: 2.5rem !important; /* para que todos tengan mismo alto si hay 1 o 2 líneas */
}

/* PRECIO */
.product-box .price {
  font-size: 1rem !important;
  font-weight: bold !important;
  color: #d32f2f !important;
  margin-bottom: 0.5rem !important;
}

/* BOTÓN AGREGAR AL CARRITO */
.product-box .button,
.product-box .add_to_cart_button {
  font-size: 0.95rem !important;
  padding: 0.5rem 1rem !important;
  width: 100% !important;
  background-color: #00796b !important;
  color: #fff !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border: none !important;
}

.product-box .button:hover {
  background-color: #004d40 !important;
  color: #ffffff !important;
}
