/* TZA-XMAS — Χριστουγεννιάτικα εφέ e-tza.gr. Φορτώνεται ΜΟΝΟ όταν είναι ενεργό το module «TZA Χριστούγεννα». */

/* ---------- Μπάρα αντίστροφης μέτρησης ---------- */
.tzx-bar{position:relative;z-index:16;order:-10;/* η Journal βάζει το header με order:-5 */
  color:#fff;font-size:14px;line-height:1.35;text-align:center;
  background:repeating-linear-gradient(135deg,#c8102e 0 22px,#b80d29 22px 44px);
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.12);}
.tzx-bar-in{position:relative;max-width:1300px;margin:0 auto;min-height:36px;padding:8px 86px 8px 16px;
  display:flex;align-items:center;justify-content:center;}
.tzx-msg b{color:#ffe14d;font-weight:800;}
.tzx-snowbtn,.tzx-x{position:absolute;top:50%;margin-top:-14px;width:28px;height:28px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.16);color:#fff;font-size:15px;line-height:28px;cursor:pointer;transition:background .2s,opacity .2s;}
.tzx-snowbtn:hover,.tzx-x:hover{background:rgba(255,255,255,.3);}
.tzx-snowbtn{right:48px;}
.tzx-x{right:12px;font-size:21px;}
.tzx-snowbtn.off{opacity:.45;}
.tzx-snowbtn.off::after{content:"";position:absolute;left:5px;right:5px;top:50%;height:2px;background:#fff;transform:rotate(-45deg);}
@media (max-width:600px){
  .tzx-bar{font-size:12px;line-height:1.3;}
  .tzx-bar-in{padding:6px 76px 6px 10px;min-height:34px;}
  .tzx-snowbtn{right:42px;}
  .tzx-x{right:8px;}
}

/* ---------- Vintage λαμπιόνια (τα ζωγραφίζει το xmas.js σε SVG) ---------- */
.site-wrapper>header{position:relative;}
.tzx-lights{position:absolute;left:0;right:0;top:100%;height:36px;overflow:hidden;pointer-events:none;z-index:4;}
.tzx-lights svg,.tzx-wrap svg{display:block;overflow:visible;}
.tzx-wrap{position:absolute;pointer-events:none;z-index:0;}
.tzx-b .tzx-glow{animation:tzxChase 2.4s ease-in-out infinite;}
.tzx-b .tzx-glass{animation:tzxChaseG 2.4s ease-in-out infinite;}
/* κυνηγητό: κάθε λάμπα είναι αναμμένη ~1/3 του κύκλου, οι διπλανές με καθυστέρηση -> το φως «τρέχει» */
@keyframes tzxChase{0%{opacity:.3}8%{opacity:1}30%{opacity:1}42%{opacity:.3}100%{opacity:.3}}
@keyframes tzxChaseG{0%{opacity:.7}8%{opacity:1}30%{opacity:1}42%{opacity:.7}100%{opacity:.7}}
/* χιόνι πάνω σε καλώδιο και λάμπες: μεγαλώνει σε 40 δευτ. */
.tzx-snowy ellipse{transform-box:fill-box;transform-origin:50% 100%;animation:tzxCap 40s ease-out both;}
@keyframes tzxCap{0%{transform:scale(0);opacity:0}15%{opacity:1}100%{transform:scale(1);opacity:1}}
.tzx-nosnow .tzx-snowy{display:none;}

/* ---------- Χιόνι που πέφτει ---------- */
.tzx-snow{position:fixed;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:1000;}
.tzx-fab{position:fixed;left:14px;bottom:78px;z-index:1001;width:34px;height:34px;border:0;border-radius:50%;padding:0;
  background:#c8102e;color:#fff;font-size:17px;line-height:34px;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer;opacity:.85;}
.tzx-fab.off{opacity:.45;}

/* ---------- Δωράκι προς το καλάθι ---------- */
.tzx-gift{position:fixed;left:0;top:0;z-index:100050;font-size:34px;line-height:1;pointer-events:none;will-change:transform,opacity;
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.25));}
.tzx-burst{position:fixed;width:0;height:0;z-index:100051;pointer-events:none;}
.tzx-burst i{position:absolute;left:-7px;top:-7px;font-style:normal;font-size:14px;line-height:14px;opacity:0;
  animation:tzxBurst .8s ease-out forwards;}
@keyframes tzxBurst{0%{opacity:1;transform:translate(0,0) scale(.6)}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.1) rotate(160deg)}}
.tzx-bump{animation:tzxBump .55s ease-out;}
@keyframes tzxBump{0%{transform:scale(1)}30%{transform:scale(1.25)}55%{transform:scale(.92)}100%{transform:scale(1)}}

