/* ==========================================================
   Aethelgard — Global Design Tokens & Custom Styles
   Child Theme: artiq-child
   ========================================================== */

/* ----------------------------------------------------------
   1. CSS Variables (Design Tokens)
   ---------------------------------------------------------- */
:root {
    /* Colors */
    --ae-primary:                  #8a5109;
    --ae-primary-dark:             #6b3f07;
    --ae-primary-container:        #d28c44;
    --ae-primary-fixed:            #ffdcbf;
    --ae-primary-fixed-dim:        #ffb873;
    --ae-inverse-primary:          #ffb873;

    --ae-secondary:                #655d57;
    --ae-secondary-container:      #ece0d8;
    --ae-secondary-fixed:          #ece0d8;
    --ae-secondary-fixed-dim:      #d0c4bd;

    --ae-tertiary:                 #5e5e5b;
    --ae-tertiary-container:       #9c9b97;
    --ae-tertiary-fixed:           #e4e2dd;
    --ae-tertiary-fixed-dim:       #c8c6c2;

    --ae-surface:                  #fbf9f8;
    --ae-surface-dim:              #dbd9d9;
    --ae-surface-bright:           #fbf9f8;
    --ae-surface-container-lowest: #ffffff;
    --ae-surface-container-low:    #f5f3f3;
    --ae-surface-container:        #efeded;
    --ae-surface-container-high:   #eae8e7;
    --ae-surface-container-highest:#e4e2e2;
    --ae-surface-variant:          #e4e2e2;
    --ae-surface-tint:             #8a5109;
    --ae-inverse-surface:          #303030;
    --ae-inverse-on-surface:       #f2f0f0;

    --ae-on-surface:               #1b1c1c;
    --ae-on-surface-variant:       #524438;
    --ae-on-primary:               #ffffff;
    --ae-on-secondary:             #ffffff;
    --ae-on-tertiary:              #ffffff;
    --ae-on-primary-container:     #4e2a00;
    --ae-on-primary-fixed:         #2d1600;
    --ae-on-primary-fixed-variant: #6a3b00;
    --ae-on-secondary-container:   #6b635d;
    --ae-on-secondary-fixed:       #201b16;
    --ae-on-tertiary-container:    #333330;
    --ae-on-tertiary-fixed:        #1b1c19;

    --ae-outline:                  #857466;
    --ae-outline-variant:          #d7c3b3;

    --ae-background:               #fbf9f8;
    --ae-on-background:            #1b1c1c;

    --ae-error:                    #ba1a1a;
    --ae-error-container:          #ffdad6;
    --ae-on-error:                 #ffffff;
    --ae-on-error-container:       #93000a;

    /* Typography */
    --ae-font-serif:    'EB Garamond', Georgia, serif;
    --ae-font-sans:     'Montserrat', Arial, sans-serif;

    /* Spacing */
    --ae-unit:          8px;
    --ae-gutter:        24px;
    --ae-margin-mobile: 20px;
    --ae-margin-desk:   64px;
    --ae-container:     1280px;

    /* Radius */
    --ae-radius:        2px;
    --ae-radius-lg:     4px;
    --ae-radius-xl:     8px;
    --ae-radius-full:   12px;

    /* Shadows */
    --ae-shadow-ambient: 0 12px 24px -4px rgba(62, 39, 35, 0.06);
    --ae-shadow-card:    0 4px 16px -2px rgba(62, 39, 35, 0.08);
    --ae-shadow-header:  0 4px 24px rgba(62, 39, 35, 0.04);
}

/* ----------------------------------------------------------
   2. Google Fonts Import
   ---------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap');

/* ----------------------------------------------------------
   3. Global Reset & Base
   ---------------------------------------------------------- */
