/*
Theme Name: Veinipood Custom Theme
Author: Sven-Erik Andresen
Description: Optimeeritud veinipoe rätsepateema
Version: 2.0.0
Text Domain: veinipood
*/

/* ========================================================
   1. FONDID JA GLOBAALNE VOOLAV TÜPOGRAAFIA (FLUID SCALE)
   ======================================================== */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('assets/fonts/inter-v20-latin_latin-ext-regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('assets/fonts/inter-v20-latin_latin-ext-600.woff2') format('woff2');
}

:root {
    --color-primary: #121212;
    --color-accent: #7a1c28;        
    --color-text: #242424;
    --color-text-muted: #75736f;
    --color-bg-page: #fbfaf8;       
    --color-card-bg: #ffffff;
    --color-border: #e8e4dc;        
    --color-border-subtle: #f0ece3;

    --font-main: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    --container-width: 1240px;
    --header-height: clamp(60px, 4vw + 44px, 74px);

    /* Voolavad kirjasuurused (375px -> 1440px) */
    --font-size-xs:   clamp(0.70rem, 0.67rem + 0.14vw, 0.78rem);
    --font-size-sm:   clamp(0.80rem, 0.77rem + 0.15vw, 0.88rem);
    --font-size-base: clamp(0.92rem, 0.88rem + 0.20vw, 1.00rem);
    --font-size-md:   clamp(0.98rem, 0.92rem + 0.30vw, 1.15rem);
    --font-size-lg:   clamp(1.25rem, 1.15rem + 0.55vw, 1.625rem);
    --font-size-xl:   clamp(1.65rem, 1.45rem + 0.95vw, 2.25rem);
    --font-size-2xl:  clamp(2.00rem, 1.70rem + 1.40vw, 2.85rem);
}

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

html {
    font-size: 15px; 
    scroll-behavior: smooth;
    background-color: var(--color-bg-page);
}

body {
    font-family: var(--font-main);
    font-weight: 400;
    font-size: var(--font-size-base);
    color: var(--color-text);
    background-color: var(--color-bg-page);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, .h1 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.025em;
    color: var(--color-primary);
}

h2, .h2 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--color-primary);
}

h3, .h3 {
    font-size: var(--font-size-md);
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-primary);
}

p {
    margin-bottom: 0.85rem;
}

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

a:hover {
    color: var(--color-accent);
}

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

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
}

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 1.5rem;
    width: 100%;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* ========================================================
   2. GLOBAALNE LUKSUSLIK TAUST (PABERITEKSTUUR + SOE KUMA)
   ======================================================== */
body {
    background-color: #fbfaf8 !important; 
    background-image: 
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.035'/%3E%3C/svg%3E"),
        radial-gradient(circle at 0% 0%, rgba(240, 233, 218, 0.7) 0%, transparent 40%),
        radial-gradient(circle at 100% 100%, rgba(230, 222, 210, 0.5) 0%, transparent 40%) !important;
    background-attachment: fixed !important;
    background-size: cover !important;
}

.site-main,
.archive-product-page,
.single-product-page,
.site-content {
    background-color: transparent !important;
    background-image: none !important;
}

/* ========================================================
   3. SAIDI PÄIS JA LAUAARVUTI MENÜÜ (VEINIPOKAALI EFEKTIGA)
   ======================================================== */
.site-header {
    border-bottom: 1px solid var(--color-border);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    position: sticky;
    top: 0;
    z-index: 50;
    height: var(--header-height);
}

.site-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.site-branding a {
    display: flex;
    align-items: center;
}

.site-branding img {
    max-height: 46px;
    width: auto;
}

.site-title-text {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--color-primary);
    text-transform: uppercase;
}

.site-title-text span {
    font-weight: 300;
    color: var(--color-accent);
}

.main-navigation {
    display: flex;
    align-items: center;
}

.main-navigation .nav-list {
    display: flex;
    list-style: none;
    gap: 2.25rem;
    align-items: center;
    margin: 0;
    padding: 0;
}

.main-navigation .nav-list > li {
    position: relative;
    list-style: none;
}

.main-navigation .nav-list > li > a {
    display: inline-flex;
    align-items: center;
    padding: 1.5rem 0;
    color: var(--color-primary);
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.25s ease;
    position: relative;
}

/* Veinipokaali mikroanimatsioon peamenüü lingil */
.main-navigation .nav-list > li > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 11px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='11' height='11' fill='none' stroke='%237a1c28' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 22h8'/%3E%3Cpath d='M12 15v7'/%3E%3Cpath d='M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0;
    transform: translateX(-4px) scale(0.7);
    transition: opacity 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                width 0.2s ease, 
                margin-left 0.2s ease;
    margin-left: 0;
    pointer-events: none;
}

.main-navigation .nav-list > li:hover > a {
    color: var(--color-accent);
}

.main-navigation .nav-list > li:hover > a::after,
.main-navigation .nav-list > li > a:hover::after {
    width: 11px;
    opacity: 1;
    transform: translateX(0) scale(1);
    margin-left: 5px;
}

/* Aktiivne leht peamenüüs */
.main-navigation .nav-list > li.current-menu-item > a,
.main-navigation .nav-list > li.current_page_item > a,
.main-navigation .nav-list > li.current-menu-ancestor > a,
.main-navigation .nav-list > li > a.is-current {
    color: var(--color-accent) !important;
    font-weight: 600;
}

.main-navigation .nav-list > li.current-menu-item > a::after,
.main-navigation .nav-list > li.current_page_item > a::after,
.main-navigation .nav-list > li.current-menu-ancestor > a::after,
.main-navigation .nav-list > li > a.is-current::after {
    width: 11px;
    opacity: 1;
    transform: translateX(0) scale(1);
    margin-left: 5px;
}

/* ========================================================
   4. FIONDA RIPPMENÜÜD (MEGA-DROPDOWNS JA VEINIMAJAD 4 VEERGU)
   ======================================================== */

/* Üldine alus rippmenüüdele */
.main-navigation .nav-list ul.sub-menu {
    position: absolute;
    top: 100%;
    background: #ffffff !important;
    border: 1px solid var(--fionda-champagne, #d1b89d) !important;
    border-radius: 2px !important;
    margin: 0;
    list-style: none;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08), 
                0 2px 8px rgba(0, 0, 0, 0.02) !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.22s cubic-bezier(0.165, 0.84, 0.44, 1), 
                transform 0.22s cubic-bezier(0.165, 0.84, 0.44, 1), 
                visibility 0.22s;
    z-index: 1000;
}

/* --------------------------------------------------------
   A. POOD ALAMMENÜÜ (Kompaktne 2 veergu)
   -------------------------------------------------------- */
