/* I Love Típico — WooCommerce storefront */

.ilt-shop-main {

    padding-top: 30px;

    padding-bottom: 35px;

}

.woocommerce .woocommerce-breadcrumb {

    font-size: 12px;

    color: var(--muted);

    margin-bottom: 26px;

}

.woocommerce .woocommerce-breadcrumb a {

    color: var(--text);

}

.ilt-shop-hero {

    position: relative;

    display: grid;

    grid-template-columns: 1.4fr 1fr;

    align-items: center;

    gap: 35px;

    padding: 48px;

    border: 1px solid #ffffff20;

    border-radius: 18px;

    background: radial-gradient(ellipse at 95% 20%,#a3294938,transparent 65%),#1a181f;

    margin-bottom: 30px;

    overflow: hidden;

}

.ilt-shop-hero h1 {

    font-size: clamp(36px,4.5vw,60px);

    line-height: 1.04;

    max-width: 580px;

    letter-spacing: -.055em;

}

.ilt-shop-hero p:not(.eyebrow) {

    font-size: 15px;

    max-width: 460px;

    line-height: 1.8;

}

.ilt-shop-hero .button {

    margin-top: 10px;

}

.ilt-shop-emblem {

    text-align: center;

    transform: rotate(-7deg);

    padding: 24px 0;

}

.ilt-shop-emblem span {

    font-size: 70px;

    line-height: 1;

    color: #ff5871;

    font-weight: 900;

    letter-spacing: -6px;

}

.ilt-shop-emblem strong {

    display: block;

    font-size: clamp(44px,6vw,80px);

    line-height: 1;

    font-weight: 900;

    letter-spacing: -5px;

    color: #fff;

}

.ilt-shop-emblem small {

    display: block;

    font-size: 9px;

    letter-spacing: 2px;

    margin-top: 16px;

    color: #dbbdc7;

}

.ilt-shop-tools {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    margin: 28px 0 20px;

    scroll-margin-top: 175px;

}

.ilt-product-search {

    flex: 1;

    max-width: 550px;

}

.woocommerce-product-search {

    display: flex;

    gap: 10px;

}

.woocommerce-product-search input {

    min-width: 0;

    flex: 1;

}

.woocommerce-product-search button {

    background: var(--red);

    color: #fff;

    border: 0;

    border-radius: 8px;

    padding: 11px 18px;

    font-size: 13px;

    font-weight: 700;

}

.ilt-shop-tools nav {

    display: flex;

    gap: 24px;

    font-size: 12px;

    font-weight: 700;

}

.ilt-product-categories {

    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin: 0 0 30px;

}

.ilt-product-categories a {

    padding: 8px 16px;

    border: 1px solid var(--line);

    border-radius: 24px;

    font-size: 12px;

    background: #191a20;

}

.woocommerce .woocommerce-result-count {

    color: var(--muted);

    font-size: 13px;

    margin: 12px 0 24px;

}

.woocommerce .woocommerce-ordering {

    margin-bottom: 24px;

}

.woocommerce .woocommerce-ordering select {

    background: #191a20;

    border: 1px solid #ffffff30;

    border-radius: 8px;

    color: var(--text);

    padding: 12px;

    max-width: 100%;

    font-size: 12px;

}

.woocommerce ul.products {

    display: grid;

    grid-template-columns: repeat(3,minmax(0,1fr));

    gap: 28px;

    clear: both;

    margin: 0 0 40px;

}

.woocommerce ul.products::before,.woocommerce ul.products::after {

    display: none;

}

.woocommerce ul.products li.product,.woocommerce-page ul.products li.product {

    float: none;

    width: auto !important;

    margin: 0 !important;

    padding: 18px;

    background: #191a20;

    border: 1px solid #ffffff1d;

    border-radius: 14px;

    display: flex;

    flex-direction: column;

    min-width: 0;

    position: relative;

}

.woocommerce ul.products li.product a img {

    width: 100%;

    aspect-ratio: 1;

    object-fit: contain;

    background: #f4f2ef;

    border-radius: 9px;

    margin: 0 0 20px;

    padding: 12px;

}

.woocommerce ul.products li.product .woocommerce-loop-product__title {

    font-size: 20px;

    line-height: 1.3;

    letter-spacing: -.025em;

    padding: 0;

    margin: 0 0 12px;

    color: var(--text);

}

.woocommerce ul.products li.product .price {

    font-size: 21px;

    line-height: 1.4;

    font-weight: 750;

    color: #fff;

    margin: 0 0 18px;

}

.woocommerce ul.products li.product .price del {

    font-size: 14px;

    color: #b4afba;

    opacity: 1;

    margin-right: 8px;

}

.woocommerce ul.products li.product .price ins {

    background: none;

    text-decoration: none;

}

.woocommerce ul.products li.product .button {

    margin-top: auto;

    display: block;

    text-align: center;

    padding: 14px 12px;

    line-height: 1.4;

    white-space: normal;

}

.woocommerce ul.products li.product .added_to_cart {

    font-size: 12px;

    padding-top: 12px;

    text-align: center;

    text-decoration: underline;

}

.woocommerce span.onsale,.woocommerce ul.products li.product .onsale {

    background: #bf1c3b;

    color: white;

    font-size: 11px;

    font-weight: 750;

    border-radius: 6px;

    min-height: 0;

    min-width: 0;

    line-height: 1.5;

    padding: 7px 12px;

    margin: 0;

    top: 28px;

    right: 28px;

    left: auto;

    z-index: 2;

}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt {

    background: var(--red);

    color: white;

    border-radius: 8px;

    font-weight: 700;

    font-size: 13px;

    padding: 13px 18px;

    line-height: 1.4;

}

.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover {

    background: #be1934;

    color: white;

}

.woocommerce .quantity .qty {

    background: #14151a;

    border: 1px solid #ffffff35;

    border-radius: 8px;

    color: #fff;

    min-height: 46px;

    width: 76px;

}

.woocommerce div.product .product_title {

    font-size: clamp(30px,3.5vw,45px);

    line-height: 1.15;

}

.woocommerce div.product p.price,.woocommerce div.product span.price {

    color: #ff8fa1;

    font-size: 27px;

}

.woocommerce div.product .woocommerce-product-details__short-description {

    font-size: 16px;

    line-height: 1.8;

}

.woocommerce div.product .woocommerce-product-gallery img {

    border-radius: 10px;

    background: #f4f2ef;

}

.woocommerce div.product form.cart {

    margin: 28px 0;

}

.woocommerce div.product form.cart .variations select {

    background: #191a20;

    color: white;

    padding: 10px;

    border: 1px solid #ffffff30;

    border-radius: 6px;

}

.woocommerce .product_meta {

    font-size: 12px;

    line-height: 2;

    color: var(--muted);

}

.woocommerce .product_meta>span {

    display: block;

}

.woocommerce div.product .woocommerce-tabs ul.tabs {

    padding: 0;

    border-bottom: 1px solid var(--line);

}

.woocommerce div.product .woocommerce-tabs ul.tabs:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after {

    display: none;

}

.woocommerce div.product .woocommerce-tabs ul.tabs li {

    background: #191a20;

    border: 1px solid var(--line);

    border-radius: 8px 8px 0 0;

    margin: 0 8px 0 0;

    padding: 0 18px;

}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {

    background: #28212a;

    color: white;

    border-bottom-color: var(--red);

}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {

    color: var(--text);

    font-size: 13px;

}

.woocommerce .woocommerce-tabs .panel {

    padding: 20px 0;

    font-size: 16px;

    line-height: 1.8;

}

.woocommerce .related>h2 {

    font-size: 28px;

    margin: 35px 0 24px;

}

.woocommerce-info,.woocommerce-message,.woocommerce-error {

    background: #22232b;

    color: #f5f2f7;

    border-top-color: var(--red);

    border-radius: 8px;

    font-size: 14px;

}

.woocommerce-info a,.woocommerce-message a,.woocommerce-error a {

    color: #ff9aaa;

}

.woocommerce table.shop_table {

    border-color: #ffffff26;

    border-radius: 10px;

}

.woocommerce table.shop_table th,.woocommerce table.shop_table td {

    border-color: #ffffff20;

    padding: 15px;

}

.woocommerce table.shop_table a {

    color: var(--text);

}

.woocommerce .cart-collaterals .cart_totals {

    padding: 25px;

    background: #191a20;

    border: 1px solid var(--line);

    border-radius: 12px;

}

.woocommerce form.checkout,.woocommerce form.login,.woocommerce form.register {

    border-color: var(--line);

}

.woocommerce form .form-row label {

    color: var(--text);

    font-size: 13px;

}

.woocommerce-checkout #payment {

    background: #202129;

}

