/* Stitch Theme - Gourmet con Alma (Final Version) */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

:root {
    --color-primary: #C8775A;
    /* Terracotta */
    --color-primary-dark: #a65e44;
    --color-bg-light: #FFF9EF;
    /* Cream */
    --color-bg-dark: #1F1B1A;
    --color-text-main: #37302E;
    --color-text-light: #FDF6E9;
    --color-secondary-brown: #8C8279;

    --font-display: 'Cormorant Garamond', serif;
    --font-body: 'Lato', sans-serif;
}

body {
    background-color: var(--color-bg-light) !important;
    color: var(--color-text-main) !important;
    font-family: var(--font-body) !important;
    -webkit-font-smoothing: antialiased;
}

#wrapper {
    padding-top: 0 !important;
}

.page-footer {
    background-color: #FFF9EF !important;
}

/* Global Utility Classes - Stitch Theme */
.font-display {
    font-family: var(--font-display) !important;
}

.font-body {
    font-family: var(--font-body) !important;
}

.italic {
    font-style: italic !important;
}

.font-light {
    font-weight: 300 !important;
}

.font-normal {
    font-weight: 400 !important;
}

.font-bold {
    font-weight: 700 !important;
}

.text-primary {
    color: var(--color-primary) !important;
}

.text-text-main {
    color: var(--color-text-main) !important;
}

.text-secondary-brown {
    color: var(--color-secondary-brown) !important;
}

.text-white {
    color: #ffffff !important;
}

.uppercase {
    text-transform: uppercase !important;
}

.tracking-widest {
    letter-spacing: 0.25em !important;
}

.tracking-tight {
    letter-spacing: -0.02em !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

.mb-4 {
    margin-bottom: 1rem !important;
}

.mb-6 {
    margin-bottom: 1.5rem !important;
}

.mb-8 {
    margin-bottom: 2rem !important;
}

.mb-16 {
    margin-bottom: 4rem !important;
}

/* Header Adjustments */
#header {
    background-color: var(--color-bg-light);
    border-bottom: 1px solid #E5DAC8;
    padding-top: 2rem;
}

.logo a {
    font-family: var(--font-display) !important;
    font-size: 64px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-main) !important;
    text-decoration: none;
}

#header .header-nav {
    background: transparent;
    border: none;
}

/* Hero Section */
.ps-stitch-hero {
    position: relative;
    width: 100vw;
    height: 85vh;
    min-height: 600px;
    background-image: url('https://lh3.googleusercontent.com/aida-public/AB6AXuCKg5DLJKzr4_jJRv1sRTttz21DfCcSQ_aSetp04plHgkCCwyiBqSywOrpGgnpHyciT_I4FzjYLBbOmBMRMbvfY2V98BxG7Q7sGh4ny0mOensXemp4vtPKYV5x574pxheb0OnUHnOrdzTJeZklihpLEq4aiRuJQM_c-hcTdPUBPKAHFYzTAYKWZgBME-nz1MzvQv5X332BpUnLnpmdhZ5V0TaSsKc50l1Q7zll-DN_0rkovRkuiLeSWMpcCNyC-X57tAokhAeobqEw');
    background-size: cover;
    background-position: center;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 6rem;
    overflow: hidden;
}

/* Overlays as in the user's code */
.ps-stitch-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(31, 27, 26, 0.4);
    mix-blend-mode: multiply;
    z-index: 1;
}

.ps-stitch-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(31, 27, 26, 0.8), transparent, transparent);
    z-index: 2;
}

.hero-content {
    position: relative;
    z-index: 10;
    max-width: 1100px;
    text-align: center;
    color: white;
}