.main-navigation .nav-list ul.sub-menu {
    width: 330px;
    left: 0; /* Alustab otse lingi alt ega jookse vasakule */
    transform: translateY(8px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px 10px;
    padding: 1rem 1.15rem;
}

.main-navigation .nav-list li:hover > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* --------------------------------------------------------
   B. VEINIMAJAD ALAMMENÜÜ (4 veergu, optimeeritud laiusega)
   -------------------------------------------------------- */
.main-navigation .nav-list > li:has(> a[href*="veinimaja"]) > ul.sub-menu,
.main-navigation .nav-list > li.menu-item-veinimajad > ul.sub-menu,
.main-navigation .nav-list > li:has(> ul.sub-menu > li:nth-child(8)) > ul.sub-menu {
    width: 780px !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 2px 10px !important;
    padding: 1.25rem 1.35rem !important;
    /* Hoiab menüü turvaliselt ekraanil: algab logo kõrvalt ega lähe vasakule peitu */
    left: -130px !important;
    transform: translateY(8px) !important;
    max-height: none !important;
    overflow: visible !important;
}

.main-navigation .nav-list > li:has(> a[href*="veinimaja"]):hover > ul.sub-menu,
.main-navigation .nav-list > li.menu-item-veinimajad:hover > ul.sub-menu,
.main-navigation .nav-list > li:has(> ul.sub-menu > li:nth-child(8)):hover > ul.sub-menu {
    transform: translateY(0) !important;
}

/* --------------------------------------------------------
   C. ELEMENTIDE DISAIN JA HOVER-EFEKT
   -------------------------------------------------------- */
.main-navigation .nav-list ul.sub-menu li {
    display: block;
    width: 100%;
}

.main-navigation .nav-list ul.sub-menu li a {
    padding: 0.45rem 0.55rem !important;
    font-size: 0.8rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.01em;
    color: var(--color-primary, #121212);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 1px;
    background: transparent;
    transition: all 0.18s cubic-bezier(0.165, 0.84, 0.44, 1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Peen veinipokaali ikoon */
.main-navigation .nav-list ul.sub-menu li a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='10' height='10' fill='none' stroke='%23823438' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 22h8'/%3E%3Cpath d='M12 15v7'/%3E%3Cpath d='M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0;
    transform: translateX(-4px) scale(0.6);
    transition: all 0.18s cubic-bezier(0.165, 0.84, 0.44, 1);
    margin-left: 0;
    flex-shrink: 0;
}

/* Hover: šampanjakarva õrn kuma, veinipunane tekst ja pokaal */
.main-navigation .nav-list ul.sub-menu li a:hover {
    background: rgba(209, 184, 157, 0.14) !important;
    color: var(--color-accent, #823438) !important;
    padding-left: 0.75rem !important;
}

.main-navigation .nav-list ul.sub-menu li a:hover::after,
.main-navigation .nav-list ul.sub-menu li.current-menu-item a::after {
    width: 10px;
    opacity: 1;
    transform: translateX(0) scale(1);
    margin-left: 4px;
}

/* ========================================================
   5. PÄISE TEGEVUSED JA OSTUKORVI NUPP
   ======================================================== */
.header-actions {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.cart-toggle-btn {
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    padding: 0.45rem 0.65rem 0.45rem 0.8rem;
    border-radius: 99px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #ffffff;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.cart-toggle-btn:hover {
    background: var(--color-accent);
    border-color: var(--color-accent);
    transform: translateY(-1px);
}

.cart-btn-icon {
    display: block;
    width: 17px;
    height: 17px;
    stroke: #ffffff;
}

.cart-count {
    background: #ffffff;
    color: var(--color-primary);
    font-size: 0.725rem;
    font-weight: 700;
    padding: 0.1rem 0.45rem;
    border-radius: 99px;
    min-width: 18px;
    text-align: center;
    line-height: 1.25;
}

/* ========================================================
   6. MOBIILNE PÄIS JA KÜLGSAHTEL (DRAWER)
   ======================================================== */
.mobile-menu-burger {
    display: none;
    background: transparent;
    border: none;
    width: 40px;
    height: 40px;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 0;
    z-index: 10;
}

.mobile-menu-burger span {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--color-primary, #121212);
    border-radius: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.mobile-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(18, 18, 18, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

.mobile-drawer-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.mobile-drawer {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 420px;
    height: 100vh;
    height: 100dvh;
    background: #0d0c0a; /* Obsidian Black */
    color: #ffffff;
    z-index: 99999;
    box-shadow: -15px 0 35px rgba(0, 0, 0, 0.35);
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    transition: right 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    visibility: hidden;
}

.mobile-drawer.is-open {
    right: 0;
    visibility: visible;
}

.mobile-drawer-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 2rem 2.25rem 2.5rem 2.25rem;
    overflow-y: auto;
    box-sizing: border-box;
}

.mobile-drawer-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 2rem;
}

.mobile-drawer-close {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #b5b0a6;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mobile-drawer-close:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: #d1b89d;
    color: #ffffff;
    transform: scale(1.05);
}

.mobile-drawer-nav {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
}

.mobile-nav-list li {
    margin-bottom: 1.4rem;
}

.mobile-nav-list li a {
    color: #ffffff;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.2s ease;
}

.mobile-nav-list li a:hover {
    color: var(--fionda-champagne, #d1b89d);
}

.mobile-nav-list ul.sub-menu {
    display: none;
    list-style: none;
    padding: 0.75rem 0 0 0;
    margin: 0;
}

.mobile-nav-list li.sub-menu-open ul.sub-menu {
    display: block;
}

.mobile-nav-list ul.sub-menu li {
    margin-bottom: 0.6rem;
}

.mobile-nav-list ul.sub-menu li a {
    font-size: 0.95rem;
    font-weight: 400;
    opacity: 0.75;
    text-transform: none;
}

/* ========================================================
   FIONDA SIGNATUURNUPP MOBIILISAHTLIS (OFFSET WIREFRAME)
   Algul: Šampanjabeež taust + must tekst + beež nihkes raam
   Hover: Valge taust + must tekst + valge nihkes raam
   ======================================================== */
.mobile-drawer-cta {
    margin-bottom: 2.2rem;
    padding: 6px 0 0 6px; /* Jätab ruumi nihkes traatraamile */
    box-sizing: border-box;
    width: 100%;
}

.mobile-cta-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: calc(100% - 6px) !important;
    padding: 0.95rem 1.4rem !important;
    background-color: var(--fionda-champagne, #d1b89d) !important;
    color: #121212 !important;
    font-family: inherit !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    border-radius: 1px !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
    z-index: 2 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                background-color 0.25s ease, 
                color 0.25s ease !important;
}

/* Nihkes traatraam nupu taga */
.mobile-cta-btn::before {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1.5px solid var(--fionda-champagne, #d1b89d) !important;
    border-radius: 1px !important;
    pointer-events: none !important;
    z-index: -1 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                border-color 0.25s ease !important;
}

/* Hover olek */
.mobile-cta-btn:hover {
    background-color: #ffffff !important;
    color: #121212 !important;
    transform: translate(-2px, -2px) !important;
}

.mobile-cta-btn:hover::before {
    transform: translate(2px, 2px) !important;
    border-color: #ffffff !important;
}

.mobile-cta-btn svg,
.mobile-cta-btn span:last-child {
    transition: transform 0.25s ease;
}

.mobile-cta-btn:hover svg,
.mobile-cta-btn:hover span:last-child {
    transform: translateX(4px);
}

/* Jalus & kontaktid mobiilisahtlis */
.mobile-drawer-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1.75rem;
}

.mobile-contact-grid {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.75rem;
}

.mobile-contact-col {
    display: flex;
    flex-direction: column;
}

.mobile-contact-label {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 0.35rem;
}

.mobile-contact-val {
    font-size: 0.88rem;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.mobile-contact-val:hover {
    color: var(--fionda-champagne, #d1b89d);
}

/* Sotsiaalmeedia nupud */
.mobile-social-section {
    text-align: center;
}

.mobile-social-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 0.75rem;
}

.mobile-social-buttons {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
}

.social-pill-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.25rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 2px; /* Geomeetriline ja ühtne arhitektuur */
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.social-pill-btn:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: var(--fionda-champagne, #d1b89d);
    color: var(--fionda-champagne, #d1b89d);
}

/* ========================================================
   7. VEINIMAJA PÄIS JA AKORDION (ARHIIVIS)
   ======================================================== */
.veinimaja-header {
    max-width: 860px;
    margin: 0 auto 3rem auto;
    text-align: center;
    padding: 1.5rem 1rem 0 1rem;
}

.veinimaja-logo-wrap {
    margin-bottom: 1.25rem;
    display: flex;
    justify-content: center;
}

.veinimaja-logo {
    max-width: 220px;
    height: auto;
    object-fit: contain;
    display: block;
}

.veinimaja-title {
    font-size: var(--font-size-2xl);
    margin: 0 0 1rem 0;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.veinimaja-short-desc {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #4a4a4a;
    margin-bottom: 1.5rem;
}

.veinimaja-short-desc p {
    margin: 0 0 0.75rem 0;
}

.veinimaja-story-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.veinimaja-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: transparent;
    border: 1px solid #1a1a1a;
    color: #1a1a1a;
    padding: 0.65rem 1.25rem;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.veinimaja-toggle-btn:hover {
    background: #1a1a1a;
    color: #ffffff;
}

.veinimaja-arrow {
    transition: transform 0.3s ease;
}

.veinimaja-toggle-btn[aria-expanded="true"] .veinimaja-arrow {
    transform: rotate(180deg);
}

.veinimaja-accordion {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    text-align: left;
}

.veinimaja-accordion.is-open {
    grid-template-rows: 1fr;
}

.veinimaja-accordion-inner {
    overflow: hidden;
    min-height: 0;
}

.veinimaja-long-desc {
    padding-top: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: #333333;
    border-top: none;
    margin-top: 0;
}

.veinimaja-external-link {
    margin-top: 1.5rem;
    text-align: center;
}

.veinimaja-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #1a1a1a;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.veinimaja-btn-link:hover {
    color: #000000;
}

/* ========================================================
   8. LUUBI-EFEKTIGA KURSOR JA DÜNAAMILINE KOHANDUS
   ======================================================== */
@media (pointer: fine) {
    *, *::before, *::after, body, a, button, input, textarea, select {
        cursor: none !important;
    }

    body #fionda-custom-cart-area button.single_add_to_cart_button,
    body #fionda-custom-cart-area .custom-qty-btn,
    body .filter-toggle-btn,
    body button.veinimaja-toggle-btn,
    body .drawer-close-btn,
    body .mobile-drawer-close,
    body .cart-modal-btn,
    body .cart-modal-close,
    body li.product .button,
    body .accordion-toggle,
    body .cart-toggle-btn,
    body .cookie-btn,
    body .floating-cookie-btn,
    body .footer-social-icons a,
    body .req-item a,
    body .footer-links a,
    body .footer-logo-link {
        cursor: none !important;
    }

    .fionda-luxury-cursor {
        position: fixed;
        top: 0;
        left: 0;
        width: 10px;
        height: 10px;
        background-color: var(--color-primary);
        border-radius: 50%;
        pointer-events: none;
        z-index: 9999999;
        transform: translate(-50%, -50%);
        transition: width 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                    height 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                    background-color 0.2s ease, 
                    border 0.2s ease,
                    box-shadow 0.2s ease;
        will-change: transform;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .fionda-luxury-cursor::after {
        content: '';
        width: 4px;
        height: 4px;
        background-color: var(--color-primary);
        border-radius: 50%;
        opacity: 0;
        transform: scale(0);
        transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
    }

    .fionda-luxury-cursor.is-hovering {
        width: 46px;
        height: 46px;
        background-color: transparent;
        border: 1.5px solid var(--color-primary);
        box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
    }

    .fionda-luxury-cursor.is-hovering::after {
        opacity: 1;
        transform: scale(1);
    }

    body .fionda-luxury-cursor.cursor-on-dark {
        background-color: #d1b89d !important;
        box-shadow: 0 0 10px rgba(209, 184, 157, 0.4) !important;
    }

    body .fionda-luxury-cursor.cursor-on-dark::after {
        background-color: #d1b89d !important;
    }

    body .fionda-luxury-cursor.cursor-on-dark.is-hovering {
        background-color: transparent !important;
        border-color: #d1b89d !important;
        box-shadow: 0 0 16px rgba(209, 184, 157, 0.35) !important;
    }

    body .fionda-luxury-cursor.cursor-on-dark.is-hovering::after {
        background-color: #d1b89d !important;
        opacity: 1 !important;
        transform: scale(1) !important;
    }

    .category-tabs .tab-link,
    .main-navigation .nav-list a,
    .archive-breadcrumbs a,
    .filter-list a {
        display: inline-block;
        transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), color 0.2s ease !important;
        will-change: transform;
    }

    .category-tabs .tab-link:hover,
    .main-navigation .nav-list a:hover,
    .archive-breadcrumbs a:hover,
    .filter-list a:hover {
        transform: scale(1.06);
    }

    .magnetic-btn {
        transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), background 0.2s ease, color 0.2s ease !important;
        will-change: transform;
    }
}

/* ========================================================
   9. TOOTEKAARTIDE GRID JA VASAKJOONDUS
   ======================================================== */
.product-image-col {
    background-color: #ffffff !important;
    border: none !important; 
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03) !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease !important;
}

body.woocommerce ul.products li.product {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
    flex-grow: 1 !important;
    text-decoration: none !important;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title {
    text-align: left !important;
    width: 100% !important;
    font-size: var(--font-size-sm, 0.925rem) !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: -0.015em !important;
    color: var(--color-primary, #121212) !important;
    margin: 0 0 0.4rem 0 !important;
    min-height: 2.8em;
}

body.woocommerce ul.products li.product img {
    background: transparent !important;
    border: none !important;
    width: 100% !important;
    height: 240px !important;
    object-fit: contain !important;
    padding: 0.5rem !important;
    margin: 0 auto 1.25rem auto !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

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

body.woocommerce ul.products li.product .product-card-meta,
body.woocommerce ul.products li.product .price {
    text-align: left !important;
    justify-content: flex-start !important;
    width: 100% !important;
}

/* ========================================================
   10. LUKSUSLIK MUST JALUS (4 TASAKAALUSTATUD VEERGU)
   ======================================================== */
.site-footer {
    border-top: 1px solid #1a1a1a;
    padding: 4.5rem 0 3rem 0;
    background: #0d0c0a;
    color: #e5e2da;
    font-size: 0.85rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.8fr 1.1fr 1.1fr 0.9fr;
    gap: 3.5rem;
    margin-bottom: 3.5rem;
}

.footer-col-brand {
    max-width: 360px;
}

.footer-logo-link {
    display: inline-block;
    margin-bottom: 1.25rem;
}

.footer-logo {
    max-height: 48px;
    width: auto;
    display: block;
    object-fit: contain;
    transition: transform 0.25s ease;
}

.footer-logo:hover {
    transform: scale(1.04);
}

.footer-requisites {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    font-size: 0.775rem;
    color: #9c978f;
    line-height: 1.5;
}

.footer-requisites strong {
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 0.2rem;
}

.req-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #b5b0a6;
}

.req-item svg {
    stroke: #d1b89d;
    flex-shrink: 0;
}

.req-item a {
    color: #b5b0a6 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.req-item a:hover {
    color: #ffffff !important;
}

.footer-heading {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #ffffff;
    margin-bottom: 1.35rem;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.75rem;
}

.footer-links a {
    color: #9c978f !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    transition: all 0.2s ease;
}

.footer-links a svg {
    stroke: #d1b89d;
    flex-shrink: 0;
    opacity: 0.75;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.footer-links a:hover {
    color: #ffffff !important;
    transform: translateX(4px);
}

.footer-links a:hover svg {
    opacity: 1;
    stroke: #ffffff;
    transform: scale(1.12);
}

.footer-social-icons {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.footer-social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.14);
    transition: all 0.25s ease;
}

.footer-social-icons a:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: #d1b89d;
    color: #d1b89d !important;
    transform: translateY(-2px);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.footer-bottom-left {
    display: flex;
    align-items: center;
}

.footer-copy {
    color: #7a766f;
    font-size: 0.775rem;
    margin: 0;
}

.footer-bottom-link {
    color: #b5b0a6 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    margin-left: 0.35rem;
    transition: color 0.2s ease;
}

.footer-bottom-link:hover {
    color: #ffffff !important;
}

.footer-payment-badges {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.payment-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 0.65rem;
    background: #191816;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 5px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.payment-badge svg {
    display: block;
    height: auto;
    max-height: 15px;
}

/* ========================================================
   JALUSE AUTORIÕIGUS JA DISAIT VIIDE
   ======================================================== */
.footer-copy-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    font-size: 0.775rem;
    color: #8c877e;
    line-height: 1.5;
}

.footer-copy-extra {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.footer-bottom-link {
    color: #b5b0a6 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    transition: color 0.2s ease !important;
}

.footer-bottom-link:hover {
    color: #ffffff !important;
}

.footer-credit-sep {
    color: #4a4843;
}

.footer-credit-label {
    color: #8c877e;
}

/* Disait signatuur - šampanjakarva kuld */
.footer-credit-link {
    color: var(--fionda-champagne, #d1b89d) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    display: inline-block;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

.footer-credit-link:hover {
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Telefonis ja kitsal ekraanil: 2 puhast tsentreeritud rida */
@media (max-width: 768px) {
    .footer-copy-wrap {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.45rem;
    }
}

/* ========================================================
   11. HÕLJUV KÜPSISTE NUPP JA KOMPAKTNE GDPR MODAL
   ======================================================== */
.floating-cookie-btn {
    position: fixed;
    bottom: 24px;
    left: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #111111;
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #d1b89d;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
    z-index: 99998;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), 
                background 0.2s ease, 
                border-color 0.2s ease;
}

.floating-cookie-btn:hover {
    transform: scale(1.1) translateY(-2px);
    background: #1a1a1a;
    border-color: #ffffff;
    color: #ffffff;
}

.cookie-banner-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(18, 18, 18, 0.6);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 999998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.cookie-banner-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}

.cookie-banner {
    position: fixed;
    bottom: 2rem;
    left: 2rem;
    max-width: 520px;
    background: #141311;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
    z-index: 999999;
    padding: 1.5rem 1.75rem;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                visibility 0.35s;
    color: #ffffff;
}

.cookie-banner.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.cookie-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 0.35rem 0;
    letter-spacing: -0.01em;
}

.cookie-desc {
    font-size: 0.8rem;
    line-height: 1.45;
    color: #a8a49c;
    margin: 0 0 1rem 0;
}

.cookie-desc a {
    color: #d1b89d;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cookie-preferences {
    display: none;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.75rem 0;
    margin-bottom: 1rem;
}

.cookie-pref-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 0.4rem 0;
}

.cookie-pref-info strong {
    display: block;
    font-size: 0.8rem;
    color: #ffffff;
    margin-bottom: 0.15rem;
}

.cookie-pref-info span {
    display: block;
    font-size: 0.7rem;
    color: #8c877e;
    line-height: 1.4;
}

.cookie-switch {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 20px;
    flex-shrink: 0;
}

.cookie-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.cookie-switch .slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.18);
    transition: 0.3s;
    border-radius: 34px;
}

.cookie-switch .slider:before {
    position: absolute;
    content: "";
    height: 14px;
    width: 14px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: 0.3s;
    border-radius: 50%;
}

.cookie-switch input:checked + .slider {
    background-color: #d1b89d;
}

.cookie-switch input:checked + .slider:before {
    transform: translateX(14px);
}

.cookie-checkbox {
    width: 16px;
    height: 16px;
    accent-color: #d1b89d;
}

.cookie-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.cookie-btn {
    padding: 0.55rem 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cookie-btn-accept {
    background: #d1b89d;
    color: #111111;
    border: 1px solid #d1b89d;
}

.cookie-btn-accept:hover {
    background: #ffffff;
    border-color: #ffffff;
}

.cookie-btn-necessary,
.cookie-btn-save {
    background: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.cookie-btn-necessary:hover,
.cookie-btn-save:hover {
    background: rgba(255, 255, 255, 0.08);
}

.cookie-btn-customize {
    background: none;
    border: none;
    color: #9c978f;
    text-decoration: underline;
    text-underline-offset: 3px;
    padding: 0.55rem 0.4rem;
}

.cookie-btn-customize:hover {
    color: #ffffff;
}

/* ========================================================
   12. RESPONSIVE REEGLID
   ======================================================== */
@media (max-width: 1440px) {
    body.woocommerce ul.products li.product img {
        height: 200px !important;
        margin-bottom: 1.25rem !important;
    }
}

@media (max-width: 900px) {
    :root {
        --header-height: 60px;
    }

    .main-navigation {
        display: none !important;
    }

    .mobile-menu-burger {
        display: flex !important;
    }

    .site-header-inner {
        padding: 0 1rem;
    }

    .cart-btn-label {
        display: none;
    }

    .veinimaja-logo {
        max-width: 180px;
    }

    .cookie-banner {
        bottom: 0;
        left: 0;
        right: 0;
        max-width: 100%;
        border-radius: 14px 14px 0 0;
        padding: 1.5rem;
    }

    .cookie-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .cookie-btn {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .site-footer {
        padding: 3rem 0 2rem 0;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.25rem 1.5rem;
        margin-bottom: 2.5rem;
    }

    .footer-col-brand {
        grid-column: span 2;
        max-width: 100%;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.25rem;
        padding-top: 1.75rem;
        padding-bottom: 2rem;
    }

    .footer-bottom-left {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.35rem;
    }

    .footer-copy {
        line-height: 1.5;
    }

    .footer-bottom-link {
        display: inline-block;
        margin-left: 0;
        margin-top: 0.2rem;
    }

    .footer-payment-badges {
        justify-content: center;
    }

    .floating-cookie-btn {
        bottom: 16px;
        left: 16px;
        width: 42px;
        height: 42px;
    }
}

@media (max-width: 480px) {
    .footer-grid {
        gap: 2rem 1rem;
    }

    .footer-links a {
        font-size: 0.8rem;
    }

    .req-item {
        font-size: 0.75rem;
    }
}


/* ========================================================
   13. SIDECART (FIONDA LUXURY KÜLGSAHTEL-OSTUKORV)
   ======================================================== */
.fionda-sidecart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 10, 9, 0.65);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.fionda-sidecart-overlay.is-active {
    opacity: 1 !important;
    visibility: visible !important;
}

.fionda-sidecart {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 400px;
    height: 100vh;
    height: 100dvh;
    background-color: #0d0c0a; /* Obsidian Black */
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    z-index: 99999;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: -15px 0 45px rgba(0, 0, 0, 0.5);
    color: #ffffff;
}

.fionda-sidecart.is-active {
    transform: translateX(0) !important;
}

/* Päis */
.fionda-sidecart-header {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #12110f;
}

.fionda-sidecart-title {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #ffffff;
}

.fionda-sidecart-title svg {
    stroke: #d1b89d;
}

.fionda-sidecart-title h2 {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #ffffff;
}

.fionda-sidecart-close {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #b5b0a6;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.fionda-sidecart-close:hover {
    color: #ffffff;
    border-color: #d1b89d;
    background: rgba(255, 255, 255, 0.12);
}

/* Sisu ja tooted */
.fionda-sidecart-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1.25rem;
    transition: opacity 0.2s ease;
}

.fionda-sidecart-body::-webkit-scrollbar {
    width: 4px;
}
.fionda-sidecart-body::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 2px;
}

.fionda-cart-item {
    display: flex;
    gap: 0.85rem;
    padding: 0.85rem;
    background: #141311;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 0.75rem;
    align-items: center;
}

.fionda-cart-item-img {
    width: 52px;
    height: 52px;
    border-radius: 3px;
    overflow: hidden;
    background: #ffffff;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px;
}

.fionda-cart-item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.fionda-cart-item-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.fionda-cart-item-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}

.fionda-cart-item-title {
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.825rem;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    transition: color 0.2s ease;
}

.fionda-cart-item-title:hover {
    color: #d1b89d;
}

.fionda-cart-item-subtotal {
    font-weight: 700;
    font-size: 0.825rem;
    color: #d1b89d;
    white-space: nowrap;
}

.fionda-cart-item-price {
    font-size: 0.75rem;
    color: #7a766f;
}

.fionda-cart-item-actions {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-top: 0.35rem;
}

/* Koguse valija */
.fionda-qty-control {
    display: inline-flex;
    align-items: center;
    background: #0d0c0a;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 2px;
}

/* NUPUD - JA + ALATI SELGELT NÄHTAVAD */
.fionda-sidecart .fionda-qty-btn,
.fionda-sidecart .fionda-qty-minus,
.fionda-sidecart .fionda-qty-plus {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    width: 26px !important;
    height: 26px !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.85 !important;
    transition: all 0.2s ease !important;
}

.fionda-sidecart .fionda-qty-btn:hover,
.fionda-sidecart .fionda-qty-minus:hover,
.fionda-sidecart .fionda-qty-plus:hover {
    color: #d1b89d !important;
    opacity: 1 !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

.fionda-sidecart .fionda-qty-num {
    font-size: 0.825rem !important;
    font-weight: 600 !important;
    padding: 0 0.35rem !important;
    min-width: 22px !important;
    text-align: center !important;
    color: #ffffff !important;
}

.fionda-remove-item {
    background: transparent;
    border: none;
    color: #7a766f;
    font-size: 0.725rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0;
    transition: color 0.2s ease;
}

.fionda-remove-item:hover {
    color: #e05e32;
}

/* Tühi ostukorv */
.fionda-cart-empty {
    text-align: center;
    padding: 4rem 1.5rem;
    color: #7a766f;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.fionda-cart-empty svg {
    stroke: #7a766f;
    opacity: 0.5;
}

.fionda-cart-empty p {
    margin: 0;
    font-size: 0.9rem;
}

.fionda-cart-shop-btn {
    display: inline-block;
    margin-top: 0.5rem;
    background: #d1b89d;
    color: #111111;
    padding: 0.65rem 1.25rem;
    border-radius: 1px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: all 0.2s ease;
}

.fionda-cart-shop-btn:hover {
    background: #ffffff;
    transform: translateY(-2px);
}

/* Jalus / Kokkuvõte */
.fionda-sidecart-footer {
    padding: 1.25rem 1.5rem;
    background: #12110f;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    overflow: visible;
}

.fionda-sidecart-footer.is-hidden {
    display: none !important;
}

.fionda-coupon-accordion {
    margin-bottom: 0.85rem;
}

.fionda-coupon-summary {
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 600;
    color: #9c978f;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    user-select: none;
}

.fionda-coupon-box {
    display: flex;
    gap: 0.45rem;
    margin-top: 0.5rem;
}

.fionda-coupon-box input {
    flex: 1;
    background: #0d0c0a;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #ffffff;
    padding: 0.45rem 0.65rem;
    border-radius: 2px;
    font-size: 0.75rem;
}

.fionda-coupon-box button {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #ffffff;
    padding: 0.45rem 0.75rem;
    border-radius: 2px;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.fionda-coupon-box button:hover {
    background: #d1b89d;
    color: #111111;
    border-color: #d1b89d;
}

#fionda-coupon-msg {
    font-size: 0.7rem;
    margin-top: 0.35rem;
}
.fionda-msg-ok { color: #a4e460; }
.fionda-msg-err { color: #ff6136; }

.fionda-cart-totals {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 0.65rem;
    margin-bottom: 1rem;
}

.fionda-total-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: #9c978f;
    margin-bottom: 0.35rem;
}

/* "Kokku" rea parandus - selge valge tekst */
.fionda-grand-total {
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff !important;
    margin-top: 0.4rem;
}

.fionda-grand-total span,
.fionda-grand-total strong {
    color: #ffffff !important;
}

.fionda-grand-total span:last-child {
    color: #d1b89d !important;
}

/* ========================================================
   FIONDA SIGNATUURNUPP "MINE KASSASSE" (OFFSET WIREFRAME)
   Algul: Šampanjabeež taust + must tekst + beež traatraam
   Hover: Valge taust + must tekst + valge traatraam
   ======================================================== */
.fionda-sidecart-cta {
    position: relative !important;
    display: block !important;
    width: calc(100% - 6px) !important;
    margin: 6px 0 0 5px !important;
    background: #d1b89d !important;
    color: #121212 !important;
    text-align: center !important;
    padding: 0.95rem 1.25rem !important;
    border-radius: 1px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
    z-index: 2 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                background-color 0.25s ease, 
                color 0.25s ease !important;
}

/* Nihkes traatraam nupu taga */
.fionda-sidecart-cta::before {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1.5px solid #d1b89d !important;
    border-radius: 1px !important;
    pointer-events: none !important;
    z-index: -1 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                border-color 0.25s ease !important;
}

/* Hover olek */
.fionda-sidecart-cta:hover {
    background: #ffffff !important;
    color: #121212 !important;
    transform: translate(-2px, -2px) !important;
}

.fionda-sidecart-cta:hover::before {
    transform: translate(2px, 2px) !important;
    border-color: #ffffff !important;
}

.fionda-sidecart-links {
    display: flex;
    justify-content: space-between;
    margin-top: 1rem;
}

.fionda-link-btn {
    background: none;
    border: none;
    color: #7a766f;
    font-size: 0.725rem;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    transition: color 0.2s ease;
}

.fionda-link-btn:hover {
    color: #ffffff;
}

@media (max-width: 480px) {
    .fionda-sidecart {
        max-width: 100%;
    }
}

/* ========================================================
   14. TOOTELEHE TEHNILISED ANDMED (SPECS GRID)
   ======================================================== */
.fionda-wine-specs {
    margin: 1.75rem 0;
    padding: 1.25rem 0;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.specs-heading {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-primary);
    margin-bottom: 0.85rem;
}

.specs-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.45rem 1.75rem;
    font-size: 0.85rem;
    line-height: 1.5;
    margin: 0;
}

.specs-grid dt {
    color: var(--color-text-muted);
    font-weight: 500;
}

.specs-grid dd {
    margin: 0;
    color: var(--color-primary);
    font-weight: 600;
}

.specs-food-pairing {
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--color-border);
    font-size: 0.85rem;
    color: var(--color-text);
}

/* ========================================================
   14. ÜKSIKTOOTE LEHT (ORIGINAALDISAIN & TÄPSED VÄRVID)
   ======================================================== */
.single-product-page {
    padding: 1.5rem 0 4rem 0;
}

.single-breadcrumbs {
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    margin-bottom: 2.5rem;
}

.single-breadcrumbs a {
    color: var(--color-text-muted);
    transition: color 0.15s ease;
}

.single-breadcrumbs a:hover {
    color: var(--color-primary);
}

.single-breadcrumbs .sep {
    margin: 0 0.5rem;
    color: #c5c1b8;
}

.single-breadcrumbs .current {
    color: var(--color-primary);
    font-weight: 600;
}

.product-split-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: start;
    margin-bottom: 4rem;
}

/* ----------------- VASAK VEERG (PILT) ----------------- */
.product-image-col {
    background: #ffffff;
    border-radius: 3px;
    padding: 3rem;
    text-align: center;
    position: relative;
    position: sticky;
    top: calc(var(--header-height) + 2rem); 
}

.product-image-col img {
    max-width: 100%;
    height: auto;
    max-height: 550px;
    object-fit: contain;
    margin: 0 auto;
    transition: transform 0.4s ease;
}

.product-image-col:hover img {
    transform: scale(1.02);
}

.product-image-col .onsale {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: var(--color-accent);
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.4rem 0.8rem;
    border-radius: 2px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    z-index: 9;
}

/* ----------------- PAREM VEERG (INFO) ----------------- */
.product-info-col {
    padding-top: 0.5rem;
}

.product-info-col .product-title {
    font-size: 2.2rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--color-primary);
    margin: 0 0 0.75rem 0;
    line-height: 1.15;
}

.product-info-col .price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--color-primary);
    margin: 0 0 1.5rem 0;
    letter-spacing: -0.01em;
}

