/*
Theme Name: Auraluxe Child
Theme URI: https://auraluxe.gr
Description: Premium K-Beauty child theme for Auraluxe
Author: Auraluxe
Author URI: https://auraluxe.gr
Template: generatepress
Version: 1.0.0
Text Domain: auraluxe-child
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
*/

:root {
  /* Dark palette */
  --color-black: #0A0A0A;
  --color-charcoal: #1A1612;
  --color-charcoal-soft: #2A2520;

  /* Light palette */
  --color-ivory: #FAF6F0;
  --color-cream: #F5F0E8;
  --color-pearl: #FFFFFF;

  /* Gold palette */
  --color-gold: #C9A875;
  --color-gold-light: #D4B98A;
  --color-gold-deep: #A8855C;
  --color-gold-shimmer: #E5C896;

  /* Text */
  --color-ink: #1A1612;
  --color-ink-soft: #4A4038;
  --color-cream-text: #F5F0E8;

  /* Support */
  --color-sage: #8A9A82;
  --color-rose-dust: #D4A5A5;
  --color-warning: #B85C3C;

  /* Typography */
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "DM Sans", -apple-system, sans-serif;

  /* Spacing */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;
  --space-5xl: 128px;
}

/* ============================================
   BASE RESET & BODY
   ============================================ */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-ink);
  background-color: var(--color-ivory);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

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

::selection {
  background-color: var(--color-gold);
  color: var(--color-ink);
}

::-moz-selection {
  background-color: var(--color-gold);
  color: var(--color-ink);
}

/* ============================================
   TYPOGRAPHY
   ============================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-ink);
  margin: 0 0 var(--space-md) 0;
  letter-spacing: -0.01em;
}

h1 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  letter-spacing: -0.02em;
}

h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
}

h3 {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 400;
}

h4 {
  font-size: 1.5rem;
  font-weight: 500;
}

h5 {
  font-size: 1.25rem;
  font-weight: 500;
}

h6 {
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

h1 em, h2 em, h3 em {
  font-style: italic;
  color: var(--color-gold-deep);
}

p {
  margin: 0 0 var(--space-md) 0;
  color: var(--color-ink-soft);
}

p.lead {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 300;
  line-height: 1.5;
  color: var(--color-ink);
}

html a {
  color: var(--color-gold-deep);
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

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

strong, b {
  font-weight: 500;
  color: var(--color-ink);
}

em, i {
  font-style: italic;
}

ul, ol {
  margin: 0 0 var(--space-md) 0;
  padding-left: var(--space-lg);
  color: var(--color-ink-soft);
}

li {
  margin-bottom: var(--space-xs);
  line-height: 1.6;
}

blockquote {
  margin: var(--space-xl) 0;
  padding: var(--space-md) var(--space-lg);
  border-left: 2px solid var(--color-gold);
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.5;
  color: var(--color-ink);
}

small {
  font-size: 0.875rem;
  color: var(--color-ink-soft);
}

hr {
  border: none;
  border-top: 1px solid var(--color-gold);
  margin: var(--space-2xl) 0;
  opacity: 0.3;
}

/* ============================================
   ACCESSIBILITY
   ============================================ */
:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 4px;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */
.container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

@media (min-width: 768px) {
  .container {
    padding: 0 var(--space-xl);
  }
}

.section {
  padding: var(--space-3xl) 0;
}

@media (min-width: 768px) {
  .section {
    padding: var(--space-4xl) 0;
  }
}

.section-dark {
  background-color: var(--color-charcoal);
  color: var(--color-cream-text);
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark h5,
.section-dark h6 {
  color: var(--color-cream-text);
}

.section-dark p {
  color: rgba(245, 240, 234, 0.85);
}

.section-cream {
  background-color: var(--color-cream);
}

.text-center {
  text-align: center;
}

.text-gold {
  color: var(--color-gold-deep);
}

.text-italic {
  font-style: italic;
}

.label {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-gold-deep);
}

/* ============================================
   ANNOUNCEMENT BAR
   ============================================ */
.announcement-bar {
    background-color: var(--color-charcoal-soft);
    color: var(--color-cream-text);
    padding: var(--space-sm) 0;
    text-align: center;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
}

.announcement-bar p {
    margin: 0;
    color: var(--color-cream-text);
}

.announcement-bar strong {
    color: var(--color-gold);
    font-weight: 500;
}

/* ============================================
   MAIN HEADER
   ============================================ */
.site-header {
    background-color: var(--color-charcoal);
    color: var(--color-cream-text);
    border-bottom: 1px solid rgba(201, 168, 117, 0.15);
    position: sticky;
    top: 0;
    z-index: 100;
    margin-bottom: 0;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 80px;
    gap: var(--space-lg);
}

.site-branding {
    flex-shrink: 0;
}

.site-branding img,
.site-branding .custom-logo {
    max-height: 120px;
    width: auto;
    display: block;
}

.site-title-link {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-decoration: none;
}

.site-title-text {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--color-gold);
    line-height: 1;
}

.site-title-sub {
    font-family: var(--font-body);
    font-size: 0.625rem;
    font-weight: 400;
    letter-spacing: 0.3em;
    color: var(--color-cream-text);
    margin-top: 4px;
}

.primary-nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.nav-menu {
    display: flex;
    align-items: center;
    gap: var(--space-xl);
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-menu li {
    margin: 0;
}

.nav-menu a {
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-cream-text);
    text-decoration: none;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease;
}

.nav-menu a:hover {
    color: var(--color-gold);
    border-bottom-color: var(--color-gold);
}

.header-utilities {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-shrink: 0;
}

.util-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: var(--color-cream-text);
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.2s ease;
    text-decoration: none;
}

.util-icon:hover {
    color: var(--color-gold);
}

.util-icon svg {
    width: 20px;
    height: 20px;
}

button.util-icon {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: var(--color-cream-text);
    line-height: 0;
}

button.util-icon:hover {
    color: var(--color-gold);
    background: transparent;
}

button.util-icon:focus {
    outline: none;
}

button.util-icon:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 4px;
}

.cart-count {
    position: absolute;
    top: 2px;
    right: 0px;
    background-color: var(--color-gold);
    color: var(--color-charcoal);
    font-family: var(--font-body);
    font-size: 0.625rem;
    font-weight: 600;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
}

@media (max-width: 900px) {
    .primary-nav {
        display: none;
    }
}


/* ============================================
   FOOTER
   ============================================ */

.site-footer {
    background-color: var(--color-charcoal);
    color: var(--color-cream-text);
    margin-top: auto;
}

.footer-top {
    padding: var(--space-4xl) 0 var(--space-3xl);
    border-bottom: 1px solid rgba(201, 168, 117, 0.15);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
    gap: var(--space-3xl);
}

.footer-brand .footer-logo {
    margin-bottom: var(--space-lg);
}

.footer-brand .footer-logo img {
    max-height: 70px;
    width: auto;
    filter: brightness(0.9);
}

.footer-logo-text {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--color-gold);
}

.footer-tagline {
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(245, 240, 234, 0.65);
    margin-bottom: var(--space-lg);
}

.footer-social {
    display: flex;
    gap: var(--space-md);
}

.social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(201, 168, 117, 0.3);
    border-radius: 50%;
    color: var(--color-cream-text);
    text-decoration: none;
    transition: all 0.2s ease;
}

.social-icon:hover {
    border-color: var(--color-gold);
    color: var(--color-gold);
    background-color: rgba(201, 168, 117, 0.1);
}

.footer-heading {
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: var(--space-lg);
}

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

.footer-links li {
    margin-bottom: var(--space-sm);
}

.footer-links a {
    font-size: 0.875rem;
    color: rgba(245, 240, 234, 0.65);
    text-decoration: none;
    transition: color 0.2s ease;
    line-height: 1.6;
}

.footer-links a:hover {
    color: var(--color-gold);
}

.footer-newsletter-text {
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(245, 240, 234, 0.65);
    margin-bottom: var(--space-lg);
}

.footer-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.footer-input {
    background: rgba(245, 240, 234, 0.08);
    border: 1px solid rgba(201, 168, 117, 0.3);
    color: var(--color-cream-text);
    padding: var(--space-sm) var(--space-md);
    font-family: var(--font-body);
    font-size: 0.875rem;
    outline: none;
    transition: border-color 0.2s ease;
    border-radius: 0;
}

.footer-input::placeholder {
    color: rgba(245, 240, 234, 0.4);
}

.footer-input:focus {
    border-color: var(--color-gold);
}

.footer-btn {
    background-color: var(--color-gold);
    color: var(--color-charcoal);
    border: none;
    padding: var(--space-sm) var(--space-lg);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.footer-btn:hover {
    background-color: var(--color-gold-light);
}

.footer-bottom {
    padding: var(--space-lg) 0;
}

.footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    flex-wrap: wrap;
}

.footer-legal {
    display: flex;
    gap: var(--space-lg);
    flex-wrap: wrap;
}

.footer-legal a {
    font-size: 0.75rem;
    color: rgba(245, 240, 234, 0.45);
    text-decoration: none;
    transition: color 0.2s ease;
    letter-spacing: 0.05em;
}

.footer-legal a:hover {
    color: var(--color-gold);
}

.footer-copy p {
    font-size: 0.75rem;
    color: rgba(245, 240, 234, 0.35);
    margin: 0;
    text-align: center;
}

.footer-payments {
    display: flex;
    gap: var(--space-sm);
}

.payment-badge {
    font-family: var(--font-body);
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 8px;
    border: 1px solid rgba(201, 168, 117, 0.25);
    color: rgba(245, 240, 234, 0.45);
    border-radius: 2px;
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-2xl);
    }
}

@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
    }
    .footer-legal {
        justify-content: center;
    }
}

/* ============================================
   GENERATEPRESS OVERRIDES
   ============================================ */

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .paginav,
.separate-containers .page-header,
.sidebar .widget {
    background-color: transparent;
    box-shadow: none;
}

/* ============================================
   FRONT PAGE — HERO SECTION
   ============================================ */

.front-page {
    min-height: 500px;
}

.hero-section {
    position: relative;
    min-height: 700px;
    max-height: 700px;
    height: 700px;
    background-color: var(--color-charcoal);
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 70% 50%, rgba(201, 168, 117, 0.08) 0%, transparent 70%),
        radial-gradient(ellipse 40% 60% at 30% 20%, rgba(201, 168, 117, 0.04) 0%, transparent 60%);
    pointer-events: none;
}

.hero-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 580px;
    width: 50%;
    margin: 0;
    padding: var(--space-4xl);
    min-height: 700px;
    height: 700px;
    position: relative;
    z-index: 1;
}

.hero-content {
    max-width: 560px;
    padding-top: var(--space-3xl);
}

.hero-label {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: var(--space-lg);
}

.hero-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--color-cream-text);
    margin-bottom: var(--space-xl);
}

.hero-title em {
    font-style: italic;
    color: var(--color-gold);
}

.hero-subtitle {
    font-family: var(--font-body);
    font-size: 1.05rem;
    line-height: 1.8;
    color: rgba(245, 240, 234, 0.65);
    max-width: 700px;
    margin-bottom: var(--space-2xl);
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

.btn-primary {
    display: inline-block;
    background-color: var(--color-gold);
    color: var(--color-charcoal);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    text-decoration: none;
    padding: var(--space-md) var(--space-2xl);
    transition: all 0.25s ease;
    border: 1px solid var(--color-gold);
}

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

.btn-ghost {
    display: inline-block;
    color: rgba(245, 240, 234, 0.7);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 400;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: color 0.2s ease;
}

.btn-ghost:hover {
    color: var(--color-gold);
}

.hero-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 500px;
}

.hero-orb {
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(ellipse at 35% 35%,
        rgba(201, 168, 117, 0.15) 0%,
        rgba(201, 168, 117, 0.05) 40%,
        transparent 70%);
    border: 1px solid rgba(201, 168, 117, 0.15);
    position: relative;
}

.hero-orb::after {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border-radius: 50%;
    border: 1px solid rgba(201, 168, 117, 0.08);
}




.hero-scroll-hint {
    position: absolute;
    bottom: var(--space-xl);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    z-index: 1;
}

.hero-scroll-hint span {
    font-family: var(--font-body);
    font-size: 0.65rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(245, 240, 234, 0.35);
}

.scroll-line {
    width: 1px;
    height: 40px;
    background: linear-gradient(to bottom, rgba(201, 168, 117, 0.4), transparent);
    animation: scrollPulse 2s ease-in-out infinite;
}

@keyframes scrollPulse {
    0%, 100% { opacity: 0.4; transform: scaleY(1); }
    50% { opacity: 1; transform: scaleY(1.1); }
}

@media (max-width: 900px) {
    .hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
        padding: var(--space-3xl) var(--space-lg);
    }
    .hero-visual {
        display: none;
    }
    .hero-subtitle {
        max-width: 100%;
        margin: 0 auto var(--space-2xl);
    }
    .hero-actions {
        justify-content: center;
    }
    .hero-title {
        font-size: clamp(2.5rem, 8vw, 4rem);
    }
}

/* ============================================
   SHOP BY CONCERN SECTION
   ============================================ */
.concern-section {
    background-color: var(--color-cream);
}

.section-header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto var(--space-3xl);
}

.section-header h2 {
    margin-bottom: var(--space-md);
}

.section-header p {
    font-size: 0.95rem;
    color: var(--color-ink-soft);
    line-height: 1.7;
    margin: 0;
}

.concern-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}

.concern-tile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: var(--space-2xl) var(--space-xl);
    background-color: var(--color-ivory);
    border: 1px solid transparent;
    text-decoration: none;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
}

.concern-tile::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--color-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}

.concern-tile:hover {
    border-color: rgba(201, 168, 117, 0.3);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(26, 22, 18, 0.08);
}

.concern-tile:hover::after {
    transform: scaleX(1);
}

.concern-tile--all {
    background-color: var(--color-charcoal);
    border-color: transparent;
}

.concern-tile--all .concern-icon,
.concern-tile--all h3,
.concern-tile--all p {
    color: var(--color-cream-text);
}

.concern-tile--all p {
    color: rgba(245, 240, 234, 0.6);
}

.concern-tile--all:hover {
    background-color: var(--color-charcoal-soft);
    border-color: rgba(201, 168, 117, 0.3);
}

.concern-icon {
    font-size: 1.25rem;
    color: var(--color-gold);
    margin-bottom: var(--space-md);
    line-height: 1;
}

.concern-tile h3 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--color-ink);
    margin-bottom: var(--space-xs);
    letter-spacing: -0.01em;
}

.concern-tile p {
    font-size: 0.8rem;
    color: var(--color-ink-soft);
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 900px) {
    .concern-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .concern-grid {
        grid-template-columns: 1fr;
    }
}
/* Fix: concern-tile--all text color override */
a.concern-tile--all h3 { color: var(--color-cream-text); }
a.concern-tile--all p { color: rgba(245, 240, 234, 0.6); }
a.concern-tile--all .concern-icon { color: var(--color-cream-text); }

/* ============================================
   BEST SELLERS SECTION
   ============================================ */
.bestsellers-section {
    background-color: var(--color-cream);
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-lg);
    margin-bottom: var(--space-2xl);
}

/* Product Card */
.product-card {
    background-color: var(--color-pearl);
    border: 1px solid rgba(26, 22, 18, 0.15);
    transition: all 0.25s ease;
    position: relative;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(26, 22, 18, 0.1);
    border-color: rgba(201, 168, 117, 0.2);
}

/* Product Image Area */
.product-card-image {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: var(--color-cream);
}

.product-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, 
        rgba(201, 168, 117, 0.08) 0%, 
        rgba(201, 168, 117, 0.02) 100%);
}

.product-card-placeholder span {
    font-family: var(--font-display);
    font-size: 4rem;
    font-weight: 300;
    color: rgba(201, 168, 117, 0.3);
    letter-spacing: 0.1em;
}

/* Badges */
.product-card-badges {
    position: absolute;
    top: var(--space-sm);
    left: var(--space-sm);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.badge {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 3px 8px;
}

.badge--new {
    background-color: var(--color-gold);
    color: var(--color-charcoal);
}

.badge--bestseller {
    background-color: var(--color-charcoal);
    color: var(--color-cream-text);
}

/* Wishlist button */
.product-card-wishlist {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-sm);
    width: 32px;
    height: 32px;
    background-color: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-ink-soft);
    transition: all 0.2s ease;
    opacity: 0;
}

.product-card:hover .product-card-wishlist {
    opacity: 1;
}

.product-card-wishlist:hover {
    background-color: var(--color-gold);
    color: white;
}

/* Product Info */
.product-card-info {
    padding: var(--space-md);
}

.product-card-brand {
    display: block;
    font-family: var(--font-body);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--color-gold-deep);
    margin-bottom: 6px;
}

.product-card-title {
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.4;
    color: var(--color-ink);
    margin-bottom: var(--space-sm);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-card-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: var(--space-sm);
}

.stars {
    color: var(--color-gold);
    font-size: 0.7rem;
    letter-spacing: 2px;
}

.rating-count {
    font-size: 0.7rem;
    color: var(--color-ink-soft);
}

.product-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    padding-top: var(--space-sm);
    border-top: 1px solid rgba(26, 22, 18, 0.15);
}

.product-card-price {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--color-ink);
}

.product-card-add {
    font-family: var(--font-body);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 6px 12px;
    background-color: var(--color-charcoal);
    color: var(--color-cream-text);
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    white-space: nowrap;
}

.product-card-add:hover {
    background-color: var(--color-gold);
    color: var(--color-charcoal);
}

/* Section CTA */
.section-cta {
    text-align: center;
    margin-top: var(--space-2xl);
}

.btn-outline {
    display: inline-block;
    border: 1px solid var(--color-ink);
    color: var(--color-ink);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    text-decoration: none;
    padding: var(--space-md) var(--space-2xl);
    transition: all 0.25s ease;
}

.btn-outline:hover {
    background-color: var(--color-ink);
    color: var(--color-cream-text);
}

@media (max-width: 900px) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .products-grid {
        grid-template-columns: 1fr;
    }
}

/* HERO IMAGE */
.hero-section {
    position: relative;
    background-image: url('https://auraluxe.gr/wp-content/uploads/2026/05/heroimage2-scaled.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(26, 22, 18, 0.85) 0%,
        rgba(26, 22, 18, 0.6) 50%,
        rgba(26, 22, 18, 0.2) 100%
    );
    z-index: 0;
}

.hero-inner {
    position: relative;
    z-index: 1;
    grid-template-columns: 1fr;
    max-width: 700px;
}

.hero-image-wrap {
    display: none;
}

.hero-orb {
    display: none;
}

