/*
Theme Name: YTDelight
Theme URI: https://www.ytdelight.gr
Author: YTDelight
Author URI: https://www.ytdelight.gr
Description: Clean, light custom theme for YTDelight e-shop.
Version: 1.0.0
Text Domain: ytdelight
*/

/* =================
   0) Variables
   ================= */
:root{
  --yt-bg: #ffffff;
  --yt-text: #1b1b1b;
  --yt-muted: #6b7280;
  --yt-accent: #d9373a;
  --yt-accent-2: #2e7a4f;
  --yt-gold: #c5a34a;
  --yt-border: #e5e7eb;
  --yt-maxw: 1200px;
}

/* =================
   1) Base / Typography
   ================= */
@font-face{
  font-family: "Abrade";
  src: url("assets/fonts/abrade/Abrade-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal; font-display: swap;
}
@font-face{
  font-family: "Abrade";
  src: url("assets/fonts/abrade/Abrade-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal; font-display: swap;
}
:root{ --yt-font: "Abrade", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }

html{ box-sizing:border-box }
*,*:before,*:after{ box-sizing:inherit }
body{
  margin:0; font:20px/1.6 var(--yt-font);
  color: var(--yt-text); background: var(--yt-bg);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  font-weight:300;
}
img{ max-width:100%; height:auto; display:block }
a{ color:var(--yt-accent); text-decoration:none }
a:hover{ text-decoration:underline }
strong,b,h1,h2,h3,h4,h5,h6{ font-weight:700 }
.container{ max-width:var(--yt-maxw); margin:0 auto; padding:0 16px }
.muted{ color:var(--yt-muted) }
.separator{ height:1px; background:var(--yt-border); margin:26px 0 }
.section-title{ font-size:28px; margin:0 0 14px; line-height:1.2 }

/* =================
   2) Header (black) + nav + utils
   ================= */
.header{
  position:sticky; top:0; z-index:50;
  background:#000; color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 2px 12px rgba(0,0,0,.45);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0 }
.brand{ display:flex; align-items:center; gap:10px }
.brand img{ height:40px; width:auto }
.brand-name{ font-weight:700; letter-spacing:.2px; color:#fff }
.header a{ color:#fff }

.nav{ display:flex; gap:14px; align-items:center }
.nav li{ list-style:none }
.nav a{
  padding:8px 6px; color:#fff; text-decoration:none; border:0; background:transparent;
}
.nav a:hover{ opacity:.85; text-decoration:underline }
.nav .current-menu-item>a,
.nav .current-menu-ancestor>a{
  position:relative; text-decoration:none;
}
.nav .current-menu-item>a::after,
.nav .current-menu-ancestor>a::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px;
  background:var(--yt-accent); border-radius:2px;
}

.nav-toggle{ display:none; border:1px solid rgba(255,255,255,.25); padding:8px 10px; border-radius:8px; background:#111; color:#fff }
@media (max-width:900px){
  .nav{ display:none }
  .nav.open{ display:flex; flex-direction:column; padding:8px 0; background:#000; }
  .nav.open a{ width:100%; padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.08) }
  .nav.open li:last-child a{ border-bottom:0 }
  .nav-toggle{ display:inline-flex }
}

/* =================
   Header nav (robust mobile)
   ================= */

/* Desktop */
.nav{ display:flex; align-items:center; }
.nav .nav-list{
  display:flex; gap:14px; align-items:center;
  list-style:none; margin:0; padding:0;
}
.nav .nav-list li{ list-style:none; margin:0; padding:0; }
.nav .nav-list a{
  display:inline-flex;
  padding:8px 6px;
  color:#fff;
  text-decoration:none;
}

/* Mobile */
@media (max-width:900px){

  /* Κάνε το header να “σπάει” σε 2 σειρές σωστά */
  .header-inner{
    flex-wrap:wrap;
    align-items:center;
  }

  /* Brand αριστερά, utils δεξιά, toggle δίπλα */
  .brand{ flex: 1 1 auto; }
  .header-utils{ order: 2; }
  .nav-toggle{ order: 3; display:inline-flex; margin-left:8px; }

  /* Το nav γίνεται full-width panel ΚΑΤΩ από την πρώτη γραμμή */
  .nav{
    order: 4;
    width:100%;
    display:none;
    margin-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:10px;
  }
  .nav.open{ display:block; }

  .nav .nav-list{
    display:flex;
    flex-direction:column;
    gap:0;
    width:100%;
  }
  .nav .nav-list a{
    width:100%;
    padding:12px 10px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav .nav-list li:last-child a{ border-bottom:0; }

  /* Labels στο mobile μπορείς να τα κρύβεις όπως έχεις */
  .hu-label{ display:none; }
}


/* Header utilities (search/account/cart) */
.header-utils{ display:flex; align-items:center; gap:12px }
.hu-search form{ display:flex; align-items:center }
.hu-search input[type=search]{
  width:220px; max-width:36vw; padding:8px 10px; border-radius:10px;
  border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff;
}
.hu-search input::placeholder{ color:rgba(255,255,255,.7) }
.hu-search button, .hu-search input[type=submit]{ display:none }
.hu-item .hu-link{
  display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:700;
  padding:8px 10px; border-radius:12px; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14); text-decoration:none;
}
.hu-item .hu-link:hover{ transform:translateY(-1px); background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.25) }
.hu-ico{ font-size:18px; line-height:1 }
.hu-label{ font-size:14px }
.hu-badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 6px; margin-left:4px;
  border-radius:999px; font-size:12px; font-weight:800; color:#000; background:#fff; border:1px solid rgba(0,0,0,.1);
}
@media (max-width:900px){
  .hu-search input[type=search]{ width:150px }
  .hu-label{ display:none }
  .nav.open{ order:3; width:100% }
  .header-utils{ gap:8px }
}

/* =================
   3) Buttons / Cards / Newsletter
   ================= */
.btn{ display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:10px; border:1px solid var(--yt-border); font-weight:700 }
.btn-primary{ background:var(--yt-accent); color:#fff; border-color:transparent }
.btn-outline{ background:#fff; color:var(--yt-text) }
.card{ border:1px solid var(--yt-border); border-radius:16px; padding:18px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.03) }
.grid{ display:grid; gap:18px }
.grid-3{ grid-template-columns:repeat(3,1fr) }
@media (max-width:900px){ .grid-3{ grid-template-columns:1fr } }
.newsletter{ display:flex; gap:10px; flex-wrap:wrap }
.newsletter input[type=email]{ flex:1 1 260px; padding:12px 14px; border-radius:10px; border:1px solid var(--yt-border); font-size:16px }

/* =================
   4) Hero (full-bleed bg + fade)
   ================= */
.hero-modern{ position:relative; padding:76px 0 56px; min-height:56vh }
.hero-fullbleed{ position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw; overflow:hidden }
.hero-modern__inner{ position:relative; z-index:1; display:grid; gap:28px; grid-template-columns:1.1fr .9fr; align-items:center }
@media (max-width:900px){ .hero-modern__inner{ grid-template-columns:1fr } .hero-modern{ min-height:44vh } }

.hero-modern__bg{ position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat }
.hero-modern.has-bg .hero-modern__bg::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.45); pointer-events:none }
.hero-modern.has-bg .hero-modern__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(255,255,255,0) 65%, var(--yt-bg) 100%); pointer-events:none }
.hero-tag{ display:inline-block; padding:6px 10px; border-radius:999px; font-size:13px; font-weight:700; background:#000; color:var(--yt-accent-2); border:1px solid var(--yt-border) }
.hero-modern .hero-tag,
.hero-modern.has-bg .hero-modern__copy,
.hero-modern.has-bg .hero-modern__copy h1,
.hero-modern.has-bg .hero-modern__copy p,
.hero-modern.has-bg .hero-modern__copy .chip{ color:#fff }
.hero-modern__copy h1{ font-size:46px; line-height:1.08; margin:12px 0 10px }
.hero-modern__copy p{ font-size:18px; max-width:760px }
.chip-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px }
.chip{ padding:6px 10px; border:1px solid var(--yt-border); border-radius:999px; font-size:13px; background:#000; color:var(--yt-text) }

@media (max-width: 900px){
  .hero-modern__mood{
    display: none !important;
  }

  .hero-modern__inner{
    grid-template-columns: 1fr !important;
    justify-items: center;
    text-align: center;
  }

  .hero-modern__copy{
    max-width: 720px;
    margin: 0 auto;
  }

  .hero-modern__copy p{
    margin-left: auto;
    margin-right: auto;
  }

  .hero-cta{
    justify-content: center;
  }

  .chip-row{
    justify-content: center;
  }
}

/* =================
   5) Categories (mini grid 5x)
   ================= */
.grid-5{ display:grid; gap:22px; grid-template-columns:repeat(5,1fr) }
@media (max-width:1100px){ .grid-5{ grid-template-columns:repeat(4,1fr) } }
@media (max-width:900px){ .grid-5{ grid-template-columns:repeat(3,1fr) } }
@media (max-width:600px){ .grid-5{ grid-template-columns:repeat(2,1fr) } }

.category-mini{ display:flex; justify-content:center }
.category-mini__link{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:16px 18px; border:1px solid var(--yt-border); border-radius:16px; background:#fff;
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.category-mini__icon{
  width:114px; height:114px; border-radius:999px; background-size:cover; background-position:center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7), 0 2px 8px rgba(0,0,0,.06);
}
.category-mini__label{ font-weight:800; font-size:15.5px; text-align:center; color:var(--yt-text) }
.category-mini__link:hover{ transform:translateY(-1px); border-color:rgba(217,55,58,.35); box-shadow:0 8px 18px rgba(0,0,0,.08) }
@media (max-width:600px){ .category-mini__icon{ width:98px; height:98px } .category-mini__label{ font-size:15px } }

/* =================
   6) USPs (glass cards)
   ================= */
.usp-glass{ padding:20px 0 8px }
.usp-glass .grid-3{ gap:18px }
.usp-card{
  display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:18px;
  border:1px solid rgba(255,255,255,.45);
  background:linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.18));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 10px 24px rgba(0,0,0,.08);
  backdrop-filter: blur(10px) saturate(130%); -webkit-backdrop-filter: blur(10px) saturate(130%);
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.usp-card:hover{ transform:translateY(-1px); background:linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,.22)); border-color:rgba(255,255,255,.65); box-shadow:0 14px 30px rgba(0,0,0,.12) }
.usp-icon{ width:48px; height:48px; min-width:48px; border-radius:14px; display:grid; place-items:center; color:#c20303; background:rgba(255,255,255,.75); border:1px solid rgba(0,0,0,.06) }
.usp-copy h3{ margin:0; font-size:16px; line-height:1.2 }
.usp-copy p{ margin:2px 0 0; font-size:17px }
@media (max-width:900px){ .usp-card{ padding:14px } .usp-icon{ width:44px; height:44px } }

/* =================
   7) Site-wide body background image (Customizer)
   ================= */
body.has-site-bg{
  background-repeat:no-repeat; background-size:cover; background-position:center top; background-attachment:fixed;
}

/* =================
   8) WooCommerce — Archive with left sidebar
   ================= */

/* Layout */
.shop-layout{ display:grid; grid-template-columns:280px 1fr; gap:24px }
@media (max-width:900px){ .shop-layout{ grid-template-columns:1fr } }

/* Sidebar */
.shop-sidebar{ position:sticky; top:84px; align-self:start }
.shop-sidebar__toggle{ display:none; width:100%; padding:10px 12px; border-radius:12px; border:1px solid var(--yt-border); background:#fff; font-weight:700 }
.cat-list{ display:flex; flex-direction:column; gap:10px }
.cat-item{
  display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:10px;
  padding:10px 12px; border:1px solid var(--yt-border); border-radius:12px; background:#fff; color:var(--yt-text); text-decoration:none;
  transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.cat-item:hover{ transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.06); border-color:#ddd }
.cat-thumb{ width:40px; height:40px; border-radius:999px; background-size:cover; background-position:center }
.cat-name{ font-weight:800; font-size:14.5px }
.cat-count{ font-size:12px; color:var(--yt-muted); padding:2px 7px; border-radius:999px; background:#f3f4f6 }
.cat-children{ display:flex; flex-wrap:wrap; gap:8px 10px; margin:6px 0 12px 52px }
.cat-child{ font-size:13px; color:var(--yt-muted); text-decoration:none }
.cat-child:hover{ text-decoration:underline }

@media (max-width:900px){
  .shop-sidebar{ position:static }
  .shop-sidebar__toggle{ display:block; margin-bottom:10px }
  .cat-list{ display:none }
  .cat-list.open{ display:flex }
}

/* Toolbar */
.shop-toolbar{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:6px 0 12px }
.shop-toolbar__left{ display:flex; flex-direction:column; gap:6px }
.shop-title{ font-size:38px; line-height:1.1; margin:0; font-weight:800 }
.shop-result-count{ color:var(--yt-muted); font-size:14px }
.shop-ordering select{ padding:10px 12px; border-radius:10px; min-width:240px }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{ float:none; margin:0 }

/* Grid προϊόντων (responsive, γεμάτο) */
.woocommerce ul.products{ list-style:none; margin:0; padding:0 }
.shop-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:26px }
@media (max-width:560px){ .shop-grid{ grid-template-columns:1fr } }

/* Αν υπάρχει κάπου .grid-5 από παλιό CSS, το «ακυρώνουμε» στα archives */
.woocommerce ul.products.grid-5{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(280px,1fr)) !important;
  gap:26px !important;
}

/* Απενεργοποίηση floats/widths των default Woo items */
.woocommerce ul.products li.product{
  float:none !important; width:auto !important; margin:0 !important; clear:none !important; display:block;
}

/* Κάρτες προϊόντων (ταιριάζουν με content-product.php) */
.product-card.v2{
  padding:18px; border-radius:18px; border:1px solid var(--yt-border); background:#fff; box-shadow:0 6px 20px rgba(0,0,0,.04);
  transition: transform .15s ease, box-shadow .2s ease;
}
.product-card.v2:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.08) }
.product-card__media{ display:block }
.product-card__img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px }
.product-card__body{ margin-top:12px }
.product-card__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px }
.product-card__title{ margin:0; font-size:20px; line-height:1.25; font-weight:700 }
.product-card__title a{ color:var(--yt-text); text-decoration:none }
.product-card__title a:hover{ text-decoration:underline }
.product-card__price{ text-align:right; white-space:nowrap }
.product-card__price .price{ font-size:26px; font-weight:800; line-height:1 }
.product-card__price del{ opacity:.55; font-size:14px; margin-right:6px; display:inline-block }
.product-card__price ins{ text-decoration:none }
.product-card__cats{ margin:6px 0 12px; font-size:13.5px; color:var(--yt-muted) }
.product-card__cta .button{ width:100%; padding:12px 14px; border-radius:12px; font-weight:800; letter-spacing:.2px; background:var(--yt-accent); color:#fff; border:0 }
.product-card__cta .button:hover{ filter:brightness(.95) }
.product-card__price .amount{ font-size:inherit }

/* Single product μικρά tweaks */
.single-product .single-summary .price{ font-size:22px; font-weight:700 }
.single-product .product_title{ margin:0 0 6px }
.single-product .woocommerce-product-gallery__wrapper img{ border-radius:12px }

/* =================
   9) Footer
   ================= */
.footer{ border-top:1px solid var(--yt-border); margin-top:48px; padding:28px 0; color:var(--yt-muted) }
.footer a{ color:inherit }

/* ===== Footer (black) ===== */
.site-footer{ background:#000; color:#fff; }
.site-footer a{ color:#fff; text-decoration:none; }
.site-footer a:hover{ opacity:.85; text-decoration:underline; }

.footer-top{
  display:grid; gap:24px;
  grid-template-columns: 1fr 2fr 1fr;
  padding:28px 0;
}
@media (max-width: 900px){
  .footer-top{ grid-template-columns:1fr; }
}

.footer-col{ display:flex; flex-direction:column; gap:10px; }

/* Brand */
.footer-brand .brand{ align-items:center; gap:10px; text-decoration:none; }
.footer-brand .brand img{ height:40px; width:auto; }
.footer-brand .brand-name{ color:#fff; font-weight:800; }
.footer-brand .small{ font-size:13px; }

/* Links */
.footer-links{ display:grid; gap:22px; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px){ .footer-links{ grid-template-columns:1fr; } }

.footer-links h4{ margin:0 0 6px; font-size:15px; color:#fff; text-transform:uppercase; letter-spacing:.4px; }
.footer-menu{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.footer-menu li a{ color:#fff; font-size:14.5px; }

/* Social buttons (right) */
.footer-socials h4{ margin:0 0 6px; font-size:15px; text-transform:uppercase; letter-spacing:.4px; }
.socials{ display:flex; gap:10px; }
.sbtn{
  width:36px; height:36px; border-radius:999px;
  display:grid; place-items:center;
  background: rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.18);
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
}
.sbtn:hover{ transform: translateY(-1px); background: rgba(255,255,255,0.18); border-color: rgba(255,255,255,0.3); }
.sbtn svg{ display:block; color:#fff; }

/* Bottom strip */
.footer-bottom{ border-top:1px solid rgba(255,255,255,.08); padding:12px 0; }
.footer-bottom .copyright{ font-size:13px; }



/* ===== WooCommerce Buttons -> Red (yt-accent) ===== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.add_to_cart_button,
.single_add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce .checkout-button,
.wc-block-components-button,
.wc-block-components-button .wc-block-components-button__text {
  background: var(--yt-accent) !important;  /* κόκκινο */
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px;
  padding: 12px 14px;
  font-weight: 800;
  text-decoration: none;
}

/* Hover / Focus */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-components-button:hover {
  filter: brightness(0.95);
}

.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:focus,
.woocommerce .button.alt:focus,
.wc-block-components-button:focus {
  outline: 2px solid rgba(217,55,58,.35);
  outline-offset: 2px;
}

/* Disabled state */
.woocommerce .button.disabled,
.woocommerce .button:disabled,
.woocommerce .button:disabled[disabled],
.wc-block-components-button:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
  filter: none !important;
}


/* ===== My Account layout ===== */
.myacc-layout{
  display:grid; grid-template-columns: 300px 1fr; gap:24px;
}
@media (max-width: 900px){
  .myacc-layout{ grid-template-columns: 1fr; }
}

/* Profile card */
.myacc-profile .myacc-profile__row{ display:flex; align-items:center; gap:12px; }
.myacc-avatar{ width:64px; height:64px; border-radius:999px; }
.myacc-hello{ font-size:13px; color:var(--yt-muted); }
.myacc-name{ font-size:18px; font-weight:800; line-height:1.2; }
.myacc-logout{ display:inline-block; margin-top:6px; font-size:13px; }

/* Sidebar nav */
.myacc-nav__toggle{ display:none; width:100%; padding:10px 12px; border-radius:12px; border:1px solid var(--yt-border); background:#fff; font-weight:700; }
@media (max-width: 900px){ .myacc-nav__toggle{ display:block; } }

.myacc-nav__list{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.myacc-nav__link{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border:1px solid var(--yt-border); border-radius:12px; background:#fff;
  text-decoration:none; color:var(--yt-text); font-weight:800;
  transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.myacc-nav__link:hover{ transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.06); border-color:#ddd; }
.woocommerce-MyAccount-navigation-link.is-active .myacc-nav__link{
  border-color: rgba(217,55,58,.45);
  box-shadow:0 0 0 3px rgba(217,55,58,.10);
}
.myacc-nav__ico{ width:22px; text-align:center; }

/* Content area */
.myacc-content .card{ margin-bottom:16px; }

/* Dashboard welcome */
.myacc-welcome__title{ margin:0 0 6px; font-size:26px; }
.myacc-quick .myacc-quick__item{
  display:flex; align-items:center; justify-content:center;
  padding:14px; border:1px solid var(--yt-border); border-radius:12px; background:#fff; font-weight:800; text-decoration:none; color:var(--yt-text);
}
.myacc-quick .myacc-quick__item:hover{ border-color:rgba(217,55,58,.35); box-shadow:0 8px 18px rgba(0,0,0,.08); }

/* Forms & tables nicer */
.woocommerce-MyAccount-content fieldset{ border:1px solid var(--yt-border); border-radius:12px; padding:14px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  width:100%; padding:10px 12px; border-radius:10px; border:1px solid var(--yt-border);
}
.woocommerce table.shop_table{ border-radius:12px; overflow:hidden; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{ padding:12px; }
.woocommerce table.shop_table thead{ background:#fafafa; }


/* ===== Product card v3 (big centered title + right price badge) ===== */
.product-card.v3{
  padding:0; overflow:hidden; border-radius:18px;
  border:1px solid var(--yt-border); background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  transition: transform .15s ease, box-shadow .2s ease;
}
.product-card.v3:hover{ transform:translateY(-2px); box-shadow:0 16px 36px rgba(0,0,0,.09); }

.product-card__media{ position:relative; display:block; }
.product-card__img{
  width:100%; aspect-ratio: 4/3; object-fit:cover; display:block;
  border-radius:18px 18px 0 0;
}

/* Price badge πάνω δεξιά, μεγάλο */
.product-card__price-badge{
  position:absolute; top:12px; right:12px;
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 12px; border-radius:999px;
  background:#fff; color:#000; font-weight:900; font-size:18px; line-height:1;
  box-shadow:0 6px 16px rgba(0,0,0,.15);
  border:1px solid rgba(0,0,0,.06);
}
.product-card__price-badge .amount{ font-size:inherit; }

/* Sale % μικρό badge */
.product-card__sale-badge{
  position:absolute; top:12px; left:12px;
  padding:6px 10px; border-radius:999px;
  background: var(--yt-accent); color:#fff; font-weight:900; font-size:13px;
  box-shadow:0 6px 16px rgba(217,55,58,.25);
}

.product-card__body{ padding:14px 16px 16px; }

.product-card__title{
  margin:6px 0 4px; text-align:center;
  font-size:22px; line-height:1.2; font-weight:900;
}
.product-card__title a{ color:var(--yt-text); text-decoration:none; }
.product-card__title a:hover{ text-decoration:underline; }

/* Κατηγορίες μικρά, κεντραρισμένα */
.product-card__cats{
  margin:2px 0 12px; text-align:center; font-size:13px; color:var(--yt-muted);
}
.product-card__cats a{ color:inherit; text-decoration:none; }
.product-card__cats a:hover{ text-decoration:underline; }

/* CTA γεμάτο κόκκινο, full width */
.product-card__cta .button{
  width:100%; padding:13px 14px; border-radius:12px;
  font-weight:900; letter-spacing:.2px;
  background: var(--yt-accent); color:#fff; border:0;
}
.product-card__cta .button:hover{ filter:brightness(.95); }

/* Excerpt κάτω από τον τίτλο (2 γραμμές) */
.product-card__excerpt{
  margin:4px 0 10px;
  text-align:center;
  font-size:14.5px;
  color:var(--yt-text);
  opacity:.9;
}

/* Line clamp helpers */
.clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ====== Shop grid: fix top gap + make cards a bit smaller ====== */

/* 1) Καμιά κρυφή pseudo-γραφή να μη σπρώχνει το UL */
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  content:none !important; display:none !important;
}

/* 2) Grid ρυθμίσεις: ξεκλείδωτο, start alignment (μην «κρεμάει» η 1η σειρά) */
.shop-grid{
  display:grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* λίγο πιο στενές κάρτες */
  gap:20px;                    /* μικρότερο κενό */
  align-items:start;           /* ΜΗΝ κεντράρεις τις σειρές */
  margin-top: 8px !important;  /* μικρό top spacing και τέλος */
}

/* 3) Woo default floats/πλάτη off + στοίχιση start σε κάθε item */
.woocommerce ul.products li.product{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  clear:none !important;
  display:block;
  align-self:start;            /* κλείδωσε κάθε item στην κορυφή της γραμμής */
}

/* 4) Κάρτα v3 – πιο «μαζεμένη» */
.product-card.v3{ border-radius:16px; }
.product-card__img{
  aspect-ratio: 3 / 2;        /* πιο κοντή εικόνα (ήταν 4/3) */
  border-radius:16px 16px 0 0;
}

/* Badges λίγο μικρότερα/πιο σφιχτά */
.product-card__price-badge{
  top:10px; right:10px;
  padding:6px 10px;
  font-size:16px; font-weight:900;
}
.product-card__sale-badge{
  top:10px; left:10px;
  padding:5px 9px;
  font-size:12px;
}

/* Κείμενα + paddings “ένα κλικ κάτω” */
.product-card__body{ padding:12px 14px 14px; }
.product-card__title{
  margin:4px 0 2px;
  font-size:20px;              /* ήταν 22px */
  text-align:center; font-weight:900;
}
.product-card__excerpt{
  font-size:17px;              /* ήταν 14.5px */
  margin:2px 0 8px;
}
.product-card__cats{
  margin:0 0 10px;
  font-size:12.5px;
}

/* CTA λίγο πιο λεπτό */
.product-card__cta .button{
  padding:11px 12px;
  border-radius:12px;
}

/* 5) Ordering/Count να μην επηρεάζουν ύψη (ασφάλεια) */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
  float:none !important;
  margin:0 !important;
}

/* ===== Smaller cards for Related / Upsells / Cross-sells ===== */

/* Grid, όχι floats */
.woocommerce .related ul.products,
.woocommerce .upsells ul.products,
.woocommerce .cross-sells ul.products{
  display:grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap:18px;
  list-style:none; margin:0; padding:0;
}
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product,
.woocommerce .cross-sells ul.products li.product{
  float:none !important; width:auto !important; margin:0 !important; clear:none !important; display:block;
  align-self:start;
}

/* Κάρτα v3 – πιο μικρή παραλλαγή */
.woocommerce .related .product-card.v3,
.woocommerce .upsells .product-card.v3,
.woocommerce .cross-sells .product-card.v3{
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
}
.woocommerce .related .product-card__img,
.woocommerce .upsells .product-card__img,
.woocommerce .cross-sells .product-card__img{
  aspect-ratio: 3 / 2;         /* λίγο κοντύτερη εικόνα */
  border-radius:14px 14px 0 0;
}
.woocommerce .related .product-card__body,
.woocommerce .upsells .product-card__body,
.woocommerce .cross-sells .product-card__body{
  padding:10px 12px 12px;
}
.woocommerce .related .product-card__title,
.woocommerce .upsells .product-card__title,
.woocommerce .cross-sells .product-card__title{
  font-size:18px; margin:4px 0 2px; text-align:center;
}
.woocommerce .related .product-card__excerpt,
.woocommerce .upsells .product-card__excerpt,
.woocommerce .cross-sells .product-card__excerpt{
  font-size:13.5px; margin:2px 0 8px;
}
.woocommerce .related .product-card__cats,
.woocommerce .upsells .product-card__cats,
.woocommerce .cross-sells .product-card__cats{
  font-size:12px; margin:0 0 8px;
}

/* Badges/price λίγο πιο σφιχτά */
.woocommerce .related .product-card__price-badge,
.woocommerce .upsells .product-card__price-badge,
.woocommerce .cross-sells .product-card__price-badge{
  top:8px; right:8px; padding:5px 9px; font-size:14px;
}
.woocommerce .related .product-card__sale-badge,
.woocommerce .upsells .product-card__sale-badge,
.woocommerce .cross-sells .product-card__sale-badge{
  top:8px; left:8px; padding:4px 8px; font-size:11px;
}

/* CTA πιο χαμηλό προφίλ */
.woocommerce .related .product-card__cta .button,
.woocommerce .upsells .product-card__cta .button,
.woocommerce .cross-sells .product-card__cta .button{
  padding:10px 12px; border-radius:10px;
}

/* Τίτλοι sections να μην έχουν μεγάλο margin */
.woocommerce .related > h2,
.woocommerce .upsells > h2{
  font-size:22px; margin:18px 0 10px;
}


/* ===== Breadcrumb: clean + gradient underline (red -> dark -> fade) ===== */
.yt-breadcrumb{
  margin:14px 0 8px;
  padding:0 0 10px;             /* λίγο κάτω για τη γραμμή */
  background: none;
  border: 0;
  position: relative;
}

/* gradient γραμμή που ξεκινά κόκκινο και “χάνεται” */
.yt-breadcrumb::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:3px; border-radius:3px;
  background: linear-gradient(
    90deg,
    rgba(217,55,58,0.85) 0%,
    rgba(217,55,58,0.50) 18%,
    rgba(0,0,0,0.35) 55%,
    rgba(0,0,0,0.00) 100%
  );
  pointer-events:none;
}

.yt-breadcrumb__list{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  list-style:none; margin:0; padding:0;
  font-size:15px; line-height:1.35;
  color: var(--yt-text);
}

/* απλά links, χωρίς φόντο/περίγραμμα */
.yt-breadcrumb__item a{
  display:inline-block;
  padding:0;
  background:none; border:0;
  color:inherit;
  text-decoration:none;
  font-weight:700;              /* έντονα για καθαρότητα */
  transition: color .15s ease, opacity .15s ease;
}
.yt-breadcrumb__item a:hover{ color: var(--yt-accent); }

/* πρώτο link (Αρχική) με κόκκινη νότα */
.yt-breadcrumb__item:first-child a{ color: var(--yt-accent); }

/* chevrons */
.yt-breadcrumb__item + .yt-breadcrumb__item::before{
  content:"";
  display:inline-block;
  width:6px; height:6px; margin:0 4px;
  border-right:2px solid rgba(0,0,0,.35);
  border-top:2px solid rgba(0,0,0,.35);
  transform: rotate(45deg) translateY(-1px);
}

/* τρέχουσα σελίδα (τελευταίο crumb) απλό bold κείμενο */
.yt-breadcrumb__item:last-child a,
.yt-breadcrumb__item:last-child{
  color: var(--yt-text);
  font-weight:900;
  pointer-events:none;
  text-decoration:none;
}

/* σκούρο header friendly (αν φτάνει κάτω από το μαύρο header) */
@media (prefers-color-scheme: light){
  body .yt-breadcrumb::after{
    background: linear-gradient(
      90deg,
      rgba(217,55,58,0.9) 0%,
      rgba(217,55,58,0.55) 18%,
      rgba(255,255,255,0.18) 55%,
      rgba(255,255,255,0.00) 100%
    );
  }
}

/* responsive: λίγο πιο compact */
@media (max-width:600px){
  .yt-breadcrumb{ padding-bottom:8px; }
  .yt-breadcrumb__list{ gap:6px; font-size:14px; }
}

/* ===== Woo On Sale badge (ΠΡΟΣΦΟΡΑ) ===== */
.woocommerce span.onsale{
  position:absolute;
  top:10px; left:10px;
  z-index:3;
  padding:15px 10px;
  border-radius:999px;
  background: var(--yt-accent);
  color:#fff;
  border:0;
  font-weight:900;
  font-size:12.5px;
  line-height:1;
  letter-spacing:.3px;
  text-transform: uppercase;
  box-shadow: 0 6px 16px rgba(217,55,58,.25);
}

/* σε single product (gallery thumbs) – ίδιο look */
.single-product div.product .onsale{
  top:10px; left:10px;
  right:auto; /* μην το πετάει δεξιά */
}

/* Related / upsells λίγο πιο μικρό badge */
.woocommerce .related span.onsale,
.woocommerce .upsells span.onsale,
.woocommerce .cross-sells span.onsale{
  top:8px; left:8px;
  padding:5px 9px;
  font-size:11.5px;
  box-shadow: 0 4px 12px rgba(217,55,58,.22);
}

/* Αν το theme του Woo βάζει default θέση/περίγραμμα, σβήστα */
.woocommerce span.onsale:before,
.woocommerce span.onsale:after{
  content:none !important;
}

/* Center the "Add to cart" button in product cards (v3) */
.product-card.v3 .product-card__cta{
  display: flex;
  justify-content: center;   /* κεντράρισμα */
}

.product-card.v3 .product-card__cta .button{
  width: auto;               /* όχι full width */
  min-width: 220px;          /* προαιρετικό: σταθερό ωραίο πλάτος */
  text-align: center;
}
@media (max-width: 600px){
  .product-card.v3 .product-card__cta .button{ min-width: 200px; }
}

/* Single mood tile */
/* Transparent PNG hero mood tile */
.hero-modern__mood {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 3;
}

.mood-tile.single {
  background: transparent !important;   /* no background */
  border: none !important;              /* no border */
  box-shadow: none !important;          /* no shadow */
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 420px;                     /* adjust size */
  overflow: visible;
}

.mood-tile.single img {
  max-width: 90%;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,0.15)); /* optional subtle depth */
}

.mood-empty {
  color: #aaa;
  font-size: 14px;
  background: rgba(0,0,0,0.05);
  border-radius: 12px;
  padding: 16px;
}

@media (max-width: 900px) {
  .hero-modern__mood { order: -1; margin-bottom: 20px; }
  .mood-tile.single { max-width: 300px; }
}


/* ===== FIX: Mobile horizontal overflow on shop archives ===== */

/* 1) safety: κόψε οτιδήποτε ξεφεύγει δεξιά */
html, body{ overflow-x:hidden; }

/* 2) Toolbar να σπάει σωστά σε mobile */
@media (max-width:900px){
  .shop-toolbar{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .shop-toolbar__right{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  /* 3) Το ordering dropdown να ΜΗΝ έχει min-width σε mobile */
  .shop-ordering,
  .woocommerce .woocommerce-ordering{
    width:100%;
    float:none !important;
  }
  .shop-ordering select,
  .woocommerce .woocommerce-ordering select{
    width:100%;
    max-width:100%;
    min-width:0 !important;  /* <- αυτό είναι το κλειδί */
    box-sizing:border-box;
  }

  /* 4) Sidebar items: μην κάνουν overflow από μακριά ονόματα */
  .cat-item{ min-width:0; }
  .cat-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  /* 5) Πλέγμα προϊόντων: βεβαιώσου ότι δεν “κρατάει” πλάτος */
  .shop-grid{
    width:100%;
    max-width:100%;
    grid-template-columns: 1fr; /* πιο safe για πολύ στενά */
  }
}

/* extra safety (αν κάποια κάρτα/εικόνα/ul πετάει width) */
.shop-layout, .shop-content, .shop-sidebar, .shop-grid, .products{ max-width:100%; }

/* ===== TikTok section ===== */
.tiktok-head{ margin-bottom:14px; }

.tiktok-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:16px;
}

.tiktok-card{
  border:1px solid var(--yt-border);
  border-radius:16px;
  background:#fff;
  padding:10px;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
  overflow:hidden;
}
/* ===== TikTok (Creator embed) — clean + full width ===== */
#tiktok{ overflow-x:hidden; padding:32px 0; }

.tiktok-section{ position:relative; }
.tiktok-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.tiktok-head__left{ min-width:0; }
.tiktok-head__right{ flex:0 0 auto; }

@media (max-width:900px){
  .tiktok-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* “Card” shell για να δένει με theme */
.tiktok-embed-shell{
  width:100%;
  border:1px solid var(--yt-border);
  border-radius:18px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  padding:12px;
  overflow:hidden;
}

/* Full width embed + remove TikTok default constraints */
.tiktok-embed-shell .tiktok-embed{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

/* Extra safety: κάποιες φορές το TikTok βάζει inline widths μέσα */
.tiktok-embed-shell iframe,
.tiktok-embed-shell blockquote{
  max-width:100% !important;
}

/* Mobile spacing */
@media (max-width:600px){
  .tiktok-embed-shell{ padding:10px; border-radius:16px; }
}

/* TikTok section */
#tiktok{
  padding:40px 0;
}

/* header alignment */
.tiktok-head{
  max-width:780px;
  margin:0 auto 20px auto;
}

/* embed wrapper */
.tiktok-embed-shell{
  max-width:780px;   /* ίδιο με widget */
  margin:0 auto;     /* κεντραρισμένο */
  border:1px solid var(--yt-border);
  border-radius:18px;
  background:#fff;
  padding:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}

/* follow button */
.tiktok-head__right{
  display:flex;
  align-items:center;
}

#tiktok{
  background:linear-gradient(180deg,#ffffff 0%, #fafafa 100%);
  border-radius:24px;
}

/* =========================================================
   WooCommerce Cart / Checkout typography (improved readability)
   ========================================================= */

/* 1) Classic Woo pages */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.woocommerce-order-received{
  font-size: 19px !important;
  line-height: 1.75 !important;
  font-weight: 500;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce{
  font-size: 19px !important;
}

/* Τίτλοι */
body.woocommerce-cart h1,
body.woocommerce-checkout h1,
body.woocommerce-account h1{
  font-size: 46px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}

/* Πίνακες */
body.woocommerce-cart .woocommerce table.shop_table,
body.woocommerce-checkout .woocommerce table.shop_table{
  font-size: 17.5px !important;
}

body.woocommerce-cart .woocommerce table.shop_table td,
body.woocommerce-checkout .woocommerce table.shop_table td{
  font-size: 17.5px !important;
  font-weight: 500 !important;
}

body.woocommerce-cart .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table th{
  font-size: 15.5px !important;
  font-weight: 700 !important;
}

/* Τιμές και σύνολα να ξεχωρίζουν */
.woocommerce .amount,
.woocommerce-cart .product-subtotal,
.woocommerce-cart .product-price,
.woocommerce-checkout-review-order-table .amount{
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* Forms */
body.woocommerce-cart .woocommerce form .form-row label,
body.woocommerce-checkout .woocommerce form .form-row label{
  font-size: 17px !important;
  font-weight: 700 !important;
}

body.woocommerce-cart .woocommerce input,
body.woocommerce-cart .woocommerce select,
body.woocommerce-cart .woocommerce textarea,
body.woocommerce-checkout .woocommerce input,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea{
  font-size: 17px !important;
}

/* Notices */
body.woocommerce .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce .woocommerce-error{
  font-size: 18px !important;
  font-weight: 600;
}

/* 2) WooCommerce Blocks */
.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{
  font-size: 19px !important;
  line-height: 1.75 !important;
  font-weight: 500;
}

/* Block headings */
.wc-block-cart h1,
.wc-block-checkout h1,
.wp-block-woocommerce-cart h1,
.wp-block-woocommerce-checkout h1{
  font-size: 46px !important;
  font-weight: 800 !important;
}

/* Block components text */
.wc-block-components-notice-banner,
.wc-block-components-totals-wrapper,
.wc-block-components-totals-item,
.wc-block-components-product-name,
.wc-block-components-product-metadata,
.wc-block-components-product-price,
.wc-block-components-quantity-selector,
.wc-block-components-form,
.wc-block-components-text-input,
.wc-block-components-select,
.wc-block-components-radio-control,
.wc-block-components-checkbox,
.wc-block-components-payment-method-label{
  font-size: 17px !important;
  font-weight: 500 !important;
}

/* Totals bold */
.wc-block-components-totals-item__value,
.wc-block-components-order-summary .amount{
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* Inputs in blocks */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select{
  font-size: 17px !important;
}

/* Checkout button */
.wc-block-components-checkout-place-order-button,
.woocommerce a.button,
.woocommerce button.button{
  font-size: 18px !important;
  font-weight: 700 !important;
}

.cart-weight-note{
  margin: 26px 0 0;
  padding: 14px 18px;
  border: 1px solid var(--yt-border);
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 20px rgba(0,0,0,.05);
  font-size: 16px;
  line-height: 1.65;
}
.cart-weight-note strong{ font-weight: 900; }
/* =========================================================
   Woo Blocks: readable typography (Checkout) + BoxNow fix
   Βάλτο ΤΕΛΟΣ στο style.css και αντικατέστησε το παλιό block
   ========================================================= */

:root{
  --yt-woo-text: #111827;   /* πιο σκούρο */
  --yt-woo-muted: #374151;  /* όχι "ξεπλυμένο" */
}

/* Γενικό κείμενο checkout */
.wc-block-checkout,
.wp-block-woocommerce-checkout{
  color: var(--yt-woo-text) !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

/* Τίτλοι sections: Επιλογές αποστολής / πληρωμής κλπ */
.wc-block-checkout .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-components-title,
.wc-block-checkout h2,
.wp-block-woocommerce-checkout h2{
  font-size: 22px !important;
  font-weight: 900 !important;
  color: var(--yt-woo-text) !important;
  letter-spacing: .1px;
}

/* Labels επιλογών (radio titles) */
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__label span,
.wc-block-components-payment-method-label{
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--yt-woo-text) !important;
}

/* Δευτερεύον κείμενο κάτω από επιλογές (descriptions) */
.wc-block-components-radio-control__secondary-label,
.wc-block-components-payment-methods__payment-method .wc-block-components-radio-control__secondary-label,
.wc-block-components-payment-methods__payment-method .wc-block-components-radio-control__description,
.wc-block-components-payment-methods__payment-method div,
.wc-block-components-payment-methods__payment-method p{
  font-size: 16.5px !important;
  font-weight: 600 !important;
  line-height: 1.75 !important;
  color: var(--yt-woo-muted) !important;
}

/* Terms / privacy text (κάτω από checkout) */
.wc-block-checkout .wc-block-checkout__terms,
.wc-block-checkout .wc-block-components-checkbox__label,
.wc-block-checkout .wc-block-components-checkbox__label span,
.wc-block-checkout .wc-block-checkout__terms a{
  font-size: 16.5px !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  color: var(--yt-woo-muted) !important;
}
.wc-block-checkout .wc-block-checkout__terms a{
  font-weight: 800 !important;
}

/* Placeholder/labels των inputs να φαίνονται πιο καθαρά */
.wc-block-components-text-input label,
.wc-block-components-text-input__label{
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--yt-woo-text) !important;
}
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select{
  font-size: 17.5px !important;
  font-weight: 600 !important;
  color: var(--yt-woo-text) !important;
}

/* Μικρά hints/notes/errors */
.wc-block-components-validation-error,
.wc-block-components-notice-banner__content{
  font-size: 16.5px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  color: var(--yt-woo-text) !important;
}

/* =========================================================
   IMPORTANT: ΜΗΝ πειράζουμε ΓΕΝΙΚΑ το padding των radio options
   γιατί χαλάει widgets όπως BoxNow.
   (Άρα ΔΕΝ υπάρχει πλέον γενικό .wc-block-components-radio-control__option padding εδώ)
   ========================================================= */


/* =========================================================
   FIX: BoxNow overlaps inside Woo Blocks shipping radio
   Στοχεύει ΜΟΝΟ το shipping method value="box_now_delivery"
   ========================================================= */

/* Κάνε το συγκεκριμένο option να λειτουργεί σαν “στήλη” */
label.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input[value="box_now_delivery"]){
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  padding: 14px 14px !important; /* padding ΜΟΝΟ για BoxNow */
  border-radius: 12px !important;
}

/* Η πάνω γραμμή (radio + τίτλος + price) */
label.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input[value="box_now_delivery"])
.wc-block-components-radio-control__option-layout{
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

/* Το group του label */
label.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input[value="box_now_delivery"])
.wc-block-components-radio-control__label-group{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Σβήσε τα “κουλά” inline negative margins / fixed heights του plugin */
#box_now_selected_locker_details_blocks{
  margin-top: 0 !important;
  width: 100% !important;
  display: block !important;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  padding: 12px 12px;
  background: rgba(255,255,255,.92);
}

#box_now_selected_locker_details_blocks > div{
  margin-top: 0 !important;  /* kills inline -7px */
  padding-top: 0 !important;
}

/* Κείμενα BoxNow */
#box_now_selected_locker_details_blocks p{
  height: auto !important;
  font-size: 16.5px !important;
  line-height: 1.65 !important;
  margin: 4px 0 !important;
  font-weight: 600 !important;
  color: var(--yt-woo-text) !important;
}

/* Τίτλος “Επιλεγμένο Locker” */
#box_now_selected_locker_details_blocks p:first-child,
#box_now_selected_locker_details_blocks b{
  font-weight: 900 !important;
}

/* Κουμπί Pick a Locker */
#box_now_delivery_button_blocks{
  margin: 0 !important;
  width: fit-content;
  font-size: 15.5px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
}

/* Μικρό align του radio dot */
.wc-block-components-radio-control__input[value="box_now_delivery"]{
  transform: translateY(2px);
}

/* =========================================================
   3) STYLE.CSS (βάλε ΤΕΛΟΣ στο style.css) — Premium Mini Cart
   ========================================================= */

/* Να μην κόβεται το dropdown από header/container */
.header,
.header-inner,
.container{
  overflow: visible !important;
}

.yt-mini-cart{
  position: relative;
  overflow: visible !important;
  z-index: 99999;
}

/* Panel shell */
.yt-mini-cart__panel{
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  width:min(440px, calc(100vw - 24px));
  background:#fff;
  color:var(--yt-text);
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
  overflow:hidden;
  z-index:999999;

  opacity:0;
  transform: translateY(-8px) scale(.99);
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
}

.yt-mini-cart.is-open .yt-mini-cart__panel{
  opacity:1;
  transform: translateY(0) scale(1);
  pointer-events:auto;
}

/* Head */
.yt-mini-cart__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px;
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,0));
  border-bottom:1px solid rgba(0,0,0,.08);
}