body {
    background-color: var(--ae-background);
    color: var(--ae-on-surface);
    font-family: var(--ae-font-sans);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

*, *::before, *::after {
    box-sizing: border-box;
}

a {
    color: var(--ae-primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--ae-primary-dark);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ----------------------------------------------------------
   4. Typography Scale
   ---------------------------------------------------------- */

/* Display Large — Hero titles */
.ae-display-lg {
    font-family: var(--ae-font-serif);
    font-size: clamp(36px, 4vw, 48px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 500;
}

/* Headline Medium — Section titles */
.ae-headline-md {
    font-family: var(--ae-font-serif);
    font-size: clamp(26px, 2.5vw, 32px);
    line-height: 1.3;
    font-weight: 500;
}

/* Headline Small — Card titles */
.ae-headline-sm {
    font-family: var(--ae-font-serif);
    font-size: 24px;
    line-height: 1.4;
    font-weight: 500;
}

/* Label Medium — Navigation, buttons, caps */
.ae-label-md {
    font-family: var(--ae-font-sans);
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
}

/* Label Small — Tags, chips */
.ae-label-sm {
    font-family: var(--ae-font-sans);
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.05em;
    font-weight: 500;
    text-transform: uppercase;
}

/* Body Large */
.ae-body-lg {
    font-family: var(--ae-font-sans);
    font-size: 18px;
    line-height: 1.6;
    font-weight: 400;
}

/* Body Medium */
.ae-body-md {
    font-family: var(--ae-font-sans);
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;
}

/* ----------------------------------------------------------
   5. Brand Logo Typography
   ---------------------------------------------------------- */
.ae-brand-logo {
    font-family: var(--ae-font-serif);
    font-style: italic;
    color: var(--ae-primary);
    letter-spacing: -0.01em;
}

/* ----------------------------------------------------------
   6. Buttons
   ---------------------------------------------------------- */

/* Primary Button */
.ae-btn-primary,
.elementor-button.ae-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: var(--ae-primary);
    color: var(--ae-on-primary) !important;
    font-family: var(--ae-font-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 16px 32px;
    border: none;
    border-radius: var(--ae-radius);
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.15s ease;
}

.ae-btn-primary:hover,
.elementor-button.ae-btn-primary:hover {
    background-color: var(--ae-primary-dark);
    box-shadow: var(--ae-shadow-card);
    color: var(--ae-on-primary) !important;
}

.ae-btn-primary:active {
    transform: scale(0.98);
}

/* Outlined Button */
.ae-btn-outline,
.elementor-button.ae-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: transparent;
    color: var(--ae-primary) !important;
    font-family: var(--ae-font-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 14px 30px;
    border: 1.5px solid var(--ae-primary);
    border-radius: var(--ae-radius);
    cursor: pointer;
    transition: all 0.3s ease;
}

.ae-btn-outline:hover,
.elementor-button.ae-btn-outline:hover {
    background-color: var(--ae-primary);
    color: var(--ae-on-primary) !important;
    box-shadow: var(--ae-shadow-card);
}

/* Ghost / Text Button with arrow */
.ae-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ae-primary);
    font-family: var(--ae-font-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: color 0.3s ease;
}

.ae-btn-ghost:hover {
    color: var(--ae-primary-dark);
}

.ae-btn-ghost .ae-arrow {
    transition: transform 0.3s ease;
}

.ae-btn-ghost:hover .ae-arrow {
    transform: translateX(4px);
}

/* ----------------------------------------------------------
   7. Header
   ---------------------------------------------------------- */
.ae-header {
    background-color: rgba(251, 249, 248, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(215, 195, 179, 0.3);
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: box-shadow 0.3s ease;
}

.ae-header.scrolled {
    box-shadow: var(--ae-shadow-header);
}

.ae-nav-link {
    font-family: var(--ae-font-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ae-on-surface-variant);
    transition: color 0.3s ease;
    padding-bottom: 2px;
}

.ae-nav-link:hover,
.ae-nav-link.active {
    color: var(--ae-primary);
}

.ae-nav-link.active {
    border-bottom: 1.5px solid var(--ae-primary);
}

/* ----------------------------------------------------------
   8. Hero Section
   ---------------------------------------------------------- */
.ae-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--ae-radius-xl);
}

.ae-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(48, 48, 48, 0.88) 0%,
        rgba(48, 48, 48, 0.28) 50%,
        transparent 100%
    );
    z-index: 1;
}

.ae-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 48px 40px;
}

@media (min-width: 768px) {
    .ae-hero-content {
        padding: 80px 64px;
    }
}

.ae-hero-title {
    font-family: var(--ae-font-serif);
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 500;
    color: #ffffff;
    margin-bottom: 16px;
}

.ae-hero-subtitle {
    font-family: var(--ae-font-sans);
    font-size: 18px;
    line-height: 1.6;
    color: rgba(234, 232, 231, 0.9);
    max-width: 520px;
    margin-bottom: 32px;
}

/* ----------------------------------------------------------
   9. Section Titles
   ---------------------------------------------------------- */
.ae-section-title {
    font-family: var(--ae-font-serif);
    color: var(--ae-primary);
    text-align: center;
    font-size: clamp(32px, 3.5vw, 48px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 500;
    margin-bottom: 16px;
}

.ae-section-divider {
    width: 64px;
    height: 1px;
    background-color: var(--ae-outline-variant);
    margin: 0 auto 64px;
}

/* ----------------------------------------------------------
   10. Category Cards (Bento Grid)
   ---------------------------------------------------------- */
.ae-category-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--ae-radius-xl);
    border: 1px solid rgba(215, 195, 179, 0.2);
    box-shadow: var(--ae-shadow-card);
    display: block;
    cursor: pointer;
}

.ae-category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease;
}

.ae-category-card:hover img {
    transform: scale(1.04);
}

.ae-category-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(48, 48, 48, 0.72) 0%,
        transparent 55%
    );
    opacity: 0.85;
    transition: opacity 0.5s ease;
}

.ae-category-card:hover .ae-category-card-overlay {
    opacity: 1;
}

.ae-category-card-label {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 32px 40px;
    transform: translateY(6px);
    transition: transform 0.5s ease;
}