/* OVERFLOW FIX */
html, body {
    overflow-x: hidden;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.site-header,
.hero-section,
.concern-section,
.bestsellers-section,
.site-footer {
    width: 100%;
    max-width: 100%;
}

.site-main {
    margin-top: 0;
    padding-top: 0;
}

.front-page {
    margin-top: 0;
    padding-top: 0;
}

/* GENERATEPRESS WRAPPER FIXES */
.site-content,
.content-area,
#primary,
.entry-content,
.hentry,
.type-page,
.page-template-default {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.generate-columns-container,
.inside-page-hero,
.page-hero-section {
    display: none;
}

.hero-section {
    margin-top: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
}

/* SITE-MAIN GAP FIX */
#site-main,
.site-main {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ============================================
   WOOCOMMERCE - CART PAGE
   ============================================ */

.woocommerce-cart h1.entry-title,
.woocommerce-cart .entry-title,
.page-title {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    color: var(--color-ink);
    padding: var(--space-2xl) 0 var(--space-lg);
    border-bottom: 1px solid rgba(201, 168, 117, 0.2);
    margin-bottom: var(--space-2xl);
}

.woocommerce-cart .woocommerce {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--space-xl);
}

/* Empty cart */
.woocommerce-cart .cart-empty {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 300;
    color: var(--color-ink-soft);
    text-align: center;
    padding: var(--space-4xl) 0;
}

.woocommerce-cart .return-to-shop {
    text-align: center;
    margin-top: var(--space-xl);
}

.woocommerce-cart .return-to-shop .button {
    background-color: var(--color-gold);
    color: var(--color-charcoal);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: var(--space-md) var(--space-2xl);
    border: none;
    text-decoration: none;
    display: inline-block;
    transition: all 0.25s ease;
}

.woocommerce-cart .return-to-shop .button:hover {
    background-color: var(--color-charcoal);
    color: var(--color-gold);
}

/* Hide "New in store" section */
.woocommerce-cart .woocommerce-recommended-products,
.woocommerce-cart .cross-sells {
    display: none;
}

/* Hide WooCommerce Blocks "New in store" on empty cart */
.wp-block-woocommerce-empty-cart-block > :not(:first-child):not(:nth-child(2)) {
    display: none !important;
}

/* ============================================
   SIDE CART - XOOTIX PLUGIN STYLING
   ============================================ */

/* Panel */
.xoo-wsc-modal {
    font-family: var(--font-body) !important;
}

.xoo-wsc-modal .xoo-wsc-modal-bg {
    background: rgba(26, 22, 18, 0.6) !important;
}

/* Header */
.xoo-wsc-header {
    background-color: var(--color-charcoal) !important;
    border-bottom: 1px solid rgba(201, 168, 117, 0.2) !important;
    padding: var(--space-lg) var(--space-xl) !important;
}

/* Header "YOUR CART" text - exclude icon spans */
.xoo-wsc-header span.xoo-wsch-text,
.xoo-wsc-header > span:not([class*="xoo-wsc-icon"]):not([class*="xoo-wsch-icon"]):not(.xoo-wsch-items-count) {
    font-family: var(--font-display) !important;
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    color: var(--color-cream-text) !important;
    text-transform: uppercase !important;
}

/* Ensure icon spans keep their icon font */
.xoo-wsc-header span[class*="xoo-wsc-icon"],
.xoo-wsc-header span[class*="xoo-wsch-icon"] {
    font-family: 'Woo-Side-Cart' !important;
}

.xoo-wsc-close {
    color: var(--color-cream-text) !important;
    opacity: 0.6 !important;
}

.xoo-wsc-close:hover {
    opacity: 1 !important;
    color: var(--color-gold) !important;
}

/* Product items */
.xoo-wsc-product {
    border-bottom: 1px solid rgba(201, 168, 117, 0.1) !important;
    padding: var(--space-md) var(--space-xl) !important;
    background-color: var(--color-charcoal) !important;
}

.xoo-wsc-product-name a {
    font-family: var(--font-body) !important;
    font-size: 0.875rem !important;
    color: var(--color-cream-text) !important;
    text-decoration: none !important;
}

.xoo-wsc-product-name a:hover {
    color: var(--color-gold) !important;
}

.xoo-wsc-price,
.xoo-wsc-product .price {
    color: var(--color-gold) !important;
    font-family: var(--font-display) !important;
    font-size: 1rem !important;
}

/* Quantity controls */
.xoo-wsc-qty-btn {
    background-color: transparent !important;
    border: 1px solid rgba(201, 168, 117, 0.3) !important;
    color: var(--color-cream-text) !important;
    width: 28px !important;
    height: 28px !important;
}

.xoo-wsc-qty-btn:hover {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
}

.xoo-wsc-qty-input {
    background-color: transparent !important;
    color: var(--color-cream-text) !important;
    border: none !important;
    font-family: var(--font-body) !important;
}

/* Remove button */
.xoo-wsc-smr-del {
    color: rgba(245, 240, 234, 0.4) !important;
}

.xoo-wsc-smr-del:hover {
    color: var(--color-warning) !important;
}

/* Footer / Total */
.xoo-wsc-footer {
    background-color: var(--color-charcoal) !important;
    border-top: 1px solid rgba(201, 168, 117, 0.2) !important;
    padding: var(--space-lg) var(--space-xl) !important;
}

.xoo-wsc-subtotal-title,
.xoo-wsc-subtotal-price {
    font-family: var(--font-body) !important;
    color: var(--color-cream-text) !important;
    font-size: 0.875rem !important;
}

.xoo-wsc-subtotal-price {
    font-family: var(--font-display) !important;
    font-size: 1.1rem !important;
    color: var(--color-gold) !important;
}

/* Buttons */
.xoo-wsc-footer .button,
.xoo-wsc-footer a.button {
    font-family: var(--font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    padding: var(--space-md) !important;
    transition: all 0.25s ease !important;
    border-radius: 0 !important;
}

.xoo-wsc-ft-checkout {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    border: 1px solid var(--color-gold) !important;
    margin-bottom: var(--space-sm) !important;
}

.xoo-wsc-ft-checkout:hover {
    background-color: transparent !important;
    color: var(--color-gold) !important;
}

.xoo-wsc-ft-cart {
    background-color: transparent !important;
    color: var(--color-cream-text) !important;
    border: 1px solid rgba(201, 168, 117, 0.3) !important;
}

.xoo-wsc-ft-cart:hover {
    border-color: var(--color-gold) !important;
    color: var(--color-gold) !important;
}



/* Empty cart */
.xoo-wsc-empty-cart-msg {
    color: rgba(245, 240, 234, 0.5) !important;
    font-family: var(--font-display) !important;
    font-size: 1rem !important;
    text-align: center !important;
    padding: var(--space-3xl) var(--space-xl) !important;
}

/* Fix: container and body background */
.xoo-wsc-container {
    background-color: var(--color-charcoal) !important;
}

.xoo-wsc-body {
    background-color: var(--color-charcoal) !important;
}

/* Side Cart header icons fix */
.xoo-wsc-header .xoo-wsc-close,
.xoo-wsc-header a,
.xoo-wsc-header button {
    color: var(--color-cream-text) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.xoo-wsc-header svg,
.xoo-wsc-header svg path,
.xoo-wsc-header svg line {
    stroke: var(--color-cream-text) !important;
}
/* ============================================
   SIDE CART - ICON FIXES
   ============================================ */

/* Restore cart icon next to "YOUR CART" header */
.xoo-wsc-header .xoo-wsc-icon-cart,
.xoo-wsc-header [class*="xoo-wsc-icon"] {
    background: transparent !important;
    color: var(--color-gold) !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
}

/* Restore close (X) button */
.xoo-wsc-close {
    background: transparent !important;
    color: var(--color-cream-text) !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    font-size: 1.5rem !important;
}

.xoo-wsc-close:hover {
    color: var(--color-gold) !important;
}

/* Floating cart basket button (bottom-left circle) */
body .xoo-wsc-modal .xoo-wsc-basket {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
}

.xoo-wsc-cart-trigger .xoo-wsc-cart-count {
    background-color: var(--color-charcoal) !important;
    color: var(--color-gold) !important;
}

/* ============================================
   CHECKOUT PAGE - PHASE 1: LAYOUT & SPACING
   ============================================ */

/* Main checkout container - max-width and centering */
.wp-block-woocommerce-checkout {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}

/* Container for the checkout page (page-level wrapper) */
body.woocommerce-checkout .entry-content,
body.page-id-10 .entry-content {
    max-width: 100% !important;
    padding: 0 !important;
}

/* Checkout h1 title - more elegant sizing */
body.woocommerce-checkout .entry-header,
body.page-id-10 .entry-header {
    max-width: 1280px;
    margin: 0 auto;
    padding: 60px 32px 32px;
}

body.woocommerce-checkout .entry-title,
body.page-id-10 .entry-title {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
    text-align: left;
    letter-spacing: -0.01em;
}

/* Sidebar layout - balanced 2-column grid */
.wc-block-components-sidebar-layout.wc-block-checkout {
    gap: 48px !important;
}

/* Left column - main form */
.wc-block-checkout__main {
    flex: 1 1 60% !important;
    max-width: 60% !important;
}

/* Right column - order summary sidebar */
.wc-block-checkout__sidebar {
    flex: 1 1 35% !important;
    max-width: 35% !important;
}

/* Vertical spacing between checkout sections */
.wc-block-components-checkout-step {
    padding: 32px 0 !important;
    margin: 0 !important;
}

.wc-block-components-checkout-step + .wc-block-components-checkout-step {
    border-top: 1px solid rgba(26, 22, 18, 0.08);
}

/* Section titles - Greek section headings */
.wc-block-components-checkout-step__heading {
    margin-bottom: 24px !important;
}

.wc-block-components-checkout-step__title {
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    color: var(--color-charcoal) !important;
}

/* Order summary sidebar - inner spacing */
.wp-block-woocommerce-checkout-order-summary-block {
    padding: 32px 24px !important;
}

/* MOBILE RESPONSIVE - 768px breakpoint */
@media (max-width: 768px) {
    .wp-block-woocommerce-checkout {
        padding: 0 16px !important;
    }
    
    body.woocommerce-checkout .entry-header,
    body.page-id-10 .entry-header {
        padding: 32px 16px 24px;
    }
    
    body.woocommerce-checkout .entry-title,
    body.page-id-10 .entry-title {
        font-size: 1.75rem !important;
    }
    
    /* Stack columns on mobile - explicit flex direction */
    .wc-block-components-sidebar-layout.wc-block-checkout {
        flex-direction: column !important;
        gap: 32px !important;
    }
    
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        max-width: 100% !important;
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}


/* ============================================
   CHECKOUT PAGE - PHASE 2: TYPOGRAPHY & COLORS
   ============================================ */

/* ============ FORM INPUTS ============ */

/* Input fields - softer borders */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-address-form input,
.wc-block-components-checkout-step input[type="text"],
.wc-block-components-checkout-step input[type="email"],
.wc-block-components-checkout-step input[type="tel"],
.wc-block-components-state-input select,
.wc-block-components-country-input select,
.wc-block-components-address-form select {
    border: 1px solid rgba(26, 22, 18, 0.15) !important;
    background-color: #FFFFFF !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    color: var(--color-charcoal) !important;
    transition: border-color 0.2s ease !important;
}

/* Input focus state - gold accent */
.wc-block-components-text-input input:focus,
.wc-block-components-text-input input:focus-within,
.wc-block-components-address-form input:focus,
.wc-block-components-state-input select:focus,
.wc-block-components-country-input select:focus {
    border-color: var(--color-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px var(--color-gold) !important;
}

/* Wrapper focus state for floating label inputs */
.wc-block-components-text-input:focus-within {
    border-color: var(--color-gold) !important;
}

/* Floating labels - proper color */
.wc-block-components-text-input label,
.wc-block-components-checkbox label,
.wc-block-components-address-form label {
    font-family: var(--font-body) !important;
    color: rgba(26, 22, 18, 0.6) !important;
    font-size: 0.95rem !important;
}

/* Floating label - when active (input has value or focused) */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input:focus-within label {
    color: rgba(26, 22, 18, 0.5) !important;
    font-size: 0.75rem !important;
}

/* ============ SECTION HEADINGS ============ */

/* Step titles - Auraluxe typography */
.wc-block-components-checkout-step__title {
    font-family: var(--font-body) !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--color-charcoal) !important;
}

/* Order summary heading - 'Synopsi paraggelias' */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
    font-family: var(--font-display) !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    margin-bottom: 24px !important;
}

/* ============ LINKS ============ */

/* Return to cart link */
.wc-block-checkout__actions a,
.wc-block-components-checkout-return-to-cart-button {
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    transition: color 0.2s ease !important;
    text-decoration: none !important;
}

.wc-block-checkout__actions a:hover,
.wc-block-components-checkout-return-to-cart-button:hover {
    color: var(--color-gold) !important;
}

/* Coupon code toggle */
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button {
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    font-weight: 500 !important;
}

.wc-block-components-totals-coupon__button:hover {
    color: var(--color-gold) !important;
}

/* ============ ORDER SUMMARY ============ */

/* Sale price highlight */
.wc-block-components-product-badge.wc-block-components-sale-badge,
.wc-block-components-sale-badge.wc-block-components-product-sale-badge,
.wc-block-components-sale-badge {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    padding: 4px 10px !important;
    border-radius: 2px !important;
    letter-spacing: 0.02em !important;
}

/* Quantity badge in order summary */
.wc-block-components-order-summary-item__quantity,
.wc-block-components-product-badge {
    background-color: var(--color-charcoal) !important;
    color: var(--color-cream-text, #F5F0EA) !important;
    font-family: var(--font-body) !important;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
}

/* Product names in order summary */
.wc-block-components-order-summary-item__name,
.wc-block-components-product-name {
    font-family: var(--font-body) !important;
    font-weight: 500 !important;
    color: var(--color-charcoal) !important;
}

/* Product prices in order summary */
.wc-block-components-order-summary-item__total-price,
.wc-block-components-product-price {
    font-family: var(--font-body) !important;
    color: var(--color-charcoal) !important;
}

/* Order totals - Subtotal, Total etc */
.wc-block-components-totals-item__label {
    font-family: var(--font-body) !important;
    color: rgba(26, 22, 18, 0.7) !important;
}

.wc-block-components-totals-item__value {
    font-family: var(--font-body) !important;
    color: var(--color-charcoal) !important;
    font-weight: 500 !important;
}

/* Final total emphasis */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
}

/* ============ CHECKBOXES ============ */

/* Checkbox label text */
.wc-block-components-checkbox__label,
.wc-block-components-checkbox span {
    font-family: var(--font-body) !important;
    color: var(--color-charcoal) !important;
    font-size: 0.9rem !important;
}

/* Checkbox itself - gold accent when checked */
.wc-block-components-checkbox input[type="checkbox"]:checked + .wc-block-components-checkbox__mark {
    background-color: var(--color-gold) !important;
    border-color: var(--color-gold) !important;
}


/* ============================================
   CART PAGE - PHASE 1: LAYOUT & SPACING
   ============================================ */

/* Main cart container - max-width and centering */
.wp-block-woocommerce-cart {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}

/* Cart page heading */
body.woocommerce-cart .entry-header,
body.page-id-9 .entry-header {
    max-width: 1280px;
    margin: 0 auto;
    padding: 60px 32px 32px;
}

body.woocommerce-cart .entry-title,
body.page-id-9 .entry-title {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
    text-align: left;
    letter-spacing: -0.01em;
}

/* Sidebar layout - balanced 2-column with proper gap */
.wc-block-components-sidebar-layout.wc-block-cart {
    gap: 48px !important;
}

/* Left column - cart items (60%) */
.wc-block-components-sidebar-layout.wc-block-cart .wc-block-cart__main {
    flex: 1 1 60% !important;
    max-width: 60% !important;
    padding-right: 0 !important;
}

/* Right column - totals sidebar (35%) */
.wc-block-components-sidebar-layout.wc-block-cart .wc-block-cart__sidebar {
    flex: 1 1 35% !important;
    max-width: 35% !important;
}

/* Cart items table - clean styling */
.wc-block-cart-items {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.wc-block-cart-items thead {
    border-bottom: 1px solid rgba(26, 22, 18, 0.1);
}

/* Cart totals sidebar - inner spacing (higher specificity to win cascade) */
.wp-block-woocommerce-cart-totals-block > * {
    padding: 0 !important;
}

.wc-block-components-sidebar-layout.wc-block-cart .wc-block-cart__sidebar {
    padding: 24px !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(26, 22, 18, 0.06) !important;
    border-radius: 2px !important;
}

/* Sidebar heading - h2 for cart */
.wc-block-cart__totals-title {
    font-family: var(--font-display) !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    margin-bottom: 24px !important;
    color: var(--color-charcoal) !important;
}

/* MOBILE RESPONSIVE - 768px breakpoint */
@media (max-width: 768px) {
    .wp-block-woocommerce-cart {
        padding: 0 16px !important;
    }
    
    body.woocommerce-cart .entry-header,
    body.page-id-9 .entry-header {
        padding: 32px 16px 24px;
    }
    
    body.woocommerce-cart .entry-title,
    body.page-id-9 .entry-title {
        font-size: 1.75rem !important;
    }
    
    /* Stack columns on mobile */
    .wc-block-components-sidebar-layout.wc-block-cart {
        flex-direction: column !important;
        gap: 32px !important;
    }
    
    .wc-block-components-sidebar-layout.wc-block-cart .wc-block-cart__main,
    .wc-block-components-sidebar-layout.wc-block-cart .wc-block-cart__sidebar {
        max-width: 100% !important;
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}


/* ============================================
   CART PAGE - PHASE 2: TYPOGRAPHY & POLISH
   ============================================ */

/* ============ CHECKOUT BUTTON (Primary CTA) ============ */
.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a.wc-block-components-button {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    border: 1px solid var(--color-gold) !important;
    padding: 16px 32px !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover {
    background-color: var(--color-charcoal) !important;
    color: var(--color-gold) !important;
    border-color: var(--color-charcoal) !important;
}

.wc-block-cart__submit-container {
    margin-top: 24px !important;
}

/* ============ CART ITEM ROWS ============ */
.wc-block-cart-items__row {
    border-bottom: 1px solid rgba(26, 22, 18, 0.08);
}

.wc-block-cart-items__row td {
    padding: 24px 16px !important;
    vertical-align: top !important;
}

.wc-block-components-product-name {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--color-charcoal) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease !important;
}

.wc-block-components-product-name:hover {
    color: var(--color-gold) !important;
}

.wc-block-components-product-metadata__description p,
.wc-block-components-product-metadata__description {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.65) !important;
    line-height: 1.5 !important;
    margin-top: 6px !important;
}

.wc-block-cart-item__prices .wc-block-components-product-price__value,
.wc-block-cart-item__prices .wc-block-formatted-money-amount {
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    color: var(--color-charcoal) !important;
    font-weight: 500 !important;
}

.wc-block-cart-item__prices del,
.wc-block-cart-item__prices del .wc-block-formatted-money-amount {
    color: rgba(26, 22, 18, 0.5) !important;
    font-weight: 400 !important;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-formatted-money-amount,
.wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--color-charcoal) !important;
}

/* ============ QUANTITY SELECTOR ============ */
.wc-block-components-quantity-selector {
    border: 1px solid rgba(26, 22, 18, 0.15) !important;
    border-radius: 2px !important;
    background-color: #FFFFFF !important;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 120px !important;
}

.wc-block-components-quantity-selector__button {
    background: transparent !important;
    border: none !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    width: 32px !important;
    height: 36px !important;
    transition: background-color 0.2s ease !important;
    padding: 0 !important;
}

.wc-block-components-quantity-selector__button:hover {
    background-color: rgba(201, 168, 117, 0.1) !important;
    color: var(--color-gold) !important;
}

.wc-block-components-quantity-selector__input {
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    width: 40px !important;
    height: 36px !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    color: var(--color-charcoal) !important;
}

.wc-block-components-quantity-selector__input:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* ============ REMOVE BUTTON ============ */
.wc-block-cart-item__remove-link {
    color: rgba(26, 22, 18, 0.5) !important;
    font-family: var(--font-body) !important;
    font-size: 0.8rem !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(26, 22, 18, 0.2) !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
    margin-top: 12px !important;
    display: inline-block !important;
}

.wc-block-cart-item__remove-link:hover {
    color: var(--color-gold) !important;
    text-decoration-color: var(--color-gold) !important;
}

/* ============ TABLE HEADERS ============ */
.wc-block-cart-items thead th,
.wc-block-cart-items__header-image,
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total {
    font-family: var(--font-body) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(26, 22, 18, 0.6) !important;
    padding: 16px !important;
    text-align: left !important;
}

.wc-block-cart-items__header-total {
    text-align: right !important;
}

/* ============ TOTALS SIDEBAR ============ */
.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon__button {
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important;
    color: var(--color-charcoal) !important;
    padding: 12px 0 !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
    color: var(--color-gold) !important;
}

.wc-block-components-totals-item__label {
    font-family: var(--font-body) !important;
    color: rgba(26, 22, 18, 0.7) !important;
    font-size: 0.95rem !important;
}

.wc-block-components-totals-item__value {
    font-family: var(--font-body) !important;
    color: var(--color-charcoal) !important;
    font-weight: 500 !important;
}

.wc-block-components-totals-footer-item {
    border-top: 1px solid rgba(26, 22, 18, 0.1) !important;
    padding-top: 16px !important;
    margin-top: 8px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 1rem !important;
    color: var(--color-charcoal) !important;
    font-weight: 500 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: var(--color-charcoal) !important;
}


/* ============================================
   CHECKOUT PAGE - PHASE 3: PLACE ORDER CTA
   ============================================ */

/* ============ PLACE ORDER BUTTON (Primary CTA) ============ */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button.wc-block-components-button {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    border: 1px solid var(--color-gold) !important;
    padding: 16px 32px !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    min-height: 52px !important;
    min-width: 240px !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.wc-block-components-checkout-place-order-button:hover,
button.wc-block-components-checkout-place-order-button:hover {
    background-color: var(--color-charcoal) !important;
    color: var(--color-gold) !important;
    border-color: var(--color-charcoal) !important;
}

.wc-block-components-checkout-place-order-button:disabled,
.wc-block-components-checkout-place-order-button[disabled] {
    background-color: rgba(201, 168, 117, 0.4) !important;
    border-color: rgba(201, 168, 117, 0.4) !important;
    color: rgba(26, 22, 18, 0.5) !important;
    cursor: not-allowed !important;
}

/* ============ RETURN TO CART LINK ============ */
.wc-block-components-checkout-return-to-cart-button {
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important;
    color: rgba(26, 22, 18, 0.7) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.wc-block-components-checkout-return-to-cart-button:hover {
    color: var(--color-gold) !important;
}

/* ============ ACTIONS ROW SPACING ============ */
.wc-block-checkout__actions_row {
    padding-top: 32px !important;
    margin-top: 24px !important;
    gap: 24px !important;
    align-items: center !important;
}

/* On mobile, stack the actions vertically */
@media (max-width: 768px) {
    .wc-block-checkout__actions_row {
        flex-direction: column-reverse !important;
        align-items: stretch !important;
        gap: 16px !important;
    }
    
    .wc-block-components-checkout-place-order-button,
    button.wc-block-components-checkout-place-order-button {
        width: 100% !important;
        min-width: auto !important;
    }
    
    .wc-block-components-checkout-return-to-cart-button {
        text-align: center !important;
        justify-content: center !important;
    }
}




/* ============================================
   CHECKOUT PAGE - CLASSIC PHASE B: LAYOUT
   ============================================ */

/* ============ MAIN CONTAINER ============ */
/* Constrain checkout page width */
body.woocommerce-checkout .entry-content {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}

/* Checkout page heading "Ολοκλήρωση Παραγγελίας" */
body.woocommerce-checkout .entry-header {
    max-width: 1280px;
    margin: 0 auto;
    padding: 60px 32px 32px;
}

body.woocommerce-checkout .entry-title {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
    text-align: left;
    letter-spacing: -0.01em;
}

/* ============ 2-COLUMN LAYOUT (Grid) ============ */
/* Use CSS Grid on form.checkout for true 60/35 split */
body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 35% !important;
    gap: 48px !important;
    align-items: start !important;
}

/* Left column: customer details (billing + shipping) */
body.woocommerce-checkout form.checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
}

/* Right column row 1: "Η παραγγελία σας" heading */
body.woocommerce-checkout form.checkout #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Right column row 2: order summary + payment */
body.woocommerce-checkout form.checkout #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

/* Within col-1 / col-2 inside customer_details, stack vertically */
body.woocommerce-checkout form.checkout #customer_details.col2-set {
    display: block !important;
    width: 100% !important;
}

body.woocommerce-checkout form.checkout #customer_details .col-1,
body.woocommerce-checkout form.checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    margin-bottom: 32px !important;
}

/* ============ STICKY SIDEBAR ============ */
/* Make order review sticky on scroll (desktop only) */
body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review {
    position: sticky !important;
    top: 24px !important;
}

/* Order review sticky position calculations */
body.woocommerce-checkout form.checkout #order_review_heading {
    top: 24px !important;
}

body.woocommerce-checkout form.checkout #order_review {
    top: 80px !important;
}

/* ============ SIDEBAR CARD STYLING (basic) ============ */
body.woocommerce-checkout form.checkout #order_review {
    background-color: rgba(255, 255, 255, 0.4);
    border: 1px solid rgba(26, 22, 18, 0.06);
    border-radius: 2px;
    padding: 24px !important;
}

/* Order review heading */
body.woocommerce-checkout form.checkout #order_review_heading {
    font-family: var(--font-display) !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    margin-bottom: 16px !important;
    color: var(--color-charcoal) !important;
}

/* ============ MOBILE RESPONSIVE ============ */
@media (max-width: 768px) {
    body.woocommerce-checkout .entry-content {
        padding: 0 16px !important;
    }
    
    body.woocommerce-checkout .entry-header {
        padding: 32px 16px 24px;
    }
    
    body.woocommerce-checkout .entry-title {
        font-size: 1.75rem !important;
    }
    
    /* Stack to single column on mobile */
    body.woocommerce-checkout form.checkout {
        display: block !important;
        gap: 0 !important;
    }
    
    body.woocommerce-checkout form.checkout #customer_details,
    body.woocommerce-checkout form.checkout #order_review_heading,
    body.woocommerce-checkout form.checkout #order_review {
        grid-column: unset !important;
        grid-row: unset !important;
        position: static !important;
        margin-bottom: 32px !important;
    }
}