.yt-mini-cart__title{
  font-weight:900;
  font-size:16px;
  letter-spacing:.2px;
}

.yt-mini-cart__close{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  color:var(--yt-text);
  font-weight:900;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.yt-mini-cart__close:hover{ filter:brightness(.98); }

/* Fragment area padding */
#yt-mini-cart-fragment{
  padding:12px 12px 0;
}

/* Empty state */
.yt-mini-cart__panel .woocommerce-mini-cart__empty-message{
  margin:10px 0 14px;
  padding:12px 12px;
  border:1px dashed rgba(0,0,0,.14);
  border-radius:14px;
  background: rgba(0,0,0,.02);
  font-weight:700;
  color:var(--yt-muted);
}

/* Items list */
.yt-mini-cart__panel .woocommerce-mini-cart{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height: 340px;
  overflow:auto;
  padding-bottom:12px;
}

/* nicer scrollbar (optional) */
.yt-mini-cart__panel .woocommerce-mini-cart::-webkit-scrollbar{ width:10px; }
.yt-mini-cart__panel .woocommerce-mini-cart::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.12);
  border-radius:999px;
  border:3px solid #fff;
}

/* Each item card */
.yt-mini-cart__panel .woocommerce-mini-cart-item{
  display:grid;
  grid-template-columns: 70px 1fr;
  gap:12px;
  align-items:center;
  padding:10px 10px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.04);
  position:relative;
}

