
.modal.in {
    display: block !important;
    z-index: 1050;
}
.faq-modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000;
    opacity: 0;
    transition: opacity .15s linear;
}
.faq-modal-backdrop.in {
    opacity: .5;
}
body.faq-modal-open {
    overflow: hidden;
}
.content-wrapper-topbaritems .faq-modal {
    color: #333;
    text-align: left;
}

@font-face{font-family:'Overpass';font-style:normal;font-weight:400;src:url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-regular.eot');src:local('Overpass Regular'),local('Overpass-Regular'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-regular-webfont.woff2') format('woff2'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-regular.woff') format('woff'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-regular.ttf') format('truetype'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-regular.#Overpass') format('svg')}@font-face{font-family:'Overpass';font-style:normal;font-weight:800;src:url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-800.eot');src:local('Overpass ExtraBold'),local('Overpass-ExtraBold'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-800.eot?#iefix') format('embedded-opentype'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-800-webfont.woff2') format('woff2'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-800.woff') format('woff'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-800.ttf') format('truetype'),url('https://static.giant-bicycles.com/Fonts/overpass-v4-latin_latin-ext/overpass-v4-latin_latin-ext-800.#Overpass') format('svg')}@font-face{font-family:'OverpassRecut';font-style:normal;font-weight:800;src:url('https://static.giant-bicycles.com/Fonts/overpass-recut-v2/overpass-recut-v2.eot');src:local('OverpassRecut ExtraBold'),local('OverpassRecut-ExtraBold'),url('https://static.giant-bicycles.com/Fonts/overpass-recut-v2/overpass-recut-v2.eot?#iefix') format('embedded-opentype'),url('https://static.giant-bicycles.com/Fonts/overpass-recut-v2/overpass-recut-v2.woff2') format('woff2'),url('https://static.giant-bicycles.com/Fonts/overpass-recut-v2/overpass-recut-v2.woff') format('woff'),url('https://static.giant-bicycles.com/Fonts/overpass-recut-v2/overpass-recut-v2.ttf') format('truetype'),url('https://static.giant-bicycles.com/Fonts/overpass-recut-v2/overpass-recut-v2.#OverpassRecut') format('svg')}

.btn {
    display: inline-block;
    margin-bottom: 0;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    border-radius: 4px;
    user-select: none;
    font-family: 'Overpass', Arial, sans-serif;
    transition: all 0.2s ease;
}
.btn:focus,
.btn:hover {
    color: #333;
    text-decoration: none;
}
.btn.active,
.btn:active {
    outline: 0;
    background-image: none;
    box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
    cursor: not-allowed;
    pointer-events: none;
    opacity: .65;
    box-shadow: none;
}
.btn-primary,
.btn-banner {
    font-size: 1.3rem;
    min-width: 5rem;
    line-height: unset;
    background-color: #fff;
    color: #06038D;
    border: .25rem solid transparent;
    border-radius: 3.75rem;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem .5rem 1.3rem;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: .25s ease-in-out;
    appearance: auto;
    overflow: visible;
    letter-spacing: .1rem;
}
.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover,
.btn-banner:active,
.btn-banner:focus,
.btn-banner:hover {
    background-color: #06038D;
    border-color: #06038D;
    color: #fff;
    outline: unset;
}
.btn-primary.btn-primary-not-uppercased {
    text-transform: unset;
}
.btn-lg {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px;
}
.btn-sm {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}
.btn-block {
    display: block;
    width: 100%;
}
.btn-block + .btn-block {
    margin-top: 5px;
}
.btn-animated-arrow {
    background: #06038d !important;
    background: linear-gradient(to right, #06038d 25%, #00a3e1 100%) !important;
    color: #fff !important;
    font-weight: 700;
    border: unset;
    overflow: hidden;
    position: relative;
    line-height: 35px;
    padding: 0 35px;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: .1rem;
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 14px;
    display: inline-block;
    text-decoration: none;
    cursor: pointer;
}
.btn-animated-arrow:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
    padding: 0 50px 0 20px;
}
.btn-animated-arrow-alt {
    background: #06038d !important;
    background: linear-gradient(to right, #06038d 25%, #00a3e1 100%) !important;
    color: #fff !important;
    font-weight: 700;
    border: unset;
    position: relative;
    line-height: 35px;
    padding: 0 35px;
    transition: all 0.2s ease;
    text-shadow: none;
    text-transform: uppercase;
    letter-spacing: .1rem;
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 14px;
    display: inline-block;
    text-decoration: none;
    cursor: pointer;
}
.btn-animated-arrow-alt:hover {
    padding: 0 50px 0 20px;
}
.btn-black {
    border: 1px solid rgba(0,0,0,.3);
    font-size: 14px;
    padding: 10px 15px;
    border-radius: 5px;
    color: #333;
    background: transparent;
    display: inline-block;
    text-decoration: none;
    transition: all 0.2s ease;
    font-family: 'Overpass', Arial, sans-serif;
    cursor: pointer;
}
.btn-black:hover {
    color: #000;
    border: 1px solid #000;
}

button.action.primary,
a.action.primary,
.action.primary {
    background: #06038d;
    border-color: #06038d;
    color: #fff;
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: .1rem;
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 600;
    font-size: 14px;
    padding: 0 35px;
    line-height: 40px;
    transition: all 0.2s ease;
}
button.action.primary:hover,
button.action.primary:focus,
a.action.primary:hover,
a.action.primary:focus,
.action.primary:hover,
.action.primary:focus {
    background: #2421b3;
    border-color: #2421b3;
    color: #fff;
}
button.action.tocart.primary {
    background: #06038d;
    background: linear-gradient(to right, #06038d 25%, #00a3e1 100%);
    border: none;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .1rem;
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 0 35px;
    line-height: 42px;
    border-radius: 0;
}
button.action.tocart.primary:hover {
    background: #2421b3;
    border-color: #2421b3;
}
button.action.tocart.primary span {
    font-weight: 700;
}

.tiles.tiles-homeblockstyle .tile .caption div.h3, .tiles.tiles-homeblockstyle .tile .caption div.title, .tiles.tiles-homeblockstyle .tile .caption h3, .tiles.tiles-sticktogetherstyle .tile .caption div.h3, .tiles.tiles-sticktogetherstyle .tile .caption div.title, .tiles.tiles-sticktogetherstyle .tile .caption h3 {
    font-family: Overpass, Arial, Helvetica, sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    padding: 0 25px;
    color: #fff !important;
    text-shadow: 0 0 5px rgba(0, 0, 0, .5);
    margin: 0;
    font-size: 3rem;
    letter-spacing: -.1rem;
}
.page-layout-product-full-width .content-wrapper-topbaritems .container .item .circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, .2);
    transition: .5s all;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-info-main .product-info-price, .product-options-bottom .product-info-price {
    display: block !important;
}
.product-info-main {
    display: flex;
    flex-direction: column;
}
.catalog-product-view .product-info-main .product-reviews-summary.empty,
.catalog-product-view .product-info-main .product-reviews-summary {
    order: 1 !important;
    margin: 0 0 2px !important;
}
.catalog-product-view .product-info-main .page-title-wrapper.product {
    order: 2 !important;
    margin-bottom: 2px;
}
.catalog-product-view .product-info-main .ox-product-page__categories {
    order: 3 !important;
    margin: 0 0 6px;
    font-size: 13px;
    color: #555;
}
.product-info-price {
    order: 4;
}
.product-add-form {
    order: 7;
    padding-top: 10px;
}
.product-social-links {
    order: 8;
}
.product__after-desc-block {
    order: 9;
}
.product-info-main .page-title-wrapper .page-title {
    margin-bottom: 5px !important;
}
.giant-review-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 8px;
    flex-wrap: wrap;
}
.giant-review-stars {
    display: flex;
    gap: 3px;
    align-items: center;
}
.giant-review-stars svg {
    width: 20px;
    height: 20px;
    display: block;
}
.giant-review-text {
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 14px;
    color: #06038d;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.giant-review-text a {
    color: #06038d;
    text-decoration: underline;
    font-weight: 500;
    font-size: 10px;
}
.giant-review-text a:hover {
    color: #0400b5;
    
}
.giant-review-text span {
    color: #06038d;
    font-weight: 300;
    font-size: 10px;
}
.giant-review-separator {
    color: #06038d !important;
    font-weight: 400 !important;
    font-size: 10px;
}
.catalog-product-view .product-info-stock-sku {
    display: none !important;
}
.giant-sizing-trigger {
    order: 5 !important;
}
.giant-stock-sku {
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    margin: 8px 0;
    order: 6 !important;
}
.giant-stock-sku__product {
    color: #888;
}
.giant-stock-sku__separator {
    color: #888;
    margin: 0 4px;
}
.giant-stock-sku__status--available {
    color: #4a8c3f;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 11px;
}
.giant-stock-sku__status--unavailable {
    color: #c00;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 11px;
}
.swatch-opt {
    margin: 0px !important ;
}
.swatch-option.image {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 3px solid #eee;
    background: #aaa;
    position: relative;
}
.product-info-main .product.attribute.sku {
    font-size: 1.1rem !important;
    color: #888 !important;
}
span.price-label {
    display: none !important;
}
.product-info-main .product-info-price, .product-options-bottom .product-info-price ¨{
    margin-bottom: 15px !important;
}
.fotorama__nav.fotorama__nav--thumbs {
    text-align: center;
}
.fotorama__thumb-border {
    border: none;
}
.review-form-actions button.action.submit.primary {
    background: #f5f5f5;
    border: 1px solid #ddd;
    color: #000;
    line-height: 35px;
    padding: 0 15px;
    display: inline-block;
    font-weight: 500;
    text-transform: capitalize;
    font-size: 14px;
}
.review-fields-wrapper {
    background: #fff;
}
legend.legend.review-legend span {
    margin: 0 0 30px;
    font-weight: 800;
    letter-spacing: -.1rem;
    font-size: 30px;
}
div#additional {
    display: none;
}
.similares .product-item-actions {
    display: none;
}
a.post-item-link, h2.post-title {
    color: #444;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: .1rem;
    transition: all .2s ease;
    margin: 0 0 10px 0;
}
.post-list.blog-style-modern article .post-description, .item.post-categories {
    display: none !important;
}
span.item.post-posed-date{
color: #666;
    text-transform: uppercase;
    font-size: 11px;
    margin: 0 0 10px 0;
    letter-spacing: .05rem;
}
.post-links {
    display: none !important;
}
.post-list.blog-style-modern article .post-title {
font-size: 28px;
margin-bottom: 16px;
text-align: center;
line-height: 20px;
}
.post-list.blog-style-modern article .post-title {
text-align: center;
line-height: 20px;
color: #444 !important;
text-transform: uppercase;
font-weight: 700;
font-size: 1.8rem;
letter-spacing: .1rem !important;
transition: all .2s ease;
margin: 0 0 10px 0;
}
.post-list.blog-style-modern article .post-meta {
color: #666;
text-transform: uppercase;
font-size: 11px;
margin: 0 0 10px 0;
letter-spacing: .05rem;
text-align: center;
}
.post-list article .post-image-wrapper {
margin-bottom: 20px !important;
aspect-ratio: 3/2.2;
}
.banner.banner-video iframe {
width: 100% !important;
height: 100% !important;
}