.ae-category-card:hover .ae-category-card-label {
    transform: translateY(0);
}

.ae-category-card-eyebrow {
    font-family: var(--ae-font-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(234, 232, 231, 0.8);
    display: block;
    margin-bottom: 8px;
}

.ae-category-card-title {
    font-family: var(--ae-font-serif);
    font-size: clamp(26px, 2.5vw, 32px);
    line-height: 1.2;
    font-weight: 500;
    color: #ffffff;
}

/* ----------------------------------------------------------
   11. Narrative Card ("Η Τέχνη μας")
   ---------------------------------------------------------- */
.ae-narrative-section {
    background-color: var(--ae-surface-container-low);
    border-top: 1px solid rgba(215, 195, 179, 0.3);
    border-bottom: 1px solid rgba(215, 195, 179, 0.3);
}

.ae-narrative-img-wrap {
    overflow: hidden;
    border-radius: var(--ae-radius-xl);
    box-shadow: var(--ae-shadow-card);
}

.ae-narrative-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ae-narrative-card {
    background-color: var(--ae-surface);
    border: 1px solid rgba(215, 195, 179, 0.2);
    border-radius: var(--ae-radius-xl);
    box-shadow: var(--ae-shadow-ambient);
    padding: 48px;
}

@media (min-width: 1024px) {
    .ae-narrative-card {
        padding: 64px 80px;
        margin-left: -80px;
        position: relative;
        z-index: 2;
    }
}

.ae-narrative-title {
    font-family: var(--ae-font-serif);
    font-size: clamp(32px, 3vw, 44px);
    font-weight: 500;
    color: var(--ae-primary);
    margin-bottom: 12px;
}

.ae-narrative-subtitle {
    font-family: var(--ae-font-serif);
    font-size: 22px;
    font-style: italic;
    font-weight: 400;
    color: var(--ae-on-surface-variant);
    margin-bottom: 24px;
}

.ae-narrative-body {
    font-family: var(--ae-font-sans);
    font-size: 16px;
    line-height: 1.75;
    color: var(--ae-on-surface);
    opacity: 0.9;
    margin-bottom: 32px;
}

/* ----------------------------------------------------------
   12. Product Cards
   ---------------------------------------------------------- */
.ae-product-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ae-product-img-wrap {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--ae-radius);
    background-color: var(--ae-surface-container-low);
}

.ae-product-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.ae-product-card:hover .ae-product-img-wrap img {
    transform: scale(1.05);
}

.ae-product-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background-color: rgba(245, 243, 243, 0.85);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(215, 195, 179, 0.3);
    border-radius: var(--ae-radius-full);
    padding: 4px 12px;
    font-family: var(--ae-font-sans);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--ae-primary);
}

.ae-product-name {
    font-family: var(--ae-font-serif);
    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
    color: var(--ae-on-surface);
    transition: color 0.3s ease;
}

.ae-product-card:hover .ae-product-name {
    color: var(--ae-primary);
}

.ae-product-price {
    font-family: var(--ae-font-serif);
    font-size: 22px;
    font-style: italic;
    color: var(--ae-on-surface-variant);
}

/* ----------------------------------------------------------
   13. Newsletter Section
   ---------------------------------------------------------- */
.ae-newsletter-section {
    text-align: center;
    padding: 96px var(--ae-margin-mobile);
}

@media (min-width: 768px) {
    .ae-newsletter-section {
        padding: 128px var(--ae-margin-desk);
    }
}

.ae-newsletter-title {
    font-family: var(--ae-font-serif);
    font-size: clamp(32px, 3.5vw, 48px);
    line-height: 1.15;
    font-weight: 500;
    color: var(--ae-primary);
    margin-bottom: 16px;
}

.ae-newsletter-subtitle {
    font-family: var(--ae-font-sans);
    font-size: 16px;
    line-height: 1.6;
    color: var(--ae-on-surface-variant);
    max-width: 480px;
    margin: 0 auto 48px;
}

.ae-newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    justify-content: center;
    max-width: 560px;
    margin: 0 auto;
}

@media (min-width: 640px) {
    .ae-newsletter-form {
        flex-direction: row;
    }
}

.ae-newsletter-input {
    flex: 1;
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 2px solid var(--ae-outline-variant);
    padding: 14px 4px;
    font-family: var(--ae-font-sans);
    font-size: 16px;
    color: var(--ae-on-surface);
    outline: none;
    transition: border-color 0.3s ease;
    border-radius: 0;
}

.ae-newsletter-input:focus {
    border-bottom-color: var(--ae-primary);
}

.ae-newsletter-input::placeholder {
    color: var(--ae-tertiary-fixed-dim);
}

/* ----------------------------------------------------------
   14. Footer
   ---------------------------------------------------------- */
.ae-footer {
    background-color: var(--ae-surface-container-low);
    border-top: 1px solid rgba(215, 195, 179, 0.3);
}