.ps-stitch-hero h1 {
    font-family: var(--font-display) !important;
    font-size: clamp(4rem, 12vw, 9rem) !important;
    font-weight: 300 !important;
    letter-spacing: -0.02em;
    line-height: 0.9;
    margin-bottom: 0.5rem;
    color: white !important;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.hero-divider {
    width: 96px;
    height: 1px;
    background: rgba(255, 255, 255, 0.7);
    margin: 1.5rem auto;
}

.hero-intro {
    font-family: var(--font-display) !important;
    font-size: clamp(1.25rem, 3vw, 1.875rem);
    font-style: italic;
    font-weight: 300;
    color: #FDF6E9 !important;
    max-width: 42rem;
    margin: 0 auto 2.5rem;
    line-height: 1.6;
}

.btn-stitch {
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: white !important;
    padding: 1rem 2.5rem;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    font-size: 11px;
    font-weight: 700;
    border-radius: 2px;
    transition: all 0.5s ease;
    text-decoration: none !important;
}

.btn-stitch:hover {
    background: white;
    color: var(--color-text-main) !important;
    transform: translateY(-2px);
}

/* Features Bar */
.stitch-features {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center;
    align-items: stretch;
    border-top: 1px solid #E5DAC8;
    border-bottom: 1px solid #E5DAC8;
    background-color: var(--color-bg-light);
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
    position: relative;
    z-index: 5;
}

.feature-item {
    flex: 1;
    max-width: 600px;
    padding: 2.25rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
}

.feature-item:first-child {
    border-right: 1px solid #E5DAC8;
}

.feature-icon {
    font-size: 2.5rem !important;
    color: var(--color-primary);
    font-weight: 300;
}

.feature-text h3 {
    font-family: var(--font-display) !important;
    font-size: 1.6rem !important;
    font-style: italic !important;
    font-weight: 400 !important;
    margin-bottom: 0px !important;
    line-height: 1.1;
    color: var(--color-text-main) !important;
}

.feature-text p {
    font-family: var(--font-body) !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.25em !important;
    color: var(--color-secondary-brown) !important;
    margin: 0 !important;
}

/* Heritage Section - Stitch Perfect */
.heritage-section {
    padding: 6rem 0;
    background: white;
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
}

.heritage-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 992px) {
    .heritage-grid {
        flex-direction: row;
        text-align: left;
    }
}

.heritage-image-wrapper {
    width: 100%;
    position: relative;
    flex: 1;
}

.heritage-image-container {
    aspect-ratio: 4/3;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.heritage-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 1s ease-in-out;
}

.heritage-image-container:hover img {
    filter: grayscale(0%);
}

.heritage-decoration {
    position: absolute;
    bottom: -1.5rem;
    right: -1.5rem;
    width: 12rem;
    height: 12rem;
    background-color: #E5DAC8;
    z-index: 0;
}

@media (max-width: 991px) {
    .heritage-decoration {
        display: none;
    }
}

.heritage-content {
    flex: 1;
    width: 100%;
}

.heritage-label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-primary);
    margin-bottom: 1rem;
}

.heritage-section h2 {
    font-family: var(--font-display) !important;
    font-size: clamp(2.5rem, 5vw, 3.75rem) !important;
    font-weight: 300 !important;
    line-height: 1.1 !important;
    margin-bottom: 2rem !important;
    color: var(--color-text-main) !important;
    letter-spacing: -0.01em !important;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
}

.heritage-section h2 span.italic {
    font-family: var(--font-display) !important;
    font-style: italic !important;
    font-weight: 300 !important;
    color: var(--color-primary) !important;
}

.heritage-intro-p {
    font-family: var(--font-display) !important;
    font-size: 1.25rem !important;
    line-height: 1.6 !important;
    color: rgba(55, 48, 46, 0.8) !important;
    margin-bottom: 2rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.01em !important;
}

.heritage-secondary-p {
    font-family: var(--font-body);
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--color-secondary-brown);
    margin-bottom: 2.5rem;
    max-width: 28rem;
}

@media (max-width: 991px) {
    .heritage-secondary-p {
        margin-left: auto;
        margin-right: auto;
    }
}

.heritage-link {
    display: inline-block;
    color: var(--color-text-main);
    border-bottom: 1px solid var(--color-primary);
    padding-bottom: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    text-decoration: none !important;
    transition: color 0.3s ease;
    white-space: nowrap;
}

.heritage-link:hover {
    color: var(--color-primary);
}

/* PrestaShop Overrides */
.featured-products .products {
    margin-top: 3rem;
}

.product-miniature .product-title a {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--color-text-main);
}

.product-miniature .product-price-and-shipping .price {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.25rem;
    color: var(--color-primary);
}