/* thumb */
.yt-mini-cart__panel .woocommerce-mini-cart-item img{
  width:70px;
  height:70px;
  object-fit:cover;
  border-radius:14px;
}

/* product name */
.yt-mini-cart__panel .woocommerce-mini-cart-item a:not(.remove){
  color:var(--yt-text);
  text-decoration:none;
  font-weight:900;
  font-size:14.5px;
  line-height:1.25;
}
.yt-mini-cart__panel .woocommerce-mini-cart-item a:not(.remove):hover{ text-decoration:underline; }

/* qty + price line */
.yt-mini-cart__panel .woocommerce-mini-cart-item .quantity{
  display:block;
  margin-top:4px;
  font-size:13.5px;
  font-weight:800;
  color:var(--yt-muted);
}
.yt-mini-cart__panel .woocommerce-mini-cart-item .amount{
  font-weight:900;
  color:var(--yt-text);
}

/* Remove (x) – Woo link */
.yt-mini-cart__panel .woocommerce-mini-cart-item a.remove{
  position:absolute;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  border-radius:10px;
  background: rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.08);
  color: #111 !important;
  text-decoration:none;
  display:grid;
  place-items:center;
  font-size:18px;
  line-height:1;
}
.yt-mini-cart__panel .woocommerce-mini-cart-item a.remove:hover{
  background: rgba(217,55,58,.12);
  border-color: rgba(217,55,58,.30);
  color: var(--yt-accent) !important;
}