.page-header .header__content {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    position: relative;
    min-height: 56px;
}

.page-header .logo__container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.page-header .logo__container .logo {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    z-index: 10;
}

.page-header .logo__container .logo img {
    max-height: 30px !important;
    max-width: 160px !important;
    width: auto !important;
}

.page-header .header__content .flex-left {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center;
    gap: 0;
    z-index: 3;
    position: relative;
    flex: 1 1 auto;
    min-height: 40px;
}

.page-header .flex-right {
    display: flex !important;
    align-items: center;
    gap: 12px;
    z-index: 3;
    position: relative;
}

.page-header .ox-megamenu {
    display: none !important;
}

.page-header .slide-out-menu--mobile,
.page-header .action.slide-out-menu--mobile,
.header--layout-2 .slide-out-menu--mobile,
.page-header .header__content .flex-left .slide-out-menu--mobile,
div.action.slide-out-menu--mobile,
.slide-out-menu--mobile.action {
    display: flex !important;
    align-items: center;
    cursor: pointer;
    padding: 8px;
    margin-right: 8px;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    position: static !important;
    clip: auto !important;
}

@media screen and (min-width: 1025px) {
    html body .page-wrapper .page-header .slide-out-menu--mobile,
    html body .page-wrapper .page-header .action.slide-out-menu--mobile,
    html body .slide-out-menu--mobile {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        position: static !important;
        clip: auto !important;
        overflow: visible !important;
    }
}

.page-header .slide-out-menu--mobile span,
.page-header .action.slide-out-menu--mobile > span {
    display: none !important;
}

.page-header .hamburger-menu-icon-small {
    width: 22px;
    height: 16px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.page-header .hamburger-menu-icon-small span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: #000;
    transition: all 0.3s ease;
}

.giant-hamburger {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 8px;
    margin-right: 12px;
    box-sizing: content-box;
    color: #000;
}

.giant-hamburger .burger-icon_svg {
    width: 40px;
    height: 20px;
}

body.cms-index-index .giant-hamburger {
    color: #fff;
}


.giant-nav-links {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-left: 8px;
}

.giant-nav-links a {
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #000;
    text-decoration: none;
    text-transform: capitalize;
    white-space: nowrap;
    letter-spacing: 0.02em;
    transition: color 0.2s ease;
}

.giant-nav-links a:hover {
    color: #0050fc;
}

.giant-search-btn {
    display: flex !important;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid #ccc;
    border-radius: 20px;
    color: #000;
    text-decoration: none;
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.giant-search-btn:hover {
    border-color: #000;
    color: #000;
}

.giant-search-btn svg {
    width: 14px;
    height: 14px;
}

.giant-search-inline {
    position: static;
}
.giant-search-inline .giant-search-form-wrap {
    display: none;
}
.header__content.giant-search-open .giant-search-btn {
    display: none !important;
}
.header__content.giant-search-open .giant-search-form-wrap {
    display: block !important;
    position: relative;
    z-index: 101;
}
.giant-search-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.35);
    z-index: 98;
    transition: opacity 0.25s ease;
}
body.giant-search-active .giant-search-overlay {
    display: block;
}
body.giant-search-active .page-header {
    z-index: 200 !important;
    position: relative;
}

.giant-search-form-wrap .form.minisearch {
    width: 100%;
    margin: 0;
    padding: 0;
}
.giant-search-form-wrap .search_form_wrap {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 10px;
    position: relative;
}
.giant-search-form-wrap .field.search {
    flex: 1;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    float: none !important;
}
.giant-search-form-wrap .field.search .control {
    border: none !important;
    padding: 0 !important;
    position: relative;
}
.giant-search-form-wrap .field.search .control .label,
.giant-search-form-wrap .field.search .control .flashing-cursor {
    display: none !important;
}
.giant-search-input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 2;
    color: #666;
}
.giant-search-input-icon svg {
    width: 18px;
    height: 18px;
}
.giant-search-form-wrap input#search {
    background: #F2F2F5 !important;
    border-radius: 20px !important;
    border: unset !important;
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #000;
    padding: 9px 15px 9px 40px !important;
    height: 40px !important;
    box-shadow: none !important;
    outline: none !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
}
.giant-search-form-wrap input#search::placeholder {
    color: #999;
}

.giant-search-clear {
    display: none;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    font-size: 22px;
    font-weight: 300;
    color: #666;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
    transition: color 0.15s;
    border: none;
    background: none;
    padding: 0;
    font-family: Arial, sans-serif;
}
.giant-search-clear:hover {
    color: #000;
}

.giant-search-close {
    flex-shrink: 0;
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #333 !important;
    text-decoration: underline !important;
    cursor: pointer;
    padding: 4px 0 4px 8px;
    white-space: nowrap;
}
.giant-search-close:hover {
    color: #000 !important;
}

.giant-search-form-wrap #search_autocomplete {
    position: absolute !important;
    top: 100% !important;
    left: -20px;
    right: -20px;
    margin-top: 12px;
    background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    padding: 8px 0;
    z-index: 9999;
}
.giant-search-form-wrap #search_autocomplete ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.giant-search-form-wrap #search_autocomplete li {
    padding: 10px 24px;
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 15px;
    color: #333;
    cursor: pointer;
    transition: background 0.15s;
}
.giant-search-form-wrap #search_autocomplete li:hover,
.giant-search-form-wrap #search_autocomplete li.selected {
    background: #f5f5f5;
}
.giant-search-form-wrap #search_autocomplete .amount {
    display: none;
}

.page-header {
    background-color: #fff !important;
    border-bottom: 1px solid #eee;
    position: sticky;
    top: 0;
    z-index: 100;
    transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease;
    width: 100%;
    min-height: 0 !important;
}

.page-header.giant-scrolled {
    background-color: #fff !important;
    border-bottom: 1px solid #eee;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

body.cms-index-index .page-header,
body.cms-index-index .page-header .sticky-wrapper,
body.cms-index-index .page-header .container,
body.cms-index-index .page-header .row,
body.cms-index-index .page-header .col,
body.cms-index-index .page-header .header__content-wrapper,
body.cms-index-index .page-header .header__content {
    background-color: transparent !important;
}

body.cms-index-index .page-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: transparent !important;
    border-bottom: none;
    z-index: 9999;
}

body.cms-index-index .page-header.giant-scrolled {
    background-color: #fff !important;
    border-bottom: 1px solid #eee;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

body.cms-index-index .page-header.giant-scrolled .sticky-wrapper,
body.cms-index-index .page-header.giant-scrolled .container,
body.cms-index-index .page-header.giant-scrolled .row,
body.cms-index-index .page-header.giant-scrolled .col,
body.cms-index-index .page-header.giant-scrolled .header__content-wrapper,
body.cms-index-index .page-header.giant-scrolled .header__content {
    background-color: transparent !important;
}

body.cms-index-index .page-header.giant-scrolled .giant-hamburger {
    color: #000;
}

body.cms-index-index .page-header.giant-scrolled .giant-nav-links a {
    color: #000;
}

body.cms-index-index .page-header.giant-scrolled .giant-nav-links a:hover {
    color: #0050fc;
}

body.cms-index-index .page-header.giant-scrolled .hamburger-menu-icon-small span {
    background-color: #000;
}

body.cms-index-index .page-header.giant-scrolled .logo__container .logo img {
    filter: none;
}

body.cms-index-index .page-header.giant-scrolled .giant-search-btn {
    border-color: #ccc;
    color: #000;
}

body.cms-index-index .page-header.giant-scrolled .giant-search-btn:hover {
    border-color: #000;
}

body.cms-index-index .page-header.giant-scrolled .flex-right .action,
body.cms-index-index .page-header.giant-scrolled .flex-right a,
body.cms-index-index .page-header.giant-scrolled .header-account-link,
body.cms-index-index .page-header.giant-scrolled .minicart-wrapper .action.showcart {
    color: #000 !important;
}

body.cms-index-index .page-header.giant-scrolled .minicart-wrapper .action.showcart .counter {
    background: #06038d;
    color: #fff;
}

body.cms-index-index .page-header.giant-scrolled .minicart-wrapper .action.showcart .counter .counter-number {
    color: #fff;
}

body.cms-index-index .page-header.giant-scrolled .header__item-account svg {
    color: #000;
}


body.cms-index-index .page-header .hamburger-menu-icon-small span {
    background-color: #fff;
}

body.cms-index-index .page-header .header__item-account svg {
    color: #fff;
}

body.cms-index-index .giant-nav-links a {
    color: #fff;
}

body.cms-index-index .giant-nav-links a:hover {
    color: rgba(255,255,255,0.7);
}

body.cms-index-index .page-header .logo__container {
    background-color: transparent !important;
}

body.cms-index-index .page-header .logo__container .logo img {
    filter: brightness(0) invert(1);
}

body.cms-index-index .page-header .logo__container .logo img.lazy {
    visibility: hidden;
    width: 0;
    height: 0;
}

body.cms-index-index .giant-search-btn {
    border-color: rgba(255,255,255,0.5);
    color: #fff;
}

body.cms-index-index .giant-search-btn:hover {
    border-color: #fff;
}

body.cms-index-index .page-header .flex-right .action,
body.cms-index-index .page-header .flex-right a,
body.cms-index-index .page-header .header-account-link,
body.cms-index-index .page-header .minicart-wrapper .action.showcart {
    color: #fff !important;
}

body.cms-index-index .page-header .minicart-wrapper .action.showcart .counter {
    background: #fff;
    color: #000;
}

body.cms-index-index .page-header .minicart-wrapper .action.showcart .counter .counter-number {
    color: #000;
}

body.cms-index-index .page-header .header__content {
    padding-top: 15px;
}

body.cms-index-index .page-main-full-width {
    padding-top: 0;
}

body.cms-index-index .content-wrapper-topbaritems {
    position: relative;
    z-index: 101;
}

body.cms-index-index .page-header {
    top: 0;
}

#giant-slide-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

#giant-slide-overlay.open {
    opacity: 1;
    visibility: visible;
}

#giant-slide-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 90%;
    max-width: 700px;
    height: 100%;
    background: #fff;
    z-index: 9999;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#giant-slide-menu.open {
    transform: translateX(0);
}