/* ---------- Κομφετί δωρεάν μεταφορικών -> χιονονιφάδες & αστεράκια ---------- */
.tzx-on .fst-confetti i{background:transparent !important;width:14px;height:14px;border-radius:0;font-style:normal;font-size:14px;line-height:14px;text-align:center;}
.tzx-on .fst-confetti i::before{content:"\2744";}
.tzx-on .fst-confetti i:nth-child(3n)::before{content:"\2605";}
.tzx-on .fst-confetti i:nth-child(4n+1){color:#e1051a;}
.tzx-on .fst-confetti i:nth-child(4n+2){color:#1f9d55;}
.tzx-on .fst-confetti i:nth-child(4n+3){color:#e0a800;}
.tzx-on .fst-confetti i:nth-child(4n+4){color:#3b8fd2;}

/* ---------- Όποιος έχει ζητήσει «λιγότερη κίνηση» στη συσκευή του ---------- */
@media (prefers-reduced-motion:reduce){
  .tzx-b .tzx-glow,.tzx-b .tzx-glass{animation:none;opacity:1;}
  .tzx-snowy ellipse{animation:none;}
  .tzx-hid .tzx-box{animation:none;}
}

/* ---------- Κουτί δώρου (το ίδιο σχέδιο: μικρό κρυμμένο & μεγάλο στο παράθυρο) ---------- */
.tzx-box{position:relative;display:inline-block;width:1em;height:1em;font-size:34px;vertical-align:middle;}
.tzx-body{position:absolute;left:.08em;right:.08em;bottom:0;height:.6em;border-radius:.05em;
  background:linear-gradient(90deg,transparent 43%,#ffd34d 43%,#f2b705 57%,transparent 57%),linear-gradient(#e8283b,#b5101f);
  box-shadow:inset 0 -.06em 0 rgba(0,0,0,.18);}
.tzx-lid{position:absolute;left:0;right:0;top:.2em;height:.22em;border-radius:.05em;z-index:2;transform-origin:20% 100%;
  background:linear-gradient(90deg,transparent 42%,#ffd34d 42%,#f2b705 58%,transparent 58%),linear-gradient(#f0394b,#c8102e);
  box-shadow:0 .03em .04em rgba(0,0,0,.25);}
.tzx-lid::before,.tzx-lid::after{content:"";position:absolute;bottom:100%;width:.28em;height:.2em;border:.055em solid #f2b705;border-radius:50% 50% 50% 50%;box-sizing:border-box;}
.tzx-lid::before{right:50%;transform:rotate(-25deg);transform-origin:100% 100%;}
.tzx-lid::after{left:50%;transform:rotate(25deg);transform-origin:0 100%;}

/* μικρό κρυμμένο κουτί */
.tzx-hid{position:absolute;z-index:6;border:0;background:none;padding:0;cursor:pointer;line-height:0;}
.tzx-hid-card{left:6px;bottom:6px;}
.tzx-hid-edge{position:fixed;left:-12px;transition:left .25s;}
.tzx-hid-edge:hover{left:4px;}
.tzx-hid .tzx-box{font-size:32px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));animation:tzxWobble 4s ease-in-out infinite;transform-origin:50% 100%;}
.tzx-hid:hover .tzx-box{animation:tzxShake .5s ease-in-out infinite;}
/* σε υπολογιστή: 3 φορές μεγαλύτερο κουτί (στο κινητό μένει μικρό για να μη σκεπάζει το προϊόν) */
@media (min-width:993px){
  .tzx-hid .tzx-box{font-size:96px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35));}
  .tzx-hid-card{left:8px;bottom:8px;}
  .tzx-hid-edge{left:-36px;}
  .tzx-hid-edge:hover{left:6px;}
}
@keyframes tzxWobble{0%,80%,100%{transform:rotate(0)}84%{transform:rotate(-12deg) translateY(-3px)}88%{transform:rotate(10deg) translateY(-4px)}92%{transform:rotate(-6deg)}96%{transform:rotate(4deg)}}
@keyframes tzxShake{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}

/* παράθυρο ανοίγματος */
.tzx-modal{position:fixed;left:0;top:0;right:0;bottom:0;z-index:100060;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(15,25,45,.55);opacity:0;transition:opacity .25s;}
.tzx-modal.tzx-in{opacity:1;}
.tzx-modal.tzx-out{opacity:0;}
.tzx-card{position:relative;width:100%;max-width:400px;background:#fff;border-radius:18px;padding:26px 22px 22px;text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.35);transform:scale(.85);transition:transform .3s cubic-bezier(.2,1.4,.4,1);overflow:hidden;
  background-image:radial-gradient(circle at 50% 0,#fff4f4 0,#fff 60%);}
.tzx-in .tzx-card{transform:scale(1);}
.tzx-mx{position:absolute;right:10px;top:8px;width:32px;height:32px;border:0;border-radius:50%;background:#f2f2f2;font-size:22px;line-height:32px;cursor:pointer;color:#555;padding:0;}
.tzx-stage{height:130px;display:flex;align-items:flex-end;justify-content:center;transition:height .45s .35s;}
.tzx-open .tzx-stage{height:44px;}
.tzx-big{font-size:110px;animation:tzxShake .35s ease-in-out 2;}
.tzx-open .tzx-big{animation:none;}
.tzx-open .tzx-big .tzx-lid{animation:tzxLid .7s cubic-bezier(.3,.6,.4,1) forwards;}
.tzx-open .tzx-big .tzx-body{animation:tzxBody .5s ease-out forwards;}
@keyframes tzxLid{0%{transform:none}100%{transform:translate(.45em,-.9em) rotate(38deg);opacity:0}}
@keyframes tzxBody{0%{transform:none}40%{transform:scaleY(.88);opacity:1}100%{transform:scaleY(.6) translateY(.3em);opacity:0}}
.tzx-reveal{opacity:0;transform:translateY(12px);transition:opacity .4s .45s,transform .4s .45s;}
.tzx-open .tzx-reveal{opacity:1;transform:none;}
.tzx-t{font-size:22px;font-weight:800;color:#c8102e;margin-bottom:8px;}
.tzx-p{font-size:15px;color:#333;margin-bottom:14px;}
.tzx-p b{color:#c8102e;}
.tzx-code{display:flex;align-items:center;justify-content:center;gap:10px;border:2px dashed #c8102e;border-radius:12px;padding:10px 12px;background:#fff8e6;margin-bottom:10px;}
.tzx-cv{font-size:26px;font-weight:800;letter-spacing:3px;color:#1d1d1d;font-family:monospace,monospace;}
.tzx-copy{border:0;border-radius:20px;background:#3b8fd2;color:#fff;font-weight:700;padding:7px 14px;cursor:pointer;white-space:nowrap;}
.tzx-s{font-size:13px;color:#666;margin-bottom:16px;}
.tzx-go{border:0;border-radius:24px;background:#c8102e;color:#fff;font-weight:700;font-size:15px;padding:11px 26px;cursor:pointer;}
.tzx-go:hover{background:#a90d27;}

/* ο κωδικός μένει στη μπάρα για όποιον τον βρήκε */
.tzx-bar-in{flex-wrap:wrap;column-gap:12px;}
.tzx-mycode{display:inline-block;background:#ffe14d;color:#7a0010;border-radius:14px;padding:2px 10px;font-size:13px;cursor:pointer;white-space:nowrap;}
.tzx-mycode b{color:#c8102e;letter-spacing:1px;}
.tzx-mycode.tzx-copied::after{content:" \2713 αντιγράφηκε";}


/* ---------- Χριστουγεννιάτικο header & footer (ρύθμιση «decor», class html.tzx-decor) — TZA-XMAS 02/11/2026 ---------- */
html.tzx-decor header.header-classic{background-color:#6e0b0e !important;background-image:url('img/header.jpg') !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important}
html.tzx-decor.mobile-header-active .mobile-bar,html.tzx-decor .mobile-header-active .mobile-bar{background:transparent !important}
html.tzx-decor header .top-bar,html.tzx-decor .top-bar.navbar-nav{background:#8a0f14 !important;box-shadow:0 0 0 100vmax #8a0f14 !important}
html.tzx-decor #logo img,html.tzx-decor .mobile-logo-wrapper img{filter:drop-shadow(0 0 6px rgba(255,240,200,.85))}
html.tzx-decor .main-menu-3 > .j-menu > li > a{background:linear-gradient(180deg,#fff6e0 0%,#f5d98f 100%) !important;color:#7a0d10 !important}
html.tzx-decor .main-menu-3 > .j-menu > li > a .links-text,html.tzx-decor .main-menu-3 > .j-menu > li > a .fa,html.tzx-decor .main-menu-3 > .j-menu > li > a::before{color:#7a0d10 !important}
html.tzx-decor .main-menu-3 > .j-menu > li:hover > a{background:#b3141b !important;color:#fff !important}
html.tzx-decor .main-menu-3 > .j-menu > li:hover > a .links-text{color:#fff !important}
html.tzx-decor .header-search,html.tzx-decor .desktop-cart-wrapper .dropdown{box-shadow:0 2px 10px rgba(0,0,0,.25)}
html.tzx-decor footer .grid-rows{background:#1d0304 url('img/footer.jpg') no-repeat center bottom / 100% auto !important;padding-bottom:13vw !important}
html.tzx-decor footer a{color:#fff !important}
html.tzx-decor footer a:hover{color:#f5d98f !important}
html.tzx-decor footer .title,html.tzx-decor footer h3{color:#f5d98f !important}
html.tzx-decor footer .icons-menu a,html.tzx-decor footer .icons-menu-item > a{background:#b3141b !important;color:#fff !important}
html.tzx-decor footer button,html.tzx-decor footer .btn{background:#b3141b !important;border-color:#b3141b !important;color:#fff !important}
html.tzx-decor .mobile-bar .menu-trigger::before,html.tzx-decor .mobile-bar .mobile-custom-menu::before,html.tzx-decor .mobile-bar .fa::before,html.tzx-decor .mobile-bar .cart-heading::before{color:#fff !important;text-shadow:0 1px 3px rgba(0,0,0,.7)}

/* ---------- Ζεστό φόντο σελίδας + κάρτες προϊόντων (μέρος του «decor») — TZA-XMAS 02/11/2026 ---------- */
html.tzx-decor body{background-color:#fbf3e6 !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none' stroke='%23d9b46a' stroke-width='1.4' stroke-linecap='round' opacity='.35'%3E%3Cg transform='translate(30 34)'%3E%3Cpath d='M0-9V9M-7.8-4.5L7.8 4.5M-7.8 4.5L7.8-4.5'/%3E%3C/g%3E%3Cg transform='translate(102 98) scale(.7)'%3E%3Cpath d='M0-9V9M-7.8-4.5L7.8 4.5M-7.8 4.5L7.8-4.5'/%3E%3C/g%3E%3C/g%3E%3Cg fill='%23c8102e' opacity='.12'%3E%3Ccircle cx='96' cy='30' r='2'/%3E%3Ccircle cx='36' cy='106' r='1.6'/%3E%3C/g%3E%3C/svg%3E") !important;background-attachment:fixed !important}
html.tzx-decor .ms-container,html.tzx-decor .grid-row,html.tzx-decor .block-body,html.tzx-decor #content .row,html.tzx-decor #content [class*="col-"],html.tzx-decor .container,html.tzx-decor .site-wrapper{background-color:transparent !important}
html.tzx-decor .desktop-main-menu-wrapper::before{background:transparent !important;box-shadow:none !important}
html.tzx-decor .product-thumb{background:#fff !important;border-radius:14px !important;box-shadow:0 2px 10px rgba(120,40,20,.08) !important;overflow:hidden}
html.tzx-decor .product-thumb:hover{box-shadow:0 8px 24px rgba(150,20,20,.18) !important}
/* συμπλήρωμα: διαφανή όλα τα κουτιά των modules, κόκκινες οι καρτέλες */
html.tzx-decor .site-wrapper > .container > .row,html.tzx-decor .site-wrapper > .container > .row > [class*="col-"],html.tzx-decor #content,html.tzx-decor .grid-cols,html.tzx-decor .grid-col,html.tzx-decor .grid-items,html.tzx-decor .grid-item,html.tzx-decor .module,html.tzx-decor .module-body,html.tzx-decor .module-title,html.tzx-decor .tab-container,html.tzx-decor .swiper,html.tzx-decor .swiper-container,html.tzx-decor .module-manufacturers{background-color:transparent !important}
html.tzx-decor .tab-container::before{background:transparent !important}
html.tzx-decor body .module ul.nav-tabs > li.active > a,html.tzx-decor body .module ul.nav-tabs > li > a:hover,html.tzx-decor body .module ul.nav-tabs > li.active > a:focus{background:#b3141b !important;color:#fff !important}
html.tzx-decor body .module .nav-tabs > li.active{border-bottom-color:#b3141b !important}
html.tzx-decor body .module .nav-tabs > li.active::after{border-top-color:#b3141b !important}
html.tzx-decor h1.page-title,html.tzx-decor h1.page-title::before{background:transparent !important;box-shadow:none !important}
html.tzx-decor .tzw-bar{background:#8a0f14 !important}
