/* barberlife — παράγεται από build_bl.py από το εγκεκριμένο index.html. ΜΗΝ το επεξεργάζεσαι με το χέρι. */

:root{
  --ink:#060606;
  --ink-2:#0F0F0F;
  --ink-3:#191919;
  --stone:#C2B098;
  --sand:#E4D8C6;
  --bone:#F3EDE3;
  --gold:#C9A96A;
  --gold-lo:#8E7643;
  --gold-hi:#EBD6A8;
  --line:rgba(233,214,178,.16);
  --line-dark:rgba(20,16,12,.16);
  --fg:var(--bone);
  --bg:var(--ink);
  --muted:rgba(243,237,227,.62);
  --maxw:1560px;
  --gut:clamp(20px,5vw,72px);
  --serif:"Cormorant Garamond",Didot,"Times New Roman",serif;
  --sans:"Commissioner","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);
  --r:18px;--r-sm:12px;
}
:root:not([data-theme="light"]){--fg:var(--bone);--bg:var(--ink);}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--fg:var(--bone);--bg:var(--ink);}}
:root[data-theme="dark"]{--fg:var(--bone);--bg:var(--ink);}

:is(#bl-hdr,#bl-home,#bl-foot) *{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;background:var(--ink);color:var(--fg);
  font-family:var(--sans);font-weight:300;font-size:clamp(15px,1.02vw,17px);line-height:1.7;
  letter-spacing:.005em;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
:is(#bl-hdr,#bl-home,#bl-foot) img,:is(#bl-hdr,#bl-home,#bl-foot) video{max-width:100%;display:block}
:is(#bl-hdr,#bl-home,#bl-foot) a{color:inherit;text-decoration:none}
:is(#bl-hdr,#bl-home,#bl-foot) button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:is(#bl-hdr,#bl-home,#bl-foot) h1,:is(#bl-hdr,#bl-home,#bl-foot) h2,:is(#bl-hdr,#bl-home,#bl-foot) h3{font-family:var(--serif);font-weight:300;margin:0;line-height:1.02;letter-spacing:.01em}
:is(#bl-hdr,#bl-home,#bl-foot) p{margin:0 0 1.1em}
:is(#bl-hdr,#bl-home,#bl-foot) :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
:is(#bl-hdr,#bl-home,#bl-foot) .wrap{max-width:var(--maxw);width:100%;margin:0 auto;padding-inline:var(--gut)}
:is(#bl-hdr,#bl-home,#bl-foot) .rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- header ---------- */
:is(#bl-hdr,#bl-home,#bl-foot) .hdr{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .5s var(--ease),border-color .5s;border-bottom:1px solid transparent}
:is(#bl-hdr,#bl-home,#bl-foot) .hdr.solid{background:rgba(6,6,6,.82);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
:is(#bl-hdr,#bl-home,#bl-foot) .hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--gut);max-width:var(--maxw);margin:0 auto}
:is(#bl-hdr,#bl-home,#bl-foot) .bl-mark{display:flex;align-items:center;gap:12px;line-height:1}
:is(#bl-hdr,#bl-home,#bl-foot) .bl-mark b{font-family:var(--serif);font-weight:400;font-size:1.34rem;letter-spacing:.34em;padding-left:.34em;display:block;line-height:1}
:is(#bl-hdr,#bl-home,#bl-foot) .bl-mark span{font-size:.62rem;letter-spacing:.3em;color:var(--gold);padding-left:.3em;display:block;line-height:1;position:relative;top:1px}
:is(#bl-hdr,#bl-home,#bl-foot) .bl-nav{display:flex;gap:clamp(18px,2.4vw,40px);font-size:.86rem;color:var(--muted)}
:is(#bl-hdr,#bl-home,#bl-foot) .bl-nav a{position:relative;padding-bottom:3px;transition:color .35s}
:is(#bl-hdr,#bl-home,#bl-foot) .bl-nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .5s var(--ease)}
:is(#bl-hdr,#bl-home,#bl-foot) .bl-nav a:hover{color:var(--bone)}:is(#bl-hdr,#bl-home,#bl-foot) .bl-nav a:hover::after{width:100%}
:is(#bl-hdr,#bl-home,#bl-foot) .hdr__act{display:flex;align-items:center;gap:22px}
:is(#bl-hdr,#bl-home,#bl-foot) .cart-btn{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--muted);transition:color .35s}
:is(#bl-hdr,#bl-home,#bl-foot) .cart-btn:hover{color:var(--gold-hi)}
:is(#bl-hdr,#bl-home,#bl-foot) .cart-btn i{font-style:normal;min-width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:.66rem;font-family:var(--sans);color:var(--gold-hi);transition:border-color .35s,background .35s}
:is(#bl-hdr,#bl-home,#bl-foot) .cart-btn[data-n]:not([data-n="0"]) i{background:var(--gold);color:var(--ink);border-color:var(--gold)}
:is(#bl-hdr,#bl-home,#bl-foot) .burger{display:none;width:26px;height:12px;position:relative}
:is(#bl-hdr,#bl-home,#bl-foot) .burger::before,:is(#bl-hdr,#bl-home,#bl-foot) .burger::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--bone);transition:transform .4s var(--ease)}
:is(#bl-hdr,#bl-home,#bl-foot) .burger::before{top:0}:is(#bl-hdr,#bl-home,#bl-foot) .burger::after{bottom:0}

/* ---------- custom cursor ---------- */
:is(#bl-hdr,#bl-home,#bl-foot) .cur{position:fixed;top:0;left:0;z-index:200;pointer-events:none;opacity:0;
  width:14px;height:14px;margin:-7px 0 0 -7px;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),opacity .3s,background .4s}
:is(#bl-hdr,#bl-home,#bl-foot) .cur span{font-size:.62rem;letter-spacing:.18em;color:var(--ink);opacity:0;transition:opacity .3s;white-space:nowrap}
:is(#bl-hdr,#bl-home,#bl-foot) .cur.big{width:78px;height:78px;margin:-39px 0 0 -39px;background:var(--gold)}
:is(#bl-hdr,#bl-home,#bl-foot) .cur.big span{opacity:1}
@media (hover:hover) and (pointer:fine){:is(#bl-hdr,#bl-home,#bl-foot) .cur.ready{opacity:1}}

/* ---------- fly to cart ---------- */
.fly{position:fixed;z-index:150;pointer-events:none;object-fit:cover;border:1px solid var(--gold);
  transition:transform .85s cubic-bezier(.5,0,.2,1),opacity .85s ease-in,width .85s var(--ease),height .85s var(--ease)}

:is(#bl-hdr,#bl-home,#bl-foot) .ghost{will-change:transform}

/* footer */
:is(#bl-hdr,#bl-home,#bl-foot) .foot{background:var(--ink-2);padding-block:clamp(60px,7vw,110px) 40px}
:is(#bl-hdr,#bl-home,#bl-foot) .foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,50px)}
:is(#bl-hdr,#bl-home,#bl-foot) .foot h5{font-size:.74rem;letter-spacing:.22em;color:var(--gold);margin:0 0 16px;font-weight:400;font-family:var(--sans)}
:is(#bl-hdr,#bl-home,#bl-foot) .foot a{color:var(--muted);display:block;padding:5px 0;transition:color .35s}
:is(#bl-hdr,#bl-home,#bl-foot) .foot a:hover{color:var(--bone)}
:is(#bl-hdr,#bl-home,#bl-foot) .foot__end{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:clamp(40px,5vw,70px);padding-top:22px;border-top:1px solid var(--line);color:rgba(243,237,227,.42);font-size:.78rem}
:is(#bl-hdr,#bl-home,#bl-foot) .pay{display:flex;gap:10px;align-items:center}
:is(#bl-hdr,#bl-home,#bl-foot) .pay span{border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:.72rem;letter-spacing:.12em}


/* toast (μεταφέρθηκε αυτούσιο από το τμήμα του καλαθιού) */
:is(#bl-hdr,#bl-home,#bl-foot) .toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,120%);background:var(--gold);color:var(--ink);padding:13px 24px;font-size:.84rem;letter-spacing:.08em;z-index:120;transition:transform .55s var(--ease)}
:is(#bl-hdr,#bl-home,#bl-foot) .toast.on{transform:translate(-50%,0)}

/* ==================================================================
   JOURNAL OVERRIDES — κρύβουν/ουδετεροποιούν στοιχεία του θέματος Journal 3.2.10
   (η ρύθμιση headerVisibility/footerVisibility ανά layout δεν τα έκρυβε)
   ================================================================== */
/* κρύβει: desktop header του Journal (top bar, logo, mega menu, search, cart) — το δικό μας είναι <header class="hdr"> */
html body header[class*="header-"]:not(.hdr){display:none}
/* κρύβει: mobile header του Journal (mobile top bar, logo, burger, mini cart) */
html body .mobile-header{display:none}
/* κρύβει: footer του Journal (info blocks, στήλες links, copyright, εικονίδια πληρωμών) — το δικό μας είναι <footer class="foot"> */
html body footer:not(.foot){display:none}
/* κρύβει: κουμπί back-to-top του Journal */
html body .scroll-top{display:none}
/* κρύβει: breadcrumb του Journal σε όλες τις σελίδες */
html body ul.breadcrumb{display:none}
/* μηδενίζει: το κενό που αφήνει το Journal πάνω για το δικό του (sticky / over-content) header */
html body .site-wrapper, html body .global-wrapper{padding-top:0;margin-top:0}
/* ουδετεροποιεί: τα wrappers γραμμής/στήλης/module του Journal γύρω από τα ΤΡΙΑ δικά μας modules,
   ώστε το markup μας να πιάνει όλο το πλάτος και το position:fixed του header να αναφέρεται στο παράθυρο */
html body .grid-row:has(#bl-hdr), html body .grid-row:has(#bl-home), html body .grid-row:has(#bl-foot){padding:0;margin:0;max-width:none;width:100%;background:none;transform:none;filter:none;contain:none;display:block}
html body .grid-row:has(#bl-hdr) :is(.grid-cols-wrapper,.grid-cols,.grid-col,.grid-items,.grid-item,.module,.module-body,.module-content),
html body .grid-row:has(#bl-home) :is(.grid-cols-wrapper,.grid-cols,.grid-col,.grid-items,.grid-item,.module,.module-body,.module-content),
html body .grid-row:has(#bl-foot) :is(.grid-cols-wrapper,.grid-cols,.grid-col,.grid-items,.grid-item,.module,.module-body,.module-content){padding:0;margin:0;max-width:none;width:100%;background:none;transform:none;filter:none;contain:none;display:block;border:0;box-shadow:none}
/* επαναφέρει: τη βάση του rem. Το Bootstrap 3 του Journal βάζει html{font-size:10px}· το εγκεκριμένο CSS μας
   μετράει σε rem με βάση το προεπιλεγμένο 16px του browser (71 τιμές) — χωρίς αυτό όλα τα γράμματα βγαίνουν στο 62% */
html:root{font-size:100%}
/* επιτρέπει: position:sticky στις ενότητές μας (η σταγόνα με το scroll). Το Journal έχει .site-wrapper{overflow:hidden} που το σπάει. Μόνο στην αρχική. */
html.route-common-home body .site-wrapper{overflow:visible}
/* βάφει: το περιτύλιγμα σελίδας του Journal (ανοιχτό γκρι του skin) με το δικό μας φόντο, ώστε οι διαφανείς ενότητές μας να πατάνε σε μαύρο όπως στο πρωτότυπο */
html body .global-wrapper, html body .site-wrapper{background-color:var(--ink)}
/* βγάζει: το position:relative + z-index:1 του Journal στο .grid-cols-wrapper κάθε γραμμής — έκανε τη γραμμή του hero να σκεπάζει το fixed header μας */
html body .grid-row:has(#bl-hdr) .grid-cols-wrapper, html body .grid-row:has(#bl-home) .grid-cols-wrapper, html body .grid-row:has(#bl-foot) .grid-cols-wrapper{position:static;z-index:auto}
/* βγάζει: τα z-index/stacking contexts των θέσεων του Journal, ώστε το position:fixed header μας (z-index:60) να μένει πάνω από το περιεχόμενο */
html body .grid-row:has(#bl-hdr){position:static;z-index:auto;height:auto;min-height:0}
/* μηδενίζει: padding/πλάτος των θέσεων top και bottom του Journal που φιλοξενούν τα modules μας */
html body #top.top-row, html body .bottom.bottom-row{padding:0;margin:0;max-width:none}