.giant-slide-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 28px;
    color: #000;
    cursor: pointer;
    z-index: 10;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}

.giant-slide-close:hover {
    color: #333;
}

.giant-slide-back {
    position: absolute;
    top: 16px;
    left: 16px;
    background: none;
    border: none;
    color: #000;
    cursor: pointer;
    z-index: 10;
    width: 40px;
    height: 40px;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.giant-slide-back.visible {
    display: flex;
}

.giant-slide-back:hover {
    color: #333;
}

.giant-slide-columns {
    display: flex;
    flex: 1;
    overflow-x: auto;
    overflow-y: hidden;
    padding-top: 60px;
}

.giant-slide-col {
    min-width: 50%;
    max-width: 50%;
    padding: 20px 30px;
    overflow-y: auto;
    border-right: 1px solid #eee;
    flex-shrink: 0;
}

.giant-slide-col:last-child {
    border-right: none;
}

.giant-slide-col-main {
    background: #fff;
}

.giant-slide-col-child {
    background: #f5f5f5;
}

.giant-slide-title {
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: #000;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee;
    letter-spacing: -0.02em;
}

.giant-slide-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.giant-slide-list li {
    margin-bottom: 4px;
}

.giant-slide-list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #000;
    text-decoration: none;
    padding: 10px 0;
    transition: color 0.2s ease;
}

.giant-slide-list li a:hover {
    color: #0050fc;
}

.giant-slide-list li.active > a {
    color: #0050fc;
}

.giant-slide-arrow {
    display: flex;
    align-items: center;
    color: #999;
    margin-left: 12px;
}

.giant-slide-showall {
    color: #0050fc !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    margin-bottom: 16px !important;
    display: block;
    padding: 8px 0 !important;
}

.giant-slide-col-child .giant-slide-list li a {
    font-weight: 400;
    font-size: 15px;
}

body.giant-menu-open {
    overflow: hidden;
}

.page-header .header-banner {
    display: none !important;
}

@media screen and (max-width: 1024px) {
    .giant-nav-links {
        display: none;
    }

    .giant-search-btn span {
        display: none;
    }

    .giant-search-btn {
        padding: 8px;
        border: none;
    }

    .page-header .logo__container .logo img {
        max-height: 24px !important;
        max-width: 120px !important;
    }

    .giant-slide-col {
        min-width: 100%;
        max-width: 100%;
    }

    #giant-slide-menu {
        width: 100%;
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .page-header .header__content {
        padding: 8px 0;
    }
}

.catalog-category-view .page-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.catalog-category-view .page-wrapper > .page-main:not(#maincontent) {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    pointer-events: none;
}

.catalog-category-view .page-wrapper > .page-main:not(#maincontent) .messages {
    pointer-events: auto;
}

.catalog-category-view .page-wrapper > .ox-nav-sections {
    display: none !important;
}

.giant-category-banner {
    width: 100%;
    min-height: 350px;
    background-color: #1a1a1a;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    align-items: flex-end;
    margin-top: -16px;
}

.giant-category-banner-overlay {
    width: 100%;
    padding: 40px 50px 50px;
    background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.15) 60%, transparent 100%);
    min-height: 350px;
    display: flex;
    align-items: flex-end;
}

.giant-category-banner-content {
    max-width: 600px;
}

.giant-category-title {
    color: #fff !important;
    font-size: 42px;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 10px;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.giant-category-description {
    color: rgba(255,255,255,0.9);
    font-size: 14px;
    line-height: 1.6;
    max-width: 550px;
}

.giant-category-description p {
    color: rgba(255,255,255,0.9);
    margin: 0;
}

.catalog-category-view .page-title-wrapper {
    display: none !important;
}

.catalog-category-view .category-image {
    display: none !important;
}

.catalog-category-view .category-description {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .giant-category-banner {
        min-height: 250px;
    }
    .giant-category-banner-overlay {
        min-height: 250px;
        padding: 30px 20px 30px;
    }
    .giant-category-title {
        font-size: 28px;
    }
    .giant-category-description {
        font-size: 13px;
    }
}

.page-footer {
    background-color: #0a0a5c !important;
}

.page-footer .footer.content {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    max-width: 100% !important;
}

.page-footer .copyright {
    display: none !important;
}

.above_footer_block {
    display: none !important;
}

.page-footer .block_newsletter_wrapper {
    display: none !important;
}

.page-footer .footer-block-content {
    display: none !important;
}

.giant-footer-new {
    background-color: #0a0a5c;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.giant-footer-main {
    position: relative;
    padding: 50px 40px 80px;
}

.giant-footer-heading {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
    text-transform: none;
}

.giant-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.giant-footer-links li {
    margin-bottom: 6px;
}

.giant-footer-links li a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    font-size: 13px;
    line-height: 1.8;
    transition: color 0.2s;
}

.giant-footer-links li a:hover {
    color: #fff;
    text-decoration: underline;
}

.giant-footer-newsletter .block.newsletter .title,
.giant-footer-newsletter .block.newsletter .block_newsletter_info {
    display: none !important;
}

.giant-footer-newsletter-note {
    color: rgba(255,255,255,0.5);
    font-size: 11px;
    margin-top: 8px;
    margin-bottom: 12px;
}

.giant-footer-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    line-height: 1.5;
    cursor: pointer;
}

.giant-footer-consent input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
}

.giant-footer-consent a {
    color: rgba(255,255,255,0.8);
    text-decoration: underline;
}

.giant-footer-watermark {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    width: 100%;
    pointer-events: none;
    text-align: center;
    z-index: 0;
}

.giant-footer-watermark .footer-logo {
    color: rgba(255,255,255,0.06);
    display: flex;
    justify-content: center;
    align-items: center;
}

.giant-footer-watermark .footer-logo svg {
    width: 80%;
    max-width: 900px;
    height: auto;
}

.giant-footer-main .container-fluid {
    position: relative;
    z-index: 1;
}