.ae-footer-brand-name {
    font-family: var(--ae-font-serif);
    font-style: italic;
    font-size: 32px;
    color: var(--ae-primary);
    display: block;
    margin-bottom: 12px;
}

.ae-footer-tagline {
    font-family: var(--ae-font-sans);
    font-size: 15px;
    color: var(--ae-on-surface-variant);
    max-width: 300px;
    line-height: 1.6;
}

.ae-footer-heading {
    font-family: var(--ae-font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ae-on-surface);
    margin-bottom: 24px;
    display: block;
}

.ae-footer-link {
    font-family: var(--ae-font-sans);
    font-size: 15px;
    color: var(--ae-on-surface-variant);
    display: block;
    margin-bottom: 16px;
    transition: color 0.3s ease;
}

.ae-footer-link:hover {
    color: var(--ae-primary);
}

.ae-footer-copyright {
    font-family: var(--ae-font-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--ae-on-surface-variant);
    opacity: 0.7;
}

/* ----------------------------------------------------------
   15. WooCommerce — Global Overrides
   ---------------------------------------------------------- */

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background-color: var(--ae-primary) !important;
    color: var(--ae-on-primary) !important;
    font-family: var(--ae-font-sans) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: var(--ae-radius) !important;
    padding: 14px 28px !important;
    transition: background-color 0.3s ease, box-shadow 0.3s ease !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background-color: var(--ae-primary-dark) !important;
    box-shadow: var(--ae-shadow-card) !important;
}

/* Prices */
.woocommerce .price,
.woocommerce ins .amount {
    font-family: var(--ae-font-serif) !important;
    font-style: italic;
    color: var(--ae-on-surface-variant) !important;
}

/* Product titles */
.woocommerce-loop-product__title,
.woocommerce .products .product .woocommerce-loop-product__title {
    font-family: var(--ae-font-serif) !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: var(--ae-on-surface) !important;
    transition: color 0.3s ease !important;
}

.woocommerce .products .product:hover .woocommerce-loop-product__title {
    color: var(--ae-primary) !important;
}

/* Star ratings */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
    color: var(--ae-primary-container) !important;
}

/* Sale badge */
.woocommerce span.onsale {
    background-color: var(--ae-primary) !important;
    color: var(--ae-on-primary) !important;
    font-family: var(--ae-font-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: var(--ae-radius-full) !important;
    padding: 4px 10px !important;
    min-height: unset !important;
    line-height: 1.4 !important;
}

/* ----------------------------------------------------------
   16. Utility Classes
   ---------------------------------------------------------- */
.ae-container {
    max-width: var(--ae-container);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--ae-margin-mobile);
    padding-right: var(--ae-margin-mobile);
}

@media (min-width: 768px) {
    .ae-container {
        padding-left: var(--ae-margin-desk);
        padding-right: var(--ae-margin-desk);
    }
}

.ae-ambient-shadow {
    box-shadow: var(--ae-shadow-ambient);
}

.ae-card-shadow {
    box-shadow: var(--ae-shadow-card);
}

/* Divider line */
.ae-divider {
    width: 64px;
    height: 1px;
    background-color: var(--ae-outline-variant);
}

/* Overlay gradient helpers */
.ae-gradient-bottom {
    background: linear-gradient(
        to top,
        rgba(48, 48, 48, 0.85) 0%,
        rgba(48, 48, 48, 0.25) 50%,
        transparent 100%
    );
}

/* Transition helpers */
.ae-transition {
    transition: all 0.3s ease;
}

.ae-transition-slow {
    transition: all 0.6s ease;
}

/* Image zoom on hover (for parent containers) */
.ae-img-zoom-wrap {
    overflow: hidden;
}

.ae-img-zoom-wrap img {
    transition: transform 0.8s ease;
}

.ae-img-zoom-wrap:hover img {
    transform: scale(1.04);
}


/* ============================================================
   WooCommerce Shop Archive — Premium Styling
   ============================================================ */

/* Page title */
.woocommerce-products-header .page-title,
.post_header .post_title {
    font-family: var(--ae-font-serif) !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--ae-on-surface) !important;
}