.btn-primary {
    border-radius: 2px !important;
    background-color: var(--color-text-main) !important;
    border: none !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

@media (max-width: 768px) {
    .stitch-features {
        flex-direction: column !important;
    }

    .feature-item:first-child {
        border-right: none;
        border-bottom: 1px solid #E5DAC8;
    }

    .heritage-grid {
        flex-direction: column;
    }
}

/* Featured Products Section - Stitch Style (Updated for Full Width & Exact Match) */
.stitch-featured-products {
    padding: 7rem 0;
    background-color: var(--color-bg-light) !important;
    /* Cream background */
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
}

.stitch-featured-products .stitch-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Clear product-miniature theme defaults */
.stitch-featured-products .product-miniature {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    height: auto !important;
}

.stitch-featured-products .product-miniature a {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* Grid System - Fixed 320px columns */
.stitch-featured-products .grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, 320px) !important;
    justify-content: center !important;
    gap: 5rem 3rem;
}

.stitch-featured-products .grid-cols-1 {
    grid-template-columns: 320px !important;
}

@media (min-width: 640px) {
    .stitch-featured-products .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, 320px) !important;
    }
}

@media (min-width: 992px) {
    .stitch-featured-products .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, 320px) !important;
    }
}

/* Section Header */
.stitch-featured-products .text-center {
    text-align: center !important;
}

.stitch-featured-products .mb-16 {
    margin-bottom: 5rem !important;
}

.stitch-featured-products .mb-3 {
    margin-bottom: 1.25rem !important;
}

.stitch-featured-products .font-body.text-xs {
    font-size: 0.75rem !important;
    letter-spacing: 0.3em !important;
    font-weight: 500 !important;
    opacity: 0.7;
    color: var(--color-secondary-brown) !important;
}

.stitch-featured-products h2.font-display {
    font-size: clamp(3rem, 7vw, 4.5rem) !important;
    font-weight: 300 !important;
    color: var(--color-text-main) !important;
    margin-top: 0.5rem !important;
}

.stitch-featured-products h2 .italic {
    font-family: var(--font-display) !important;
    font-style: italic !important;
    color: var(--color-primary) !important;
}

/* Product Card Images - Full Width & Borderless - Fixed 320px */
.stitch-featured-products .aspect-square {
    aspect-ratio: 1 / 1 !important;
    width: 320px !important;
    height: 320px !important;
    padding: 0 !important; /* Removed padding to make it full width */
    background: transparent !important; /* Removed white background */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 2.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.stitch-featured-products .object-contain,
.stitch-featured-products img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Ensure image fills the container */
    opacity: 1 !important;
}

/* Product Titles & Prices */
.stitch-featured-products .product-info {
    padding: 0 0.5rem !important;
}

.stitch-featured-products .text-2xl {
    font-size: 1.4rem !important;
    font-family: var(--font-display) !important;
    font-weight: 300 !important;
    margin-bottom: 0.85rem !important;
    color: var(--color-text-main) !important;
    line-height: 1.4 !important;
}

.stitch-featured-products .text-xl.italic {
    font-size: 1.25rem !important;
    font-family: var(--font-display) !important;
    font-style: italic !important;
    color: var(--color-primary) !important;
    margin-top: 0.5rem !important;
    font-weight: 300 !important;
}

/* Underline Animation */
.stitch-featured-products .product-underline {
    display: block;
    width: 0;
    height: 1px;
    background-color: var(--color-primary);
    margin: 1.25rem auto 0;
    transition: width 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.stitch-featured-products .group:hover .product-underline {
    width: 3rem;
}

/* Hover Zoom */
.stitch-featured-products .group:hover img {
    transform: scale(1.06) !important;
}

/* All Products Link */
.stitch-featured-products .mt-20 {
    margin-top: 6rem !important;
}

.stitch-featured-products .all-product-link {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-text-main);
    border-bottom: 1px solid var(--color-primary);
    padding-bottom: 0.4rem;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.stitch-featured-products .all-product-link:hover {
    color: var(--color-primary);
    padding: 0 0.5rem 0.4rem;
}

/* Hide PrestaShop defaults */
.stitch-featured-products .wishlist-button-add,
.stitch-featured-products .product-flags,
.stitch-featured-products .highlighted-informations,
.stitch-featured-products .quick-view {
    display: none !important;
}

/* Text Size Utilities */
.text-xs {
    font-size: 0.75rem !important;
}

.text-sm {
    font-size: 0.875rem !important;
}

.text-base {
    font-size: 1rem !important;
}

.text-lg {
    font-size: 1.125rem !important;
}

.text-xl {
    font-size: 1.25rem !important;
}

.text-2xl {
    font-size: 1.5rem !important;
}

.text-4xl {
    font-size: clamp(2rem, 4vw, 2.5rem) !important;
}

.text-5xl {
    font-size: clamp(2.5rem, 6vw, 3.5rem) !important;
}

/* Curation Types Section - Modern Refactor */
.stitch-curation {
    padding: 6rem 0;
    background-color: #F9F4EC;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
}

.curation-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 992px) {
    .curation-flex {
        flex-direction: row;
        align-items: center;
    }
}