.woocommerce-checkout #payment div.payment_box {

    background: #30313a;

    color: white;

}

.woocommerce .woocommerce-MyAccount-navigation ul {

    list-style: none;

    padding: 18px;

    border: 1px solid var(--line);

    border-radius: 12px;

    background: #191a20;

}

.woocommerce .woocommerce-MyAccount-navigation a {

    display: block;

    padding: 12px;

    font-size: 14px;

}

.woocommerce .woocommerce-MyAccount-navigation .is-active a {

    color: #ff8fa1;

}

.woocommerce nav.woocommerce-pagination ul {

    border: 0;

    display: flex;

    gap: 8px;

    justify-content: center;

}

.woocommerce nav.woocommerce-pagination ul li {

    border: 1px solid var(--line);

    border-radius: 6px;

    overflow: hidden;

}

.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span {

    padding: 13px 16px;

    color: var(--text);

}

.woocommerce nav.woocommerce-pagination ul li span.current {

    background: var(--red);

    color: white;

}

.woocommerce .star-rating {

    color: #ffc96b;

}

.wc-block-components-form .wc-block-components-text-input input,.wc-block-components-text-input input {

    color: #1b1b20 !important;

    background: #fff !important;

}

.wc-block-cart,.wc-block-checkout {

    color: var(--text);

}