.product-info-col .price del {
    color: #a39f98;
    font-size: 1.05rem;
    font-weight: 500;
    text-decoration: line-through;
}

.product-info-col .price ins {
    text-decoration: none;
    color: var(--color-accent);
}

.single-product-meta {
    margin-bottom: 2rem;
    font-size: 0.85rem;
    line-height: 1.6;
    color: var(--color-text);
}

.single-product-meta .meta-item {
    display: block;
    margin-bottom: 0.5rem;
}

.single-product-meta .meta-item strong {
    font-weight: 600;
    color: var(--color-primary);
    margin-right: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
}

.product-short-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--color-text);
    margin-bottom: 2rem;
}

.product-short-desc p {
    margin-bottom: 1rem;
}

.product-short-desc p:last-child {
    margin-bottom: 0;
}

/* ----------------- LISA KORVI VORM (ALATI MUST) ----------------- */
#fionda-custom-cart-area {
    margin-bottom: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
}

#fionda-custom-cart-area div.quantity {
    display: none !important;
}

#fionda-custom-cart-area form.cart {
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    gap: 15px !important;
    width: 100% !important;
    max-width: 400px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
}

#fionda-custom-cart-area .custom-quantity-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1px solid var(--color-border) !important;
    background: #ffffff !important;
    border-radius: 2px !important;
    height: 52px !important;
    padding: 0 5px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

#fionda-custom-cart-area .custom-qty-btn {
    background: transparent !important;
    border: none !important;
    color: var(--color-primary) !important;
    width: 35px !important;
    height: 100% !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    outline: none !important;
    transition: opacity 0.2s !important;
}

#fionda-custom-cart-area .custom-qty-btn:hover {
    opacity: 0.6 !important;
}

#fionda-custom-cart-area .custom-qty-input {
    background: transparent !important;
    border: none !important;
    color: var(--color-primary) !important;
    width: 40px !important;
    height: 100% !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    outline: none !important;
}

#fionda-custom-cart-area .custom-qty-input::-webkit-outer-spin-button,
#fionda-custom-cart-area .custom-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#fionda-custom-cart-area button.single_add_to_cart_button {
    width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    background: var(--color-primary) !important;
    background-color: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
    color: #ffffff !important; 
    font-family: inherit !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Nupp püsib süsimust ja EI LÄHE punaseks */
#fionda-custom-cart-area button.single_add_to_cart_button:hover {
    background: #000000 !important;
    background-color: #000000 !important;
    border-color: #000000 !important;
}

.out-of-stock-notice {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 1rem 0;
}

/* ----------------- AKORDION (Kirjeldus) ----------------- */
.product-accordion-wrapper {
    border-top: 1px solid var(--color-border);
}

.product-accordion-item {
    border-bottom: 1px solid var(--color-border);
}

.accordion-toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: transparent;
    border: none;
    padding: 1.15rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-primary);
    cursor: pointer;
    outline: none;
}

.accordion-toggle svg {
    transition: transform 0.3s ease;
}

.accordion-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
}

.accordion-content.is-open {
    max-height: 2000px;
}

.accordion-content-inner {
    padding-bottom: 1.5rem;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--color-text);
}

/* ========================================================
   SEOTUD TOOTED (KÕIK ORIGINAALSTIILID TAASTATUD)
   ======================================================== */
.related-products-section {
    border-top: 1px solid var(--color-border);
    padding-top: 3.5rem;
}

.related-products-section h2 {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--color-primary);
    margin-bottom: 1.5rem;
    text-align: center;
}

.woocommerce .related.products ul.products::before,
.woocommerce .related.products ul.products::after {
    content: none !important;
    display: none !important;
}

.woocommerce .related.products ul.products,
.related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.related.products li.product {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative;
    background: #ffffff !important;
    padding: 1.5rem 1.25rem !important;
}

.related.products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    text-decoration: none !important;
}

.related.products li.product img {
    height: 240px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto 1.25rem auto !important;
    display: block !important;
    background: transparent !important;
    padding: 0.75rem !important;
}

.related.products .woocommerce-loop-product__title {
    font-size: 0.925rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.015em;
    color: var(--color-primary) !important;
    margin: 0 0 0.4rem 0 !important;
    text-align: left !important;
}

.woocommerce .related.products li.product .price {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.6rem !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: var(--color-primary) !important;
    margin: 0 0 1rem 0 !important;
    text-align: left !important;
}

.woocommerce .related.products li.product .price del {
    color: #a39f98 !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
    margin: 0 !important;
}

.woocommerce .related.products li.product .price ins {
    text-decoration: none !important;
    color: var(--color-accent) !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

/* Puhtad ja minimalistlikud "Lisa korvi" nupud */
.related.products li.product .button {
    margin-top: auto !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: transparent !important;
    border: 1px solid var(--color-primary) !important;
    color: var(--color-primary) !important;
    padding: 0.65rem 0.5rem !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    transition: all 0.2s ease !important;
}

.related.products li.product .button:hover {
    background: var(--color-primary) !important;
    color: #ffffff !important;
}

/* ========================================================
   SÜLEARVUTI / MOBIILI RESPONSIVE REEGLID
   ======================================================== */
@media (max-width: 1440px) {
    .single-product-page {
        padding: 0.5rem 0 2rem 0; 
    }
    
    .single-breadcrumbs {
        margin-bottom: 1rem;
    }

    .product-split-layout {
        gap: 2rem;
        margin-bottom: 2rem;
    }

    .product-image-col {
        padding: 1.5rem;
    }

    .product-image-col img {
        max-height: 380px;
    }

    .product-info-col .product-title {
        font-size: 1.6rem;
        margin-bottom: 0.5rem;
    }

    .product-info-col .price {
        font-size: 1.2rem;
        margin-bottom: 1rem;
    }

    .single-product-meta {
        margin-bottom: 1rem;
        font-size: 0.8rem;
    }

    .single-product-meta .meta-item {
        margin-bottom: 0.25rem;
    }
    
    .product-short-desc {
        margin-bottom: 1rem;
        padding-bottom: 1rem;
        font-size: 0.85rem;
        line-height: 1.4;
    }

    #fionda-custom-cart-area {
        margin-bottom: 1.5rem;
        padding-top: 1rem;
    }

    #fionda-custom-cart-area .custom-quantity-wrapper,
    #fionda-custom-cart-area button.single_add_to_cart_button {
        height: 44px !important;
        font-size: 0.8rem !important;
    }
    
    .accordion-toggle {
        padding: 0.85rem 0;
        font-size: 0.9rem;
    }

    .woocommerce .related.products ul.products,
    .related.products ul.products {
        gap: 1rem !important;
    }

    .related.products li.product {
        padding: 1rem 0.75rem 0.75rem 0.75rem !important;
    }

    .related.products li.product img {
        height: 180px !important;
    }
}

@media (max-width: 900px) {
    .product-split-layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .product-image-col {
        position: relative;
        top: 0;
        padding: 1.5rem;
    }
}

@media (max-width: 768px) {
    .woocommerce .related.products ul.products,
    .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.65rem !important;
    }
    
    .related.products li.product {
        padding: 0.85rem 0.65rem 0.65rem 0.65rem !important;
    }

    .related.products li.product img {
        height: 160px !important;
        margin-bottom: 0.75rem !important;
    }
    
    #fionda-custom-cart-area form.cart {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
    
    #fionda-custom-cart-area .custom-quantity-wrapper {
        flex: 1 1 auto !important;
    }
}

/* ========================================================
   15. TOODETE ARHIIV JA KATEGOORIAD (ARCHIVE PRODUCT PAGE)
   ======================================================== */
.archive-product-page {
    padding: 1.5rem 0 5rem 0;
}

.archive-breadcrumbs {
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    margin-bottom: 2rem;
}

.archive-breadcrumbs a {
    color: var(--color-text-muted);
    transition: color 0.15s ease;
}

.archive-breadcrumbs a:hover {
    color: var(--color-primary);
}

.archive-breadcrumbs .sep {
    margin: 0 0.5rem;
    color: #c5c1b8;
}

.archive-breadcrumbs .current {
    color: var(--color-primary);
    font-weight: 600;
}

.archive-header-area {
    margin-bottom: 1.5rem;
}

.shop-hero-title {
    max-width: 650px;
    margin-bottom: 2rem;
}

.shop-hero-title .page-title {
    font-size: 2.25rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--color-primary);
    margin: 0 0 0.6rem 0;
    line-height: 1.15;
}

.term-description {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--color-text-muted);
}

/* Veinimaja ACF päis */
.veinimaja-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem auto;
}

.veinimaja-logo-wrap {
    margin-bottom: 1.5rem;
}

.veinimaja-logo {
    max-height: 120px;
    width: auto;
    margin: 0 auto;
    object-fit: contain;
}

.veinimaja-header .page-title {
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
    color: var(--color-primary);
}

.veinimaja-short-desc {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--color-text-muted);
    margin-bottom: 1.5rem;
}

button.veinimaja-toggle-btn {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--color-primary) !important;
    color: var(--color-primary) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: 0 !important;
    transition: all 0.2s ease !important;
}

button.veinimaja-toggle-btn:hover {
    color: var(--color-accent) !important;
    border-bottom-color: var(--color-accent) !important;
}

.veinimaja-arrow {
    transition: transform 0.3s ease;
}

button.veinimaja-toggle-btn[aria-expanded="true"] .veinimaja-arrow {
    transform: rotate(-180deg);
}

.veinimaja-accordion {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
}

.veinimaja-accordion.is-open {
    max-height: 3000px;
}

.veinimaja-accordion-inner {
    padding-top: 1.5rem;
    margin-top: 1.5rem;
    border-top: 1px solid var(--color-border);
    text-align: left;
}

.veinimaja-long-desc {
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--color-text);
    margin-bottom: 2rem;
}

.veinimaja-long-desc p {
    margin-bottom: 1rem;
}

.veinimaja-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid var(--color-primary);
    padding: 0.6rem 1rem;
    border-radius: 2px;
    transition: all 0.2s ease;
    text-decoration: none;
}

.veinimaja-btn-link:hover {
    background: var(--color-primary);
    color: #ffffff;
}

/* Kategooriate riba liugur, hajuvus ja nooled */
.category-tabs-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 2.8rem;
    gap: 1.5rem;
}

.category-tabs-slider-wrap {
    position: relative;
    display: flex;
    align-items: center;
    flex-grow: 1;
    min-width: 0;
}

.category-tabs-slider-wrap::before,
.category-tabs-slider-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 48px;
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.category-tabs-slider-wrap::before {
    left: 0;
    background: linear-gradient(to right, #fbfaf8 15%, rgba(251, 250, 248, 0));
}

.category-tabs-slider-wrap::after {
    right: 0;
    background: linear-gradient(to left, #fbfaf8 15%, rgba(251, 250, 248, 0));
}

.category-tabs-slider-wrap.has-fade-left::before {
    opacity: 1;
}

.category-tabs-slider-wrap.has-fade-right::after {
    opacity: 1;
}

.category-tabs {
    display: flex;
    gap: 2.25rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-grow: 1;
    scroll-behavior: smooth;
    padding: 0 0.5rem;
}

.category-tabs::-webkit-scrollbar {
    display: none;
}

.tab-link {
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--color-text-muted);
    padding: 0.75rem 0;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

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

.tab-link.is-active {
    color: var(--color-primary);
    font-weight: 600;
    border-bottom-color: var(--color-primary);
}

.tab-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid var(--color-border);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    padding: 0;
}

.tab-nav-arrow:hover {
    border-color: var(--color-primary);
    transform: translateY(-50%) scale(1.08);
}

.tab-nav-arrow.tab-prev {
    left: -6px;
}

.tab-nav-arrow.tab-next {
    right: -6px;
}

.tab-nav-arrow.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.filter-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: transparent;
    border: none;
    color: var(--color-primary);
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
    padding: 0.75rem 0;
    transition: color 0.2s ease;
    flex-shrink: 0;
    white-space: nowrap;
}

.filter-toggle-btn:hover {
    color: var(--color-accent);
}

/* Off-canvas filtri sahtel */
.filter-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(18, 18, 18, 0.4);
    backdrop-filter: blur(3px);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.filter-drawer-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

.filter-drawer {
    position: fixed;
    top: 0;
    right: -420px;
    width: 400px;
    height: 100vh;
    background: #ffffff;
    z-index: 100;
    display: flex;
    flex-direction: column;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.05);
    transition: right 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    visibility: hidden;
}

.filter-drawer.is-active {
    right: 0;
    visibility: visible;
}

.drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    border-bottom: 1px solid var(--color-border);
}

.drawer-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
}

.drawer-close-btn {
    background: transparent;
    border: none;
    color: var(--color-text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: color 0.2s ease;
}

.drawer-close-btn:hover {
    color: var(--color-accent);
}

.drawer-content {
    flex-grow: 1;
    overflow-y: auto;
    padding: 2rem 1.5rem;
}

.filter-group-title {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    margin-bottom: 1rem;
}

.filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filter-list li {
    margin-bottom: 0.6rem;
}

.filter-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
    color: var(--color-text);
    padding: 0.25rem 0;
    transition: color 0.2s ease;
    text-decoration: none;
}

.filter-list a:hover {
    color: var(--color-accent);
}

.filter-list a.is-active {
    font-weight: 600;
    color: var(--color-primary);
}

.filter-list .count {
    font-size: 0.75rem;
    color: #9e9a91;
}

/* ========================================================
   TOODETE GRID & OFFSET WIREFRAME KAARDID
   ======================================================== */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products,
ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 2.6rem 2rem !important; /* Rohkem ruumi traatraamide nihkele */
    list-style: none !important;
    padding: 15px 0 !important;
    margin: 0 0 3.5rem 0 !important;
}

li.product.reveal-item {
    opacity: 0;
    transform: translateY(35px);
    transition: opacity 0.7s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

li.product.reveal-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* 
   TOOTEKAART (ÜMBRIS):
   Läbipaistev põhi, et traatraam (kiht 1) ja valge kaart (kiht 2) saaksid täpselt kattuda
*/
body.woocommerce ul.products li.product,
li.product {
    position: relative !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 1.5rem 1.25rem 1.4rem 1.25rem !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-top: 10px !important;
    margin-left: 10px !important;
    overflow: visible !important;
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

/* 
   1. TRAATRAAM (z-index: 1):
   Nihutatud 10px üles ja 10px vasakule. 
   Parempoolne ja alumine äär jäävad valge kasti (z-index: 2) taha peitu!
*/
body.woocommerce ul.products li.product::before,
li.product::before {
    content: '' !important;
    position: absolute !important;
    top: -10px !important;
    left: -10px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1px solid #d1b89d !important;
    border-radius: 2px !important;
    pointer-events: none !important;
    z-index: 1 !important;
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.35s ease !important;
}

/* 
   2. VALGE KAART (z-index: 2):
   Kattub traatraamiga ning peidab selle parema ja alumise serva puhtalt ära
*/
body.woocommerce ul.products li.product::after,
li.product::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    border-radius: 2px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
    pointer-events: none !important;
    z-index: 2 !important;
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease !important;
}

/* 
   3. TOOTE SISU (z-index: 3):
   Pildid, tekstid ja nupud istuvad valge kaardi peal
*/
body.woocommerce ul.products li.product > *,
li.product > * {
    position: relative !important;
    z-index: 3 !important;
}

/* 
   HOVER EFEKT:
   Valge kaart ja sisu liiguvad üles-vasakule, traatraam paremale-alla
*/
body.woocommerce ul.products li.product:hover,
li.product:hover {
    transform: translate(-3px, -3px) !important;
}

body.woocommerce ul.products li.product:hover::after,
li.product:hover::after {
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.08) !important;
}

body.woocommerce ul.products li.product:hover::before,
li.product:hover::before {
    transform: translate(6px, 6px) !important;
    border-color: #823438 !important; /* Veinipunane aktsent */
}

li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    text-decoration: none !important;
    width: 100% !important;
}

li.product img {
    height: 230px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto 1.25rem auto !important;
    display: block !important;
    background: transparent !important;
    padding: 0.5rem !important;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

li.product:hover img {
    transform: scale(1.05) !important;
}

.product-card-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.35rem !important;
    font-size: 0.68rem !important;
    font-weight: 500 !important;
    color: var(--color-text-muted) !important;
    margin-bottom: 0.4rem !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

.meta-item:not(:last-child)::after {
    content: "•";
    margin-left: 0.35rem;
    color: #c4bfb6;
}

.woocommerce-loop-product__title {
    font-size: 0.925rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.015em !important;
    color: var(--color-primary) !important;
    margin: 0 0 0.4rem 0 !important;
    min-height: 2.6em;
}

.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 0.85rem !important;
    right: 0.85rem !important;
    left: auto !important;
    background: var(--color-accent) !important;
    color: #ffffff !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    padding: 0.35rem 0.6rem !important;
    border-radius: 2px !important;
    letter-spacing: 0.08em !important;
    z-index: 9 !important;
    box-shadow: 0 4px 10px rgba(122, 28, 40, 0.2) !important;
}

.woocommerce ul.products li.product .price {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.6rem !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: var(--color-primary) !important;
    margin: 0 0 1.25rem 0 !important;
}