.giant-footer-bottom {
    background-color: #06038d;
    padding: 16px 40px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.giant-footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.giant-footer-bottom-left {
    flex: 1;
}

.giant-footer-bottom-center {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-size: 13px;
}

.giant-footer-country {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #fff;
}

.giant-footer-country svg {
    width: 16px;
    height: 16px;
}

.giant-footer-social-sep {
    color: rgba(255,255,255,0.3);
    margin: 0 4px;
}

.giant-footer-social {
    display: flex;
    align-items: center;
    gap: 12px;
}

.giant-footer-social a {
    color: #fff;
    display: flex;
    align-items: center;
    transition: opacity 0.2s;
}

.giant-footer-social a:hover {
    opacity: 0.7;
}

.giant-footer-bottom-right {
    flex: 1;
    text-align: right;
}

.giant-footer-bottom-right p {
    color: rgba(255,255,255,0.6);
    font-size: 11px;
    margin: 0;
    line-height: 1.6;
}

.giant-footer-bottom-right a {
    color: rgba(255,255,255,0.6);
    text-decoration: underline;
}

.giant-footer-bottom-right a:hover {
    color: #fff;
}

@media screen and (max-width: 991px) {
    .giant-footer-main {
        padding: 40px 20px 60px;
    }
    .giant-footer-main .row > div {
        margin-bottom: 30px;
    }
    .giant-footer-bottom {
        padding: 16px 20px;
    }
}

@media screen and (max-width: 767px) {
    .giant-footer-bottom-inner {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
    .giant-footer-bottom-left {
        display: none;
    }
    .giant-footer-bottom-right {
        text-align: center;
    }
}


.minicart-wrapper .action.showcart {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.minicart-wrapper .action.showcart .counter.qty {
    position: absolute;
    top: -6px;
    right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    background: #06038d;
    color: #fff;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
    font-family: 'Overpass', Arial, sans-serif;
    line-height: 18px;
    text-align: center;
    display: inline-block;
    z-index: 2;
}

.minicart-wrapper .action.showcart .counter.qty.empty {
    display: none;
}

.minicart-wrapper .action.showcart .counter.qty .counter-number {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 18px;
}

.minicart-wrapper .action.showcart .counter.qty._block-content-loading {
    display: none;
}

.minicart-wrapper .block-minicart {
    width: 100%;
    max-width: 100%;
    border: none;
    box-shadow: none;
    border-radius: 0;
    font-family: 'Overpass', Arial, sans-serif;
}

.block-minicart .block-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.giant-minicart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #eee;
    flex-shrink: 0;
}

.giant-minicart-title {
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 800;
    font-size: 18px;
    text-transform: uppercase;
    color: #000;
    letter-spacing: 0.5px;
}

.giant-minicart-close {
    background: none;
    border: 1px solid #ccc;
    cursor: pointer;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #000;
    transition: border-color 0.2s;
}

.giant-minicart-close:hover {
    border-color: #000;
}

.block-minicart .minicart-items-wrapper {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}

.block-minicart .minicart-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

.giant-minicart-item {
    padding: 20px 24px !important;
    border-bottom: 1px solid #eee;
}

.giant-minicart-item:last-child {
    border-bottom: none;
}

.giant-minicart-product {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.giant-minicart-photo {
    width: 90px !important;
    max-width: 90px !important;
    flex-shrink: 0;
    background: none;
    border-radius: 0;
}

.giant-minicart-photo .product-image-container {
    width: 90px !important;
    height: auto !important;
    max-width: 90px !important;
}

.giant-minicart-photo .product-image-wrapper {
    height: auto !important;
    padding-bottom: 100% !important;
}

.giant-minicart-photo .product-image-photo {
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
}

.giant-minicart-details {
    flex: 1;
    min-width: 0;
    padding-left: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.giant-minicart-details-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.giant-minicart-name {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0;
    display: block;
    flex: 1;
    min-width: 0;
}

.giant-minicart-name a {
    color: #000;
    text-decoration: none;
}

.giant-minicart-name a:hover {
    color: #06038d;
}

.giant-minicart-delete {
    color: #cc4444 !important;
    cursor: pointer;
    transition: color 0.2s;
    text-decoration: none !important;
    flex-shrink: 0;
    padding: 2px;
    line-height: 1;
    font-size: 18px;
}

.giant-minicart-delete:hover {
    color: #990000 !important;
}

.giant-minicart-delete span {
    display: none;
}

.giant-minicart-pricing-qty-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 4px;
}

.giant-minicart-pricing {
    flex: 1;
    min-width: 0;
}

.giant-minicart-pricing .price {
    font-size: 14px;
    font-weight: 600;
    color: #000;
}

.giant-minicart-pricing .old-price {
    display: block;
}

.giant-minicart-pricing .old-price .price {
    color: #cc0000;
    text-decoration: line-through;
    font-size: 13px;
    font-weight: 400;
}

.giant-minicart-options {
    margin-top: 6px;
    font-size: 13px;
    color: #666;
}

.giant-minicart-option-sep {
    color: #ccc;
    margin: 0 2px;
}

.giant-minicart-qty {
    flex-shrink: 0;
}

.giant-minicart-qty-select {
    width: 60px;
    height: 36px;
    border: 1px solid #ccc;
    border-radius: 0;
    font-size: 14px;
    font-family: 'Overpass', Arial, sans-serif;
    text-align: center;
    background: #fff;
    cursor: pointer;
    padding: 0 8px;
    appearance: auto;
    -webkit-appearance: auto;
    -moz-appearance: auto;
}

.giant-minicart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    flex: 1;
}

.giant-minicart-empty-icon {
    margin-bottom: 16px;
}

.giant-minicart-empty .subtitle {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 24px;
    text-align: center;
}

.giant-btn-continue {
    background: #06038d;
    color: #fff;
    border: none;
    padding: 14px 30px;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Overpass', Arial, sans-serif;
    cursor: pointer;
    transition: background 0.2s;
    border-radius: 5px;
}

.giant-btn-continue:hover {
    background: #0400b5;
}

.giant-minicart-footer {
    border-top: 1px solid #eee;
    padding: 0;
    flex-shrink: 0;
}

.giant-minicart-footer .subtotal {
    display: none !important;
}

.giant-minicart-total {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 16px 24px;
    border-top: 1px solid #eee;
}

.giant-minicart-total-label {
    font-size: 16px;
    font-weight: 800;
    color: #000;
}

.giant-minicart-total-amount {
    text-align: right;
}

.giant-minicart-total-amount .price {
    font-size: 16px;
    font-weight: 800;
    color: #000;
    display: block;
}

.giant-minicart-tax-note {
    font-size: 12px;
    color: #666;
    font-weight: 400;
    display: block;
    margin-top: 2px;
}

.giant-minicart-actions {
    padding: 0 24px 24px;
}

.giant-btn-checkout {
    width: 100%;
    background: #06038d;
    color: #fff !important;
    border: none;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
    font-family: 'Overpass', Arial, sans-serif;
    display: block;
    text-align: center;
}

.giant-btn-checkout:hover {
    background: #0400b5;
}

.giant-link-continue {
    display: block;
    text-align: center;
    margin-top: 14px;
    color: #06038d;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.giant-link-continue:hover {
    color: #0400b5;
}

.block-minicart .items-total,
.block-minicart .subtitle:not(.empty),
.block-minicart .message.success {
    display: none !important;
}

.block-minicart .ox-overlay-close-btn,
.block-minicart #btn-minicart-close.ox-overlay-close-btn {
    display: none !important;
}

.block-minicart .dropdown-bottom-wrapper {
    display: none !important;
}



/* ==========================================================================
   CHECKOUT PAGE — Giant Global Reference Design
   DOM: .checkout-container > .opc-wrapper > .opc-wrapper-boxed > ol#checkoutSteps > li
        .checkout-container > aside.modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide
   ========================================================================== */

.checkout-index-index {
    font-family: 'Overpass', Arial, sans-serif !important;
    background: #fff !important;
}

/* --- Header: minimal, just logo --- */
.checkout-index-index .page-header {
    background: #fff !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 15px 0 !important;
    box-shadow: none !important;
}
.checkout-index-index .page-header .sticky-wrapper {
    box-shadow: none !important;
    border-bottom: none !important;
}
.checkout-index-index .page-header .logo__container {
    text-align: left !important;
}
.checkout-index-index .page-header .logo img {
    max-height: 28px !important;
    height: 28px !important;
}
.checkout-index-index .page-header .flex-right {
    display: none !important;
}
.checkout-index-index .page-header .flex-left .hamburger-icon,
.checkout-index-index .page-header .flex-left .nav-link {
    display: none !important;
}

/* --- Page Main --- */
.checkout-index-index .page-main {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 40px 30px 60px !important;
}

/* --- Page Title: "PROCESO DE COMPRA" --- */
.checkout-index-index .page-title-wrapper {
    margin-bottom: 32px !important;
}
.checkout-index-index .page-title {
    font-family: 'Overpass', Arial, sans-serif !important;
    font-weight: 800 !important;
    font-size: 28px !important;
    text-transform: uppercase !important;
    color: #1a1a2e !important;
    letter-spacing: 1px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

/* --- CHECKOUT CONTAINER: Two-column flex layout --- */
.checkout-index-index .checkout-container {
    display: flex !important;
    gap: 50px !important;
    align-items: flex-start !important;
    margin: 0 !important;
    position: relative !important;
}
.checkout-index-index .checkout-container::before,
.checkout-index-index .checkout-container::after {
    display: none !important;
    content: none !important;
}

/* --- OPC WRAPPER (left column with steps) --- */
.checkout-index-index .opc-wrapper {
    font-family: 'Overpass', Arial, sans-serif !important;
    width: auto !important;
    float: none !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 1 !important;
}
.checkout-index-index .opc-wrapper .opc-wrapper-boxed {
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border: none !important;
}
.checkout-index-index .opc-progress-bar {
    display: none !important;
}
.checkout-index-index .opc-estimated-wrapper {
    display: none !important;
}

/* --- CHECKOUT STEPS: Accordion list --- */
.checkout-index-index #checkoutSteps {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    counter-reset: checkout-step !important;
    border: none !important;
}
.checkout-index-index #checkoutSteps > li {
    border-bottom: 1px solid #ddd !important;
    padding: 0 !important;
    margin: 0 !important;
    counter-increment: checkout-step !important;
    background: #fff !important;
    position: relative !important;
}
.checkout-index-index #checkoutSteps > li:first-child {
    border-top: 1px solid #ddd !important;
}

/* --- Step Title: Circle number + title text --- */
.checkout-index-index .opc-wrapper .step-title {
    font-family: 'Overpass', Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    text-transform: none !important;
    border: none !important;
    padding: 20px 20px 20px 60px !important;
    margin: 0 !important;
    color: #888 !important;
    cursor: pointer !important;
    display: block !important;
    line-height: 1.4 !important;
    letter-spacing: 0.3px !important;
    position: relative !important;
    background: transparent !important;
    transition: color 0.15s !important;
}

/* Circle number indicator */
.checkout-index-index .opc-wrapper .step-title::before {
    content: counter(checkout-step) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    border: 2px solid #ccc !important;
    background: #fff !important;
    color: #999 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* No chevron arrow */
.checkout-index-index .opc-wrapper .step-title::after {
    display: none !important;
}

/* --- ACTIVE step: filled blue circle, bold title --- */
.checkout-index-index #checkoutSteps > li._active .step-title {
    font-weight: 600 !important;
    color: #1a1a2e !important;
    background: transparent !important;
    border: none !important;
}
.checkout-index-index #checkoutSteps > li._active .step-title::before {
    background: #1a1a2e !important;
    border-color: #1a1a2e !important;
    color: #fff !important;
}

/* --- INACTIVE: hide content --- */
.checkout-index-index #checkoutSteps > li:not(._active) .step-content {
    display: none !important;
}
/* Special case: shipping method step shows when shipping address is active */
.checkout-index-index #checkoutSteps > li#shipping._active ~ li#opc-shipping_method .step-content {
    display: block !important;
}

/* --- Step content area --- */
.checkout-index-index .opc-wrapper .step-content {
    padding: 0 20px 30px 60px !important;
    margin: 0 !important;
    background: #fff !important;
}

/* --- Forms & Fields --- */
.checkout-index-index .opc-wrapper .form-login,
.checkout-index-index .opc-wrapper .form-shipping-address {
    max-width: 100% !important;
}
.checkout-index-index .fieldset > .field {
    margin-bottom: 16px !important;
}
.checkout-index-index .field .label {
    font-family: 'Overpass', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 5px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* --- Inputs: Override Olegnax underlined style --- */
.checkout-index-index .field .control input[type="text"],
.checkout-index-index .field .control input[type="email"],
.checkout-index-index .field .control input[type="password"],
.checkout-index-index .field .control input[type="tel"],
.checkout-index-index .field .control input[type="number"],
.checkout-index-index .field .control input[type="url"],
.checkout-index-index .field .control input[type="search"],
.checkout-index-index .field .control input[type="datetime"],
.checkout-index-index .field .control select,
.checkout-index-index .field .control textarea,
.inputs-style--underlined.checkout-index-index input[type="text"],
.inputs-style--underlined.checkout-index-index input[type="email"],
.inputs-style--underlined.checkout-index-index input[type="password"],
.inputs-style--underlined.checkout-index-index input[type="tel"],
.inputs-style--underlined.checkout-index-index input[type="number"],
.inputs-style--underlined.checkout-index-index input[type="url"],
.inputs-style--underlined.checkout-index-index input[type="search"],
.inputs-style--underlined.checkout-index-index input[type="datetime"],
.inputs-style--underlined.checkout-index-index select,
.inputs-style--underlined.checkout-index-index textarea {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
    font-size: 14px !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    transition: border-color 0.2s !important;
    background: #fff !important;
    background-color: #fff !important;
    height: 42px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    color: #333 !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}
.checkout-index-index .field .control select,
.inputs-style--underlined.checkout-index-index select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-color: #fff !important;
    padding-right: 36px !important;
}
.checkout-index-index .field .control textarea,
.inputs-style--underlined.checkout-index-index textarea {
    height: auto !important;
    min-height: 80px !important;
}
.checkout-index-index .field .control input:focus,
.checkout-index-index .field .control select:focus,
.checkout-index-index .field .control textarea:focus,
.inputs-style--underlined.checkout-index-index input:focus,
.inputs-style--underlined.checkout-index-index select:focus,
.inputs-style--underlined.checkout-index-index textarea:focus {
    border-color: #06038d !important;
    border: 1px solid #06038d !important;
    outline: none !important;
    box-shadow: none !important;
}
.checkout-index-index .field .control input::placeholder,
.inputs-style--underlined.checkout-index-index input::placeholder {
    color: #aaa !important;
}
.checkout-index-index .field._required > .label::after {
    color: #e74c3c !important;
    content: ' *' !important;
}

/* --- Buttons --- */
.checkout-index-index .action.primary {
    background: #06038d !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 32px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.3px !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    border-radius: 4px !important;
    min-width: auto !important;
    text-align: center !important;
    margin-top: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    line-height: 1.4 !important;
    height: auto !important;
}
.checkout-index-index .action.primary:hover {
    background: #0400b5 !important;
}
.checkout-index-index .action.primary:active {
    background: #030278 !important;
}
.checkout-index-index .action.secondary,
.checkout-index-index .action-show-popup,
.checkout-index-index .action.action-select-shipping-item {
    background: transparent !important;
    color: #06038d !important;
    border: 1px solid #06038d !important;
    padding: 10px 24px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    transition: all 0.2s !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
}
.checkout-index-index .action.secondary:hover,
.checkout-index-index .action-show-popup:hover {
    background: #06038d !important;
    color: #fff !important;
}
.checkout-index-index .action.remind,
.checkout-index-index .action.action-cancel {
    background: transparent !important;
    border: none !important;
    color: #06038d !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    padding: 0 !important;
    cursor: pointer !important;
    font-family: 'Overpass', Arial, sans-serif !important;
}

/* --- Shipping method next button --- */
.checkout-index-index .checkout-shipping-method .actions-toolbar .action.primary {
    margin-top: 20px !important;
}

/* --- Authentication wrapper --- */
.checkout-index-index .authentication-wrapper {
    margin-bottom: 10px !important;
}
.checkout-index-index .authentication-wrapper .action-auth-toggle {
    font-size: 13px !important;
    color: #06038d !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    font-family: 'Overpass', Arial, sans-serif !important;
}
.checkout-index-index .block-authentication {
    display: flex !important;
    gap: 40px !important;
    flex-wrap: wrap !important;
}
.checkout-index-index .block-authentication .block-title {
    font-weight: 700 !important;
    font-size: 15px !important;
    margin-bottom: 8px !important;
}
.checkout-index-index .block-authentication .block-content {
    font-size: 14px !important;
    color: #555 !important;
}
.checkout-index-index .form-login .actions-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 16px !important;
}
.checkout-index-index .form-login .actions-toolbar .primary {
    flex-shrink: 0 !important;
}
.checkout-index-index .form-login .actions-toolbar .secondary {
    flex-shrink: 0 !important;
}