/* ============================================
   CHECKOUT PAGE - CLASSIC PHASE C: FORM STYLING
   ============================================ */

/* ============ FORM LABELS ============ */
body.woocommerce-checkout form.checkout .form-row label,
body.woocommerce-checkout form.checkout label.woocommerce-form__label-for-checkbox {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: rgba(26, 22, 18, 0.7) !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.02em !important;
    display: block !important;
}

/* Required asterisk */
body.woocommerce-checkout form.checkout .required {
    color: var(--color-gold) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

/* ============ FORM INPUTS ============ */
body.woocommerce-checkout form.checkout input[type="text"],
body.woocommerce-checkout form.checkout input[type="email"],
body.woocommerce-checkout form.checkout input[type="tel"],
body.woocommerce-checkout form.checkout input[type="number"],
body.woocommerce-checkout form.checkout input[type="password"],
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
    border: 1px solid rgba(26, 22, 18, 0.15) !important;
    background-color: #FFFFFF !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    color: var(--color-charcoal) !important;
    border-radius: 2px !important;
    padding: 12px 14px !important;
    height: auto !important;
    line-height: 1.4 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Textarea specific */
body.woocommerce-checkout form.checkout textarea {
    min-height: 100px !important;
    resize: vertical !important;
}

/* Select2 (used by WC for country/state) - inner alignment */
body.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
    height: 48px !important;
    line-height: 48px !important;
    padding: 0 14px !important;
}

body.woocommerce-checkout form.checkout .select2-container .select2-selection__rendered {
    line-height: 48px !important;
    padding-left: 0 !important;
    color: var(--color-charcoal) !important;
}

body.woocommerce-checkout form.checkout .select2-container .select2-selection__arrow {
    height: 48px !important;
}

/* ============ FOCUS STATES (Gold) ============ */
body.woocommerce-checkout form.checkout input:focus,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout form.checkout .select2-container--focus .select2-selection--single,
body.woocommerce-checkout form.checkout .select2-container--open .select2-selection--single {
    border-color: var(--color-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px var(--color-gold) !important;
}

/* ============ PLACEHOLDERS ============ */
body.woocommerce-checkout form.checkout input::placeholder,
body.woocommerce-checkout form.checkout textarea::placeholder {
    color: rgba(26, 22, 18, 0.4) !important;
    font-family: var(--font-body) !important;
}

/* ============ FORM ROWS SPACING ============ */
body.woocommerce-checkout form.checkout .form-row {
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout form.checkout .form-row-first,
body.woocommerce-checkout form.checkout .form-row-last {
    width: calc(50% - 8px) !important;
    margin-bottom: 18px !important;
}

body.woocommerce-checkout form.checkout .form-row-first {
    float: left !important;
    margin-right: 16px !important;
}

body.woocommerce-checkout form.checkout .form-row-last {
    float: right !important;
    margin-right: 0 !important;
}

/* Clear after form-row pairs */
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper::after,
body.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper::after,
body.woocommerce-checkout form.checkout .woocommerce-additional-fields__field-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

/* ============ SECTION HEADINGS ============ */
/* "Στοιχεία χρέωσης" & similar */
body.woocommerce-checkout form.checkout h3,
body.woocommerce-checkout form.checkout #ship-to-different-address {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--color-charcoal) !important;
    margin: 0 0 24px 0 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.1) !important;
}

/* "Αποστολή σε διαφορετική διεύθυνση" specific */
body.woocommerce-checkout form.checkout #ship-to-different-address label {
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--color-charcoal) !important;
    margin: 0 !important;
}

/* ============ CHECKBOXES ============ */
body.woocommerce-checkout form.checkout input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--color-gold) !important;
    cursor: pointer !important;
    margin-right: 8px !important;
}

body.woocommerce-checkout form.checkout label.checkbox,
body.woocommerce-checkout form.checkout label.woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 0.9rem !important;
    color: var(--color-charcoal) !important;
    line-height: 1.5 !important;
}

/* ============ COUPON & LOGIN NOTICES ============ */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle {
    margin-bottom: 24px !important;
}

body.woocommerce-checkout .woocommerce-info {
    background-color: rgba(201, 168, 117, 0.08) !important;
    border-top: 2px solid var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    border-radius: 2px !important;
    padding: 14px 18px !important;
}

body.woocommerce-checkout .woocommerce-info a {
    color: var(--color-gold) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

body.woocommerce-checkout .woocommerce-info a:hover {
    color: var(--color-charcoal) !important;
}


/* ============================================
   CHECKOUT PAGE - CLASSIC PHASE D: BUTTONS & POLISH
   ============================================ */

/* ============ PLACE ORDER BUTTON (Primary CTA) ============ */
/* "Αποστολή παραγγελίας" - solid gold CTA */
body.woocommerce-checkout form.checkout #place_order,
body.woocommerce-checkout form.checkout button.button.alt,
body.woocommerce-checkout form.checkout button[name="woocommerce_checkout_place_order"] {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    border: 1px solid var(--color-gold) !important;
    padding: 16px 32px !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    width: 100% !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    cursor: pointer !important;
    text-shadow: none !important;
    margin-top: 16px !important;
}

body.woocommerce-checkout form.checkout #place_order:hover,
body.woocommerce-checkout form.checkout button.button.alt:hover {
    background-color: var(--color-charcoal) !important;
    color: var(--color-gold) !important;
    border-color: var(--color-charcoal) !important;
}

/* Disabled state */
body.woocommerce-checkout form.checkout #place_order:disabled,
body.woocommerce-checkout form.checkout #place_order[disabled] {
    background-color: rgba(201, 168, 117, 0.4) !important;
    border-color: rgba(201, 168, 117, 0.4) !important;
    color: rgba(26, 22, 18, 0.5) !important;
    cursor: not-allowed !important;
}

/* ============ PAYMENT BOX ============ */
body.woocommerce-checkout form.checkout #payment {
    background-color: transparent !important;
    border-top: 1px solid rgba(26, 22, 18, 0.1) !important;
    padding: 24px 0 0 0 !important;
    margin-top: 24px !important;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
    list-style: none !important;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods li {
    background-color: transparent !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.05) !important;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods li:last-child {
    border-bottom: none !important;
}

body.woocommerce-checkout form.checkout #payment ul.payment_methods label {
    font-family: var(--font-body) !important;
    color: var(--color-charcoal) !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

body.woocommerce-checkout form.checkout #payment .payment_box {
    background-color: rgba(255, 255, 255, 0.5) !important;
    color: var(--color-charcoal) !important;
    border-radius: 2px !important;
    padding: 14px 18px !important;
    margin: 12px 0 0 0 !important;
}

body.woocommerce-checkout form.checkout #payment .payment_box::before {
    display: none !important;
}

/* ============ ORDER TABLE STYLING ============ */
body.woocommerce-checkout form.checkout table.shop_table.woocommerce-checkout-review-order-table {
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    background-color: transparent !important;
}

/* Table headers - "Προϊόν" / "Υποσύνολο" */
body.woocommerce-checkout form.checkout table.shop_table thead th {
    font-family: var(--font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(26, 22, 18, 0.6) !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.1) !important;
    background-color: transparent !important;
    text-align: left !important;
}

body.woocommerce-checkout form.checkout table.shop_table thead th:last-child {
    text-align: right !important;
}

/* Product rows */
body.woocommerce-checkout form.checkout table.shop_table tbody tr.cart_item td {
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.06) !important;
    background-color: transparent !important;
    font-family: var(--font-body) !important;
    color: var(--color-charcoal) !important;
    font-size: 0.9rem !important;
    vertical-align: top !important;
}

body.woocommerce-checkout form.checkout table.shop_table tbody tr.cart_item td.product-total {
    text-align: right !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout form.checkout table.shop_table tbody tr.cart_item .product-name {
    color: var(--color-charcoal) !important;
}

body.woocommerce-checkout form.checkout table.shop_table tbody tr.cart_item .product-quantity {
    color: rgba(26, 22, 18, 0.5) !important;
    margin-left: 4px !important;
    font-size: 0.85rem !important;
}

/* Footer rows - Subtotal, Shipping */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr td,
body.woocommerce-checkout form.checkout table.shop_table tfoot tr th {
    padding: 12px 0 !important;
    border: none !important;
    background-color: transparent !important;
    font-family: var(--font-body) !important;
    color: var(--color-charcoal) !important;
    font-size: 0.9rem !important;
}

body.woocommerce-checkout form.checkout table.shop_table tfoot tr th {
    color: rgba(26, 22, 18, 0.7) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

body.woocommerce-checkout form.checkout table.shop_table tfoot tr td {
    text-align: right !important;
    font-weight: 500 !important;
}

/* Final total row - emphasis */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total th,
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total td {
    padding-top: 16px !important;
    border-top: 1px solid rgba(26, 22, 18, 0.1) !important;
    margin-top: 8px !important;
}

body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total th {
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--color-charcoal) !important;
}

body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total td {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: var(--color-charcoal) !important;
}

/* ============ TERMS & PRIVACY POLICY ============ */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 16px 0 !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text p {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.7) !important;
    line-height: 1.5 !important;
    margin: 0 0 12px 0 !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--color-gold) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}


/* ============================================
   CHECKOUT PAGE - CLASSIC PHASE E: MOBILE POLISH
   ============================================ */

@media (max-width: 768px) {
    
    /* ============ TITLE & HEADER ============ */
    
    body.woocommerce-checkout .entry-title {
        font-size: 1.75rem !important;
    }
    
    body.woocommerce-checkout .entry-header {
        padding: 32px 16px 24px !important;
    }
    
    body.woocommerce-checkout .entry-content {
        padding: 0 16px !important;
    }
    
    /* ============ FORM-ROW FIRST/LAST STACK ON MOBILE ============ */
    
    body.woocommerce-checkout form.checkout .form-row-first,
    body.woocommerce-checkout form.checkout .form-row-last {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 18px !important;
    }
    
    /* ============ SECTION HEADINGS ============ */
    
    body.woocommerce-checkout form.checkout h3,
    body.woocommerce-checkout form.checkout #ship-to-different-address {
        font-size: 0.9rem !important;
        margin: 0 0 18px 0 !important;
        padding-bottom: 12px !important;
    }
    
    /* ============ INPUTS - LARGER TAP TARGETS ============ */
    
    body.woocommerce-checkout form.checkout input[type="text"],
    body.woocommerce-checkout form.checkout input[type="email"],
    body.woocommerce-checkout form.checkout input[type="tel"],
    body.woocommerce-checkout form.checkout input[type="number"],
    body.woocommerce-checkout form.checkout input[type="password"],
    body.woocommerce-checkout form.checkout textarea,
    body.woocommerce-checkout form.checkout select,
    body.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
        padding: 14px 16px !important;
        font-size: 16px !important; /* Prevents iOS zoom on focus */
        min-height: 48px !important;
    }
    
    /* Select2 mobile sizing */
    body.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
        height: 50px !important;
        line-height: 50px !important;
    }
    
    body.woocommerce-checkout form.checkout .select2-container .select2-selection__rendered {
        line-height: 50px !important;
    }
    
    body.woocommerce-checkout form.checkout .select2-container .select2-selection__arrow {
        height: 50px !important;
    }
    
    /* ============ SIDEBAR - REMOVE STICKY ON MOBILE ============ */
    
    body.woocommerce-checkout form.checkout #order_review_heading,
    body.woocommerce-checkout form.checkout #order_review {
        position: static !important;
        top: auto !important;
    }
    
    /* Sidebar padding adjusted for mobile */
    body.woocommerce-checkout form.checkout #order_review {
        padding: 20px 16px !important;
    }
    
    /* ============ ORDER TABLE ============ */
    
    body.woocommerce-checkout form.checkout table.shop_table tbody tr.cart_item td {
        padding: 12px 0 !important;
        font-size: 0.85rem !important;
    }
    
    body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total td {
        font-size: 1.15rem !important;
    }
    
    body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total th {
        font-size: 0.95rem !important;
    }
    
    /* ============ PAYMENT BOX ============ */
    
    body.woocommerce-checkout form.checkout #payment {
        padding: 20px 0 0 0 !important;
        margin-top: 20px !important;
    }
    
    /* ============ PLACE ORDER BUTTON - touch-friendly ============ */
    
    body.woocommerce-checkout form.checkout #place_order,
    body.woocommerce-checkout form.checkout button.button.alt {
        padding: 18px 24px !important;
        font-size: 1rem !important;
        min-height: 56px !important;
        margin-top: 20px !important;
    }
    
    /* ============ CHECKBOX TOUCH TARGETS ============ */
    
    body.woocommerce-checkout form.checkout input[type="checkbox"] {
        width: 22px !important;
        height: 22px !important;
        flex-shrink: 0 !important;
    }
    
    /* ============ COUPON NOTICE ============ */
    
    body.woocommerce-checkout .woocommerce-info {
        font-size: 0.9rem !important;
        padding: 12px 14px !important;
    }
}

/* ============ TABLET BREAKPOINT (intermediate) ============ */
@media (min-width: 769px) and (max-width: 1024px) {
    
    /* Reduce side padding slightly */
    body.woocommerce-checkout .entry-content {
        padding: 0 24px !important;
    }
    
    /* Reduce gap between columns */
    body.woocommerce-checkout form.checkout {
        gap: 32px !important;
    }
    
    /* Sidebar smaller */
    body.woocommerce-checkout form.checkout {
        grid-template-columns: 1fr 40% !important;
    }
}


/* ============================================
   PRODUCT PAGE - PHASE A: LAYOUT & SPACING
   ============================================ */

/* ============ MAIN CONTAINER ============ */
/* Constrain single product page width */
body.single-product .entry-content,
body.single-product main .site-main {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}

/* Header / breadcrumb spacing */
body.single-product .woocommerce-breadcrumb {
    max-width: 1280px;
    margin: 0 auto 32px auto !important;
    padding: 32px 32px 0 !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.6) !important;
    letter-spacing: 0.02em !important;
}

body.single-product .woocommerce-breadcrumb a {
    color: var(--color-charcoal) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

body.single-product .woocommerce-breadcrumb a:hover {
    color: var(--color-gold) !important;
}

/* ============ 2-COLUMN PRODUCT LAYOUT ============ */
/* Use CSS Grid for gallery + summary split */
body.single-product div.product {
    display: grid !important;
    grid-template-columns: 45% 1fr !important;
    gap: 64px !important;
    align-items: start !important;
    margin-bottom: 80px !important;
    position: relative !important;
}

/* Sale badge positioning */
body.single-product div.product span.onsale {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    z-index: 2 !important;
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 6px 14px !important;
    border-radius: 2px !important;
    min-height: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* Left column: Product Gallery */
body.single-product div.product .woocommerce-product-gallery {
    grid-column: 1 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
}

/* Right column: Summary */
body.single-product div.product .summary {
    grid-column: 2 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    padding-top: 16px !important;
}

/* ============ GALLERY PLACEHOLDER (without images) ============ */
body.single-product div.product .woocommerce-product-gallery--without-images {
    aspect-ratio: 1 / 1 !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(26, 22, 18, 0.08) !important;
    border-radius: 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product div.product .woocommerce-product-gallery__image--placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.3 !important;
}

body.single-product div.product .woocommerce-product-gallery__image--placeholder img {
    max-width: 60% !important;
    max-height: 60% !important;
    width: auto !important;
    height: auto !important;
}

/* ============ TABS SECTION SPACING ============ */
body.single-product .woocommerce-tabs {
    margin: 0 0 80px 0 !important;
    padding: 0 !important;
    border-top: 1px solid rgba(26, 22, 18, 0.08) !important;
    padding-top: 48px !important;
}

/* ============ RELATED PRODUCTS SPACING ============ */
body.single-product .related.products {
    margin: 0 !important;
    padding-top: 48px !important;
    border-top: 1px solid rgba(26, 22, 18, 0.08) !important;
}

body.single-product .related.products > h2 {
    font-family: var(--font-display) !important;
    font-size: 2rem !important;
    font-weight: 400 !important;
    letter-spacing: -0.005em !important;
    margin-bottom: 40px !important;
    text-align: center !important;
    color: var(--color-charcoal) !important;
}

/* ============ GRID OVERFLOW FIX ============ */
/* Tabs and related products should span full width (not be grid columns) */
body.single-product div.product > .woocommerce-tabs,
body.single-product div.product > .related.products {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}


/* ============================================
   PRODUCT PAGE - PHASE B: TYPOGRAPHY
   ============================================ */

/* ============ PRODUCT TITLE ============ */
body.single-product div.product .product_title {
    font-family: var(--font-display) !important;
    font-size: 2.5rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    color: var(--color-charcoal) !important;
    margin: 0 0 16px 0 !important;
}

/* ============ PRICE - SALE & REGULAR ============ */
body.single-product div.product .summary .price {
    font-family: var(--font-body) !important;
    font-size: 1.5rem !important;
    font-weight: 500 !important;
    color: var(--color-charcoal) !important;
    margin: 0 0 24px 0 !important;
    line-height: 1.2 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

/* Regular price (struck through during sale) */
body.single-product div.product .summary .price del {
    color: rgba(26, 22, 18, 0.4) !important;
    font-weight: 400 !important;
    font-size: 1.1rem !important;
    text-decoration: line-through !important;
    text-decoration-thickness: 1px !important;
}

body.single-product div.product .summary .price del .amount,
body.single-product div.product .summary .price del bdi {
    color: rgba(26, 22, 18, 0.4) !important;
}

/* Sale price (the active price) */
body.single-product div.product .summary .price ins {
    background-color: transparent !important;
    color: var(--color-gold) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body.single-product div.product .summary .price ins .amount,
body.single-product div.product .summary .price ins bdi {
    color: var(--color-gold) !important;
}

/* Regular price (no sale) */
body.single-product div.product .summary .price > .amount:not(del .amount):not(ins .amount) {
    color: var(--color-charcoal) !important;
    font-weight: 500 !important;
}

/* ============ SHORT DESCRIPTION ============ */
body.single-product div.product .woocommerce-product-details__short-description {
    margin: 0 0 32px 0 !important;
    padding: 24px 0 !important;
    border-top: 1px solid rgba(26, 22, 18, 0.08) !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.08) !important;
}

body.single-product div.product .woocommerce-product-details__short-description p {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: rgba(26, 22, 18, 0.75) !important;
    margin: 0 !important;
}

/* ============ PRODUCT META (Categories, Tags) ============ */
body.single-product div.product .product_meta {
    margin: 24px 0 0 0 !important;
    padding: 24px 0 0 0 !important;
    border-top: 1px solid rgba(26, 22, 18, 0.08) !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.6) !important;
}

body.single-product div.product .product_meta > span {
    display: block !important;
    margin-bottom: 8px !important;
    letter-spacing: 0.02em !important;
}

body.single-product div.product .product_meta > span::first-line {
    text-transform: uppercase !important;
    font-weight: 500 !important;
    color: var(--color-charcoal) !important;
    letter-spacing: 0.08em !important;
    font-size: 0.75rem !important;
}

/* Category/Tag links */
body.single-product div.product .product_meta a {
    color: var(--color-charcoal) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

body.single-product div.product .product_meta a:hover {
    color: var(--color-gold) !important;
}

body.single-product div.product .product_meta .posted_in,
body.single-product div.product .product_meta .tagged_as {
    font-size: 0.85rem !important;
}

/* SKU if present */
body.single-product div.product .product_meta .sku_wrapper {
    color: rgba(26, 22, 18, 0.5) !important;
    font-size: 0.8rem !important;
}


/* ============================================
   PRODUCT PAGE - PHASE C: ADD TO CART
   ============================================ */

/* ============ FORM.CART LAYOUT ============ */
body.single-product div.product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin: 0 0 24px 0 !important;
}

/* ============ QUANTITY SELECTOR ============ */
body.single-product div.product form.cart .quantity {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid rgba(26, 22, 18, 0.15) !important;
    border-radius: 2px !important;
    background-color: #FFFFFF !important;
    overflow: hidden !important;
    max-width: 100px !important;
    height: 52px !important;
}

body.single-product div.product form.cart .quantity .qty {
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    width: 100% !important;
    height: 100% !important;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    color: var(--color-charcoal) !important;
    padding: 0 8px !important;
    -moz-appearance: textfield !important;
    box-shadow: none !important;
}

body.single-product div.product form.cart .quantity .qty:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Remove default number input spinners */
body.single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button,
body.single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* ============ ADD TO CART BUTTON (Primary CTA) ============ */
body.single-product div.product form.cart .single_add_to_cart_button,
body.single-product div.product form.cart button.single_add_to_cart_button,
body.single-product div.product form.cart .button.alt {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    border: 1px solid var(--color-gold) !important;
    padding: 16px 40px !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    min-height: 52px !important;
    flex: 1 !important;
    min-width: 200px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body.single-product div.product form.cart .single_add_to_cart_button:hover,
body.single-product div.product form.cart button.single_add_to_cart_button:hover {
    background-color: var(--color-charcoal) !important;
    color: var(--color-gold) !important;
    border-color: var(--color-charcoal) !important;
}

/* Disabled state (out of stock or similar) */
body.single-product div.product form.cart .single_add_to_cart_button:disabled,
body.single-product div.product form.cart .single_add_to_cart_button[disabled] {
    background-color: rgba(201, 168, 117, 0.4) !important;
    border-color: rgba(201, 168, 117, 0.4) !important;
    color: rgba(26, 22, 18, 0.5) !important;
    cursor: not-allowed !important;
}

/* ============ ADD TO WISHLIST (TI Wishlist) ============ */
body.single-product div.product form.cart .tinv-wraper.tinv-wishlist,
body.single-product div.product .tinv-wishlist.tinvwl-after-add-to-cart {
    width: 100% !important;
    margin: 16px 0 0 0 !important;
}

body.single-product .tinv-wishlist a,
body.single-product .tinv-wishlist .tinvwl_add_to_wishlist_button {
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important;
    color: rgba(26, 22, 18, 0.7) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 0 !important;
}

body.single-product .tinv-wishlist a:hover,
body.single-product .tinv-wishlist .tinvwl_add_to_wishlist_button:hover {
    color: var(--color-gold) !important;
}

/* Wishlist heart icon */
body.single-product .tinv-wishlist .tinvwl_add_to_wishlist-text i,
body.single-product .tinv-wishlist svg {
    transition: all 0.2s ease !important;
}


/* ============================================
   PRODUCT PAGE - PHASE D: TABS
   ============================================ */

/* ============ TABS CONTAINER ============ */
body.single-product .woocommerce-tabs {
    background-color: transparent !important;
}

/* ============ TABS NAVIGATION ============ */
body.single-product .woocommerce-tabs ul.tabs {
    list-style: none !important;
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.12) !important;
    background-color: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: -1px !important;
}

body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
    border: none !important;
}

/* Tab link styling */
body.single-product .woocommerce-tabs ul.tabs li a {
    display: inline-block !important;
    padding: 16px 24px !important;
    color: rgba(26, 22, 18, 0.6) !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px !important;
}

body.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--color-charcoal) !important;
}