.curation-main-content {
    flex: 1;
    width: 100%;
}

@media (min-width: 992px) {
    .curation-main-content {
        flex: 0 0 45%;
        text-align: right;
    }
}

.curation-hero-wrapper {
    position: relative;
    width: 100%;
    height: 515px;
    overflow: hidden;
    cursor: pointer;
    margin-top: 2rem;
}

.curation-hero-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.1));
}

.curation-hero-wrapper:hover .curation-hero-img {
    transform: scale(1.05);
}

.curation-divider-line {
    display: none;
    width: 1px;
    height: 350px;
    background-color: #E5DAC8;
}

@media (min-width: 992px) {
    .curation-divider-line {
        display: block;
    }
}

.curation-grid-items {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 3rem;
    width: 100%;
}

.curation-thumb-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: pointer;
}

.curation-thumb-box {
    width: 100%;
    max-width: 259px;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.curation-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.08));
}

.curation-thumb-item:hover .curation-thumb-img {
    transform: scale(1.1);
}

.transition-colors {
    transition: color 0.3s ease;
}

.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (min-width: 768px) {
    .py-16 {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

/* Tailwind-like Utility Classes - Scope: Stitch Gift Section */
.section-stitch-gift.relative { position: relative !important; }
.section-stitch-gift.absolute { position: absolute !important; }
.section-stitch-gift.inset-0 { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }
.section-stitch-gift.w-full { width: 100vw !important; position: relative !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; }
.section-stitch-gift.py-24 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.section-stitch-gift.bg-text-main { background-color: var(--color-text-main) !important; }
.section-stitch-gift.overflow-hidden { overflow: hidden !important; }

.section-stitch-gift .absolute { position: absolute !important; }
.section-stitch-gift .inset-0 { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }
/* Texture selector - matching the exact HTML attribute string */
.section-stitch-gift [class*="bg-\[url"] { background-image: url('https://www.transparenttextures.com/patterns/black-linen.png') !important; }
.section-stitch-gift .opacity-10 { opacity: 0.1 !important; }
.section-stitch-gift .opacity-90 { opacity: 0.9 !important; }
.section-stitch-gift .z-10 { z-index: 10 !important; }
.section-stitch-gift .container { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; }
.section-stitch-gift .mx-auto { margin-left: auto !important; margin-right: auto !important; }
.section-stitch-gift .px-6 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.section-stitch-gift .flex { display: flex !important; }
.section-stitch-gift .flex-col { flex-direction: column !important; }
.section-stitch-gift .items-center { align-items: center !important; }
.section-stitch-gift .justify-between { justify-content: space-between !important; }
.section-stitch-gift .hidden { display: none !important; }
.section-stitch-gift .space-x-6 > * + * { margin-left: 1.5rem !important; }
.section-stitch-gift .w-56 { width: 14rem !important; }
.section-stitch-gift .h-auto { height: auto !important; }
.section-stitch-gift .object-cover { object-fit: cover !important; }
.section-stitch-gift .grayscale { filter: grayscale(100%) !important; }
.section-stitch-gift .brightness-75 { filter: brightness(75%) grayscale(100%) !important; }
.section-stitch-gift .rotate-3 { transform: rotate(3deg) !important; }
.section-stitch-gift .-rotate-6 { transform: rotate(-6deg) !important; }
.section-stitch-gift .translate-y-8 { transform: translateY(2rem) rotate(-6deg) !important; }
.section-stitch-gift .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important; }
.section-stitch-gift .rounded { border-radius: 0.25rem !important; }
.section-stitch-gift .border { border: 1px solid transparent !important; }
.section-stitch-gift .border-white\/10 { border-color: rgba(255, 255, 255, 0.1) !important; }
.section-stitch-gift .text-center { text-align: center !important; }
.section-stitch-gift .mb-2 { margin-bottom: 0.5rem !important; }
.section-stitch-gift .mb-8 { margin-bottom: 2rem !important; }
.section-stitch-gift .leading-none { line-height: 1 !important; }
.section-stitch-gift .font-medium { font-weight: 500 !important; }
.section-stitch-gift .inline-block { display: inline-block !important; }
.section-stitch-gift .border-white\/30 { border: 1px solid rgba(255, 255, 255, 0.3) !important; }
.section-stitch-gift .px-8 { padding-left: 2rem !important; padding-right: 2rem !important; }
.section-stitch-gift .py-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }
.section-stitch-gift .transition-all { transition-property: all !important; }
.section-stitch-gift .duration-300 { transition-duration: 300ms !important; }
.section-stitch-gift .tracking-\[0\.2em\] { letter-spacing: 0.2em !important; }
.section-stitch-gift .text-xs { font-size: 0.75rem !important; }
.section-stitch-gift .font-bold { font-weight: 700 !important; }
.section-stitch-gift .text-white { color: white !important; }

