/*
Theme Name: Ludus
Author: ahfront
Description: Ludus - is complete multipurpose polish eCommerce template built with
best practices. It will be perfect solution for your current or future shop, customizable
into any store contains responsiveness & great UI. Well tested on compatible browsers.
The template contains 40+ HTML files, 3 Homepages, 3 Header Styles, 12 Dashboard Pages,
3 Product Pages, 7 Shop Pages, 5 Blog Pages, Box mode and generated 10 Color variations but could
create unlimited colors.
Version: 1.0.0
Tags: one-column, two-columns, three-columns, four-columns, right-sidebar,
custom-colors, box-mode, custom-header, custom-menu, custom-logo, featured-images
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Base Styles
2.0 Typography
3.0 Pre-configured styles
4.0 Layout Utility Styles
5.0 Components
6.0 Header
  6.1 Primary Nav
  6.2 Secondary Nav
7.0 Footer
  7.1 Outer-Footer
  7.3 Lower-Footer
9.0 About-Page
10.0 Contact-Page
11.0 Cart-Wishlist-Pages
12.0 Empty-404-Pages
13.0 Checkout-Page
14.0 Signin Signup Lost Password-Page
15.0 FAQ-Page
16.0 Dashboard-Pages
17.0 Blog-Pages
18.0 Product-Detail-Pages
19.0 Shop-Pages
20.0 Vendor Extension Pages
  20.1 Bootstrap
  20.2 jquery.shopnav
  20.3 Owl-Carousel
  20.4 jquery.scrollUp
  20.5 Slick Carousel

--------------------------------------------------------------*/
/*--------------------------------------------------------------
1.0 Base Styles
--------------------------------------------------------------*/
/**
 * Setup box-sizing
 */
html {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent; }
  html.boxed {
    background-color: #eee; }

*,
*::before,
*::after {
  box-sizing: inherit; }

/**
 * Set up a background-color and height on the root and body element.
 */
body {
  line-height: 1.5;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased; }

.config {
  overflow: hidden; }

/**
 * Basic styles for headings and paragraph
 */
h1, h2, h3, h4, h5, h6 {
  padding: 0;
  margin: 0; }

h1 {
  font-size: 50px;
  line-height: 50px; }

h2 {
  font-size: 32px;
  line-height: 46px; }

h3 {
  font-size: 18px;
  line-height: 32px; }

h4 {
  font-size: 16px;
  line-height: 30px; }

h5 {
  font-size: 15px;
  line-height: 30px; }

p {
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 24px; }

/**
 * Basic styles for links
 */
a, a:hover, a:focus {
  outline: none;
  text-decoration: none;
  cursor: pointer; }

/**
 * Basic style for image element
 */
img {
  border: 0; }
  img:focus {
    outline: none; }

/**
 * Basic style for iframe element
 */
iframe {
  border: none;
  overflow: hidden; }

iframe[src*="soundcloud"] {
  width: 100%; }

/*--------------------------------------------------------------
Box Module
--------------------------------------------------------------*/
/* Body Element */
@media (min-width: 576px) {
  html.boxed body {
    background-color: #ffffff;
    margin: 0 auto; } }

@media (min-width: 576px) {
  html.boxed body {
    max-width: 546px; } }

@media (min-width: 791px) {
  html.boxed body {
    max-width: 770px; } }

@media (min-width: 1025px) {
  html.boxed body {
    max-width: 990px; } }

@media (min-width: 1230px) {
  html.boxed body {
    max-width: 1200px; } }

/* Header with container Element */
@media (max-width: 1024px) {
  html.boxed header .container {
    padding-left: 20px;
    padding-right: 20px; } }

@media (min-width: 1025px) {
  html.boxed header .container {
    padding-left: 40px;
    padding-right: 40px; } }

/* Header & Footer Element */
@media (min-width: 576px) {
  html.boxed header, html.boxed footer {
    margin-right: auto;
    margin-left: auto;
    width: 100%; } }

@media (min-width: 576px) {
  html.boxed header, html.boxed footer {
    max-width: 456px; } }

@media (min-width: 791px) {
  html.boxed header, html.boxed footer {
    max-width: 770px; } }

@media (min-width: 1025px) {
  html.boxed header, html.boxed footer {
    max-width: 990px; } }

@media (min-width: 1230px) {
  html.boxed header, html.boxed footer {
    max-width: 1200px; } }

/* App Content exclude Header & Footer */
@media (min-width: 576px) {
  html.boxed .app-content {
    margin: 0 auto;
    overflow: hidden; } }

@media (min-width: 576px) {
  html.boxed .app-content {
    max-width: 546px; } }

@media (min-width: 791px) {
  html.boxed .app-content {
    max-width: 770px; } }

@media (min-width: 1025px) {
  html.boxed .app-content {
    max-width: 990px; } }

@media (min-width: 1230px) {
  html.boxed .app-content {
    max-width: 1200px; } }

/* App Content with container */
@media (max-width: 1024px) {
  html.boxed .app-content .container {
    padding-left: 20px;
    padding-right: 20px; } }

@media (min-width: 1025px) {
  html.boxed .app-content .container {
    padding-left: 40px;
    padding-right: 40px; } }

/* Footer with container Element */
@media (max-width: 1024px) {
  html.boxed footer .container {
    padding-left: 20px;
    padding-right: 20px; } }

@media (min-width: 1025px) {
  html.boxed footer .container {
    padding-left: 40px;
    padding-right: 40px; } }

/*--------------------------------------------------------------
2.0 Typography
--------------------------------------------------------------*/
/**
 * Basic typography style for copy text
 */
body {
  color: #7f7f7f;
  font-family: "Open Sans", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }

/*--------------------------------------------------------------
3.0 Pre-configured styles
--------------------------------------------------------------*/
/**
* JavaScript Disabled Page
*/
.no-js #app {
  display: none; }