/* Active tab */
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li.active {
    color: var(--color-charcoal) !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
    border-bottom-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    font-weight: 500 !important;
}

/* ============ TABS PANELS ============ */
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Hide redundant panel heading "Περιγραφή" (since tab already says it) */
body.single-product .woocommerce-tabs .panel > h2:first-child {
    display: none !important;
}

/* Panel content text */
body.single-product .woocommerce-tabs .panel p {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
    color: rgba(26, 22, 18, 0.8) !important;
    margin: 0 0 16px 0 !important;
}

body.single-product .woocommerce-tabs .panel p:last-child {
    margin-bottom: 0 !important;
}

/* Panel headings (if multiple inside) */
body.single-product .woocommerce-tabs .panel h3,
body.single-product .woocommerce-tabs .panel h4 {
    font-family: var(--font-display) !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    color: var(--color-charcoal) !important;
    margin: 24px 0 12px 0 !important;
    letter-spacing: -0.005em !important;
}

/* ============ ADDITIONAL INFO TABLE ============ */
body.single-product .woocommerce-tabs .shop_attributes,
body.single-product .woocommerce-product-attributes {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: none !important;
    background-color: transparent !important;
}

body.single-product .woocommerce-tabs .shop_attributes th,
body.single-product .woocommerce-product-attributes th {
    background-color: transparent !important;
    color: rgba(26, 22, 18, 0.6) !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.08) !important;
    width: 30% !important;
    text-align: left !important;
}

body.single-product .woocommerce-tabs .shop_attributes td,
body.single-product .woocommerce-product-attributes td {
    background-color: transparent !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.08) !important;
    font-style: normal !important;
}

body.single-product .woocommerce-tabs .shop_attributes p,
body.single-product .woocommerce-product-attributes p {
    margin: 0 !important;
}

/* ============================================
   PRODUCT PAGE - PHASE E: RELATED PRODUCTS
   ============================================ */

/* ============ RELATED PRODUCTS GRID ============ */
body.single-product .related.products ul.products,
body.single-product .related.products .products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 32px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after {
    display: none !important;
}

/* ============ PRODUCT CARDS ============ */
body.single-product .related.products ul.products li.product,
body.single-product .related.products .products .product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    list-style: none !important;
    background-color: transparent !important;
    text-align: left !important;
    position: relative !important;
}
body.single-product .related.products ul.products li.product > a,
body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* ============ CARD IMAGE / PLACEHOLDER ============ */
body.single-product .related.products ul.products li.product img,
body.single-product .related.products ul.products li.product .woocommerce-loop-product__image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin: 0 0 16px 0 !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(26, 22, 18, 0.08) !important;
    border-radius: 2px !important;
    transition: opacity 0.2s ease !important;
}
body.single-product .related.products ul.products li.product:hover img {
    opacity: 0.85 !important;
}
body.single-product .related.products ul.products li.product span.onsale {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 2 !important;
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    border-radius: 2px !important;
    min-height: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* ============ CARD TITLE ============ */
body.single-product .related.products ul.products li.product h2,
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: var(--color-charcoal) !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease !important;
}
body.single-product .related.products ul.products li.product:hover .woocommerce-loop-product__title,
body.single-product .related.products ul.products li.product:hover h2 {
    color: var(--color-gold) !important;
}

/* ============ CARD PRICE ============ */
body.single-product .related.products ul.products li.product .price {
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    color: var(--color-charcoal) !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    display: block !important;
}
body.single-product .related.products ul.products li.product .price del {
    color: rgba(26, 22, 18, 0.4) !important;
    font-weight: 400 !important;
    font-size: 0.85rem !important;
    margin-right: 6px !important;
}
body.single-product .related.products ul.products li.product .price ins {
    background-color: transparent !important;
    color: var(--color-gold) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

/* ============ CARD ADD TO CART BUTTON ============ */
body.single-product .related.products ul.products li.product a.button,
body.single-product .related.products ul.products li.product .add_to_cart_button,
body.single-product .related.products ul.products li.product .ajax_add_to_cart {
    display: inline-block !important;
    background-color: transparent !important;
    color: var(--color-charcoal) !important;
    border: 1px solid var(--color-charcoal) !important;
    padding: 10px 20px !important;
    font-family: var(--font-body) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    width: auto !important;
    box-shadow: none !important;
    cursor: pointer !important;
}
body.single-product .related.products ul.products li.product a.button:hover,
body.single-product .related.products ul.products li.product .add_to_cart_button:hover {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    border-color: var(--color-gold) !important;
}
body.single-product .related.products ul.products li.product a.added_to_cart {
    display: inline-block !important;
    margin-top: 8px !important;
    margin-left: 12px !important;
    color: var(--color-gold) !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    text-decoration: underline !important;
}

/* ============ Wishlist on card ============ */
body.single-product .related.products ul.products li.product .tinv-wishlist {
    margin: 8px 0 0 0 !important;
}

/* ============================================
   PRODUCT PAGE - PHASE F: MOBILE RESPONSIVE
   ============================================ */

/* ============ MOBILE (<=768px) ============ */
@media (max-width: 768px) {

    /* ============ Container & Breadcrumb ============ */
    body.single-product .entry-content,
    body.single-product main .site-main {
        padding: 0 16px !important;
    }
    body.single-product .woocommerce-breadcrumb {
        padding: 20px 16px 0 !important;
        margin-bottom: 24px !important;
        font-size: 0.8rem !important;
    }

    /* ============ Product Layout - Stack ============ */
    body.single-product div.product {
        display: block !important;
        margin-bottom: 48px !important;
    }
    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary {
        grid-column: unset !important;
        width: 100% !important;
        margin-bottom: 32px !important;
        padding-top: 0 !important;
    }
    body.single-product div.product .summary {
        margin-bottom: 0 !important;
    }

    /* ============ Title & Price - Mobile sizes ============ */
    body.single-product div.product .product_title {
        font-size: 1.75rem !important;
        margin-bottom: 12px !important;
    }
    body.single-product div.product .summary .price {
        font-size: 1.25rem !important;
        margin-bottom: 20px !important;
    }
    body.single-product div.product .summary .price del {
        font-size: 1rem !important;
    }

    /* ============ Short description ============ */
    body.single-product div.product .woocommerce-product-details__short-description {
        padding: 20px 0 !important;
        margin-bottom: 24px !important;
    }
    body.single-product div.product .woocommerce-product-details__short-description p {
        font-size: 0.95rem !important;
    }

    /* ============ Add to Cart - Stack on mobile ============ */
    body.single-product div.product form.cart {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }
    body.single-product div.product form.cart .quantity {
        flex: 0 0 100px !important;
        max-width: 100px !important;
    }
    body.single-product div.product form.cart .single_add_to_cart_button {
        flex: 1 !important;
        min-width: 0 !important;
        padding: 16px 24px !important;
        font-size: 0.9rem !important;
        min-height: 56px !important;
    }

    /* ============ Product Meta ============ */
    body.single-product div.product .product_meta {
        padding-top: 20px !important;
        margin-top: 20px !important;
    }

    /* ============ Tabs Mobile - Horizontal scroll ============ */
    body.single-product .woocommerce-tabs {
        padding-top: 32px !important;
        margin-bottom: 48px !important;
    }
    body.single-product .woocommerce-tabs ul.tabs {
        margin-bottom: 24px !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }
    body.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
        display: none !important;
    }
    body.single-product .woocommerce-tabs ul.tabs li a {
        padding: 12px 16px !important;
        font-size: 0.8rem !important;
        white-space: nowrap !important;
    }
    body.single-product .woocommerce-tabs .panel p {
        font-size: 0.95rem !important;
        line-height: 1.7 !important;
    }

    /* ============ Attributes Table Mobile ============ */
    body.single-product .woocommerce-tabs .shop_attributes th,
    body.single-product .woocommerce-tabs .shop_attributes td {
        padding: 12px 0 !important;
        font-size: 0.85rem !important;
    }

    /* ============ Related Products Mobile - 2 columns ============ */
    body.single-product .related.products {
        padding-top: 32px !important;
    }
    body.single-product .related.products > h2 {
        font-size: 1.5rem !important;
        margin-bottom: 24px !important;
    }
    body.single-product .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
    body.single-product .related.products ul.products li.product h2,
    body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.85rem !important;
    }
    body.single-product .related.products ul.products li.product .price {
        font-size: 0.85rem !important;
    }
    body.single-product .related.products ul.products li.product a.button {
        padding: 8px 14px !important;
        font-size: 0.7rem !important;
        letter-spacing: 0.05em !important;
        width: 100% !important;
        text-align: center !important;
    }

    /* Sale badge smaller on mobile */
    body.single-product div.product span.onsale {
        font-size: 0.7rem !important;
        padding: 4px 10px !important;
        top: 12px !important;
        left: 12px !important;
    }
}

/* ============ TABLET (769-1024px) ============ */
@media (min-width: 769px) and (max-width: 1024px) {

    body.single-product .entry-content,
    body.single-product main .site-main {
        padding: 0 24px !important;
    }

    /* Tighter gap on tablet */
    body.single-product div.product {
        gap: 40px !important;
        grid-template-columns: 40% 1fr !important;
    }

    /* Title slightly smaller */
    body.single-product div.product .product_title {
        font-size: 2.25rem !important;
    }

    /* Related: 3 columns on tablet */
    body.single-product .related.products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 24px !important;
    }
}


/* ============================================
   FIX: BROKEN WC INFO ICONS
   ============================================
   WooCommerce 10.7 has empty content "" / "" on ::before
   which renders as a broken rectangle overlapping text.
   We hide it entirely for cleaner premium look. */
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-message::before,
.wc-block-components-notice-banner::before {
    display: none !important;
    content: none !important;
}

/* Reset padding now that icon is removed */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-cart .woocommerce-info,
body.woocommerce .woocommerce-info,
body.woocommerce-page .woocommerce-info {
    padding-left: 18px !important;
}

/* Same for error & message */
body.woocommerce .woocommerce-error,
body.woocommerce .woocommerce-message,
body.woocommerce-page .woocommerce-error,
body.woocommerce-page .woocommerce-message {
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    background-color: rgba(201, 168, 117, 0.08) !important;
    border-top: 2px solid var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    border-radius: 2px !important;
}


/* ============================================
   FIX: HIDE SIDEBAR ON WC PAGES
   ============================================
   PHP approach with generate_sidebar_layout filter
   has timing issues with is_woocommerce() on shop
   archive and single product. CSS hide is reliable. */

/* Hide the right sidebar on WooCommerce content pages */
body.post-type-archive-product #right-sidebar,
body.single-product #right-sidebar,
body.tax-product_cat #right-sidebar,
body.tax-product_tag #right-sidebar {
    display: none !important;
}

/* Expand main content to full width when sidebar is hidden */
body.post-type-archive-product .site-content,
body.single-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content {
    display: block !important;
}

body.post-type-archive-product .content-area,
body.single-product .content-area,
body.tax-product_cat .content-area,
body.tax-product_tag .content-area,
body.post-type-archive-product #primary,
body.single-product #primary,
body.tax-product_cat #primary,
body.tax-product_tag #primary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
}


/* ============================================
   SHOP ARCHIVE - PHASE A: LAYOUT & SPACING
   ============================================ */

/* ============ MAIN CONTAINER ============ */
/* Constrain shop archive to consistent max-width */
body.post-type-archive-product .entry-content,
body.tax-product_cat .entry-content,
body.tax-product_tag .entry-content {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}

/* ============ BREADCRUMB ============ */
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb {
    margin: 32px 0 24px 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.6) !important;
    letter-spacing: 0.02em !important;
}
body.post-type-archive-product .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a,
body.tax-product_tag .woocommerce-breadcrumb a {
    color: var(--color-charcoal) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
body.post-type-archive-product .woocommerce-breadcrumb a:hover,
body.tax-product_cat .woocommerce-breadcrumb a:hover,
body.tax-product_tag .woocommerce-breadcrumb a:hover {
    color: var(--color-gold) !important;
}

/* ============ PRODUCTS HEADER ============ */
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
    margin: 0 0 32px 0 !important;
    padding: 0 0 24px 0 !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.08) !important;
}

/* Page title "Κατάστημα" */
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title,
body.post-type-archive-product h1.page-title,
body.tax-product_cat h1.page-title,
body.tax-product_tag h1.page-title {
    font-family: var(--font-display) !important;
    font-size: 2.5rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    color: var(--color-charcoal) !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Category description */
body.tax-product_cat .term-description,
body.tax-product_tag .term-description {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: rgba(26, 22, 18, 0.75) !important;
    margin: 16px 0 0 0 !important;
    max-width: 720px !important;
}

/* ============ TOOLBAR (Result count + Sort) ============ */
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.6) !important;
    letter-spacing: 0.02em !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: inline-block !important;
}
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: inline-block !important;
}
body.post-type-archive-product .entry-content > .woocommerce-result-count,
body.tax-product_cat .entry-content > .woocommerce-result-count,
body.tax-product_tag .entry-content > .woocommerce-result-count {
    width: auto !important;
}

/* WPC filter chips area */
body.post-type-archive-product .wpc-custom-selected-terms,
body.tax-product_cat .wpc-custom-selected-terms,
body.tax-product_tag .wpc-custom-selected-terms {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}


/* ============================================
   SHOP ARCHIVE - PHASE B: PRODUCT CARDS
   ============================================ */

/* ============ PRODUCTS GRID ============ */
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 40px 32px !important;
    list-style: none !important;
    margin: 32px 0 64px 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Remove WC default ::before/::after clearfix tricks */
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.tax-product_tag ul.products::before,
body.tax-product_cat ul.products::after {
    display: none !important;
}

/* ============ PRODUCT CARDS ============ */
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    list-style: none !important;
    background-color: transparent !important;
    text-align: left !important;
    position: relative !important;
    clear: none !important;
}

/* Reset WC default left/right margins on .first/.last */
body.post-type-archive-product ul.products li.product.first,
body.post-type-archive-product ul.products li.product.last,
body.tax-product_cat ul.products li.product.first,
body.tax-product_cat ul.products li.product.last,
body.tax-product_tag ul.products li.product.first,
body.tax-product_tag ul.products li.product.last {
    margin-left: 0 !important;
    margin-right: 0 !important;
    clear: none !important;
}

/* Product link wrapper */
body.post-type-archive-product ul.products li.product > a,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product > a,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product > a,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* ============ CARD IMAGES ============ */
body.post-type-archive-product ul.products li.product img,
body.tax-product_cat ul.products li.product img,
body.tax-product_tag ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin: 0 0 16px 0 !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(26, 22, 18, 0.08) !important;
    border-radius: 2px !important;
    transition: opacity 0.3s ease !important;
}
body.post-type-archive-product ul.products li.product:hover img,
body.tax-product_cat ul.products li.product:hover img,
body.tax-product_tag ul.products li.product:hover img {
    opacity: 0.85 !important;
}

/* Placeholder image specific (when no featured image) */
body.post-type-archive-product ul.products li.product img.woocommerce-placeholder,
body.tax-product_cat ul.products li.product img.woocommerce-placeholder,
body.tax-product_tag ul.products li.product img.woocommerce-placeholder {
    padding: 30% !important;
    opacity: 0.4 !important;
}

/* ============ CARD TITLE ============ */
body.post-type-archive-product ul.products li.product h2,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product h2,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product h2,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--color-charcoal) !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    transition: color 0.2s ease !important;
}
body.post-type-archive-product ul.products li.product:hover h2,
body.post-type-archive-product ul.products li.product:hover .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product:hover h2,
body.tax-product_cat ul.products li.product:hover .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product:hover h2,
body.tax-product_tag ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--color-gold) !important;
}

/* ============ CARD PRICE ============ */
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    color: var(--color-charcoal) !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* Regular price struck (during sale) */
body.post-type-archive-product ul.products li.product .price del,
body.tax-product_cat ul.products li.product .price del,
body.tax-product_tag ul.products li.product .price del {
    color: rgba(26, 22, 18, 0.4) !important;
    font-weight: 400 !important;
    font-size: 0.9rem !important;
    text-decoration: line-through !important;
    margin: 0 !important;
}
body.post-type-archive-product ul.products li.product .price del .amount,
body.tax-product_cat ul.products li.product .price del .amount,
body.tax-product_tag ul.products li.product .price del .amount {
    color: rgba(26, 22, 18, 0.4) !important;
}

/* Sale price (active) */
body.post-type-archive-product ul.products li.product .price ins,
body.tax-product_cat ul.products li.product .price ins,
body.tax-product_tag ul.products li.product .price ins {
    background-color: transparent !important;
    color: var(--color-gold) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
body.post-type-archive-product ul.products li.product .price ins .amount,
body.tax-product_cat ul.products li.product .price ins .amount,
body.tax-product_tag ul.products li.product .price ins .amount {
    color: var(--color-gold) !important;
}


/* ============================================
   SHOP ARCHIVE - PHASE C: BADGES & BUTTONS
   ============================================ */

/* ============ SALE BADGE ============ */
body.post-type-archive-product ul.products li.product span.onsale,
body.tax-product_cat ul.products li.product span.onsale,
body.tax-product_tag ul.products li.product span.onsale {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    z-index: 2 !important;
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 5px 12px !important;
    border-radius: 2px !important;
    min-height: auto !important;
    min-width: auto !important;
    width: auto !important;
    height: auto !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
    text-align: center !important;
}

/* ============ ADD TO CART BUTTON (Outlined) ============ */
body.post-type-archive-product ul.products li.product a.button,
body.post-type-archive-product ul.products li.product .add_to_cart_button,
body.post-type-archive-product ul.products li.product .ajax_add_to_cart,
body.tax-product_cat ul.products li.product a.button,
body.tax-product_cat ul.products li.product .add_to_cart_button,
body.tax-product_cat ul.products li.product .ajax_add_to_cart,
body.tax-product_tag ul.products li.product a.button,
body.tax-product_tag ul.products li.product .add_to_cart_button,
body.tax-product_tag ul.products li.product .ajax_add_to_cart {
    display: inline-block !important;
    background-color: transparent !important;
    color: var(--color-charcoal) !important;
    border: 1px solid var(--color-charcoal) !important;
    padding: 10px 20px !important;
    font-family: var(--font-body) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    text-align: center !important;
    line-height: 1.3 !important;
    text-shadow: none !important;
}
body.post-type-archive-product ul.products li.product a.button:hover,
body.post-type-archive-product ul.products li.product .add_to_cart_button:hover,
body.tax-product_cat ul.products li.product a.button:hover,
body.tax-product_cat ul.products li.product .add_to_cart_button:hover,
body.tax-product_tag ul.products li.product a.button:hover,
body.tax-product_tag ul.products li.product .add_to_cart_button:hover {
    background-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
    border-color: var(--color-gold) !important;
}

/* "Added" state link */
body.post-type-archive-product ul.products li.product a.added_to_cart,
body.tax-product_cat ul.products li.product a.added_to_cart,
body.tax-product_tag ul.products li.product a.added_to_cart {
    display: inline-block !important;
    margin: 8px 0 0 0 !important;
    color: var(--color-gold) !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
body.post-type-archive-product ul.products li.product a.added_to_cart:hover,
body.tax-product_cat ul.products li.product a.added_to_cart:hover,
body.tax-product_tag ul.products li.product a.added_to_cart:hover {
    color: var(--color-charcoal) !important;
}

/* Loading state */
body.post-type-archive-product ul.products li.product a.button.loading,
body.tax-product_cat ul.products li.product a.button.loading,
body.tax-product_tag ul.products li.product a.button.loading {
    opacity: 0.6 !important;
    pointer-events: none !important;
}

/* Added state on button */
body.post-type-archive-product ul.products li.product a.button.added,
body.tax-product_cat ul.products li.product a.button.added,
body.tax-product_tag ul.products li.product a.button.added {
    background-color: var(--color-gold) !important;
    border-color: var(--color-gold) !important;
    color: var(--color-charcoal) !important;
}

/* ============ WISHLIST LINK ============ */
body.post-type-archive-product ul.products li.product .tinv-wishlist,
body.tax-product_cat ul.products li.product .tinv-wishlist,
body.tax-product_tag ul.products li.product .tinv-wishlist {
    margin: 12px 0 0 0 !important;
}
body.post-type-archive-product ul.products li.product .tinv-wishlist a,
body.post-type-archive-product ul.products li.product .tinvwl_add_to_wishlist_button,
body.tax-product_cat ul.products li.product .tinv-wishlist a,
body.tax-product_cat ul.products li.product .tinvwl_add_to_wishlist_button,
body.tax-product_tag ul.products li.product .tinv-wishlist a,
body.tax-product_tag ul.products li.product .tinvwl_add_to_wishlist_button {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.7) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}
body.post-type-archive-product ul.products li.product .tinv-wishlist a:hover,
body.post-type-archive-product ul.products li.product .tinvwl_add_to_wishlist_button:hover,
body.tax-product_cat ul.products li.product .tinv-wishlist a:hover,
body.tax-product_tag ul.products li.product .tinv-wishlist a:hover {
    color: var(--color-gold) !important;
}


/* ============================================
   SHOP ARCHIVE - PHASE D: TOOLBAR (Result count + Sort)
   ============================================ */

/* ============ TOOLBAR WRAPPER ============ */
body.post-type-archive-product .entry-content,
body.tax-product_cat .entry-content,
body.tax-product_tag .entry-content {
    position: relative !important;
}

/* Move ordering to right & result count to left, both inline */
body.post-type-archive-product .woocommerce-result-count + .woocommerce-ordering,
body.tax-product_cat .woocommerce-result-count + .woocommerce-ordering,
body.tax-product_tag .woocommerce-result-count + .woocommerce-ordering {
    float: right !important;
    margin-left: auto !important;
}

body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    float: left !important;
    margin-top: 8px !important;
}