/* Breadcrumbs */
.woocommerce-breadcrumb,
.breadcrumbs {
    font-family: var(--ae-font-sans) !important;
    font-size: 12px !important;
    color: #857466 !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 8px !important;
}
.woocommerce-breadcrumb a,
.breadcrumbs a {
    color: #857466 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}
.woocommerce-breadcrumb a:hover,
.breadcrumbs a:hover {
    color: var(--ae-primary) !important;
}

/* Product grid */
.woocommerce ul.products,
body.post-type-archive-product ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 32px 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
@media (max-width: 1024px) {
    .woocommerce ul.products,
    body.post-type-archive-product ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px 16px !important;
    }
}
@media (max-width: 640px) {
    .woocommerce ul.products,
    body.post-type-archive-product ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Product card container */
.woocommerce ul.products li.product {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Product image wrapper */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .post_featured {
    overflow: hidden !important;
    display: block !important;
    border-radius: var(--ae-radius) !important;
    background-color: var(--ae-surface-container-low) !important;
}

/* Product image */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .post_featured img {
    width: 100% !important;
    aspect-ratio: 4/5 !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    transition: transform 0.7s ease !important;
}
.woocommerce ul.products li.product:hover img {
    transform: scale(1.04) !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-family: var(--ae-font-serif) !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: var(--ae-on-surface) !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: color 0.3s ease !important;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product:hover h2 {
    color: var(--ae-primary) !important;
}

/* Price */
.woocommerce ul.products li.product .price {
    font-family: var(--ae-font-serif) !important;
    font-size: 20px !important;
    font-style: italic !important;
    color: var(--ae-on-surface-variant) !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
}
.woocommerce ul.products li.product .price del {
    opacity: 0.5 !important;
    font-size: 16px !important;
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-family: var(--ae-font-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 12px 20px !important;
    background-color: transparent !important;
    color: var(--ae-primary) !important;
    border: 1.5px solid var(--ae-primary) !important;
    border-radius: var(--ae-radius) !important;
    transition: all 0.3s ease !important;
    margin-top: 4px !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background-color: var(--ae-primary) !important;
    color: var(--ae-on-primary) !important;
}

/* Hide star ratings if not set */
.woocommerce ul.products li.product .star-rating {
    display: none !important;
}

/* Result count & ordering */
.woocommerce-result-count {
    font-family: var(--ae-font-sans) !important;
    font-size: 12px !important;
    color: #857466 !important;
    letter-spacing: 0.04em !important;
}
.woocommerce-ordering select {
    font-family: var(--ae-font-sans) !important;
    font-size: 13px !important;
    border: none !important;
    border-bottom: 1.5px solid var(--ae-outline-variant) !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 6px 24px 6px 0 !important;
    color: var(--ae-on-surface) !important;
    outline: none !important;
    cursor: pointer !important;
}
.woocommerce-ordering select:focus {
    border-bottom-color: var(--ae-primary) !important;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
    background-color: var(--ae-primary) !important;
    color: var(--ae-on-primary) !important;
    font-family: var(--ae-font-sans) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: var(--ae-radius-full) !important;
    padding: 4px 10px !important;
    min-height: unset !important;
    line-height: 1.4 !important;
}

/* WooCommerce sidebar widgets */
.woocommerce .widget_product_categories ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce .widget_product_categories ul li a {
    font-family: var(--ae-font-sans) !important;
    font-size: 14px !important;
    color: var(--ae-on-surface-variant) !important;
    text-decoration: none !important;
    padding: 8px 0 !important;
    display: block !important;
    transition: color 0.3s ease !important;
    border-bottom: 1px solid rgba(215,195,179,0.25) !important;
}
.woocommerce .widget_product_categories ul li a:hover {
    color: var(--ae-primary) !important;
}
.woocommerce .widget_product_categories ul li.current-cat > a {
    color: var(--ae-primary) !important;
    font-weight: 600 !important;
}




/* ============================================================
   SHOP PAGE — Loop Grid + Taxonomy Filter (dynamic tags)
   ============================================================ */

/* --- Taxonomy Filter bar (pill style) --- */
.e-filter {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
}
.e-filter__item, .e-filter-item {
    font-family: var(--ae-font-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--ae-on-surface-variant) !important;
    background-color: transparent !important;
    border: 1px solid var(--ae-outline-variant) !important;
    border-radius: 24px !important;
    padding: 9px 20px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}
.e-filter__item:hover, .e-filter-item:hover {
    border-color: var(--ae-primary) !important;
    color: var(--ae-primary) !important;
}
.e-filter__item.e-filter__item--active,
.e-filter-item.e-filter-item-active,
.e-filter__item[aria-pressed='true'] {
    background-color: var(--ae-primary) !important;
    border-color: var(--ae-primary) !important;
    color: #ffffff !important;
}

/* --- Loop Grid product cards --- */
[data-id='arch_loopgrid'] .e-loop-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Product image — σταθερό 4:5 aspect ratio για ΟΛΕΣ τις εικόνες */
[data-id='arch_loopgrid'] [data-id='card_img'] {
    margin: 0 !important;
}
[data-id='arch_loopgrid'] [data-id='card_img'] .elementor-widget-container,
[data-id='arch_loopgrid'] [data-id='card_img'] a,
[data-id='arch_loopgrid'] [data-id='card_img'] figure {
    display: block !important;
    aspect-ratio: 4/5 !important;
    overflow: hidden !important;
    border-radius: 4px !important;
    background-color: var(--ae-surface-container-low) !important;
    margin: 0 !important;
}
[data-id='arch_loopgrid'] [data-id='card_img'] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform 0.7s ease !important;
    border-radius: 4px !important;
    display: block !important;
}
[data-id='arch_loopgrid'] .e-loop-item:hover [data-id='card_img'] img {
    transform: scale(1.05) !important;
}

/* Title */
[data-id='arch_loopgrid'] [data-id='card_title'] {
    margin: 0 !important;
}
[data-id='arch_loopgrid'] [data-id='card_title'] a {
    color: var(--ae-on-surface) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}
[data-id='arch_loopgrid'] .e-loop-item:hover [data-id='card_title'] a {
    color: var(--ae-primary) !important;
}

/* Price */
[data-id='arch_loopgrid'] [data-id='card_price'] p {
    margin: 0 !important;
}
[data-id='arch_loopgrid'] [data-id='card_price'] .amount,
[data-id='arch_loopgrid'] [data-id='card_price'] bdi {
    font-family: var(--ae-font-serif) !important;
    font-style: italic !important;
    color: var(--ae-on-surface-variant) !important;
}
[data-id='arch_loopgrid'] [data-id='card_price'] del { opacity: 0.5 !important; }
[data-id='arch_loopgrid'] [data-id='card_price'] ins { text-decoration: none !important; }

/* Add to cart button */
[data-id='arch_loopgrid'] [data-id='card_cart'] a.button,
[data-id='arch_loopgrid'] [data-id='card_cart'] button,
[data-id='arch_loopgrid'] [data-id='card_cart'] .add_to_cart_button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-family: var(--ae-font-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 12px 20px !important;
    background-color: transparent !important;
    color: var(--ae-primary) !important;
    border: 2px solid var(--ae-primary) !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}
[data-id='arch_loopgrid'] [data-id='card_cart'] a.button:hover,
[data-id='arch_loopgrid'] [data-id='card_cart'] button:hover,
[data-id='arch_loopgrid'] [data-id='card_cart'] .add_to_cart_button:hover {
    background-color: var(--ae-primary) !important;
    color: #ffffff !important;
}
[data-id='arch_loopgrid'] [data-id='card_cart'] .added_to_cart { display: none !important; }

/* Loading state */
.e-loop-grid.e-loop--loading { opacity: 0.5 !important; transition: opacity 0.3s ease !important; }


/* ============================================================
   SHOP ARCHIVE — Artiq Theme HTML Structure
   Targets: .post_item / .post_featured / .post_data / .add_to_cart_wrap
   ============================================================ */

/* --- Product grid --- */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 40px 24px !important;
    margin: 32px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    margin-right: 0 !important;
}

@media (max-width: 1100px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 32px 20px !important;
    }
}

@media (max-width: 700px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px 12px !important;
    }
}