@media (min-width: 768px) {
    .section-stitch-gift .md\:flex { display: flex !important; }
    .section-stitch-gift .md\:flex-row { flex-direction: row !important; }
    .section-stitch-gift .md\:text-right { text-align: right !important; }
    .section-stitch-gift .md\:w-1\/2 { width: 50% !important; }
}

/* Specific Font Sizes Matching the snippet */
.section-stitch-gift .text-3xl { font-size: 1.875rem !important; }
.section-stitch-gift .text-6xl { font-size: clamp(3rem, 6vw, 3.75rem) !important; }
@media (min-width: 768px) {
    .section-stitch-gift .md\:text-4xl { font-size: 2.25rem !important; }
    .section-stitch-gift .md\:text-7xl { font-size: clamp(4rem, 8vw, 4.5rem) !important; }
}
@media (min-width: 1024px) {
    .section-stitch-gift .lg\:text-8xl { font-size: clamp(5rem, 10vw, 6rem) !important; }
}

/* Hover Effects */
.section-stitch-gift .hover\:bg-primary:hover { background-color: var(--color-primary) !important; color: white !important; border-color: var(--color-primary) !important; }
.section-stitch-gift .hover\:border-primary:hover { border-color: var(--color-primary) !important; }

/* Refined Font Weight Styling - All Main Sections */
.ps-stitch-hero h1,
.heritage-section h2,
.heritage-section p,
.stitch-features h3,
.stitch-features p,
.stitch-curation h3,
.stitch-curation p,
.stitch-curation h2,
.section-stitch-gift h2, 
.section-stitch-gift h2 br,
.section-stitch-gift p, 
.section-stitch-arrivals h2, 
.section-stitch-arrivals h3, 
.section-stitch-arrivals p {
    font-weight: 300 !important;
}
/* Re-allow bold if explicitly set via class */
.section-stitch-gift .font-bold,
.section-stitch-arrivals .font-bold {
    font-weight: 700 !important;
}