/* Totals */
.yt-mini-cart__panel .woocommerce-mini-cart__total{
  margin:0;
  padding:12px 14px;
  border-top:1px solid rgba(0,0,0,.08);
  font-size:14px;
  font-weight:900;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background: rgba(0,0,0,.02);
}

/* Actions */
.yt-mini-cart__actions{
  padding:12px 12px 14px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.08);
}

.yt-mini-cart__btn{
  justify-content:center;
  width:100%;
  border-radius:14px;
  font-weight:900;
}

/* cart button a bit softer */
.yt-mini-cart__actions .btn-outline{
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  color: var(--yt-text);
}
.yt-mini-cart__actions .btn-outline:hover{
  border-color: rgba(217,55,58,.25);
}

/* Mobile */
@media (max-width: 600px){
  .yt-mini-cart__panel{
    width: calc(100vw - 20px);
    right:0;
  }
  #yt-mini-cart-fragment{ padding:10px 10px 0; }
  .yt-mini-cart__actions{ padding:10px; }
}


.single-media .woocommerce-product-gallery {
    border-radius: 16px;
    overflow: hidden;
}

.single-media .woocommerce-product-gallery__image a {
    display: block;
    border-radius: 16px;
    overflow: hidden;
}

.single-media .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
}

.flex-control-thumbs {
    margin-top: 12px !important;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.flex-control-thumbs li {
    list-style: none;
    width: 70px !important;
}

.flex-control-thumbs img {
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    cursor: pointer;
}

@media (max-width: 991px) {
    .single-grid {
        grid-template-columns: 1fr !important;
    }
}