/* ============================================================
   Sheeel Design Tokens
   Re-themed to the sheel3 color schema (magenta accent + light
   surfaces) while keeping every token name sheel2's components
   depend on. This is a pure color/value change — no markup,
   layout, or behaviour is altered.
   ============================================================ */

/* CSS variables defined in assets/css/colors.css (single source of truth) */

html {
    scroll-behavior: smooth;
}

body {
    background: var(--sheel-cream);
    color: var(--sheel-text);
    font-family: var(--sheel-font-body);
    text-rendering: optimizeLegibility;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: var(--ds-gradient-dark);
}

body,
button,
input,
select,
textarea {
    letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-header h2,
.product-page-title,
.main-deal-title {
    color: var(--sheel-charcoal);
    font-family: var(--sheel-font-heading);
    line-height: 1.12;
    letter-spacing: 0;
}

a {
    color: var(--sheel-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

a:hover,
a:focus {
    color: var(--sheel-primary-dark);
}

img {
    max-width: 100%;
}

::selection {
    background: var(--sheel-primary);
    color: var(--sheel-cream);
}

:focus-visible {
    outline: 3px solid rgba(77, 63, 118, 0.45);
    outline-offset: 3px;
}

.container,
.header.content,
.site-main > .woocommerce,
.woocommerce-page .site-main {
    max-width: var(--sheel-container);
    width: min(100% - 32px, var(--sheel-container));
    margin-inline: auto;
}

.accent-text,
.price,
.amount,
.special-price,
.price-final {
    color: var(--sheel-primary);
}

.gold-accent,
.section-header::after,
.main-deal-header-strip::after {
    content: "";
    display: block;
    width: 64px;
    height: 2px;
    margin-top: 14px;
    background: linear-gradient(135deg, var(--sheel-taupe), var(--sheel-beige));
}

.skip-link:focus {
    background: var(--sheel-primary);
    color: var(--sheel-cream);
}
.site-header,
.page-header,
.header-wrapper,
.header.content {
    background: var(--ds-surface);
}

.site-header,
.header-wrapper {
    border-bottom: 1px solid rgba(217, 217, 217, 0.85);
    box-shadow: 0 10px 30px rgba(50, 45, 41, 0.08);
    backdrop-filter: blur(18px);
}

.header.content {
    gap: clamp(12px, 2vw, 24px);
}

.nav-sections.navigation {
    background: var(--ds-surface);
    border-block: 1px solid var(--ds-border);
    backdrop-filter: blur(14px);
}

.main-categories .nav,
.navigation-items {
    align-items: center;
    gap: 4px;
}

.main-categories a,
.category-link,
.authorization-link,
.language-switcher a {
    color: var(--sheel-charcoal);
}

.main-categories a:hover,
.main-categories a:focus,
.category-link:hover,
.category-link:focus {
    color: var(--sheel-primary);
}

.hero-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(420px, 60vh, 620px);
    display: grid;
    align-items: center;
    margin: 0;
    background:
        linear-gradient(120deg, rgba(77, 63, 118, 0.96), rgba(50, 45, 41, 0.98)),
        var(--sheel-charcoal);
}

.hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0.42;
    background-image:
        linear-gradient(30deg, rgba(239, 233, 225, 0.10) 12%, transparent 12.5%, transparent 87%, rgba(239, 233, 225, 0.10) 87.5%, rgba(239, 233, 225, 0.10)),
        linear-gradient(150deg, rgba(239, 233, 225, 0.10) 12%, transparent 12.5%, transparent 87%, rgba(239, 233, 225, 0.10) 87.5%, rgba(239, 233, 225, 0.10));
    background-size: 68px 118px;
}

.hero-section::after {
    content: "";
    position: absolute;
    inset-inline: 8%;
    bottom: -120px;
    height: 260px;
    border-radius: 50%;
    background: rgba(172, 156, 141, 0.18);
    filter: blur(42px);
    z-index: -1;
}

.hero-content {
    max-width: 760px;
    padding-block: clamp(64px, 11vw, 132px);
}

.hero-content h1 {
    max-width: 11ch;
    margin-bottom: 22px;
    color: var(--sheel-cream);
    font-size: clamp(44px, 6vw, 76px);
    font-weight: 800;
}

.hero-content p {
    max-width: 640px;
    color: var(--sheel-beige);
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.75;
}

.main-deal-section,
.featured-carousel-section,
.categories-section,
.related-products-section,
.woocommerce-page .site-main,
.product-detail-wrapper {
    padding-block: var(--sheel-section-y);
}

.main-deal-content-grid,
.product-detail-container,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout form.checkout {
    background: rgba(239, 233, 225, 0.88);
    border: 1px solid rgba(217, 217, 217, 0.9);
    border-radius: var(--sheel-radius-lg);
    box-shadow: var(--sheel-shadow);
}

.main-deal-content-grid,
.product-detail-container {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
    gap: clamp(24px, 4vw, 54px);
    align-items: center;
    padding: clamp(20px, 4vw, 46px);
}

.main-deal-gallery-wrapper,
.product-gallery {
    overflow: hidden;
    border-radius: var(--sheel-radius-lg);
    background: var(--ds-bg-card);
    box-shadow: inset 0 0 0 1px rgba(217, 217, 217, 0.75);
}

.footer,
.site-footer {
    background: var(--sheel-charcoal);
    color: var(--sheel-beige);
}

.footer-services-section {
    background: rgba(15, 14, 23, 0.98);
    color: rgba(255, 255, 255, 0.85);
}

.footer-main {
    background: var(--sheel-charcoal);
}

.footer-section h3,
.footer-logo .logo-text,
.footer-logo .logo-subtitle {
    color: var(--sheel-cream);
}

.footer a,
.footer-section a,
.site-footer a {
    color: var(--sheel-taupe);
}

.footer a:hover,
.footer a:focus,
.site-footer a:hover,
.site-footer a:focus {
    color: var(--sheel-cream);
}
.btn-primary,
.button,
button,
input[type="submit"],
.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
.btn-ribbon,
.buy-button,
.wc-forward.checkout,
.woocommerce-mini-cart__buttons a.checkout {
    min-height: 44px;
    border: 0;
    border-radius: var(--sheel-radius-md);
    background: var(--sheel-primary);
    color: var(--sheel-cream) !important;
    box-shadow: 0 10px 22px rgba(77, 63, 118, 0.18);
    font-weight: 700;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.btn-primary:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.btn-ribbon:hover,
.buy-button:hover {
    background: var(--sheel-primary-dark);
    color: var(--sheel-cream) !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(77, 63, 118, 0.24);
}

.hero-section,
.hero-section h1 {
    color: var(--sheel-cream) !important;
}

.hero-section .btn-primary {
    background: var(--sheel-cream) !important;
    color: var(--sheel-primary) !important;
    box-shadow: 0 14px 34px rgba(50, 45, 41, 0.22);
}

.hero-section .btn-primary:hover,
.hero-section .btn-primary:focus {
    background: var(--sheel-beige) !important;
    color: var(--sheel-charcoal) !important;
}

.view-all-link,
.wc-forward.cart,
.woocommerce-mini-cart__buttons a.cart,
.product-tabs-nav .tab-item {
    border: 2px solid var(--sheel-primary);
    border-radius: var(--sheel-radius-md);
    background: transparent;
    color: var(--sheel-primary) !important;
}

.view-all-link:hover,
.wc-forward.cart:hover,
.woocommerce-mini-cart__buttons a.cart:hover,
.product-tabs-nav .tab-item.active,
.product-tabs-nav .tab-item:hover {
    background: var(--sheel-primary);
    color: var(--sheel-cream) !important;
}

.search-wrapper,
.search-form,
.search-field-wrapper,
.input-group-modern,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
input[type="search"],
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,
select {
    border-color: var(--sheel-gray) !important;
    border-radius: var(--sheel-radius-md) !important;
    background-color: var(--ds-surface) !important;
    color: var(--sheel-charcoal) !important;
}

.search-wrapper:focus-within,
.input-group-modern:focus-within,
input:focus,
textarea:focus,
select:focus {
    border-color: var(--sheel-primary) !important;
    box-shadow: var(--sheel-glow) !important;
}

.cart-icon,
.authorization-link,
.social-link,
.back-to-top,
.nav-toggle {
    border-radius: 999px;
    background: var(--ds-surface);
    color: var(--sheel-primary);
}

.cart-icon:hover,
.authorization-link:hover,
.social-link:hover,
.back-to-top:hover,
.nav-toggle:hover {
    background: var(--sheel-primary);
    color: var(--sheel-cream);
}

.cart-count,
.counter-label,
.discount-badge,
.discount-badge-top,
.featured-badge,
.express-badge,
.badge-vibrant,
.onsale,
.woocommerce span.onsale {
    background: var(--sheel-primary) !important;
    color: var(--sheel-cream) !important;
    border-radius: 999px;
    box-shadow: 0 0 0 0 rgba(172, 156, 141, 0.4);
}

.express-badge,
.feature-badge.express,
.ramadan-badge,
.purchase-badge {
    background: var(--sheel-taupe) !important;
    color: var(--sheel-cream) !important;
}

.feature-badge,
.low-stock-badge,
.product-brand-link,
.availability-info,
.product-info-bought,
.trust-badge {
    border-radius: 999px;
    background: rgba(209, 199, 189, 0.58);
    color: var(--sheel-charcoal);
}

.products,
.woocommerce ul.products,
.featured-products-grid,
.product-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: clamp(16px, 2vw, 26px);
}

.woocommerce ul.products li.product,
.product,
article.product,
.product-card,
.swiper-slide article.product {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    border: 1px solid rgba(217, 217, 217, 0.92);
    border-radius: var(--sheel-radius-md);
    background: var(--sheel-card-light);
    box-shadow: var(--sheel-shadow);
    transform-style: preserve-3d;
    transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}

.woocommerce ul.products li.product:hover,
.product:hover,
article.product:hover,
.product-card:hover {
    border-color: var(--sheel-primary);
    box-shadow: var(--sheel-shadow-hover);
    transform: translateY(-8px);
}

.product-image-container,
.woocommerce-loop-product__link,
.product-gallery .woocommerce-product-gallery__image {
    display: block;
    overflow: hidden;
    background: var(--ds-bg-card);
}

.product-image-container img,
.woocommerce ul.products li.product img,
.main-deal-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    transition: transform 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.product:hover .product-image-container img,
article.product:hover .product-image-container img,
.woocommerce ul.products li.product:hover img,
.main-deal-gallery-wrapper:hover .main-deal-image {
    transform: scale(1.05);
}

.product-name a,
.woocommerce-loop-product__title,
.product-title-section h3 a {
    color: var(--sheel-charcoal);
    font-weight: 700;
}

.old-price,
del,
.price del,
.sly-old-price {
    color: var(--sheel-taupe) !important;
    opacity: 1;
    text-decoration-color: var(--sheel-primary);
}

.special-price,
.price-final,
.woocommerce-Price-amount,
.product-price-box .special-price {
    color: var(--sheel-primary) !important;
    font-weight: 800;
}

.block-minicart,
.mini-login-container,
.sub-menu,
.dropdown-menu {
    border: 1px solid rgba(217, 217, 217, 0.9);
    border-radius: var(--sheel-radius-lg);
    background: rgba(239, 233, 225, 0.96);
    box-shadow: var(--sheel-shadow-hover);
    backdrop-filter: blur(20px);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper > * {
    border-color: var(--sheel-primary);
    border-radius: var(--sheel-radius-md);
    background: rgba(209, 199, 189, 0.42);
    color: var(--sheel-charcoal);
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout-review-order-table,
.woocommerce-checkout #payment,
.cart_totals,
.checkout_coupon,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    border: 1px solid rgba(217, 217, 217, 0.9) !important;
    border-radius: var(--sheel-radius-lg) !important;
    background: rgba(239, 233, 225, 0.9) !important;
    box-shadow: var(--sheel-shadow);
}

.discount-inbox,
.floating-cta {
    background: var(--sheel-primary);
    color: #fff !important;
    box-shadow: var(--sheel-shadow-hover);
}
@keyframes sheelFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes sheelGoldPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(172, 156, 141, 0.4); }
    50% { box-shadow: 0 0 0 12px rgba(172, 156, 141, 0); }
}

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