/* ==========================================================================
   SIDEBAR — "TU PEDIDO" — Override all Magento modal/custom-slide behavior
   The <aside> has classes: modal-custom opc-sidebar opc-summary-wrapper custom-slide
   Magento JS wraps the sidebar in a modal; we must kill ALL modal positioning.
   ========================================================================== */

/* Kill the Magento modal overlay on checkout */
.checkout-index-index .modals-overlay,
.checkout-index-index .modal-custom-overlay {
    display: none !important;
}

/* Force the aside.custom-slide sidebar out of modal behavior */
.checkout-index-index aside.modal-custom.opc-sidebar,
.checkout-index-index .opc-sidebar.custom-slide,
.checkout-index-index .opc-summary-wrapper.custom-slide,
.checkout-index-index aside.opc-sidebar,
.checkout-index-index .opc-sidebar {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    float: none !important;
    flex-shrink: 0 !important;
    order: 2 !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: auto !important;
    transform: none !important;
    transition: none !important;
    overflow: visible !important;
    height: auto !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-overflow-scrolling: auto !important;
    pointer-events: auto !important;
    font-family: 'Overpass', Arial, sans-serif !important;
}

/* Kill modal-inner-wrap styling */
.checkout-index-index .opc-sidebar .modal-inner-wrap,
.checkout-index-index aside.modal-custom .modal-inner-wrap {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    height: auto !important;
    overflow: visible !important;
    position: static !important;
    transform: none !important;
    transition: none !important;
    width: 100% !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Kill modal-content wrapper */
.checkout-index-index .opc-sidebar .modal-content {
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}

/* Hide modal header (close button) on desktop */
.checkout-index-index .opc-sidebar .modal-header {
    display: none !important;
}

/* --- Order Summary Block --- */
.checkout-index-index .opc-block-summary {
    background: #fff !important;
    padding: 24px !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

/* "TU PEDIDO" / "Order Summary" title */
.checkout-index-index .opc-block-summary > .title {
    font-family: 'Overpass', Arial, sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
    margin-top: 0 !important;
    letter-spacing: 0.5px !important;
    color: #1a1a2e !important;
    line-height: 1.3 !important;
}

/* Items in cart section */
.checkout-index-index .opc-block-summary .items-in-cart {
    border: none !important;
}
.checkout-index-index .opc-block-summary .items-in-cart > .title {
    font-size: 13px !important;
    font-weight: 700 !important;
    border: none !important;
    padding: 0 0 12px 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    color: #333 !important;
    overflow: visible !important;
    position: relative !important;
}
.checkout-index-index .opc-block-summary .items-in-cart > .title::after {
    font-size: 10px !important;
    line-height: 1 !important;
    position: static !important;
    margin-left: 6px !important;
}
.checkout-index-index .opc-block-summary .items-in-cart > .title > span {
    clip: auto !important;
    height: auto !important;
    width: auto !important;
    position: static !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* Product items list */
.checkout-index-index .opc-block-summary .minicart-items {
    margin: 0 !important;
    padding: 0 !important;
    max-height: none !important;
}
.checkout-index-index .opc-block-summary .minicart-items .product-item {
    padding: 12px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
.checkout-index-index .opc-block-summary .product-item .product {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

/* Product image */
.checkout-index-index .opc-block-summary .product-image-container {
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    display: block !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}
.checkout-index-index .opc-block-summary .product-image-container .product-image-wrapper {
    padding-bottom: 0 !important;
    height: 50px !important;
}
.checkout-index-index .opc-block-summary .product-image-container img {
    width: 50px !important;
    height: 50px !important;
    object-fit: contain !important;
    max-width: 50px !important;
    position: static !important;
}

/* Product name */
.checkout-index-index .opc-block-summary .product-item-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* Product details */
.checkout-index-index .opc-block-summary .product-item-details {
    flex: 1 !important;
    min-width: 0 !important;
}
.checkout-index-index .opc-block-summary .product-item-details .details-qty {
    display: inline !important;
    margin-top: 4px !important;
    font-size: 12px !important;
    color: #888 !important;
}
.checkout-index-index .opc-block-summary .product-item-details .details-qty .label {
    font-size: 12px !important;
    color: #888 !important;
    font-weight: 400 !important;
}
.checkout-index-index .opc-block-summary .product-item-details .details-qty .value {
    font-size: 12px !important;
    color: #888 !important;
}

/* Product price inside item */
.checkout-index-index .opc-block-summary .product-item-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 10px !important;
}
.checkout-index-index .opc-block-summary .subtotal {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    white-space: nowrap !important;
    text-align: right !important;
    flex-shrink: 0 !important;
}
.checkout-index-index .opc-block-summary .old-price .price {
    text-decoration: line-through !important;
    color: #999 !important;
}

/* Totals table */
.checkout-index-index .opc-block-summary .table-totals {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 16px !important;
    border-top: 1px solid #e0e0e0 !important;
    padding-top: 12px !important;
}
.checkout-index-index .opc-block-summary .table-totals .mark {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #555 !important;
    text-align: left !important;
    padding: 6px 0 !important;
    font-family: 'Overpass', Arial, sans-serif !important;
}
.checkout-index-index .opc-block-summary .table-totals .amount {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-align: right !important;
    padding: 6px 0 !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    white-space: nowrap !important;
}

/* Grand total row */
.checkout-index-index .opc-block-summary .grand.totals {
    border-top: 1px solid #ddd !important;
}
.checkout-index-index .opc-block-summary .grand.totals .mark {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    padding-top: 12px !important;
}
.checkout-index-index .opc-block-summary .grand.totals .amount {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    padding-top: 12px !important;
}

/* Discount/Coupon link */
.checkout-index-index .opc-block-summary .discount-code,
.checkout-index-index .opc-block-summary .block.discount {
    margin-top: 12px !important;
    border: none !important;
    padding: 0 !important;
}
.checkout-index-index .opc-block-summary .action.action-toggle {
    color: #06038d !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    font-family: 'Overpass', Arial, sans-serif !important;
}

/* Shipping information block */
.checkout-index-index .opc-block-shipping-information {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid #e0e0e0 !important;
}
.checkout-index-index .opc-block-shipping-information .shipping-information-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
    border: none !important;
}
.checkout-index-index .opc-block-shipping-information .shipping-information-content {
    font-size: 13px !important;
    color: #555 !important;
    line-height: 1.6 !important;
}

/* --- Shipping Methods Table --- */
.checkout-index-index .table-checkout-shipping-method {
    width: 100% !important;
    border-collapse: collapse !important;
}
.checkout-index-index .table-checkout-shipping-method thead {
    display: none !important;
}
.checkout-index-index .table-checkout-shipping-method tbody tr {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #eee !important;
}
.checkout-index-index .table-checkout-shipping-method tbody tr td {
    font-size: 14px !important;
    color: #333 !important;
    padding: 0 !important;
    border: none !important;
}
.checkout-index-index .table-checkout-shipping-method .col-method input[type="radio"] {
    accent-color: #06038d !important;
    width: 18px !important;
    height: 18px !important;
}
.checkout-index-index .table-checkout-shipping-method .col-carrier,
.checkout-index-index .table-checkout-shipping-method .col-method {
    font-weight: 400 !important;
}
.checkout-index-index .table-checkout-shipping-method .col-price {
    margin-left: auto !important;
    font-weight: 600 !important;
}

.checkout-index-index .checkout-shipping-method .actions-toolbar .action.primary {
    width: 100% !important;
    padding: 14px 30px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.checkout-index-index .opc-wrapper .form-discount {
    max-width: 100% !important;
}
.checkout-index-index .opc-summary-wrapper .modal-header .action-close {
    display: none !important;
}

/* --- Payment method --- */
.checkout-index-index .checkout-payment-method .legend {
    display: none !important;
}
.checkout-index-index .checkout-payment-method .payment-method-title {
    padding: 12px 0 !important;
    border-bottom: 1px solid #eee !important;
}
.checkout-index-index .checkout-payment-method .payment-method-title .label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.checkout-index-index .checkout-payment-method .payment-method-content {
    padding: 16px 0 !important;
}
.checkout-index-index .checkout-payment-method .payment-method input[type="radio"] {
    accent-color: #06038d !important;
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px !important;
}
.checkout-index-index input[type="checkbox"] {
    accent-color: #06038d !important;
    width: 16px !important;
    height: 16px !important;
}
.checkout-index-index .checkout-agreements-block {
    margin-top: 16px !important;
}
.checkout-index-index .checkout-agreements-block .checkout-agreement label {
    font-size: 13px !important;
    color: #555 !important;
}
.checkout-index-index .checkout-agreements-block .checkout-agreement a {
    color: #06038d !important;
}
.checkout-index-index .actions-toolbar .primary button.action.primary.checkout {
    width: 100% !important;
    padding: 16px 30px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* --- Mobile responsive --- */
@media (max-width: 768px) {
    .checkout-index-index .checkout-container {
        flex-direction: column !important;
    }
    .checkout-index-index .opc-wrapper {
        width: 100% !important;
        float: none !important;
        padding-right: 0 !important;
    }
    .checkout-index-index aside.modal-custom.opc-sidebar,
    .checkout-index-index .opc-sidebar.custom-slide,
    .checkout-index-index .opc-sidebar {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        float: none !important;
        position: static !important;
        margin-top: 20px !important;
    }
    .checkout-index-index .opc-sidebar .modal-header {
        display: block !important;
    }
    .checkout-index-index .opc-sidebar .modal-header .action-close {
        display: inline-block !important;
    }
    .checkout-index-index .page-main {
        padding: 16px 12px 40px !important;
    }
    .checkout-index-index .opc-block-summary {
        padding: 16px !important;
    }
    .checkout-index-index .opc-wrapper .opc-wrapper-boxed {
        padding: 0 !important;
    }
    .checkout-index-index .opc-wrapper .step-title {
        padding: 16px 16px 16px 50px !important;
        font-size: 16px !important;
    }
    .checkout-index-index .opc-wrapper .step-title::before {
        left: 12px !important;
        width: 26px !important;
        height: 26px !important;
        font-size: 12px !important;
    }
    .checkout-index-index .opc-wrapper .step-content {
        padding: 0 16px 24px 50px !important;
    }
    .checkout-index-index .page-title {
        font-size: 22px !important;
    }
}

.checkout-cart-index {
    font-family: 'Overpass', Arial, sans-serif;
}

.checkout-cart-index .page-main {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 40px 30px 60px !important;
}

.checkout-cart-index .page-title-wrapper {
    margin-bottom: 30px !important;
}

.checkout-cart-index .page-title {
    font-family: 'Overpass', Arial, sans-serif !important;
    font-weight: 800 !important;
    font-size: 26px !important;
    text-transform: uppercase !important;
    color: #1a1a2e !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
}

.checkout-cart-index .cart-container {
    font-family: 'Overpass', Arial, sans-serif;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    align-items: flex-start !important;
}

.checkout-cart-index .cart-container > * {
    order: 99;
}

.checkout-cart-index .cart-container .cart.page-title-wrapper {
    flex-basis: 100% !important;
    width: 100% !important;
    order: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
}

.checkout-cart-index .cart-container .cart.page-title-wrapper .page-title {
    font-family: 'Overpass', Arial, sans-serif !important;
    font-weight: 800 !important;
    font-size: 26px !important;
    text-transform: uppercase !important;
    color: #1a1a2e !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.checkout-cart-index .cart-container .cart.page-title-wrapper .action.primary.checkout {
    display: none !important;
}

.checkout-cart-index .cart-container .form-cart {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    order: 1 !important;
    width: auto !important;
    float: none !important;
}

.checkout-cart-index .cart-summary {
    width: 320px !important;
    max-width: 320px !important;
    flex-shrink: 0 !important;
    order: 2 !important;
    background: #f9f9fb !important;
    padding: 24px !important;
    border: 1px solid #e5e5e5 !important;
    float: none !important;
    position: sticky !important;
    top: 20px;
}

.checkout-cart-index .cart-container .crosssell {
    order: 3 !important;
    width: 100% !important;
    flex-basis: 100% !important;
}

.checkout-cart-index .cart.table-wrapper {
    border: none !important;
    overflow: visible !important;
}

.checkout-cart-index .cart.table-wrapper table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.checkout-cart-index .cart.table-wrapper thead th {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: #888 !important;
    padding: 12px 10px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    letter-spacing: 0.5px !important;
    background: transparent !important;
}

.checkout-cart-index .cart.table-wrapper tbody.cart.item {
    border-bottom: 1px solid #eee !important;
}

.checkout-cart-index .cart.table-wrapper .item-info td {
    padding: 20px 10px !important;
    vertical-align: middle !important;
}

.checkout-cart-index .cart.table-wrapper .col.item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.checkout-cart-index .cart.table-wrapper .product-item-photo {
    width: 100px !important;
    max-width: 100px !important;
    flex-shrink: 0 !important;
}

.checkout-cart-index .cart.table-wrapper .product-image-container {
    width: 100px !important;
    height: 100px !important;
}

.checkout-cart-index .cart.table-wrapper .product-image-photo {
    width: 100px !important;
    height: 100px !important;
    object-fit: contain !important;
}

.checkout-cart-index .cart.table-wrapper .product-item-details {
    flex: 1 !important;
    min-width: 0 !important;
}

.checkout-cart-index .cart.table-wrapper .product-item-name {
    margin-bottom: 4px !important;
}

.checkout-cart-index .cart.table-wrapper .product-item-name a {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
}

.checkout-cart-index .cart.table-wrapper .product-item-name a:hover {
    color: #06038d !important;
}

.checkout-cart-index .cart.table-wrapper .item-options {
    margin-top: 6px !important;
}

.checkout-cart-index .cart.table-wrapper .item-options dt {
    font-size: 12px !important;
    color: #888 !important;
    font-weight: 400 !important;
    display: inline !important;
}

.checkout-cart-index .cart.table-wrapper .item-options dd {
    font-size: 12px !important;
    color: #555 !important;
    display: inline !important;
    margin: 0 8px 0 2px !important;
}

.checkout-cart-index .cart.table-wrapper .price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
}

.checkout-cart-index .cart.table-wrapper .old-price .price {
    color: #cc0000 !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
    font-size: 13px !important;
}

.checkout-cart-index .cart.table-wrapper .col.qty {
    text-align: center !important;
}

.checkout-cart-index .cart.table-wrapper .qty .label {
    display: none !important;
}

.checkout-cart-index .cart.table-wrapper .qty-controls-wrap {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #ddd !important;
}

.checkout-cart-index .cart.table-wrapper .qty-controls-wrap .qty-minus,
.checkout-cart-index .cart.table-wrapper .qty-controls-wrap .qty-plus {
    width: 32px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #666 !important;
    font-size: 16px !important;
    user-select: none !important;
    background: #f8f8f8 !important;
    border: none !important;
}

.checkout-cart-index .cart.table-wrapper .qty-controls-wrap .qty-minus:hover,
.checkout-cart-index .cart.table-wrapper .qty-controls-wrap .qty-plus:hover {
    background: #eee !important;
    color: #000 !important;
}

.checkout-cart-index .cart.table-wrapper .qty input {
    width: 44px !important;
    height: 36px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    -moz-appearance: textfield !important;
}

.checkout-cart-index .cart.table-wrapper .qty input::-webkit-outer-spin-button,
.checkout-cart-index .cart.table-wrapper .qty input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.checkout-cart-index .cart.table-wrapper .col.subtotal .price {
    font-size: 15px !important;
    font-weight: 800 !important;
}

.checkout-cart-index .cart.table-wrapper .col.actions {
    text-align: center !important;
}

.checkout-cart-index .cart.table-wrapper .action-delete {
    color: #cc4444 !important;
    font-size: 0 !important;
    display: inline-block !important;
    position: relative !important;
}

.checkout-cart-index .cart.table-wrapper .action-delete::before {
    content: '' !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6h18M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2m3 0v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6h14z' stroke='%23cc4444' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 11v6M14 11v6' stroke='%23cc4444' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.checkout-cart-index .cart.table-wrapper .action-delete:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6h18M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2m3 0v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6h14z' stroke='%23990000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 11v6M14 11v6' stroke='%23990000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.checkout-cart-index .cart.table-wrapper .action-delete span {
    display: none !important;
}

.checkout-cart-index .cart.table-wrapper .item-actions {
    display: none !important;
}

.checkout-cart-index .cart.main.actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 20px 0 !important;
    border-top: 1px solid #e5e5e5 !important;
    margin-top: 0 !important;
}

.checkout-cart-index .cart.main.actions .action.continue {
    color: #06038d !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-right: auto !important;
}

.checkout-cart-index .cart.main.actions .action.continue:hover {
    color: #0400b5 !important;
    text-decoration: underline !important;
}

.checkout-cart-index .cart.main.actions .action.update {
    background: transparent !important;
    color: #06038d !important;
    border: 1px solid #06038d !important;
    padding: 10px 24px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    transition: all 0.2s !important;
}

.checkout-cart-index .cart.main.actions .action.update:hover {
    background: #06038d !important;
    color: #fff !important;
}

.checkout-cart-index .cart.main.actions .action.clear {
    display: none !important;
}

.checkout-cart-index .cart-summary .summary.title {
    font-family: 'Overpass', Arial, sans-serif !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 1px solid #ddd !important;
    padding-bottom: 14px !important;
    margin-bottom: 16px !important;
    color: #1a1a2e !important;
}

.checkout-cart-index .cart-totals {
    margin-top: 12px !important;
}

.checkout-cart-index .cart-totals .table-wrapper {
    border: none !important;
}

.checkout-cart-index .cart-totals table {
    width: 100% !important;
}

.checkout-cart-index .cart-totals th,
.checkout-cart-index .cart-totals td {
    padding: 6px 0 !important;
    font-size: 14px !important;
}

.checkout-cart-index .cart-totals .grand.totals th,
.checkout-cart-index .cart-totals .grand.totals td {
    font-weight: 800 !important;
    font-size: 16px !important;
    border-top: 1px solid #ddd !important;
    padding-top: 12px !important;
}

.checkout-cart-index .cart-totals .grand.totals .amount .price {
    font-size: 18px !important;
    font-weight: 800 !important;
}

.checkout-cart-index .checkout-methods-items {
    margin-top: 20px !important;
    padding: 0 !important;
    list-style: none !important;
}

.checkout-cart-index .checkout-methods-items .action.primary,
.checkout-cart-index .checkout-methods-items .action.primary.checkout {
    background: #06038d !important;
    color: #fff !important;
    border: none !important;
    padding: 16px 30px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    width: 100% !important;
    text-align: center !important;
    transition: background 0.2s !important;
    display: block !important;
    box-sizing: border-box !important;
}

.checkout-cart-index .checkout-methods-items .action.primary:hover,
.checkout-cart-index .checkout-methods-items .action.primary.checkout:hover {
    background: #0400b5 !important;
}

.checkout-cart-index .checkout-methods-items .action.multicheckout,
.checkout-cart-index .action.multicheckout {
    display: none !important;
}

.checkout-cart-index .cart-container .rewards {
    display: none !important;
}

.checkout-cart-index .cart-empty {
    text-align: center !important;
    padding: 80px 20px !important;
    font-family: 'Overpass', Arial, sans-serif !important;
}

.giant-cart-empty-icon {
    margin-bottom: 24px !important;
}

.checkout-cart-index .cart-empty .athlete2-icon-cart {
    display: none !important;
}

.checkout-cart-index .cart-empty .cart-empty-big-text {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

.checkout-cart-index .cart-empty p {
    font-size: 14px !important;
    color: #555 !important;
}

.checkout-cart-index .cart-empty .giant-btn-back-shop,
.checkout-cart-index .cart-empty a.button {
    display: inline-block !important;
    background: #06038d !important;
    color: #fff !important;
    padding: 16px 40px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-top: 16px !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    border-radius: 4px !important;
    transition: background 0.2s !important;
    text-transform: uppercase !important;
}

.checkout-cart-index .cart-empty .giant-btn-back-shop:hover,
.checkout-cart-index .cart-empty a.button:hover {
    background: #0400b5 !important;
}

.checkout-cart-index .cart-discount {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid #eee !important;
}

.checkout-cart-index .cart-discount .title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a2e !important;
    cursor: pointer !important;
}

.checkout-cart-index .cart-discount .fieldset .field {
    margin-bottom: 8px !important;
}

.checkout-cart-index .cart-discount .fieldset .field input {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #ddd !important;
    font-size: 14px !important;
    font-family: 'Overpass', Arial, sans-serif !important;
    box-sizing: border-box !important;
}

.checkout-cart-index .cart-discount .actions-toolbar .primary .action {
    background: #06038d !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    width: auto !important;
}

.checkout-cart-index .shipping .fieldset {
    margin-top: 12px !important;
}

.checkout-cart-index .cart-container::before,
.checkout-cart-index .cart-container::after {
    display: none !important;
    content: none !important;
}

.inputs-style--underlined.checkout-cart-index .cart-discount input[type="text"],
.inputs-style--underlined.checkout-cart-index .cart-summary input[type="text"],
.inputs-style--underlined.checkout-cart-index .cart-summary select {
    padding: 10px 12px !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
    background-color: #fff !important;
    height: 44px !important;
}

.inputs-style--underlined.checkout-cart-index .cart-discount input:focus,
.inputs-style--underlined.checkout-cart-index .cart-summary input:focus,
.inputs-style--underlined.checkout-cart-index .cart-summary select:focus,
.inputs-style--underlined.checkout-cart-index .cart-discount input:hover,
.inputs-style--underlined.checkout-cart-index .cart-summary input:hover,
.inputs-style--underlined.checkout-cart-index .cart-summary select:hover {
    border: 1px solid #06038d !important;
}

@media (max-width: 768px) {
    .checkout-cart-index .page-main {
        padding: 20px 16px 40px !important;
    }
    .checkout-cart-index .cart-container {
        flex-direction: column !important;
    }
    .checkout-cart-index .cart-container .form-cart {
        width: 100% !important;
    }
    .checkout-cart-index .cart-summary {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 20px !important;
        position: static !important;
    }
    .checkout-cart-index .cart.table-wrapper thead {
        display: none !important;
    }
    .checkout-cart-index .cart.table-wrapper .item-info {
        display: flex !important;
        flex-wrap: wrap !important;
        padding: 16px 0 !important;
    }
    .checkout-cart-index .cart.table-wrapper .item-info td {
        border: none !important;
        padding: 4px 0 !important;
    }
    .checkout-cart-index .cart.table-wrapper .col.item {
        width: 100% !important;
    }
    .checkout-cart-index .cart.table-wrapper .col.price,
    .checkout-cart-index .cart.table-wrapper .col.qty,
    .checkout-cart-index .cart.table-wrapper .col.subtotal {
        width: auto !important;
    }
    .checkout-cart-index .cart.main.actions {
        flex-direction: column !important;
        gap: 12px !important;
    }
}

.widget-product-carousel .product-item .product-image-photo.lazy,
.block.related .product-image-photo.lazy,
.block.upsell .product-image-photo.lazy,
.block.crosssell .product-image-photo.lazy,
.similares .product-image-photo.lazy {
    width: 100% !important;
    height: auto !important;
    min-height: 150px;
    background: #f5f5f5;
}

.catalog-product-view .product.info.detailed {
    margin-top: 30px;
}

.catalog-product-view .product-info-main .page-title-wrapper .page-title {
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 800;
    font-size: 26px;
    text-transform: uppercase;
}

.catalog-product-view .product-info-main .product-info-price .price {
    font-size: 22px;
    font-weight: 800;
    color: #000;
}

.price-box .normal-price .price-wrapper .price,
.price-box .normal-price .price-container .price {
    color: #333 !important;
}
.price-box .special-price .price-wrapper .price,
.price-box .special-price .price-container .price,
.special-price .price {
    color: #c00 !important;
    font-weight: 800 !important;
}
.price-box .old-price .price-wrapper .price,
.price-box .old-price .price-container .price,
.old-price .price {
    text-decoration: line-through !important;
    color: #767676 !important;
    font-weight: 400 !important;
}
.old-price .price-label,
.special-price .price-label {
    display: none !important;
}
.price-box .old-price {
    margin-left: 8px;
    display: inline-block;
}
.price-box .special-price {
    display: inline-block;
}

.catalog-product-view .product-info-main .special-price .price {
    font-size: 22px;
    color: #c00 !important;
    font-weight: 800;
}
.catalog-product-view .product-info-main .old-price .price {
    font-size: 18px;
    color: #767676 !important;
    font-weight: 400;
    text-decoration: line-through !important;
}

.ox-sale-price-dif {
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 14px;
    color: #666;
    margin-bottom: 4px;
    order: 3;
}
.catalog-product-view .columns > .ox-sale-price-dif {
    background: #c00;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    padding: 6px 20px 6px 16px;
    display: inline-block;
    position: relative;
    text-transform: uppercase;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
}
.catalog-product-view .columns > .ox-sale-price-dif::after {
    content: '';
    position: absolute;
    right: -14px;
    top: 0;
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 14px solid #c00;
}

.products-grid .product-item .price-box .normal-price .price-container .price,
.products-grid .product-item .price-box .normal-price .price-wrapper .price {
    color: #333 !important;
}
.products-grid .product-item .price-box .special-price .price-container .price,
.products-grid .product-item .price-box .special-price .price-wrapper .price {
    color: #c00 !important;
    font-weight: 700 !important;
}
.products-grid .product-item .price-box .old-price .price-container .price,
.products-grid .product-item .price-box .old-price .price-wrapper .price {
    color: #767676 !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
    font-size: 13px;
}
.products-grid .product-item:hover .price-box .normal-price .price-container .price {
    color: #333 !important;
}
.products-grid .product-item:hover .price-box .special-price .price-container .price {
    color: #c00 !important;
}
.products-grid .product-item:hover .price-box .old-price .price-container .price {
    color: #767676 !important;
}
.products-grid .product-item .ox-sale-price-dif {
    font-size: 12px;
    color: #666;
    margin-bottom: 2px;
}

.widget .product-item .price-box .normal-price .price-container .price,
.widget .product-item .price-box .normal-price .price-wrapper .price {
    color: #333 !important;
}
.widget .product-item .price-box .special-price .price-container .price,
.widget .product-item .price-box .special-price .price-wrapper .price {
    color: #c00 !important;
    font-weight: 700 !important;
}
.widget .product-item .price-box .old-price .price-container .price,
.widget .product-item .price-box .old-price .price-wrapper .price {
    color: #767676 !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
}
.product-item .product-list-view__right-wrapper .price-box .old-price .price-container .price {
    color: #767676 !important;
    text-decoration: line-through !important;
}
.product-info-main .price-box .old-price .price-wrapper span,
.product-info-main .price-box .old-price .price-wrapper .price,
.old-price .price-box .price,
.old-price .price-wrapper span {
    color: #767676 !important;
}

.giant-similar-products__card .special-price .price {
    color: #c00 !important;
    font-weight: 700 !important;
}
.giant-similar-products__card .old-price .price {
    color: #767676 !important;
    text-decoration: line-through !important;
    font-size: 11px;
}

.catalog-product-view .product-info-main .product-info-stock-sku .stock {
    font-weight: 700;
}

.catalog-product-view .product-info-main .box-tocart .action.tocart {
    background: #06038d;
    color: #fff;
    border: none;
    padding: 14px 30px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Overpass', Arial, sans-serif;
    cursor: pointer;
    border-radius: 0;
    transition: background 0.2s;
}

.catalog-product-view .product-info-main .box-tocart .action.tocart:hover {
    background: #0400b5;
}

#similarproducts,
.similares {
    display: none !important;
}
.giant-similar-products {
    margin: 30px 0 20px;
    font-family: 'Overpass', Arial, sans-serif;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}
.giant-similar-products__title {
    font-family: 'Overpass', Arial, sans-serif;
    font-weight: 800;
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 15px;
    color: #000;
}
.giant-similar-products__carousel-wrapper {
    position: relative;
    overflow: visible;
}
.giant-similar-products__track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 4px 0;
}
.giant-similar-products__track::-webkit-scrollbar {
    display: none;
}
.giant-similar-products__card {
    flex: 0 0 calc(85% - 6px);
    max-width: calc(85% - 6px);
    scroll-snap-align: start;
    display: flex;
    flex-direction: row;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s;
}
.giant-similar-products__card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    text-decoration: none;
    color: inherit;
}
.giant-similar-products__card-image {
    flex: 0 0 40%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: #fff;
}
.giant-similar-products__card-image img {
    width: 100%;
    height: auto;
    max-height: 140px;
    object-fit: contain;
}
.giant-similar-products__card-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px 12px 12px 0;
}
.giant-similar-products__card-subcategory {
    margin-bottom: 4px;
}
.giant-similar-products__card-subcategory-label {
    font-size: 11px;
    color: #888;
    display: block;
}
.giant-similar-products__card-subcategory-name {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #000;
}
.giant-similar-products__card-name {
    font-size: 13px;
    font-weight: 700;
    color: #000;
    margin-bottom: 4px;
    line-height: 1.3;
}
.giant-similar-products__card-price {
    font-size: 13px;
    color: #888;
}
.giant-similar-products__carousel-wrapper {
    position: relative;
}
.giant-similar-products__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: none;
    border: none;
    padding: 6px;
    margin: 0;
    cursor: pointer;
    line-height: 0;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    pointer-events: auto;
    opacity: 0;
    transition: opacity .25s ease;
}
.giant-similar-products__carousel-wrapper:hover .giant-similar-products__arrow {
    opacity: 1;
}
.giant-similar-products__arrow--prev {
    left: -6px;
}
.giant-similar-products__arrow--next {
    right: -6px;
}
.giant-similar-products__arrow svg {
    width: 28px;
    height: 28px;
    display: block;
    pointer-events: none;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
}
@media (min-width: 768px) {
    .giant-similar-products__card {
        flex: 0 0 calc(80% - 6px);
        max-width: calc(80% - 6px);
    }
    .giant-similar-products__card-image img {
        max-height: 160px;
    }
    .giant-similar-products__arrow svg {
        width: 32px;
        height: 32px;
    }
}