/* Clear after toolbar */
body.post-type-archive-product .woocommerce-ordering::after,
body.tax-product_cat .woocommerce-ordering::after,
body.tax-product_tag .woocommerce-ordering::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* ============ SORT DROPDOWN ============ */
body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-color: #FFFFFF !important;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231A1612' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 10px 7px !important;
    border: 1px solid rgba(26, 22, 18, 0.15) !important;
    border-radius: 2px !important;
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important;
    color: var(--color-charcoal) !important;
    padding: 10px 36px 10px 14px !important;
    min-width: 220px !important;
    height: auto !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: none !important;
}
body.post-type-archive-product .woocommerce-ordering select:hover,
body.tax-product_cat .woocommerce-ordering select:hover,
body.tax-product_tag .woocommerce-ordering select:hover {
    border-color: rgba(26, 22, 18, 0.3) !important;
}
body.post-type-archive-product .woocommerce-ordering select:focus,
body.tax-product_cat .woocommerce-ordering select:focus,
body.tax-product_tag .woocommerce-ordering select:focus {
    border-color: var(--color-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px var(--color-gold) !important;
}

/* ============ RESULT COUNT (refined) ============ */
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.6) !important;
    letter-spacing: 0.02em !important;
    line-height: 1.5 !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
}

/* ============ NO PRODUCTS FOUND notice ============ */
body.post-type-archive-product .woocommerce-no-products-found,
body.tax-product_cat .woocommerce-no-products-found,
body.tax-product_tag .woocommerce-no-products-found {
    padding: 48px 24px !important;
    text-align: center !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
    border: 1px solid rgba(26, 22, 18, 0.08) !important;
    border-radius: 2px !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
}
body.post-type-archive-product .woocommerce-no-products-found .woocommerce-info,
body.tax-product_cat .woocommerce-no-products-found .woocommerce-info,
body.tax-product_tag .woocommerce-no-products-found .woocommerce-info {
    background-color: transparent !important;
    border: none !important;
    color: rgba(26, 22, 18, 0.7) !important;
    padding: 0 !important;
}


/* ============================================
   SHOP ARCHIVE - PHASE E: MOBILE RESPONSIVE
   ============================================ */

/* ============ MOBILE (≤768px) ============ */
@media (max-width: 768px) {

    body.post-type-archive-product .entry-content,
    body.tax-product_cat .entry-content,
    body.tax-product_tag .entry-content {
        padding: 0 16px !important;
    }

    body.post-type-archive-product .wpc-custom-selected-terms,
    body.tax-product_cat .wpc-custom-selected-terms,
    body.tax-product_tag .wpc-custom-selected-terms {
        padding: 0 16px !important;
    }

    body.post-type-archive-product .woocommerce-breadcrumb,
    body.tax-product_cat .woocommerce-breadcrumb,
    body.tax-product_tag .woocommerce-breadcrumb {
        margin: 20px 0 16px 0 !important;
        font-size: 0.8rem !important;
    }

    body.post-type-archive-product .woocommerce-products-header,
    body.tax-product_cat .woocommerce-products-header,
    body.tax-product_tag .woocommerce-products-header {
        margin: 0 0 24px 0 !important;
        padding: 0 0 16px 0 !important;
    }

    body.post-type-archive-product .woocommerce-products-header__title,
    body.tax-product_cat .woocommerce-products-header__title,
    body.tax-product_tag .woocommerce-products-header__title,
    body.post-type-archive-product h1.page-title,
    body.tax-product_cat h1.page-title,
    body.tax-product_tag h1.page-title {
        font-size: 1.75rem !important;
    }

    /* Toolbar stack on mobile */
    body.post-type-archive-product .woocommerce-result-count,
    body.tax-product_cat .woocommerce-result-count,
    body.tax-product_tag .woocommerce-result-count {
        float: none !important;
        display: block !important;
        width: 100% !important;
        margin: 0 0 12px 0 !important;
    }

    body.post-type-archive-product .woocommerce-ordering,
    body.tax-product_cat .woocommerce-ordering,
    body.tax-product_tag .woocommerce-ordering {
        float: none !important;
        display: block !important;
        width: 100% !important;
        margin: 0 0 24px 0 !important;
    }

    body.post-type-archive-product .woocommerce-ordering select,
    body.tax-product_cat .woocommerce-ordering select,
    body.tax-product_tag .woocommerce-ordering select {
        width: 100% !important;
        min-width: 0 !important;
        font-size: 16px !important;
    }

    /* 2-column grid on mobile */
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px 16px !important;
        margin: 16px 0 48px 0 !important;
    }

    body.post-type-archive-product ul.products li.product h2,
    body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_cat ul.products li.product h2,
    body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_tag ul.products li.product h2,
    body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.9rem !important;
        margin-bottom: 6px !important;
    }

    body.post-type-archive-product ul.products li.product .price,
    body.tax-product_cat ul.products li.product .price,
    body.tax-product_tag ul.products li.product .price {
        font-size: 0.9rem !important;
        margin-bottom: 12px !important;
    }

    body.post-type-archive-product ul.products li.product .price del,
    body.tax-product_cat ul.products li.product .price del,
    body.tax-product_tag ul.products li.product .price del {
        font-size: 0.8rem !important;
    }

    body.post-type-archive-product ul.products li.product span.onsale,
    body.tax-product_cat ul.products li.product span.onsale,
    body.tax-product_tag ul.products li.product span.onsale {
        font-size: 0.65rem !important;
        padding: 4px 10px !important;
        top: 10px !important;
        left: 10px !important;
    }

    body.post-type-archive-product ul.products li.product a.button,
    body.post-type-archive-product ul.products li.product .add_to_cart_button,
    body.tax-product_cat ul.products li.product a.button,
    body.tax-product_cat ul.products li.product .add_to_cart_button,
    body.tax-product_tag ul.products li.product a.button,
    body.tax-product_tag ul.products li.product .add_to_cart_button {
        width: 100% !important;
        padding: 10px 16px !important;
        font-size: 0.75rem !important;
        letter-spacing: 0.06em !important;
        text-align: center !important;
    }

    body.post-type-archive-product ul.products li.product .tinv-wishlist a,
    body.post-type-archive-product ul.products li.product .tinvwl_add_to_wishlist_button,
    body.tax-product_cat ul.products li.product .tinv-wishlist a,
    body.tax-product_tag ul.products li.product .tinv-wishlist a {
        font-size: 0.8rem !important;
    }
}

/* ============ TABLET (769-1024px) ============ */
@media (min-width: 769px) and (max-width: 1024px) {

    body.post-type-archive-product .entry-content,
    body.tax-product_cat .entry-content,
    body.tax-product_tag .entry-content {
        padding: 0 24px !important;
    }

    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 32px 24px !important;
    }

    body.post-type-archive-product .woocommerce-products-header__title,
    body.tax-product_cat .woocommerce-products-header__title,
    body.tax-product_tag .woocommerce-products-header__title {
        font-size: 2.25rem !important;
    }
}

/* ============================================
   CHECKOUT - TRUST BADGES (gap-filler + value-add)
   ============================================
   Adds 3 trust indicators between #order_review_heading
   and #order_review via ::before pseudo-element on review.
   Fills the structural grid gap with useful content. */

body.woocommerce-checkout form.checkout #order_review::before {
    content: "" !important;
    display: block !important;
    margin: 24px 0 !important;
    padding: 20px !important;
    background-color: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(26, 22, 18, 0.06) !important;
    border-radius: 2px !important;
    background-image:
        linear-gradient(to bottom, transparent 0, transparent 100%),
        url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A875' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
}

/* Better approach: use a styled element via content + flexbox isn't supported in ::before */
/* So instead use a styled container with HTML-like text via CSS only */
body.woocommerce-checkout form.checkout #order_review::before {
    content: "\1F512  Ασφαλής Πληρωμή\A\1F69A  Δωρεάν Αποστολή άνω των 45€\A\21A9\FE0F  Επιστροφές 14 Ημερών" !important;
    white-space: pre-line !important;
    display: block !important;
    background-color: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(26, 22, 18, 0.06) !important;
    border-radius: 2px !important;
    padding: 20px 24px !important;
    margin: 0 0 24px 0 !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    color: rgba(26, 22, 18, 0.75) !important;
    line-height: 2 !important;
    letter-spacing: 0.02em !important;
}


/* ============================================
   FIX: TRUST BADGES SHIELDS CLEANUP
   ============================================ 
   Previous Trust Badges block had 2 ::before rules
   that merged - inheriting shield SVG background-image
   from the first rule. This explicitly removes it. */
body.woocommerce-checkout form.checkout #order_review::before {
    background-image: none !important;
}


/* ============================================
   HEADER - LOGO RESIZE
   ============================================ 
   Logo source is 1080×884 but rendered at 147×120px.
   Increase to ~183×150 for better visual presence
   without dramatically changing header height. */
.site-header .custom-logo-link img,
.site-header .custom-logo,
header .custom-logo-link img,
header img.custom-logo {
    max-height: 150px !important;
    width: auto !important;
    height: auto !important;
}
/* Ensure header accommodates new logo without breaking */
.site-header {
    min-height: 130px !important;
}
/* Optimize nav spacing if collision occurs */
.main-navigation ul,
nav.main-navigation ul {
    gap: 24px !important;
}


/* ============================================
   MY ACCOUNT - PHASE A: LAYOUT & SPACING
   ============================================ */

/* ============ MAIN CONTAINER ============ */
body.woocommerce-account .entry-content,
body.woocommerce-account main .site-main {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}

/* ============ PAGE TITLE ============ */
body.woocommerce-account .entry-title,
body.woocommerce-account h1.page-title,
body.woocommerce-account .entry-header h1 {
    font-family: var(--font-display) !important;
    font-size: 2.5rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    color: var(--color-charcoal) !important;
    margin: 32px 0 32px 0 !important;
    padding: 0 0 24px 0 !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.08) !important;
    text-align: left !important;
}

/* ============ 2-COLUMN ACCOUNT LAYOUT ============ */
/* Use CSS Grid: 240px sidebar + 1fr content */
body.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 240px 1fr !important;
    gap: 64px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 80px 0 !important;
}

/* Override any default WC u-columns wrapper styles */
body.woocommerce-account .u-columns,
body.woocommerce-account .col2-set {
    display: grid !important;
    grid-template-columns: 240px 1fr !important;
    gap: 64px !important;
    width: 100% !important;
}

/* Navigation: left column */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Content: right column */
body.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============ NOTICES ============ */
body.woocommerce-account .woocommerce-notices-wrapper {
    margin: 0 0 24px 0 !important;
}


/* ============================================
   FIX: MY ACCOUNT TITLE ALIGNMENT
   ============================================ 
   .entry-header (containing title) is SIBLING of
   .entry-content (which has the woocommerce grid).
   Phase A constrained .entry-content but not entry-header,
   leaving title at 1825px while content was at 1216px.
   Fix: apply same max-width to .entry-header. */
body.woocommerce-account .entry-header {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}


/* ============================================
   MY ACCOUNT - PHASE B: NAVIGATION
   ============================================ */

/* ============ NAV CONTAINER ============ */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ============ NAV LIST ============ */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    border-top: 1px solid rgba(26, 22, 18, 0.08) !important;
}

/* ============ NAV ITEMS ============ */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid rgba(26, 22, 18, 0.08) !important;
    background: transparent !important;
}

/* Remove default WC bullet/marker */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li::before,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li::marker {
    display: none !important;
    content: none !important;
}

/* ============ NAV LINKS ============ */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 14px 0 !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    color: rgba(26, 22, 18, 0.7) !important;
    transition: color 0.2s ease, padding 0.2s ease !important;
    position: relative !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--color-charcoal) !important;
    padding-left: 8px !important;
}

/* ============ ACTIVE NAV ITEM ============ */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
    color: var(--color-charcoal) !important;
    font-weight: 600 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    position: relative !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
    content: "" !important;
    position: absolute !important;
    left: -16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 4px !important;
    height: 4px !important;
    background-color: var(--color-gold) !important;
    border-radius: 50% !important;
}

/* ============ LOGOUT - subtle differentiation ============ */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.--customer-logout {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(26, 22, 18, 0.15) !important;
    border-bottom: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.--customer-logout a {
    color: rgba(26, 22, 18, 0.5) !important;
    font-size: 0.8rem !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.--customer-logout a:hover {
    color: var(--color-gold) !important;
}


/* ============================================
   FIX: MY ACCOUNT LOGOUT CLASS
   ============================================ 
   Phase B used .--customer-logout but actual class is
   .woocommerce-MyAccount-navigation-link--customer-logout.
   Re-apply logout differentiation with correct selector. */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(26, 22, 18, 0.15) !important;
    border-bottom: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: rgba(26, 22, 18, 0.5) !important;
    font-size: 0.8rem !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: var(--color-gold) !important;
}


/* ============================================
   MY ACCOUNT - PHASE C: DASHBOARD CONTENT
   ============================================ */

/* ============ CONTENT CONTAINER ============ */
body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 0 !important;
    background-color: transparent !important;
}

/* ============ GREETING & INTRO PARAGRAPHS ============ */
/* First paragraph (greeting "Γεια σας admin") - larger, premium */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
    font-family: var(--font-display) !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    color: var(--color-charcoal) !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.005em !important;
}

/* "δεν είστε admin? Αποσύνδεση" inline text - smaller, muted */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type a {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: rgba(26, 22, 18, 0.5) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    transition: color 0.2s ease !important;
    font-weight: 400 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type a:hover {
    color: var(--color-gold) !important;
}

/* Strong tag in greeting (the username) - subtle emphasis */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type strong {
    font-weight: 500 !important;
    color: var(--color-gold) !important;
}

/* ============ INTRO PARAGRAPH ============ */
body.woocommerce-account .woocommerce-MyAccount-content > p:nth-of-type(2) {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
    color: rgba(26, 22, 18, 0.75) !important;
    margin: 0 0 32px 0 !important;
    max-width: 720px !important;
}

/* Inline links in intro */
body.woocommerce-account .woocommerce-MyAccount-content > p:nth-of-type(2) a {
    color: var(--color-gold) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    text-decoration-thickness: 1px !important;
    transition: color 0.2s ease !important;
    font-weight: 500 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content > p:nth-of-type(2) a:hover {
    color: var(--color-charcoal) !important;
}

/* ============ NOTICES (any WC info messages) ============ */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
    background-color: rgba(201, 168, 117, 0.08) !important;
    border-top: 2px solid var(--color-gold) !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    color: var(--color-charcoal) !important;
    font-family: var(--font-body) !important;
    padding: 14px 18px !important;
    border-radius: 2px !important;
    margin-bottom: 24px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a {
    color: var(--color-gold) !important;
    text-decoration: underline !important;
}

/* ============ HEADINGS INSIDE CONTENT (πχ "Πρόσφατες παραγγελίες") ============ */
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-family: var(--font-display) !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    color: var(--color-charcoal) !important;
    margin: 32px 0 16px 0 !important;
    padding: 0 !important;
    letter-spacing: -0.005em !important;
}

/* ============ GENERIC LINK STYLING IN CONTENT ============ */
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
    color: var(--color-gold) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover {
    color: var(--color-charcoal) !important;
}


/* ============================================
   MY ACCOUNT - PHASE E: MOBILE RESPONSIVE
   ============================================ */

/* ============ MOBILE (≤768px) ============ */
@media (max-width: 768px) {
    
    /* Container side padding */
    body.woocommerce-account .entry-content,
    body.woocommerce-account .entry-header {
        padding: 0 16px !important;
    }
    
    /* Title smaller and balanced */
    body.woocommerce-account .entry-title,
    body.woocommerce-account h1.page-title,
    body.woocommerce-account .entry-header h1 {
        font-size: 1.75rem !important;
        margin: 24px 0 24px 0 !important;
        padding: 0 0 16px 0 !important;
        line-height: 1.2 !important;
    }
    
    /* ============ Stack to single column ============ */
    
    body.woocommerce-account .woocommerce,
    body.woocommerce-account .u-columns,
    body.woocommerce-account .col2-set {
        display: block !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding-bottom: 48px !important;
    }
    
    /* Navigation - full width, compact */
    body.woocommerce-account .woocommerce-MyAccount-navigation {
        grid-column: unset !important;
        width: 100% !important;
        margin: 0 0 32px 0 !important;
    }
    
    /* Smaller nav link padding on mobile */
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 12px 0 !important;
        font-size: 0.8rem !important;
    }
    
    /* Hide active gold dot indicator on mobile (less needed) */
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
        left: -12px !important;
        width: 3px !important;
        height: 3px !important;
    }
    
    /* Logout adjustments on mobile */
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
        margin-top: 12px !important;
        padding-top: 12px !important;
    }
    
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
        font-size: 0.75rem !important;
    }
    
    /* Content - full width */
    body.woocommerce-account .woocommerce-MyAccount-content {
        grid-column: unset !important;
        width: 100% !important;
    }
    
    /* Greeting smaller on mobile */
    body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
        font-size: 1.25rem !important;
    }
    
    /* Intro paragraph */
    body.woocommerce-account .woocommerce-MyAccount-content > p:nth-of-type(2) {
        font-size: 0.95rem !important;
        line-height: 1.7 !important;
        margin-bottom: 24px !important;
    }
    
    /* Content headings */
    body.woocommerce-account .woocommerce-MyAccount-content h2,
    body.woocommerce-account .woocommerce-MyAccount-content h3 {
        font-size: 1.25rem !important;
        margin: 24px 0 12px 0 !important;
    }
}

/* ============ TABLET (769-1024px) ============ */
@media (min-width: 769px) and (max-width: 1024px) {
    
    body.woocommerce-account .entry-content,
    body.woocommerce-account .entry-header {
        padding: 0 24px !important;
    }
    
    /* Reduce gap on tablet */
    body.woocommerce-account .woocommerce,
    body.woocommerce-account .u-columns {
        grid-template-columns: 200px 1fr !important;
        gap: 40px !important;
    }
    
    /* Slightly smaller title */
    body.woocommerce-account .entry-title,
    body.woocommerce-account h1.page-title {
        font-size: 2.25rem !important;
    }
}


/* ============================================
   HEADER - FIBOSEARCH INTEGRATION
   ============================================ */

/* === CONTAINER - sizing within header utilities === */
.header-utilities .dgwt-wcas-search-wrapp {
    max-width: 260px !important;
    width: 100% !important;
    margin-right: 1rem !important;
    position: relative !important;
}