.reveal,
.sheel-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.reveal.visible,
.sheel-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.discount-badge,
.discount-badge-top,
.woocommerce span.onsale {
    animation: sheelGoldPulse 2.4s infinite;
}

.floating-cta,
.discount-inbox {
    animation: sheelFloat 3.2s ease-in-out infinite;
}

.hero-content > * {
    animation: sheelSoftIn 0.7s ease both;
}

.hero-content > *:nth-child(2) {
    animation-delay: 120ms;
}

.hero-content > *:nth-child(3) {
    animation-delay: 220ms;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}
@media (max-width: 1024px) {
    .main-deal-content-grid,
    .product-detail-container,
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
    }

    .hero-content h1 {
        max-width: 13ch;
    }

    .header.content {
        width: min(100% - 24px, var(--sheel-container));
    }
}

@media (max-width: 768px) {
    :root {
        --sheel-section-y: 40px;
    }

    .container,
    .header.content,
    .site-main > .woocommerce,
    .woocommerce-page .site-main {
        width: min(100% - 22px, var(--sheel-container));
    }

    .hero-section {
        min-height: 520px;
    }

    .hero-content {
        padding-block: 58px 82px;
    }

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

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

    .products,
    .woocommerce ul.products,
    .featured-products-grid,
    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }

    .product-price-section,
    .price-wrapper {
        align-items: flex-start;
    }

    .footer-content,
    .services-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 520px) {
    .products,
    .woocommerce ul.products,
    .featured-products-grid,
    .product-grid {
        grid-template-columns: 1fr !important;
    }

    .main-deal-content-grid,
    .product-detail-container {
        padding: 16px;
    }

    .btn-primary,
    .button,
    .add_to_cart_button,
    .single_add_to_cart_button,
    .checkout-button,
    .btn-ribbon,
    .buy-button {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }

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