.catalog-product-view .product-info-main {
    display: flex;
    flex-direction: column;
}

.catalog-product-view .product-social-links {
    display: flex;
    flex-direction: column;
}

.giant-pdp-price-warning {
    order: 1;
    padding: 16px 20px;
    border-radius: 4px;
    background-color: #fafafa;
    border: 1px dotted #bd3d1a;
    color: #bd3d1a;
    border-radius: unset;
    font-size: 15px;
    margin-top: 15px;
    margin-bottom: 15px;
}
.giant-similar-products {
    order: 2;
}
.catalog-product-view .product-social-links .giant-pdp-service-bar {
    order: 3;
}

.giant-pdp-price-warning p {
    margin: 0;
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 16px;
    color: #c0392b;
    line-height: 1.5;
}

.giant-pdp-service-bar {
    display: flex;
    justify-content: center;
    align-items: stretch;
    background: #e8e8e8;
    padding: 24px 0;
    gap: 0;
}

.giant-service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1;
    padding: 16px 12px;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: none;
    color: #333;
    transition: background 0.15s;
    font-family: 'Overpass', Arial, sans-serif;
}

.giant-service-item:hover {
    background: rgba(0,0,0,0.06);
}

.giant-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.giant-service-icon svg {
    width: 36px;
    height: 36px;
}