.app-setting {
  background-color: #ffffff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  height: 100vh;
  position: fixed;
  z-index: 1000001;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }
  .app-setting__wrap {
    text-align: center;
    padding: 2.1875rem;
    background-color: #fbfbfb;
    border-left: 0.1875rem solid #001232; }
  .app-setting__h1 {
    font-size: 2.0625rem;
    font-weight: 700;
    line-height: 42px;
    color: #333333; }
  .app-setting__text {
    font-size: 0.8125rem;
    color: #ababab; }

/**
* Preloader
*/
.preloader.is-active {
  width: 100%;
  text-align: center;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000000;
  background: white;
  display: block; }

.preloader {
  display: none; }
  .preloader__wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    height: 100%; }
  .preloader__img {
    display: block; }

/*
  * Row modifier class
 */
.row--center {
  -ms-flex-pack: center;
      justify-content: center; }

/*
  * Fitvids plugin modifier class
 */
.fluid-width-video-wrapper {
  background-color: #f5f5f5; }

/*
  * Social media classes with property background-color & color.
  * 's' is a prefix and represents a social media class.
 */
/* Facebook */
.s-fb--bgcolor-hover:hover {
  background-color: #4267b2; }

.s-fb--color-hover:hover {
  color: #4267b2; }

.s-fb--color {
  color: #4267b2; }

/* Twitter */
.s-tw--bgcolor-hover:hover {
  background-color: #38A1F3; }

.s-tw--color-hover:hover {
  color: #38A1F3; }

.s-tw--color {
  color: #38A1F3; }

/* instagram */
.s-insta--bgcolor-hover:hover {
  background-color: #f77737; }

.s-insta--color-hover:hover {
  color: #f77737; }

.s-insta--color {
  color: #f77737; }

/* youtube */
.s-youtube--bgcolor-hover:hover {
  background-color: #ED3833; }

.s-youtube--color-hover:hover {
  color: #ED3833; }

.s-youtube--color {
  color: #ED3833; }

/* linkedin */
.s-linked--bgcolor-hover:hover {
  background-color: #0077B5; }

.s-linked--color-hover:hover {
  color: #0077B5; }

.s-linked--color {
  color: #0077B5; }

/* googleplus */
.s-gplus--bgcolor-hover:hover {
  background-color: #dd4b39; }

.s-gplus--color-hover:hover {
  color: #dd4b39; }

.s-gplus--color {
  color: #dd4b39; }

/* Whats App */
.s-wa--color {
  color: #25d366; }

.s-wa--color-hover:hover {
  color: #25d366; }

/*
  * Global classes you can use these classes on elements and components of your application.
  * Remember: Don't confuse your mind with utility classes & Global classes.
  * Utility class has a prefix 'u' that represents root namespace also has a sub-namespace
  * prefix. These are low-level utility classes that make it easy to build complex user interfaces.
  * Global class has a prefix 'gl' and these classes are ready-made styles that you could
  * use on different elements like span, div, h1, h3 and components like button, selectbox. scrollbar etc.
 */
/*
  * Chrome Default Style for scrollbar
 */
.gl-scroll::-webkit-scrollbar {
  height: 8px;
  width: 8px; }

.gl-scroll::-webkit-scrollbar-track {
  background: #eee; }

.gl-scroll::-webkit-scrollbar-thumb {
  background: #888; }

.gl-scroll::-webkit-scrollbar-thumb:hover {
  background: #555; }

/*
  * Global Rating Style apply on any div that has `i` element as children
 */
.gl-rating-style > i {
  margin-left: 2px;
  color: #ff9600; }
  .gl-rating-style > i:first-child {
    margin-left: 0; }

.gl-rating-style-2 > i {
  margin-left: 2px;
  color: #001232; }
  .gl-rating-style-2 > i:first-child {
    margin-left: 0; }

/*
  * Signup, Login Social Buttons
 */
.gl-s-api {
  width: 80%;
  margin: 0 auto; }
  .gl-s-api__btn {
    border: none;
    cursor: pointer;
    text-align: center;
    display: block;
    width: 100%;
    padding: 12px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.5s linear; }
    .gl-s-api__btn:focus {
      outline: 0; }
    .gl-s-api__btn span {
      margin-left: 10px; }
  .gl-s-api__btn--fb {
    background-color: #4267b2; }
    .gl-s-api__btn--fb:hover {
      background-color: #3b5c9f; }
  .gl-s-api__btn--gplus {
    background-color: #dd4b39; }
    .gl-s-api__btn--gplus:hover {
      background-color: #d73925; }

/*
 * Inline Maker 1
  */
.gl-inline {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: center;
      align-items: center; }
  .gl-inline div {
    -ms-flex: 1;
        flex: 1;
    margin-right: 14px; }
    .gl-inline div:last-child {
      margin-right: 0; }

/*
* Inline Maker 2
 */
.gl-l-r {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }

/**
  * DOB: Date of Birth Select Box
 */
.gl-dob {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .gl-dob .select-box {
    -ms-flex: 1;
        flex: 1;
    margin-right: 8px; }
    .gl-dob .select-box:last-child {
      margin-right: 0; }

.gl-link {
  font-size: 13px;
  font-weight: 600;
  color: #001232;
  transition: color 0.5s linear; }
  .gl-link:hover {
    color: #15008d; }

.gl-h1 {
  color: #333333;
  font-size: 18px;
  margin-bottom: 8px; }

.gl-text {
  display: block;
  color: #a0a0a0;
  font-size: 13px; }

.gl-label {
  margin-bottom: 8px;
  display: block;
  color: #333333;
  font-size: 13px;
  font-weight: 600; }

/**
* Global Tag
 */
.gl-tag {
  margin-right: 8px;
  display: inline-block;
  margin-bottom: 10px;
  padding: 5px 13px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 22px; }
  .gl-tag:last-child {
    margin-right: 0; }

/*
* Global Modal Classes
 */
.gl-modal-h1 {
  margin-bottom: 8px;
  line-height: 1;
  display: block;
  color: #333333;
  font-size: 20px;
  font-weight: 600; }

.gl-modal-text {
  color: #a0a0a0;
  font-size: 13px; }

.gl-modal-btn-group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .gl-modal-btn-group button {
    margin-right: 12px; }
    .gl-modal-btn-group button:last-child {
      margin-right: 0; }

@media (max-width: 575px) {
  .gl-inline {
    display: block; }
    .gl-inline div {
      display: block;
      margin-right: 0; }
  .gl-l-r {
    display: block; }
  .gl-dob {
    display: block; }
    .gl-dob .select-box {
      width: 100%;
      margin-bottom: 8px;
      margin-right: 0; }
      .gl-dob .select-box:last-child {
        margin: 0; } }

/**
  * Default Pulse Animation
 */
@-webkit-keyframes mypulse {
  0% {
    box-shadow: 0 0 0 0 #bdc3c7; }
  100% {
    box-shadow: 0 0 0 1.5em rgba(189, 195, 199, 0); } }
@keyframes mypulse {
  0% {
    box-shadow: 0 0 0 0 #bdc3c7; }
  100% {
    box-shadow: 0 0 0 1.5em rgba(189, 195, 199, 0); } }

/*--------------------------------------------------------------
4.0 Layout Utility Styles
--------------------------------------------------------------*/
/**
 * Utility classes for colors:
 * Convey meaning through color with a handful of color utility classes.
 * Includes support for styling links too.
 */
.u-c-brand {
  color: #001232 !important; }

.u-c-secondary {
  color: #333333 !important; }

.u-c-white {
  color: #ffffff !important; }

.u-c-black {
  color: #000000 !important; }

.u-c-grey {
  color: #7f7f7f !important; }

.u-c-silver {
  color: #a0a0a0 !important; }

/*
  * Display Utility
 */
.u-d-block {
  display: block; }

/*
  * Sizing
  * Easily make an element as wide or as tall (relative to its parent) with our width and height utilities.
 */
.u-w-100 {
  width: 100%; }

.u-h-100 {
  height: 100%; }

/**
  * Image Responsive utility classes
 */
.u-img-fluid {
  width: 100%;
  max-width: 100%;
  height: auto; }

/*--------------------------------------------------------------
5.0 Components
--------------------------------------------------------------*/
/* Breadcrumb Component */
.breadcrumb__wrap {
  background-color: #fbfbfb;
  padding: 1.125rem;
  border-radius: 0.1875rem; }

.breadcrumb__list {
  list-style: none;
  padding: 0;
  margin: 0;
  word-wrap: break-word; }
  .breadcrumb__list > li {
    display: inline-block; }
    .breadcrumb__list > li > a {
      color: #a0a0a0;
      font-size: 13px;
      font-weight: 700;
      transition: color 0.5s; }
      .breadcrumb__list > li > a:hover {
        color: #333333; }
    .breadcrumb__list > li.is-marked > a {
      color: #333333; }
    .breadcrumb__list > li.has-separator:after {
      content: '/';
      margin: 0 16px; }
      

/* Button Component */
.btn {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  font-size: 14px; }
  .btn:focus {
    outline: none; }

.btn--icon {
  border: none;
  background-color: transparent;
  padding: 0; }

.btn--e-brand {
  color: #ffffff;
  border: 1px solid transparent;
  background-color: #001232;
  transition: background-color .5s ease-in; }
  .btn--e-brand:hover {
    background-color: #15008d; }

.btn--e-brand-b-2 {
  color: #ffffff;
  background-color: #001232;
  border: 2px solid #001232;
  transition: background-color 0.5s ease-in, border-color 0.5s ease-in; }
  .btn--e-brand-b-2:hover {
    background-color: #15008d;
    border-color: #15008d; }

.btn--e-grey-b-2 {
  color: #333333;
  background-color: #f5f5f5;
  border: 2px solid #f5f5f5;
  transition: background-color 0.5s ease-in, border-color 0.5s ease-in; }
  .btn--e-grey-b-2:hover {
    background-color: #f2f2f2;
    border-color: #f2f2f2; }

.btn--e-secondary {
  color: #ffffff;
  border: 1px solid transparent;
  background-color: #333333;
  transition: background-color .5s ease-in; }
  .btn--e-secondary:hover {
    background-color: #303030; }

.btn--e-white-brand {
  border: 1px solid transparent;
  color: #333333;
  background-color: #ffffff;
  transition: background-color .3s linear, color .3s linear; }
  .btn--e-white-brand:hover {
    background-color: #001232;
    color: #ffffff; }

.btn--e-transparent-brand-b-2 {
  color: #001232;
  border: 2px solid #001232;
  background-color: transparent;
  transition: border-color .5s ease-in; }
  .btn--e-transparent-brand-b-2:hover {
    border-color: #15008d; }

.btn--e-transparent-hover-brand-b-2 {
  color: #001232;
  border: 2px solid #001232;
  background-color: transparent;
  transition: background-color .1s ease-in,border-color .1s ease-in; }
  .btn--e-transparent-hover-brand-b-2:hover {
    background-color: #001232;
    color: #ffffff; }

.btn--e-transparent-secondary-b-2 {
  color: #333333;
  border: 2px solid #333333;
  background-color: transparent;
  transition: border-color .5s ease-in; }
  .btn--e-transparent-secondary-b-2:hover {
    border-color: #303030; }

.btn--e-transparent-platinum-b-2 {
  color: #333333;
  border: 2px solid #e5e5e5;
  background-color: transparent;
  transition: border-color 0.5s linear; }
  .btn--e-transparent-platinum-b-2:hover {
    border-color: #001232; }

.btn--e-white-brand-shadow {
  border: 1px solid #eee;
  box-shadow: 1px 2px 8px 0 rgba(36, 37, 38, 0.08);
  background-color: #ffffff;
  color: #333333;
  transition: background-color .3s linear, border-color .3s linear,color .3s linear; }
  .btn--e-white-brand-shadow:hover {
    border-color: #001232;
    background-color: #001232;
    color: #ffffff; }

.btn--e-brand-shadow {
  border: 1px solid #001232;
  box-shadow: 1px 2px 8px 0 rgba(36, 37, 38, 0.08);
  background-color: #001232;
  color: #ffffff;
  transition: background-color .3s linear, border-color .3s linear; }
  .btn--e-brand-shadow:hover {
    border-color: #15008d;
    background-color: #15008d; }

/* Countdown Component */
.countdown--style-special {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center; }
  .countdown--style-special .countdown__content {
    margin: 0 6px 10px;
    text-align: center;
    padding: 5px 24px;
    background-color: rgba(255, 255, 255, 0.98); }
  .countdown--style-special .countdown__value {
    font-size: 35px;
    font-weight: 600;
    display: block;
    color: #333333; }
  .countdown--style-special .countdown__key {
    font-size: 12px;
    font-weight: 600;
    display: block;
    color: #001232; }

.countdown--style-banner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center; }
  .countdown--style-banner .countdown__content {
    margin: 0 10px 10px;
    text-align: center;
    padding: 5px 24px;
    background-color: #333333; }
  .countdown--style-banner .countdown__value {
    font-size: 48px;
    font-weight: 600;
    display: block;
    color: #ffffff; }
  .countdown--style-banner .countdown__key {
    font-size: 12px;
    font-weight: 600;
    display: block;
    color: #ffffff; }

.countdown--style-section {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .countdown--style-section .countdown__content {
    margin: 18px 20px 20px 0;
    padding: 8px 22px;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06);
    background-color: rgba(255, 255, 255, 0.98); }
  .countdown--style-section .countdown__value {
    font-size: 26px;
    font-weight: 600;
    display: block;
    color: #333333; }
  .countdown--style-section .countdown__key {
    font-size: 10px;
    font-weight: 600;
    display: block;
    color: #001232; }

/* Input-Counter Component */
.input-counter {
  position: relative;
  display: inline-block;
  max-width: 132px;
  min-width: 132px; }
  .input-counter__text {
    border-radius: 25px;
    display: block;
    width: 100%;
    height: 50px;
    font-size: 14px;
    font-weight: 600;
    text-align: center; }
    .input-counter__text:focus {
      outline: 0; }
  .input-counter--text-primary-style {
    color: #333333;
    transition: all 0.6s linear;
    border: 2px solid transparent;
    background-color: #f1f1f1; }
    .input-counter--text-primary-style:focus {
      background-color: transparent;
      border-color: #001232; }
  .input-counter__minus, .input-counter__plus {
    top: 0;
    display: inline-block;
    font-size: 10px;
    cursor: pointer;
    position: absolute;
    width: 50px;
    line-height: 50px;
    height: 100%;
    text-align: center;
    color: #7f7f7f;
    transition: color 0.5s; }
    .input-counter__minus:hover, .input-counter__plus:hover {
      color: #333333; }
  .input-counter__minus {
    left: 0; }
  .input-counter__plus {
    right: 0; }

/* Input Text Component */
.input-text {
  font-size: 12px;
  background-clip: padding-box;
  padding: 0 18px;
  height: 40px; }
  .input-text--border-radius {
    border-radius: 25px; }
  .input-text--primary-style {
    color: #333333;
    transition: all 0.6s linear;
    border: 2px solid transparent;
    background-color: #f1f1f1; }
    .input-text--primary-style:focus {
      background-color: transparent;
      border-color: #001232; }
  .input-text--style-1 {
    color: #5c636c;
    transition: all 0.6s linear;
    border: 1px solid transparent;
    background-color: #f1f1f1; }
    .input-text--style-1:focus {
      box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
      background-color: transparent;
      border-color: #eee; }
  .input-text--style-2 {
    color: #5c636c;
    border: 1px solid transparent;
    background-color: #f1f1f1;
    transition: all 0.6s linear; }
    .input-text--style-2:focus {
      background-color: #ffffff; }
  .input-text--only-white {
    border: 1px solid transparent;
    color: #333333;
    background-color: #ffffff; }
  .input-text:focus {
    outline: 0; }

.input-text:disabled {
  background-color: #cecece; }

input::-ms-clear {
  display: none; }

/* Preload Aspect Ratio Component */
/*
  * Example 1 For Square: <a class="aspect aspect--bg-grey aspect--square u-d-block"><img src="a.jpg" class="aspect__img" alt=""></a>
  * Example 2 For Non Square: <div class="aspect aspect--bg-grey aspect--1286-890"><img src="a.jpg" class="aspect__img" alt=""></div>
 */
/*
  * Some Points to use Aspect Ratio Component classes:
  * Make sure the element on which it adds, it would be a block or inline-block element,
  * if it is not then you could add utility class 'u-d-block', 'u-d-inline-block' or you
  * could directly target that element with CSS to make inline or block.
  * By default '.aspect--square' or '.aspect--16:9: resolution' class takes height according to
  * the height of the child image element.
  * But if the parent element is a flex element then aspect ratio technique doesn't work because
  * '.aspect--square' or '.aspect--16:9: resolution' contains padding top/bottom property with a
  * percentage value.
  * There are also some cases you do not want to have '.aspect--square' or '.aspect--16:9: resolution'
  * class to take width & height that match with child image element.
  * Then you could append CSS class or directly target that parent element with CSS and
  * set your custom width & height.
  * If the image has aspect ratio square, i.e. 4:3 then you would add class '.aspect--square'
  * on the element. This class has a padding-bottom:100% property.
  * 100% means to take the entire height of the image.
  * If the image doesn't have aspect ratio square then to make a custom class
  * like '.aspect--imageWidth-imageHeight' and use ready-made sass function() nonsquare(imageWidth,imageHeight)
  * that returns padding-bottom property with the value calculated according to image resolution.
  * You could also change the background-color of placeholder according to your own choice.
  * By default, only 2 classes are generated.
 */
.aspect {
  position: relative; }

.aspect--bg-grey {
  background-color: #f5f5f5; }

.aspect--bg-grey-fb {
  background-color: #fbfbfb; }

.aspect--square {
  padding-bottom: 100%; }

/*
  * Add this class inside '.aspect' child image element. If you want to make an image responsive then
  * you can use utility u-img-fluid class.
 */
.aspect__img {
  position: absolute;
  width: 100%;
  height: 100%; }

/* Product Component */
.product-o {
  padding: 20px;
  background-color: #ffffff; }

.product-o--hover-off {
  box-shadow: 0 0 21px 0 rgba(0, 0, 0, 0.1); }

.product-o--radius {
  border-radius: 14px; }

.product-o--hover-on {
  transition: all 0.4s ease-in-out; }
  .product-o--hover-on:hover {
    box-shadow: 0 0 21px 0 rgba(0, 0, 0, 0.1); }

.product-o:hover .product-o__wrap:before {
  opacity: 1; }

.product-o:hover .product-o__action-wrap {
  opacity: 1;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1); }

.product-o:hover .product-o__action-list > li {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.product-o__wrap {
  position: relative; }
  .product-o__wrap:before {
    content: "";
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    opacity: 0;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }

.product-o__action-wrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  opacity: 0;
  z-index: 2;
  -webkit-transform: translateY(-50%) scale(0.8);
          transform: translateY(-50%) scale(0.8);
  transition: all 0.2s ease 0s; }

.product-o__action-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none; }
  .product-o__action-list > li {
    margin: 0 4px 6px;
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    transition: all 0.3s ease 0.1s; }
    .product-o__action-list > li > a {
      display: block;
      width: 35px;
      text-align: center;
      border-radius: 50%;
      height: 35px;
      line-height: 35px;
      background-color: rgba(255, 255, 255, 0.25);
      color: #ffffff;
      font-size: 12px;
      transition: all 0.3s ease 0s; }
      .product-o__action-list > li > a:hover {
        background-color: #333333;
        color: #ffffff; }

.product-o__category {
  display: block;
  margin-top: 4px; }
  .product-o__category > a {
    color: #a0a0a0;
    transition: color 0.5s;
    font-size: 12px; }
    .product-o__category > a:hover {
      color: #001232; }

.product-o__name > a {
  color: #333333;
  font-size: 14px;
  font-weight: 600;
  transition: color 0.5s; }
  .product-o__name > a:hover {
    color: #001232; }

.product-o__rating {
  margin-bottom: 4px; }
  .product-o__rating i {
    font-size: 12px; }

.product-o__review {
  margin-left: 4px;
  font-size: 12px;
  color: #a0a0a0; }

.product-o__price {
  display: block;
  color: #333333;
  font-size: 14px;
  font-weight: 600; }

.product-o__discount {
  font-weight: 600;
  margin-left: 30px;
  color: #333333;
  font-size: 14px;
  text-decoration: line-through; }

.product-o__countdown-wrap {
  margin-top: 16px; }

.product-o__special-count-wrap {
  position: absolute;
  width: 100%;
  bottom: 20px; }

.x-product {
  padding: 20px;
  border-radius: 6px;
  transition: -webkit-transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06); }
  .x-product .row {
    -ms-flex-align: center;
        align-items: center; }
  .x-product__feature-list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .x-product:hover {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px); }

.feature {
  margin-bottom: 20px; }
  .feature__name {
    color: #333333;
    font-size: 13px;
    font-weight: 600;
    display: block; }
  .feature__value {
    color: #7f7f7f;
    font-size: 12px;
    display: block; }

.product-l {
  display: -ms-flexbox;
  display: flex; }
  .product-l__img-wrap {
    margin-right: 20px; }
  .product-l__rating i {
    font-size: 12px; }
  .product-l__link {
    width: 110px;
    height: 110px; }
  .product-l__category {
    display: block; }
    .product-l__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .product-l__category > a:hover {
        color: #001232; }
  .product-l__name {
    display: block;
    margin-bottom: 4px; }
    .product-l__name > a {
      color: #333333;
      font-size: 14px;
      font-weight: 600;
      transition: color 0.5s; }
      .product-l__name > a:hover {
        color: #001232; }
  .product-l__price {
    display: block;
    color: #333333;
    font-size: 14px;
    font-weight: 600; }
  .product-l__discount {
    font-weight: 600;
    margin-left: 15px;
    color: #001232;
    font-size: 14px;
    text-decoration: line-through; }

.product-o2 {
  background-color: #ffffff;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06); }
  .product-o2__wrap {
    position: relative;
    overflow: hidden; }
  .product-o2__action-wrap {
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all 0.6s linear;
    left: 20px;
    top: 20px; }
  .product-o2__action-list {
    margin: 0;
    padding: 0;
    text-align: center;
    list-style: none; }
    .product-o2__action-list > li {
      margin-bottom: 6px; }
      .product-o2__action-list > li > a {
        display: inline-block;
        width: 35px;
        text-align: center;
        border-radius: 50%;
        height: 35px;
        line-height: 35px;
        background-color: #001232;
        color: #ffffff;
        font-size: 12px;
        transition: all 0.3s ease 0.1s; }
        .product-o2__action-list > li > a:hover {
          background-color: #ffffff;
          color: #001232; }
      .product-o2__action-list > li:last-child {
        margin-bottom: 0; }
  .product-o2__countdown-wrap {
    position: absolute;
    right: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.6);
    width: 60px;
    height: 100%; }
  .product-o2__img {
    transition: all 0.6s ease-in-out;
    -webkit-transform: scale(1);
            transform: scale(1); }
  .product-o2__content {
    padding: 10px; }
  .product-o2__category {
    display: block;
    margin-top: 4px; }
    .product-o2__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .product-o2__category > a:hover {
        color: #001232; }
  .product-o2__name {
    display: block; }
    .product-o2__name > a {
      color: #333333;
      font-size: 14px;
      font-weight: 600;
      transition: color 0.5s; }
      .product-o2__name > a:hover {
        color: #001232; }
  .product-o2__rating {
    margin-bottom: 4px; }
    .product-o2__rating i {
      font-size: 12px; }
  .product-o2__review {
    margin-left: 4px;
    font-size: 12px;
    color: #a0a0a0; }
  .product-o2__price {
    display: block;
    color: #333333;
    font-size: 14px;
    font-weight: 600; }
  .product-o2__discount {
    font-weight: 600;
    margin-left: 30px;
    color: #333333;
    font-size: 14px;
    text-decoration: line-through; }

.product-o2:hover .product-o2__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1); }

.product-o2:hover .product-o2__action-wrap {
  opacity: 1; }

.product-r {
  border-radius: 15px;
  overflow: hidden;
  background-color: #ffffff;
  transition: -webkit-transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  box-shadow: 2px 2px 8px 3px rgba(36, 37, 38, 0.08); }
  .product-r__container {
    position: relative; }
  .product-r__ribbon-wrap {
    position: absolute;
    top: 0;
    right: 25px; }
  .product-r__action-wrap {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    opacity: 0;
    z-index: 2;
    -webkit-transform: translateY(-50%) scale(0.8);
            transform: translateY(-50%) scale(0.8);
    transition: all 0.2s ease 0s; }
  .product-r__action-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
    .product-r__action-list > li {
      margin: 0 4px 6px;
      opacity: 0;
      -webkit-transform: translateY(50%);
              transform: translateY(50%);
      transition: all 0.3s ease 0.1s; }
      .product-r__action-list > li > a {
        display: block;
        width: 35px;
        text-align: center;
        border-radius: 50%;
        height: 35px;
        line-height: 35px;
        background-color: #ffffff;
        color: #001232;
        box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06);
        font-size: 12px;
        transition: all 0.3s ease 0s; }
        .product-r__action-list > li > a:hover {
          background-color: #ffffff;
          color: #001232; }
  .product-r__info-wrap {
    padding: 14px; }
  .product-r__category {
    display: block;
    margin-bottom: 2px; }
    .product-r__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .product-r__category > a:hover {
        color: #001232; }
  .product-r__n-p-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin-bottom: 6px; }
  .product-r__name, .product-r__price {
    -ms-flex: 0 1 auto; }
  .product-r__name {
    display: block; }
    .product-r__name > a {
      color: #333333;
      font-size: 14px;
      font-weight: 600;
      transition: color 0.5s; }
      .product-r__name > a:hover {
        color: #001232; }
  .product-r__price {
    display: block;
    font-weight: 600;
    color: #001232;
    font-size: 16px; }
  .product-r__description {
    margin-bottom: 6px;
    display: block;
    color: #7f7f7f;
    font-size: 12px; }
  .product-r:hover {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px); }
    .product-r:hover .product-r__action-wrap {
      opacity: 1;
      -webkit-transform: translateY(-50%) scale(1);
              transform: translateY(-50%) scale(1); }
    .product-r:hover .product-r__action-list > li {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }

.product-bs {
  background-color: #ffffff;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06);
  transition: -webkit-transform 0.7s ease-in-out;
  transition: transform 0.7s ease-in-out;
  transition: transform 0.7s ease-in-out, -webkit-transform 0.7s ease-in-out; }
  .product-bs__container {
    padding: 20px; }
  .product-bs__wrap {
    position: relative;
    margin-bottom: 4px; }
  .product-bs__action-wrap {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    opacity: 0;
    z-index: 2;
    -webkit-transform: translateY(-50%) scale(0.8);
            transform: translateY(-50%) scale(0.8);
    transition: all 0.2s ease 0s; }
  .product-bs__action-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
    .product-bs__action-list > li {
      margin: 0 4px 6px;
      opacity: 0;
      -webkit-transform: translateY(50%);
              transform: translateY(50%);
      transition: all 0.3s ease 0.1s; }
      .product-bs__action-list > li > a {
        display: block;
        width: 35px;
        text-align: center;
        border-radius: 50%;
        height: 35px;
        line-height: 35px;
        background-color: #001232;
        color: #ffffff;
        font-size: 12px;
        transition: all 0.3s ease 0s; }
        .product-bs__action-list > li > a:hover {
          box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.06);
          background-color: #ffffff;
          color: #001232; }
  .product-bs__category {
    display: block; }
    .product-bs__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .product-bs__category > a:hover {
        color: #001232; }
  .product-bs__name {
    display: block; }
    .product-bs__name > a {
      color: #333333;
      font-size: 14px;
      font-weight: 600;
      transition: color 0.5s; }
      .product-bs__name > a:hover {
        color: #001232; }
  .product-bs__rating {
    margin-bottom: 4px; }
    .product-bs__rating i {
      font-size: 12px; }
  .product-bs__review {
    margin-left: 4px;
    font-size: 12px;
    color: #a0a0a0; }
  .product-bs__price {
    display: block;
    color: #333333;
    font-size: 14px;
    font-weight: 600; }
  .product-bs__discount {
    font-weight: 600;
    margin-left: 30px;
    color: #333333;
    font-size: 14px;
    text-decoration: line-through; }

.product-bs:hover {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px); }
  .product-bs:hover .product-bs__action-wrap {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1); }
  .product-bs:hover .product-bs__action-list > li {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.product-short {
  background-color: #fbfbfb;
  transition: -webkit-transform 0.7s ease-in-out;
  transition: transform 0.7s ease-in-out;
  transition: transform 0.7s ease-in-out, -webkit-transform 0.7s ease-in-out; }
  .product-short:hover {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px); }
  .product-short__container {
    padding: 30px; }
  .product-short__info {
    margin-top: 14px; }
  .product-short__price {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #001232; }
  .product-short__name {
    display: block; }
    .product-short__name > a {
      font-size: 14px;
      font-weight: 600;
      color: #333333;
      transition: color 0.5s; }
      .product-short__name > a:hover {
        color: #001232; }
  .product-short__category {
    display: block; }
    .product-short__category > a {
      font-size: 11px;
      color: #a0a0a0;
      transition: color 0.5s; }
      .product-short__category > a:hover {
        color: #001232; }

/* Checkbox, Radio Component */
/*
  * Remember these are very important styles and make sure input checkbox always has a greater z-index from label
  * and any other div's.
  * Remember these styles make checkbox horizontal center, and when you click out of the boundary region
  * Behind the scenes checkbox has a opacity 0 but it will be checked.
 */
.check-box [type="checkbox"] {
  position: absolute;
  left: 0;
  top: 0;
  min-width: 16px;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  cursor: pointer; }

.radio-box [type="radio"] {
  position: absolute;
  left: 0;
  top: 0;
  min-width: 16px;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  cursor: pointer; }

.check-box {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  line-height: 1; }
  .check-box__label {
    position: initial;
    display: inline-block;
    font-weight: 600;
    font-size: 13px;
    color: #333333;
    margin-left: 24px;
    white-space: normal; }
    .check-box__label:before, .check-box__label:after {
      content: '';
      width: 18px;
      height: 18px;
      display: block;
      border: 2px solid transparent;
      z-index: 0;
      transition: all .5s ease;
      position: absolute;
      left: 0;
      top: 0; }
    .check-box__label:before {
      background-color: #f1f1f1; }
    .check-box__label:after {
      -webkit-transform: scale(0.6);
              transform: scale(0.6); }

.check-box input:checked ~ .check-box__state label:before {
  -webkit-animation: mypulse 1s;
          animation: mypulse 1s; }

.check-box input:checked ~ .check-box__state.check-box__state--primary label:before {
  border-color: #001232;
  background-color: #ffffff; }

.check-box input:checked ~ .check-box__state.check-box__state--primary label:after {
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  background-color: #001232; }

.radio-box {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  line-height: 1; }
  .radio-box__label {
    position: initial;
    display: inline-block;
    font-weight: 600;
    font-size: 13px;
    color: #333333;
    white-space: normal;
    margin-left: 24px; }
    .radio-box__label:before, .radio-box__label:after {
      content: '';
      width: 18px;
      height: 18px;
      display: block;
      border-radius: 50%;
      border: 2px solid transparent;
      z-index: 0;
      transition: all .5s ease;
      position: absolute;
      left: 0;
      top: 0; }
    .radio-box__label:before {
      background-color: #f1f1f1; }
    .radio-box__label:after {
      -webkit-transform: scale(0.6);
              transform: scale(0.6); }

.radio-box input:checked ~ .radio-box__state label:before {
  -webkit-animation: mypulse 1s;
          animation: mypulse 1s; }

.radio-box input:checked ~ .radio-box__state.radio-box__state--primary label:before {
  border-color: #001232;
  background-color: #ffffff; }

.radio-box input:checked ~ .radio-box__state.radio-box__state--primary label:after {
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  background-color: #001232; }

/* Select-Box Component */
.select-box {
  display: block;
  max-width: 100%;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 12px 11px 15px;
  cursor: pointer;
  line-height: 1.2; }
  .select-box--primary-style {
    color: #333333;
    border: 2px solid transparent;
    background-color: #f1f1f1; }
  .select-box--transparent-b-2 {
    color: #333333;
    border: 1px solid transparent;
    background-color: transparent; }
  .select-box:focus {
    outline: 0; }
  .select-box::-ms-expand {
    background-color: transparent;
    border: 0; }

.select-box:disabled {
  background-color: #cecece; }

.select-box--primary-style:focus::-ms-value {
  color: #333333;
  background-color: #f1f1f1; }

.select-box--transparent-b-2:focus::-ms-value {
  color: #333333;
  background-color: #ffffff; }

/* Textarea Component */
.text-area {
  height: 100%;
  font-size: 12px;
  font-weight: 600;
  padding: 18px;
  resize: vertical; }
  .text-area--border-radius {
    border-radius: 25px; }
  .text-area--primary-style {
    color: #5c636c;
    transition: all 0.6s linear;
    border: 2px solid transparent;
    background-color: #f1f1f1; }
    .text-area--primary-style:focus {
      background-color: transparent;
      border-color: #001232; }
  .text-area:focus {
    outline: 0; }

/* Modal Component */
.dismiss-button {
  z-index: 2;
  position: absolute;
  top: 0;
  right: -50px;
  background-color: transparent;
  padding: 8px;
  font-size: 24px;
  border: 0;
  color: #ffffff;
  cursor: pointer;
  transition: color 110ms ease-in-out; }
  .dismiss-button:hover {
    color: #001232; }

#dash-newsletter .modal-dialog {
  width: 100%;
  max-width: 450px; }

#dash-newsletter .modal-body {
  padding: 1.875rem; }

.d-modal__form {
  width: 100%; }
  .d-modal__form .btn {
    padding: 14px 46px;
    font-size: 12px;
    font-weight: 600; }
  .d-modal__form a {
    font-size: 15px;
    font-weight: 600;
    color: #001232;
    transition: color 110ms ease-in-out; }
    .d-modal__form a:hover {
      color: #7f7f7f; }

#edit-ship-address .modal-dialog, #add-ship-address .modal-dialog {
  width: 100%;
  max-width: 750px; }

#edit-ship-address .modal-body, #add-ship-address .modal-body {
  padding: 1.875rem; }

.checkout-modal1__form, .checkout-modal2__form {
  width: 100%; }
  .checkout-modal1__form .btn, .checkout-modal1__form .input-text, .checkout-modal1__form .select-box, .checkout-modal2__form .btn, .checkout-modal2__form .input-text, .checkout-modal2__form .select-box {
    border-radius: 6px; }
  .checkout-modal1__form .input-text, .checkout-modal1__form .select-box, .checkout-modal2__form .input-text, .checkout-modal2__form .select-box {
    width: 100%; }
  .checkout-modal1__form .btn, .checkout-modal2__form .btn {
    font-weight: 600;
    padding: 16px 46px; }

#add-to-cart .modal-dialog {
  width: 100%;
  max-width: 550px; }

#add-to-cart .row {
  -ms-flex-align: center;
      align-items: center; }

.success {
  text-align: center; }
  .success__text-wrap {
    margin-bottom: 18px; }
    .success__text-wrap i {
      margin-right: 8px;
      font-size: 16px;
      color: #001232; }
    .success__text-wrap span {
      font-weight: 700;
      font-size: 14px;
      color: #333333; }
  .success__img-wrap {
    display: inline-block;
    vertical-align: middle;
    background-color: #f5f5f5;
    width: 120px;
    height: 120px; }
    .success__img-wrap img {
      min-width: 120px; }
  .success__name {
    display: block;
    margin: 4px 0;
    font-size: 14px;
    font-weight: 600;
    color: #333333; }
  .success__quantity {
    margin-bottom: 4px;
    display: block;
    font-size: 12px;
    color: #a0a0a0; }
  .success__price {
    display: block;
    font-weight: 700;
    font-size: 14px;
    color: #001232; }

.s-option {
  text-align: center; }
  .s-option__text {
    display: block;
    margin-bottom: 20px;
    font-size: 12px;
    color: #a0a0a0; }
  .s-option__link-box {
    width: 85%;
    margin: 0 auto; }
  .s-option__link {
    margin-bottom: 20px;
    display: block;
    padding: 12px 8px;
    width: 100%;
    text-align: center;
    font-weight: 600;
    font-size: 13px; }

#quick-look .modal-dialog {
  width: 100%;
  max-width: 991px; }

#quick-look .modal-body {
  padding: 1.875rem; }

.new-l--center {
  text-align: center; }

#newsletter-modal .modal-dialog {
  width: 100%;
  max-width: 800px; }

#newsletter-modal .modal-body {
  padding: 0; }

#newsletter-modal .new-l__dismiss {
  z-index: 2;
  position: absolute;
  top: 0;
  right: 10px;
  background-color: transparent;
  padding: 8px;
  font-size: 16px;
  border: 0;
  color: #515151;
  cursor: pointer; }

#newsletter-modal .row {
  -ms-flex-align: center;
      align-items: center; }

.new-l__img-wrap {
  background-color: #f5f5f5;
  position: relative; }
  .new-l__img-wrap:before {
    transition: all 0.6s linear;
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.4); }

.new-l__img-wrap:hover:before {
  opacity: 1; }

.new-l__h3 {
  font-size: 26px;
  line-height: 1.2;
  color: #333333; }

.new-l__p1 {
  font-size: 14px;
  line-height: 21px; }

.new-l__p2 {
  font-size: 12px;
  color: #a0a0a0; }

.new-l__link {
  font-size: 13px;
  color: #7f7f7f;
  transition: all .3s; }
  .new-l__link:hover {
    color: #001232;
    text-decoration: underline; }

.new-l__form {
  width: 100%; }
  .new-l__form .btn {
    width: 100%; }
  .new-l__form .btn {
    padding: 13px 30px;
    font-size: 14px;
    font-weight: 600; }

.news-l__input {
  width: 100%;
  font-size: 12px;
  padding: 0 18px;
  height: 40px;
  color: #333333;
  transition: all 0.6s linear;
  border: 2px solid rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  background-color: #ffffff; }
  .news-l__input:focus {
    border-color: #001232; }
  .news-l__input:focus {
    outline: 0; }
  .news-l__input::-ms-clear {
    display: none; }

@media (max-width: 991px) {
  .new-l__col-1 {
    display: none; } }

/*--------------------------------------------------------------
6.0 Header
--------------------------------------------------------------*/
.header-wrapper {
  position: relative; }

.header--style-1 {
  background-color: #ffffff; }

.header--style-2 {
  background-color: #242424; }

.header--style-3 {
  position: relative;
  width: 100%;
   background: linear-gradient(90deg, #001f3f, #004080, #0066cc);
  z-index: 2; }

.header--box-shadow {
  box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.07); }

/* 6.1 Primary Nav */
.primary-nav-wrapper--border {
  border-bottom: 1px solid #f8f8f8; }

.primary-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  height: 80px;
  width: 100%;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center; }

.main-logo {
    display: inline-block; /* Para que se comporte como un elemento inline pero podamos usar ancho/alto */
    vertical-align: top;
    max-width: 150px; /* Tamaño máximo en pantallas grandes */
    width: 100%;      /* Se adapta al contenedor */
}

/* Imagen del logo */
.main-logo img {
    display: block;   /* Evita espacios debajo de la imagen */
    max-width: 100%;  /* Nunca más grande que su contenedor */
    height: auto;     /* Mantiene proporciones */
}

/* Ajustes para tablet y móviles */
@media (max-width: 1024px) {
    .main-logo {
        max-width: 130px;
    }
}

@media (max-width: 768px) {
    .main-logo {
        max-width: 100px;
    }
}

@media (max-width: 480px) {
    .main-logo {
        max-width: 70px;
    }
}

.main-form {
  position: relative;
  width: 55%; }

#main-search {
  padding: 0 36px 0 18px;
  width: 100%; }

.main-search-button {
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 18px; }

/* 6.2 Secondary Nav */
.secondary-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  height: 80px;
  width: 100%;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center; }

.has-superscript {
  position: relative; }
  .has-superscript:before {
    display: block;
    position: absolute;
    top: 10px;
    left: 40px;
    font-size: 10px;
    padding: 1px 7px;
    color: #ffffff; }
  .has-superscript--discount20:before {
    content: '-20% OFF'; }
  .has-superscript--new:before {
    content: 'NEW'; }
  .has-superscript--hot:before {
    content: 'HOT'; }
  .has-superscript--sale:before {
    content: 'SALE'; }
  .has-superscript--purple:before {
    background-color: #8d54ec; }
  .has-superscript--orange:before {
    background-color: #001232; }
  .has-superscript--mud:before {
    background-color: #878a85; }
  .has-superscript--ruby:before {
    background-color: #ee1a3d; }

@media (max-width: 991px) {
  .header--style-3 {
    position: relative;
      background: linear-gradient(90deg, #001f3f, #004080, #0066cc);} }

/*--------------------------------------------------------------
7.0 Footer
--------------------------------------------------------------*/
/* 7.1 Outer-Footer */
.outer-footer {
  padding: 80px 0;
  background-color: #000000; }
  .outer-footer__content-title {
    display: block;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px; }
  .outer-footer__logo-wrap {
    margin-bottom: 4px; }
  .outer-footer__text-wrap {
    margin-bottom: 6px; }
    .outer-footer__text-wrap > i {
      margin-right: 6px;
      font-size: 14px;
      color: #ffffff; }
    .outer-footer__text-wrap span {
      font-size: 14px;
      color: #ffffff; }
  .outer-footer__social ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .outer-footer__social ul > li {
      margin-right: 16px; }
      .outer-footer__social ul > li > a {
        font-size: 14px;
        color: #ffffff;
        transition: color 0.6s; }
      .outer-footer__social ul > li:last-child {
        margin-right: 0; }
  .outer-footer__list-wrap ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .outer-footer__list-wrap ul > li {
      margin-bottom: 8px; }
      .outer-footer__list-wrap ul > li > a {
        transition: color 0.6s;
        color: #ffffff;
        font-size: 14px; }
        .outer-footer__list-wrap ul > li > a:hover {
          color: #001232; }
      .outer-footer__list-wrap ul > li:last-child {
        margin-bottom: 0; }

.newsletter__group {
  position: relative; }

.newsletter__btn {
  position: absolute;
  padding: 14px;
  right: 0;
  font-weight: 600;
  font-size: 12px;
  top: 50%;
  border: none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.newsletter__text {
  margin-top: 10px;
  display: block;
  color: #ffffff;
  font-size: 14px; }

.newsletter__radio {
  margin-right: 20px; }
  .newsletter__radio .radio-box__label {
    color: #ffffff; }
  .newsletter__radio:last-child {
    margin-right: 0; }

#newsletter {
  width: 100%;
  padding: 0 100px 0 18px; }

/* 7.3 Lower-Footer */
.lower-footer {
  background-color: #000000;
  padding: 20px 0; }
  .lower-footer__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
  .lower-footer__copyright, .lower-footer__payment {
    -ms-flex: 0 1 auto; }
  .lower-footer__copyright span {
    font-size: 13px;
    color: #ffffff; }
  .lower-footer__copyright a {
    margin: 0 1px;
    font-size: 13px;
    color: #001232;
    transition: color 0.6s; }
    .lower-footer__copyright a:hover {
      color: #001232; }
  .lower-footer__img img {
    display: block; }
  .lower-footer__payment ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .lower-footer__payment ul > li {
      margin-right: 16px; }
      .lower-footer__payment ul > li > i {
        font-size: 25px;
        color: #ffffff; }
      .lower-footer__payment ul > li:last-child {
        margin-right: 0; }

@media (max-width: 767px) {
  .lower-footer__content {
    -ms-flex-pack: center;
        justify-content: center; }
  .lower-footer__copyright {
    margin-bottom: 8px; } }

/*--------------------------------------------------------------
8.0 Index-Pages:
--------------------------------------------------------------*/
.fixed-list {
  position: fixed;
  top: 50%;
  right: 10px;
  z-index: 99;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
  .fixed-list > ul {
    display: block;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    border-radius: 1.5625rem; }
    .fixed-list > ul > li > a {
      color: #333333;
      text-align: center;
      font-size: 14px;
      padding: 14px; }
      .fixed-list > ul > li > a.active {
        background-color: #001232;
        color: #ffffff; }
    .fixed-list > ul > li:first-child > a {
      border-top-left-radius: 1.5625rem;
      border-top-right-radius: 1.5625rem; }
    .fixed-list > ul > li:last-child > a {
      border-bottom-left-radius: 1.5625rem;
      border-bottom-right-radius: 1.5625rem; }

.bg-anti-flash-white {
  background-color: #f3f3f3; }

.white-container {
  width: 1220px;
  background-color: #ffffff;
  max-width: 100%;
  margin: 0 auto; }

.section__intro {
  position: relative; }

.block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding: 4px 0;
  -ms-flex-align: center;
      align-items: center;
  border-bottom: 1px solid #e7e7e7; }
  .block__title {
    color: #333333;
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px; }

.category-o {
  position: relative;
  border: 2px dashed #f5f5f5;
  border-radius: 50%;
  overflow: hidden; }
  .category-o__img-wrap {
    border-radius: 50%; }
  .category-o__img {
    border-radius: 50%;
    -webkit-transform: scale(1);
            transform: scale(1);
    transition: all 0.6s linear; }
  .category-o__info {
    content: '';
    position: absolute;
    z-index: 2;
    width: 100%;
    text-align: center;
    bottom: 40px; }
  .category-o__shop-now {
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.07);
    font-size: 13px;
    padding: 10px 25px;
    border-radius: 20px;
    font-weight: 600;
    display: inline-block; }
  .category-o:before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: all 0.3s linear;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0; }

.category-o:hover:before {
  opacity: 1; }

.category-o:hover .category-o__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1); }

.tab-list {
  margin: 0;
  padding: 0; }
  .tab-list > li {
    margin-right: 8px;
    margin-bottom: 12px; }
    .tab-list > li > a {
      border-radius: 20px;
      font-weight: 600;
      font-size: 13px;
      padding: 10px 16px;
      color: #333333; }
      .tab-list > li > a.active {
        border-color: #001232;
        background-color: #001232;
        color: #ffffff; }
    .tab-list > li:last-child {
      margin-right: 0; }

.promotion-o {
  position: relative;
  display: block;
  transition: -webkit-transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .promotion-o__content {
    position: absolute;
    width: 100%;
    z-index: 2;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    text-align: center; }
  .promotion-o__link {
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.07);
    font-size: 13px;
    padding: 10px 25px;
    font-weight: 600;
    transition: all .3s linear;
    display: inline-block; }

.promotion-o:hover {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px); }

.i3-banner {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer; }
  .i3-banner:before {
    transition: all 0.6s linear;
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.4); }
  .i3-banner__img {
    -webkit-transform: scale(1);
            transform: scale(1);
    transition: all 0.6s ease-in-out; }

.i3-banner:hover:before {
  opacity: 1; }

.i3-banner:hover .i3-banner__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1); }

.aspect--1048-334 {
  padding-bottom: 31.87023%; }

.section__text-wrap {
  text-align: center; }

.section__content {
  position: relative; }

.section__heading {
  font-weight: 600;
  letter-spacing: -.02rem;
  font-size: 28px;
  position: relative; }

.section__span {
  font-size: 13px;
  display: block; }

.collection {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer; }
  .collection:before {
    transition: all 0.6s linear;
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.4); }
  .collection__img {
    -webkit-transform: scale(1);
            transform: scale(1);
    transition: all 0.6s ease-in-out; }

.collection:hover:before {
  opacity: 1; }

.collection:hover .collection__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1); }

.aspect--1286-890 {
  padding-bottom: 69.20684%; }

.filter-category-container {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center; }

.filter__btn--style-1 {
  position: relative;
  transition: all 0.3s ease 0s;
  display: block;
  border: none;
  padding: 18px;
  font-size: 14px;
  color: #333333;
  font-weight: 600;
  background-color: transparent; }
  .filter__btn--style-1:before {
    content: '';
    width: 0;
    height: 2px;
    background-color: #001232;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    transition: all 0.2s ease 0s; }
  .filter__btn--style-1:hover {
    color: #001232; }
    .filter__btn--style-1:hover:before {
      width: 100%; }
  .filter__btn--style-1.js-checked {
    color: #001232; }
    .filter__btn--style-1.js-checked:before {
      width: 100%; }

.filter__btn--style-2 {
  transition: all 0.3s ease 0s;
  display: block;
  padding: 15px 27px;
  margin: 0 8px 10px;
  border: 2px solid #f7f7f9;
  font-size: 12px;
  color: #7f7f7f;
  background-color: transparent; }
  .filter__btn--style-2:hover {
    border-color: #001232;
    color: #333333; }
  .filter__btn--style-2.js-checked {
    border-color: #001232;
    color: #333333; }

.load-more {
  text-align: center;
  padding: 40px 0; }
  .load-more > button {
    padding: 22px 56px;
    border: none;
    border-radius: 5px;
    font-size: 13px; }

.banner-bg {
  padding: 7em 0;
  position: relative;
  background: #f5f5f5 url(../images/banners/banner-bg.jpg) repeat fixed center center;
  background-size: cover; }
  .banner-bg__wrap {
    text-align: center; }
  .banner-bg__text-block {
    display: block; }
  .banner-bg__text-1 {
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 58px; }
  .banner-bg__text-2 {
    font-weight: 600;
    margin-bottom: 12px;
    font-size: 31px; }
  .banner-bg__text-3 {
    margin-bottom: 18px;
    font-size: 14px; }
  .banner-bg__shop-now {
    display: inline-block;
    padding: 14px 30px;
    font-weight: 600;
    border-radius: 40px;
    font-size: 13px; }

.promotion {
  display: block;
  position: relative; }
  .promotion:before {
    transition: all 0.3s linear;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0; }
  .promotion__content {
    position: absolute;
    width: 100%;
    z-index: 2;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    text-align: center; }
  .promotion__text-wrap {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 30px 15px;
    transition: all 0.5s ease-in-out; }
  .promotion__text-1 {
    font-size: 14px; }
  .promotion__text-2 {
    font-size: 20px;
    font-weight: 600; }

.promotion:hover:before {
  opacity: 1; }

.promotion:hover .promotion__text-wrap {
  background-color: white; }

.column-product__title {
  display: block;
  font-size: 18px;
  font-weight: 600; }

.column-product__list {
  margin: 0;
  padding: 0;
  list-style: none; }

.column-product__item {
  margin-bottom: 30px; }

.column-product__item:last-child {
  margin-bottom: 0; }

.service {
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  padding: 23px;
  box-shadow: 0 6px 15px 0 rgba(36, 37, 38, 0.08);
  border: 2px solid #f5f5f5; }
  .service__icon, .service__info-wrap {
    -ms-flex: 0 1 auto; }
  .service__icon {
    margin-right: 20px; }
    .service__icon > i {
      color: #001232;
      font-size: 30px; }
  .service__info-text-1 {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
    color: #333333;
    font-weight: 600; }
  .service__info-text-2 {
    font-size: 13px;
    display: block;
    color: #7f7f7f; }

.new-brand-slider {
  position: relative; }

#brand-slider {
  position: static; }

@media (max-width: 991px) {
  .block {
    display: block; }
  .success__img-wrap, .success__info-wrap {
    display: none; } }

/*--------------------------------------------------------------
9.0 About-Page
--------------------------------------------------------------*/
.about {
  background-color: #ffffff;
  box-shadow: 0 1px 15px 0 rgba(0, 0, 0, 0.07); }
  .about__container {
    padding: 60px; }
  .about__info {
    text-align: center; }
  .about__h2 {
    color: #333333;
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 24px; }
  .about .about__p-wrap {
    position: relative;
    margin-bottom: 20px; }
    .about .about__p-wrap:before, .about .about__p-wrap:after {
      content: '';
      display: block;
      width: 70px;
      position: absolute;
      border: solid #001232; }
    .about .about__p-wrap:before {
      top: -10px;
      left: -8px;
      border-top-width: 1px; }
    .about .about__p-wrap:after {
      bottom: -10px;
      right: -8px;
      border-bottom-width: 1px; }
  .about__p {
    color: #333333; }
  .about__link {
    display: inline-block;
    padding: 12px 42px;
    border-radius: 40px;
    font-weight: 600;
    font-size: 12px; }

.team-member {
  background-color: #fbfbfb;
  transition: -webkit-transform 0.7s ease-in-out;
  transition: transform 0.7s ease-in-out;
  transition: transform 0.7s ease-in-out, -webkit-transform 0.7s ease-in-out; }
  .team-member__wrap {
    position: relative; }
  .team-member__social-wrap {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    opacity: 0;
    z-index: 2;
    -webkit-transform: translateY(-50%) scale(0.8);
            transform: translateY(-50%) scale(0.8);
    transition: all 0.2s ease 0s; }
  .team-member__social-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
    .team-member__social-list > li {
      margin: 0 4px 6px;
      opacity: 0;
      -webkit-transform: translateY(50%);
              transform: translateY(50%);
      transition: all 0.3s ease 0.1s; }
      .team-member__social-list > li > a {
        display: block;
        width: 35px;
        text-align: center;
        border-radius: 50%;
        height: 35px;
        line-height: 35px;
        background-color: #ffffff;
        color: #001232;
        font-size: 12px;
        transition: all 0.3s ease 0s; }
        .team-member__social-list > li > a:hover {
          color: #ffffff; }
  .team-member__info {
    padding: 16px; }
  .team-member__name {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333333; }
  .team-member__job-title {
    display: block;
    font-size: 11px;
    color: #a0a0a0; }

.team-member:hover {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px); }
  .team-member:hover .team-member__social-wrap {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1); }
  .team-member:hover .team-member__social-list > li {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.testimonial {
  text-align: center; }
  .testimonial__img-wrap {
    margin-bottom: 16px; }
  .testimonial__double-quote {
    display: block; }
    .testimonial__double-quote i {
      font-size: 28px;
      color: #333333; }
  .testimonial__block-quote {
    margin: 0 auto;
    width: 70%;
    padding: 10px 20px; }
    .testimonial__block-quote p {
      font-size: 14px;
      font-weight: 600;
      color: #333333; }
  .testimonial__author {
    display: block;
    font-size: 13px;
    color: #a0a0a0; }

.testimonial .testimonial__img-wrap .testimonial__img {
  display: inline-block;
  width: 165px;
  height: 165px;
  border-radius: 50%; }

/*--------------------------------------------------------------
10.0 Contact-Page
--------------------------------------------------------------*/
.g-map {
  background-color: #eee; }

#map {
  height: 450px;
  width: 100%; }

.contact-o {
  background-color: #ffffff;
  padding: 23px;
  transition: -webkit-transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  border: 2px solid #f5f5f5;
  box-shadow: 0 6px 15px 0 rgba(36, 37, 38, 0.08); }
  .contact-o:hover {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px); }
  .contact-o__wrap {
    text-align: center; }
  .contact-o__icon {
    margin-bottom: 10px; }
    .contact-o__icon > i {
      color: #001232;
      font-size: 48px; }
  .contact-o__info-text-1 {
    display: block;
    font-size: 17px;
    margin-bottom: 4px;
    color: #333333;
    font-weight: 600;
    text-transform: uppercase; }
  .contact-o__info-text-2 {
    font-size: 12px;
    margin-bottom: 2px;
    display: block;
    color: #7f7f7f; }

.contact-area__heading {
  margin-bottom: 30px; }
  .contact-area__heading h2 {
    display: inline-block;
    font-size: 26px;
    font-weight: 700;
    color: #333333;
    background-color: #ffffff; }

.contact-f {
  width: 100%; }
  .contact-f .input-text, .contact-f .text-area {
    border-radius: 6px;
    width: 100%; }
  .contact-f .text-area {
    height: 185px; }
  .contact-f .btn {
    padding: 19px 21px;
    border-radius: 25px; }

/*--------------------------------------------------------------
11.0 Cart-Wishlist-Pages
--------------------------------------------------------------*/
.table-responsive {
  overflow-x: auto; }

.table-p {
  width: 100%;
  border: 1px solid #eee;
  border-collapse: collapse; }
  .table-p tr {
    position: relative;
    border-top: 1px solid #eee; }
  .table-p td {
    padding: 20px; }
  .table-p__box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: center;
        align-items: center; }
  .table-p__img-wrap {
    display: inline-block;
    vertical-align: middle;
    background-color: #f5f5f5;
    width: 120px;
    height: 120px; }
    .table-p__img-wrap img {
      display: block;
      min-width: 120px; }
  .table-p__info {
    margin-left: 18px; }
  .table-p__name {
    display: block; }
    .table-p__name > a {
      color: #333333;
      font-size: 14px;
      font-weight: 600;
      transition: color 0.5s; }
      .table-p__name > a:hover {
        color: #001232; }
  .table-p__category {
    display: block; }
    .table-p__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .table-p__category > a:hover {
        color: #001232; }
  .table-p__variant-list {
    margin: 0;
    padding: 0;
    list-style: none; }
    .table-p__variant-list > li > span {
      color: #a0a0a0;
      font-size: 12px; }
  .table-p__price {
    text-align: center;
    display: block;
    color: #333333;
    font-size: 14px;
    font-weight: 600; }
  .table-p__input-counter-wrap {
    text-align: center; }
  .table-p__del-wrap {
    text-align: center; }
  .table-p__delete-link {
    padding: 10px;
    font-size: 16px;
    display: inline-block;
    color: #333333;
    transition: color 0.5s; }
    .table-p__delete-link:hover {
      color: #001232; }

.w-r {
  background-color: #ffffff;
  border: 1px solid #eee;
  box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.07); }
  .w-r__container {
    display: -ms-flexbox;
    display: flex;
    padding: 20px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .w-r__wrap-1, .w-r__wrap-2 {
    -ms-flex: 0 1 auto; }
  .w-r__wrap-1 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .w-r__img-wrap {
    display: inline-block;
    vertical-align: middle;
    background-color: #f5f5f5;
    width: 120px;
    height: 120px; }
    .w-r__img-wrap img {
      display: block;
      min-width: 120px; }
  .w-r__info {
    margin-left: 18px; }
  .w-r__name {
    display: block; }
    .w-r__name > a {
      color: #333333;
      font-size: 14px;
      font-weight: 600;
      transition: color 0.5s; }
      .w-r__name > a:hover {
        color: #001232; }
  .w-r__category {
    display: block;
    margin-bottom: 2px; }
    .w-r__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .w-r__category > a:hover {
        color: #001232; }
  .w-r__price {
    display: block;
    color: #001232;
    font-size: 14px;
    font-weight: 600; }
  .w-r__discount {
    font-weight: 600;
    margin-left: 12px;
    color: #333333;
    font-size: 14px;
    text-decoration: line-through; }
  .w-r__link {
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
    border-radius: 5px;
    margin: 0 0 10px 10px;
    padding: 12px 30px; }

.route-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #f1f1f1;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  .route-box__g {
    -ms-flex: 0 1 auto; }
  .route-box__link {
    color: #333333;
    font-size: 13px;
    text-align: center;
    padding: 17px;
    font-weight: 600;
    display: inline-block;
    transition: color 0.5s; }
    .route-box__link:hover {
      color: #001232; }
  .route-box i {
    margin-right: 2px; }

.f-cart__pad-box {
  border: 1px solid #eee;
  padding: 32px 22px 35px; }

.f-cart__table {
  width: 100%;
  border-collapse: collapse; }
  .f-cart__table td {
    color: #333333;
    vertical-align: middle;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 0; }
  .f-cart__table td:first-child {
    text-align: left; }
  .f-cart__table td {
    text-align: right; }
  .f-cart__table tr:last-child td {
    font-size: 16px;
    font-weight: 700;
    color: #001232; }

.f-cart__ship-link {
  font-size: 13px;
  text-align: center;
  padding: 17px;
  font-weight: 600;
  border-radius: 6px;
  display: block; }

.f-cart .input-text, .f-cart .select-box, .f-cart .text-area, .f-cart .btn {
  border-radius: 6px;
  width: 100%; }

.f-cart .text-area {
  height: 350px; }

.f-cart .btn {
  padding: 16px;
  font-weight: 600;
  font-size: 13px; }

@media (max-width: 991px) {
  .w-r__wrap-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: end;
        align-items: flex-end; } }

@media (max-width: 767px) {
  .table-p td {
    min-width: 200px; }
  .w-r__container {
    -ms-flex-direction: column;
        flex-direction: column; }
  .w-r__wrap-1 {
    -ms-flex-direction: column;
        flex-direction: column; }
  .w-r__info {
    text-align: center;
    margin: 15px 0 15px; }
  .w-r__wrap-2 {
    -ms-flex-align: center;
        align-items: center; } }

/*--------------------------------------------------------------
12.0 Empty-404-Pages
--------------------------------------------------------------*/
.empty {
  text-align: center; }
  .empty__big-text {
    display: block;
    margin-bottom: 12px;
    color: #001232;
    line-height: 1;
    font-size: 85px;
    font-weight: 600; }
  .empty__text-1 {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #333333; }
  .empty__text-2 {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #a0a0a0; }
    .empty__text-2 > a {
      color: #001232;
      padding: 2px; }
      .empty__text-2 > a:after {
        content: ',';
        margin: 0 2px;
        color: #333333; }
    .empty__text-2 > a:last-child:after {
      content: none; }
  .empty__search-form {
    position: relative;
    width: 40%;
    margin: 0 auto; }
    .empty__search-form .btn {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      right: 8px; }
  .empty__redirect-link {
    border-radius: 40px;
    padding: 16px;
    display: inline-block;
    font-weight: 600;
    font-size: 13px; }

#search-label {
  padding: 0 36px 0 18px;
  width: 100%; }

/*--------------------------------------------------------------
13.0 Checkout-Page
--------------------------------------------------------------*/
.msg {
  background-color: #ffffff;
  box-shadow: 0 6px 15px 0 rgba(36, 37, 38, 0.08);
  padding: 20px; }
  .msg__text {
    padding: 8px 0;
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333333; }

.l-f__form {
  width: 100%; }

.l-f .input-text {
  width: 100%; }

.l-f .input-text, .l-f .btn {
  border-radius: 6px; }

.l-f .btn {
  font-weight: 600;
  padding: 12px 18px; }

.c-f__form {
  position: relative;
  width: 50%; }

.c-f .input-text {
  width: 100%; }

.c-f .input-text, .c-f .btn {
  border-radius: 6px; }

.c-f .btn {
  font-weight: 600;
  padding: 12px 18px; }

.checkout-f {
  width: 100%; }
  .checkout-f .input-text, .checkout-f .select-box, .checkout-f .text-area, .checkout-f .btn {
    width: 100%;
    border-radius: 6px; }
  .checkout-f .text-area {
    height: 185px; }
  .checkout-f .btn {
    font-weight: 600;
    padding: 18px; }

.checkout-f__h1 {
  color: #333333;
  font-size: 18px;
  margin-bottom: 8px; }

.o-summary__section {
  background-color: #ffffff;
  border: 1px solid #eee; }

.o-summary__box {
  padding: 20px; }

.o-summary__item-wrap {
  max-height: 228px;
  padding: 17px;
  overflow-y: auto; }

.o-summary__table {
  width: 100%;
  border-collapse: collapse; }
  .o-summary__table td {
    color: #333333;
    vertical-align: middle;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 0; }
  .o-summary__table td:first-child {
    text-align: left; }
  .o-summary__table td {
    text-align: right; }
  .o-summary__table tr:last-child td {
    font-size: 16px;
    font-weight: 700;
    color: #001232; }

.o-card {
  border: 1px solid #f5f5f5;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  background-color: #ffffff;
  padding: 10px;
  margin-bottom: 22px; }
  .o-card:last-child {
    margin-bottom: 0; }
  .o-card__flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .o-card__img-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 60px;
    height: 60px;
    background-color: #f5f5f5; }
    .o-card__img-wrap img {
      display: block;
      min-width: 60px; }
  .o-card__info-wrap {
    margin-left: 18px; }
  .o-card__name {
    display: block; }
    .o-card__name > a {
      color: #333333;
      font-size: 13px;
      font-weight: 600;
      transition: color 0.5s; }
      .o-card__name > a:hover {
        color: #001232; }
  .o-card__quantity {
    font-size: 13px;
    margin-bottom: 2px;
    display: block; }
  .o-card__price {
    display: block;
    color: #001232;
    font-size: 13px;
    font-weight: 600; }
  .o-card__del {
    padding: 10px;
    font-size: 16px;
    display: inline-block;
    color: #333333;
    transition: color 0.5s; }
    .o-card__del:hover {
      color: #001232; }

.ship-b__text {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: #333333;
  margin-bottom: 4px; }

.ship-b__box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.ship-b__p {
  margin-bottom: 4px;
  color: #7f7f7f;
  font-weight: 600;
  font-size: 13px;
  -ms-flex: 0 0 50%;
      flex: 0 0 50%;
  max-width: 50%; }

.ship-b__edit {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 6px; }

@media (max-width: 575px) {
  .o-summary__item-wrap {
    max-height: 466px; }
  .o-card__flex {
    display: block;
    padding: 14px;
    text-align: center; }
  .o-card__info-wrap {
    margin-left: 0; }
  .ship-b__box {
    display: block; }
  .ship-b__p {
    max-width: 100%; } }

/*--------------------------------------------------------------
14.0 Signin Signup Lost Password-Page
--------------------------------------------------------------*/
.l-f-o {
  border: 1px solid #eee; }
  .l-f-o__pad-box {
    padding: 20px; }
  .l-f-o__form {
    width: 100%; }
  .l-f-o .input-text, .l-f-o .btn, .l-f-o .select-box {
    border-radius: 6px; }
  .l-f-o .input-text {
    width: 100%; }
  .l-f-o .btn {
    font-weight: 600;
    padding: 12px 18px; }
  .l-f-o__create-link {
    font-size: 13px;
    text-align: center;
    padding: 12px;
    display: block;
    font-weight: 600;
    border-radius: 6px; }

/*--------------------------------------------------------------
15.0 FAQ-Page
--------------------------------------------------------------*/
.faq__heading {
  font-weight: 700;
  font-size: 13px;
  color: #333333;
  margin-bottom: 6px; }

.faq__text {
  font-size: 13px;
  color: #7f7f7f; }

.faq__list {
  border-top: 1px solid #eee;
  padding: 14px 0; }
  .faq__list:last-child {
    border-bottom: 1px solid #eee; }

.faq__question {
  display: block;
  position: relative;
  padding: 8px 0;
  font-size: 16px;
  font-weight: 600;
  color: #333333; }

.faq__question:before {
  content: "\F107";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  top: 8px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  right: 12px;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out; }

.faq__question.collapsed:before {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg); }

/*--------------------------------------------------------------
16.0 Dashboard-Pages
--------------------------------------------------------------*/


        .dashboard-container-main {
            max-width: 1400px;
            margin: 0 auto;
            padding: 20px !important;

        }

        /* Header */
        .dashboard-header-section {
            background: white;
            padding: 25px 30px;
            border-radius: 15px;
            margin-bottom: 30px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px;
        }

        .dashboard-header-title h1 {
            font-size: 32px;
            color: #1a1a1a;
            margin-bottom: 5px;
        }

        .dashboard-header-title p {
            color: #666;
            font-size: 14px;
        }

        .dashboard-breadcrumb-nav {
            display: flex;
            gap: 10px;
            align-items: center;
            font-size: 14px;
        }

        .dashboard-breadcrumb-nav a {
            color: #0066cc;
            text-decoration: none;
            transition: color 0.3s;
        }

        .dashboard-breadcrumb-nav a:hover {
            color: #0052a3;
        }

        /* Layout Principal */
        .dashboard-wrapper {
            display: grid;
            grid-template-columns: 240px 1fr;
            gap: 30px;
        }

        /* Sidebar */
        .dashboard-sidebar {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .dashboard-sidebar-card {
            background: white;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
            transition: all 0.3s ease;
        }

        .dashboard-sidebar-card:hover {
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
            transform: translateY(-2px);
        }

        .dashboard-sidebar-header {
            background: linear-gradient(90deg, #001f3f, #004080, #0066cc);
            color: white;
            padding: 20px;
            font-size: 16px;
            font-weight: 600;
        }

        .dashboard-sidebar-content {
            padding: 0;
        }

        .dashboard-sidebar-menu {
            list-style: none;
                padding: 0px !important;
    margin-top: 0px !important;
        }

        .dashboard-sidebar-menu li {
            border-bottom: 1px solid #f0f0f0;
        }

        .dashboard-sidebar-menu li:last-child {
            border-bottom: none;
        }

        .dashboard-sidebar-menu a {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 16px 20px;
            color: #555;
            text-decoration: none;
            transition: all 0.3s;
            font-size: 14px;
            font-weight: 500;
        }

        .dashboard-sidebar-menu a:hover,
        .dashboard-sidebar-menu a.active {
            background: #f8f9ff;
            color: #667eea;
            padding-left: 25px;
            border-left: 3px solid #667eea;
        }

        .dashboard-sidebar-menu i {
            font-size: 18px;
            width: 20px;
        }

        /* Stats Cards */
        .dashboard-stats-grid {
            display: grid;
            grid-template-columns: repeat(1, 1fr);
            gap: 15px;
        }

        .dashboard-stat-card {
            background: white;
            padding: 20px;
            border-radius: 12px;
            text-align: center;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
            border-top: 3px solid transparent;
        }

        .dashboard-stat-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
        }

        .dashboard-stat-card.orders { border-top-color: #ff6b6b; }
        .dashboard-stat-card.cancelled { border-top-color: #4ecdc4; }
        .dashboard-stat-card.wishlist { border-top-color: #ffd93d; }

        .dashboard-stat-icon {
            font-size: 32px;
            margin-bottom: 10px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .dashboard-stat-card.orders .dashboard-stat-icon { color: #4ecdc4; }
        .dashboard-stat-card.cancelled .dashboard-stat-icon { color: #ff6b6b; }
        .dashboard-stat-card.wishlist .dashboard-stat-icon { color: #ffd93d; }

        .dashboard-stat-number {
            font-size: 28px;
            font-weight: 700;
            color: #1a1a1a;
            margin-bottom: 5px;
        }

        .dashboard-stat-label {
            font-size: 12px;
            color: #999;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        /* Main Content */
        .dashboard-main-content {
            display: flex;
            flex-direction: column;
            gap: 30px;
        }

        .dashboard-content-card {
            background: white;
            border-radius: 15px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
            overflow: hidden;
            transition: all 0.3s ease;
        }

        .dashboard-content-card:hover {
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
        }

        .dashboard-card-header {
           background: linear-gradient(90deg, #001f3f, #004080, #0066cc);
            color: white;
            padding: 25px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .dashboard-card-header h2 {
            font-size: 22px;
            font-weight: 600;
        }

        .dashboard-edit-btn {
            background: rgba(255, 255, 255, 0.2);
            color: white;
            border: none;
            padding: 8px 16px;
            border-radius: 6px;
            cursor: pointer;
            font-size: 13px;
            font-weight: 600;
            transition: all 0.3s;
        }

        .dashboard-edit-btn:hover {
            background: rgba(255, 255, 255, 0.3);
        }

        .dashboard-card-content {
            padding: 30px;
        }

        /* Profile Cards Grid */
        .dashboard-profile-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            margin-bottom: 20px;
        }

        .dashboard-profile-card {
            background: white;
            padding: 30px;
            border-radius: 12px;
            border-left: 4px solid #667eea;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            display: flex;
            flex-direction: column;
        }

        .dashboard-profile-card-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 20px;
            min-height: 50px;
        }

        .dashboard-profile-card h3 {
            font-size: 13px;
            color: #999;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 600;
            flex: 1;
        }

        .dashboard-profile-card-edit {
            background: #667eea;
            color: white;
            border: none;
            padding: 6px 12px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 11px;
            font-weight: 600;
            transition: all 0.3s;
            white-space: nowrap;
        }

        .dashboard-profile-card-edit:hover {
            background: #764ba2;
            transform: translateY(-1px);
        }

        .dashboard-profile-card p {
            color: #333;
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 12px;
            word-break: break-word;
        }

        .dashboard-profile-card p.subtitle {
            font-size: 13px;
            color: #666;
            font-weight: 400;
            margin-bottom: 8px;
        }

        /* Orders Table */
        .dashboard-table-wrapper {
            overflow-x: auto;
        }

        .dashboard-orders-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .dashboard-orders-table thead {
            background: #f8f9ff;
            border-bottom: 2px solid #e0e0e0;
        }

        .dashboard-orders-table th {
            padding: 16px;
            text-align: left;
            font-weight: 600;
            color: #333;
            text-transform: uppercase;
            font-size: 12px;
            letter-spacing: 0.5px;
        }

        .dashboard-orders-table td {
            padding: 16px;
            border-bottom: 1px solid #f0f0f0;
            color: #555;
        }

        .dashboard-orders-table tbody tr {
            transition: all 0.3s ease;
        }

        .dashboard-orders-table tbody tr:hover {
            background: #f8f9ff;
        }

        .dashboard-order-id {
            font-weight: 600;
            color: #667eea;
        }

        .dashboard-order-date {
            color: #999;
            font-size: 13px;
        }

        .dashboard-order-image {
            width: 50px;
            height: 50px;
            border-radius: 8px;
            object-fit: cover;
            border: 2px solid #f0f0f0;
        }

        .dashboard-order-total {
            font-weight: 700;
            color: #1a1a1a;
            font-size: 15px;
        }

        .dashboard-manage-btn {
          background: linear-gradient(90deg, #001f3f, #004080, #0066cc);
            color: white;
            border: none;
            padding: 8px 16px;
            border-radius: 6px;
            cursor: pointer;
            font-size: 12px;
            font-weight: 600;
            transition: all 0.3s;
        }

        .dashboard-manage-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .dashboard-wrapper {
                grid-template-columns: 1fr;
            }

            .dashboard-profile-grid {
                grid-template-columns: 1fr;
            }

            .dashboard-stats-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            .dashboard-header-section {
                flex-direction: column;
                text-align: center;
            }

            .dashboard-header-title h1 {
                font-size: 24px;
            }

            .dashboard-stats-grid {
                grid-template-columns: 1fr;
            }

            .dashboard-profile-grid {
                grid-template-columns: 1fr;
            }

            .dashboard-orders-table {
                font-size: 12px;
            }

            .dashboard-orders-table th,
            .dashboard-orders-table td {
                padding: 12px;
            }

            .dashboard-sidebar-menu a {
                padding: 12px 16px;
                font-size: 13px;
            }
        }
        @media (max-width: 520px) {

            .dashboard-card-content{
padding: 5px !important;
            }
    /* Sidebar encima del contenido */
    .dashboard-wrapper {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* Sidebar toma 100% */
    .dashboard-sidebar-card,
    .dashboard-stats-grid {
        width: 100%;
    }

    /* Tarjetas de perfil apiladas */
    .dashboard-profile-grid {
        grid-template-columns: 1fr !important;
        gap: 15px;
    }

    /* Reduce padding interno de tarjetas */
    .dashboard-content-card,
    .dashboard-profile-card {
        padding: 10px !important;
    }

    /* Ajusta la tabla de pedidos para móvil */
    .dashboard-orders-table {
        font-size: 12px;
    }

    .dashboard-orders-table th,
    .dashboard-orders-table td {
        padding: 8px;
    }
}


    .col-lg-9 {
        max-width: 1200px;
        margin: 0 auto;
    }

    /* Card Principal */
    .profile-dash__box {
        background: white;
        border-radius: 20px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
        overflow: hidden;
        margin-bottom: 30px;
    }

    /* Header del Card */
    .profile-header {
        background: linear-gradient(90deg, #001f3f, #004080, #0066cc);
        padding: 40px;
        position: relative;
        overflow: hidden;
    }

    .profile-header::before {
        content: '';
        position: absolute;
        top: -50%;
        right: -10%;
        width: 400px;
        height: 400px;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
    }

    .profile-header-content {
        position: relative;
        z-index: 1;
    }

    .profile-dash__h1 {
        font-size: 36px;
        color: white;
        margin-bottom: 12px;
        font-weight: 700;
    }

    .profile-dash__text {
        color: rgba(255, 255, 255, 0.9);
        font-size: 16px;
        display: block;
    }

    /* Contenido */
    .profile-dash__pad-2 {
        padding: 0;
    }

    .profile-content {
        padding: 40px;
    }

    /* Grid de información */
    .profile-info-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 25px;
        margin-bottom: 40px;
    }

    .profile-info-card {
        background: linear-gradient(135deg, #f8f9ff 0%, #f0f2ff 100%);
        padding: 25px;
        border-radius: 15px;
        border-left: 4px solid #667eea;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
    }

    .profile-info-card::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 100px;
        height: 100px;
        background: rgba(102, 126, 234, 0.05);
        border-radius: 50%;
        transform: translate(30%, -30%);
    }

    .profile-info-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 30px rgba(102, 126, 234, 0.2);
        border-left-color: #764ba2;
    }

    .profile-info-card-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 15px;
    }

    .profile-dash__h2 {
        font-size: 12px;
        color: #999;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .profile-dash__h2 i {
        color: #667eea;
        font-size: 14px;
    }

    .profile-info-value {
        font-size: 18px;
        font-weight: 600;
        color: #333;
        margin-bottom: 10px;
        position: relative;
        z-index: 1;
    }

    .profile-info-value.empty {
        color: #999;
        font-style: italic;
        font-size: 14px;
    }

    .profile-dash__link {
        margin-top: 8px;
    }

    .profile-dash__link a {
        background: #667eea;
        color: white;
        padding: 6px 14px;
        border-radius: 6px;
        text-decoration: none;
        font-size: 12px;
        font-weight: 600;
        display: inline-block;
        transition: all 0.3s ease;
    }

    .profile-dash__link a:hover {
        background: #764ba2;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
    }

    /* Botones de Acción */
    .profile-action-buttons {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
        padding: 30px 40px 40px;
        background: #f8f9ff;
        border-top: 2px solid #e8ecff;
    }

    .profile-action-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 30px;
        border-radius: 12px;
        text-decoration: none;
        font-weight: 600;
        font-size: 14px;
        transition: all 0.3s ease;
        border: 2px solid transparent;
    }

    .profile-btn-primary {
        background: linear-gradient(90deg, #001f3f, #004080, #0066cc);
        color: white;
    }

    .profile-btn-primary:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 25px rgba(102, 126, 234, 0.4);
    }

    .profile-btn-secondary {
        background: white;
        color: #667eea;
        border-color: #667eea;
    }

    .profile-btn-secondary:hover {
        background: #667eea;
        color: white;
        transform: translateY(-3px);
        box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3);
    }

    .profile-btn-outline {
        background: transparent;
        color: #764ba2;
        border-color: #764ba2;
    }

    .profile-btn-outline:hover {
        background: #764ba2;
        color: white;
        transform: translateY(-3px);
        box-shadow: 0 10px 25px rgba(118, 75, 162, 0.3);
    }

    /* Badge de estado */
    .profile-status-badge {
        display: inline-block;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .profile-badge-verified {
        background: rgba(76, 175, 80, 0.1);
        color: #4caf50;
    }

    .profile-badge-pending {
        background: rgba(255, 152, 0, 0.1);
        color: #ff9800;
    }

    /* Responsive */
    @media (max-width: 768px) {
        .profile-header {
            padding: 30px 20px;
        }

        .profile-dash__h1 {
            font-size: 28px;
        }

        .profile-content {
            padding: 25px 20px;
        }

        .profile-info-grid {
            grid-template-columns: 1fr;
            gap: 15px;
        }

        .profile-action-buttons {
            grid-template-columns: 1fr;
            padding: 20px;
        }

        .profile-action-btn {
            padding: 14px 20px;
            font-size: 13px;
        }
    }

    @media (max-width: 480px) {
        .profile-dash__h1 {
            font-size: 24px;
        }

        .profile-info-card {
            padding: 20px;
        }

        .profile-info-value {
            font-size: 16px;
        }
    }


    /*orders*/


/* ============================================
   ORDERS PAGE STYLES - TOLStore Dashboard
   ============================================ */

/* Main Container */
.dash__box {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: all 0.3s ease;
}

.dash__box:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.dash__pad-2 {
    padding: 30px;
}

/* Header Section */
.dash__h1 {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    letter-spacing: -0.5px;
}

.dash__text {
    display: block;
    font-size: 14px;
    color: #6c757d;
    line-height: 1.6;
}

/* Filter Form */
.order-m-order__filter {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.order-m-order__select-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.order-m-order__select-wrapper label {
    font-size: 14px;
    font-weight: 600;
    color: #495057;
    margin: 0;
}

.select-box {
    padding: 10px 16px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    font-size: 14px;
    color: #495057;
    background-color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
    min-width: 200px;
}

.select-box:hover {
    border-color: #007bff;
}

.select-box:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* Orders List Container */
.order-m-order__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Individual Order Item */
.order-m-order__item {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 24px;
    transition: all 0.3s ease;
}

.order-m-order__item:hover {
    border-color: #007bff;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.1);
    transform: translateY(-2px);
}

/* Order Header */
.order-manage-o__header {
    border-bottom: 1px solid #e9ecef;
    padding-bottom: 16px;
}

.dash-l-r {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.order-manage-o__text-2 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 6px;
}

.order-manage-o__text {
    font-size: 13px;
    font-weight: 400;
}

/* Manage Link */
.dash__link {
    display: inline-block;
}

.dash__link a {
    display: inline-block;
    padding: 8px 20px;
    background: linear-gradient(90deg, #001f3f, #004080, #0066cc);
    color: #ffffff;
    text-decoration: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.dash__link a:hover {
    background: linear-gradient(90deg, #0066cc, #004080, #001f3f);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

/* Order Description */
.order-manage-o__description {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding-top: 20px;
    flex-wrap: wrap;
}

.order-description__container {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    min-width: 250px;
}

.order-description__img-wrap {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e9ecef;
    flex-shrink: 0;
    background: #f8f9fa;
}

.order-description__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.order-m-order__item:hover .order-description__img-wrap img {
    transform: scale(1.1);
}

.order-description__title {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.5;
}

/* Order Info Wrap */
.order-description__info-wrap {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

/* Status Badges */
.order-manage-o__badge {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.order-badge--processing {
    background: linear-gradient(135deg, #ffeaa7 0%, #fdcb6e 100%);
    color: #d63031;
}

.order-badge--shipped {
    background: linear-gradient(135deg, #74b9ff 0%, #0984e3 100%);
    color: #ffffff;
}

.order-badge--delivered {
    background: linear-gradient(135deg, #55efc4 0%, #00b894 100%);
    color: #ffffff;
}

/* Utility Colors */
.u-c-secondary {
    color: #1a1a1a !important;
}

.u-c-silver {
    color: #6c757d !important;
}

/* Utility Margins */
.u-s-m-b-14 {
    margin-bottom: 14px !important;
}

.u-s-m-b-20 {
    margin-bottom: 20px !important;
}

.u-s-m-b-30 {
    margin-bottom: 30px !important;
}

.u-s-m-r-8 {
    margin-right: 8px !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .dash__pad-2 {
        padding: 20px;
    }
    
    .dash__h1 {
        font-size: 24px;
    }
    
    .order-manage-o__description {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .order-description__info-wrap {
        width: 100%;
        justify-content: space-between;
    }
    
    .dash-l-r {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .select-box {
        min-width: 100%;
    }
}

@media (max-width: 576px) {
    .order-m-order__item {
        padding: 16px;
    }
    
    .order-description__container {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .order-description__img-wrap {
        width: 100%;
        height: 200px;
    }
    
    .order-description__info-wrap {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.order-m-order__item {
    animation: fadeIn 0.4s ease-out;
}

/* Print Styles */
@media print {
    .dash__link,
    .order-m-order__filter {
        display: none;
    }
    
    .order-m-order__item {
        break-inside: avoid;
        border: 1px solid #000;
        margin-bottom: 20px;
    }
}


/*wishlist*/
 .wishlist-app-content {
            max-width: 1200px;
            margin: 0 auto;
            margin-top: 50px;
            margin-bottom: 50px;
        }

        .wishlist-section {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .wishlist-breadcrumb {
            padding: 20px 40px;
        }

        .wishlist-breadcrumb__list {
            list-style: none;
            display: flex;
            gap: 10px;
            align-items: center;
            color: rgb(137 137 137 / 90%);
            font-size: 14px;
        }

        .wishlist-breadcrumb__list li a {
            color: rgb(23 0 211 / 90%);
            text-decoration: none;
            transition: all 0.3s ease;
        }

        .wishlist-breadcrumb__list li a:hover {
            color: #001232;
        }

        .wishlist-breadcrumb__list li.has-separator::after {
            content: "/";
            margin-left: 10px;
            color: rgb(118 115 115 / 60%);
        }

        .wishlist-breadcrumb__list li.is-marked a {
            color: #;
            font-weight: 600;
        }

        .wishlist-section__intro {
            padding: 40px 40px 20px;
            background: #fff;
        }

        .wishlist-section__heading {
            font-size: 32px;
            font-weight: 700;
            background: linear-gradient(90deg, rgb(0, 31, 63), rgb(0, 64, 128), rgb(0, 102, 204));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 10px;
        }

        .wishlist-section__subtitle {
            color: #64748b;
            font-size: 14px;
        }

        .wishlist-section__content {
            padding: 20px 40px 40px;
        }

        .wishlist-product {
            background: #fff;
            border: 1px solid #e2e8f0;
            border-radius: 16px;
            margin-bottom: 20px;
            transition: all 0.3s ease;
            overflow: hidden;
        }

        .wishlist-product:hover {
            box-shadow: 0 10px 30px rgba(102, 126, 234, 0.15);
            transform: translateY(-2px);
            border-color: #667eea;
        }

        .wishlist-product__container {
            display: flex;
            align-items: center;
            padding: 20px;
            gap: 20px;
        }

        .wishlist-product__wrap-1 {
            display: flex;
            align-items: center;
            gap: 20px;
            flex: 1;
        }

        .wishlist-product__img-wrap {
            width: 120px;
            height: 120px;
            border-radius: 12px;
            overflow: hidden;
            background: #f8fafc;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .wishlist-product__img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            transition: transform 0.3s ease;
        }

        .wishlist-product:hover .wishlist-product__img-wrap img {
            transform: scale(1.05);
        }

        .wishlist-product__info {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .wishlist-product__name {
            font-size: 18px;
            font-weight: 600;
            color: #1e293b;
        }

        .wishlist-product__name a {
            color: #1e293b;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .wishlist-product__name a:hover {
            color: #667eea;
        }

        .wishlist-product__category {
            display: inline-block;
            background: linear-gradient(90deg, rgb(0, 31, 63), rgb(0, 64, 128), rgb(0, 102, 204));
            color: #fff;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 500;
            text-decoration: none;
            width: fit-content;
        }

        .wishlist-product__price {
            font-size: 24px;
            font-weight: 700;
            color: #667eea;
        }

        .wishlist-product__discount {
            font-size: 16px;
            color: #94a3b8;
            text-decoration: line-through;
            margin-left: 10px;
            font-weight: 400;
        }

        .wishlist-product__wrap-2 {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .wishlist-btn {
            padding: 12px 24px;
            border-radius: 10px;
            font-size: 14px;
            font-weight: 600;
            text-decoration: none;
            text-align: center;
            transition: all 0.3s ease;
            cursor: pointer;
            border: none;
            white-space: nowrap;
        }

        .wishlist-btn--primary {
            background: linear-gradient(90deg, rgb(0, 31, 63), rgb(0, 64, 128), rgb(0, 102, 204));
            color: #fff;
        }

        .wishlist-btn--primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
        }

        .wishlist-btn--secondary {
            background: #fff;
            color: #667eea;
            border: 2px solid #667eea;
        }

        .wishlist-btn--secondary:hover {
            background: #667eea;
            color: #fff;
        }

        .wishlist-btn--danger {
            background: #fff;
            color: #ef4444;
            border: 2px solid #fee2e2;
        }

        .wishlist-btn--danger:hover {
            background: #ef4444;
            color: #fff;
            border-color: #ef4444;
        }

        .wishlist-route-box {
            display: flex;
            justify-content: space-between;
            margin-top: 30px;
            padding-top: 30px;
            border-top: 2px solid #e2e8f0;
        }

        .wishlist-route-link {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 14px 28px;
            border-radius: 10px;
            font-weight: 600;
            text-decoration: none;
            transition: all 0.3s ease;
            font-size: 14px;
        }

        .wishlist-route-link--shop {
            background: linear-gradient(90deg, rgb(0, 31, 63), rgb(0, 64, 128), rgb(0, 102, 204));
            color: #fff;
        }

        .wishlist-route-link--shop:hover {
            transform: translateX(-5px);
            box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
        }

        .wishlist-route-link--clear {
            background: #fff;
            color: #ef4444;
            border: 2px solid #fee2e2;
        }

        .wishlist-route-link--clear:hover {
            background: #ef4444;
            color: #fff;
            border-color: #ef4444;
            transform: translateX(5px);
        }

        .wishlist-empty {
            text-align: center;
            padding: 60px 20px;
            color: #64748b;
        }

        .wishlist-empty i {
            font-size: 64px;
            margin-bottom: 20px;
            opacity: 0.3;
        }

        @media (max-width: 768px) {
            .wishlist-product__container {
                flex-direction: column;
            }

            .wishlist-product__wrap-1 {
                width: 100%;
                flex-direction: column;
                text-align: center;
            }

            .wishlist-product__wrap-2 {
                width: 100%;
                flex-direction: column;
            }

            .wishlist-btn {
                width: 100%;
            }

            .wishlist-route-box {
                flex-direction: column;
                gap: 15px;
            }

            .wishlist-route-link {
                width: 100%;
                justify-content: center;
            }

            .wishlist-section__content {
                padding: 20px;
            }

            .wishlist-breadcrumb {
                padding: 15px 20px;
            }
        }


        /* ================================
   ESTILOS EXCLUSIVOS DE STORES
================================ */

/* Hero Section */
.stores-hero {
    text-align: center;
    color: rgb(0, 0, 0);
}

.stores-hero h1 {
    font-size: 42px;
    margin-bottom: 15px;
    font-weight: 700;
}

.stores-hero p {
    font-size: 18px;
    opacity: 0.9;
    max-width: 600px;
    margin: 0 auto;
}

/* Main Content */
.stores-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 50px 30px;
}

.stores-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.stores-section-title {
    font-size: 28px;
    color: #0a3d62;
    font-weight: 600;
}

/* Stores Grid */
.stores-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.stores-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.3s;
    border: 2px solid transparent;
}

.stores-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 35px rgba(10, 61, 98, 0.2);
    border-color: #00496b;
}

.stores-banner {
    width: 100%;
    height: 220px;
    background: linear-gradient(135deg, #001058 0%, #000d7e 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    position: relative;
    overflow: hidden;
}
@keyframes stores-shimmer {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(-10%, -10%) rotate(180deg); }
}

.stores-logo {
    font-size: 64px;
    font-weight: bold;
    z-index: 1;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.stores-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.95);
    color: #0a3d62;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    z-index: 2;
}


/* Info */
.stores-info {
    padding: 25px;
}

.stores-name {
    font-size: 24px;
    font-weight: 700;
    color: #0a3d62;
    margin-bottom: 12px;
}

.stores-description {
    color: #666;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.stores-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.stores-detail {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #666;
    font-size: 14px;
}

.stores-detail svg {
    width: 18px;
    height: 18px;
    color: #1e5a7d;
}

/* Stats */
.stores-stats {
    display: flex;
    gap: 20px;
    padding-top: 15px;
    border-top: 1px solid #eee;
    margin-bottom: 20px;
}

.stores-stat {
    flex: 1;
    text-align: center;
}

.stores-stat-value {
    font-size: 20px;
    font-weight: 700;
    color: #0a3d62;
}

.stores-stat-label {
    font-size: 12px;
    color: #999;
    margin-top: 4px;
}

/* Button */
.stores-button {
    width: 100%;
    padding: 14px;
    background: linear-gradient(135deg, #0a3d62 0%, #1e5a7d 100%);
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s;
}

.stores-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(10, 61, 98, 0.3);
}

/* Responsive */
@media (max-width: 968px) {
    .stores-hero h1 {
        font-size: 32px;
    }

    .stores-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 640px) {
    .stores-grid {
        grid-template-columns: 1fr;
    }

    .stores-hero {
        padding: 40px 20px;
    }

    .stores-hero h1 {
        font-size: 28px;
    }

    .stores-hero p {
        font-size: 16px;
    }

    .stores-container {
        padding: 30px 15px;
    }

    .stores-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
}

.stores-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* ajusta la imagen sin deformarla */
    display: block;
}


    .user-account-section {
    padding-left: 20px;
    position: relative;
}

.user-account-dropdown {
    position: relative;
}

/* Botón integrado completo */
.user-dropdown-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 16px;
    background: #f8f8f8;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: inset 0 0 0 1px #e0e0e0;
}

.user-dropdown-btn:hover {
    background: #efefef;
    box-shadow: inset 0 0 0 1px #ccc;
}

.user-icon {
    font-size: 26px;
    color: #444;
    flex-shrink: 0;
}

.user-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 140px;
    line-height: 1.2;
}

.user-name {
    font-size: 13px;
    font-weight: 600;
    color: #222;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-email {
    font-size: 11px;
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Flecha integrada */
.dropdown-arrow {
    font-size: 11px;
    color: #666;
    margin-left: 5px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.user-account-dropdown.active .dropdown-arrow {
    transform: rotate(180deg);
}
/* Menú desplegable */
.user-dropdown-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    min-width: 240px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    overflow: hidden;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Para todos los menús desplegables */
.guest-dropdown-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Estilo para cada item del menú */
.user-dropdown-menu li {
    margin: 0;
    padding: 0;
}

/* Estilo para los enlaces dentro del menú */
.user-dropdown-menu li a {
    display: block;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    transition: background-color 0.2s ease;
    font-size: 14px;
}

/* Hover en los enlaces */
.user-dropdown-menu li a:hover {
    background-color: #f5f5f5;
}

/* Icono dentro del enlace */
.user-dropdown-menu li a i {
    margin-right: 10px;
    width: 16px;
    text-align: center;
    color: #666;
}

/* Línea divisoria */
.user-dropdown-menu li.divider {
    height: 1px;
    background-color: #e0e0e0;
    margin: 8px 0;
}

/* Estilo especial para el botón de Salir */
.user-dropdown-menu .logout-link {
    color: #dc3545;
}

.user-dropdown-menu .logout-link:hover {
    background-color: #fff5f5;
}

.user-dropdown-menu .logout-link i {
    color: #dc3545;
}

.user-account-dropdown.active .user-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.user-dropdown-list {
    list-style: none;
    padding: 8px 0;
}

.user-dropdown-list li {
    margin: 0;
}

.user-dropdown-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s ease;
}

.user-dropdown-list a:hover {
    background: #f8f8f8;
}

.user-dropdown-list a i {
    width: 18px;
    text-align: center;
    color: #666;
    font-size: 14px;
}

.divider {
    height: 1px;
    background: #e0e0e0;
    margin: 8px 0;
}

.logout-link {
    color: #d32f2f !important;
}

.logout-link i {
    color: #d32f2f !important;
}

@media (max-width: 768px) {
    .user-details {
        display: none;
    }
    .user-dropdown-btn {
        padding: 5px 12px;
    }
    .dropdown-arrow {
        margin-left: 0;
    }
       .user-account-section {
    border-left: none;
    padding-left: 0px!important;
    position: relative;
}
}
.guest-link{
    color: black;
}

/* Desktop: enlaces separados */
.guest-account {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: #f8f8f8;
    border-radius: 30px;
    box-shadow: inset 0 0 0 1px #e0e0e0;
    font-size: 14px;
}

.guest-account-dropdown {
    display: none; /* oculto en desktop */
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .guest-account {
        display: none; /* ocultamos los enlaces de desktop */
    }

    .guest-account-dropdown {
        display: flex;
        position: relative;
        align-items: center;
    }

    .guest-account-dropdown .user-dropdown-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 5px 12px;
        background: #f8f8f8;
        border: none;
        border-radius: 30px;
        cursor: pointer;
        box-shadow: inset 0 0 0 1px #e0e0e0;
        transition: all 0.3s ease;
    }

    .guest-account-dropdown .user-dropdown-btn:hover {
        background: #efefef;
        box-shadow: inset 0 0 0 1px #ccc;
    }

    .guest-dropdown-menu {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        background: white;
        border-radius: 12px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.15);
        min-width: 160px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: all 0.3s ease;
        z-index: 1000;
        overflow: hidden;
    }

    .guest-account-dropdown.active .guest-dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    

    .guest-dropdown-menu li a {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 16px;
        font-size: 14px;
        color: #333;
        text-decoration: none;
    }

    .guest-dropdown-menu li a:hover {
        background: #f8f8f8;
    }

    .guest-dropdown-menu li a i {
        width: 18px;
        text-align: center;
        color: #666;
    }
}


/*--------------------------------------------------------------
17.0 Blog-Pages
--------------------------------------------------------------*/
.blog-t-w {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.post-prev, .post-next {
  text-align: center;
  z-index: 1;
  cursor: pointer;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 35px;
  height: 35px;
  line-height: 35px;
  border-radius: 50%;
  color: #333333;
  background-color: #ffffff;
  box-shadow: 0 6px 15px 0 rgba(36, 37, 38, 0.08);
  margin: auto 0;
  opacity: 0;
  transition: opacity .6s ease-in; }

.post-prev {
  left: 20px; }

.post-next {
  right: 20px; }

.post-prev:before, .post-next:before {
  content: '';
  background: rgba(255, 255, 255, 0.3);
  width: 35px;
  height: 35px;
  position: absolute;
  left: 0;
  top: 0;
  transition: all .3s;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); }

.post-prev:hover:before, .post-next:hover:before {
  -webkit-transform: scale(1.6);
          transform: scale(1.6);
  opacity: .6; }

.post-gallery:hover .post-prev, .post-gallery:hover .post-next {
  opacity: 1; }

.post-video-block {
  position: relative;
  background-color: #f5f5f5;
  width: 100%; }

.post-video-link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 7;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }

.post-video-link:before {
  width: 3.875rem;
  height: 3.875rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1.9375rem;
  margin-left: -1.9375rem;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
  z-index: 3; }

.post-video-link:hover:before {
  box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.3);
  -webkit-transform: scale(0.9);
          transform: scale(0.9); }

.post-video-block .post-video-link:before {
  content: '';
  background: url(../video/video-play.png) no-repeat 0 0;
  background-size: contain; }

.post-video-block.process .post-video-link:before {
  content: none; }

.post-video-block.process.pause .post-video-link:before {
  content: '';
  background: url(../video/video-pause.png) no-repeat; }

.post-center-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center; }

.aspect--1366-768 {
  padding-bottom: 56.22255%; }

.bp {
  border-radius: 6px;
  background-color: #ffffff;
  box-shadow: 1px 1px 8px 0 rgba(36, 37, 38, 0.08); }
  .bp__wrap {
    padding: 25px; }
  .bp__thumbnail {
    margin-bottom: 12px; }
  .bp__stat {
    margin-bottom: 6px; }
    .bp__stat .bp__stat-wrap {
      margin-right: 22px; }
      .bp__stat .bp__stat-wrap:last-child {
        margin-right: 0; }
  .bp__publish-date > a {
    font-size: 12px;
    font-weight: 600;
    color: #a0a0a0; }
  .bp__author > a {
    font-size: 12px;
    text-decoration: overline;
    font-weight: 600;
    color: #001232; }
  .bp__comment > a {
    color: #7f7f7f;
    font-weight: 600;
    font-size: 12px; }
  .bp__category > a {
    color: #a0a0a0;
    font-weight: 600;
    transition: color 110ms ease-in-out;
    font-size: 12px;
    margin-right: 2px; }
    .bp__category > a:last-child {
      margin-right: 0; }
    .bp__category > a:hover {
      color: #001232; }
  .bp__h1 {
    display: block;
    margin-bottom: 6px; }
    .bp__h1 > a {
      font-size: 20px;
      font-weight: 600;
      color: #333333; }
  .bp__h2 {
    display: block;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 400;
    color: #a0a0a0; }
  .bp__p {
    margin-bottom: 12px;
    font-size: 13px;
    color: #7f7f7f; }
  .bp__read-more {
    display: block;
    margin-bottom: 6px; }
    .bp__read-more > a {
      font-size: 14px;
      font-weight: 700;
      color: #001232; }
  .bp__social-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .bp__social-list > li {
      margin-right: 16px; }
      .bp__social-list > li:last-child {
        margin-right: 0; }
      .bp__social-list > li > a {
        font-size: 14px; }

.bp--img .bp__thumbnail {
  overflow: hidden; }
  .bp--img .bp__thumbnail img {
    transition: -webkit-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
    -webkit-transform: scale(1);
            transform: scale(1); }

.bp--img:hover .bp__thumbnail {
  overflow: hidden; }
  .bp--img:hover .bp__thumbnail img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }

.bp audio, .bp video, .bp-mini audio, .bp-mini video, .bp-detail audio, .bp-detail video {
  display: block;
  width: 100%; }

.blog-m__element {
  width: 33.33%;
  padding: 20px 10px; }

.bp-mini {
  background-color: #ffffff;
  box-shadow: 2px 2px 8px 0 rgba(36, 37, 38, 0.08);
  overflow: hidden;
  border-radius: 15px; }
  .bp-mini__content {
    padding: 4px 20px 10px; }
  .bp-mini__stat {
    margin-bottom: 2px; }
    .bp-mini__stat .bp-mini__stat-wrap {
      margin-right: 22px; }
      .bp-mini__stat .bp-mini__stat-wrap:last-child {
        margin-right: 0; }
  .bp-mini__publish-date > a {
    font-size: 11px;
    font-weight: 600;
    color: #7f7f7f; }
  .bp-mini__preposition {
    color: #7f7f7f;
    font-size: 12px; }
  .bp-mini__author > a {
    color: #001232;
    font-size: 12px; }
  .bp-mini__comment > a {
    color: #7f7f7f;
    font-size: 12px; }
  .bp-mini__category {
    margin-bottom: 4px; }
    .bp-mini__category > a {
      color: #7f7f7f;
      font-weight: 600;
      transition: color 110ms ease-in-out;
      font-size: 11px;
      margin-right: 2px; }
      .bp-mini__category > a:last-child {
        margin-right: 0; }
      .bp-mini__category > a:hover {
        color: #001232; }
    .bp-mini__category > a:last-child:after {
      content: none; }
  .bp-mini__h1 {
    display: block;
    margin-bottom: 4px; }
    .bp-mini__h1 > a {
      transition: color 110ms ease-in-out;
      font-size: 14px;
      font-weight: 600;
      color: #333333; }
      .bp-mini__h1 > a:hover {
        color: #001232; }
  .bp-mini__p {
    margin-bottom: 8px;
    font-size: 12px;
    color: #7f7f7f; }

.bp-mini--img .bp-mini__thumbnail {
  overflow: hidden; }
  .bp-mini--img .bp-mini__thumbnail img {
    transition: -webkit-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
    -webkit-transform: scale(1);
            transform: scale(1); }

.bp-mini--img:hover .bp-mini__thumbnail {
  overflow: hidden; }
  .bp-mini--img:hover .bp-mini__thumbnail img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }

.detail-post {
  max-width: 740px;
  padding: 0 15px;
  width: 100%;
  margin: 0 auto; }

.bp-detail {
  position: relative; }
  .bp-detail__thumbnail {
    margin-bottom: 12px; }
  .bp-detail__stat {
    margin-bottom: 6px; }
    .bp-detail__stat .bp-detail__stat-wrap {
      margin-right: 22px; }
      .bp-detail__stat .bp-detail__stat-wrap:last-child {
        margin-right: 0; }
  .bp-detail__publish-date > a {
    font-size: 12px;
    font-weight: 600;
    color: #a0a0a0; }
  .bp-detail__author > a {
    font-size: 12px;
    text-decoration: overline;
    font-weight: 600;
    color: #001232; }
  .bp-detail__category > a {
    color: #a0a0a0;
    font-weight: 600;
    transition: color 110ms ease-in-out;
    font-size: 12px;
    margin-right: 2px; }
    .bp-detail__category > a:last-child {
      margin-right: 0; }
    .bp-detail__category > a:hover {
      color: #001232; }
  .bp-detail__h1 {
    display: block;
    margin-bottom: 6px; }
    .bp-detail__h1 > a {
      font-size: 20px;
      font-weight: 600;
      color: #333333; }
  .bp-detail__p {
    margin-bottom: 16px;
    color: #333333;
    font-size: 18px;
    line-height: 2; }
    .bp-detail__p a {
      font-weight: 700;
      color: #001232;
      transition: all .3s; }
      .bp-detail__p a:hover {
        color: #7f7f7f;
        text-decoration: underline; }

.bp-detail__q {
  width: 100%;
  text-align: center;
  padding: 3rem;
  margin: 0 0 1rem;
  background-color: #ffffff;
  border-radius: 6px;
  border: 2px solid #001232; }
  .bp-detail__q i {
    font-size: 2.125rem;
    color: #333333;
    margin-bottom: 8px; }

.bp-detail__q-title {
  display: block;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333333; }

.bp-detail__q-citation {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #7f7f7f; }

.bp-detail__social-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .bp-detail__social-list > li {
    margin-right: 16px; }
    .bp-detail__social-list > li:last-child {
      margin-right: 0; }
    .bp-detail__social-list > li > a {
      font-size: 1.125rem; }

.bp-detail__postnp {
  margin: 1.375rem 0; }
  .bp-detail__postnp a {
    font-size: 13px;
    border-bottom: 1px solid #333333;
    font-weight: 600;
    color: #333333;
    transition: color 110ms ease-in-out,border-color 110ms ease-in-out; }
    .bp-detail__postnp a:hover {
      color: #001232;
      border-color: #001232; }

.blog-w__h {
  display: block;
  vertical-align: middle;
  font-size: 16px;
  color: #333333;
  letter-spacing: 0.03em;
  font-weight: 600;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f7f7f7; }

.blog-w__list {
  margin: 0;
  padding: 0;
  list-style: none; }
  .blog-w__list > li {
    margin-bottom: 12px; }
    .blog-w__list > li:last-child {
      margin-bottom: 0; }
    .blog-w__list > li > a {
      font-size: 12px;
      font-weight: 600;
      color: #7f7f7f; }
      .blog-w__list > li > a:hover {
        color: #333333; }

.blog-search-form {
  position: relative;
  width: 100%; }
  .blog-search-form .input-text {
    width: 100%;
    border-radius: 6px; }
  .blog-search-form .btn {
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    font-size: 18px; }

.blog-w__b-l {
  margin: 0;
  padding: 0;
  list-style: none; }
  .blog-w__b-l > li {
    margin-bottom: 30px; }
    .blog-w__b-l > li:last-child {
      margin-bottom: 0; }

.blog-w__b-l-2 {
  margin: 0;
  padding: 0;
  list-style: none; }
  .blog-w__b-l-2 > li {
    margin-bottom: 8px; }
    .blog-w__b-l-2 > li:last-child {
      margin-bottom: 0; }

.b-l__date {
  font-size: 10px;
  color: #a0a0a0;
  display: block;
  margin-bottom: 6px; }

.b-l__text {
  font-size: 12px;
  color: #7f7f7f; }

.b-l__h {
  display: block;
  margin-bottom: 6px; }
  .b-l__h > a {
    font-size: 12px;
    transition: color 110ms ease-in-out;
    color: #333333;
    font-weight: 600; }
    .b-l__h > a:hover {
      color: #001232; }

.b-l__h-2 > a {
  font-size: 12px;
  transition: color 110ms ease-in-out;
  color: #333333;
  font-weight: 600; }
  .b-l__h-2 > a:hover {
    color: #001232; }

.b-l__p {
  display: block;
  font-size: 12px;
  color: #7f7f7f; }

.blog-pg {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .blog-pg > li {
    margin-right: 14px; }
    .blog-pg > li:last-child {
      margin-right: 0; }
    .blog-pg > li > a {
      width: 42px;
      text-align: center;
      height: 42px;
      line-height: 42px;
      font-size: 12px;
      display: block;
      font-weight: 600;
      border-radius: 50%;
      background-color: transparent;
      color: #333333; }

.blog-pg > li > a:hover {
  background-color: #001232;
  color: #ffffff; }

.blog-pg > li.blog-pg--active > a {
  background-color: #001232;
  color: #ffffff;
  border-color: #001232; }

.d-meta__text {
  display: block;
  color: #333333;
  font-size: 32px;
  font-weight: 700; }

.d-meta__text-2 {
  display: block;
  color: #333333;
  font-size: 18px;
  font-weight: 600; }

.d-meta__text-3 {
  display: block;
  color: #7f7f7f;
  font-size: 12px; }

.d-meta__comments ol {
  margin: 0;
  padding: 0;
  list-style: none; }

.d-meta__comments .comment-children {
  padding-left: 1rem; }

.d-meta__p-comment {
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1.5rem; }

.p-comment__wrap1 {
  margin-right: 20px; }

.p-comment__img-wrap {
  width: 80px;
  height: 80px;
  background-color: #f5f5f5; }

.p-comment__author {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 600;
  color: #333333; }

.p-comment__timestamp {
  display: block;
  margin-bottom: 2px; }
  .p-comment__timestamp a {
    font-size: 12px;
    font-weight: 600;
    color: #7f7f7f;
    transition: color 110ms ease-in-out; }
    .p-comment__timestamp a:hover {
      color: #001232; }

.p-comment__paragraph {
  color: #7f7f7f;
  font-size: 13px;
  margin-bottom: 8px;
  width: 100%;
  max-width: 470px; }

.p-comment__reply {
  font-size: 13px;
  font-weight: 600;
  color: #001232;
  border-bottom: 0; }
  .p-comment__reply:hover {
    border-bottom: 1px solid #001232; }

.respond__form {
  width: 100%; }
  .respond__form .btn, .respond__form .input-text, .respond__form .text-area {
    border-radius: 6px; }
  .respond__form .input-text, .respond__form .text-area {
    width: 100%; }
  .respond__form .text-area {
    height: 15.625rem; }
  .respond__form .btn {
    font-weight: 600;
    padding: 16px 46px; }

.respond__group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .respond__group div {
    -ms-flex: 1;
        flex: 1;
    margin-right: 14px; }
    .respond__group div:last-child {
      margin-right: 0; }

@media (max-width: 991px) {
  .blog-m__element {
    width: 50%; }
  .respond__group {
    display: block; }
    .respond__group div {
      display: block;
      margin-right: 0; } }

@media (max-width: 767px) {
  .blog-m__element {
    width: 100%; } }

/*--------------------------------------------------------------
18.0 Product-Detail-Pages
--------------------------------------------------------------*/  /* Breadcrumb mejorado */

.pd-breadcrumb__list {
  list-style: none;
  padding: 0;
  margin: 0;
  word-wrap: break-word; }
  .pd-breadcrumb__list > li {
    display: inline-block; }
    .pd-breadcrumb__list > li > a {
      color: #a0a0a0;
      font-size: 12px;
      transition: color 0.5s; }
      .pd-breadcrumb__list > li > a:hover {
        color: #333333; }
    .pd-breadcrumb__list > li.is-marked > a {
      color: #333333;
      font-weight: 700; }
    .pd-breadcrumb__list > li.has-separator:after {
      content: '-';
      margin: 0 6px; }
      

.pd {
  cursor: pointer; }

.pd-wrap {
  position: relative; }

.pd-text {
  position: absolute;
  top: 15px;
  padding: 8px;
  right: 15px;
  font-size: 12px;
  color: #333333; }

.pd-social-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .pd-social-list > li {
    margin-right: 16px; }
    .pd-social-list > li:last-child {
      margin-right: 0; }
    .pd-social-list > li > a {
      font-size: 1.125rem;
      transition: color 110ms ease-in-out;
      color: #333333; }

.pd-detail__label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #333333; }

.pd-detail__inline span {
  margin-right: 0.375rem; }
  .pd-detail__inline span:last-child {
    margin-right: 0; }

.pd-detail-inline-2 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: center;
      align-items: center; }
  .pd-detail-inline-2 div {
    margin-right: 14px; }
    .pd-detail-inline-2 div:last-child {
      margin-right: 0; }

.pd-detail__name {
  display: block;
  color: #333333;
  font-size: 16px;
  font-weight: 600; }

.pd-detail__price {
  color: #001232;
  font-size: 2rem;
  font-weight: 700; }

.pd-detail__discount {
  color: #001232;
  font-size: 14px;
  font-weight: 600;
  transition: color 0.5s; }

.pd-detail__del {
  color: #a0a0a0;
  font-size: 12px; }

.pd-detail__rating {
  display: block; }
  .pd-detail__rating i {
    font-size: 12px; }

.pd-detail__review > a {
  font-size: 12px;
  transition: color 110ms ease-in-out;
  color: #333333; }
  .pd-detail__review > a:hover {
    color: #001232;
    text-decoration: underline; }

.pd-detail__stock, .pd-detail__left {
  font-size: 12px;
  font-weight: 600;
  padding: 8px;
  display: inline-block;
  border-radius: 30px; }

.pd-detail__stock {
  background-color: rgba(0, 148, 68, 0.14);
  color: #009444; }

.pd-detail__left {
  background-color: rgba(255, 69, 0, 0.14);
  color: #001232; }

.pd-detail__preview-desc {
  font-size: 13px;
  color: #7f7f7f; }

.pd-detail__click-wrap > a {
  font-size: 13px;
  color: #a0a0a0;
  transition: color 110ms ease-in-out; }
  .pd-detail__click-wrap > a:hover {
    color: #b6b6b6;
    text-decoration: underline; }

.pd-detail__click-count {
  font-size: 10px;
  color: #a0a0a0; }

.pd-detail__form {
  width: 100%; }
  .pd-detail__form .btn {
    padding: 1rem 3rem;
    border-radius: 0.375rem; }

/**
  * Variations
 */
.pd-detail__color, .pd-detail__size {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }


        .breadcrumb {
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(10px);
            padding: 15px 25px;
            border-radius: 50px;
            margin-bottom: 30px;
            display: inline-flex;
            align-items: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        .breadcrumb a {
            color: #666;
            text-decoration: none;
            transition: all 0.3s;
            font-size: 14px;
        }

        .breadcrumb a:hover {
            color: #001232;
            transform: translateY(-2px);
        }

        .breadcrumb span {
            margin: 0 10px;
            color: #999;
        }

        .breadcrumb .active {
            color: #001232;
            font-weight: 600;
        }

        /* Producto principal */
        .product-section {
            background: white;
            border-radius: 30px;
            padding: 40px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            margin-bottom: 40px;
        }

        /* Galería de imágenes */
        .image-gallery {
            position: relative;
        }

        .main-image {
            width: 100%;
            height: 500px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border-radius: 20px;
            overflow: hidden;
            position: relative;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .main-image i {
            font-size: 120px;
            color: rgba(255, 255, 255, 0.3);
        }

        .zoom-indicator {
            position: absolute;
            top: 20px;
            right: 20px;
            background: rgba(255, 255, 255, 0.9);
            padding: 10px 20px;
            border-radius: 50px;
            font-size: 12px;
            font-weight: 600;
            color: #667eea;
        }

        .thumbnails {
            display: flex;
            gap: 15px;
            margin-top: 20px;
            overflow-x: auto;
        }

        .thumbnail {
            width: 80px;
            height: 80px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border-radius: 15px;
            cursor: pointer;
            transition: all 0.3s;
            flex-shrink: 0;
            border: 3px solid transparent;
        }

        .thumbnail:hover {
            transform: translateY(-5px);
            border-color: #667eea;
            box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4);
        }

        /* Detalles del producto */
        .product-details {
            display: flex;
            flex-direction: column;
            gap: 25px;
        }

        .product-title {
            font-size: 32px;
            font-weight: 700;
            color: #001232;
            line-height: 1.2;
        }

        .rating-section {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .stars {
            color: #ffc107;
            font-size: 18px;
        }

        .reviews-link {
            color: #667eea;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s;
        }

        .reviews-link:hover {
            color: #764ba2;
            text-decoration: underline;
        }

        .price-section {
            display: flex;
            align-items: center;
            gap: 15px;
            flex-wrap: wrap;
        }

        .current-price {
            font-size: 48px;
            font-weight: 800;
            color: #001232;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .discount-badge {
            background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            color: white;
            padding: 8px 16px;
            border-radius: 50px;
            font-weight: 700;
            font-size: 14px;
        }

        .original-price {
            text-decoration: line-through;
            color: #999;
            font-size: 20px;
        }

        .stock-info {
            display: flex;
            gap: 15px;
        }

        .badge {
            padding: 10px 20px;
            border-radius: 50px;
            font-weight: 600;
            font-size: 13px;
        }

        .in-stock {
            background: rgba(0, 148, 68, 0.1);
            color: #009444;
        }

        .limited {
            background: rgba(255, 69, 0, 0.1);
            color: #ff4500;
        }

        .description {
            color: #666;
            line-height: 1.8;
            font-size: 15px;
        }

        /* Opciones de variación */
        .options-section {
            padding: 25px;
            background: #f8f9fa;
            border-radius: 20px;
        }

        .option-title {
            font-weight: 700;
            margin-bottom: 15px;
            color: #001232;
        }

        .color-options {
            display: flex;
            gap: 12px;
            margin-bottom: 25px;
        }

        .color-option {
            width: 25px;
            height: 25px;
            border-radius: 50%;
            cursor: pointer;
            border: 3px solid transparent;
            transition: all 0.3s;
            position: relative;
        }

        .color-option:hover {
            transform: scale(1.1);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        }

        .color-option.selected {
            border-color: #001232;
            box-shadow: 0 0 0 4px rgba(0, 18, 50, 0.1);
        }

        .size-options {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
        }

        .size-option {
            padding: 12px 24px;
            border: 2px solid #ddd;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.3s;
            font-weight: 600;
            background: white;
        }

        .size-option:hover {
            border-color: #667eea;
            transform: translateY(-2px);
        }

        .size-option.selected {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border-color: transparent;
        }

        /* Cantidad y compra */
        .purchase-section {
            display: flex;
            gap: 15px;
            align-items: center;
            flex-wrap: wrap;
        }

        .quantity-selector {
            display: flex;
            align-items: center;
            background: #f8f9fa;
            border-radius: 12px;
            overflow: hidden;
        }

        .quantity-selector button {
            width: 45px;
            height: 50px;
            border: none;
            background: transparent;
            cursor: pointer;
            font-size: 18px;
            color: #667eea;
            transition: all 0.3s;
        }

        .quantity-selector button:hover {
            background: #667eea;
            color: white;
        }

        .quantity-selector input {
            width: 60px;
            height: 50px;
            border: none;
            text-align: center;
            font-weight: 700;
            font-size: 16px;
            background: transparent;
        }

        .add-to-cart {
            flex: 1;
            min-width: 200px;
            padding: 16px 40px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border: none;
            border-radius: 12px;
            font-weight: 700;
            font-size: 16px;
            cursor: pointer;
            transition: all 0.3s;
            box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4);
        }

        .add-to-cart:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(102, 126, 234, 0.5);
        }

        /* Acciones adicionales */
        .actions {
            display: flex;
            gap: 20px;
            flex-wrap: wrap;
        }

        .action-link {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #666;
            text-decoration: none;
            font-size: 14px;
            transition: all 0.3s;
        }

        .action-link:hover {
            color: #667eea;
        }

        .action-link i {
            font-size: 16px;
        }

        /* Tabs */
        .tabs-section {
            background: white;
            border-radius: 30px;
            padding: 40px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
            margin-bottom: 40px;
        }

        .tabs {
            display: flex;
            gap: 30px;
            border-bottom: 2px solid #eee;
            margin-bottom: 30px;
        }

        .tab {
            padding: 15px 0;
            cursor: pointer;
            font-weight: 700;
            color: #666;
            transition: all 0.3s;
            border-bottom: 3px solid transparent;
            margin-bottom: -2px;
        }

        .tab:hover {
            color: #001232;
        }

        .tab.active {
            color: #001232;
            border-bottom-color: #667eea;
        }

        .tab-content {
            display: none;
        }

        .tab-content.active {
            display: block;
            animation: fadeIn 0.5s;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Reviews */
        .review-card {
            padding: 25px;
            background: #f8f9fa;
            border-radius: 15px;
            margin-bottom: 20px;
        }

        .review-header {
            display: flex;
            justify-content: space-between;
            margin-bottom: 10px;
        }

        .reviewer-name {
            font-weight: 700;
            color: #001232;
        }

        .review-date {
            color: #999;
            font-size: 13px;
        }

        /* Productos relacionados */
        .related-products {
            background: white;
            border-radius: 30px;
            padding: 40px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
        }

        .section-title {
            font-size: 28px;
            font-weight: 700;
            color: #001232;
            margin-bottom: 30px;
            text-align: center;
        }

        .products-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 30px;
        }

        .product-card {
            background: #f8f9fa;
            border-radius: 20px;
            padding: 20px;
            transition: all 0.3s;
            cursor: pointer;
        }

        .product-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
        }

        .product-image {
            width: 100%;
            height: 200px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border-radius: 15px;
            margin-bottom: 15px;
        }

        .product-name {
            font-weight: 600;
            color: #001232;
            margin-bottom: 10px;
        }

        .product-price {
            font-size: 20px;
            font-weight: 700;
            color: #667eea;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .product-section {
                grid-template-columns: 1fr;
                gap: 30px;
            }

            .main-image {
                height: 400px;
            }
        }

        @media (max-width: 768px) {
            .product-title {
                font-size: 24px;
            }

            .current-price {
                font-size: 36px;
            }

            .purchase-section {
                flex-direction: column;
            }

            .add-to-cart {
                width: 100%;
            }
        }/* ============================================
   ZOOM CONDICIONAL - SOLO DESKTOP
   ============================================ */

/* Ocultar el texto de zoom y el cuadro en móviles */
@media (max-width: 992px) {
    /* Ocultar texto "Click for larger zoom" */
    .pd-text {
        display: none !important;
    }
    
    /* Ocultar contenedor de zoom */
    .zoomContainer {
        display: none !important;
    }
    
    /* Ocultar lente de zoom */
    .zoomLens {
        display: none !important;
    }
    
    /* Ocultar ventana de zoom */
    .zoomWindow {
        display: none !important;
    }
    
    /* Hacer que la imagen sea normal en móviles */
    .pd-o-img-wrap img {
        cursor: default !important;
    }
}

/* En desktop mantener todo normal */
@media (min-width: 993px) {
    /* Zoom funciona normalmente */
    .pd-text {
        display: block;
    }
}
/* ============================================
   FIX: CONTENIDO DE TABS QUE SE SALE
   ============================================ */

/* Contenedor de tabs con overflow controlado */
.tabs-section {
    background: white;
    border-radius: 30px;
    padding: 40px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    margin-bottom: 40px;
    overflow: hidden; /* IMPORTANTE: Evita que se salga */
}

/* Contenido del tab con límite de ancho */
.tab-content {
    display: none;
    animation: fadeIn 0.4s ease;
    max-width: 100%; /* No exceder el contenedor */
    overflow-x: auto; /* Scroll horizontal si es necesario */
    word-wrap: break-word; /* Romper palabras largas */
}

.tab-content.active {
    display: block;
}

/* Párrafos con word-wrap */
.tab-content p {
    color: #666;
    line-height: 1.8;
    font-size: 15px;
    margin-bottom: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}

/* Lista con checkmarks */
.tab-content ul {
    list-style: none;
    padding-left: 0;
    margin-top: 25px;
    max-width: 100%;
}

.tab-content ul li {
    padding: 8px 0;
    color: #666;
    font-size: 15px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    word-wrap: break-word;
}

.tab-content ul li:before {
    content: "✓";
    color: #009444;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Tabla responsive */
.tab-content table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.tab-content table tbody,
.tab-content table tr,
.tab-content table td {
    width: 100%;
}

.tab-content table tr {
    border-bottom: 1px solid #e8e8e8;
}

.tab-content table td {
    padding: 18px 15px;
    word-wrap: break-word;
    max-width: 300px; /* Limitar ancho de celda */
}

.tab-content table td:first-child {
    font-weight: 700;
    color: #333;
    width: 200px;
    min-width: 150px;
}

.tab-content table td:last-child {
    color: #666;
}

/* Reviews cards ajustadas */
.review-card {
    padding: 25px;
    background: #f8f9fa;
    border-radius: 15px;
    margin-bottom: 20px;
    border: 1px solid #e8e8e8;
    max-width: 100%;
    overflow: hidden;
}

.review-card p {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Responsive para móviles */
@media (max-width: 768px) {
    .tabs-section {
        padding: 25px 20px;
        border-radius: 20px;
    }
    
    .tab {
        padding: 12px 20px;
        font-size: 13px;
    }
    
    .tab-content {
        font-size: 14px;
    }
    
    .tab-content table {
        font-size: 13px;
    }
    
    .tab-content table td {
        padding: 12px 10px;
    }
    
    .tab-content table td:first-child {
        width: 120px;
        min-width: 100px;
    }
}

@media (max-width: 480px) {
    .tabs-section {
        padding: 20px 15px;
    }
    
    .tabs {
        gap: 5px;
    }
    
    .tab {
        padding: 10px 15px;
        font-size: 12px;
    }
    
    /* Hacer tabla apilable en móviles */
    .tab-content table {
        display: block;
    }
    
    .tab-content table tr {
        display: flex;
        flex-direction: row;
        margin-bottom: 15px;
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        padding: 10px;
    }
    
    .tab-content table td {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        padding: 8px 0;
        border: none !important;
    }
    
    .tab-content table td:first-child {
        font-weight: 700;
        color: #333;
        border-bottom: 1px solid #e8e8e8 !important;
        padding-bottom: 5px;
        margin-bottom: 5px;
    }
}

/* ============================================
   TABLA DE ESPECIFICACIONES - SIEMPRE 2 COLUMNAS
   ============================================ */

/* Tabla base */
.specs-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px;
    overflow: hidden;
}

/* Filas alternas - Zebra pattern */
.specs-table tr:nth-child(odd) {
    background-color: #e8e8e8; /* Gris */
}

.specs-table tr:nth-child(even) {
    background-color: #ffffff; /* Blanco */
}

/* Hover effect */
.specs-table tr:hover {
    background-color: #d8d8d8;
}

/* Celdas */
.specs-table td {
    padding: 18px 20px;
    border: none;
}

/* Primera columna (Labels) */
.specs-table td:first-child {
    font-weight: 600;
    color: #333;
    font-size: 15px;
    width: 40%;
}

/* Segunda columna (Valores) */
.specs-table td:last-child {
    color: #666;
    font-size: 15px;
    width: 60%;
}

/* ============================================
   RESPONSIVE - MANTENER 2 COLUMNAS
   ============================================ */

/* Tablet */
@media (max-width: 992px) {
    .specs-table td {
        padding: 15px 18px;
        font-size: 14px;
    }
}

/* Móvil */
@media (max-width: 768px) {
    .specs-table td {
        padding: 12px 15px;
        font-size: 13px;
    }
    
    .specs-table td:first-child {
        width: 45%; /* Más espacio para el label */
        font-size: 13px;
    }
    
    .specs-table td:last-child {
        width: 55%;
        font-size: 13px;
    }
}

/* Móvil pequeño - MÁS COMPACTO pero SIEMPRE 2 COLUMNAS */
@media (max-width: 480px) {
    .specs-table td {
        padding: 10px 12px;
        font-size: 12px;
    }
    
    .specs-table td:first-child {
        width: 45%;
        font-size: 12px;
    }
    
    .specs-table td:last-child {
        width: 55%;
        font-size: 12px;
    }
}
/*--------------------------------------------------------------
19.0 Shop-Pages
--------------------------------------------------------------*/
.shop-w-master__heading {
  font-size: 18px;
  color: #333333;
  font-weight: 700;
  line-height: 20px; }

.sidebar--bg-snow {
  background-color: #f9f9f9; }

.shop-w--style {
  border: 1px solid #f1f1f1;
  background-color: #ffffff;
  box-shadow: 0 6px 15px 0 rgba(36, 37, 38, 0.08); }

.shop-w__intro-wrap {
  position: relative; }

.shop-w__h {
  font-size: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid #efefef;
  color: #333333;
  font-weight: 700;
  line-height: 20px; }

.shop-w__wrap {
  padding: 14px; }

.shop-w__toggle.collapsed:before {
  content: "\F067"; }

.shop-w__toggle {
  position: absolute;
  top: 50%;
  padding: 8px 12px;
  background-color: transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 10px;
  font-size: 12px;
  cursor: pointer;
  color: #444; }

.shop-w ul {
  margin: 0;
  padding-left: 0;
  list-style: none; }

.shop-w__list {
  overflow: auto;
  max-height: 290px; }
  .shop-w__list > li {
    position: relative;
    padding: 8px 16px; }

.shop-w__list-2 {
  overflow: auto;
  max-height: 290px; }
  .shop-w__list-2 > li {
    padding: 0.25rem 0;
    position: relative; }

.list__content {
  position: relative; }
  .list__content [type="checkbox"] {
    position: absolute;
    left: 0;
    top: 0;
    min-width: 16px;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
    cursor: pointer; }
  .list__content span {
    padding: 8px 16px;
    display: block;
    font-size: 14px;
    transition: background-color 110ms ease-in-out,color 110ms ease-in-out;
    color: #7f7f7f; }

.list__content:hover span {
  color: #333333;
  background-color: #ececec;
  border-radius: .5rem; }

.list__content input:checked + span {
  background-color: #ececec;
  color: #333333;
  border-radius: .5rem; }

.shop-w__total-text {
  font-size: 11px;
  position: absolute;
  cursor: pointer;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #333333;
  right: 13px; }

.shop-w__category-list {
  overflow: auto;
  max-height: 290px; }
  .shop-w__category-list > li {
    padding: 4px 14px; }
    .shop-w__category-list > li > a {
      font-size: 14px;
      color: #333333;
      transition: color 110ms ease-in-out; }
      .shop-w__category-list > li > a:hover {
        color: #001232; }
    .shop-w__category-list > li ul .has-list > a {
      font-size: 13px;
      font-weight: 700;
      color: #333333; }
    .shop-w__category-list > li ul {
      display: none;
      padding-left: 8px; }
      .shop-w__category-list > li ul li a {
        font-size: 13px;
        color: #7f7f7f;
        transition: color 110ms ease-in-out; }
        .shop-w__category-list > li ul li a:hover {
          color: #001232; }

.has-list {
  position: relative; }

.category-list__text {
  font-size: 10px;
  color: #a0a0a0; }

.js-shop-category-span {
  cursor: pointer;
  font-size: 13px;
  color: #444;
  transition: color 110ms ease-in-out; }
  .js-shop-category-span:hover {
    color: #000000; }

.js-shop-category-span.is-expanded:before {
  content: '\f068'; }

.shop-w__form-p-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 8px 0; }
  .shop-w__form-p-wrap div {
    margin-right: 8px;
    margin-bottom: 12px; }
    .shop-w__form-p-wrap div:last-child {
      margin-right: 0; }
  .shop-w__form-p-wrap .input-text, .shop-w__form-p-wrap .btn {
    height: 40px;
    padding: 8px;
    border-radius: 2px; }
  .shop-w__form-p-wrap .input-text {
    width: 80px; }
  .shop-w__form-p-wrap .btn {
    width: 40px; }

.color__check {
  position: relative;
  line-height: 1.89;
  margin-right: 36px;
  display: inline-block; }

.color__check [type="checkbox"] {
  position: absolute;
  left: 0;
  top: 0;
  min-width: 30px;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  cursor: pointer; }

.color__check-label {
  position: initial;
  display: inline-block; }

.color__check-label:before, .color__check-label:after {
  content: '';
  width: 30px;
  height: 30px;
  display: block;
  border: 2px solid transparent;
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0; }

.color__check-label:after {
  -webkit-transform: scale(0.6);
          transform: scale(0.6);
  background-color: inherit; }

.color__check input:checked + label:before {
  border-color: #d2d2d2; }

.rating__check {
  position: relative;
  cursor: pointer; }
  .rating__check [type="checkbox"] {
    position: absolute;
    left: 0;
    top: 0;
    min-width: 16px;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
    cursor: pointer; }

.rating__check-star-wrap > i {
  margin-left: 2px;
  color: #001232;
  transition: color .4s ease-in-out; }
  .rating__check-star-wrap > i:first-child {
    margin-left: 0; }

.rating__check-star-wrap span {
  font-size: 12px;
  color: #333333;
  margin-right: 2px; }

.rating__check:hover .rating__check-star-wrap > i {
  color: #ff9600; }

.rating__check input:checked + .rating__check-star-wrap > i {
  color: #ff9600; }

.shop-p__meta-wrap {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
  padding: 20px;
  border-radius: 0.625rem; }

.shop-p__meta-text-1 {
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
  font-weight: 700;
  color: #333333; }

.shop-p__meta-text-2 {
  font-size: 14px;
  font-weight: 700;
  color: #7f7f7f; }

.shop-p__tool-style {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.tool-style__group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .tool-style__group span {
    position: relative;
    display: inline-block;
    height: 40px;
    cursor: pointer;
    border: 2px solid #e5e5e5;
    font-size: 13px;
    padding: 8px 18px;
    font-weight: 700;
    color: #333333; }
    .tool-style__group span:hover {
      background-color: rgba(255, 69, 0, 0.12);
      color: #001232;
      border-color: #001232;
      z-index: 2; }
  .tool-style__group span:not(:last-child) {
    margin-right: -2px; }
  .tool-style__group span.is-active {
    background-color: rgba(255, 69, 0, 0.12);
    color: #001232;
    border-color: #001232;
    z-index: 2; }

.tool-style__form-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .tool-style__form-wrap div + div {
    margin-left: 15px; }
  .tool-style__form-wrap select {
    border-radius: .25rem; }

.is-grid-active .product-m {
  position: relative;
  margin-bottom: 30px;
  transition: 0.3s; }
  .is-grid-active .product-m__thumb {
    position: relative; }
  .is-grid-active .product-m__add-cart {
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s; }
    .is-grid-active .product-m__add-cart > a {
      padding: 12px;
      border-radius: 0.125rem;
      font-size: 13px;
      width: 100%;
      text-align: center;
      display: block; }
  .is-grid-active .product-m__quick-look {
    position: absolute;
    top: 8px;
    right: 22px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s; }
    .is-grid-active .product-m__quick-look > a {
      font-size: 16px;
      color: #001232;
      transition: color 110ms ease-in-out; }
      .is-grid-active .product-m__quick-look > a:hover {
        color: #a0a0a0; }
  .is-grid-active .product-m__content {
    padding: 4px 16px 6px; }
  .is-grid-active .product-m__category {
    margin-bottom: 2px;
    line-height: 1.2; }
    .is-grid-active .product-m__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .is-grid-active .product-m__category > a:hover {
        color: #001232; }
  .is-grid-active .product-m__name > a {
    color: #333333;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.5s; }
    .is-grid-active .product-m__name > a:hover {
      color: #001232; }
  .is-grid-active .product-m__price {
    line-height: 1.2;
    color: #333333;
    font-size: 14px;
    font-weight: 600; }
  .is-grid-active .product-m__discount {
    font-weight: 600;
    margin-left: 30px;
    color: #001232;
    font-size: 14px;
    text-decoration: line-through; }
  .is-grid-active .product-m__rating {
    margin-bottom: 6px; }
    .is-grid-active .product-m__rating i {
      font-size: 12px; }
  .is-grid-active .product-m__review {
    margin-left: 4px;
    font-size: 11px;
    color: #a0a0a0; }
  .is-grid-active .product-m__hover {
    position: absolute;
    top: 96%;
    width: 100%;
    z-index: 9;
    padding: 4px 16px 14px;
    left: 0;
    background: #ffffff;
    box-shadow: 0 6px 7px 0 rgba(0, 0, 0, 0.2);
    transition: all 300ms ease-in-out;
    opacity: 0;
    visibility: hidden; }
  .is-grid-active .product-m__wishlist {
    text-align: right; }
    .is-grid-active .product-m__wishlist a {
      font-size: 16px;
      color: #a0a0a0;
      transition: color 110ms ease-in-out; }
      .is-grid-active .product-m__wishlist a:hover {
        color: #001232; }
  .is-grid-active .product-m__preview-description {
    margin-bottom: 8px;
    font-size: 12px;
    color: #7f7f7f; }

.is-grid-active .product-m:hover {
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2); }
  .is-grid-active .product-m:hover .product-m__add-cart {
    opacity: 1;
    visibility: visible; }
  .is-grid-active .product-m:hover .product-m__quick-look {
    opacity: 1;
    visibility: visible; }
  .is-grid-active .product-m:hover .product-m__hover {
    top: 99%;
    opacity: 1;
    visibility: visible; }

.is-list-active {
  display: block; }
  .is-list-active [class*="col-"] {
    display: block;
    max-width: 100%;
    width: 100%; }

.is-list-active .product-m {
  padding: 15px 0;
  transition: 0.3s;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .is-list-active .product-m__thumb {
    position: relative;
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 15px;
    padding-left: 15px; }
  .is-list-active .product-m__add-cart {
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s; }
    .is-list-active .product-m__add-cart > a {
      padding: 12px;
      border-radius: 0.125rem;
      font-size: 13px;
      width: 100%;
      text-align: center;
      display: block; }
  .is-list-active .product-m__quick-look {
    position: absolute;
    top: 8px;
    right: 22px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s; }
    .is-list-active .product-m__quick-look > a {
      font-size: 16px;
      color: #001232;
      transition: color 110ms ease-in-out; }
      .is-list-active .product-m__quick-look > a:hover {
        color: #15008d; }
  .is-list-active .product-m__content {
    position: relative;
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 15px;
    padding-left: 15px; }
  .is-list-active .product-m__category {
    margin-bottom: 2px;
    line-height: 1.2; }
    .is-list-active .product-m__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .is-list-active .product-m__category > a:hover {
        color: #001232; }
  .is-list-active .product-m__name > a {
    color: #333333;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.5s; }
    .is-list-active .product-m__name > a:hover {
      color: #001232; }
  .is-list-active .product-m__price {
    margin-bottom: 8px;
    line-height: 1.2;
    color: #333333;
    font-size: 14px;
    font-weight: 600; }
  .is-list-active .product-m__discount {
    font-weight: 600;
    margin-left: 30px;
    color: #001232;
    font-size: 14px;
    text-decoration: line-through; }
  .is-list-active .product-m__rating {
    margin-bottom: 6px; }
    .is-list-active .product-m__rating i {
      font-size: 12px; }
  .is-list-active .product-m__review {
    margin-left: 4px;
    font-size: 11px;
    color: #a0a0a0; }
  .is-list-active .product-m__preview-description {
    font-size: 12px;
    color: #7f7f7f; }
  .is-list-active .product-m__wishlist {
    position: absolute;
    right: 12px;
    bottom: 13px; }
    .is-list-active .product-m__wishlist a {
      font-size: 16px;
      color: #a0a0a0;
      transition: color 110ms ease-in-out; }
      .is-list-active .product-m__wishlist a:hover {
        color: #001232; }

.is-list-active .product-m:hover {
  background: #ffffff;
  border-radius: 0.1875rem;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2); }
  .is-list-active .product-m:hover .product-m__add-cart {
    opacity: 1;
    visibility: visible; }
  .is-list-active .product-m:hover .product-m__quick-look {
    opacity: 1;
    visibility: visible; }

.shop-p__pagination {
  margin: 0;
  padding: 0;
  list-style: none;
  -ms-flex-pack: center;
      justify-content: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .shop-p__pagination > li {
    margin-right: 14px; }
    .shop-p__pagination > li:last-child {
      margin-right: 0; }
    .shop-p__pagination > li > a {
      width: 42px;
      text-align: center;
      height: 42px;
      line-height: 42px;
      font-size: 12px;
      display: block;
      font-weight: 600;
      border-radius: 50%;
      background-color: transparent;
      color: #333333; }
  .shop-p__pagination > li.is-active > a {
    background-color: #f7f7f7; }
  .shop-p__pagination > li:not(.is-active) > a:hover {
    color: #001232;
    text-decoration: underline; }

.shop-a__wrap {
  position: fixed;
  top: 0;
  width: 350px;
  min-height: 100vh;
  bottom: 0;
  z-index: 9999;
  right: 0;
  transition: all 400ms ease-out;
  -webkit-transform: translate(200px, 0);
          transform: translate(200px, 0);
  box-shadow: 0 0 7px 2px rgba(0, 0, 0, 0.09);
  background-color: #ffffff;
  visibility: hidden;
  opacity: 0; }

.shop-a__inner {
  overflow: auto;
  height: 100%;
  padding: 1.25rem 1.125rem; }

.shop-a.is-open .shop-a__wrap {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  visibility: visible;
  opacity: 1; }

@media (max-width: 575px) {
  .is-list-active .product-m__thumb {
    margin-bottom: 30px;
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .is-list-active .product-m__content {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .is-list-active .product-m__wishlist {
    position: static;
    text-align: right; }
  .shop-p__tool-style {
    display: block; }
  .tool-style__form-wrap {
    display: block; }
    .tool-style__form-wrap div + div {
      margin-left: 0; } }

/*--------------------------------------------------------------
20.0 Vendor Extension Pages
--------------------------------------------------------------*/
/*--------------------------------------------------------------
20.1 Bootstrap
--------------------------------------------------------------*/
/* Modal styles */
.modal {
  z-index: 999999; }

.modal-content {
  display: block !important;
  border: none;
  border-radius: 0; }

.modal--radius {
  border-radius: 8px; }

.modal--shadow {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45); }

/* Tootip styles */
.tooltip {
  font-family: "Open Sans", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600; }

.tooltip.show {
  opacity: 1; }

.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #f5f5f5; }

.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #f5f5f5; }

.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #f5f5f5; }

.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #f5f5f5; }

.tooltip-inner {
  color: #333333;
  background-color: #f5f5f5;
  border-radius: 2px; }

@media (max-width: 991px) {
  .tooltip.show {
    opacity: 0; } }

/*--------------------------------------------------------------
20.2 jquery.shopnav
--------------------------------------------------------------*/
.ah-list {
  margin: 0;
  padding: 0; }
  .ah-list li {
    list-style: none; }
  .ah-list ul {
    margin: 0;
    padding: 0; }

.ah-list--design1 > li {
  display: inline-block; }
  .ah-list--design1 > li > a {
    display: inline-block;
    font-size: 16px;
    padding: 28px 18px; }

.ah-list--link-color-secondary > li > a {
  color: #333333; }

.ah-list--link-color-white > li > a {
  color: #ffffff; }

.ah-list--design2 > li {
  display: inline-block; }
  .ah-list--design2 > li > a {
    font-weight: 700;
    font-size: 14px;
    display: inline-block;
    padding: 31px 14px; }

.has-dropdown > ul .has-dropdown {
  position: relative; }

.has-dropdown > ul {
  background-color: #ffffff;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.13);
  position: absolute;
  text-align: left;
  padding: 20px 0 20px;
  z-index: 999;
  white-space: nowrap;
  transition: all 0.3s ease;
  top: 120%;
  opacity: 0;
  visibility: hidden; }
  .has-dropdown > ul > li > a {
    display: block;
    padding: 8px 20px;
    color: #333333;
    font-size: 12px;
    font-weight: 600; }

.has-dropdown--ul-left-100 > ul {
  left: 100%; }

.has-dropdown--ul-right-100 > ul {
  right: 100%; }

@media (max-width: 1024px) {
  .menu-init .fa-angle-down:before {
    content: none; }
  .menu-init.js-open .ah-lg-mode {
    left: 0;
    transition: all .4s ease-in-out; }
  .menu-init.js-open:after {
    content: "";
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 19999; }
  .ah-lg-mode {
    position: fixed;
    left: -315px;
    width: 315px;
    height: 100%;
    top: 0;
    background-color: #ffffff;
    z-index: 20000;
    overflow-y: auto; }
  .ah-close {
    color: #333333;
    padding: 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: block; }
  .ah-list > li {
    position: relative;
    display: block;
    border-top: 1px solid #f8f8f8; }
    .ah-list > li > a {
      display: block;
      padding: 8px 18px; }
  .ah-list > li:last-child {
    border-bottom: 1px solid #f8f8f8; }
  .ah-list--design1 > li > a, .ah-list--design2 > li > a {
    font-weight: normal;
    font-size: 14px; }
  .ah-list--link-color-white > li > a {
    color: #333333; }
  .js-menu-toggle {
    width: 21px;
    display: block;
    height: 21px;
    border-radius: 50%;
    background-color: #ffffff;
    box-shadow: 1px 1px 0 0 rgba(0, 0, 0, 0.13);
    position: absolute;
    right: 15px;
    top: 6px;
    transition: all .3s;
    cursor: pointer; }
    .js-menu-toggle:after {
      font-family: 'Font Awesome 5 Free';
      content: "\F067";
      position: absolute;
      top: 50%;
      width: 100%;
      font-weight: 900;
      color: #333333;
      display: block;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      text-align: center;
      font-size: 8px; }
    .js-menu-toggle.js-toggle-mark:after {
      content: "\F068"; }
  .has-dropdown > ul {
    width: 100% !important;
    box-shadow: none;
    transition: none;
    position: static;
    padding: 0 0 10px;
    opacity: 1;
    visibility: visible;
    display: none; }
    .has-dropdown > ul > li {
      padding: 0; }
      .has-dropdown > ul > li > a {
        display: block; }
  .ah-list > li > ul > li > a {
    padding: 8px 36px; }
  .ah-list > li > ul > li > ul > li > a {
    padding: 8px 54px; }
  .ah-list > li > ul > li > ul > li > ul > li > a {
    padding: 8px 72px; } }

@media (min-width: 1025px) {
  .toggle-button {
    display: none; }
  .ah-close {
    display: none; }
  .ah-list > li > a:hover {
    color: #001232; }
  .has-dropdown > ul > li:hover {
    background-color: #fbfbfb; }
  .has-dropdown:hover > ul {
    opacity: 1;
    visibility: visible; }
  .ah-list > .has-dropdown:hover > ul {
    top: 100%; }
  .has-dropdown .has-dropdown:hover > ul {
    top: 0; }
  .ah-list > .has-dropdown:hover > a {
    color: #001232; }
  .has-dropdown > a .fa-angle-down {
    font-size: 10px;
    line-height: 18px;
    float: right; }
  .has-dropdown:hover > a .i-state-right:before {
    content: "\F105"; } }

/* Extension Mega Menu */
.mega-text {
  width: 34px;
  height: 34px;
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: #001232 !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 34px;
  text-align: center;
  cursor: pointer;
  color: #ffffff; }

.mega-menu-list > ul > li > a {
  display: block;
  padding: 10px 22px;
  color: #000000;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 12px; }

.mega-menu-list > ul > li.js-active {
  background: linear-gradient(225deg, #001232, #001232); }
  .mega-menu-list > ul > li.js-active > a {
    color: #ffffff; }

.mega-menu-content {
  display: none; }

.mega-menu-content.js-active {
  display: block; }

.mega-menu-content [class*="col-"] > ul > li > a {
  padding: 4px 0;
  display: block;
  color: #333333;
  font-size: 13px;
  transition: color 0.5s; }
  .mega-menu-content [class*="col-"] > ul > li > a:hover {
    color: #15008d; }

.mega-menu-content [class*="col-"] > ul > .mega-list-title > a {
  font-weight: 700; }

.mega-menu-content > h5 {
  font-weight: 600;
  margin: 6px 0 0;
  font-size: 12px;
  color: #000000; }

@media (max-width: 1024px) {
   .toggle-mega-text {
    display: inline-block;
    width: auto;          /* Ancho se adapta al contenido */
    min-width: 34px;      /* Mantiene un ancho mínimo */
    height: auto;         /* Altura se adapta al contenido */
    padding: 5px 30px;      /* Espacio interno horizontal */
    
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    background-color: #001232;
    font-size: 12px;
    font-weight: 600;
    line-height: 34px;    /* Mantiene altura de línea para centrar el texto */
    text-align: center;
    cursor: pointer;
    color: #ffffff;
    border-radius: 4px;   /* Opcional, más estético */
  }
  .mega-menu {
    display: none; }
  .mega-menu-list {
    padding: 20px;
    border: 1px solid #f6f6f6; }
    .mega-menu-list > ul > li {
      position: relative; }
  .mega-menu-content {
    padding: 20px; }
  .mega-menu-content .row {
    display: block; }
  .mega-menu-content [class*="col-"] {
    margin-bottom: 15px;
    max-width: 100%; }
  .mega-image {
    display: none; } }

@media (min-width: 1025px) {
  .js-open.mega-text {
    -webkit-animation: mypulse 1s;
            animation: mypulse 1s; }
  .js-open.mega-text ~ .mega-menu {
    display: block; }
  .mega-menu {
    display: none;
    padding: 30px;
    width: 100%;
    background-color: #ffffff;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.13);
    position: absolute;
    z-index: 998;
    top: 100%; }
  .mega-menu-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .mega-menu-list {
    -ms-flex: 0 0 20%;
        flex: 0 0 20%;
    max-width: 20%; }
  .mega-menu-content {
    -ms-flex: 0 0 80%;
        flex: 0 0 80%;
    max-width: 80%;
    overflow-y: auto;
    padding: 0 17px;
    height: 370px;
    transition: opacity 0.5s;
    display: none; }
    .mega-menu-content::-webkit-scrollbar {
      width: 8px; }
    .mega-menu-content::-webkit-scrollbar-track {
      background: #eee; }
    .mega-menu-content::-webkit-scrollbar-thumb {
      background: #888; }
    .mega-menu-content::-webkit-scrollbar-thumb:hover {
      background: #555; }
  .mega-banner {
    position: relative;
    overflow: hidden; }
    .mega-banner img {
      -webkit-transform: scale(1);
              transform: scale(1);
      transition: all 0.6s ease-in-out; }
    .mega-banner:hover img {
      -webkit-transform: scale(1.1);
              transform: scale(1.1); }
  .mega-image {
    margin: auto 0; } }

/* Extension Mini Cart */
.mini-cart-shop-link {
  position: relative; }
  .mini-cart-shop-link > .total-item-round {
    top: 16px;
    left: 32px; }

.total-item-round {
  width: 24px;
  position: absolute;
  height: 24px;
  line-height: 24px;
  border-radius: 50%;
  text-align: center;
  font-size: 11px;
  background-color: #001232;
  color: #ffffff; }

.mini-cart {
  background-color: #ffffff;
  box-shadow: -2px 0px 5px 1px rgba(0, 0, 0, 0.06);
  width: 478px;
  padding: 14px;
  position: absolute;
  transition: all 0.3s ease;
  z-index: 998;
  top: 120%;
  opacity: 0;
  right: 0;
  visibility: hidden; }

.mini-product-container {
  max-height: 280px;
  padding: 17px;
  overflow-y: auto; }

.card-mini-product {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 15px;
  margin-bottom: 22px; }
  .card-mini-product:last-child {
    margin-bottom: 0; }

.mini-product {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .mini-product__image-wrapper {
    margin-right: 20px; }
    .mini-product__image-wrapper img {
    object-fit: contain; }
  .mini-product__link {
    background-color: #f5f5f5;
    display: inline-block;
    vertical-align: middle;
    width: 80px;
    height: auto; }
    .mini-product__link img {
      display: block;
      min-width: 80px; }
  .mini-product__category {
    display: block; }
    .mini-product__category > a {
      color: #a0a0a0;
      transition: color 0.5s;
      font-size: 12px; }
      .mini-product__category > a:hover {
        color: #001232; }
  .mini-product__name {
    display: block; }
    .mini-product__name > a {
      color: #333333;
      font-size: 14px;
      font-weight: 600;
      transition: color 0.5s; }
      .mini-product__name > a:hover {
        color: #001232; }
  .mini-product__quantity {
    font-size: 12px;
    margin-right: 4px;
    color: #333333; }
  .mini-product__price {
    font-size: 14px;
    font-weight: 600;
    color: #333333; }
  .mini-product__delete-link {
    padding: 10px;
    font-size: 16px;
    display: inline-block;
    color: #333333;
    transition: color 0.5s; }
    .mini-product__delete-link:hover {
      color: #001232; }

.mini-total {
  margin-bottom: 16px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center; }

.subtotal-text {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #333333; }

.subtotal-value {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #333333; }

.mini-link {
  display: block;
  text-align: center;
  padding: 12px 42px;
  border-radius: 6px;
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 10px; }

.mini-action {
  width: 65%;
  margin: 0 auto; }

@media (max-width: 1024px) {
  .mini-cart-shop-link > .total-item-round {
    top: 5px;
    left: 38px; }
  .toggle-button-shop + .total-item-round {
    top: 5px;
    right: 10px; }
  .has-dropdown > .mini-cart {
    width: 100% !important;
    box-shadow: none;
    transition: none;
    padding: 14px;
    position: static;
    opacity: 1;
    visibility: visible;
    display: none; }
  .mini-product-container {
    max-height: 836px; }
  .card-mini-product {
    display: block;
    text-align: center; }
  .mini-product {
    display: block; }
    .mini-product__image-wrapper {
      margin-right: 0;
      margin-bottom: 10px; }
    .mini-product__info-wrapper {
      padding: 0;
      display: block;
      margin-bottom: 10px; }
  .mini-total {
    margin-bottom: 22px; } }

@media (min-width: 1025px) {
  .toggle-button-shop + .total-item-round {
    display: none; }
  .has-dropdown:hover > .mini-cart {
    top: 100%;
    opacity: 1;
    visibility: visible; } }

/*--------------------------------------------------------------
20.3 Owl-Carousel
--------------------------------------------------------------*/
.slider-fouc {
  display: none; }

.s-skeleton {
  position: relative; }
  .s-skeleton--h-600 {
    min-height: 600px; }
  .s-skeleton--h-640 {
    min-height: 640px; }
  .s-skeleton--bg-grey {
    background-color: #f5f5f5; }
  .s-skeleton--bg-black {
    background-color: #000000; }
  .s-skeleton .owl-carousel {
    position: static; }

.primary-style-1 .hero-slide {
  height: 600px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.primary-style-2 .hero-slide {
  height: 600px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.primary-style-3 .hero-slide {
  height: 640px; }

.primary-style-3-wrap {
  position: absolute;
  bottom: 120px;
  z-index: 1;
  width: 100%; }

.hero-slide {
  background: center center/cover no-repeat; }
  .hero-slide--1 {
    background-image: url(../images/slider/slide-1.jpg); }
  .hero-slide--2 {
    background-image: url(../images/slider/slide-2.jpg); }
  .hero-slide--3 {
    background-image: url(../images/slider/slide-3.jpg); }
  .hero-slide--4 {
    background-image: url(../images/slider/slide-4.jpg); }
  .hero-slide--5 {
    background-image: url(../images/slider/slide-5.jpg); }
  .hero-slide--6 {
    background-image: url(../images/slider/slide-6.jpg); }
  .hero-slide--7 {
    background-image: url(../images/slider/slide-7.jpg); }
  .hero-slide--8 {
    background-image: url(../images/slider/slide-8.jpg); }
  .hero-slide--9 {
    background-image: url(../images/slider/slide-9.jpg); }

.owl-carousel .owl-dots {
  position: absolute; }

.owl-carousel button.owl-dot:focus {
  outline: 0; }

.owl-carousel.primary-style-1 .owl-dots {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 40px; }

.owl-carousel.primary-style-1 button.owl-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: block;
  margin-bottom: 6px;
  background: #e1e1e1;
  transition: background 0.8s ease-out; }
  .owl-carousel.primary-style-1 button.owl-dot:last-child {
    margin-bottom: 0; }
  .owl-carousel.primary-style-1 button.owl-dot.active, .owl-carousel.primary-style-1 button.owl-dot:hover {
    background: transparent linear-gradient(-180deg, #001232 0%, #ff6a33 100%); }

.owl-carousel.primary-style-2 .owl-dots {
  width: 100%;
  text-align: center;
  bottom: 20px; }

.owl-carousel.primary-style-2 button.owl-dot {
  width: 11px;
  height: 11px;
  display: inline-block;
  margin-right: 4px;
  border-radius: 50%;
  background-color: #7f7f7f;
  transition: background 0.8s ease-out; }
  .owl-carousel.primary-style-2 button.owl-dot:last-child {
    margin-right: 0; }
  .owl-carousel.primary-style-2 button.owl-dot.active, .owl-carousel.primary-style-2 button.owl-dot:hover {
    background-color: #ffffff; }

.primary-style-2-container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

@media (min-width: 576px) {
  .primary-style-2-container {
    max-width: 540px; } }

@media (min-width: 768px) {
  .primary-style-2-container {
    max-width: 720px; } }

@media (min-width: 992px) {
  .primary-style-2-container {
    max-width: 960px; } }

.owl-carousel.primary-style-3 .owl-dots {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 40px; }

.owl-carousel.primary-style-3 button.owl-dot {
  width: 5px;
  height: 32px;
  display: block;
  margin-bottom: 6px;
  background-color: #f3f3f3;
  transition: background 0.8s ease-out; }
  .owl-carousel.primary-style-3 button.owl-dot:last-child {
    margin-bottom: 0; }
  .owl-carousel.primary-style-3 button.owl-dot.active, .owl-carousel.primary-style-3 button.owl-dot:hover {
    background-color: #001232; }

.owl-carousel#testimonial-slider .owl-dots {
  width: 100%;
  text-align: center;
  bottom: -30px; }

.owl-carousel#testimonial-slider button.owl-dot {
  width: 11px;
  height: 11px;
  display: inline-block;
  border: 1px solid #333333;
  margin-right: 4px;
  border-radius: 50%;
  background-color: transparent;
  transition: background 0.8s ease-out; }
  .owl-carousel#testimonial-slider button.owl-dot:last-child {
    margin-right: 0; }
  .owl-carousel#testimonial-slider button.owl-dot.active, .owl-carousel#testimonial-slider button.owl-dot:hover {
    background-color: #333333; }

.content-span-1 {
  font-size: 1.25rem;
  font-weight: 700;
  display: block; }

.content-span-2 {
  font-weight: 700;
  font-size: 3.25rem;
  display: block; }

.content-span-3 {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 8px; }

.content-span-4 {
  display: block;
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 20px; }
  .content-span-4 span {
    font-weight: 700;
    margin-left: 4px;
    font-size: 1.375rem; }

.shop-now-link {
  padding: 18px 53px;
  font-size: 0.75rem;
  position: relative;
  transition: background 0.3s;
  text-align: center;
  border-radius: 6px;
  display: inline-block; }

.owl-item .slider-content--animation * {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-item.active .content-span-1 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

.owl-item.active .content-span-2 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

.owl-item.active .content-span-3 {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

.owl-item.active .content-span-4 {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

.owl-item.active .shop-now-link {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

.product-slider, .tab-slider {
  position: static; }
  .product-slider .owl-item:hover, .tab-slider .owl-item:hover {
    z-index: 2; }

/* Products-Slider (Previous & Next Buttons) */
.section__content:hover .p-prev, .section__content:hover .t-prev, .section__content:hover .p-next, .section__content:hover .t-next {
  opacity: 1; }

.p-prev, .p-next {
  text-align: center;
  box-shadow: 0 6px 15px 5px rgba(36, 37, 38, 0.08);
  z-index: 1;
  cursor: pointer;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  height: 72px;
  line-height: 72px;
  width: 36px;
  background-color: #ffffff;
  margin: auto 0;
  transition: opacity .6s ease-in,background-color .6s ease-in;
  opacity: 0; }
  .p-prev > i, .p-next > i {
    font-size: 14px;
    color: #333333;
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

.p-prev {
  left: 0;
  border-bottom-right-radius: 90px;
  border-top-right-radius: 90px; }
  .p-prev > i {
    left: 6px; }

.p-next {
  right: 0;
  border-bottom-left-radius: 90px;
  border-top-left-radius: 90px; }
  .p-next > i {
    right: 6px; }

.t-prev, .t-next {
  text-align: center;
  z-index: 1;
  display: inline-block;
  box-shadow: 0 6px 15px 5px rgba(36, 37, 38, 0.08);
  background-color: #ffffff;
  position: absolute;
  top: 0;
  bottom: 0;
  cursor: pointer;
  height: 36px;
  line-height: 36px;
  width: 36px;
  margin: auto 0;
  transition: opacity .6s ease-in;
  opacity: 0; }
  .t-prev > i, .t-next > i {
    font-size: 14px;
    color: #333333;
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

.t-prev {
  left: 0;
  border-bottom-right-radius: 90px;
  border-top-right-radius: 90px; }
  .t-prev > i {
    left: 10px; }

.t-next {
  right: 0;
  border-bottom-left-radius: 90px;
  border-top-left-radius: 90px; }
  .t-next > i {
    right: 10px; }

#brand-slider .owl-stage {
  margin: 1.25rem 0; }

.brand-slide {
  width: 155px;
  height: 60px;
  margin: 0 auto; }
  .brand-slide a {
    display: block;
    background-color: #ffffff;
    transition: all .3s; }
    .brand-slide a:hover {
      box-shadow: 2px 3px 8px 0 rgba(0, 0, 0, 0.2); }

.b-prev, .b-next {
  text-align: center;
  z-index: 1;
  display: inline-block;
  position: absolute;
  top: 0;
  cursor: pointer;
  bottom: 0;
  height: 36px;
  line-height: 36px;
  width: 36px;
  box-shadow: 0 6px 15px 5px rgba(36, 37, 38, 0.08);
  background-color: #ffffff;
  margin: auto 0;
  transition: opacity .6s ease-in;
  opacity: 0; }
  .b-prev > i, .b-next > i {
    font-size: 14px;
    color: #333333; }

.b-prev {
  left: 0; }

.b-next {
  right: 0; }

/* Brand-Slider (Previous & Next Buttons) */
.section__content:hover .b-prev, .section__content:hover .b-next {
  opacity: 1; }

/*--------------------------------------------------------------
20.4 jquery.scrollUp
--------------------------------------------------------------*/
/* ScrollUp Custom */
#topScroll {
  right: 24px;
  bottom: 60px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  box-shadow: 2px 2px 4px 4px rgba(36, 37, 38, 0.08);
  background-color: #ffffff;
  color: #333333;
  font-size: 18px;
  text-align: center; }

/*--------------------------------------------------------------
20.5 Slick Carousel
--------------------------------------------------------------*/
.slick-slide, .slick-slide * {
  outline: none; }

#pd-o-thumbnail .slick-slide:not(.slick-current) {
  opacity: .4; }

#js-product-detail-modal-thumbnail .slick-slide:not(.slick-current) {
  opacity: .4; }

.pt-prev, .pt-next {
  text-align: center;
  z-index: 1;
  display: inline-block;
  position: absolute;
  top: 0;
  cursor: pointer;
  bottom: 0;
  border-radius: 50%;
  height: 36px;
  line-height: 36px;
  width: 36px;
  margin: auto 0;
  transition: opacity ease-in-out .5s, background-color ease-in 0.3s;
  background-color: #ffffff;
  opacity: 0; }
  .pt-prev i, .pt-next i {
    font-size: 12px;
    color: #000000; }

.pt-prev {
  left: 20px; }

.pt-next {
  right: 20px; }

#pd-o-thumbnail:hover .pt-prev, #pd-o-thumbnail:hover .pt-next {
  opacity: .8; }

#js-product-detail-modal-thumbnail:hover .pt-prev, #js-product-detail-modal-thumbnail:hover .pt-next {
  opacity: .8; }

/* Solo afectará a tu mega-menu */
.has-dropdown > .mega-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    box-shadow: 0 0 4px rgba(0,0,0,0.13);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 999;
}

/* Mostrar mega menú al hover */
.has-dropdown:hover > .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
/* Flecha al lado de "Categories" */
.mega-text {
    display: inline-block;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    background-color: #001232 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 34px;
    text-align: center;
    cursor: pointer;
    color: #ffffff;

    /* Responsivo */
    width: auto;          /* No fijo */
    padding: 5px 30px;      /* Espaciado interno */
    min-width: 80px;      /* Opcional, ancho mínimo */
    height: auto;         /* Se ajusta al contenido */
    border-radius: 4px;   /* Opcional, más bonito */
}


/* Ajuste en pantallas pequeñas */
@media (max-width: 768px) {
    .mega-text {
        font-size: 11px;
        line-height: 28px;
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    .mega-text {
        font-size: 10px;
        line-height: 24px;
        padding: 0 8px;
    }
}
/* ====================================
   CART STYLES - TOLStore
   ==================================== */

/* Variables de Color basadas en el sitio */
:root {
    --cart-primary: #2563eb;
    --cart-primary-hover: #1d4ed8;
    --cart-secondary: #64748b;
    --cart-danger: #ef4444;
    --cart-danger-hover: #dc2626;
    --cart-success: #10b981;
    --cart-warning: #f59e0b;
    --cart-dark: #1e293b;
    --cart-light: #f8fafc;
    --cart-border: #e2e8f0;
    --cart-text-primary: #0f172a;
    --cart-text-secondary: #64748b;
    --cart-text-muted: #94a3b8;
    --cart-white: #ffffff;
    --cart-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
    --cart-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    --cart-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
    --cart-radius: 0.5rem;
    --cart-radius-lg: 0.75rem;
}

/* Reset y Base */
* {
    box-sizing: border-box;
}

.cart-app-content {
    max-width: 1200px;
            margin: 0 auto;
            margin-top: 50px;
            margin-bottom: 50px;
}

/* Container */
.cart-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Row & Columns */
.cart-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -0.75rem;
}

.cart-col-full {
    width: 100%;
    padding: 0 0.75rem;
}

.cart-col-third {
    width: 100%;
    padding: 0 0.75rem;
}

@media (min-width: 1024px) {
    .cart-col-third {
        width: 33.333333%;
    }
}

/* Margins */
.cart-margin-bottom {
    margin-bottom: 2rem;
}

.cart-margin-small {
    margin-bottom: 1.5rem;
}

/* ====================================
   SECTION STYLES
   ==================================== */

.cart-section-top {
    padding: 2rem 0;
    background-color: var(--cart-white);
    border-bottom: 1px solid var(--cart-border);
}

.cart-section-main {
    padding: 3rem 0;
}

.cart-section-bottom {
    padding: 3rem 0 4rem;
}

/* Breadcrumb */
.cart-breadcrumb {
    padding: 0.5rem 0;
}

.cart-breadcrumb-list {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0.5rem;
}

.cart-breadcrumb-item a {
    color: var(--cart-text-secondary);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s;
}

.cart-breadcrumb-item a:hover {
    color: var(--cart-primary);
}

.cart-breadcrumb-active a {
    color: var(--cart-text-primary);
    font-weight: 500;
}

.cart-breadcrumb-separator {
    color: var(--cart-text-muted);
    font-size: 0.875rem;
}

/* Section Header */
.cart-section-intro {
    margin-bottom: 2.5rem;
}

.cart-heading-primary {
    font-size: 2rem;
    font-weight: 700;
    color: var(--cart-text-primary);
    margin: 0;
    letter-spacing: 0.025em;
}

.cart-heading-secondary {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--cart-text-primary);
    margin: 0 0 1rem;
}

/* ====================================
   TABLE STYLES
   ==================================== */

.cart-table-responsive {
    overflow-x: auto;
    background-color: var(--cart-white);
    border-radius: var(--cart-radius-lg);
    box-shadow: var(--cart-shadow);
}

.cart-table-products {
    width: 100%;
    border-collapse: collapse;
}

.cart-table-header {
    background-color: var(--cart-light);
    border-bottom: 2px solid var(--cart-border);
}

.cart-table-header-cell {
    padding: 1rem 1.5rem;
    text-align: left;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cart-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cart-table-row {
    border-bottom: 1px solid var(--cart-border);
    transition: background-color 0.2s;
}

.cart-table-row:hover {
    background-color: var(--cart-light);
}

.cart-table-row:last-child {
    border-bottom: none;
}

.cart-table-cell {
    padding: 1.5rem;
    vertical-align: middle;
}

/* Product Box */
.cart-product-box {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}

.cart-product-img-wrap {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    border-radius: var(--cart-radius);
    overflow: hidden;
    background-color: var(--cart-light);
    border: 1px solid var(--cart-border);
}

.cart-product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-product-info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cart-product-name {
    display: block;
    font-weight: 600;
    font-size: 1rem;
    color: var(--cart-text-primary);
}

.cart-product-name a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.cart-product-name a:hover {
    color: var(--cart-primary);
}

.cart-product-category {
    display: block;
    font-size: 0.875rem;
    color: var(--cart-text-muted);
}

.cart-product-category a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.cart-product-category a:hover {
    color: var(--cart-primary);
}

.cart-product-variant-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1rem;
}

.cart-product-variant-item {
    font-size: 0.8125rem;
    color: var(--cart-text-secondary);
}

.cart-product-price {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--cart-text-primary);
}

/* ====================================
   QUANTITY CONTROLS
   ==================================== */

.cart-quantity-wrap {
    display: flex;
    justify-content: center;
}

.cart-input-counter {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--cart-border);
    border-radius: var(--cart-radius);
    background-color: var(--cart-white);
    overflow: hidden;
}

.cart-counter-btn {
    width: 40px;
    height: 40px;
    border: none;
    background-color: var(--cart-light);
    color: var(--cart-text-secondary);
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart-counter-btn:hover {
    background-color: var(--cart-primary);
    color: var(--cart-white);
}

.cart-counter-btn:active {
    transform: scale(0.95);
}

.cart-counter-input {
    width: 60px;
    height: 40px;
    border: none;
    text-align: center;
    font-size: 1rem;
    font-weight: 500;
    color: var(--cart-text-primary);
    background-color: var(--cart-white);
}

.cart-counter-input:focus {
    outline: none;
}

/* ====================================
   DELETE BUTTON
   ==================================== */

.cart-delete-wrap {
    display: flex;
    justify-content: center;
}

.cart-delete-btn {
    width: 40px;
    height: 40px;
    border: none;
    background-color: var(--cart-light);
    color: var(--cart-text-secondary);
    border-radius: var(--cart-radius);
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart-delete-btn:hover {
    background-color: #fee2e2;
    color: var(--cart-danger);
}

/* ====================================
   ROUTE BOX (Action Buttons)
   ==================================== */

.cart-route-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.5rem;
    background-color: var(--cart-white);
    border-radius: var(--cart-radius-lg);
    box-shadow: var(--cart-shadow);
    margin-top: 1.5rem;
}

.cart-route-box-left,
.cart-route-box-right {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.cart-route-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: var(--cart-radius);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.cart-btn-secondary {
    background-color: var(--cart-light);
    color: var(--cart-text-primary);
    border: 1px solid var(--cart-border);
}

.cart-btn-secondary:hover {
    background-color: var(--cart-white);
    box-shadow: var(--cart-shadow-md);
}

.cart-btn-primary {
    background-color: var(--cart-primary);
    color: var(--cart-white);
}

.cart-btn-primary:hover {
    background-color: var(--cart-primary-hover);
    box-shadow: var(--cart-shadow-md);
}

.cart-btn-danger {
    background-color: var(--cart-light);
    color: var(--cart-danger);
    border: 1px solid var(--cart-border);
}

.cart-btn-danger:hover {
    background-color: #fee2e2;
    border-color: var(--cart-danger);
}

/* ====================================
   INFO BOXES & FORMS
   ==================================== */

.cart-info-box {
    background-color: var(--cart-white);
    border-radius: var(--cart-radius-lg);
    padding: 2rem;
    box-shadow: var(--cart-shadow);
    height: 100%;
}

.cart-text-muted {
    color: var(--cart-text-muted);
    font-size: 0.875rem;
    line-height: 1.5;
    display: block;
}

.cart-text-small {
    font-size: 0.8125rem;
    color: var(--cart-text-muted);
    line-height: 1.5;
    margin-top: 1rem;
}

/* Form Elements */
.cart-form-group {
    margin-bottom: 1.5rem;
}

.cart-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cart-text-primary);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.cart-label-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.cart-select,
.cart-input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--cart-border);
    border-radius: var(--cart-radius);
    font-size: 0.9375rem;
    color: var(--cart-text-primary);
    background-color: var(--cart-white);
    transition: all 0.2s;
}

.cart-select:focus,
.cart-input:focus {
    outline: none;
    border-color: var(--cart-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.cart-textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--cart-border);
    border-radius: var(--cart-radius);
    font-size: 0.9375rem;
    color: var(--cart-text-primary);
    background-color: var(--cart-white);
    resize: vertical;
    font-family: inherit;
    transition: all 0.2s;
}

.cart-textarea:focus {
    outline: none;
    border-color: var(--cart-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.cart-btn {
    width: 100%;
    padding: 0.875rem 1.5rem;
    border-radius: var(--cart-radius);
    font-size: 0.9375rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cart-btn-outline {
    background-color: var(--cart-white);
    color: var(--cart-primary);
    border: 2px solid var(--cart-primary);
}

.cart-btn-outline:hover {
    background-color: var(--cart-primary);
    color: var(--cart-white);
    box-shadow: var(--cart-shadow-md);
}

/* ====================================
   SUMMARY TABLE
   ==================================== */

.cart-summary-box {
    margin-bottom: 1.5rem;
}

.cart-summary-table {
    width: 100%;
    border-collapse: collapse;
}

.cart-summary-row {
    border-bottom: 1px solid var(--cart-border);
}

.cart-summary-row:last-child {
    border-bottom: none;
}

.cart-summary-label,
.cart-summary-value {
    padding: 1rem 0;
    font-size: 0.9375rem;
}

.cart-summary-label {
    color: var(--cart-text-secondary);
    font-weight: 500;
}

.cart-summary-value {
    text-align: right;
    color: var(--cart-text-primary);
    font-weight: 600;
}

.cart-summary-total {
    border-top: 2px solid var(--cart-border);
}

.cart-summary-total .cart-summary-label,
.cart-summary-total .cart-summary-value {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--cart-text-primary);
    padding: 1.25rem 0;
}

/* Checkout Button */
.cart-checkout-wrap {
    margin-top: 1.5rem;
}

.cart-btn-checkout {
    width: 100%;
    padding: 1rem 1.5rem;
    background-color: var(--cart-primary);
    color: var(--cart-white);
    border: none;
    border-radius: var(--cart-radius);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.2s;
}

.cart-btn-checkout:hover {
    background-color: var(--cart-primary-hover);
    box-shadow: var(--cart-shadow-lg);
    transform: translateY(-1px);
}

.cart-btn-checkout:active {
    transform: translateY(0);
}

/* ====================================
   RESPONSIVE STYLES
   ==================================== */

@media (max-width: 768px) {
    .cart-section-top {
        padding: 1rem 0;
    }
    
    .cart-section-main,
    .cart-section-bottom {
        padding: 2rem 0;
    }
    
    .cart-heading-primary {
        font-size: 1.5rem;
    }
    
    .cart-product-box {
        flex-direction: column;
        gap: 1rem;
    }
    
    .cart-product-img-wrap {
        width: 100%;
        height: 200px;
    }
    
    .cart-table-products {
        font-size: 0.875rem;
    }
    
    .cart-table-header-cell,
    .cart-table-cell {
        padding: 1rem;
    }
    
    .cart-route-box {
        flex-direction: column;
    }
    
    .cart-route-box-left,
    .cart-route-box-right {
        width: 100%;
    }
    
    .cart-route-link {
        width: 100%;
        justify-content: center;
    }
    
    .cart-info-box {
        padding: 1.5rem;
    }
}

@media (max-width: 480px) {
    .cart-container {
        padding: 0 0.75rem;
    }
    
    .cart-heading-primary {
        font-size: 1.25rem;
    }
    
    .cart-table-responsive {
        overflow-x: scroll;
    }
    
    .cart-table-products {
        min-width: 600px;
    }
}

/* ====================================
   UTILITIES
   ==================================== */

.cart-text-center {
    text-align: center;
}

.cart-text-right {
    text-align: right;
}

.cart-d-flex {
    display: flex;
}

.cart-align-center {
    align-items: center;
}

.cart-justify-between {
    justify-content: space-between;
}

.cart-gap-1 {
    gap: 0.5rem;
}

.cart-gap-2 {
    gap: 1rem;
}

/* ====================================
   ANIMATIONS
   ==================================== */

@keyframes cart-fade-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cart-fade-in {
    animation: cart-fade-in 0.3s ease-out;
}

/* ====================================
   PRINT STYLES
   ==================================== */

@media print {
    .cart-route-box,
    .cart-delete-wrap,
    .cart-counter-btn {
        display: none !important;
    }
    
    .cart-app-content {
        background-color: white;
    }
    
    .cart-info-box,
    .cart-table-responsive {
        box-shadow: none;
        border: 1px solid var(--cart-border);
    }
}
/* ============================================
   Estilos para el mensaje de invitado en Mini Cart
   ============================================ */

.mini-cart-guest-message {
    padding: 30px 20px;
    text-align: center;
    background: #ffffff;
    min-height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Icono del carrito */
.guest-message-icon {
    margin-bottom: 20px;
}

.guest-message-icon i {
    font-size: 60px;
    color: #e0e0e0;
    animation: cartPulse 2s ease-in-out infinite;
}

@keyframes cartPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.7;
    }
    50% {
        transform: scale(1.1);
        opacity: 1;
    }
}

/* Título del mensaje */
.guest-message-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
    margin-top: 0;
}

/* Texto descriptivo */
.guest-message-text {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 25px;
    max-width: 280px;
}

/* Contenedor de botones */
.guest-message-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    max-width: 280px;
    margin-bottom: 20px;
}

.guest-message-actions .btn {
    width: 100%;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 2px solid transparent;
}

/* Botón primario - Iniciar Sesión */
.guest-message-actions .btn--e-brand-b-2 {
    background-color: #001232;
    color: #ffffff;
    border-color: #001232;
}

.guest-message-actions .btn--e-brand-b-2:hover {
    background-color: #01338d;
    border-color: #01338d;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(255, 71, 87, 0.3);
}

/* Botón secundario - Registrarse */
.guest-message-actions .btn--e-transparent-secondary-b-2 {
    background-color: transparent;
    color: #333;
    border-color: #ddd;
}

.guest-message-actions .btn--e-transparent-secondary-b-2:hover {
    background-color: #f5f5f5;
    border-color: #bbb;
    transform: translateY(-2px);
}

/* Footer del mensaje */
.guest-message-footer {
    margin-top: 10px;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
    width: 100%;
    max-width: 280px;
}

.guest-message-footer small {
    font-size: 12px;
    color: #999;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.guest-message-footer i {
    color: #4caf50;
    font-size: 14px;
}

/* Responsive */
@media (max-width: 767px) {
    .mini-cart-guest-message {
        padding: 25px 15px;
        min-height: 300px;
    }

    .guest-message-icon i {
        font-size: 50px;
    }

    .guest-message-title {
        font-size: 16px;
    }

    .guest-message-text {
        font-size: 13px;
    }

    .guest-message-actions .btn {
        padding: 10px 15px;
        font-size: 13px;
    }
}

/* Animación de entrada */
.mini-cart-guest-message {
    animation: fadeInUp 0.4s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Ajuste para el dropdown del mini-cart cuando muestra el mensaje de invitado */
.mini-cart:has(.mini-cart-guest-message) {
    min-width: 320px;
}