/*
Theme Name: Texni&Zoi Custom Theme
Theme URI: https://foxit.gr/biz
Author: Vasileios E. Kotsanis
Author URI: https://foxit.gr/biz
Description: Custom theme for Texni&Zoi by FoxIT Smart Solutions. Contact: info@foxit.gr.
Version: 1.8.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: texni-zoi
License: GPL-2.0-or-later
Author Email: info@foxit.gr
*/
:root{--tz-ink:#252125;--tz-accent:#762E36;--tz-accent-hover:#56212A;--tz-cream:#FCF8F1;--tz-paper:#FFFDF9;--tz-mustard:#C99A46;--tz-line:#D8CBBB;--tz-muted:#544D4B;--tz-focus:#005BBB;--tz-max:1200px;--tz-font:'Noto Sans',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--tz-paper);color:var(--tz-ink);font:400 17px/1.7 var(--tz-font);-webkit-font-smoothing:antialiased}img,video{max-width:100%;height:auto}img{vertical-align:middle}button,input,textarea,select{font:inherit}a{color:var(--tz-accent);text-decoration-thickness:.1em;text-underline-offset:.18em}a:hover{color:var(--tz-accent-hover)}:focus-visible{outline:3px solid var(--tz-focus)!important;outline-offset:4px!important;box-shadow:none!important}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}button,input,select,textarea{min-height:44px}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;line-height:1.18;letter-spacing:-.025em}h1{font-size:clamp(2.35rem,5.7vw,5.15rem)}h2{font-size:clamp(2rem,3.3vw,3.3rem)}h3{font-size:clamp(1.35rem,2vw,1.85rem)}p{margin:0 0 1.15em}.tz-wrap{width:min(calc(100% - 40px),var(--tz-max));margin-inline:auto}.tz-skip{position:absolute;z-index:100000;top:-120px;left:12px;padding:12px 18px;background:#fff;color:#111}.tz-skip:focus{top:10px}.tz-funding{background:#fff;border-bottom:1px solid #D9DFE8;text-align:center;line-height:1}.tz-funding a{display:block;min-height:44px;padding:5px 12px}.tz-funding img{display:block;width:auto;max-width:min(100%,980px);height:auto;max-height:74px;margin:auto;object-fit:contain}.tz-site-header{background:var(--tz-cream);border-bottom:1px solid var(--tz-line)}.tz-site-header__inner{display:flex;gap:30px;justify-content:space-between;align-items:center;padding:17px 0}.tz-logo{width:185px;max-width:38vw}.tz-nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.tz-nav a{font-size:.92rem;font-weight:700;color:var(--tz-ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.tz-nav a:hover,.tz-nav a[aria-current=page]{color:var(--tz-accent);text-decoration:underline}.tz-languages{display:flex;align-items:center;gap:7px;list-style:none;margin:0;padding:0}.tz-languages a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--tz-line);font-size:.82rem;text-decoration:none;font-weight:700;color:var(--tz-ink)}.tz-languages a[aria-current=page]{background:var(--tz-ink);color:#fff}.tz-main{min-height:47vh}.tz-hero{background:var(--tz-cream)}.tz-hero .elementor-widget-heading h1{font-size:clamp(2.2rem,5.5vw,4.9rem)}.tz-hero .elementor-widget-image img{border-radius:8px}.tz-section{padding-block:60px}.tz-cream{background:var(--tz-cream)}.tz-eyebrow{color:var(--tz-accent);text-transform:uppercase;letter-spacing:.15em;font-size:.83rem;font-weight:750}.tz-content{padding:45px 0 80px}.tz-content h1{font-size:clamp(2.1rem,4vw,3.7rem)}.tz-content article{max-width:75ch}.tz-site-footer{background:var(--tz-ink);color:#fdf9f0;margin-top:0}.tz-site-footer a{color:#fff;text-decoration:underline}.tz-site-footer__inner{padding:50px 0;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.tz-copyright{font-size:.85rem;opacity:.8}.tz-button,.elementor-widget-button .elementor-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--tz-accent)!important;color:#fff!important;border-radius:4px!important;padding:14px 24px!important;font-weight:700!important;min-height:44px!important;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important}.tz-button:hover,.elementor-widget-button .elementor-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--tz-accent-hover)!important;color:#fff!important}.woocommerce ul.products li.product{background:#fff;border:1px solid var(--tz-line);border-radius:10px;padding:16px!important}.woocommerce ul.products li.product a img{object-fit:contain;aspect-ratio:4/5;background:#fcf8f1}.woocommerce ul.products li.product .price,.woocommerce div.product p.price{color:var(--tz-accent)!important;font-weight:700}.woocommerce .quantity .qty{min-height:44px}.woocommerce div.product{padding:36px 0}.woocommerce form.checkout input:not([type=checkbox]),.woocommerce form.checkout select,.woocommerce form.checkout textarea,.woocommerce form.login input{border:1.5px solid var(--tz-muted);background:#fff;padding:10px;border-radius:4px}.woocommerce .woocommerce-error{border-top-color:#A22B35}.tz-accessibility-note{border-left:4px solid var(--tz-accent);padding:18px;background:var(--tz-cream)}.tz-footer-top{background:var(--tz-ink);color:#fff}.tz-footer-top p,.tz-footer-top h2,.tz-footer-top h3,.tz-footer-top a{color:#fff!important}.tz-footer-top a{text-decoration:underline}.tz-funding--template img{width:min(100%,980px);max-height:70px;object-fit:contain}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px;white-space:nowrap}.screen-reader-text:focus{clip:auto!important;height:auto;width:auto;position:fixed;left:12px;top:12px;z-index:100001;background:#fff;padding:10px}.tz-blog-index{padding:70px 0}.tz-blog-index article{border-bottom:1px solid var(--tz-line);padding:16px 0}body.admin-bar .tz-skip:focus{top:44px}@media(max-width:767px){.tz-wrap{width:min(calc(100% - 28px),var(--tz-max))}.tz-site-header__inner{align-items:flex-start;flex-direction:column;gap:9px}.tz-nav{gap:10px}.tz-nav a{padding:4px 6px}.tz-funding a{padding:6px 4px}.tz-funding img{max-height:65px}.tz-section{padding-block:35px}.tz-site-footer__inner{padding:33px 0}.elementor-element.tz-hero-row{flex-wrap:wrap!important}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* v1.1: contemporary wholesale positioning, accessible editorial product grids */
.tz-hero .elementor-widget-image img{object-fit:cover;aspect-ratio:1.5;object-position:60% center;border-radius:14px;box-shadow:0 14px 34px rgba(37,33,37,.08)}.tz-hero .elementor-widget-text-editor{max-width:68ch}.tz-cream .elementor-widget-heading{max-width:26ch}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.08rem!important;line-height:1.45!important}.tz-site-header__inner{min-height:82px}html:focus-within{scroll-behavior:auto}@media(max-width:767px){.tz-hero .elementor-widget-image img{aspect-ratio:1.4}}