.woocommerce ul.products li.product .price del {
    color: #a39f98 !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
    opacity: 0.8 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
    color: var(--color-accent) !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

/* ========================================================
   LISA KORVI NUPP (DEFAULT: MUST, HOVER: ŠAMPANJABEEŽ)
   ======================================================== */
li.product .button {
    margin-top: auto !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 6px) !important;
    margin-left: 5px !important;
    background-color: var(--color-primary, #121212) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 1px !important;
    padding: 0.8rem 1rem !important;
    font-family: inherit !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    overflow: visible !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                background-color 0.25s ease, 
                color 0.25s ease !important;
    z-index: 4 !important;
}

/* Nihkes traatraam nupu taga */
li.product .button::before {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1px solid #d1b89d !important;
    border-radius: 1px !important;
    pointer-events: none !important;
    z-index: -1 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.25s ease !important;
}

/* Keelame vana valgusläike (shimmer) */
li.product .button::after {
    display: none !important;
}

/* Nupu Hover: Šampanjabeež taust, must tekst ja must raam */
li.product .button:hover {
    background-color: #d1b89d !important;
    color: #121212 !important;
    transform: translate(-2px, -2px) !important;
}

li.product .button:hover::before {
    transform: translate(2px, 2px) !important;
    border-color: #121212 !important;
}

/* Läbimüüdud nupp */
li.product-is-out-of-stock img {
    filter: grayscale(100%);
    opacity: 0.4;
}

li.product .out-of-stock-btn {
    background-color: #f0ece3 !important;
    color: #9c978f !important;
    border: none !important;
    cursor: not-allowed !important;
}

li.product .out-of-stock-btn::before {
    display: none !important;
}

.badge-sold-out {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    background: #111111;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.25rem 0.5rem;
    border-radius: 2px;
    letter-spacing: 0.05em;
    z-index: 2;
}

.infinite-loader {
    display: block; 
    text-align: center;
    padding: 2.5rem 0;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    min-height: 40px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease;
}

.infinite-loader.is-active {
    opacity: 1;
    visibility: visible;
    animation: pulse 1.5s infinite ease-in-out;
}

@keyframes pulse {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}

.archive-pagination {
    display: none !important;
}

/* Modal pop-up */
.cart-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(18, 18, 18, 0.4);
    backdrop-filter: blur(5px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cart-modal-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

.cart-modal-box {
    background: #ffffff;
    border-radius: 3px;
    padding: 2.5rem;
    width: 90%;
    max-width: 440px;
    text-align: center;
    position: relative;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    transform: scale(0.9) translateY(20px);
    transition: transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.cart-modal-overlay.is-active .cart-modal-box {
    transform: scale(1) translateY(0);
}

.cart-modal-close {
    position: absolute;
    top: 1rem;
    right: 1.2rem;
    background: transparent;
    border: none;
    color: var(--color-text-muted);
    font-size: 1.75rem;
    cursor: pointer;
    line-height: 1;
}

.modal-checkmark {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin: 0 auto 1.25rem;
}

.cart-modal-title {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--color-primary);
    margin: 0 0 1.5rem;
}

.cart-modal-preview {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(0, 0, 0, 0.02);
    border: 1px solid var(--color-border);
    padding: 0.85rem;
    border-radius: 2px;
    text-align: left;
    margin-bottom: 1.5rem;
}

.cart-modal-img {
    width: 50px;
    height: 70px;
    object-fit: contain;
}

.cart-modal-info h3 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-primary);
    margin: 0 0 0.25rem;
}

.cart-modal-btn {
    display: block;
    width: 100%;
    padding: 0.85rem;
    border-radius: 2px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid var(--color-primary);
    margin-bottom: 0.6rem;
    transition: all 0.2s ease;
}

.cart-modal-btn.primary {
    background: var(--color-primary);
    color: #ffffff;
}

.cart-modal-btn.primary:hover {
    background: transparent;
    color: var(--color-primary);
}

.cart-modal-btn.secondary {
    background: transparent;
    color: var(--color-primary);
}

/* Ekraanisuuruste kohandused */
@media (max-width: 1440px) {
    .woocommerce ul.products,
    ul.products {
        gap: 2rem 1.4rem !important;
    }
    
    li.product img {
        height: 200px !important;
    }
}

@media (max-width: 950px) {
    .woocommerce ul.products,
    ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.8rem 1.2rem !important;
    }
}

@media (max-width: 768px) {
    .filter-drawer {
        width: 100%;
        right: -100%;
    }

    .category-tabs-container {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .woocommerce ul.products,
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem 1rem !important;
    }

    body.woocommerce ul.products li.product,
    li.product {
        padding: 1.1rem 0.85rem !important;
        margin-top: 6px !important;
        margin-left: 6px !important;
    }

    body.woocommerce ul.products li.product::before,
    li.product::before {
        top: -6px !important;
        left: -6px !important;
    }

    body.woocommerce ul.products li.product img {
        height: 170px !important;
    }
}


/* ========================================================
   16. FIONDA OSTUKORV (CART PAGE DESIGN)
   ======================================================== */
.fionda-cart-wrapper {
    padding: 1.5rem 0 5rem 0;
    transition: opacity 0.25s ease;
}

.fionda-cart-wrapper.is-loading {
    opacity: 0.5;
    pointer-events: none;
}

.fionda-cart-page-title {
    font-size: 2.25rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--color-primary);
    margin: 0 0 2.5rem 0;
}

/* Kaheveeruline paigutus */
.fionda-cart-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 3.5rem;
    align-items: start;
}

/* Toodete nimekirja päis */
.fionda-cart-table-header {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 1.5rem;
}

/* Üksik tooterida / kaart */
.fionda-cart-card {
    background: #ffffff;
    border-radius: 3px;
    padding: 1.5rem;
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1rem;
    border: 1px solid var(--color-border-subtle, #eceae4);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.fionda-card-img {
    width: 85px;
    height: 105px;
    flex-shrink: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fionda-card-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.fionda-card-info {
    flex: 1;
}

.fionda-card-title {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0 0 0.35rem 0;
    letter-spacing: -0.015em;
    line-height: 1.3;
}

.fionda-card-title a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.fionda-card-title a:hover {
    color: var(--color-accent);
}

.fionda-card-unit-price {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-bottom: 1rem;
}

.fionda-card-controls {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

/* Kohandatud koguse valik (- number +) */
.fionda-quantity-box {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: 2px;
    height: 38px;
    padding: 0 4px;
}

.fionda-qty-minus, 
.fionda-qty-plus {
    background: transparent;
    border: none;
    color: var(--color-primary);
    width: 28px;
    height: 100%;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s ease;
    outline: none;
}

.fionda-qty-minus:hover, 
.fionda-qty-plus:hover {
    opacity: 0.6;
}

.fionda-qty-input {
    width: 36px;
    background: transparent;
    border: none;
    color: var(--color-primary);
    text-align: center;
    font-weight: 600;
    font-size: 0.95rem;
    -moz-appearance: textfield;
    outline: none;
}

.fionda-qty-input::-webkit-outer-spin-button,
.fionda-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Eemaldamise nupp */
.fionda-remove-item-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color 0.2s ease;
}

.fionda-remove-item-btn:hover {
    color: var(--color-accent);
}

.fionda-card-price {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-primary);
    align-self: flex-start;
}

/* Parem veerg: Kokkuvõte */
.fionda-cart-summary-col {
    background: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: 3px;
    padding: 2rem;
    position: sticky;
    top: calc(var(--header-height, 80px) + 2rem);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.fionda-summary-title {
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--color-primary);
    margin: 0 0 1.5rem 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--color-border);
}

/* Sooduskoodi akordion */
.fionda-coupon-accordion {
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 1.25rem;
}

.fionda-coupon-summary {
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-text-muted);
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    transition: color 0.2s ease;
}

.fionda-coupon-summary::-webkit-details-marker {
    display: none;
}

.fionda-coupon-summary:hover {
    color: var(--color-primary);
}

.fionda-coupon-summary svg {
    transition: transform 0.25s ease;
}

.fionda-coupon-accordion[open] .fionda-coupon-summary svg {
    transform: rotate(180deg);
}

.fionda-coupon-box {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.fionda-coupon-box input {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: 2px;
    padding: 0.6rem 0.85rem;
    color: var(--color-primary);
    font-size: 0.85rem;
    outline: none;
    transition: border-color 0.2s ease;
}

.fionda-coupon-box input:focus {
    border-color: var(--color-primary);
}

.fionda-coupon-box button {
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: #ffffff;
    padding: 0.6rem 1.1rem;
    border-radius: 2px;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
}

.fionda-coupon-box button:hover {
    background: #000000;
}

/* Ridade summad */
.fionda-summary-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    color: var(--color-text);
    margin-bottom: 0.85rem;
    align-items: center;
}

.fionda-coupon-applied-row {
    color: #276749;
}

.fionda-coupon-applied-row a.woocommerce-remove-coupon {
    color: var(--color-accent);
    margin-left: 0.5rem;
    text-decoration: none;
    font-size: 0.8rem;
}

.fionda-coupon-applied-row a.woocommerce-remove-coupon:hover {
    text-decoration: underline;
}

.fionda-summary-divider {
    height: 1px;
    background: var(--color-border);
    margin: 1.25rem 0;
}

.fionda-grand-total {
    font-size: 1.15rem;
    color: var(--color-primary);
    margin-bottom: 1.5rem;
}

.fionda-grand-total strong {
    font-size: 1.25rem;
}

/* Kassa nupp */
.fionda-checkout-btn {
    display: block !important;
    width: 100% !important;
    background: var(--color-primary) !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 0.95rem 1rem !important;
    border-radius: 2px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    border: 1px solid var(--color-primary) !important;
}

.fionda-checkout-btn:hover {
    background: #000000 !important;
    border-color: #000000 !important;
}

.fionda-cart-secure-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--color-text-muted);
    margin-top: 1rem;
}

.fionda-hidden-update {
    display: none !important;
}

/* Tundlikkus ekraanidele */
@media (max-width: 992px) {
    .fionda-cart-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .fionda-cart-summary-col {
        position: static;
    }
}

@media (max-width: 580px) {
    .fionda-cart-card {
        flex-direction: column;
        gap: 1rem;
    }

    .fionda-card-img {
        width: 100%;
        height: 140px;
    }

    .fionda-card-price {
        align-self: flex-end;
    }
}

/* ========================================================
   17. TÜHJA OSTUKORVI LEHT (EMPTY CART PAGE)
   ======================================================== */
.fionda-empty-cart-page {
    padding: 3rem 0 5rem 0;
}

/* Peida WooCommerce'i vaikimisi sinine infokast ja link "Tagasi poodi", 
   kuna meil on selleks nüüd kohandatud päis */
.woocommerce-info {
    display: none !important;
}

.fionda-empty-cart-hero {
    text-align: center;
    max-width: 580px;
    margin: 0 auto 4.5rem auto;
}

.fionda-empty-cart-icon {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid var(--color-border);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.75rem auto;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.fionda-empty-cart-title {
    font-size: 2.25rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--color-primary);
    margin: 0 0 0.85rem 0;
    line-height: 1.15;
}

.fionda-empty-cart-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--color-text-muted);
    margin: 0 0 2rem 0;
}

.fionda-empty-shop-btn {
    display: inline-block !important;
    background: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
    color: #ffffff !important;
    padding: 0.85rem 2.2rem !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.fionda-empty-shop-btn:hover {
    background: #000000 !important;
    border-color: #000000 !important;
}

/* Soovituste plokk */
.fionda-empty-cart-suggestions {
    border-top: 1px solid var(--color-border);
    padding-top: 3.5rem;
}

.fionda-suggestions-title {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--color-primary);
    text-align: center;
    margin: 0 0 2.5rem 0;
}

@media (max-width: 768px) {
    .fionda-empty-cart-page {
        padding: 2rem 0 3.5rem 0;
    }
    
    .fionda-empty-cart-title {
        font-size: 1.65rem;
    }
    
    .fionda-empty-cart-hero {
        margin-bottom: 3rem;
    }
}

/* ========================================================
   18. FIONDA KASSA JA OSTUKORV (BLOCK LAYOUT)
   ======================================================== */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
    max-width: 1200px !important; /* Joondab kassa ja ostukorvi päise/jalusega samale joonele */
    margin: 0 auto !important;    /* Tsentreerib ekraani keskele */
    padding: 3rem 20px 6rem 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Teeme "Esita tellimus" nupu Fionda brändile vastavalt mustaks ja luksuslikuks */
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background-color: var(--color-primary, #121212) !important;
    color: #ffffff !important;
    border-radius: 2px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    padding: 1.1rem !important;
    transition: background-color 0.2s ease !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background-color: #000000 !important;
}

/* ========================================================
   19. AVALEHE DISAIN (HERO, KATEGOORIATE INDEKS, SLIDER & MANIFEST)
   ======================================================== */

/* Esilehe spetsiifilised muutujad */
:root {
    --fionda-black: #121212;
    --fionda-black-deep: #0a0a0a;
    --fionda-white: #ffffff;
    --fionda-gray: #75736f;
    --fionda-bg-shop: #fbfaf8;
    --fionda-wine: #823438;
    --fionda-champagne: #d1b89d;
    --cat-box-bg: #111111;
    --slider-bg: #1a080a;

    --fionda-transition-slow: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    --fionda-transition-fast: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fionda-front-page {
    background-color: var(--fionda-bg-shop) !important;
    overflow-x: hidden;
}

/* Konteiner - hoiab avalehe sisu täpselt 1200px piirides */
.fionda-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 10;
}

/* KURSORI HOVER ESILEHE TUMEDATEL ALADEL */
body:has(.fionda-split-hero:hover) .fionda-luxury-cursor,
body:has(.hero-left:hover) .fionda-luxury-cursor,
body:has(.fionda-cat-podium:hover) .fionda-luxury-cursor,
body:has(.fionda-featured-slider-section:hover) .fionda-luxury-cursor {
    background-color: var(--fionda-champagne) !important;
    box-shadow: 0 0 12px rgba(209, 184, 157, 0.45) !important;
}

body:has(.fionda-split-hero:hover) .fionda-luxury-cursor::after,
body:has(.hero-left:hover) .fionda-luxury-cursor::after,
body:has(.fionda-cat-podium:hover) .fionda-luxury-cursor::after,
body:has(.fionda-featured-slider-section:hover) .fionda-luxury-cursor::after {
    background-color: var(--fionda-champagne) !important;
}

body:has(.fionda-split-hero:hover) .fionda-luxury-cursor.is-hovering,
body:has(.hero-left:hover) .fionda-luxury-cursor.is-hovering,
body:has(.fionda-cat-podium:hover) .fionda-luxury-cursor.is-hovering,
body:has(.fionda-featured-slider-section:hover) .fionda-luxury-cursor.is-hovering {
    background-color: transparent !important;
    border-color: var(--fionda-champagne) !important;
    box-shadow: 0 0 16px rgba(209, 184, 157, 0.4) !important;
}

/* --------------------------------------------------------
   1. HERO SEKTSIOON (LCP OPTIMEERITUD)
   -------------------------------------------------------- */
.fionda-split-hero {
    position: relative;
    width: 100vw;
    max-width: 100%;
    height: 52vh;
    min-height: 420px;
    max-height: 520px;
    background: linear-gradient(135deg, var(--fionda-black) 0%, var(--fionda-black-deep) 100%);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
}

.hero-content-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
    display: flex;
    align-items: center;
    z-index: 3;
    pointer-events: none;
}

.hero-left {
    width: 50%;
    padding: 0 20px;
    pointer-events: auto;
}

.hero-overline {
    display: flex;
    align-items: center;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 1.2rem;
}

.hero-overline::before {
    content: '';
    display: block;
    width: 25px;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.35);
    margin-right: 12px;
}

.hero-title {
    font-size: clamp(2.2rem, 3.5vw, 3.6rem);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.025em;
    margin-bottom: 1rem;
    color: #ffffff;
}

.hero-title em {
    font-style: italic;
    font-weight: 400;
    color: var(--fionda-champagne);
}

.hero-desc {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.6;
    max-width: 400px;
    margin-bottom: 2.2rem;
}

.fionda-btn-offset {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0.85rem 2rem;
    background-color: var(--fionda-champagne);
    color: var(--fionda-black) !important;
    font-family: inherit;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    border-radius: 1px;
    margin: 5px 0 0 5px;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                background-color 0.25s ease,
                color 0.25s ease;
}

.fionda-btn-offset::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    width: 100%;
    height: 100%;
    border: 1px solid #ffffff;
    border-radius: 1px;
    pointer-events: none;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                border-color 0.25s ease;
}

.fionda-btn-offset .btn-arrow {
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    transition: transform 0.25s ease;
}

.fionda-btn-offset:hover {
    transform: translate(-3px, -3px);
    background-color: var(--fionda-white);
    color: var(--fionda-black) !important;
}

.fionda-btn-offset:hover::before {
    transform: translate(3px, 3px);
    border-color: var(--fionda-champagne);
}

.fionda-btn-offset:hover .btn-arrow {
    transform: translateX(4px);
}

.hero-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 60vw;
    height: 100%;
    z-index: 2;
    -webkit-clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
    overflow: hidden;
    pointer-events: none;
}

/* LCP OPTIMEERITUD HERO MEEDIAKONTEINER JA PILT */
.hero-media-wrapper {
    width: 100%;
    height: 125%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    transform: translate3d(0, 0, 0);
    will-change: transform;
}

.hero-media-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    display: block;
    border: none !important;
    background: transparent !important;
}

/* --------------------------------------------------------
   2. KATEGOORIATE INDEKS
   -------------------------------------------------------- */
.fionda-index-section {
    padding: 5rem 0 5.5rem 0;
    position: relative;
    background-color: transparent;
    overflow: hidden;
    z-index: 2;
}

.index-header {
    text-align: center;
    max-width: 650px;
    margin: 0 auto 3.5rem auto;
    position: relative;
    z-index: 1;
}

.index-header-meta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.index-badge {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: var(--fionda-champagne);
    text-transform: uppercase;
}

.index-header-tag {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fionda-wine);
}

.index-title {
    font-size: clamp(2rem, 3.2vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 1.2rem 0;
    color: var(--fionda-black);
}

.index-title .title-line {
    display: block;
    overflow: hidden;
    padding-bottom: 0.35em;
    margin-bottom: -0.25em;
}

.index-title .title-line > span {
    display: inline-block;
    padding-bottom: 0.08em;
    transform: translateY(125%);
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.index-title .title-line:nth-child(2) > span {
    transition-delay: 0.12s;
}

.index-title em {
    font-style: italic;
    font-weight: 400;
    color: var(--fionda-wine);
    display: inline-block;
    padding-left: 2px;
}

.index-desc-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.8s ease 0.25s, transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
}

.index-hairline {
    width: 40px;
    height: 1px;
    background-color: var(--fionda-wine);
    margin-bottom: 1.2rem;
    transform: scaleX(0);
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
}

.index-desc {
    font-size: 0.98rem;
    color: var(--fionda-gray);
    line-height: 1.6;
    margin: 0;
    max-width: 500px;
    font-weight: 400;
}

.index-header.is-revealed .index-header-meta {
    opacity: 1;
    transform: translateY(0);
}
.index-header.is-revealed .index-title .title-line > span {
    transform: translateY(0);
}
.index-header.is-revealed .index-hairline {
    transform: scaleX(1);
}
.index-header.is-revealed .index-desc-wrap {
    opacity: 1;
    transform: translateY(0);
}

.fionda-cat-podium-wrap {
    position: relative;
    width: 100%;
}

.index-watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(5rem, 12vw, 10rem);
    font-weight: 800;
    letter-spacing: 0.16em;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    line-height: 1;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
}