.giant-service-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.3;
}

.giant-pdp-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.giant-pdp-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
}

.giant-pdp-modal__content {
    position: relative;
    background: #fff;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    padding: 32px 36px;
    border-radius: 0;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    font-family: 'Overpass', Arial, sans-serif;
}

.giant-pdp-modal__close {
    position: absolute;
    top: 12px;
    right: 16px;
    background: none;
    border: 1px solid #999;
    width: 28px;
    height: 28px;
    font-size: 18px;
    cursor: pointer;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
}

.giant-pdp-modal__close:hover {
    background: #f0f0f0;
}

.giant-pdp-modal__title {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 8px;
    color: #000;
}

.giant-pdp-modal__subtitle {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 16px;
    color: #000;
}

.giant-pdp-modal__content p {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    margin: 0 0 12px;
}

.giant-pdp-modal__content a {
    color: #06038d;
    text-decoration: underline;
}

.giant-pdp-modal__content a:hover {
    color: #0400b5;
}

@media (max-width: 768px) {
    .giant-pdp-service-bar {
        padding: 16px 0;
    }
    .giant-service-icon svg {
        width: 28px;
        height: 28px;
    }
    .giant-service-label {
        font-size: 10px;
    }
    .giant-pdp-modal__content {
        padding: 24px 20px;
    }
}