.tz-nav.tz-menu{list-style:none;margin:0;padding:0}.tz-nav.tz-menu li{margin:0;padding:0}.tz-nav-wrapper .tz-nav a{display:inline-flex;min-height:44px;align-items:center}.tz-nav-wrapper .tz-nav li.current-menu-item>a{text-decoration:underline;text-decoration-thickness:.12em}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;min-height:44px;padding:9px}

/* WCAG: Elementor footer copy on the dark background must not inherit dark #393436. */
.tz-footer-top .elementor-widget-text-editor,.tz-footer-top .elementor-widget-text-editor p{color:#fff!important}


/* Accessible Atelier v1.8 — polished, robust visual design.
 * Important: the parent CSS must be enqueued via get_template_directory_uri(),
 * never get_stylesheet_uri() while a child theme is active.
 */
:root {
  --tz-ink:#242E35;
  --tz-dark:#182631;
  --tz-accent:#74313F;
  --tz-accent-hover:#552431;
  --tz-cream:#F7F2EA;
  --tz-paper:#FFFEFB;
  --tz-sand:#EDE2D3;
  --tz-line:#E2D8CB;
  --tz-muted:#555E63;
  --tz-focus:#005BBB;
  --tz-max:1240px;
}
html {scroll-padding-top:125px}
body {background:var(--tz-paper);color:var(--tz-ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.7}
body:not(.wp-admin) {overflow-x:hidden}
a {text-underline-offset:.22em}
.tz-wrap {width:min(calc(100% - 56px),var(--tz-max));margin-inline:auto}
/* A compact EU co-funding strip remains visible immediately, including on phones. */
.tz-funding {background:#fff;border-bottom:1px solid #E9E7E4;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.tz-funding a {display:flex;justify-content:center;align-items:center;min-height:54px;padding:4px 20px}
.tz-funding img {height:auto;width:min(100%,1060px);max-height:65px;object-fit:contain}
.tz-site-header {background:rgba(255,254,251,.97);border-bottom:1px solid var(--tz-line);position:relative;z-index:30;box-shadow:0 8px 32px rgba(16,24,32,.045)}
.tz-site-header__inner {min-height:100px;padding:10px 0;display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto;align-items:center;column-gap:clamp(14px,3vw,44px)}
.tz-logo {width:178px;max-width:100%;height:auto;max-height:78px;object-fit:contain;object-position:left center}
.tz-nav,.tz-nav.tz-menu {display:flex;justify-content:center;align-items:center;column-gap:clamp(12px,2vw,27px);row-gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.tz-nav a,.tz-nav-wrapper .tz-nav a {font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:.90rem;font-weight:680;letter-spacing:.005em;line-height:1.2;color:var(--tz-dark);min-height:44px;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}
.tz-nav a:hover,.tz-nav a:focus-visible,.tz-nav .current-menu-item>a {color:var(--tz-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.tz-languages {display:flex;gap:6px;margin:0;padding:0;list-style:none;align-items:center;white-space:nowrap}
.tz-languages li {margin:0;padding:0;list-style:none}
.tz-languages a {border:1px solid #D6D5D1;border-radius:7px;min-width:42px;min-height:42px;padding:0 7px;font-size:.76rem;letter-spacing:.05em;font-weight:800;background:white;color:var(--tz-ink);transition:background .2s ease}
.tz-languages a:hover,.tz-languages a[aria-current=page] {background:var(--tz-dark);color:white;border-color:var(--tz-dark)}
.tz-site-header nav[aria-label] {min-width:0}
/* Global headings: editorial but legible Greek and German. */
h1,h2,h3,h4 {font-family:Georgia,'Palatino Linotype',serif;line-height:1.17;letter-spacing:-.025em;color:var(--tz-dark)}
h1 {font-size:clamp(2.65rem,5.25vw,5rem)}
h2 {font-size:clamp(2rem,3.4vw,3.4rem)}
h3 {font-size:clamp(1.25rem,2vw,1.8rem)}
.tz-main {min-height:52vh}
.tz-hero {background:linear-gradient(125deg,#FBF6ED 0%,#F6EEE3 70%,#EDE1CF 100%);position:relative}
.tz-hero.tz-hero-row {max-width:none!important}
.tz-hero .elementor-heading-title {margin:0}
.tz-hero .elementor-widget-heading h1 {font-family:Georgia,'Palatino Linotype',serif;font-size:clamp(2.65rem,4.6vw,4.9rem);line-height:1.10;letter-spacing:-.04em;color:var(--tz-dark)}
.tz-hero .elementor-widget-heading h3 {font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:.76rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--tz-accent)}
.tz-hero .elementor-widget-image img {border-radius:17px;object-fit:cover;aspect-ratio:1.15;box-shadow:0 30px 70px rgba(54,39,27,.16)}
.tz-hero .elementor-widget-text-editor {max-width:61ch;font-size:1.03rem;line-height:1.75}
.tz-section {padding-block:clamp(52px,7vw,94px)}
.tz-section > .e-con-inner {gap:25px}
.tz-eyebrow {color:var(--tz-accent);font-weight:800;letter-spacing:.16em;font-size:.75rem}
.tz-cream {background:var(--tz-cream)}
.tz-cream .e-con>.elementor-widget-heading {max-width:100%}
/* Gutenberg / Elementor cards: apply only to marked showcase containers. */
.tz-category-card, .tz-collection-card {background:#fff;border:1px solid #E8E0D6;min-width:0;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(27,34,39,.05);transition:transform .2s ease,box-shadow .2s ease}
.tz-category-card:hover,.tz-collection-card:hover {transform:translateY(-3px);box-shadow:0 15px 34px rgba(27,34,39,.085)}
.tz-category-card .elementor-heading-title {font-size:1.38rem}
.tz-content {padding:60px 0 100px}
.tz-content article {max-width:82ch}
.tz-button,.elementor-widget-button .elementor-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button {background:var(--tz-accent)!important;border:1px solid var(--tz-accent)!important;color:#fff!important;padding:14px 26px!important;min-height:48px!important;border-radius:8px!important;letter-spacing:.01em;box-shadow:0 8px 20px rgba(116,49,63,.12);transition:background .2s ease,box-shadow .2s ease}
.tz-button:hover,.elementor-widget-button .elementor-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover {background:var(--tz-accent-hover)!important;box-shadow:0 12px 22px rgba(116,49,63,.18)}
.tz-button:focus-visible,.elementor-widget-button .elementor-button:focus-visible {outline:3px solid var(--tz-focus)!important;outline-offset:3px!important}
.woocommerce ul.products {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:32px 0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after {display:none!important}
.woocommerce ul.products li.product {float:none!important;width:auto!important;margin:0!important;padding:15px!important;background:#fff;border-radius:13px;border:1px solid var(--tz-line);box-shadow:0 8px 30px rgba(20,26,30,.045);overflow:hidden}
.woocommerce ul.products li.product a img {background:#F8F6F3;border-radius:8px;aspect-ratio:1/1;object-fit:contain}
.woocommerce ul.products li.product .woocommerce-loop-product__title {font:700 1.05rem/1.4 system-ui,-apple-system,'Segoe UI',sans-serif!important}
.woocommerce .price {color:var(--tz-accent)!important}
.tz-site-footer {background:var(--tz-dark);border-top:4px solid #AC7E63;color:#F3F1EB}
.tz-site-footer__inner {padding:60px 0 45px;gap:45px;align-items:start}
.tz-site-footer p,.tz-site-footer strong {color:#F3F1EB}
.tz-site-footer strong {font:700 1.3rem/1.3 Georgia,serif}
.tz-site-footer a {color:#FFF4E4}
.tz-site-footer a:hover {color:white}
.tz-funding--template {background:#fff}
.tz-funding--template img {max-width:min(100%,1060px);max-height:62px;width:auto}
/* Fallback navigation if Elementor header templates are installed. */
.tz-site-header .elementor .tz-site-header__inner {min-height:92px}
.tz-site-header .elementor-widget-shortcode .tz-nav {display:flex;gap:clamp(12px,2vw,25px)}
.tz-site-header .elementor-widget-shortcode .tz-languages {display:flex;gap:7px}
.tz-site-header .elementor-widget-image img {width:auto;max-width:178px;max-height:78px;object-fit:contain}
/* Cookie banners should not overlap headings on narrow devices. */
.elementor-widget-container {min-width:0}
@media (max-width:1100px) {
  .tz-site-header__inner {grid-template-columns:minmax(135px,180px) 1fr;row-gap:8px}
  .tz-site-header__inner>nav[aria-label*="Language"],.tz-site-header__inner>nav:last-child {grid-column:2;justify-self:end}
  .tz-nav {justify-content:flex-end}
  .woocommerce ul.products {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px) {
  .tz-wrap {width:min(calc(100% - 32px),var(--tz-max))}
  .tz-funding a {padding:5px 8px;min-height:47px}
  .tz-funding img {max-height:56px;width:100%;object-fit:contain}
  .tz-site-header__inner {display:flex;flex-wrap:wrap;gap:8px;min-height:0;padding:11px 0 13px;align-items:center}
  .tz-site-header__inner>a:first-child {flex:1 1 150px}
  .tz-logo {width:138px;max-height:63px}
  .tz-nav-wrapper,.tz-site-header__inner>.tz-nav {order:3;flex:1 1 100%;max-width:100%;overflow-x:auto}
  .tz-nav,.tz-nav.tz-menu {justify-content:flex-start;gap:16px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}
  .tz-nav a {font-size:.84rem;white-space:nowrap}
  .tz-languages a {min-width:37px;min-height:40px}
  .tz-hero .elementor-widget-heading h1 {font-size:clamp(2.25rem,9vw,3.75rem)}
  .tz-hero .elementor-widget-image img {aspect-ratio:1.4}
  .tz-hero .e-con {width:100%!important;flex-basis:100%!important}
  .tz-section {padding-block:48px}
  .tz-site-footer__inner {padding:45px 0;flex-direction:column}
  .woocommerce ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (max-width:480px) {
  .woocommerce ul.products {grid-template-columns:1fr;gap:14px}
  .tz-site-header__inner {gap:3px}
  h2 {font-size:clamp(1.9rem,8vw,2.8rem)}
  .tz-category-card {border-radius:10px}
}
@media (prefers-reduced-motion: reduce) {
  .tz-category-card,.tz-collection-card,.tz-button,.elementor-widget-button .elementor-button {transition:none!important}
  .tz-category-card:hover,.tz-collection-card:hover {transform:none}
}