.index-watermark-outer {
    z-index: 0;
    color: rgba(18, 18, 18, 0.018);
}

.fionda-cat-podium {
    position: relative;
    background-color: var(--cat-box-bg);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 4px;
    padding: 3rem 2.5rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
    z-index: 1;
}

.index-watermark-inner {
    z-index: 0;
    color: rgba(209, 184, 157, 0.025);
}

.fionda-index-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.045);
    position: relative;
    z-index: 1;
}

.fionda-index-grid:hover .index-row:not(:hover) {
    opacity: 0.28;
}

.index-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 1.25rem 0.6rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.045);
    text-decoration: none;
    color: #ffffff;
    position: relative;
    transition: var(--fionda-transition-fast);
}

.index-row-left {
    display: flex;
    align-items: baseline;
    gap: 1.2rem;
}

.index-nr {
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--fionda-champagne);
    opacity: 0.7;
    letter-spacing: 0.08em;
    font-variant-numeric: tabular-nums;
    transition: opacity 0.25s ease, color 0.25s ease;
}

.index-name {
    font-size: clamp(1.05rem, 1.2vw, 1.25rem);
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.4;
    padding-bottom: 3px;
    transition: transform 0.25s ease, color 0.25s ease;
}

.index-row-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.index-sub {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.42);
    letter-spacing: 0.02em;
    font-weight: 300;
    transition: color 0.25s ease;
}

.index-arrow {
    font-size: 1rem;
    line-height: 1;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.25s ease, transform 0.25s ease;
    color: var(--fionda-champagne);
}

.index-row:hover {
    border-bottom-color: rgba(209, 184, 157, 0.25);
}
.index-row:hover .index-name {
    color: var(--fionda-champagne);
    transform: translateX(4px);
}
.index-row:hover .index-nr {
    opacity: 1;
    color: #ffffff;
}
.index-row:hover .index-sub {
    color: rgba(255, 255, 255, 0.85);
}
.index-row:hover .index-arrow {
    opacity: 1;
    transform: translateX(0);
}

/* --------------------------------------------------------
   3. ESILETÕSTETUD TOODETE SLIDER
   -------------------------------------------------------- */
.fionda-featured-slider-section {
    padding: 5rem 0 6rem 0;
    background-color: var(--slider-bg);
    color: #ffffff;
    position: relative;
    overflow: hidden;
    z-index: 2;
}

.slider-bg-glow {
    position: absolute;
    top: -20%;
    right: -10%;
    width: 60%;
    height: 140%;
    background: radial-gradient(circle, rgba(209, 184, 157, 0.03) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.slider-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3.5rem;
    padding: 0 20px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
}

.slider-header-left {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.slider-header-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.slider-header-left h2 {
    font-size: clamp(2rem, 3.2vw, 3rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0;
    color: #ffffff;
    line-height: 1.15;
}

.slider-header-left h2 .title-line {
    display: block;
    overflow: hidden;
    padding-bottom: 0.25em;
    margin-bottom: -0.2em;
}

.slider-header-left h2 .title-line > span {
    display: inline-block;
    padding-bottom: 0.08em;
    transform: translateY(125%);
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.slider-header-left em {
    font-style: italic;
    font-weight: 400;
    color: var(--fionda-champagne);
    display: inline-block;
    padding-left: 2px;
}

.slider-desc-wrap {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease 0.25s, transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 0.25s;
}

.slider-desc {
    font-size: 0.98rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin: 0;
    max-width: 450px;
    font-weight: 300;
}

.slider-header.is-revealed .slider-header-meta {
    opacity: 1;
    transform: translateY(0);
}
.slider-header.is-revealed h2 .title-line > span {
    transform: translateY(0);
}
.slider-header.is-revealed .slider-desc-wrap {
    opacity: 1;
    transform: translateY(0);
}

.slider-header-right {
    display: flex;
    gap: 10px;
    padding-bottom: 0.5rem;
}

.slider-nav-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: transparent;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--fionda-transition-fast);
    font-size: 1rem;
}

.slider-nav-btn:hover {
    background-color: var(--fionda-champagne);
    border-color: var(--fionda-champagne);
    color: var(--fionda-black);
    transform: scale(1.05);
}

.fionda-slider-track-wrap {
    width: 100%;
    cursor: grab;
    overflow: hidden;
    padding-bottom: 2rem;
    position: relative;
    z-index: 2;
}

.fionda-slider-track-wrap.is-dragging {
    cursor: grabbing;
}

.fionda-slider-track {
    display: flex;
    gap: 20px;
    padding: 0 20px 0 calc((100vw - 1160px) / 2);
    width: max-content;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
}

.fionda-product-card {
    width: 250px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    user-select: none;
    background-color: transparent;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fionda-product-card.no-click {
    pointer-events: none;
}

.fionda-product-card:hover {
    transform: translateY(-5px);
}

.card-img-wrap {
    position: relative;
    width: 100%;
    height: 280px;
    background-color: #ffffff;
    border-radius: 2px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.2rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.card-img-link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.card-img {
    max-height: 86%;
    max-width: 86%;
    object-fit: contain;
    display: block;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    pointer-events: none;
}

.fionda-product-card:hover .card-img {
    transform: scale(1.04);
}

.card-badge-actions {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    z-index: 10;
}

.card-price {
    background-color: var(--fionda-black);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 4px 8px;
    border-radius: 2px;
    white-space: nowrap;
    line-height: 1;
}

.card-price del {
    color: rgba(255, 255, 255, 0.45);
    font-weight: 400;
    margin-right: 4px;
    font-size: 0.7rem;
}

.card-price ins {
    text-decoration: none;
    color: #ffffff;
}

.card-add-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: var(--fionda-black);
    color: #ffffff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    transition: var(--fionda-transition-fast);
    padding: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.card-add-btn:hover {
    background-color: var(--fionda-champagne);
    color: var(--fionda-black);
    transform: scale(1.08) rotate(90deg);
}

.card-add-btn.loading {
    background-color: var(--fionda-black);
    color: transparent;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-top-color: var(--fionda-champagne);
    animation: fiondaSpin 0.8s infinite linear;
    pointer-events: none;
    transform: none;
}

.card-add-btn.added {
    background-color: #2e7d32;
    color: #ffffff;
    transform: none;
    font-size: 0.9rem;
}

.fionda-product-card .added_to_cart {
    display: none !important;
}

@keyframes fiondaSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.card-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.card-type {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--fionda-champagne);
    margin-bottom: 0.4rem;
    display: block;
    opacity: 0.9;
}

.card-title {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0;
    letter-spacing: -0.01em;
}

.card-title-link {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.card-title-link:hover {
    color: var(--fionda-champagne);
}

/* --------------------------------------------------------
   4. FIONDA MANIFEST
   -------------------------------------------------------- */
.fionda-manifest-section {
    padding: 6rem 0 6.5rem 0;
    background-color: transparent;
    color: var(--fionda-black);
    position: relative;
    overflow: hidden;
}

.manifest-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 4.5rem;
    align-items: center;
}

.manifest-visual-composition {
    position: relative;
    width: 100%;
    height: 460px;
}

.manifest-frame-offset {
    position: absolute;
    top: -14px;
    left: -14px;
    width: 76%;
    height: 86%;
    border: 1.5px solid var(--fionda-champagne);
    border-radius: 2px;
    z-index: 1;
    pointer-events: none;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.manifest-img-primary-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 78%;
    height: 88%;
    background-color: #ffffff;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.08);
    z-index: 2;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.manifest-img-primary {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.8s ease;
}

.manifest-img-secondary-wrap {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 52%;
    height: 60%;
    background-color: #ffffff;
    border-radius: 2px;
    overflow: hidden;
    border: 4px solid var(--color-bg-page, #fbfaf8);
    outline: 1px solid var(--fionda-champagne);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
    z-index: 3;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.manifest-img-secondary {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.8s ease;
}

.manifest-visual-composition:hover .manifest-frame-offset {
    transform: translate(-4px, -4px);
}
.manifest-visual-composition:hover .manifest-img-primary-wrap {
    transform: scale(0.99) translate(-2px, -2px);
}
.manifest-visual-composition:hover .manifest-img-secondary-wrap {
    transform: scale(1.03) translate(4px, 4px);
}
.manifest-visual-composition:hover .manifest-img-primary,
.manifest-visual-composition:hover .manifest-img-secondary {
    transform: scale(1.05);
}

.manifest-stamp {
    position: absolute;
    bottom: -15px;
    left: 15px;
    background-color: var(--fionda-black);
    color: var(--fionda-champagne);
    padding: 0.85rem 1.35rem;
    border-radius: 2px;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    z-index: 4;
}

.manifest-content {
    display: flex;
    flex-direction: column;
}

.manifest-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1.25rem;
}

.manifest-quote {
    font-size: clamp(1.8rem, 2.5vw, 2.35rem);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.025em;
    margin: 0 0 1.5rem 0;
    color: var(--fionda-black);
}

.manifest-quote em {
    font-style: italic;
    font-weight: 400;
    color: var(--fionda-wine);
}

.manifest-text {
    font-size: 0.98rem;
    color: rgba(18, 18, 18, 0.7);
    line-height: 1.68;
    margin: 0 0 2rem 0;
    font-weight: 400;
}

.manifest-values {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    margin-bottom: 2.5rem;
}

.val-item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.val-title {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--fionda-black);
    letter-spacing: -0.01em;
}

.val-desc {
    font-size: 0.74rem;
    color: var(--fionda-gray);
    line-height: 1.45;
    margin: 0;
}

.manifest-link-wrap {
    display: flex;
    align-items: flex-start;
}

.fionda-btn-offset-light {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0.85rem 2.2rem;
    background-color: var(--fionda-champagne);
    color: var(--fionda-black) !important;
    font-family: inherit;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    border-radius: 1px;
    margin: 5px 0 0 5px;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                background-color 0.25s ease,
                color 0.25s ease;
}

.fionda-btn-offset-light::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--fionda-black);
    border-radius: 1px;
    pointer-events: none;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                border-color 0.25s ease;
}

.fionda-btn-offset-light .btn-arrow {
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    transition: transform 0.25s ease;
}

.fionda-btn-offset-light:hover {
    transform: translate(-3px, -3px);
    background-color: var(--fionda-black);
    color: var(--fionda-white) !important;
}

.fionda-btn-offset-light:hover::before {
    transform: translate(3px, 3px);
    border-color: var(--fionda-black);
}

.fionda-btn-offset-light:hover .btn-arrow {
    transform: translateX(4px);
}

/* --------------------------------------------------------
   5. UJUV EELVAADE
   -------------------------------------------------------- */
.floating-preview-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 220px;
    height: 320px;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.85);
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),
                transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, rgba(209, 184, 157, 0.2) 0%, rgba(255, 255, 255, 0.05) 45%, transparent 72%);
    border: none;
    box-shadow: none;
}

.floating-preview-container.is-active {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.floating-preview-img {
    max-width: 85%;
    max-height: 90%;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.75)) drop-shadow(0 0 20px rgba(209, 184, 157, 0.22));
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.floating-preview-container.is-active .floating-preview-img {
    transform: scale(1.06) rotate(1.5deg);
}

/* --------------------------------------------------------
   6. AVALEHE RESPONSIVE KOHANDUSED
   -------------------------------------------------------- */
@media (max-width: 900px) {
    .fionda-cat-podium {
        padding: 2.5rem 1.75rem;
    }
    .fionda-index-grid {
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .index-sub {
        display: none;
    }
    .index-watermark {
        display: none;
    }
    .fionda-slider-track {
        padding: 0 20px;
    }
    .manifest-grid {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }
    .manifest-visual-composition {
        height: 380px;
    }
    .manifest-values {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }
}

@media (max-width: 768px) {
    .fionda-split-hero {
        height: auto;
        min-height: auto;
    }
    .hero-content-wrapper {
        position: relative;
        max-width: 100%;
        order: 2;
    }
    .hero-left {
        width: 100%;
        padding: 4rem 20px;
    }
    .hero-right {
        position: relative;
        width: 100vw;
        height: 300px;
        order: 1;
        -webkit-clip-path: none;
        clip-path: none;
    }
    /* Mobiilis täiskõrgus ja tsentreeritud asend */
    .hero-media-wrapper {
        height: 100%;
        transform: none !important;
    }
    .hero-media-img {
        object-position: center center;
    }
    .fionda-index-section {
        padding: 4rem 0;
    }
    .index-header {
        margin-bottom: 2.5rem;
    }
    .floating-preview-container {
        display: none !important;
    }
    .fionda-featured-slider-section {
        padding: 4.5rem 0;
    }
    .slider-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        margin-bottom: 2.5rem;
    }
    .slider-nav-btn {
        width: 36px;
        height: 36px;
    }
    .fionda-product-card {
        width: 220px;
    }
    .card-img-wrap {
        height: 250px;
    }
    .fionda-manifest-section {
        padding: 4.5rem 0;
    }
    .manifest-visual-composition {
        height: 320px;
    }
    .manifest-stamp {
        bottom: -10px;
        left: 10px;
    }
}

/* ========================================================
   20. KONTAKTI LEHE DISAIN (SPLIT PODIUM, VORM & MODAAL)
   ======================================================== */
.fionda-contact-page {
    background: transparent !important;
    padding: clamp(3rem, 4.5vw, 5rem) 0 clamp(4rem, 6vw, 6.5rem) 0;
    color: var(--color-primary, #121212);
}

/* 1. Päis */
.contact-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto clamp(2rem, 3.5vw, 3rem) auto;
}

.contact-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
}