.giant-sizing-trigger {
    display: flex;
    justify-content: space-between;
    align-items: end;
    padding: 10px 0;
    border-bottom: 1px solid #e5e5e5;
    margin: 8px 0 4px;
    font-family: 'Overpass', Arial, sans-serif;
}
.giant-sizing-trigger__label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #333;
}
.giant-sizing-trigger__link {
    text-decoration: none;
    font-weight: 300;
    font-size: 1.3rem;
    color: rgb(103, 103, 103);
}
.giant-sizing-trigger__link:hover {
    text-decoration: underline;
}
.giant-sizing-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.55);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.giant-sizing-modal {
    background: #fff;
    width: 94%;
    max-width: 860px;
    max-height: 92vh;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: 'Overpass', Arial, sans-serif;
    position: relative;
}
.giant-sizing-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px 0;
}
.giant-sizing-steps {
    display: flex;
    gap: 4px;
}
.giant-sizing-step-num {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #333;
    background: #e5e5e5;
    border-radius: 2px;
    cursor: default;
}
.giant-sizing-step-num.active {
    background: #06038d;
    color: #fff;
}
.giant-sizing-step-num.done {
    background: #c5c5c5;
    color: #fff;
}
.giant-sizing-actions {
    display: flex;
    gap: 6px;
}
.giant-sizing-action-btn {
    width: 34px;
    height: 34px;
    border: 1px solid #ccc;
    background: #fff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    border-radius: 2px;
}
.giant-sizing-action-btn:hover {
    background: #f5f5f5;
}
.giant-sizing-body {
    display: flex;
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    gap: 20px;
    min-height: 0;
}
.giant-sizing-form {
    flex: 1;
    min-width: 0;
}
.giant-sizing-illust {
    flex: 0 0 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.gsz-illust {
    display: none;
    max-width: 100%;
    max-height: 380px;
    object-fit: contain;
}
.gsz-illust.active {
    display: block;
}
.gsz-help-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: #06038d;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    z-index: 2;
}
.giant-sizing-footer {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px;
    border-top: 1px solid #eee;
}
.gsz-btn {
    padding: 12px 32px;
    font-family: 'Overpass', Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    cursor: pointer;
    border-radius: 0;
}
.gsz-btn--next {
    background: #06038d;
    color: #fff;
}
.gsz-btn--next:hover {
    background: #0a06b0;
}
.gsz-btn--back {
    background: #06038d;
    color: #fff;
}
.gsz-btn--back:hover {
    background: #0a06b0;
}
.gsz-product-name {
    font-size: 18px;
    font-weight: 700;
    color: #06038d;
    margin: 0 0 6px;
}
.gsz-product-name--center {
    text-align: center;
}
.gsz-subtitle {
    font-size: 14px;
    color: #555;
    margin: 0 0 20px;
}
.gsz-field {
    margin-bottom: 18px;
}
.gsz-label {
    font-size: 14px;
    font-weight: 700;
    color: #222;
    display: block;
    margin-bottom: 8px;
}
.gsz-hint {
    font-size: 13px;
    color: #666;
    margin: 0 0 8px;
    line-height: 1.4;
}
.gsz-radio-group {
    display: flex;
    gap: 12px;
}
.gsz-radio-box {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: border-color 0.2s;
}
.gsz-radio-box:has(input:checked) {
    border-color: #06038d;
}
.gsz-radio-box input[type="radio"] {
    accent-color: #06038d;
    margin: 0;
}
.gsz-input-unit {
    display: inline-flex;
    align-items: center;
    border: 2px solid #06038d;
    border-radius: 0;
    padding: 0;
    margin-bottom: 8px;
}
.gsz-input-unit--small {
    max-width: 120px;
}
.gsz-input {
    width: 80px;
    border: none;
    outline: none;
    font-size: 18px;
    font-family: 'Overpass', Arial, sans-serif;
    padding: 8px 12px;
    background: #fff;
    color: #222;
    -moz-appearance: textfield;
}
.gsz-input::-webkit-inner-spin-button,
.gsz-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.gsz-unit {
    font-size: 14px;
    color: #888;
    padding: 0 12px 0 0;
    font-weight: 600;
}
.gsz-toggle-group {
    display: flex;
    gap: 0;
    margin-bottom: 4px;
}
.gsz-toggle {
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #ccc;
    background: #f5f5f5;
    cursor: pointer;
    color: #888;
    font-family: 'Overpass', Arial, sans-serif;
}
.gsz-toggle.active {
    background: #06038d;
    color: #fff;
    border-color: #06038d;
}
.gsz-measure-text {
    font-size: 15px;
    line-height: 1.5;
    color: #333;
    margin: 0 0 16px;
}
.gsz-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    background: #d5d5d5;
    border-radius: 3px;
    outline: none;
    margin: 12px 0 16px;
}
.gsz-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #06038d;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.gsz-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #06038d;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.gsz-slider::-webkit-slider-runnable-track {
    background: linear-gradient(to right, #06038d 0%, #06038d var(--val, 50%), #d5d5d5 var(--val, 50%), #d5d5d5 100%);
    height: 6px;
    border-radius: 3px;
}
.gsz-adjust-hint {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
    margin: 0 0 12px;
}
.gsz-how-btn {
    padding: 8px 18px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid #333;
    background: #fff;
    color: #333;
    cursor: pointer;
    font-family: 'Overpass', Arial, sans-serif;
}
.gsz-how-btn:hover {
    background: #f5f5f5;
}
.gsz-how-title {
    font-size: 22px;
    font-weight: 700;
    color: #06038d;
    margin: 0 0 14px;
}
.gsz-how-text {
    font-size: 14px;
    line-height: 1.6;
    color: #444;
    margin: 0 0 20px;
}
.gsz-result-text {
    font-size: 16px;
    color: #333;
    text-align: center;
    margin: 20px 0 10px;
}
.gsz-result-size {
    font-size: 56px;
    font-weight: 800;
    color: #06038d;
    text-align: center;
    padding: 16px 0;
    letter-spacing: 2px;
}
.gsz-result-note {
    font-size: 13px;
    color: #888;
    text-align: center;
    line-height: 1.5;
    margin: 0 0 16px;
}
.gsz-result-image {
    text-align: center;
    padding: 10px 0;
}
.gsz-result-image img {
    max-width: 280px;
    max-height: 200px;
    object-fit: contain;
}
@media (max-width: 640px) {
    .giant-sizing-modal {
        width: 100%;
        height: 100%;
        max-height: 100vh;
        border-radius: 0;
    }
    .giant-sizing-body {
        flex-direction: column;
        padding: 16px;
    }
    .giant-sizing-illust {
        flex: 0 0 auto;
        max-height: 180px;
    }
    .gsz-illust {
        max-height: 180px;
    }
    .gsz-btn {
        padding: 10px 20px;
        font-size: 12px;
    }
}

.product-item-info {
    position: relative;
}

.widget-product-carousel .product-item .product-item-details {
    padding: 15px;
}

.products-grid .product-item .product-item-details,
.widget-product-carousel .product-item .product-item-details {
    position: relative;
    padding-bottom: 50px;
}
.products-grid .product.details.product-item-details:after,
.widget-product-carousel .product.details.product-item-details:after,
.product.details.product-item-details:after {
    content: "VER MÁS" !important;
    position: absolute !important;
    right: 24px !important;
    bottom: 22px !important;
    left: auto !important;
    top: auto !important;
    margin-top: 0 !important;
    color: #06038d !important;
    cursor: pointer;
    font-family: 'Overpass', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding-right: 22px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11.0442 8.99999H2V6.99999H11.0442L8.15536 3H10.6224L14.2335 7.99999L10.6224 13H8.15536L11.0442 8.99999Z' fill='%2306038d'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 16px 16px;
}
.catalog-product-view .breadcrumbs + .page-main {
    padding-top: 0px !important;
}

.product-info-main .swatch-attribute {
    margin-bottom: 0px !important;
}
.product-info-main .product-options-wrapper {
    margin-bottom: 10px !important;
}
.block-static-block.widget, .block-cms-link.widget {
    display: none;
}
.minicart--style-modern .ox-slideout-right {
    z-index: 999;
}
.page-layout-1column-fullwidth.catalog-product-view .page-main, .page-main {
    padding-bottom: 0px !important;
}
body.giant footer {
    background: #06038d ! important;
}
.minicart-wrapper .action.showcart {
    background: transparent !important;
}