/*General*/
.title {
    font-size: 1.8rem;
    line-height: 1.2em;
}

.btn-style-1 {
    font-size: 1rem;
}

/*End General*/

/*Icon Mobile Nav*/
header .topbar .center-block .hamb-mobile {
    display: block;
    margin-left: 15px;
}

/*End Icon Mobile Nav*/

/*Header*/
header .topbar {
    padding: 5px 0;
}

header .topbar .center-block .top-menu-container {
    display: none;
}

header .topbar .center-block {
    justify-content: space-between;
}

header .topbar .center-block .top-logo {
    max-width: 180px;
    width: auto;
}

header .topbar .center-block .top-logo img {
    height: auto;
}

header .topbar .center-block .top-search-shopping {
    width: auto;
}

header .menu-mobile {
    display: block;
}

/*End Header*/

/*Home - Block 1*/
.home-block-one .center-block {
    min-height: 530px;
}

.home-block-one .center-block .bg-block-one .image-bg-block-one {
    animation: girar 3s linear infinite;
    transform-origin: center;
}

.home-block-one .center-block .bg-block-one {
    width: 500px;
    height: 500px;
    left: calc(50% - 250px);
}

.home-block-one .center-block .content-block-one {
    max-width: 550px;
}

.home-block-one .center-block .content-block-one h1 {
    font-size: 3rem;
    padding-top: 40px;
}

/*End Home - Block 1*/

/*Home - Block 2*/
.home-block-two .center-block {
    width: 90%;
    margin: 0 auto;
}