/* === FORM WRAPPER === */
.header-utilities .dgwt-wcas-search-form {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* === SEARCH INPUT FIELD === */
.header-utilities .dgwt-wcas-search-input {
    background-color: rgba(245, 240, 232, 0.08) !important;
    border: 1px solid rgba(245, 240, 232, 0.2) !important;
    color: var(--color-cream-text, #FAF6F0) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.875rem !important;
    padding: 0.625rem 2.75rem 0.625rem 1rem !important;
    border-radius: 999px !important;
    height: 40px !important;
    line-height: 1 !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
}
.header-utilities .dgwt-wcas-search-input::placeholder {
    color: rgba(250, 246, 240, 0.45) !important;
    font-style: italic !important;
    font-weight: 300 !important;
}
.header-utilities .dgwt-wcas-search-input:focus {
    background-color: rgba(245, 240, 232, 0.12) !important;
    border-color: var(--color-gold, #C9A875) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201, 168, 117, 0.15) !important;
}

/* === MAGNIFIER SUBMIT BUTTON === */
.header-utilities .dgwt-wcas-search-submit {
    background: transparent !important;
    border: none !important;
    color: var(--color-gold, #C9A875) !important;
    width: 36px !important;
    right: 4px !important;
}
.header-utilities .dgwt-wcas-search-submit svg,
.header-utilities .dgwt-wcas-search-submit svg path {
    fill: var(--color-gold, #C9A875) !important;
    stroke: var(--color-gold, #C9A875) !important;
    opacity: 0.85 !important;
}
.header-utilities .dgwt-wcas-search-submit:hover svg {
    opacity: 1 !important;
}

/* === CLEAR X BUTTON === */
.header-utilities .dgwt-wcas-close {
    color: rgba(250, 246, 240, 0.6) !important;
    background: transparent !important;
    transition: opacity 0.2s ease !important;
}
.header-utilities .dgwt-wcas-close:hover {
    color: var(--color-cream-text, #FAF6F0) !important;
}
.header-utilities .dgwt-wcas-close svg {
    fill: currentColor !important;
}

/* === LOADING PRELOADER === */
.header-utilities .dgwt-wcas-preloader {
    border-top-color: var(--color-gold, #C9A875) !important;
}

/* === DROPDOWN SUGGESTIONS CONTAINER === */
.dgwt-wcas-suggestions-wrapp {
    background-color: var(--color-charcoal, #1A1612) !important;
    border: 1px solid rgba(201, 168, 117, 0.25) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45) !important;
    margin-top: 12px !important;
    padding: 8px 0 !important;
    overflow: hidden !important;
}

/* === INDIVIDUAL RESULT ITEM === */
.dgwt-wcas-suggestion {
    background-color: transparent !important;
    color: var(--color-cream-text, #FAF6F0) !important;
    border: none !important;
    border-bottom: 1px solid rgba(250, 246, 240, 0.08) !important;
    padding: 12px 16px !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}
.dgwt-wcas-suggestion:last-child {
    border-bottom: none !important;
}
.dgwt-wcas-suggestion:hover,
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-focused,
.dgwt-wcas-suggestion-focused {
    background-color: rgba(201, 168, 117, 0.1) !important;
}

/* === PRODUCT TITLE === */
.dgwt-wcas-suggestion .dgwt-wcas-st-title,
.dgwt-wcas-st-title {
    color: var(--color-cream-text, #FAF6F0) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
}

/* === HIGHLIGHT MATCHING TEXT === */
.dgwt-wcas-st-title strong,
.dgwt-wcas-st-title mark,
.dgwt-wcas-st-title em {
    color: var(--color-gold, #C9A875) !important;
    background: transparent !important;
    font-weight: 600 !important;
    font-style: normal !important;
}

/* === PRODUCT THUMBNAIL === */
.dgwt-wcas-product-img,
.dgwt-wcas-suggestion .dgwt-wcas-product-img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background-color: rgba(250, 246, 240, 0.05) !important;
    margin-right: 12px !important;
}
.dgwt-wcas-product-img img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}

/* === PRICE IN SUGGESTION === */
.dgwt-wcas-st-price,
.dgwt-wcas-suggestion .dgwt-wcas-st-price {
    color: var(--color-gold, #C9A875) !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
}

/* === "SEE ALL RESULTS" LINK === */
.dgwt-wcas-suggestions-wrapp .dgwt-wcas-st-more,
.dgwt-wcas-st-more {
    background-color: rgba(201, 168, 117, 0.06) !important;
    color: var(--color-gold, #C9A875) !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-top: 1px solid rgba(201, 168, 117, 0.2) !important;
    padding: 14px 16px !important;
    text-align: center !important;
    margin-top: 4px !important;
}
.dgwt-wcas-suggestions-wrapp .dgwt-wcas-st-more:hover {
    background-color: rgba(201, 168, 117, 0.15) !important;
}

/* === NO RESULTS MESSAGE === */
.dgwt-wcas-suggestions-wrapp .dgwt-wcas-nores,
.dgwt-wcas-nores {
    color: rgba(250, 246, 240, 0.6) !important;
    font-style: italic !important;
    padding: 20px 16px !important;
    text-align: center !important;
    font-size: 0.875rem !important;
}

/* === CATEGORY HEADERS === */
.dgwt-wcas-suggestion-headline {
    color: rgba(201, 168, 117, 0.7) !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 8px 16px 4px !important;
    background: transparent !important;
}

/* === MOBILE RESPONSIVE (≤768px) === */
@media (max-width: 768px) {
    .header-utilities .dgwt-wcas-search-wrapp {
        max-width: 100% !important;
        margin-right: 0 !important;
        order: 99 !important;
        width: 100% !important;
        margin-top: 8px !important;
    }
    .header-utilities .dgwt-wcas-search-input {
        font-size: 16px !important;
        height: 44px !important;
    }
    .dgwt-wcas-suggestions-wrapp {
        margin-top: 8px !important;
        border-radius: 8px !important;
    }
    .dgwt-wcas-suggestion {
        padding: 14px 16px !important;
    }
}

/* === TABLET RESPONSIVE (769-1024px) === */
@media (min-width: 769px) and (max-width: 1024px) {
    .header-utilities .dgwt-wcas-search-wrapp {
        max-width: 200px !important;
    }
}


/* ============================================
   FIX: FIBOSEARCH WRAPPER + ICON POSITION
   ============================================
   Two issues from original HEADER - FIBOSEARCH INTEGRATION:
   1. sf-wrapp intermediate wrapper still painted white by plugin
   2. Magnifier icon is at LEFT (FiboSearch default), but original
      spec assumed RIGHT — padding was calibrated wrong.

   Solution: transparent wrapper + accept left icon position
   + recalibrate input padding (more left, less right). */

/* Remove white background from intermediate wrapper */
.header-utilities .dgwt-wcas-sf-wrapp,
.dgwt-wcas-sf-wrapp {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Reset the right positioning that never applied */
.header-utilities .dgwt-wcas-search-submit {
    right: auto !important;
    left: 6px !important;
    width: 32px !important;
}

/* Recalibrate input padding for LEFT icon */
.header-utilities .dgwt-wcas-search-input {
    padding: 0.625rem 1rem 0.625rem 2.5rem !important;
}


/* ============================================
   FIX: FIBOSEARCH ICON POLISH
   ============================================
   Refines the magnifier left position (was bleeding 4px
   outside pill border) and adds proper styling to the X
   clear button to match brand aesthetic. */

/* Magnifier — push firmly inside pill */
.header-utilities .dgwt-wcas-search-submit {
    left: 14px !important;
    right: auto !important;
    width: 28px !important;
    height: 28px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}
.header-utilities .dgwt-wcas-search-submit svg {
    width: 16px !important;
    height: 16px !important;
}

/* Input padding — adjust for repositioned magnifier + X space */
.header-utilities .dgwt-wcas-search-input {
    padding: 0.625rem 2.5rem 0.625rem 2.75rem !important;
}

/* X Close button — brand integration */
.header-utilities .dgwt-wcas-close,
.dgwt-wcas-search-wrapp .dgwt-wcas-close {
    right: 10px !important;
    width: 24px !important;
    height: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    border-radius: 50% !important;
    background-color: rgba(245, 240, 232, 0.12) !important;
    color: rgba(250, 246, 240, 0.7) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: none !important;
    padding: 0 !important;
}
.header-utilities .dgwt-wcas-close:hover,
.dgwt-wcas-search-wrapp .dgwt-wcas-close:hover {
    background-color: rgba(201, 168, 117, 0.2) !important;
    color: var(--color-gold, #C9A875) !important;
}

/* X icon visual — covers SVG, pseudo-element, and text implementations */
.header-utilities .dgwt-wcas-close svg {
    width: 12px !important;
    height: 12px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}
.header-utilities .dgwt-wcas-close::before,
.header-utilities .dgwt-wcas-close::after {
    background-color: currentColor !important;
}


/* ============================================
   FIX: FIBOSEARCH X PATH COLOR
   ============================================
   Plugin's frontend.css sets fill: #111 directly on
   the inner <path> of the X close button SVG. Parent
   svg's currentColor doesn't inherit to path. Override
   the path's fill directly so X glyph becomes visible
   on the dark pill background. */

.header-utilities .dgwt-wcas-close svg path,
.dgwt-wcas-search-wrapp .dgwt-wcas-close svg path {
    fill: currentColor !important;
    stroke: currentColor !important;
}


/* ============================================
   FIX: FIBOSEARCH CLOSE PSEUDO + POSITION
   ============================================
   Two issues identified:
   1. Element has dual class .dgwt-wcas-preloader
      .dgwt-wcas-close, and the ::before pseudo
      has cream bg fill (rgba 250,246,240,0.7) that
      shows as "white square" behind the X glyph.
   2. FiboSearch JS sets inline right: 33px which
      beats our previous right: 10px !important due
      to lower selector specificity. */

/* === Hide the cream ::before fill === */
.header-utilities .dgwt-wcas-close::before,
.dgwt-wcas-search-wrapp .dgwt-wcas-close::before,
.dgwt-wcas-preloader.dgwt-wcas-close::before {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Same for ::after, defensive */
.header-utilities .dgwt-wcas-close::after,
.dgwt-wcas-search-wrapp .dgwt-wcas-close::after,
.dgwt-wcas-preloader.dgwt-wcas-close::after {
    background: transparent !important;
    background-color: transparent !important;
}

/* === Override inline right position === */
.header-utilities .dgwt-wcas-search-wrapp .dgwt-wcas-preloader.dgwt-wcas-close,
.dgwt-wcas-search-wrapp .dgwt-wcas-preloader.dgwt-wcas-close[style],
body .header-utilities .dgwt-wcas-search-wrapp .dgwt-wcas-close {
    right: 10px !important;
}


/* ============================================
   FIX: FIBOSEARCH CLOSE POSITION TIGHTEN
   ============================================
   Previous fix set right: 10px but plugin's JS
   sets inline left: 191px + margin-right: 35px.
   When absolute element has both left AND right,
   left wins (CSS spec). Override left to auto +
   zero out margins so right: 10px takes effect. */

.header-utilities .dgwt-wcas-close,
.dgwt-wcas-search-wrapp .dgwt-wcas-close,
.dgwt-wcas-search-wrapp .dgwt-wcas-preloader.dgwt-wcas-close,
body .header-utilities .dgwt-wcas-search-wrapp .dgwt-wcas-close {
    left: auto !important;
    margin: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}


/* ============================================
   FIX: FIBOSEARCH CLOSE SYMMETRIC PADDING
   ============================================
   Mirror the magnifier's left-edge inset on the
   right side for visual symmetry:
   - Magnifier left edge sits 13px from input.left
   - X right edge should sit 13px from input.right
   Since close is positioned via sfWrapp's right
   edge (sfWrapp is 10px wider on each side than
   input due to padding), right offset becomes
   13px + 10px = 23px from sfWrapp.right. */

.header-utilities .dgwt-wcas-close,
.dgwt-wcas-search-wrapp .dgwt-wcas-close,
.dgwt-wcas-search-wrapp .dgwt-wcas-preloader.dgwt-wcas-close,
body .header-utilities .dgwt-wcas-search-wrapp .dgwt-wcas-close {
    right: 23px !important;
}


/* === Specificity boost for SYMMETRIC PADDING (overrides earlier [style] selector) === */
.header-utilities .dgwt-wcas-search-wrapp .dgwt-wcas-preloader.dgwt-wcas-close[style],
body .header-utilities .dgwt-wcas-search-wrapp .dgwt-wcas-preloader.dgwt-wcas-close[style] {
    right: 23px !important;
}


/* ============================================
   POLISH: TRUST BADGES PRESENTATION
   ============================================
   Cosmetic refinement of the existing pseudo-element
   based trust badges block (located ~L4791).

   Cannot swap emojis to inline SVG (CSS content
   property can only render strings or one image,
   not three different inline SVGs).

   Instead, we polish the container:
   - Warmer cream background (matches brand)
   - Gold left border accent (premium feel)
   - Softer corners + subtle depth
   - Refined typography (better spacing & contrast) */
body.woocommerce-checkout form.checkout #order_review::before {
    background-color: rgba(250, 246, 240, 0.85) !important;
    border: none !important;
    border-left: 3px solid var(--color-gold, #C9A875) !important;
    border-radius: 8px !important;
    padding: 22px 26px !important;
    box-shadow: 0 2px 12px rgba(26, 22, 18, 0.04) !important;
    font-size: 0.875rem !important;
    color: rgba(26, 22, 18, 0.88) !important;
    line-height: 2.2 !important;
    letter-spacing: 0.03em !important;
}


/* ============================================
   MOBILE: HEADER + OVERLAY + HERO POLISH
   ============================================
   Three mobile issues identified via static
   analysis + visual screenshots from user:

   1. Search bar invisible on ≤768px because
      .header-utilities lacks flex-wrap. The
      order: 99 + width: 100% don't trigger
      wrapping without it.

   2. FiboSearch mobile overlay defaults to
      white bg + grey return button. No brand
      styling at all — completely off-brand.

   3. .hero-inner has width: 50% that isn't
      reset in mobile media query, causing
      text to wrap aggressively on narrow
      viewports (187px text column at 375px). */

/* === FIX 1: Enable flex-wrap on mobile header === */
@media (max-width: 768px) {
    .header-utilities {
        flex-wrap: wrap !important;
        row-gap: 12px !important;
    }
}

/* === FIX 2: FiboSearch mobile overlay branding === */
/* Main overlay panel */
.dgwt-wcas-overlay-mobile {
    background-color: var(--color-charcoal, #1A1612) !important;
}

/* Top bar of overlay */
.dgwt-wcas-om-bar {
    background-color: var(--color-charcoal, #1A1612) !important;
    border-bottom: 1px solid rgba(201, 168, 117, 0.2) !important;
    height: 56px !important;
}

/* Return/back button — gold accent */
.dgwt-wcas-om-bar button.dgwt-wcas-om-return,
button.dgwt-wcas-om-return {
    background-color: transparent !important;
    color: var(--color-gold, #C9A875) !important;
    width: 56px !important;
    height: 56px !important;
    border: none !important;
    transition: background-color 0.2s ease !important;
}
button.dgwt-wcas-om-return:hover,
button.dgwt-wcas-om-return:active {
    background-color: rgba(201, 168, 117, 0.1) !important;
}
button.dgwt-wcas-om-return svg,
button.dgwt-wcas-om-return svg path {
    fill: var(--color-gold, #C9A875) !important;
    stroke: var(--color-gold, #C9A875) !important;
}

/* Search input inside mobile overlay */
.dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input,
.dgwt-wcas-search-wrapp.dgwt-wcas-search-wrapp-mobile input[type="search"] {
    background-color: transparent !important;
    color: var(--color-cream-text, #FAF6F0) !important;
    border: none !important;
    border-bottom: 1px solid rgba(245, 240, 232, 0.2) !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    font-size: 16px !important;
    height: 56px !important;
}
.dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input::placeholder {
    color: rgba(250, 246, 240, 0.45) !important;
    font-style: italic !important;
}
.dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input:focus {
    background-color: transparent !important;
    border-bottom-color: var(--color-gold, #C9A875) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Wrapper inside overlay */
.dgwt-wcas-search-wrapp.dgwt-wcas-search-wrapp-mobile {
    background-color: transparent !important;
    max-width: 100% !important;
}

/* Hide sf-wrapp inside mobile overlay (no white pill in mobile) */
.dgwt-wcas-search-wrapp-mobile .dgwt-wcas-sf-wrapp {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
}

/* Suggestions panel inside mobile overlay */
.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestions-wrapp {
    background-color: var(--color-charcoal, #1A1612) !important;
    border: none !important;
    border-top: 1px solid rgba(201, 168, 117, 0.15) !important;
    border-radius: 0 !important;
    margin-top: 0 !important;
    box-shadow: none !important;
}

/* Body/html lock background tint */
html.dgwt-wcas-overlay-mobile-on,
body.dgwt-wcas-overlay-mobile-on {
    background-color: var(--color-charcoal, #1A1612) !important;
}

/* === FIX 3: Hero text breaking on narrow viewports === */
@media (max-width: 900px) {
    .hero-inner {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 400px) {
    .hero-title {
        font-size: clamp(2rem, 8vw, 2.75rem) !important;
        line-height: 1.15 !important;
    }
    .hero-subtitle {
        font-size: 0.95rem !important;
    }
}


/* ============================================
   MOBILE FIX: SEARCH FULL WIDTH
   ============================================
   Previous fix made search wrap to a new row
   inside .header-utilities, but utilities only
   occupies the right ~180px of the header. So
   search "width: 100%" = 100% of utilities, not
   100% of screen → placeholder clips.

   Solution: Position search absolutely at the
   bottom of .header-inner spanning full width
   from edge to edge (with consistent padding).
   Add padding-bottom to header-inner to reserve
   the visual space. */
@media (max-width: 768px) {
    .header-inner {
        position: relative !important;
        padding-bottom: 60px !important;
    }

    .header-utilities .dgwt-wcas-search-wrapp {
        position: absolute !important;
        bottom: 8px !important;
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        z-index: 5 !important;
        order: 0 !important;
    }
}


/* ============================================
   ACCOUNT LOGIN + LOST PASSWORD STYLING
   ============================================ 
   Brands the logged-out /my-account/ login form
   and /my-account/lost-password/ page to match
   Auraluxe palette (charcoal + cream + gold).
   
   Registration is admin-disabled (account creation 
   happens inline at checkout), so we only style:
   - Login form (username + password + remember + submit)
   - Lost password form (squashed input bug also fixed)
   - Page headers
   - Form labels & helper text
*/

/* === Page header for logged-out states === */
.woocommerce-account:not(.logged-in) .entry-title,
.woocommerce-page .entry-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 2.5rem !important;
    color: var(--color-charcoal, #1A1612) !important;
    text-align: center !important;
    margin-bottom: 2rem !important;
    letter-spacing: 0.02em !important;
}

/* === Login form container === */
.woocommerce-form-login,
.woocommerce-ResetPassword {
    max-width: 480px !important;
    margin: 2rem auto !important;
    padding: 2.5rem 2rem !important;
    background-color: rgba(245, 240, 232, 0.4) !important;
    border: 1px solid rgba(201, 168, 117, 0.2) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 24px rgba(26, 22, 18, 0.06) !important;
}

/* === Section heading === */
.woocommerce-account h2,
.woocommerce-page h2 {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.75rem !important;
    color: var(--color-charcoal, #1A1612) !important;
    text-align: center !important;
    margin-bottom: 1.5rem !important;
    letter-spacing: 0.02em !important;
}

/* === Form helper text (lost password instructions) === */
.woocommerce-ResetPassword p:not(.form-row),
.woocommerce-form-login p:not(.form-row):not(.lost_password) {
    text-align: center !important;
    color: rgba(26, 22, 18, 0.7) !important;
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1.5rem !important;
}

/* === Form rows === */
.woocommerce-form-login .form-row,
.woocommerce-ResetPassword .form-row {
    margin-bottom: 1.25rem !important;
    width: 100% !important;
}

.woocommerce-form-login .form-row label,
.woocommerce-ResetPassword .form-row label {
    display: block !important;
    font-size: 0.875rem !important;
    color: var(--color-charcoal, #1A1612) !important;
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
    letter-spacing: 0.03em !important;
}

/* === Input fields (CRITICAL: fix squashed lost-password input) === */
.woocommerce-form-login input.input-text,
.woocommerce-ResetPassword input.input-text,
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="password"],
.woocommerce-ResetPassword input[type="text"],
.woocommerce-ResetPassword input[type="email"] {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    background-color: #FFFFFF !important;
    border: 1px solid rgba(26, 22, 18, 0.15) !important;
    border-radius: 6px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.9375rem !important;
    color: var(--color-charcoal, #1A1612) !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.woocommerce-form-login input.input-text:focus,
.woocommerce-ResetPassword input.input-text:focus {
    outline: none !important;
    border-color: var(--color-gold, #C9A875) !important;
    box-shadow: 0 0 0 3px rgba(201, 168, 117, 0.15) !important;
}

/* === Show password eye button === */
.woocommerce-form-login .show-password-input {
    color: rgba(26, 22, 18, 0.5) !important;
}

.woocommerce-form-login .show-password-input:hover,
.woocommerce-form-login .show-password-input.display-password {
    color: var(--color-gold, #C9A875) !important;
}

/* === Remember me checkbox === */
.woocommerce-form-login .woocommerce-form-login__rememberme {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 1rem 0 !important;
    color: rgba(26, 22, 18, 0.8) !important;
    font-size: 0.875rem !important;
    cursor: pointer !important;
}

.woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    accent-color: var(--color-gold, #C9A875) !important;
    cursor: pointer !important;
}

/* === Submit buttons === */
.woocommerce-form-login button[type="submit"],
.woocommerce-ResetPassword button[type="submit"],
.woocommerce-form-login__submit {
    width: 100% !important;
    padding: 0.875rem 1.5rem !important;
    background-color: var(--color-gold, #C9A875) !important;
    color: var(--color-charcoal, #1A1612) !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin-top: 0.5rem !important;
}

.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-ResetPassword button[type="submit"]:hover,
.woocommerce-form-login__submit:hover {
    background-color: #B89863 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(201, 168, 117, 0.25) !important;
}

/* === Lost password link === */
.woocommerce-form-login .lost_password {
    text-align: center !important;
    margin-top: 1.25rem !important;
    font-size: 0.875rem !important;
}

.woocommerce-form-login .lost_password a {
    color: var(--color-charcoal, #1A1612) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(201, 168, 117, 0.4) !important;
    transition: all 0.2s ease !important;
    padding-bottom: 2px !important;
}

.woocommerce-form-login .lost_password a:hover {
    color: var(--color-gold, #C9A875) !important;
    border-bottom-color: var(--color-gold, #C9A875) !important;
}

/* === Required asterisk styling === */
.woocommerce-form-login .required,
.woocommerce-ResetPassword .required {
    color: var(--color-gold, #C9A875) !important;
    font-weight: 600 !important;
}

/* === Mobile responsive === */
@media (max-width: 600px) {
    .woocommerce-form-login,
    .woocommerce-ResetPassword {
        margin: 1rem 0 !important;
        padding: 1.75rem 1.25rem !important;
        border-radius: 8px !important;
    }
    
    .woocommerce-account .entry-title,
    .woocommerce-page .entry-title {
        font-size: 2rem !important;
    }
    
    .woocommerce-form-login button[type="submit"],
    .woocommerce-ResetPassword button[type="submit"] {
        font-size: 0.875rem !important;
    }
}


/* ============================================
   FIX: MYACCOUNT GRID SCOPE
   ============================================ 
   Existing rule body.woocommerce-account .woocommerce
   applies display:grid to ANY element with class
   "woocommerce", including the FiboSearch search 
   wrapper (which has woocommerce class) and other
   header elements. This causes:
   
   - Search bar collapses to ~86px width on /my-account/*
   - Addresses 2-column shows 240px+608px asymmetric
     (instead of equal 1fr 1fr)
   - Other random elements get unintended grid layout
   
   Fix: scope-restrict the grid via specific overrides
   for the elements that should NOT be grid containers. */

/* === Force search wrapp back to block on MyAccount === */
body.woocommerce-account .header-utilities .dgwt-wcas-search-wrapp,
body.woocommerce-account header .woocommerce,
body.woocommerce-account .site-header .woocommerce,
body.woocommerce-account .header-utilities .woocommerce {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-template-areas: none !important;
}

/* === Fix .u-columns to proper 1fr 1fr === */
body.woocommerce-account .u-columns,
body.woocommerce-account .col2-set,
body.woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    align-items: start !important;
}

/* === Ensure u-columns children align properly === */
body.woocommerce-account .u-columns > .u-column1,
body.woocommerce-account .u-columns > .u-column2,
body.woocommerce-account .col2-set > .col-1,
body.woocommerce-account .col2-set > .col-2,
body.woocommerce-account .woocommerce-Address {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* === Mobile: stack columns on small screens === */
@media (max-width: 768px) {
    body.woocommerce-account .u-columns,
    body.woocommerce-account .col2-set,
    body.woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}


/* ============================================
   FIX: MYACCOUNT GRID FLOAT RESET
   ============================================ 
   Complements FIX: MYACCOUNT GRID SCOPE. The grid 
   columns are now correctly 1fr 1fr (440px each), 
   BUT WooCommerce's default float: left/right on 
   .col-1 and .col-2 conflicts with grid auto-placement,
   causing rows to stack instead of side-by-side.
   
   Reset floats so grid placement works properly. */
body.woocommerce-account .u-columns > .u-column1,
body.woocommerce-account .u-columns > .u-column2,
body.woocommerce-account .col2-set > .col-1,
body.woocommerce-account .col2-set > .col-2,
body.woocommerce-account .woocommerce-Address {
    float: none !important;
    clear: none !important;
}


/* ============================================
   FIX: MYACCOUNT GRID EXPLICIT PLACEMENT
   ============================================ 
   Auto-placement fails on .u-columns even with 
   floats reset. Browser computes 2 rows preemptively
   (gridTemplateRows: 151.984px 151.984px), placing
   col1 in row1-col2 and col2 in row2-col1 instead 
   of both in row1. 
   
   Explicit grid-column/row assignment forces correct
   side-by-side placement. Mobile media query lets 
   them stack on small screens. */
body.woocommerce-account .u-columns > .u-column1,
body.woocommerce-account .col2-set > .col-1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}
body.woocommerce-account .u-columns > .u-column2,
body.woocommerce-account .col2-set > .col-2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}
@media (max-width: 768px) {
    body.woocommerce-account .u-columns > .u-column1,
    body.woocommerce-account .u-columns > .u-column2,
    body.woocommerce-account .col2-set > .col-1,
    body.woocommerce-account .col2-set > .col-2 {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}


/* ============================================
   FIX: SHOP SORT DROPDOWN SPACING
   ============================================
   Earlier attempt failed because:
   1. Existing archive-marker rules use higher
      specificity (body.post-type-archive-product)
      and set margins to 0
   2. Sorter floats right, so margin-top on products
      grid gets absorbed by float clearance

   Solution: Use padding-top (not margin) on grid
   with body-qualified selectors that match the
   existing specificity. Padding cannot be absorbed
   by float clearance. */
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products {
    padding-top: 24px !important;
    clear: both !important;
}
@media (max-width: 768px) {
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products {
        padding-top: 16px !important;
    }
}


/* ============================================
   FIX: ADDRESS H2 + WISHLIST BUTTONS POLISH
   ============================================
   Two issues bundled:

   1. ACCOUNT LOGIN + LOST PASSWORD STYLING marker
      has too-broad rule:
        .woocommerce-account h2 { text-align: center }
      Intended for login form "Σύνδεση" heading, but
      catches the address title headers in /edit-address/,
      causing mixed alignment with the left-aligned intro.
      Override: force address h2s back to left-align.

   2. Wishlist page buttons use WooCommerce stock styles:
      - .button.alt → purple #7F54B3 (Add to Cart)
      - .button → light gray #E9E6ED (bulk actions)
      Child theme has no override for .tinv-wishlist context.
      Brand-align with gold palette + outlined secondary. */

/* === Fix 1: Address h2 + content left-align === */
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-Address h2,
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
    text-align: left !important;
}
.woocommerce-account .woocommerce-Address-title .edit,
.woocommerce-account .woocommerce-Address-title a {
    display: inline-block !important;
    text-align: left !important;
}
.woocommerce-account .woocommerce-Address address,
.woocommerce-account .woocommerce-Address p {
    text-align: left !important;
}

/* === Fix 2: Wishlist buttons — gold primary CTAs === */
.tinv-wishlist button.button.alt,
.tinv-wishlist a.button.alt,
.tinv-wishlist input.button.alt,
.tinvwl-table-manage-list button.button.alt {
    background-color: var(--color-gold, #C9A875) !important;
    color: var(--color-charcoal, #1A1612) !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0.75rem 1.25rem !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    box-shadow: none !important;
}
.tinv-wishlist button.button.alt:hover,
.tinv-wishlist a.button.alt:hover,
.tinv-wishlist input.button.alt:hover,
.tinvwl-table-manage-list button.button.alt:hover {
    background-color: #B89863 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(201, 168, 117, 0.25) !important;
}

/* === Wishlist secondary buttons (bulk actions) — outlined gold === */
.tinv-wishlist button.button:not(.alt),
.tinv-wishlist a.button:not(.alt),
.tinv-wishlist input.button:not(.alt),
.tinvwl-table-manage-list button.button:not(.alt) {
    background-color: transparent !important;
    color: var(--color-charcoal, #1A1612) !important;
    border: 1px solid rgba(201, 168, 117, 0.5) !important;
    border-radius: 6px !important;
    padding: 0.6rem 1rem !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}
.tinv-wishlist button.button:not(.alt):hover,
.tinv-wishlist a.button:not(.alt):hover,
.tinvwl-table-manage-list button.button:not(.alt):hover {
    background-color: var(--color-gold, #C9A875) !important;
    color: var(--color-charcoal, #1A1612) !important;
    border-color: var(--color-gold, #C9A875) !important;
}

/* === Bulk action dropdown — brand consistency === */
.tinv-wishlist select,
.tinvwl-table-manage-list select {
    padding: 0.6rem 0.75rem !important;
    border: 1px solid rgba(201, 168, 117, 0.3) !important;
    border-radius: 6px !important;
    font-family: 'DM Sans', sans-serif !important;
    background-color: #FFFFFF !important;
    color: var(--color-charcoal, #1A1612) !important;
}


/* ============================================
   FIX: SEARCH PADDING RESET ON MYACCOUNT
   ============================================
   Completes FIX: MYACCOUNT GRID SCOPE. The original
   broad rule body.woocommerce-account .woocommerce
   applies padding: 0 0 80px 0 which is inherited
   by ANY descendant with woocommerce class — including
   the FiboSearch search wrapper (className contains
   "woocommerce" as part of plugin styling).
   
   Result: search wrapp height = 60px form + 80px
   inherited padding = 140px total, pushing util-icons
   into a stacked layout below the search.
   
   Reset padding/margin on header-scoped elements with
   woocommerce class to fix flex alignment. */
body.woocommerce-account .header-utilities .dgwt-wcas-search-wrapp,
body.woocommerce-account header .woocommerce,
body.woocommerce-account .site-header .woocommerce,
body.woocommerce-account .header-utilities .woocommerce {
    padding: 0 !important;
    margin-bottom: 0 !important;
}


/* ============================================
   FIX: SHOP BUTTON LOADING + VIEW CART CLEANUP
   ============================================
   1. WC default loading spinner sits absolutely
      positioned over the button text. Push inline
      with proper spacing.
   2. "Καλάθι" view cart link after add-to-cart is
      redundant (side cart drawer auto-opens + 3 other
      cart access points). Hide for cleaner UI.
*/
.woocommerce .button.loading::after,
.woocommerce-page .button.loading::after,
ul.products .button.loading::after,
body.archive .button.loading::after,
body.post-type-archive-product .button.loading::after {
    position: static !important;
    margin-left: 10px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    top: auto !important;
    right: auto !important;
}
.woocommerce a.added_to_cart,
.woocommerce-page a.added_to_cart,
ul.products a.added_to_cart,
body.archive a.added_to_cart,
body.post-type-archive-product a.added_to_cart {
    display: none !important;
}


/* ============================================
   FIX: VIEW CART LINK HIDE - SPECIFICITY BUMP
   ============================================
   Previous SHOP BUTTON LOADING + VIEW CART CLEANUP
   applied display:none with specificity (0,2,2), but
   existing rule has (0,3,4). Matching specificity here
   and relying on source order to win.
*/
body.post-type-archive-product ul.products li.product a.added_to_cart,
body.tax-product_cat ul.products li.product a.added_to_cart,
body.tax-product_tag ul.products li.product a.added_to_cart,
body.woocommerce-shop ul.products li.product a.added_to_cart {
    display: none !important;
}


/* ============================================
   FIX: SHOP PRODUCT IMAGE CONSISTENCY
   ============================================
   Default object-fit: cover crops images differently
   based on aspect ratio, causing inconsistent display
   across products. Switch to object-fit: contain to
   show entire image centered, with subtle ivory bg
   for visual consistency across varying supplier 
   image qualities. Defensive measure.
*/
body.post-type-archive-product ul.products li.product img.wp-post-image,
body.post-type-archive-product ul.products li.product img.attachment-woocommerce_thumbnail,
body.post-type-archive-product ul.products li.product a img,
body.tax-product_cat ul.products li.product img.wp-post-image,
body.tax-product_cat ul.products li.product a img,
body.tax-product_tag ul.products li.product img.wp-post-image,
body.tax-product_tag ul.products li.product a img,
body.woocommerce-shop ul.products li.product img.wp-post-image,
body.woocommerce-shop ul.products li.product a img {
    object-fit: contain !important;
    object-position: center center !important;
    background-color: #FAF6F0 !important;
    padding: 8px !important;
    box-sizing: border-box !important;
}


/* ============================================
   STYLE: ORDER RECEIVED PAGE PREMIUM
   ============================================
   Transforms default WC order-received page into 
   branded Auraluxe experience:
   - Hero section with gold checkmark + clean typography
   - 4 branded cards for order overview
   - Restyled order items table
   - Fixed customer details alignment
   - Premium CTA buttons
*/

/* Page container — ivory background */
body.woocommerce-order-received,
body.woocommerce-checkout.woocommerce-order-received {
    background: #FAF6F0;
}

body.woocommerce-order-received .site-content,
body.woocommerce-order-received .content-area,
body.woocommerce-order-received main {
    background: transparent;
    padding-top: 60px;
    padding-bottom: 80px;
}

/* HERO — H1 thank you message */
body.woocommerce-order-received .entry-title,
body.woocommerce-order-received h1.page-title {
    text-align: center !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 48px !important;
    font-weight: 400 !important;
    color: #1A1612 !important;
    margin: 0 auto 16px !important;
    max-width: 800px;
    letter-spacing: -0.5px;
}

/* Override default WC notice */
body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-notice--success,
body.woocommerce-order-received p.woocommerce-thankyou-order-received {
    text-align: center !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 16px !important;
    color: #6B5D4F !important;
    background: transparent !important;
    border: none !important;
    padding: 0 0 40px 0 !important;
    margin: 0 auto !important;
    max-width: 600px;
    line-height: 1.6;
}

/* Gold checkmark before hero */
body.woocommerce-order-received .entry-title::before,
body.woocommerce-order-received h1.page-title::before {
    content: "✓";
    display: block;
    width: 64px;
    height: 64px;
    line-height: 64px;
    margin: 0 auto 24px;
    background: #C9A875;
    color: #FAF6F0;
    border-radius: 50%;
    font-size: 32px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(201, 168, 117, 0.25);
}

/* ORDER OVERVIEW — 4 Branded Cards */
body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-received ul.order_details {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    max-width: 1000px;
    margin: 0 auto 60px !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-order-received ul.order_details li {
    display: block !important;
    float: none !important;
    background: #FFFFFF !important;
    border: 1px solid #E8DFD0 !important;
    border-radius: 8px;
    padding: 24px 20px !important;
    text-align: center;
    margin: 0 !important;
    list-style: none !important;
    color: #6B5D4F !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    border-bottom: 1px solid #E8DFD0 !important;
    line-height: 1.4;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong,
body.woocommerce-order-received ul.order_details li strong {
    display: block;
    margin-top: 12px;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: #1A1612 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.3;
    word-break: break-word;
}

/* ORDER DETAILS — Section headings */
body.woocommerce-order-received h2,
body.woocommerce-order-received section.woocommerce-order-details h2,
body.woocommerce-order-received section.woocommerce-customer-details h2 {
    text-align: left !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    color: #1A1612 !important;
    margin: 60px 0 24px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid #C9A875;
    max-width: 1000px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ORDER ITEMS TABLE */
body.woocommerce-order-received table.shop_table,
body.woocommerce-order-received table.woocommerce-table--order-details {
    max-width: 1000px;
    margin: 0 auto 60px !important;
    border: 1px solid #E8DFD0 !important;
    border-radius: 8px;
    overflow: hidden;
    background: #FFFFFF;
    border-collapse: separate !important;
    border-spacing: 0;
}

body.woocommerce-order-received table.shop_table thead th {
    background: #FAF6F0 !important;
    color: #6B5D4F !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 16px !important;
    border-bottom: 1px solid #E8DFD0 !important;
}

body.woocommerce-order-received table.shop_table tbody td {
    padding: 20px 16px !important;
    border-top: 1px solid #F0E8DC !important;
    color: #1A1612;
    font-family: 'DM Sans', sans-serif;
}

body.woocommerce-order-received table.shop_table tbody td a {
    color: #1A1612 !important;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid #C9A875;
}

body.woocommerce-order-received table.shop_table tbody td a:hover {
    color: #C9A875 !important;
}

body.woocommerce-order-received table.shop_table tfoot th {
    background: #FAF6F0 !important;
    color: #1A1612 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 500 !important;
    padding: 16px !important;
    text-align: right;
    border-top: 1px solid #E8DFD0 !important;
}

body.woocommerce-order-received table.shop_table tfoot td {
    background: #FAF6F0 !important;
    padding: 16px !important;
    color: #1A1612 !important;
    border-top: 1px solid #E8DFD0 !important;
}

/* Final total row */
body.woocommerce-order-received table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child td {
    background: #1A1612 !important;
    color: #FAF6F0 !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    border: none !important;
}

/* CUSTOMER DETAILS — Fix alignment */
body.woocommerce-order-received .woocommerce-customer-details {
    max-width: 1000px;
    margin: 0 auto;
}

body.woocommerce-order-received .woocommerce-customer-details address {
    background: #FFFFFF;
    border: 1px solid #E8DFD0;
    border-radius: 8px;
    padding: 24px;
    font-style: normal;
    font-family: 'DM Sans', sans-serif;
    line-height: 1.8;
    color: #1A1612;
}

body.woocommerce-order-received .woocommerce-column__title {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 22px !important;
    color: #1A1612 !important;
    margin-bottom: 16px !important;
    text-align: left !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    body.woocommerce-order-received .entry-title,
    body.woocommerce-order-received h1.page-title {
        font-size: 32px !important;
    }
    
    body.woocommerce-order-received ul.woocommerce-order-overview,
    body.woocommerce-order-received ul.order_details {
        grid-template-columns: repeat(2, 1fr);
    }
    
    body.woocommerce-order-received .site-content,
    body.woocommerce-order-received .content-area {
        padding-top: 40px;
        padding-bottom: 60px;
    }
}

@media (max-width: 480px) {
    body.woocommerce-order-received ul.woocommerce-order-overview,
    body.woocommerce-order-received ul.order_details {
        grid-template-columns: 1fr;
    }
}


/* Fix WC clearfix pseudo-elements eating grid cells */
body.woocommerce-order-received ul.woocommerce-order-overview::before,
body.woocommerce-order-received ul.woocommerce-order-overview::after,
body.woocommerce-order-received ul.order_details::before,
body.woocommerce-order-received ul.order_details::after {
    display: none !important;
    content: none !important;
}


/* ============================================
   FIX: ORDER RECEIVED TABLE TOTAL ROW SCOPE
   ============================================
   Previous STYLE: ORDER RECEIVED used tfoot tr:last-child
   to make total row dark, but it accidentally caught the
   "Ενέργειες: Πληρωμή" payment action row in pending orders.
   Scope correctly to .order-total class only.
*/

/* Reset the over-broad :last-child rule */
body.woocommerce-order-received table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child td {
    background: #FAF6F0 !important;
    color: #1A1612 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: inherit !important;
    font-weight: 500 !important;
    border-top: 1px solid #E8DFD0 !important;
}

/* Apply dark style ONLY to the actual total row */
body.woocommerce-order-received table.shop_table tfoot tr.order-total th,
body.woocommerce-order-received table.shop_table tfoot tr.order-total td {
    background: #1A1612 !important;
    color: #FAF6F0 !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    border: none !important;
    padding: 18px 16px !important;
}

/* Pending payment "Ενέργειες" row — subtle, secondary */
body.woocommerce-order-received table.shop_table tfoot tr:last-child:not(.order-total) th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child:not(.order-total) td {
    background: #FAF6F0 !important;
    color: #6B5D4F !important;
    font-style: italic;
    border-top: 1px solid #E8DFD0 !important;
}


/* ============================================
   FIX: ORDER RECEIVED TOTAL ROW HAS SELECTOR
   ============================================
   WC version σε αυτή τη συγκεκριμένη εγκατάσταση
   δεν εκπέμπει .order-total class στα tfoot rows.
   Χρησιμοποιούμε modern CSS :has() για να βρούμε
   ΜΟΝΟ το πραγματικό total (το last row με .amount).
   Browser support: Chrome/Edge/Safari/Firefox 121+ (2024+).
*/

/* Reset all tfoot rows to ivory baseline */
body.woocommerce-order-received table.shop_table tfoot tr th,
body.woocommerce-order-received table.shop_table tfoot tr td {
    background: #FAF6F0 !important;
    color: #1A1612 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    border-top: 1px solid #E8DFD0 !important;
    padding: 14px 16px !important;
}

/* The TOTAL row: last tfoot row that contains .amount (no button) */
body.woocommerce-order-received table.shop_table tfoot tr:has(.amount):last-of-type:not(:has(a.button)) th,
body.woocommerce-order-received table.shop_table tfoot tr:has(.amount):last-of-type:not(:has(a.button)) td {
    background: #1A1612 !important;
    color: #FAF6F0 !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    border: none !important;
    padding: 18px 16px !important;
}

/* The amount value inside total row — bigger, premium */
body.woocommerce-order-received table.shop_table tfoot tr:has(.amount):last-of-type:not(:has(a.button)) .amount {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #FAF6F0 !important;
}

/* Pending payment "Ενέργειες" row — subtle, italic, secondary */
body.woocommerce-order-received table.shop_table tfoot tr:has(a.button) th,
body.woocommerce-order-received table.shop_table tfoot tr:has(a.button) td {
    background: #FAF6F0 !important;
    color: #6B5D4F !important;
    font-style: italic !important;
    border-top: 1px solid #E8DFD0 !important;
}

/* Style the "Πληρωμή" button inside actions row */
body.woocommerce-order-received table.shop_table tfoot tr:has(a.button) a.button {
    background: #C9A875 !important;
    color: #FAF6F0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    padding: 10px 24px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-left: 12px !important;
    border: none !important;
}

body.woocommerce-order-received table.shop_table tfoot tr:has(a.button) a.button:hover {
    background: #1A1612 !important;
    color: #FAF6F0 !important;
}


/* ============================================
   STYLE: THANK YOU TIMELINE + CTAS
   ============================================
   Styling for MU plugin injected sections:
   - .auraluxe-whats-next (4-step timeline)
   - .auraluxe-thankyou-cta (primary + secondary buttons)
   - .auraluxe-thankyou-footer (closing message)
*/

/* ===== TIMELINE SECTION ===== */
.auraluxe-whats-next {
    max-width: 1000px;
    margin: 60px auto 0 !important;
    padding: 0 20px;
}

.auraluxe-whats-next__title {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    color: #1A1612 !important;
    margin: 0 0 32px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid #C9A875;
    text-align: left !important;
}

/* Reset default ol/li numbering */
.auraluxe-whats-next__timeline {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    counter-reset: none !important;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.auraluxe-whats-next__timeline li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.auraluxe-whats-next__timeline li::before,
.auraluxe-whats-next__timeline li::marker {
    display: none !important;
    content: none !important;
}

/* Each step card */
.auraluxe-whats-next__step {
    background: #FFFFFF;
    border: 1px solid #E8DFD0;
    border-radius: 8px;
    padding: 24px 20px;
    position: relative;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.auraluxe-whats-next__step:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(26, 22, 18, 0.08);
}

/* Active first step gets gold border */
.auraluxe-whats-next__step.is-active {
    border-color: #C9A875;
    box-shadow: 0 4px 16px rgba(201, 168, 117, 0.15);
}

/* Step number circle */
.auraluxe-whats-next__num {
    display: block !important;
    width: 48px;
    height: 48px;
    line-height: 48px;
    margin: 0 auto 16px;
    background: #FAF6F0;
    color: #6B5D4F;
    border: 1px solid #E8DFD0;
    border-radius: 50%;
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-weight: 500;
    text-align: center;
}

.auraluxe-whats-next__step.is-active .auraluxe-whats-next__num {
    background: #C9A875;
    color: #FAF6F0;
    border-color: #C9A875;
}

.auraluxe-whats-next__step h3 {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #1A1612 !important;
    margin: 0 0 8px !important;
    text-align: center !important;
}

.auraluxe-whats-next__step p {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    color: #6B5D4F !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    text-align: center !important;
}

/* ===== CTA CLUSTER ===== */
.auraluxe-thankyou-cta {
    max-width: 1000px;
    margin: 60px auto 0 !important;
    padding: 0 20px;
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.auraluxe-thankyou-cta__btn {
    display: inline-block;
    padding: 16px 40px;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    text-decoration: none !important;
    border-radius: 4px;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.auraluxe-thankyou-cta__btn--primary {
    background: #C9A875 !important;
    color: #FAF6F0 !important;
    border-color: #C9A875 !important;
}

.auraluxe-thankyou-cta__btn--primary:hover {
    background: #1A1612 !important;
    border-color: #1A1612 !important;
    color: #FAF6F0 !important;
}

.auraluxe-thankyou-cta__btn--secondary {
    background: transparent !important;
    color: #1A1612 !important;
    border-color: #1A1612 !important;
}

.auraluxe-thankyou-cta__btn--secondary:hover {
    background: #1A1612 !important;
    color: #FAF6F0 !important;
}

/* ===== FOOTER CLOSING MESSAGE ===== */
.auraluxe-thankyou-footer {
    max-width: 700px;
    margin: 48px auto 60px !important;
    padding: 0 20px;
    text-align: center;
}

.auraluxe-thankyou-footer p {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    color: #6B5D4F !important;
    line-height: 1.8 !important;
    margin: 0 !important;
}

.auraluxe-thankyou-footer p a {
    color: #C9A875 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #C9A875;
    transition: color 0.2s ease;
}

.auraluxe-thankyou-footer p a:hover {
    color: #1A1612 !important;
    border-bottom-color: #1A1612;
}

/* ===== MOBILE RESPONSIVE ===== */
@media (max-width: 768px) {
    .auraluxe-whats-next__timeline {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .auraluxe-whats-next__title {
        font-size: 24px !important;
    }
    
    .auraluxe-thankyou-cta {
        flex-direction: column;
        align-items: stretch;
    }
    
    .auraluxe-thankyou-cta__btn {
        text-align: center;
    }
}

@media (max-width: 480px) {
    .auraluxe-whats-next__timeline {
        grid-template-columns: 1fr;
    }
}


/* ============================================
   STYLE: 404 PAGE PREMIUM
   ============================================
   Transforms default GeneratePress 404 page into 
   branded Auraluxe experience:
   - Decorative oversized "404" Cormorant
   - Centered hero with premium typography
   - Restyled search form with gold accent
   - Page background ivory for warmth
*/

/* Page container — ivory background */
body.error404 {
    background: #FAF6F0;
}

body.error404 .site-content,
body.error404 .content-area,
body.error404 main {
    background: transparent;
    padding-top: 80px;
    padding-bottom: 80px;
}

/* Hide default H1 — we'll inject our own via ::before */
body.error404 .inside-article {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

/* Decorative oversized "404" before content */
body.error404 .inside-article::before {
    content: "404";
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-size: 180px;
    font-weight: 300;
    line-height: 1;
    color: #C9A875;
    letter-spacing: -5px;
    margin-bottom: 24px;
    opacity: 0.85;
}

/* H1 styling */
body.error404 .entry-title,
body.error404 h1.entry-title,
body.error404 .page-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 36px !important;
    font-weight: 400 !important;
    color: #1A1612 !important;
    margin: 0 auto 16px !important;
    line-height: 1.2;
    letter-spacing: -0.5px;
    text-align: center !important;
    max-width: 600px;
}

/* Hide default messages, we'll add custom ones via MU plugin */
body.error404 .entry-content > p:first-of-type {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 16px !important;
    color: #6B5D4F !important;
    line-height: 1.7 !important;
    margin: 0 auto 48px !important;
    text-align: center !important;
    max-width: 540px;
}

/* SEARCH FORM — Premium styling */
body.error404 .search-form,
body.error404 form.search-form {
    max-width: 500px;
    margin: 0 auto 48px !important;
    display: flex !important;
    gap: 0;
    background: #FFFFFF;
    border: 1px solid #E8DFD0;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.error404 .search-form:focus-within {
    border-color: #C9A875;
    box-shadow: 0 4px 16px rgba(201, 168, 117, 0.15);
}

body.error404 .search-form label {
    flex: 1;
    margin: 0 !important;
}

body.error404 .search-form .search-field,
body.error404 .search-form input[type="search"] {
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 16px 20px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    color: #1A1612 !important;
    box-shadow: none !important;
    outline: none !important;
}

body.error404 .search-form .search-field::placeholder {
    color: #B5A693;
    font-style: italic;
}

body.error404 .search-form .search-submit,
body.error404 .search-form button[type="submit"] {
    background: #C9A875 !important;
    color: #FAF6F0 !important;
    border: none !important;
    padding: 16px 32px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer;
    transition: background 0.2s ease;
}

body.error404 .search-form .search-submit:hover,
body.error404 .search-form button[type="submit"]:hover {
    background: #1A1612 !important;
}

/* Hide default screen-reader label visual */
body.error404 .search-form .screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    body.error404 .inside-article::before {
        font-size: 120px;
        margin-bottom: 16px;
    }
    
    body.error404 .entry-title,
    body.error404 h1.entry-title {
        font-size: 28px !important;
    }
    
    body.error404 .site-content,
    body.error404 .content-area {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    
    body.error404 .search-form {
        flex-direction: column;
    }
    
    body.error404 .search-form .search-submit {
        width: 100%;
    }
}

@media (max-width: 480px) {
    body.error404 .inside-article::before {
        font-size: 90px;
    }
    
    body.error404 .entry-title,
    body.error404 h1.entry-title {
        font-size: 24px !important;
    }
}


/* ============================================
   FIX: 404 HIDE SEARCH FORM
   ============================================
   Hide default WP search form from 404 page.
   Header has FiboSearch (premium product search) 
   which is more functional and on-brand.
*/

body.error404 .search-form,
body.error404 form.search-form {
    display: none !important;
}


/* ============================================
   STYLE: 404 COPY OVERRIDE
   ============================================
   Replaces default GeneratePress 404 text with 
   branded formal Greek copy.
   - Hides original H1 + paragraph content
   - Injects new branded copy via ::before pseudos
   - CSS-only (no PHP/JS dependencies)
*/

/* Hide original H1 text but preserve element for SEO */
body.error404 .entry-title,
body.error404 h1.entry-title,
body.error404 .page-title {
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 auto 16px !important;
    height: auto !important;
}

/* Inject custom branded H1 text */
body.error404 .entry-title::before,
body.error404 h1.entry-title::before,
body.error404 .page-title::before {
    content: "Η σελίδα που αναζητάτε δεν υπάρχει";
    display: block;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 36px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #1A1612 !important;
    letter-spacing: -0.5px;
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}

/* Hide original paragraph text */
body.error404 .entry-content > p:first-of-type {
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 auto 48px !important;
    height: auto !important;
}

/* Inject custom paragraph text */
body.error404 .entry-content > p:first-of-type::before {
    content: "Φαίνεται ότι ο σύνδεσμος δεν λειτουργεί ή η σελίδα έχει μετακινηθεί. Δοκιμάστε την αναζήτηση από το επάνω μέρος της σελίδας ή επιστρέψτε στην αρχική.";
    display: block;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    color: #6B5D4F !important;
    text-align: center;
    max-width: 540px;
    margin: 0 auto;
}

/* Mobile responsive */
@media (max-width: 768px) {
    body.error404 .entry-title::before,
    body.error404 h1.entry-title::before {
        font-size: 28px !important;
    }
    
    body.error404 .entry-content > p:first-of-type::before {
        font-size: 15px !important;
    }
}

@media (max-width: 480px) {
    body.error404 .entry-title::before,
    body.error404 h1.entry-title::before {
        font-size: 24px !important;
    }
}


/* ============================================
   STYLE: COOKIE BANNER PREMIUM
   ============================================
   Custom polish layer για Complianz cookie banner.
   Native settings (colors, position, radius) handled in plugin.
   This block adds:
   - Premium typography (Cormorant + DM Sans)
   - Letter-spacing + uppercase για CTAs
   - Smooth hover transitions
   - Border-top accent line
   - Mobile responsive refinements
*/

/* BANNER CONTAINER */
.cmplz-cookiebanner.cmplz-bottom {
    border-top: 1px solid #E8DFD0 !important;
    box-shadow: 0 -4px 24px rgba(26, 22, 18, 0.06) !important;
    padding: 24px 40px !important;
}

/* TITLE — Premium serif */
.cmplz-cookiebanner .cmplz-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: #1A1612 !important;
    letter-spacing: -0.3px;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}

/* BODY MESSAGE — Sans serif */
.cmplz-cookiebanner .cmplz-message {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #6B5D4F !important;
    line-height: 1.6 !important;
    margin-bottom: 16px !important;
}

/* HYPERLINKS in body */
.cmplz-cookiebanner .cmplz-message a,
.cmplz-cookiebanner a:not(.cmplz-btn):not(.cmplz-close) {
    color: #7A6448 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.cmplz-cookiebanner .cmplz-message a:hover,
.cmplz-cookiebanner a:not(.cmplz-btn):not(.cmplz-close):hover {
    color: #1A1612 !important;
}

/* BUTTONS — Premium CTA styling */
.cmplz-cookiebanner .cmplz-btn {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 12px 24px !important;
    transition: all 0.2s ease !important;
    cursor: pointer;
}

/* ACCEPT button — Gold primary */
.cmplz-cookiebanner .cmplz-accept {
    border: 1px solid #C9A875 !important;
}

.cmplz-cookiebanner .cmplz-accept:hover {
    background: #1A1612 !important;
    border-color: #1A1612 !important;
    color: #FAF6F0 !important;
}

/* DENY button — Outlined charcoal */
.cmplz-cookiebanner .cmplz-deny:hover {
    background: #1A1612 !important;
    color: #FAF6F0 !important;
}

/* SETTINGS button — Tertiary */
.cmplz-cookiebanner .cmplz-view-preferences:hover {
    background: #6B5D4F !important;
    color: #FAF6F0 !important;
    border-color: #6B5D4F !important;
}

/* CLOSE button (X) */
.cmplz-cookiebanner .cmplz-close {
    color: #6B5D4F !important;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.cmplz-cookiebanner .cmplz-close:hover {
    opacity: 1;
}

/* PREFERENCES PANEL — Same typography */
.cmplz-categories .cmplz-category-header {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 18px !important;
    color: #1A1612 !important;
    font-weight: 400 !important;
}

.cmplz-categories .cmplz-description {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    color: #6B5D4F !important;
    line-height: 1.6 !important;
}

/* FLOATING REOPENER TAB (μετά consent) */
.cmplz-cookiebanner-revoke {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    background: #FAF6F0 !important;
    color: #1A1612 !important;
    border: 1px solid #C9A875 !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 8px 16px !important;
    transition: all 0.2s ease;
}

.cmplz-cookiebanner-revoke:hover {
    background: #C9A875 !important;
    color: #1A1612 !important;
}

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .cmplz-cookiebanner.cmplz-bottom {
        padding: 20px 24px !important;
    }
    
    .cmplz-cookiebanner .cmplz-title {
        font-size: 20px !important;
    }
    
    .cmplz-cookiebanner .cmplz-message {
        font-size: 13px !important;
    }
    
    /* Stack buttons vertically στα mobile */
    .cmplz-cookiebanner .cmplz-buttons {
        flex-direction: column !important;
        gap: 8px !important;
        width: 100%;
    }
    
    .cmplz-cookiebanner .cmplz-btn {
        width: 100% !important;
        padding: 14px 20px !important;
    }
}

@media (max-width: 480px) {
    .cmplz-cookiebanner.cmplz-bottom {
        padding: 16px 20px !important;
    }
    
    .cmplz-cookiebanner .cmplz-title {
        font-size: 18px !important;
    }
}


/* ============================================
   STYLE: COOKIE BANNER PREFERENCES FIX
   ============================================
   Targeted typography fix για preferences panel categories.
   B3 selectors used .cmplz-categories ancestor που δεν υπάρχει.
   B3.5 χρησιμοποιεί correct DOM structure:
   - Real container: .cmplz-cookiebanner > details.cmplz-category
   - Title text: .cmplz-category-title (deepest span)
   - Description: .cmplz-description (sibling of summary)
*/

/* CATEGORY TITLES — Cormorant Garamond serif */
.cmplz-cookiebanner details.cmplz-category summary,
.cmplz-cookiebanner details.cmplz-category summary .cmplz-category-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #1A1612 !important;
    letter-spacing: -0.2px;
    line-height: 1.3 !important;
}

/* SUMMARY container spacing */
.cmplz-cookiebanner details.cmplz-category summary {
    padding: 12px 0 !important;
    cursor: pointer;
    transition: color 0.2s ease;
}

.cmplz-cookiebanner details.cmplz-category summary:hover {
    color: #6B5D4F !important;
}

/* CATEGORY DESCRIPTIONS — Explicit DM Sans */
.cmplz-cookiebanner details.cmplz-category .cmplz-description {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #6B5D4F !important;
    line-height: 1.6 !important;
    padding: 8px 0 16px !important;
    margin: 0 !important;
}

/* "Πάντα ενεργό" / "Always active" badge */
.cmplz-cookiebanner details.cmplz-category .cmplz-always-active {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    color: #6B5D4F !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-left: 12px;
}

/* Category separator (subtle line between categories) */
.cmplz-cookiebanner details.cmplz-category {
    border-bottom: 1px solid #E8DFD0 !important;
    padding: 4px 0 !important;
}

.cmplz-cookiebanner details.cmplz-category:last-of-type {
    border-bottom: none !important;
}

/* Open state — subtle highlight */
.cmplz-cookiebanner details.cmplz-category[open] summary .cmplz-category-title {
    color: #C9A875 !important;
}

/* MOBILE — Smaller sizes */
@media (max-width: 768px) {
    .cmplz-cookiebanner details.cmplz-category summary,
    .cmplz-cookiebanner details.cmplz-category summary .cmplz-category-title {
        font-size: 16px !important;
    }
    
    .cmplz-cookiebanner details.cmplz-category .cmplz-description {
        font-size: 12px !important;
    }
}

/* ============================================
   HIDE: FOOTER NEWSLETTER SECTION
   ============================================
   Newsletter form temporarily disabled pending client decision.
   The form was broken (action=/wishlist-page/, missing name attr).
   Decision: Hide entirely until client confirms newsletter strategy.

   To restore: Remove this block and fix form action in footer.php
   (lines 63-71). MailPoet integration needed for working form.

   Date: 27 May 2026
*/

/* Hide newsletter column entirely */
.site-footer .footer-col.footer-newsletter {
    display: none !important;
}

/* Grid reflow — 4 columns → 3 columns (desktop only) */
@media (min-width: 901px) {
    .site-footer .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr !important;
    }
}


/* ============================================
   HIDE: BROKEN PRE-LAUNCH FOOTER LINKS
   ============================================
   8 broken footer links temporarily hidden pending client content:
   
   Εξυπηρέτηση column (4 links — hide entire column):
   - Αποστολή & Παράδοση
   - Επιστροφές & Αλλαγές
   - Συχνές Ερωτήσεις
   - Επικοινωνία
   
   Κατηγορίες column (4 of 5 links — hide selectively, keep "Όλα τα Προϊόντα"):
   - Skincare
   - Makeup
   - Korean Routine
   - Brands
   
   Combined with HIDE: FOOTER NEWSLETTER SECTION (already hidden),
   footer goes from 4 columns → 2 visible columns.
   
   To restore: Remove this block + uncomment relevant footer.php links
   when client provides content for missing pages.
   
   Date: 27 May 2026
*/

/* Hide Εξυπηρέτηση column (2nd footer-col, all 4 links broken) */
.site-footer .footer-col:nth-child(2) {
    display: none !important;
}

/* Hide broken links in Κατηγορίες col (keep only "Όλα τα Προϊόντα" / first item) */
.site-footer .footer-col:nth-child(3) ul.footer-links li:not(:first-child) {
    display: none !important;
}

/* Grid reflow — supersedes previous 3-col rule */
@media (min-width: 901px) {
    .site-footer .footer-grid {
        grid-template-columns: 1.5fr 1fr !important;
    }
}

/* Mobile: 2 visible cols */
@media (max-width: 900px) {
    .site-footer .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .site-footer .footer-grid {
        grid-template-columns: 1fr;
    }
}


/* ============================================
   STYLE: SHOP PRODUCT CARD UNIFICATION
   ============================================
   Forces flex-column layout on /shop/ WC product cards 
   so buttons + prices align consistently when products 
   with variable title lengths are added.
   
   Homepage uses custom .product-card markup with flex-column.
   /shop/ uses default WC ul.products markup with list-item.
   This block bridges them.
   
   Date: 27 May 2026
*/

/* Force flex-column layout on shop product cards */
.woocommerce ul.products li.product,
ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Title min-height for consistent card heights (1 vs 2 line titles) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2.woocommerce-loop-product__title,
ul.products li.product h3.woocommerce-loop-product__title {
    min-height: 2.6em !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1A1612 !important;
    text-transform: none !important;
    letter-spacing: 0.2px !important;
}

/* Price consistent height */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
    min-height: 1.5em !important;
    margin-bottom: 12px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #1A1612 !important;
}

.woocommerce ul.products li.product .price ins,
ul.products li.product .price ins {
    color: #C9A875 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.woocommerce ul.products li.product .price del,
ul.products li.product .price del {
    color: #6B5D4F !important;
    opacity: 0.6;
    margin-right: 8px;
}

/* Button pushed to bottom + match homepage button style */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
    margin-top: auto !important;
    background: #1A1612 !important;
    color: #FAF6F0 !important;
    border: 1px solid #1A1612 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 12px 20px !important;
    border-radius: 0 !important;
    transition: all 0.2s ease !important;
    width: 100%;
    text-align: center;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover {
    background: #C9A875 !important;
    border-color: #C9A875 !important;
    color: #1A1612 !important;
}

/* "Added" state */
.woocommerce ul.products li.product .added_to_cart {
    display: block !important;
    margin-top: 8px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    color: #6B5D4F !important;
    text-align: center !important;
    text-decoration: underline !important;
}

/* Sale badge polish */
.woocommerce ul.products li.product .onsale {
    background: #1A1612 !important;
    color: #FAF6F0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 6px 12px !important;
    border-radius: 0 !important;
    border: none !important;
    min-height: auto !important;
    line-height: 1 !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
}

/* Image hover subtle scale */
.woocommerce ul.products li.product a img,
ul.products li.product a img {
    transition: transform 0.4s ease !important;
}
.woocommerce ul.products li.product:hover a img,
ul.products li.product:hover a img {
    transform: scale(1.03);
}


/* ============================================
   STYLE: HEADER DROPDOWN CATEGORIES
   ============================================
   Dropdown behavior για το custom .primary-nav navigation.
   Το child theme custom nav δεν κληρονομεί τα GeneratePress 
   dropdown styles, οπότε αυτό το block το προσθέτει:
   - Submenu hidden by default (position absolute)
   - Reveal on hover/focus με fade
   - Brand-colored dropdown (#1a1612 bg)
   - Caret indicator (▾) με rotation
   
   Μεταφέρθηκε από Customizer Additional CSS για consistency 
   + migration safety (theme file αντί database).
   
   Date: 27 May 2026
*/
/* Parent li becomes positioning context */
.primary-nav .nav-menu li.menu-item-has-children {
  position: relative;
}
/* Hide submenu by default, position it as an absolute dropdown */
.primary-nav .nav-menu li.menu-item-has-children > .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 230px;
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  background-color: #1a1612;
  border: 1px solid rgba(234, 217, 192, 0.15);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 999;
}
/* Reveal on hover / keyboard focus */
.primary-nav .nav-menu li.menu-item-has-children:hover > .sub-menu,
.primary-nav .nav-menu li.menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
/* Submenu items */
.primary-nav .nav-menu li.menu-item-has-children > .sub-menu li {
  margin: 0;
  width: 100%;
}
.primary-nav .nav-menu li.menu-item-has-children > .sub-menu a {
  display: block;
  padding: 0.55rem 1.25rem;
  white-space: nowrap;
  color: #f5f0e8;
  font-size: 12px;
  letter-spacing: 0.04em;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.primary-nav .nav-menu li.menu-item-has-children > .sub-menu a:hover {
  background-color: rgba(234, 217, 192, 0.08);
  color: #d4af7a;
}
/* Small caret indicator on the parent */
.primary-nav .nav-menu li.menu-item-has-children > a::after {
  content: "\25BE";
  display: inline-block;
  margin-left: 0.4em;
  font-size: 0.8em;
  transition: transform 0.18s ease;
}
.primary-nav .nav-menu li.menu-item-has-children:hover > a::after {
  transform: rotate(180deg);
}


/* ============================================
   STYLE: SHOP CARD GRID ALIGNMENT
   ============================================
   Diorthonei to misalignment ton prices + add-to-cart
   buttons sto shop + category grids.

   Provlima: Oi titloi poikilloun 2-4 grammes, opote to price
   + button epeftan se diaforetiko ypsos ana card.

   Lysi (Option B - full titles):
   - Title reserve 4 lines (90px) -- oloi oi titloi plireis, no truncation
   - Price + button margin-top: auto -> pinned sto bottom
   - Consistent alignment se kathe row

   Simeiosi: title/price zoun MESA sto .woocommerce-LoopProduct-link
   (ochi direct flex children), gi' afto to link ginetai flex column.

   Date: 27 May 2026
*/

/* Card = flex column */
.woocommerce ul.products li.product,
ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}

/* Inner link wraps image+title+price -- flex column, grows */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
ul.products li.product > a.woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100%;
}

/* Title: reserve 4 lines (full titles, no clamp) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
    min-height: 90px !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
}

/* Price: pushed to bottom of link block + consistent height */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
    margin-top: auto !important;
    min-height: 24px !important;
    margin-bottom: 14px !important;
}

/* Button: pinned to card bottom -> all buttons align across row */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button,
ul.products li.product .button.add_to_cart_button,
ul.products li.product .button {
    margin-top: auto !important;
}


/* ============================================
   STYLE: HOMEPAGE BESTSELLERS GRID
   ============================================
   Fix gia to "Best Sellers" section sto homepage.

   Provlima: To [products] shortcode fernei wrapper
   (div.woocommerce > ul.products) pou katarreei se 1 grid
   column. To ul.products den epairne grid (CSS scoped se
   shop/category mono) -> float fallback -> strimogmena 63px.

   Lysi: Kane to ul.products to grid (opos sto shop):
   - Outer .products-grid -> block (ochi grid)
   - ul.products -> grid 4 cols + gap (idio me shop)
   - li.product -> reset float/width (proper grid items)

   Date: 27 May 2026
*/

/* 1. Outer wrapper: block (let the ul be the grid) */
.bestsellers-section .products-grid {
    display: block !important;
    grid-template-columns: none !important;
}

/* 2. ul.products = 4-col grid (same as shop) */
.bestsellers-section ul.products,
.bestsellers-section .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 40px 32px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. Reset float fallback -> proper grid items */
.bestsellers-section ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    clear: none !important;
}

/* Responsive: 2 cols tablet, 1 col mobile */
@media (max-width: 992px) {
    .bestsellers-section ul.products,
    .bestsellers-section .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 576px) {
    .bestsellers-section ul.products,
    .bestsellers-section .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* ============================================
   STYLE: HOMEPAGE BESTSELLERS GRID PSEUDO FIX
   ============================================
   Symplirosi tou parapano fix. To WooCommerce ul.products
   exei ::before/::after (content:" "; display:table) gia
   palio float clearfix. Se grid context auta ginontai grid
   items -> katalamvanoun cells -> to 4o product tyligetai
   se 2i seira. Lysi: display:none sta pseudo-elements.
   Date: 27 May 2026
*/
.bestsellers-section ul.products::before,
.bestsellers-section ul.products::after,
.bestsellers-section .woocommerce ul.products::before,
.bestsellers-section .woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}
/* === CONCERN TILE IMAGE UPGRADE === */
.concern-tile { padding: 0; border-radius: 16px; overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,.06); border: 1px solid rgba(0,0,0,.04); }
.concern-tile:hover { transform: translateY(-6px);
  box-shadow: 0 14px 32px rgba(0,0,0,.12); border-color: rgba(201,168,117,.35); }
.concern-image { width: 100%; aspect-ratio: 4/3; overflow: hidden; background:#ece5da; }
.concern-image img { width:100%; height:100%; object-fit:cover; display:block;
  transition: transform .5s ease; }
.concern-tile:hover .concern-image img { transform: scale(1.06); }
.concern-tile .concern-icon { margin: 20px 28px 0; }
.concern-tile h3 { margin: 8px 28px 6px; }
.concern-tile p  { margin: 0 28px 28px; }
/* "Όλα τα Προϊόντα" tile χωρίς εικόνα — κράτα padding */
.concern-tile:not(:has(.concern-image)) { padding: 48px 32px; }
.concern-tile:not(:has(.concern-image)) .concern-icon,
.concern-tile:not(:has(.concern-image)) h3,
.concern-tile:not(:has(.concern-image)) p { margin-left:0; margin-right:0; }