/* --- Product <li> reset --- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
}

/* --- Artiq post_item wrapper --- */
.woocommerce ul.products li.product .post_item {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    background: transparent !important;
}

/* --- Image wrapper (.post_featured) --- */
.woocommerce ul.products li.product .post_featured {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 2px !important;
    background-color: var(--ae-surface-container-low, #f5f3f3) !important;
    margin-bottom: 14px !important;
    /* aspect-ratio κλειδώνει τον container σε 4:5 ανεξαρτήτου εικόνας */
    aspect-ratio: 4 / 5 !important;
    width: 100% !important;
}

/* Το <a> γεμίζει απόλυτα τον aspect-ratio container */
.woocommerce ul.products li.product .post_featured > a {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    overflow: hidden !important;
}

/* Η εικόνα καλύπτει πάντα τον container, ανεξαρτήτου original dimensions */
.woocommerce ul.products li.product .post_featured img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 !important;
    display: block !important;
    transition: transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.woocommerce ul.products li.product:hover .post_featured img {
    transform: scale(1.07) !important;
}

/* --- Category chip (pill label on image, per product_cat-* class) --- */
.woocommerce ul.products li.product .post_featured::before {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 2 !important;
    background-color: rgba(251, 249, 248, 0.90) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(215, 195, 179, 0.45) !important;
    border-radius: 24px !important;
    padding: 4px 12px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #8a5109 !important;
    pointer-events: none !important;
    line-height: 1.8 !important;
    display: block !important;
}

.product_cat-gynaikeia-portofolia .post_featured::before  { content: 'Γυναικεία Πορτοφόλια' !important; }
.product_cat-andrika-portofolia .post_featured::before    { content: 'Ανδρικά Πορτοφόλια' !important; }
.product_cat-gynaikeia-sandalia .post_featured::before    { content: 'Γυναικεία Σανδάλια' !important; }
.product_cat-andrika-sandalia .post_featured::before      { content: 'Ανδρικά Σανδάλια' !important; }
.product_cat-gynaikeies-tsantes .post_featured::before    { content: 'Γυναικείες Τσάντες' !important; }
.product_cat-andrikes-tsantes .post_featured::before      { content: 'Ανδρικές Τσάντες' !important; }
.product_cat-gynaikeies-zones .post_featured::before      { content: 'Γυναικείες Ζώνες' !important; }
.product_cat-andrikes-zones .post_featured::before        { content: 'Ανδρικές Ζώνες' !important; }

/* --- Product data area --- */
.woocommerce ul.products li.product .post_data {
    padding: 0 !important;
}

.woocommerce ul.products li.product .post_data_inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

/* --- Title --- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .post_header h2 {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #1b1c1c !important;
    margin: 0 0 2px !important;
    padding: 0 !important;
    transition: color 0.3s ease !important;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product:hover .post_header h2 {
    color: #8a5109 !important;
}

/* --- Price --- */
.woocommerce ul.products li.product .price {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 16px !important;
    font-style: italic !important;
    color: #655d57 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    display: block !important;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
    font-weight: 500 !important;
}

.woocommerce ul.products li.product .price del {
    opacity: 0.45 !important;
    font-size: 14px !important;
    margin-right: 4px !important;
}

/* --- Add to cart button --- */
.woocommerce ul.products li.product .add_to_cart_wrap {
    margin-top: 10px !important;
}

.woocommerce ul.products li.product .add_to_cart_wrap .button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 13px 20px !important;
    background-color: transparent !important;
    color: #8a5109 !important;
    border: 1.5px solid #8a5109 !important;
    border-radius: 2px !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
    margin: 0 !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.woocommerce ul.products li.product .add_to_cart_wrap .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background-color: #8a5109 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

/* Loading spinner on ajax add-to-cart */
.woocommerce ul.products li.product .add_to_cart_button.loading {
    opacity: 0.6 !important;
    pointer-events: none !important;
}

.woocommerce ul.products li.product .add_to_cart_button.added {
    background-color: #8a5109 !important;
    color: #ffffff !important;
}

/* --- Shop toolbar --- */
.woocommerce-products-header {
    margin-bottom: 4px !important;
}

.woocommerce .woocommerce-result-count {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 11px !important;
    color: #857466 !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 0 !important;
    line-height: 38px !important;
    float: left !important;
}

.woocommerce .woocommerce-ordering {
    margin-bottom: 32px !important;
    float: right !important;
}

.woocommerce .woocommerce-ordering select {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
    border: none !important;
    border-bottom: 1.5px solid rgba(215, 195, 179, 0.9) !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 6px 28px 6px 0 !important;
    color: #524438 !important;
    outline: none !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a5109' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 4px center !important;
}

.woocommerce .woocommerce-ordering select:focus {
    border-bottom-color: #8a5109 !important;
}

/* --- Pagination --- */
.woocommerce nav.woocommerce-pagination {
    margin-top: 64px !important;
    text-align: center !important;
    clear: both !important;
}

.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    display: inline-flex !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
    padding: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: #524438 !important;
    background: transparent !important;
    border: 1px solid rgba(215, 195, 179, 0.6) !important;
    border-radius: 2px !important;
    padding: 10px 18px !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    display: block !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background-color: rgba(138, 81, 9, 0.08) !important;
    border-color: #8a5109 !important;
    color: #8a5109 !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: #8a5109 !important;
    border-color: #8a5109 !important;
    color: #ffffff !important;
}