/* Custom Text Color */
.section-stitch-gift [class*="text-[#E5DAC8]"] { color: #E5DAC8 !important; }
.section-stitch-gift .text-primary { color: var(--color-primary) !important; }

/* Stitch Recién Llegados Section */
.section-stitch-arrivals { background-color: #FFF9EF !important; width: 100vw !important; position: relative !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; overflow: hidden !important; }
.section-stitch-arrivals.py-24 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.section-stitch-arrivals .container { 
    max-width: 1200px !important; 
    margin-left: auto !important; 
    margin-right: auto !important; 
    padding-left: 1.5rem !important; 
    padding-right: 1.5rem !important; 
}

.section-stitch-arrivals .mx-auto { margin-left: auto !important; margin-right: auto !important; }
.section-stitch-arrivals .px-6 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.section-stitch-arrivals .text-center { text-align: center !important; }
.section-stitch-arrivals .mb-16 { margin-bottom: 4rem !important; }
.section-stitch-arrivals .mb-3 { margin-bottom: 0.75rem !important; }
.section-stitch-arrivals .mb-6 { margin-bottom: 1.5rem !important; }
.section-stitch-arrivals .mb-2 { margin-bottom: 0.5rem !important; }
.section-stitch-arrivals .text-xs { font-size: 0.75rem !important; }
.section-stitch-arrivals .uppercase { text-transform: uppercase !important; }
.section-stitch-arrivals .tracking-\[0\.2em\] { letter-spacing: 0.2em !important; }
.section-stitch-arrivals .text-secondary-brown { color: var(--color-secondary-brown) !important; }
.section-stitch-arrivals .text-5xl { font-size: 3rem !important; }
.section-stitch-arrivals .text-text-main { color: var(--color-text-main) !important; }
.section-stitch-arrivals .font-normal { font-weight: 300 !important; }
.section-stitch-arrivals .italic { font-style: italic !important; }
.section-stitch-arrivals .text-primary { color: var(--color-primary) !important; }
.section-stitch-arrivals .grid { display: grid !important; }
.section-stitch-arrivals .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.section-stitch-arrivals .gap-x-8 { column-gap: 2rem !important; }
.section-stitch-arrivals .gap-y-12 { row-gap: 3rem !important; }
.section-stitch-arrivals .group { position: relative; }
.section-stitch-arrivals .cursor-pointer { cursor: pointer !important; }
.section-stitch-arrivals .relative { position: relative !important; }
.section-stitch-arrivals .bg-white { background-color: #ffffff !important; }

.section-stitch-arrivals .aspect-square { 
    aspect-ratio: 1 / 1 !important; 
    max-width: 250px !important;
    margin: 0 auto !important;
}

.section-stitch-arrivals .flex { display: flex !important; }
.section-stitch-arrivals .items-center { align-items: center !important; }
.section-stitch-arrivals .justify-center { justify-content: center !important; }
.section-stitch-arrivals .p-4 { padding: 1rem !important; }
.section-stitch-arrivals .w-full { width: 100% !important; }
.section-stitch-arrivals .h-full { height: 100% !important; }
.section-stitch-arrivals .object-contain { object-fit: contain !important; }
.section-stitch-arrivals .transition-transform { transition-property: transform !important; }
.section-stitch-arrivals .duration-700 { transition-duration: 700ms !important; }
.section-stitch-arrivals .ease-out { transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important; }
.section-stitch-arrivals .group:hover .group-hover\:scale-110 { transform: scale(1.1) !important; }
.section-stitch-arrivals .px-2 { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
.section-stitch-arrivals .text-2xl { font-size: 1.5rem !important; }
.section-stitch-arrivals .text-xl { font-size: 1.25rem !important; }
.section-stitch-arrivals .transition-colors { transition-property: color !important; transition-duration: 300ms !important; }
.section-stitch-arrivals .group:hover .group-hover\:text-primary { color: var(--color-primary) !important; }

@media (min-width: 640px) {
    .section-stitch-arrivals .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (min-width: 768px) {
    .section-stitch-arrivals .md\:text-6xl { font-size: 3.75rem !important; }
}

@media (min-width: 1024px) {
    .section-stitch-arrivals .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* Dark mode stubs */
.dark .section-stitch-arrivals .dark\:bg-white\/5 { background-color: rgba(255, 255, 255, 0.05) !important; }
.dark .section-stitch-arrivals .dark\:text-text-light { color: #f3f4f6 !important; }

/* Stitch Header Final Styling */
#header { background-color: var(--color-bg-light) !important; border-bottom: none !important; padding: 0 !important; }

.header-stitch { 
    width: 100% !important; 
    padding-top: 2rem !important; 
    padding-bottom: 1.5rem !important; 
    border-bottom: 1px solid #E5DAC8 !important;
}

.header-stitch .container {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 5% !important;
}

.header-stitch .logo-text {
    font-family: var(--font-display) !important;
    font-size: clamp(3rem, 6vw, 4rem) !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--color-text-main) !important;
    text-decoration: none !important;
}

.header-stitch nav {
    border-top: 1px solid rgba(229, 218, 200, 0.5) !important;
    margin-top: 2rem !important;
    padding-top: 1rem !important;
}

.header-stitch .top-menu { margin-bottom: 0 !important; }

.header-stitch .top-menu li {
    display: inline-block !important;
    margin: 0 1.25rem !important;
}

.header-stitch .top-menu li a {
    font-family: var(--font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    color: rgba(55, 48, 46, 0.8) !important;
    transition: color 0.3s ease !important;
    text-decoration: none !important;
}

.header-stitch .top-menu li a:hover {
    color: var(--color-primary) !important;
}

.header-stitch .icon-btn {
    padding: 0.25rem !important;
    color: var(--color-text-main) !important;
    transition: color 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
}

.header-stitch .icon-btn:hover {
    color: var(--color-primary) !important;
}

.header-stitch .cart-badge {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    background-color: var(--color-primary) !important;
    color: white !important;
    font-size: 10px !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
}

/* Dark mode overrides for header */
.dark .header-stitch { background-color: var(--color-bg-dark) !important; border-bottom-color: #312e2c !important; }
.dark .header-stitch .logo-text { color: white !important; }
.dark .header-stitch .icon-btn { color: white !important; }
.dark .header-stitch .top-menu li a { color: rgba(255, 255, 255, 0.8) !important; }
.dark .header-stitch nav { border-top-color: #312e2c !important; }

/* Utilities for compatibility */
.w-full { width: 100% !important; }
.flex { display: flex !important; }
.flex-col { flex-direction: column !important; }
.items-center { align-items: center !important; }
.justify-between { justify-content: space-between !important; }
.justify-center { justify-content: center !important; }
.relative { position: relative !important; }
.absolute { position: absolute !important; }
.left-1\/2 { left: 50% !important; }
.transform { transform: none; } /* Reset general transform to avoid displacing other elements */
.-translate-x-1\/2 { transform: translateX(-50%) !important; }
.space-x-5 > * + * { margin-left: 1.25rem !important; }
.space-x-8 > * + * { margin-left: 2rem !important; }
.space-x-10 > * + * { margin-left: 2.5rem !important; }
.mb-8 { margin-bottom: 2rem !important; }
.ml-auto { margin-left: auto !important; }
.hidden { display: none !important; }
.md\:block { display: block !important; }
.md\:hidden { display: none !important; }

/* Center header menu and hide redundant search bar */
.header-stitch nav #_desktop_top_menu {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.header-stitch nav #search_widget {
    display: none !important;
}

.header-stitch .top-menu {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}
/* Stitch Footer Section */
.footer-stitch { background-color: #1a1716 !important; position: relative !important; overflow: hidden !important; }
.footer-stitch.py-24 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.footer-stitch .absolute { position: absolute !important; }
.footer-stitch .inset-0 { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }
.footer-stitch .z-0 { z-index: 0 !important; }
.footer-stitch .z-10 { z-index: 10 !important; }
.footer-stitch .opacity-10 { opacity: 0.1 !important; }
.footer-stitch .grayscale { filter: grayscale(100%) !important; }
.footer-stitch .w-full { width: 100% !important; }
.footer-stitch .h-full { height: 100% !important; }
.footer-stitch .object-cover { object-fit: cover !important; }
.footer-stitch .container { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.footer-stitch .mx-auto { margin-left: auto !important; margin-right: auto !important; }
.footer-stitch .px-6 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.footer-stitch .text-center { text-align: center !important; }
.footer-stitch .text-white { color: white !important; }
.footer-stitch .mb-2 { margin-bottom: 0.5rem !important; }
.footer-stitch .mb-10 { margin-bottom: 2.5rem !important; }
.footer-stitch .mb-16 { margin-bottom: 4rem !important; }
.footer-stitch .italic { font-style: italic !important; }
.footer-stitch .text-primary { color: var(--color-primary) !important; }
.footer-stitch .max-w-md { max-width: 28rem !important; }
.footer-stitch .flex { display: flex !important; }
.footer-stitch .flex-col { flex-direction: column !important; }
.footer-stitch .border-b { border-bottom: 1px solid !important; }
.footer-stitch .border-white\/30 { border-color: rgba(255, 255, 255, 0.3) !important; }
.footer-stitch .pb-2 { padding-bottom: 0.5rem !important; }
.footer-stitch .flex-1 { flex: 1 1 0% !important; }
.footer-stitch .bg-transparent { background-color: transparent !important; }
.footer-stitch .border-none { border-style: none !important; border-width: 0 !important; }
.footer-stitch button[name="submitNewsletter"] { background: none !important; border: none !important; box-shadow: none !important; color: white !important; cursor: pointer !important; padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.footer-stitch button[name="submitNewsletter"]:hover { color: var(--color-primary) !important; }
.footer-stitch .placeholder-white\/50::placeholder { color: rgba(255, 255, 255, 0.5) !important; }
.footer-stitch .focus\:ring-0:focus { box-shadow: none !important; }
.footer-stitch .text-sm { font-size: 0.875rem !important; }
.footer-stitch .px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.footer-stitch .text-xs { font-size: 0.75rem !important; }
.footer-stitch .font-bold { font-weight: 700 !important; }
.footer-stitch .uppercase { text-transform: uppercase !important; }
.footer-stitch .tracking-\[0\.2em\] { letter-spacing: 0.2em !important; }
.footer-stitch .transition-colors { transition-property: color !important; transition-duration: 300ms !important; }
.footer-stitch .hover\:text-primary:hover { color: var(--color-primary) !important; }
.footer-stitch .hover\:text-white:hover { color: white !important; }
.footer-stitch .justify-between { justify-content: space-between !important; }
.footer-stitch .items-center { align-items: center !important; }
.footer-stitch .footer-credits-row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4rem !important; /* Large gap between copy and links */
    margin-top: 4rem !important;
    width: 100% !important;
}

.footer-stitch .footer-credits-row p,
.footer-stitch .footer-credits-row a {
    color: rgba(255, 255, 255, 0.4) !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    margin: 0 !important;
    text-decoration: none !important;
}

.footer-stitch .footer-credits-row a:hover {
    color: #ffffff !important;
}

.footer-stitch .footer-credits-row .links-gap {
    display: flex !important;
    gap: 2rem !important;
}

/* Hide conditions text in footer newsletter to match reference design */
#stitch-newsletter-msg .block_newsletter .col-xs-12 p:not(.alert):not(.notification) {
    display: none !important;
}

@media (min-width: 640px) {
    .footer-stitch .sm\:flex-row { flex-direction: row !important; }
}

@media (min-width: 768px) {
    .footer-stitch .md\:flex-row { flex-direction: row !important; }
    .footer-stitch .md\:mt-0 { margin-top: 0 !important; }
}

.footer-stitch .hidden { display: none !important; }
.footer-stitch .hidden * { display: none !important; }

/* Newsletter specific feedback styling */
#stitch-newsletter-msg .block_newsletter,
#stitch-newsletter-msg .block_newsletter *,
#stitch-newsletter-msg .block_newsletter .notification,
#stitch-newsletter-msg .block_newsletter .alert {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#stitch-newsletter-msg .block_newsletter h4,
#stitch-newsletter-msg .block_newsletter #block-newsletter-label,
#stitch-newsletter-msg .block_newsletter .btn,
#stitch-newsletter-msg .block_newsletter input,
#stitch-newsletter-msg .block_newsletter .input-wrapper,
#stitch-newsletter-msg .block_newsletter .clearfix,
#stitch-newsletter-msg .block_newsletter br {
    display: none !important;
}

#stitch-newsletter-msg .block_newsletter form {
    display: block !important;
}

#stitch-newsletter-msg .block_newsletter .notification,
#stitch-newsletter-msg .block_newsletter .alert {
    display: block !important;
    text-align: center !important;
    margin-top: 1rem !important;
    margin-bottom: 2rem !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    padding: 0 !important;
    width: 100% !important;
}

#stitch-newsletter-msg .block_newsletter .notification-success,
#stitch-newsletter-msg .block_newsletter .alert-success {
    color: #51cf66 !important;
}

#stitch-newsletter-msg .block_newsletter .notification-error,
#stitch-newsletter-msg .block_newsletter .alert-danger {
    color: #ff6b6b !important;
}