.home-block-two .center-block .spec-list {
    padding: 30px 16px;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.home-block-two .center-block .spec-list::-webkit-scrollbar {
    display: none;
}

.home-block-two .center-block .spec-list .spec-item {
    width: auto;
    flex: 0 0 100%;
    scroll-snap-align: center;
}

.home-block-two .center-block .spec-list .second-spec-item {
    border-left: none;
    border-right: none;
}

.home-block-two .center-block .spec-dots {
    display: flex;
    justify-content: center;
    gap: 15px;
    padding: 0 0 18px 0;
}

.home-block-two .center-block .spec-dots button {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 0;
    background: #bbb;
    cursor: pointer;
    padding: 0;
}

.home-block-two .center-block .spec-dots button.active {
    background: var(--third-text-color);
    transform: scale(1.2);
}

/*End Home - Block 2*/

/*Home - Block 3*/
.home-block-three {
    margin-top: 40px;
}

.home-block-three .center-block {
    width: 95%;
    margin: 0 auto;
}

.home-block-three .store-category-list {
    display: block;
    width: 100%;
    max-width: 631px;
    margin: 0 auto;
}

.home-block-three .store-category-list .store-category-item:first-child {
    margin-right: 0px;
}

.home-block-three .store-category-list .store-category-item:last-child {
    margin-left: 0px;
}

.home-block-three .store-category-list .store-category-item {
    display: block;
    position: relative;
    width: calc(100% - 100px);
}

.home-block-three .store-category-list .store-category-item h3 {
    font-size: 2.3rem;
}

/*End Home - Block 3*/

/*Home - Block 4*/
.home-block-four {
    margin-top: 40px;
}

.home-block-four .center-block {
    width: 95%;
    margin: 0 auto;
}

.home-block-four .center-block .filters-list ul li a {
    font-size: 1rem;
}

.home-block-four .center-block .title-btn .goto-store {
    width: 200px;
}

.products-list .product-item {
    flex-grow: 1;
    width: calc(50% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 50px;
}

/*End Home - Block 4*/

/*Home - Block 5*/
.home-block-six {
    margin-top: 40px;
}

.home-block-six .center-block {
    display: block;
}

.home-block-six .center-block .block-six-left {
    width: calc(100% - 40px);
}

.home-block-six .center-block .block-six-right {
    width: 95%;
    max-width: 550px;
    margin: 30px auto 0;
}

/*End Home - Block 5*/

/*Home - Block 7*/
.home-block-seven {
    margin-top: 40px;
}

.home-block-seven .center-block {
    width: 95%;
    margin: 0 auto;
}

.home-block-seven .center-block .title-btn {
    align-items: center;
}

.our-posts-list .post-item {
    width: calc(100%);
}

.our-posts-list .post-item:nth-child(4n + 3),
.our-posts-list .post-item:nth-child(4n + 4) {
    flex-direction: row;
}

.our-posts-list .post-item:nth-child(even) {
    flex-direction: row-reverse;
}

/*End Home - Block 7*/

/*Home - Block 8*/
.home-block-eight {
    margin-top: 40px;
}

.home-block-eight .center-block {
    width: 95%;
    margin: 0 auto;
}

.home-block-eight h2 {
    font-size: 2.7rem;
}

.hero-deco img {
    width: 100%;
}

.breakout-left,
.breakout-right {
    max-width: 110px;
}

footer {
    margin-top: 40px;
    padding: 20px 0;
}

footer .footer-data .center-block {
    width: 95%;
    margin: 0 auto;
    display: block;
}

footer .footer-data .center-block .footer-left {
    text-align: center;
    margin-bottom: 15px;
}

footer .footer-data .center-block .footer-right {
    text-align: center;
}

footer .footer-data .center-block .link-1 {
    font-size: 1.5rem;
}

footer .footer-data .center-block .location-schedule {
    margin-top: 15px;
}

footer .footer-data .center-block .copy-social-media {
    margin-top: 15px;
}

footer .footer-data .center-block .copy-social-media ul {
    justify-content: center;
}

/*Home - Block 8*/

/*Tienda - Block Sample*/
.block-sample {
    margin-top: 40px;
    padding-bottom: 40px;
}

.block-sample .center-block .store-container .store-title {
    font-size: 2.5rem;
    margin-bottom: 2rem;
}

.block-sample .center-block .store-container .store-filters {
    gap: 0.75rem;
    margin-bottom: 2rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}

.block-sample .center-block .store-container .store-filters .store-filter-btn {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
}

.block-sample .center-block .store-container .store-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.block-sample .center-block .store-container .store-products-grid .store-product-card .store-product-image-wrapper .store-product-cart-btn {
    top: 0.5rem;
    right: 0.5rem;
    width: 2rem;
    height: 2rem;
}

.block-sample .center-block .store-container .store-products-grid .store-product-card .store-product-image-wrapper .store-product-cart-btn .shopping-bag img {
    width: 16px;
    height: 16px;
}

.block-sample .center-block .store-container .store-products-grid .store-product-card .store-product-content {
    padding: 0.75rem;
}

.block-sample .center-block .store-container .store-products-grid .store-product-card .store-product-content .store-product-category {
    font-size: 0.75rem;
}

.block-sample .center-block .store-container .store-products-grid .store-product-card .store-product-content .store-product-link-container {
    font-size: 0.75rem;
}

/*End Tienda - Block Sample*/

/*Store Page Tablet*/
.store-page-title {
    font-size: 3rem;
    margin-bottom: 20px;
}

.store-filters-container {
    margin-bottom: 40px;
}

/*End Store Page Tablet*/

/*Category Page Tablet*/
.category-hero {
    padding: 40px 30px;
}

.category-hero-content h1 {
    font-size: 48px;
}

.category-hero-image img {
    max-width: 400px;
}

/*End Category Page Tablet*/

/*Blog Page Tablet*/
.blog-header h1 {
    font-size: 52px;
}

/*End Blog Page Tablet*/

/*Post Page Tablet*/
.post-content {
    width: 90%;
    max-width: 800px;
    /* Keep constraint */
}

.post-title {
    font-size: 2.5rem;
}

.post-navigation-container {
    padding: 60px 0;
}

/* Cart Page Tablet */
.cart-header {
    margin-bottom: 30px;
}

.cart-title {
    font-size: 3rem;
}

.cart-layout-grid {
    flex-direction: column;
    gap: 40px;
}

.cart-products-column {
    width: 100%;
}

.cart-summary-column {
    width: 100%;
    margin-top: 20px;
}

/* On tablets we might still want table header if space allows, or keep specific mobile card view? */
/* 1000x631 is large enough for table row view surely. */
/* Let's keep desktop view for products list but stacked summary column. */

.cart-products-header {
    display: flex;
    /* Ensure visible if it was hidden by mobile styles inheritance if specific order matters, but here we override desktop? No, we override desktop. */
    /* Desktop has it flex. Tablet overrides desktop. */
    /* Wait, tablet range is 1000-1125? Or 631-1000? */
    /* 1000px a 631px (Tablets resolución mediano) according to style.css comments */
    /* So it's smaller than desktop. Stacked columns is safer. */
}

/* If stacked columns: */
.cart-products-column {
    width: 100%;
}

.cart-summary-column {
    width: 60%;
    /* Limit width of summary when stacked */
    margin: 0 auto;
}

.cart-products-header .col-product {
    width: 45%;
}

.cart-products-header .col-units {
    width: 30%;
}

.cart-products-header .col-price {
    width: 25%;
}

.cart-product-item .product-info-wrapper {
    width: 45%;
}

.cart-product-item .product-units-wrapper {
    width: 30%;
}

.cart-product-item .product-price-wrapper {
    width: 25%;
}

.form-row {
    flex-direction: column;
    gap: 30px;
}

.form-group.half {
    width: 100%;
}

.contact-title {
    font-size: 3rem;
    margin-bottom: 40px;
}

.site-content {
    padding-left: 16px;
    padding-right: 16px;
}

/* Checkout Page Tablet Overrides */
.checkout-page .site-content {
    padding-left: 30px;
    padding-right: 30px;
}

.checkout-title {
    font-size: 3rem;
}

.checkout-content {
    gap: 40px;
}

.checkout-summary-column {
    width: 320px;
}

/* Ensure desktop elements are visible, mobile hidden */
.mobile-only {
    display: none !important;
}

.desktop-only {
    display: block;
}

.about-title {
    font-size: 2.8rem;
}

.values-block h2 {
    font-size: 1.8rem;
    line-height: 1.2em;
}

.advantages-block {
    padding: 0 20px;
}

.advantage-card {
    padding: 30px;
}

.advantage-card h3 {
    font-size: 1.5rem;
}

.about-description {
    display: block;
}

.about-description .description-content h2 {
    font-size: 2.5rem;
    line-height: 1.2em;
}

.about-description .description-content {
    width: 100%;
    padding-right: 0px;
}

.about-description .description-image {
    width: 100%;
    margin-right: calc(100% - 50vw);
}

.about-description .description-content p {
    margin-bottom: 10px;
}

.about-page-block p {
    margin-top: 20px;
    max-width: 1000px;
}

.cta-block h2 {
    font-size: 2.5rem;
    line-height: 1.2em;
}

/* ===================== Single Post – Tables (1000x631) ===================== */
 
.post-body table {
	font-size: 13px;
	border-radius: 8px;
}
 
.post-body thead th {
	padding: 11px 14px;
	font-size: 11px;
}
 
.post-body tbody td {
	padding: 10px 14px;
}
 
.post-body tfoot td {
	padding: 10px 14px;
	font-size: 11px;
}
 
/* ===================== /Single Post – Tables (1000x631) ===================== */