/* --- Responsive tweaks --- */
@media (max-width: 768px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product .post_header h2 {
        font-size: 15px !important;
    }

    .woocommerce ul.products li.product .price {
        font-size: 14px !important;
    }

    .woocommerce ul.products li.product .add_to_cart_wrap .button {
        font-size: 8px !important;
        padding: 10px 8px !important;
        letter-spacing: 0.07em !important;
    }

    .woocommerce ul.products li.product .post_featured {
        margin-bottom: 10px !important;
    }
}


/* ============================================================
   GENDER ARCHIVES (Άνδρες / Γυναίκες) — subcategory cards
   ============================================================ */
.woocommerce ul.products li.product-category {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
}

.woocommerce ul.products li.product-category > a,
.woocommerce ul.products li.product-category .post_item {
    display: block !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product-category img {
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 0 14px !important;
    border-radius: 2px !important;
    background-color: var(--ae-surface-container-low, #f5f3f3) !important;
    transition: transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.woocommerce ul.products li.product-category .post_featured {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 2px !important;
    aspect-ratio: 4 / 5 !important;
    width: 100% !important;
    margin-bottom: 14px !important;
    background-color: var(--ae-surface-container-low, #f5f3f3) !important;
}

.woocommerce ul.products li.product-category .post_featured img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
}

.woocommerce ul.products li.product-category:hover img {
    transform: scale(1.06) !important;
}

.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #1b1c1c !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    transition: color 0.3s ease !important;
}

.woocommerce ul.products li.product-category:hover h2,
.woocommerce ul.products li.product-category:hover .woocommerce-loop-category__title {
    color: #8a5109 !important;
}

.woocommerce ul.products li.product-category h2 mark.count,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title mark.count {
    background: transparent !important;
    color: #857466 !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    margin-left: 4px !important;
}

/* Category description under archive title */
.woocommerce .term-description,
.woocommerce-products-header .term-description p,
.archive_info .description {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #524438 !important;
    max-width: 640px !important;
    margin: 8px 0 0 !important;
}


/* ============================================================
   KATALOGOI PAGE — PDF Catalog Cards
   ============================================================ */

.ae-catalogs-hero__eyebrow {
    font-family: var(--ae-font-serif);
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--ae-primary);
    display: block;
    margin-bottom: 16px;
}

.ae-catalogs-hero__heading-widget .elementor-heading-title {
    font-family: var(--ae-font-serif) !important;
    font-size: clamp(32px, 5vw, 52px) !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: var(--ae-on-surface) !important;
    line-height: 1.15 !important;
    margin-bottom: 20px !important;
}

.ae-catalogs-hero__subtitle {
    font-family: var(--ae-font-serif);
    font-size: 17px;
    color: var(--ae-on-surface-variant);
    max-width: 520px;
    line-height: 1.7;
    margin: 0;
}

.ae-catalogs-count {
    font-family: var(--ae-font-serif);
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--ae-primary);
    margin: 0;
    text-align: center;
}