.wc-block-components-product-name {

    color: var(--text);

}

@media (max-width:1000px) {
    .ilt-shop-hero {

        padding: 34px;

    }

    .woocommerce ul.products {

        grid-template-columns: repeat(2,minmax(0,1fr));

        gap: 22px;

    }

    .ilt-shop-tools {

        align-items: flex-start;

        flex-direction: column;

        gap: 18px;

    }

    .ilt-product-search {

        width: 100%;

        max-width: none;

    }
}

@media (max-width:600px) {
    .ilt-shop-main {

        padding-top: 22px;

    }

    .ilt-shop-hero {

        grid-template-columns: 1fr;

        padding: 28px;

        gap: 0;

    }

    .ilt-shop-emblem {

        display: none;

    }

    .ilt-shop-hero h1 {

        font-size: 40px;

    }

    .ilt-shop-hero p:not(.eyebrow) {

        font-size: 14px;

    }

    .ilt-shop-tools {

        scroll-margin-top: 100px;

    }

    .woocommerce ul.products {

        grid-template-columns: 1fr;

        gap: 24px;

    }

    .woocommerce ul.products li.product {

        padding: 20px;

    }

    .woocommerce ul.products li.product a img {

        max-height: 360px;

    }

    .woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count {

        float: none;

        width: 100%;

        margin-bottom: 16px;

    }

    .woocommerce .woocommerce-ordering select {

        width: 100%;

    }

    .woocommerce div.product .product_title {

        font-size: 32px;

    }

    .woocommerce table.shop_table th,.woocommerce table.shop_table td {

        padding: 12px;

    }

    .woocommerce .cart-collaterals .cart_totals {

        padding: 18px;

    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li {

        padding: 0 12px;

    }

    .woocommerce-product-search button {

        padding: 10px 14px;

    }
}

/* Store collection on the editorial homepage */

.home-shop {

    margin-top: 48px;

    padding: 30px;

    border: 1px solid #ffffff20;

    border-radius: 16px;

    background: linear-gradient(120deg,#241b23,#17191e);

    scroll-margin-top: 170px;

}

.home-shop .section-heading {

    margin-bottom: 16px;

}

.home-shop-intro {

    font-size: 14px;

    line-height: 1.7;

    margin-bottom: 26px;

    max-width: 650px;

}

.home-shop .woocommerce ul.products {

    grid-template-columns: repeat(4,minmax(0,1fr));

    gap: 20px;

    margin-bottom: 22px;

}

.home-shop .woocommerce ul.products li.product {

    padding: 14px;

}

.home-shop .woocommerce ul.products li.product .woocommerce-loop-product__title {

    font-size: 17px;

}

.home-shop .woocommerce ul.products li.product .price {

    font-size: 20px;

}

.home-shop .woocommerce ul.products li.product .button {

    font-size: 12px;

    padding: 12px 10px;

}

.home-shop-footer {

    display: flex;

    justify-content: center;

    padding-top: 4px;

}

.home-shop .woocommerce ul.products li.product .onsale {

    top: 22px;

    right: 22px;

}

@media (max-width:1100px) {
    .home-shop .woocommerce ul.products {

        grid-template-columns: repeat(2,minmax(0,1fr));

        gap: 22px;

    }
}

@media (max-width:600px) {
    .home-shop {

        margin-top: 36px;

        padding: 22px 18px;

        scroll-margin-top: 100px;

    }

    .home-shop .section-heading {

        align-items: flex-start;

        gap: 16px;

    }

    .home-shop .section-heading h2 {

        font-size: 24px;

    }

    .home-shop .section-heading .text-link {

        max-width: 90px;

        line-height: 1.5;

        white-space: normal;

        text-align: right;

    }

    .home-shop .woocommerce ul.products {

        grid-template-columns: 1fr;

    }

    .home-shop .woocommerce ul.products li.product {

        padding: 18px;

    }

    .home-shop .woocommerce ul.products li.product .woocommerce-loop-product__title {

        font-size: 21px;

    }

    .home-shop .woocommerce ul.products li.product .button {

        font-size: 14px;

    }

    .home-shop-footer .outline-button {

        width: 100%;

    }
}

/* Commerce pages must not inherit the narrow article reading column. */

.ilt-commerce-page .article-main {

    max-width: 1280px;

}

.ilt-commerce-page .entry-content {

    max-width: none;

}

.ilt-commerce-page .article-header {

    max-width: none;

}

.woocommerce div.product .summary,.woocommerce div.product .woocommerce-product-gallery {

    min-width: 0;

}

.woocommerce div.product .product_title {

    overflow-wrap: anywhere;

}

.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea {

    min-height: 44px;

}

.woocommerce form .form-row select {

    max-width: 100%;

    min-height: 44px;

}

.woocommerce .quantity .qty {

    max-width: 100%;

}

.woocommerce div.product form.cart .variations label {

    overflow-wrap: anywhere;

}

.woocommerce .select2-container--default .select2-selection--single {

    min-height: 44px;

    background: #fff;

    color: #222;

    border: 1px solid #bbb;

    border-radius: 6px;

}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {

    color: #222;

    line-height: 42px;

}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {

    height: 42px;

}

.select2-dropdown {

    background: #fff;

    color: #222;

}

.woocommerce-checkout #payment div.payment_box::before {

    border-bottom-color: #30313a;

}

.woocommerce .woocommerce-message a.button,.woocommerce .woocommerce-info a.button {

    color: #fff;

}

@media (max-width:600px) {
    .woocommerce table.shop_table_responsive tr td {

        overflow-wrap: anywhere;

    }

    .woocommerce table.cart td.actions .coupon {

        display: flex;

        flex-wrap: wrap;

        gap: 8px;

    }

    .woocommerce table.cart td.actions .coupon .input-text {

        width: auto !important;

        flex: 1;

        min-width: 100px;

    }

    .woocommerce table.cart td.actions .coupon .button {

        width: auto !important;

        flex: 1;

    }

    .woocommerce div.product form.cart .button {

        max-width: 100%;

        white-space: normal;

    }
}