.contact-title {
    font-size: clamp(2rem, 2.8vw, 2.75rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0 0 0.5rem 0;
    color: var(--color-primary, #121212);
}

.contact-title em {
    font-style: italic;
    font-weight: 400;
    color: var(--color-accent, #823438);
}

.contact-desc {
    font-size: 0.92rem;
    color: var(--color-text-muted, #75736f);
    line-height: 1.55;
    margin: 0;
}

/* 2. Split Podium struktuur */
.fionda-podium-outer {
    position: relative;
    max-width: 960px;
    margin: 0 auto;
}

.fionda-podium-wireframe {
    position: absolute;
    top: -8px;
    left: -8px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--fionda-champagne, #d1b89d);
    border-radius: 2px;
    pointer-events: none;
    z-index: 1;
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fionda-podium-box {
    position: relative;
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    background: #ffffff;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.05);
    z-index: 2;
}

.fionda-podium-outer:hover .fionda-podium-wireframe {
    transform: translate(-2px, -2px);
}

/* Vasak Tiib (Obsidian Black) */
.podium-left-dark {
    background: #121212;
    color: #ffffff;
    padding: 2.25rem 2.25rem 2rem 2.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.podium-left-dark::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 10% 10%, rgba(209, 184, 157, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.podium-dark-title {
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    line-height: 1.25;
    color: #ffffff;
    margin: 0 0 1.6rem 0;
}

.podium-dark-cards {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.podium-card-item {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.podium-card-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(209, 184, 157, 0.28);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fionda-champagne, #d1b89d);
    transition: all 0.25s ease;
}

.podium-card-icon svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    stroke-width: 1.5;
    fill: none;
}

.podium-card-item:hover .podium-card-icon {
    background: var(--fionda-champagne, #d1b89d);
    color: #121212;
    border-color: var(--fionda-champagne, #d1b89d);
}

.podium-card-content {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.podium-card-label {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.podium-card-val {
    font-size: 1rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.podium-card-val:hover {
    color: var(--fionda-champagne, #d1b89d);
}

.podium-dark-footer {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.podium-schedule-col {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.podium-schedule-label {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fionda-champagne, #d1b89d);
}

.podium-schedule-time {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.75);
    font-weight: 400;
}

/* Parem Tiib (Valge vormiala) */
.podium-right-light {
    background: #ffffff;
    padding: 2.25rem 2.25rem 2rem 2.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.podium-light-title {
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    color: #121212;
    margin: 0 0 1.15rem 0;
}

.fionda-form-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 0.95rem;
}

.fionda-input-group {
    width: calc(50% - 0.5rem);
    display: flex;
    flex-direction: column;
}

.fionda-input-group.full-width {
    width: 100%;
}

.fionda-input-group label {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #121212;
    margin-bottom: 0.25rem;
}

.fionda-input-group label .req {
    color: var(--color-accent, #823438);
}

.fionda-input {
    width: 100%;
    background-color: #f7f5f0 !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 2px !important;
    padding: 0.52rem 0.8rem !important;
    font-family: inherit !important;
    font-size: 0.88rem !important;
    color: #121212 !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.fionda-input:focus {
    background-color: #ffffff !important;
    border-color: #121212 !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}

.fionda-input::placeholder {
    color: rgba(18, 18, 18, 0.3);
}

textarea.fionda-input {
    resize: vertical;
    min-height: 56px !important;
    height: 56px;
}

/* CF7 Quiz väli */
.quiz-group-static {
    background-color: #f7f5f0;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 2px;
    padding: 0.45rem 0.8rem;
}

.quiz-inline-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
}

.quiz-inline-wrap .wpcf7-quiz-label {
    font-size: 0.82rem;
    font-weight: 500;
    color: #121212;
}

.fionda-quiz-input {
    width: 85px !important;
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-radius: 2px !important;
    padding: 0.28rem 0.45rem !important;
    font-family: inherit !important;
    font-size: 0.85rem !important;
    text-align: center !important;
    color: #121212 !important;
    outline: none !important;
}

.fionda-quiz-input:focus {
    border-color: #121212 !important;
}

/* Nupp (Obsidian must + šampanjaraam) */
.fionda-submit-group {
    margin-top: 0.8rem;
    width: 100%;
    padding: 6px 0 0 6px;
    box-sizing: border-box;
}

.fionda-btn-offset-dark {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: calc(100% - 6px) !important;
    padding: 0.85rem 1.6rem !important;
    background-color: #121212 !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 1px !important;
    cursor: pointer !important;
    overflow: visible !important;
    z-index: 2 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                background-color 0.25s ease, 
                color 0.25s ease !important;
}

.fionda-btn-offset-dark::before {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1px solid #d1b89d !important;
    border-radius: 1px !important;
    pointer-events: none !important;
    z-index: -1 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), 
                border-color 0.25s ease !important;
}

.fionda-btn-offset-dark .btn-arrow {
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    transition: transform 0.25s ease;
}

.fionda-btn-offset-dark:hover {
    background-color: #d1b89d !important;
    color: #121212 !important;
    transform: translate(-2px, -2px) !important;
    box-shadow: none !important;
}

.fionda-btn-offset-dark:hover::before {
    transform: translate(2px, 2px) !important;
    border-color: #121212 !important;
}

.fionda-btn-offset-dark:hover .btn-arrow {
    transform: translateX(4px);
}

.wpcf7 form.submitting .fionda-btn-offset-dark {
    opacity: 0.8;
    cursor: wait;
}

.wpcf7-spinner {
    display: none !important;
}

.wpcf7 form .wpcf7-not-valid-tip {
    font-size: 0.68rem;
    color: var(--color-accent, #823438);
    margin-top: 3px;
    font-weight: 500;
}

.wpcf7 form .wpcf7-response-output {
    display: none !important;
}

/* 3. Pop-up modaal */
.fionda-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(18, 18, 18, 0.6);
    backdrop-filter: blur(8px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

.fionda-popup-overlay.is-active {
    opacity: 1;
    pointer-events: auto;
}

.fionda-popup-box {
    background-color: #ffffff;
    padding: 3rem 2.5rem;
    max-width: 440px;
    width: 90%;
    border-radius: 3px;
    text-align: center;
    transform: translateY(20px);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
}

.fionda-popup-overlay.is-active .fionda-popup-box {
    transform: translateY(0);
}

.popup-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--fionda-champagne, #d1b89d);
    color: #121212;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.popup-icon svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 2;
    fill: none;
}

.popup-title {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    margin: 0 0 0.6rem 0;
    color: #121212;
}

.popup-desc {
    font-size: 0.9rem;
    color: rgba(18, 18, 18, 0.65);
    line-height: 1.55;
    margin: 0 0 1.8rem 0;
}

.popup-close-btn {
    background-color: #121212;
    color: #ffffff;
    border: none;
    padding: 0.75rem 2rem;
    font-family: inherit;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 2px;
    transition: background-color 0.25s ease;
}

.popup-close-btn:hover {
    background-color: var(--color-accent, #823438);
}

/* 4. Kontakti lehe kohandused */
@media (max-width: 880px) {
    .fionda-contact-page {
        padding: 2.5rem 0 4rem 0;
    }
    .fionda-podium-box {
        grid-template-columns: 1fr;
    }
    .podium-left-dark {
        padding: 2rem 1.75rem;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    .podium-right-light {
        padding: 2rem 1.75rem;
    }
}

@media (max-width: 580px) {
    .fionda-input-group {
        width: 100%;
    }
    .podium-dark-footer {
        flex-direction: column;
        gap: 0.6rem;
        margin-top: 1.8rem;
    }
    .fionda-podium-wireframe {
        display: none;
    }
}

/* ========================================================
   21. MEIST LEHE DISAIN (PORTREE JA NARRATIIV)
   ======================================================== */
.fionda-about-page {
    background: transparent !important;
    padding: clamp(3rem, 4.5vw, 5rem) 0 clamp(4rem, 6vw, 6.5rem) 0;
    color: var(--color-primary, #121212);
}

.about-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto clamp(2rem, 3.5vw, 3.2rem) auto;
}

.about-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
}

.about-title {
    font-size: clamp(2rem, 2.8vw, 2.75rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0 0 0.6rem 0;
    color: var(--color-primary, #121212);
}

.about-title em {
    font-style: italic;
    font-weight: 400;
    color: var(--color-accent, #823438);
}

.about-subtitle {
    font-size: 0.92rem;
    color: var(--color-text-muted, #75736f);
    line-height: 1.55;
    margin: 0;
}

/* Küljendus */
.about-split-layout {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: clamp(2.5rem, 4.5vw, 4.5rem);
    align-items: stretch;
}

/* Vasak Foto */
.about-portrait-wrap {
    position: relative;
    margin-top: 8px;
    margin-left: 8px;
    height: 100%;
    min-height: 440px;
}

.about-portrait-wireframe {
    position: absolute;
    top: -8px;
    left: -8px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--fionda-champagne, #d1b89d);
    border-radius: 2px;
    pointer-events: none;
    z-index: 1;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.about-portrait-inner {
    position: relative;
    width: 100%;
    height: 100%;
    background: #ffffff;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.04);
    z-index: 2;
}

.about-portrait-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
    display: block;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.about-portrait-wrap:hover .about-portrait-wireframe {
    transform: translate(-3px, -3px);
}

.about-portrait-wrap:hover .about-portrait-img {
    transform: scale(1.03);
}

/* Parem Narratiiv */
.about-narrative {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0.25rem 0;
}

.narrative-lead {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.015em;
    color: var(--color-primary, #121212);
    margin-bottom: 1.15rem;
}

.narrative-paragraphs {
    font-size: 0.92rem;
    line-height: 1.7;
    color: rgba(18, 18, 18, 0.75);
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    margin-bottom: 1.5rem;
}

.narrative-paragraphs p {
    margin: 0;
}

.narrative-signature {
    padding-top: 1.15rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-bottom: 1.6rem;
}

.sign-toast {
    font-size: 0.82rem;
    color: var(--color-text-muted, #75736f);
    font-weight: 400;
}

.sign-names {
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--color-accent, #823438);
    font-style: italic;
    letter-spacing: 0.02em;
}

.narrative-cta {
    display: flex;
}

/* Responsive (Meist leht) */
@media (max-width: 860px) {
    .about-split-layout {
        grid-template-columns: 1fr;
        gap: 2.8rem;
    }
    .about-portrait-wrap {
        max-width: 500px;
        margin: 0 auto;
        min-height: 340px;
        height: 380px;
    }
}

/* ========================================================
   22. UUDISTE JA BLOGI ARHIIV (ASÜMMEETRILINE GRID & NUPUD)
   ======================================================== */
.fionda-news-archive {
    background-color: var(--fionda-bg-shop, #fbfaf8);
    min-height: 80vh;
    padding: clamp(3.5rem, 5vw, 6rem) 0 clamp(4.5rem, 6vw, 8rem) 0;
    color: var(--fionda-black, #121212);
}

/* 1. Päis */
.news-archive-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto clamp(2.5rem, 4vw, 5.5rem) auto;
}

.news-archive-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1.2rem;
}

.news-archive-title {
    font-size: clamp(2.4rem, 4vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0 0 1.5rem 0;
    color: var(--fionda-black, #121212);
}

.news-archive-title em {
    font-style: italic;
    font-weight: 400;
    color: var(--fionda-wine, #823438);
}

.news-archive-desc {
    font-size: 1.05rem;
    color: rgba(18, 18, 18, 0.65);
    line-height: 1.65;
    margin: 0;
}

/* 2. Uudiste võrk - Asümmeetriline rütm */
.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    margin-bottom: 5rem;
    align-items: start;
}

.news-grid .news-card-outer:nth-child(3n+2) {
    transform: translateY(3rem);
}

/* Offset raamiga uudistekaart */
.news-card-outer {
    position: relative;
    margin-top: 10px;
    margin-left: 10px;
}

.news-card-wireframe {
    position: absolute;
    top: -10px;
    left: -10px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--fionda-champagne, #d1b89d);
    border-radius: 2px;
    pointer-events: none;
    z-index: 1;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
                border-color 0.4s ease;
}

.news-card-wrapper {
    position: relative;
    background-color: #ffffff;
    padding: 1.5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 2;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), 
                box-shadow 0.4s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
}

.news-card-outer:hover .news-card-wrapper {
    transform: translate(-3px, -3px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.news-card-outer:hover .news-card-wireframe {
    transform: translate(3px, 3px);
    border-color: var(--fionda-wine, #823438); 
}

.news-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    flex-grow: 1;
}

.news-card-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 11;
    background-color: var(--fionda-bg-shop, #fbfaf8);
    overflow: hidden;
    margin-bottom: 1.5rem;
    border-radius: 1px;
}

.news-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.news-card-outer:hover .news-card-img {
    transform: scale(1.05);
}

.news-card-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: var(--fionda-black, #121212);
    color: var(--fionda-champagne, #d1b89d);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 1px;
    z-index: 2;
}

.news-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.68rem;
    color: rgba(18, 18, 18, 0.5);
    letter-spacing: 0.08em;
    margin-bottom: 0.8rem;
    text-transform: uppercase;
    font-weight: 500;
}

.news-card-title {
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    line-height: 1.35;
    margin: 0 0 1rem 0;
    color: var(--fionda-black, #121212);
    transition: color 0.25s ease;
}

.news-card-outer:hover .news-card-title {
    color: var(--fionda-wine, #823438);
}

.news-card-excerpt {
    font-size: 0.92rem;
    color: rgba(18, 18, 18, 0.7);
    line-height: 1.6;
    margin: 0 0 1.5rem 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 3. Uudise Nupp: Alguses must, hoveril beež */
.news-btn-wrap {
    margin-top: auto;
    padding-top: 1rem;
    display: flex;
}

.news-btn-wrap .fionda-btn-offset-dark {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0.75rem 1.8rem !important;
    background-color: var(--fionda-black, #121212) !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 1px !important;
    margin: 5px 0 0 5px !important;
    cursor: pointer !important;
    z-index: 2 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                background-color 0.25s ease,
                color 0.25s ease !important;
}

.news-btn-wrap .fionda-btn-offset-dark::before {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1px solid var(--fionda-champagne, #d1b89d) !important;
    border-radius: 1px !important;
    pointer-events: none !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                border-color 0.25s ease !important;
}

.news-btn-wrap .fionda-btn-offset-dark .btn-arrow {
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    transition: transform 0.25s ease;
}

/* Kaardile või nupule hoverdades: taust beežiks, tekst mustaks */
.news-card-outer:hover .fionda-btn-offset-dark {
    background-color: var(--fionda-champagne, #d1b89d) !important;
    color: var(--fionda-black, #121212) !important;
    transform: translate(-2px, -2px) !important;
}

.news-card-outer:hover .fionda-btn-offset-dark::before {
    transform: translate(2px, 2px) !important;
    border-color: var(--fionda-black, #121212) !important;
}

.news-card-outer:hover .fionda-btn-offset-dark .btn-arrow {
    transform: translateX(4px);
}

/* 4. Leheküljenavigatsioon */
.fionda-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding-top: 3rem; 
}

.fionda-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 1px;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--fionda-black, #121212);
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.08);
    transition: all 0.25s ease;
}

.fionda-pagination .page-numbers.current,
.fionda-pagination .page-numbers:hover {
    background-color: var(--fionda-black, #121212);
    color: var(--fionda-champagne, #d1b89d);
    border-color: var(--fionda-black, #121212);
}

.fionda-pagination .page-numbers.prev,
.fionda-pagination .page-numbers.next {
    width: auto;
    padding: 0 16px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.7rem;
}

/* 5. Responsiivsus */
@media (max-width: 992px) {
    .news-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem;
    }
    .news-grid .news-card-outer:nth-child(3n+2) {
        transform: none;
    }
    .news-grid .news-card-outer:nth-child(2n+2) {
        transform: translateY(2rem); 
    }
}

@media (max-width: 650px) {
    .fionda-news-archive {
        padding: 3.5rem 0 4.5rem 0;
    }
    .news-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .news-grid .news-card-outer:nth-child(2n+2) {
        transform: none; 
    }
    .news-card-wireframe {
        top: -6px;
        left: -6px;
    }
    .news-card-outer {
        margin-top: 6px;
        margin-left: 6px;
    }
}

/* ========================================================
   23. ARTIKLI DETAILVAADE (SINGLE POST & SEOTUD LOOD)
   ======================================================== */
.fionda-single-article {
    background-color: var(--fionda-bg-shop, #fbfaf8);
    padding: clamp(3rem, 4.5vw, 4.5rem) 0 clamp(4.5rem, 6vw, 6.5rem) 0;
    color: var(--fionda-black, #121212);
}

/* 1. Ülemine navigeerimine */
.article-top-nav {
    max-width: 860px;
    margin: 0 auto clamp(2rem, 3vw, 3rem) auto;
}

.article-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(18, 18, 18, 0.6);
    text-decoration: none;
    transition: color 0.25s ease, transform 0.25s ease;
}

.article-back-link:hover {
    color: var(--fionda-wine, #823438);
    transform: translateX(-4px);
}

/* 2. Artikli päis */
.article-header {
    max-width: 860px;
    margin: 0 auto clamp(2.5rem, 3.5vw, 3.5rem) auto;
    text-align: center;
}

.article-meta-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.25rem;
}

.article-date-time {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(18, 18, 18, 0.5);
    font-weight: 500;
}

.article-title {
    font-size: clamp(2.2rem, 3.8vw, 3.6rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.025em;
    margin: 0;
    color: var(--fionda-black, #121212);
}

/* 3. Esifoto */
.article-featured-image {
    max-width: 1060px;
    margin: 0 auto clamp(3rem, 4.5vw, 4.5rem) auto;
    border-radius: 2px;
    overflow: hidden;
    background-color: #ffffff;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.article-featured-image img {
    width: 100%;
    height: auto;
    max-height: 620px;
    object-fit: cover;
    display: block;
}

/* 4. Sisuplokk */
.article-body {
    max-width: 740px;
    margin: 0 auto clamp(4rem, 6vw, 6rem) auto;
    font-size: 1.08rem;
    line-height: 1.85;
    color: rgba(18, 18, 18, 0.85);
    font-weight: 400;
}

.article-body p {
    margin: 0 0 1.8rem 0;
}

.article-body h2 {
    font-size: 1.85rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin: 3.5rem 0 1.5rem 0;
    color: var(--fionda-black, #121212);
}

.article-body h3 {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    margin: 2.5rem 0 1.2rem 0;
    color: var(--fionda-black, #121212);
}

.article-body blockquote {
    margin: 3rem 0;
    padding: 0.5rem 0 0.5rem 2rem;
    border-left: 2px solid var(--fionda-wine, #823438);
    font-style: italic;
    font-size: 1.25rem;
    line-height: 1.6;
    color: var(--fionda-wine, #823438);
}

.article-body ul, .article-body ol {
    margin: 0 0 2rem 1.5rem;
    padding: 0;
}

.article-body li {
    margin-bottom: 0.6rem;
}

.article-body img {
    max-width: 100%;
    height: auto;
    border-radius: 2px;
    margin: 2.5rem 0;
}

/* 5. Seotud postitused */
.related-posts-section {
    max-width: 1060px;
    margin: 0 auto;
    padding-top: 4.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.related-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3.5rem;
}

.related-title {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--fionda-black, #121212);
}

.related-archive-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--fionda-black, #121212);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
    transition: color 0.25s ease;
}

.related-archive-link:hover {
    color: var(--fionda-wine, #823438);
}

.related-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.related-grid .news-card-outer:nth-child(2) {
    transform: translateY(2.5rem);
}

/* Seotud postituse nupp: Vaikimisi must, hoveril beež */
.related-grid .fionda-btn-offset-dark {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0.75rem 1.8rem !important;
    background-color: var(--fionda-black, #121212) !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 1px !important;
    margin: 5px 0 0 5px !important;
    cursor: pointer !important;
    z-index: 2 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                background-color 0.25s ease,
                color 0.25s ease !important;
}

.related-grid .fionda-btn-offset-dark::before {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1px solid var(--fionda-champagne, #d1b89d) !important;
    border-radius: 1px !important;
    pointer-events: none !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                border-color 0.25s ease !important;
}

.related-grid .news-card-outer:hover .fionda-btn-offset-dark {
    background-color: var(--fionda-champagne, #d1b89d) !important;
    color: var(--fionda-black, #121212) !important;
    transform: translate(-2px, -2px) !important;
}

.related-grid .news-card-outer:hover .fionda-btn-offset-dark::before {
    transform: translate(2px, 2px) !important;
    border-color: var(--fionda-black, #121212) !important;
}

/* 6. Responsiivsus */
@media (max-width: 860px) {
    .related-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .related-grid .news-card-outer:nth-child(2) {
        transform: none;
    }
    .related-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 2.5rem;
    }
}

/* ========================================================
   24. JURIIDILINE MALL (MÜÜGITINGIMUSED, PRIVAATSUS & TARNE)
   ======================================================== */
.fionda-legal-page {
    background: transparent !important;
    min-height: 80vh;
    padding: clamp(2.5rem, 4vh, 4rem) 0 6rem 0;
    color: var(--color-primary, #121212);
}

/* 1. Päis */
.legal-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(2.5rem, 4vh, 3.5rem) auto;
}

.legal-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
}

.legal-title {
    font-size: clamp(2.2rem, 3.2vw, 3rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0 0 0.75rem 0;
    color: var(--color-primary, #121212);
}

.legal-updated {
    font-size: 0.8rem;
    color: var(--color-text-muted, #75736f);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0;
}

/* 2. Valge sisukaart koos šampanjaraamiga */
.legal-content-card {
    position: relative;
    max-width: 840px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    padding: clamp(2rem, 4.5vw, 4rem);
}

.legal-content-card::before {
    content: '';
    position: absolute;
    top: -8px;
    left: -8px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--fionda-champagne, #d1b89d);
    border-radius: 2px;
    pointer-events: none;
    z-index: -1;
}

/* 3. Tüpograafia (the_content) */
.fionda-legal-body {
    font-size: 0.95rem;
    line-height: 1.8;
    color: rgba(18, 18, 18, 0.8);
}

.fionda-legal-body p {
    margin-bottom: 1.4rem;
}

.fionda-legal-body h2 {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--color-primary, #121212);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.fionda-legal-body h2:first-child {
    margin-top: 0;
}

.fionda-legal-body h3 {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--color-primary, #121212);
    margin-top: 1.8rem;
    margin-bottom: 0.75rem;
}

.fionda-legal-body strong {
    font-weight: 600;
    color: var(--color-primary, #121212);
}

.fionda-legal-body ul,
.fionda-legal-body ol {
    margin: 1rem 0 1.6rem 1.4rem;
    padding: 0;
}

.fionda-legal-body li {
    margin-bottom: 0.6rem;
    line-height: 1.7;
}

.fionda-legal-body ul li::marker {
    color: var(--fionda-champagne, #d1b89d);
}

.fionda-legal-body ol li::marker {
    color: var(--color-accent, #823438);
    font-weight: 600;
}

.fionda-legal-body a {
    color: var(--color-accent, #823438);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.fionda-legal-body a:hover {
    color: #121212;
}

/* Tabelid (Tarnetasud, pakiautomaadid jms) */
.fionda-legal-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.8rem 0;
    font-size: 0.9rem;
}

.fionda-legal-body th,
.fionda-legal-body td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    text-align: left;
}

.fionda-legal-body th {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    color: var(--color-primary, #121212);
    background: #fbfaf8;
}

.fionda-legal-body blockquote {
    margin: 1.8rem 0;
    padding: 1rem 1.4rem;
    background: #fbfaf8;
    border-left: 2px solid var(--color-accent, #823438);
    font-style: normal;
    color: rgba(18, 18, 18, 0.85);
}

.fionda-legal-body hr {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    margin: 2.5rem 0;
}

@media (max-width: 600px) {
    .legal-content-card::before {
        display: none;
    }
    .legal-content-card {
        padding: 1.5rem;
    }
}

/* ========================================================
25. ÜKSIKTOOTE LEHT JA SEOTUD TOOTED (SALEDAM TOOTEVAADE)
======================================================== */
.single-product-page {
background-color: transparent !important;
padding: clamp(2rem, 3vw, 3rem) 0 5rem 0;
color: var(--fionda-black, #121212);
}

.single-product-page .fionda-container {
max-width: 1080px;
margin: 0 auto;
padding: 0 24px;
width: 100%;
}

/* 1. Teekonnarida (Breadcrumbs) */
.single-breadcrumbs {
font-size: 0.68rem;
font-weight: 500;
letter-spacing: 0.08em;
text-transform: uppercase;
color: rgba(18, 18, 18, 0.45);
margin-bottom: clamp(1.8rem, 2.5vw, 2.4rem);
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.45rem;
}

.single-breadcrumbs a {
color: rgba(18, 18, 18, 0.65);
text-decoration: none;
transition: color 0.2s ease;
}

.single-breadcrumbs a:hover {
color: var(--fionda-wine, #823438);
}

.single-breadcrumbs .sep {
color: rgba(18, 18, 18, 0.25);
}

.single-breadcrumbs .current {
color: var(--fionda-black, #121212);
font-weight: 600;
}

/* 2. Saledam küljendus sülearvutile (Pudelile ~360px, tekstile ülejäänu) */
.product-split-layout {
display: grid;
grid-template-columns: 360px 1fr;
gap: clamp(2.5rem, 4vw, 4rem);
align-items: start;
margin-bottom: 5rem;
}

/* VASAK VEERG: PUHAS PUDEL ILMA VALGE KASTI, RAAMI JA VARJUTA */
.product-image-col,
.product-image-inner {
position: relative !important;
background: transparent !important;
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
outline: none !important;
padding: 0 !important;
margin: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}

.product-image-col {
position: sticky !important;
top: 90px;
}

/* Pudeli foto - sulatab pildi valge tausta 100% lehe beeži sisse */
.product-image-col img,
.product-image-inner img,
.product-main-img {
background: transparent !important;
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
outline: none !important;
max-height: 480px !important;
width: auto !important;
max-width: 100% !important;
object-fit: contain !important;
display: block !important;
mix-blend-mode: multiply !important;
filter: none !important;
}

/* Soodusmärk */
.product-image-col .onsale,
.product-image-inner .onsale {
position: absolute;
top: 0;
left: 0;
background-color: var(--fionda-wine, #823438);
color: #ffffff;
font-size: 0.62rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
padding: 4px 8px;
border-radius: 1px;
z-index: 2;
}

/* 3. Parem veerg: Tooteinfo ja andmed */
.product-info-col {
display: flex;
flex-direction: column;
padding-top: 0.25rem;
}

.product-info-col .product-title {
font-size: clamp(1.75rem, 2.4vw, 2.3rem);
font-weight: 500;
line-height: 1.18;
letter-spacing: -0.02em;
color: var(--fionda-black, #121212);
margin: 0 0 0.5rem 0;
}

.single-price {
font-size: 1.35rem;
font-weight: 600;
color: var(--fionda-black, #121212);
letter-spacing: -0.01em;
margin-bottom: 1.5rem;
}

.single-price del {
color: rgba(18, 18, 18, 0.35);
font-weight: 400;
font-size: 1.05rem;
margin-right: 6px;
}

.single-price ins {
text-decoration: none;
}

/* Omaduste loetelu */
.single-product-meta {
display: flex;
flex-direction: column;
gap: 0.5rem;
padding: 1.15rem 0;
border-top: 1px solid rgba(0, 0, 0, 0.07);
border-bottom: 1px solid rgba(0, 0, 0, 0.07);
margin-bottom: 1.5rem;
font-size: 0.85rem;
line-height: 1.5;
}

.single-product-meta .meta-item strong {
font-weight: 600;
color: var(--fionda-black, #121212);
text-transform: uppercase;
font-size: 0.68rem;
letter-spacing: 0.1em;
display: inline-block;
min-width: 140px;
}

.product-short-desc {
font-size: 0.9rem;
line-height: 1.65;
color: rgba(18, 18, 18, 0.75);
margin-bottom: 1.6rem;
}

/* 4. Lisa ostukorvi vorm (Kompaktsed mõõdud) */
.single-cart-form {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 2rem;
flex-wrap: wrap;
}

.custom-quantity-wrapper {
display: inline-flex;
align-items: center;
background: #ffffff;
border: 1px solid rgba(0, 0, 0, 0.12);
border-radius: 1px;
height: 42px;
padding: 0 2px;
}

.custom-qty-btn {
width: 32px;
height: 100%;
background: transparent;
border: none;
font-size: 1.05rem;
font-weight: 400;
color: var(--fionda-black, #121212);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: color 0.2s ease;
}

.custom-qty-btn:hover {
color: var(--fionda-wine, #823438);
}

.custom-qty-input {
width: 40px;
height: 100%;
border: none;
text-align: center;
font-family: inherit;
font-size: 0.9rem;
font-weight: 600;
color: var(--fionda-black, #121212);
background: transparent;
outline: none;
-moz-appearance: textfield;
}

.custom-qty-input::-webkit-outer-spin-button,
.custom-qty-input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}

/* LISA OSTUKORVI NUPP: FIONDA MUST + ŠAMPANJARAAM */
.single-add-btn-wrap {
padding: 3px 0 0 3px;
display: inline-flex;
}

.single-cart-form .single_add_to_cart_button.fionda-btn-offset-dark {
position: relative !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 10px !important;
height: 42px !important;
min-height: 42px !important;
padding: 0 1.8rem !important;
background-color: var(--fionda-black, #121212) !important;
color: #ffffff !important;
font-family: inherit !important;
font-size: 0.68rem !important;
font-weight: 700 !important;
letter-spacing: 0.16em !important;
text-transform: uppercase !important;
border: none !important;
border-radius: 1px !important;
cursor: pointer !important;
margin: 0 !important;
z-index: 2 !important;
transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
background-color 0.25s ease,
color 0.25s ease !important;
}

.single-cart-form .single_add_to_cart_button.fionda-btn-offset-dark::before {
content: '' !important;
position: absolute !important;
top: -3px !important;
left: -3px !important;
width: 100% !important;
height: 100% !important;
border: 1px solid var(--fionda-champagne, #d1b89d) !important;
border-radius: 1px !important;
pointer-events: none !important;
transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
border-color 0.25s ease !important;
}

.single-cart-form .single_add_to_cart_button.fionda-btn-offset-dark:hover {
background-color: var(--fionda-champagne, #d1b89d) !important;
color: var(--fionda-black, #121212) !important;
transform: translate(-2px, -2px) !important;
}

.single-cart-form .single_add_to_cart_button.fionda-btn-offset-dark:hover::before {
transform: translate(2px, 2px) !important;
border-color: var(--fionda-black, #121212) !important;
}

/* 5. Tooteinfo pikema kirjelduse akordion */
.product-accordion-wrapper {
border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.product-accordion-item {
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.accordion-toggle {
width: 100%;
padding: 1.1rem 0;
background: transparent;
border: none;
display: flex;
align-items: center;
justify-content: space-between;
font-family: inherit;
font-size: 0.9rem;
font-weight: 600;
color: var(--fionda-black, #121212);
cursor: pointer;
text-align: left;
}

.accordion-toggle svg {
transition: transform 0.3s ease;
}

.accordion-toggle[aria-expanded="true"] svg {
transform: rotate(180deg);
}

.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.accordion-content.is-open {
max-height: 800px;
}

.accordion-content-inner {
padding-bottom: 1.4rem;
font-size: 0.88rem;
line-height: 1.65;
color: rgba(18, 18, 18, 0.75);
}

/* --------------------------------------------------------
6. SEOTUD TOOTED (KUREERITUD PROPORTSIONAALNE GRID)
-------------------------------------------------------- */
.related-products-section {
padding-top: 4.5rem;
border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.related-products-section .related.products > h2 {
font-size: clamp(1.5rem, 2vw, 1.85rem);
font-weight: 500;
letter-spacing: -0.02em;
text-align: center;
color: var(--fionda-black, #121212);
margin: 0 0 2.8rem 0;
}

.related-products-section ul.products {
display: grid !important;
grid-template-columns: repeat(4, 1fr) !important;
gap: 1.5rem !important;
list-style: none !important;
padding: 0 !important;
margin: 0 !important;
}

.related-products-section ul.products li.product {
position: relative !important;
background: #ffffff !important;
padding: 1.25rem 1rem !important;
border: 1px solid rgba(0, 0, 0, 0.05) !important;
border-radius: 2px !important;
display: flex !important;
flex-direction: column !important;
justify-content: space-between !important;
float: none !important;
width: 100% !important;
margin: 0 !important;
transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease !important;
}

.related-products-section ul.products li.product::before {
content: '';
position: absolute;
top: -5px;
left: -5px;
width: 100%;
height: 100%;
border: 1px solid var(--fionda-champagne, #d1b89d);
border-radius: 2px;
pointer-events: none;
z-index: -1;
transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.35s ease;
}

.related-products-section ul.products li.product:hover {
transform: translate(-2px, -2px) !important;
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.05) !important;
}

.related-products-section ul.products li.product:hover::before {
transform: translate(2px, 2px);
border-color: var(--fionda-wine, #823438);
}

.related-products-section ul.products li.product img {
max-height: 200px !important;
width: auto !important;
margin: 0 auto 1rem auto !important;
display: block !important;
object-fit: contain !important;
mix-blend-mode: multiply !important;
transition: transform 0.5s ease;
}

.related-products-section ul.products li.product:hover img {
transform: scale(1.04);
}

.related-products-section ul.products li.product .woocommerce-loop-product__title {
font-size: 0.88rem !important;
font-weight: 500 !important;
letter-spacing: -0.01em !important;
line-height: 1.35 !important;
color: var(--fionda-black, #121212) !important;
margin: 0 0 0.4rem 0 !important;
padding: 0 !important;
}

.related-products-section ul.products li.product .price {
font-size: 0.92rem !important;
font-weight: 600 !important;
color: var(--fionda-black, #121212) !important;
margin-bottom: 1rem !important;
display: block !important;
}

/* Seotud toote nupp: Vaikimisi must, hoveril šampanjabeež */
.related-products-section ul.products li.product .button.add_to_cart_button {
position: relative !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
width: 100% !important;
padding: 0.62rem 0.8rem !important;
background-color: var(--fionda-black, #121212) !important;
color: #ffffff !important;
font-family: inherit !important;
font-size: 0.62rem !important;
font-weight: 700 !important;
letter-spacing: 0.14em !important;
text-transform: uppercase !important;
text-decoration: none !important;
border: none !important;
border-radius: 1px !important;
cursor: pointer !important;
transition: all 0.25s ease !important;
}

.related-products-section ul.products li.product:hover .button.add_to_cart_button {
background-color: var(--fionda-champagne, #d1b89d) !important;
color: var(--fionda-black, #121212) !important;
}

/* 7. Responsiivsus (Siin on lisatud mobiilivaate kattuva pildi FIX) */
@media (max-width: 900px) {
.product-split-layout {
display: flex;
flex-direction: column;
gap: 2rem;
}
.product-image-col {
position: relative !important;
top: auto !important;
width: 100% !important;
margin-bottom: 1rem;
display: block !important;
}
.product-image-inner img,
.product-image-col img,
.product-main-img {
max-height: 380px !important;
width: 100% !important;
object-fit: contain !important;
margin: 0 auto !important;
display: block !important;
}
.product-info-col {
width: 100% !important;
}
.related-products-section ul.products {
grid-template-columns: repeat(2, 1fr) !important;
}
}

@media (max-width: 580px) {
.related-products-section ul.products {
grid-template-columns: 1fr !important;
}
.single-cart-form {
flex-direction: column;
align-items: stretch;
}
.single-add-btn-wrap {
width: 100%;
}
.single-cart-form .single_add_to_cart_button.fionda-btn-offset-dark {
width: 100% !important;
}
}

/* ========================================================
   26. TÜHI OSTUKORV (CART EMPTY JA SOOVITATUD TOOTED)
   ======================================================== */
.fionda-empty-cart-page {
    background-color: transparent !important;
    padding: clamp(3rem, 5vw, 4.5rem) 0 6rem 0;
    color: var(--fionda-black, #121212);
    min-height: 70vh;
}

/* 1. Tühja korvi päis */
.fionda-empty-cart-hero {
    text-align: center;
    max-width: 580px;
    margin: 0 auto clamp(3.5rem, 5vw, 5rem) auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fionda-empty-cart-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid rgba(209, 184, 157, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fionda-champagne, #d1b89d);
    margin-bottom: 1.5rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.03);
}

.fionda-empty-cart-title {
    font-size: clamp(2rem, 3vw, 2.6rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 0.85rem 0;
    color: var(--fionda-black, #121212);
}

.fionda-empty-cart-desc {
    font-size: 0.95rem;
    color: var(--color-text-muted, #75736f);
    line-height: 1.65;
    margin: 0 0 1.8rem 0;
}

/* Nupp: Vaikimisi must, hoveril beež */
.empty-cart-btn-wrap {
    padding: 3px 0 0 3px;
    display: inline-flex;
}

.empty-cart-btn-wrap .fionda-btn-offset-dark {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 2rem !important;
    background-color: var(--fionda-black, #121212) !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 1px !important;
    cursor: pointer !important;
    margin: 0 !important;
    z-index: 2 !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                background-color 0.25s ease,
                color 0.25s ease !important;
}

.empty-cart-btn-wrap .fionda-btn-offset-dark::before {
    content: '' !important;
    position: absolute !important;
    top: -3px !important;
    left: -3px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1px solid var(--fionda-champagne, #d1b89d) !important;
    border-radius: 1px !important;
    pointer-events: none !important;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                border-color 0.25s ease !important;
}

.empty-cart-btn-wrap .fionda-btn-offset-dark:hover {
    background-color: var(--fionda-champagne, #d1b89d) !important;
    color: var(--fionda-black, #121212) !important;
    transform: translate(-2px, -2px) !important;
}

.empty-cart-btn-wrap .fionda-btn-offset-dark:hover::before {
    transform: translate(2px, 2px) !important;
    border-color: var(--fionda-black, #121212) !important;
}

.empty-cart-btn-wrap .fionda-btn-offset-dark .btn-arrow {
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    transition: transform 0.25s ease;
}

.empty-cart-btn-wrap .fionda-btn-offset-dark:hover .btn-arrow {
    transform: translateX(4px);
}

/* 2. Soovitatud tooted */
.fionda-empty-cart-suggestions {
    padding-top: 4rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.fionda-suggestions-title {
    font-size: clamp(1.5rem, 2.2vw, 1.85rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    text-align: center;
    color: var(--fionda-black, #121212);
    margin: 0 0 3rem 0;
}

.fionda-empty-cart-suggestions ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.fionda-empty-cart-suggestions ul.products li.product {
    position: relative !important;
    background: #ffffff !important;
    padding: 1.25rem 1rem !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 2px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease !important;
}

.fionda-empty-cart-suggestions ul.products li.product::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--fionda-champagne, #d1b89d);
    border-radius: 2px;
    pointer-events: none;
    z-index: -1;
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.35s ease;
}

.fionda-empty-cart-suggestions ul.products li.product:hover {
    transform: translate(-2px, -2px) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.05) !important;
}

.fionda-empty-cart-suggestions ul.products li.product:hover::before {
    transform: translate(2px, 2px);
    border-color: var(--fionda-wine, #823438);
}

.fionda-empty-cart-suggestions ul.products li.product img {
    max-height: 200px !important;
    width: auto !important;
    margin: 0 auto 1rem auto !important;
    display: block !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
    transition: transform 0.5s ease;
}

.fionda-empty-cart-suggestions ul.products li.product:hover img {
    transform: scale(1.04);
}

.fionda-empty-cart-suggestions ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.35 !important;
    color: var(--fionda-black, #121212) !important;
    margin: 0 0 0.4rem 0 !important;
    padding: 0 !important;
}

.fionda-empty-cart-suggestions ul.products li.product .price {
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    color: var(--fionda-black, #121212) !important;
    margin-bottom: 1rem !important;
    display: block !important;
}

.fionda-empty-cart-suggestions ul.products li.product .button.add_to_cart_button {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0.62rem 0.8rem !important;
    background-color: var(--fionda-black, #121212) !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 1px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.fionda-empty-cart-suggestions ul.products li.product:hover .button.add_to_cart_button {
    background-color: var(--fionda-champagne, #d1b89d) !important;
    color: var(--fionda-black, #121212) !important;
}

/* Responsiivsus */
@media (max-width: 900px) {
    .fionda-empty-cart-suggestions ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 580px) {
    .fionda-empty-cart-suggestions ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* ========================================================
   27. OSTUKORVI LEHE DISAIN (CART.PHP & TELLIMUSE KOOND)
   ======================================================== */
.fionda-cart-page {
    background-color: transparent !important;
    padding: clamp(2rem, 3vw, 3rem) 0 6rem 0;
    color: var(--fionda-black, #121212);
    min-height: 75vh;
    transition: opacity 0.25s ease;
}

.fionda-cart-page.is-loading {
    opacity: 0.55;
    pointer-events: none;
}

.fionda-cart-page-title {
    font-size: clamp(2rem, 3vw, 2.6rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 clamp(2rem, 3vw, 3rem) 0;
    color: var(--fionda-black, #121212);
}

/* 1. Põhiline kaheveeruline Grid */
.fionda-cart-grid {
    display: grid;
    grid-template-columns: 1.55fr 1fr;
    gap: clamp(2.5rem, 4vw, 4rem);
    align-items: start;
}

/* 2. Vasak veerg: Toodete nimekiri ja kaardid */
.fionda-cart-items-col {
    display: flex;
    flex-direction: column;
}

.fionda-cart-table-header {
    display: flex;
    justify-content: space-between;
    padding: 0 2rem 0.8rem 2rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-muted, #75736f);
    box-sizing: border-box;
}

.fionda-cart-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.25rem;
}

.fionda-cart-card {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 2px;
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 1.8rem;
    align-items: center;
    padding: 1.5rem 2rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.02);
    box-sizing: border-box;
}

.fionda-card-img {
    width: 80px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.fionda-card-img img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    object-fit: contain;
    display: block;
    mix-blend-mode: multiply;
}

.fionda-card-info {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.fionda-card-title {
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    margin: 0;
    line-height: 1.35;
}

.fionda-card-title a {
    color: var(--fionda-black, #121212);
    text-decoration: none;
    transition: color 0.2s ease;
}

.fionda-card-title a:hover {
    color: var(--fionda-wine, #823438);
}

.fionda-card-unit-price {
    font-size: 0.85rem;
    color: var(--color-text-muted, #75736f);
    font-weight: 500;
}

.fionda-card-controls {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-top: 0.4rem;
}

/* Koguse kontrollkarp */
.fionda-quantity-box {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 1px;
    height: 34px;
    padding: 0 2px;
}

.fionda-quantity-box button {
    width: 28px;
    height: 100%;
    background: transparent;
    border: none;
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--fionda-black, #121212);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.fionda-quantity-box button:hover {
    color: var(--fionda-wine, #823438);
}

.fionda-qty-input {
    width: 34px;
    height: 100%;
    border: none;
    text-align: center;
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--fionda-black, #121212);
    background: transparent;
    outline: none;
    -moz-appearance: textfield;
}

.fionda-qty-input::-webkit-outer-spin-button,
.fionda-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Eemalda nupp */
.fionda-remove-item-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem;
    color: var(--color-text-muted, #75736f);
    text-decoration: none;
    transition: color 0.2s ease;
}

.fionda-remove-item-btn:hover {
    color: var(--fionda-wine, #823438);
}

/* Hinna veerg */
.fionda-card-price {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--fionda-black, #121212);
    text-align: right;
    white-space: nowrap;
    padding-left: 1rem;
}

/* 3. Parem veerg: Tellimuse koond (Kleepuv kaart) */
.fionda-cart-summary-col {
    position: sticky;
    top: 90px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 2px;
    padding: clamp(1.8rem, 3vw, 2.4rem);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
}

.fionda-summary-title {
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    margin: 0 0 1.5rem 0;
    color: var(--fionda-black, #121212);
}

/* Sooduskoodi akordion */
.fionda-coupon-accordion {
    margin-bottom: 1.4rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    padding-bottom: 1.2rem;
}

.fionda-coupon-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--fionda-black, #121212);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.fionda-coupon-summary::-webkit-details-marker {
    display: none;
}

.fionda-coupon-summary svg {
    transition: transform 0.25s ease;
}

.fionda-coupon-accordion[open] .fionda-coupon-summary svg {
    transform: rotate(180deg);
}

.fionda-coupon-box {
    display: flex;
    gap: 8px;
    margin-top: 0.8rem;
}

.fionda-coupon-box input {
    flex: 1;
    background: #f7f5f0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 1px;
    padding: 0.45rem 0.8rem;
    font-size: 0.82rem;
    outline: none;
}

.fionda-coupon-box input:focus {
    border-color: var(--fionda-black, #121212);
}

.fionda-coupon-box button {
    background: var(--fionda-black, #121212);
    color: #ffffff;
    border: none;
    border-radius: 1px;
    padding: 0.45rem 1rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s ease;
}

.fionda-coupon-box button:hover {
    background: var(--fionda-champagne, #d1b89d);
    color: #121212;
}

/* Ridade kokkuvõte */
.fionda-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.92rem;
    color: rgba(18, 18, 18, 0.75);
    margin-bottom: 0.85rem;
}

.fionda-summary-row strong {
    color: var(--fionda-black, #121212);
}

.fionda-summary-divider {
    height: 1px;
    background: rgba(0, 0, 0, 0.07);
    margin: 1.2rem 0;
}

.fionda-grand-total {
    font-size: 1.2rem;
    margin-bottom: 1.8rem;
}

.fionda-grand-total strong {
    font-size: 1.35rem;
    color: var(--fionda-black, #121212);
    letter-spacing: -0.01em;
}

/* Kassasse suunav nupp */
.fionda-cart-checkout-wrap {
    padding: 3px 0 0 3px;
    margin-bottom: 1.25rem;
}

.fionda-cart-checkout-btn {
    width: calc(100% - 3px) !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 1.5rem !important;
    box-sizing: border-box !important;
}

.fionda-cart-secure-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.7rem;
    color: var(--color-text-muted, #75736f);
    text-align: center;
}

.fionda-cart-secure-badge svg {
    color: var(--fionda-champagne, #d1b89d);
}

/* 4. Responsiivsus */
@media (max-width: 900px) {
    .fionda-cart-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .fionda-cart-summary-col {
        position: static;
    }
}

@media (max-width: 580px) {
    .fionda-cart-table-header {
        padding: 0 1rem 0.6rem 1rem;
    }
    .fionda-cart-card {
        grid-template-columns: 65px 1fr;
        gap: 1rem;
        padding: 1.2rem 1rem;
    }
    .fionda-card-price {
        grid-column: 2 / 3;
        text-align: left;
        padding-left: 0;
        margin-top: -0.2rem;
    }
}

/* ========================================================
   28. TELLIMUSE KINNITUSLEHT (THANK YOU & ORDER RECEIVED)
   ======================================================== */
.fionda-thankyou-page {
    background-color: transparent !important;
    padding: clamp(2.5rem, 4vw, 4.5rem) 0 6rem 0;
    color: var(--fionda-black, #121212);
    min-height: 75vh;
}

.fionda-thankyou-page .fionda-container {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 24px;
    width: 100%;
}

/* 1. Kangelaspäis */
.fionda-thankyou-hero {
    text-align: center;
    max-width: 680px;
    margin: 0 auto clamp(2.5rem, 3.5vw, 3.5rem) auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fionda-thankyou-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid var(--fionda-champagne, #d1b89d);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--fionda-champagne, #d1b89d);
    margin-bottom: 1.5rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.03);
}

.fionda-thankyou-icon.is-failed {
    border-color: var(--fionda-wine, #823438);
    color: var(--fionda-wine, #823438);
}

.fionda-thankyou-meta-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.8rem;
}

.fionda-thankyou-title {
    font-size: clamp(2rem, 3.2vw, 2.75rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0 0 0.8rem 0;
    color: var(--fionda-black, #121212);
}

.fionda-thankyou-desc {
    font-size: 0.95rem;
    color: var(--color-text-muted, #75736f);
    line-height: 1.6;
    margin: 0;
}

.fionda-thankyou-desc strong {
    color: var(--fionda-black, #121212);
}

/* 2. Tellimuse põhiandmete riba (5 lahtrit) */
.fionda-order-meta-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 2px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    padding: 1.5rem 1.8rem;
    margin-bottom: 3rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.fionda-meta-box {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    border-right: 1px solid rgba(0, 0, 0, 0.06);
    padding-right: 0.8rem;
}

.fionda-meta-box:last-child {
    border-right: none;
    padding-right: 0;
}

.fionda-meta-box .meta-label {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-muted, #75736f);
}

.fionda-meta-box .meta-value {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--fionda-black, #121212);
    word-break: break-word;
}

.fionda-meta-box .meta-value.fionda-highlight {
    color: var(--fionda-wine, #823438);
    font-size: 1.05rem;
}

/* 3. Tellimuse detailide kaart */
.fionda-order-details-card {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 2px;
    padding: clamp(2rem, 3.5vw, 3rem);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    margin-bottom: 3.5rem;
}

/* Eemaldame duubelpäised ja teavitused */
.fionda-order-details-card .woocommerce-notice,
.fionda-order-details-card ul.woocommerce-order-overview {
    display: none !important;
}

.fionda-order-details-card h2,
.fionda-order-details-card .woocommerce-order-details__title,
.fionda-order-details-card .woocommerce-column__title {
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    color: var(--fionda-black, #121212);
    margin: 0 0 1.5rem 0;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* ========================================================
   TABELI PUHAS JOONDUS (KÕIK HINNAD ÜHEL JOONEL)
   ======================================================== */
.fionda-order-details-card table.woocommerce-table--order-details,
.fionda-order-details-card table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    margin: 0 0 2.5rem 0 !important;
    box-shadow: none !important;
}

/* Päis */
.fionda-order-details-card table thead th {
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--color-text-muted, #75736f) !important;
    padding: 0 0 0.8rem 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: transparent !important;
}

.fionda-order-details-card table thead th:last-child {
    text-align: right !important;
}

/* Tooteread */
.fionda-order-details-card table tbody td {
    padding: 1.1rem 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    font-size: 0.95rem !important;
    color: var(--fionda-black, #121212) !important;
    background: transparent !important;
}

.fionda-order-details-card table tbody td.product-name a {
    color: var(--fionda-black, #121212);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.fionda-order-details-card table tbody td.product-name a:hover {
    color: var(--fionda-wine, #823438);
}

.fionda-order-details-card table tbody td:last-child {
    text-align: right !important;
    font-weight: 600 !important;
    white-space: nowrap;
}

/* Jaluse kokkuvõtteread */
.fionda-order-details-card table tfoot th {
    padding: 0.85rem 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    font-weight: 500 !important;
    font-size: 0.92rem !important;
    color: var(--color-text-muted, #75736f) !important;
    text-align: left !important;
    background: transparent !important;
}

.fionda-order-details-card table tfoot td {
    padding: 0.85rem 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    text-align: right !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--fionda-black, #121212) !important;
    white-space: nowrap;
    background: transparent !important;
}

/* Viimane rida (puhtad vahed) */
.fionda-order-details-card table tfoot tr:last-child th,
.fionda-order-details-card table tfoot tr:last-child td {
    border-bottom: none !important;
}

/* ========================================================
   AADRESSID: KAHEVEERULINE RUUDUSTIK
   ======================================================== */
.fionda-order-details-card .woocommerce-customer-details {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.fionda-order-details-card .woocommerce-columns--addresses,
.fionda-order-details-card .woocommerce-customer-details .col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

.fionda-order-details-card .woocommerce-column {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

.fionda-order-details-card address {
    font-style: normal;
    line-height: 1.7;
    color: rgba(18, 18, 18, 0.75);
    font-size: 0.9rem;
    background: #fbfaf8;
    padding: 1.4rem 1.6rem;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 2px;
    box-sizing: border-box;
}

/* Pangaülekande rekvisiidid */
.fionda-order-details-card .wc-bacs-bank-details {
    list-style: none;
    padding: 1.25rem 1.5rem;
    background: #fbfaf8;
    border-left: 2px solid var(--fionda-champagne, #d1b89d);
    margin-bottom: 2.5rem;
    border-radius: 1px;
}

.fionda-order-details-card .wc-bacs-bank-details li {
    font-size: 0.88rem;
    margin-bottom: 0.4rem;
}

.fionda-order-details-card .wc-bacs-bank-details li strong {
    color: var(--fionda-black, #121212);
}

/* 4. Alumine suunamisnupp */
.fionda-thankyou-bottom-action {
    display: flex;
    justify-content: center;
    padding: 4px 0 0 4px;
}

/* 5. Responsiivsus */
@media (max-width: 860px) {
    .fionda-order-meta-card {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    .fionda-meta-box {
        border-right: none;
        padding-right: 0;
    }
    .fionda-order-details-card .woocommerce-columns--addresses,
    .fionda-order-details-card .woocommerce-customer-details .col2-set {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
}

@media (max-width: 580px) {
    .fionda-order-meta-card {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }
    .fionda-order-details-card {
        padding: 1.5rem;
    }
}

/* ========================================================
   29. MINU KONTO LEHT (WOOCOMMERCE MY ACCOUNT TÄISVIIMISTLUS)
   ======================================================== */
.woocommerce-account {
    background-color: transparent !important;
}

.woocommerce-account #main,
.woocommerce-account .site-main {
    padding: clamp(2rem, 3.5vw, 4rem) 0 6rem 0;
}

.woocommerce-account .woocommerce {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    box-sizing: border-box;
}

/* Ekraanilugeja peidetud tekstid */
.woocommerce-account .screen-reader-text {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    word-wrap: normal !important;
}

/* Sisselogitud vaate 2-veeruline grid */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: clamp(1.8rem, 3vw, 3.5rem) !important;
    align-items: start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

/* 1. VASAK VEERG: NAVIGATSIOONIMENÜÜ */
.woocommerce-MyAccount-navigation {
    grid-column: 1 !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    position: sticky;
    top: 90px;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 2px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.02);
    overflow: hidden;
}

.woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.2s ease;
}

.woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none;
}

/* Peidame veebipoes ebavajaliku allalaadimiste saki */
.woocommerce-MyAccount-navigation-link--downloads {
    display: none !important;
}

.woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    padding: 0.9rem 1.3rem;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--fionda-black, #121212);
    text-decoration: none;
    transition: all 0.2s ease;
}

.woocommerce-MyAccount-navigation li:hover a {
    background-color: #fbfaf8;
    color: var(--fionda-wine, #823438);
    padding-left: 1.55rem;
}

.woocommerce-MyAccount-navigation li.is-active {
    background-color: #fbfaf8;
    border-left: 3px solid var(--fionda-champagne, #d1b89d);
}

.woocommerce-MyAccount-navigation li.is-active a {
    color: var(--fionda-wine, #823438);
    font-weight: 600;
    padding-left: calc(1.3rem - 3px);
}

/* 2. PAREM VEERG: SISUALA */
.woocommerce-MyAccount-content {
    grid-column: 2 !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 2px;
    padding: clamp(1.8rem, 3.5vw, 3rem);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    box-sizing: border-box;
}

.woocommerce-MyAccount-content p {
    font-size: 0.95rem;
    line-height: 1.7;
    color: rgba(18, 18, 18, 0.8);
    margin: 0 0 1.4rem 0;
}

.woocommerce-MyAccount-content p strong {
    color: var(--fionda-black, #121212);
    font-weight: 600;
}

.woocommerce-MyAccount-content a {
    color: var(--fionda-wine, #823438);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.woocommerce-MyAccount-content a:hover {
    color: var(--fionda-black, #121212);
}

/* 3. AADRESSIDE RUUDUSTIK JA PAINDLIK PEALKIRJARIDA */
.woocommerce-Addresses.col2-set,
.u-columns.woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.8rem !important;
    margin-top: 1.8rem !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-Addresses .u-column1,
.woocommerce-Addresses .u-column2,
.woocommerce-Addresses .col-1,
.woocommerce-Addresses .col-2 {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Pealkirjariba: kui ruumi on vähe, lubatakse real murduda */
.woocommerce-Address-title,
header.woocommerce-Address-title {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 0.4rem 0.8rem !important;
    margin-bottom: 0.85rem !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-Address-title h3 {
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
    color: var(--fionda-black, #121212) !important;
    line-height: 1.25 !important;
}

.woocommerce-Address-title a.edit {
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--fionda-wine, #823438) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.3 !important;
}

.woocommerce-MyAccount-content address {
    font-style: normal;
    line-height: 1.7;
    color: rgba(18, 18, 18, 0.75);
    font-size: 0.9rem;
    background: #fbfaf8;
    padding: 1.25rem 1.4rem;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 2px;
    box-sizing: border-box;
    width: 100% !important;
    overflow-wrap: break-word;
}

/* 4. VORMID JA PAROOLIVÄLJAD */
.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last {
    width: calc(50% - 0.75rem) !important;
}

.woocommerce-EditAccountForm .form-row-first {
    float: left !important;
}

.woocommerce-EditAccountForm .form-row-last {
    float: right !important;
}

.woocommerce-EditAccountForm .clear {
    clear: both !important;
}

.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--fionda-black, #121212) !important;
    display: block !important;
    margin-bottom: 0.4rem !important;
}

.woocommerce-EditAccountForm input.input-text,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select {
    width: 100% !important;
    background-color: #f7f5f0 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 1px !important;
    padding: 0.6rem 0.85rem !important;
    font-family: inherit !important;
    font-size: 0.88rem !important;
    color: #121212 !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.woocommerce-EditAccountForm input.input-text:focus,
.woocommerce-address-fields input.input-text:focus {
    background-color: #ffffff !important;
    border-color: #121212 !important;
}

.woocommerce-EditAccountForm fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 2.2rem 0 1rem 0 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding-top: 1.8rem !important;
}

.woocommerce-EditAccountForm fieldset legend {
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    color: var(--fionda-black, #121212) !important;
    padding: 0 0.8rem 0 0 !important;
    margin-bottom: 1.2rem !important;
}

/* Salvestusnupud */
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-address-fields button[type="submit"],
.woocommerce-form-login button[type="submit"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.85rem 2rem !important;
    background-color: var(--fionda-black, #121212) !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 1px !important;
    cursor: pointer !important;
    margin: 1.4rem 0 0 4px !important;
    z-index: 2 !important;
    transition: all 0.25s ease !important;
}

.woocommerce-EditAccountForm button[type="submit"]::before,
.woocommerce-address-fields button[type="submit"]::before,
.woocommerce-form-login button[type="submit"]::before {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    width: 100% !important;
    height: 100% !important;
    border: 1px solid var(--fionda-champagne, #d1b89d) !important;
    border-radius: 1px !important;
    pointer-events: none !important;
}

.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-address-fields button[type="submit"]:hover,
.woocommerce-form-login button[type="submit"]:hover {
    background-color: var(--fionda-champagne, #d1b89d) !important;
    color: var(--fionda-black, #121212) !important;
}

/* ========================================================
   5. MOBIILI JA TAHVLI KOHANDUSED
   ======================================================== */
@media (max-width: 860px) {
    .woocommerce-account .woocommerce {
        padding: 0 16px;
    }

    .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
    }

    .woocommerce-MyAccount-navigation {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden;
    }

    .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        width: 100% !important;
        box-sizing: border-box;
    }

    .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none;
    }

    .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto !important;
        border-bottom: none !important;
        border-right: 1px solid rgba(0, 0, 0, 0.06) !important;
    }

    .woocommerce-MyAccount-navigation li a {
        padding: 0.8rem 1.15rem !important;
        white-space: nowrap !important;
        font-size: 0.82rem !important;
    }

    .woocommerce-MyAccount-navigation li.is-active {
        border-left: none !important;
        border-bottom: 2px solid var(--fionda-champagne, #d1b89d) !important;
        background-color: #ffffff !important;
    }

    .woocommerce-MyAccount-navigation li.is-active a {
        padding-left: 1.15rem !important;
    }

    .woocommerce-MyAccount-content {
        width: 100% !important;
        padding: 1.4rem 1.15rem !important;
    }

    .woocommerce-Addresses.col2-set,
    .u-columns.woocommerce-Addresses {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
    }

    .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-EditAccountForm .form-row-last {
        width: 100% !important;
        float: none !important;
    }
}

/* Väga kitsad ekraanid (alla 480px, nt 320px mobiil) */
@media (max-width: 480px) {
    .woocommerce-Address-title,
    header.woocommerce-Address-title {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.35rem !important;
    }
}