/* ── Card ── */
.ae-catalog-card {
    display: flex;
    flex-direction: column;
    background-color: var(--ae-surface-container-low);
    border: 1px solid var(--ae-outline-variant);
    text-decoration: none;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 8px rgba(62, 39, 35, 0.06);
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                background-color 0.35s ease;
    height: 100%;
}

.ae-catalog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(62, 39, 35, 0.14);
    background-color: var(--ae-surface-container-high);
}

.ae-catalog-card:focus-visible {
    outline: 2px solid var(--ae-primary);
    outline-offset: 4px;
}

.ae-catalog-card__accent {
    height: 3px;
    width: 100%;
    background-color: var(--ae-primary);
    flex-shrink: 0;
    transition: background-color 0.35s ease;
}

.ae-catalog-card:hover .ae-catalog-card__accent {
    background-color: var(--ae-primary-dark);
}

.ae-catalog-card__cover {
    width: 100%;
    height: 220px;
    overflow: hidden;
    flex-shrink: 0;
}

.ae-catalog-card__cover--placeholder {
    background: linear-gradient(145deg, #c9b89a 0%, #8a5109 55%, #4a2e1a 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.ae-catalog-card__cover-year {
    font-family: var(--ae-font-serif);
    font-size: 80px;
    font-weight: 400;
    font-style: italic;
    color: rgba(255, 255, 255, 0.18);
    letter-spacing: -0.02em;
    line-height: 1;
    user-select: none;
    pointer-events: none;
}

.ae-catalog-card__body {
    padding: 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ae-catalog-card__eyebrow {
    font-family: var(--ae-font-serif);
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--ae-primary);
    display: block;
    margin-bottom: 6px;
}

.ae-catalog-card__year {
    font-family: var(--ae-font-serif);
    font-size: 42px;
    font-weight: 400;
    font-style: italic;
    color: var(--ae-on-surface);
    line-height: 1.1;
    margin: 0 0 12px;
}

.ae-catalog-card__desc {
    font-family: var(--ae-font-serif);
    font-size: 14px;
    color: var(--ae-on-surface-variant);
    line-height: 1.65;
    margin: 0 0 20px;
    flex: 1;
}

.ae-catalog-card__rule {
    height: 1px;
    background-color: var(--ae-outline-variant);
    margin-bottom: 18px;
}

.ae-catalog-card__cta {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ae-catalog-card__cta-text {
    font-family: var(--ae-font-serif);
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ae-on-surface-variant);
    transition: color 0.35s ease;
}

.ae-catalog-card:hover .ae-catalog-card__cta-text {
    color: var(--ae-primary);
}

.ae-catalog-card__cta-arrow {
    font-size: 14px;
    color: var(--ae-primary);
    opacity: 0.4;
    transform: translateX(0);
    transition: opacity 0.35s ease, transform 0.35s ease;
    line-height: 1;
    display: inline-block;
}

.ae-catalog-card:hover .ae-catalog-card__cta-arrow {
    opacity: 1;
    transform: translateX(4px);
}

.ae-catalogs-footer-note__text {
    font-family: var(--ae-font-serif);
    font-size: 13px;
    font-style: italic;
    color: var(--ae-on-surface-variant);
    letter-spacing: 0.05em;
    margin: 0;
    text-align: center;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .ae-catalogs-hero__heading-widget .elementor-heading-title {
        font-size: 40px !important;
    }
    .ae-catalog-card__cover {
        height: 200px;
    }
}

@media (max-width: 767px) {
    .ae-catalogs-hero__eyebrow {
        display: none;
    }
    .ae-catalogs-hero__subtitle {
        font-size: 15px;
    }
    .ae-catalog-card__cover {
        height: 180px;
    }
    .ae-catalog-card__cover-year {
        font-size: 60px;
    }
    .ae-catalog-card__year {
        font-size: 36px;
    }
}

/* Card column gap — applied via CSS since we removed Elementor's custom-gap */
.ae-catalogs-grid .elementor-row {
    gap: 28px;
}

/* END KATALOGOI PAGE */