/*
Theme Name: Dental Cosmetic Studio
Theme URI:  https://odontiatroi-athens.gr
Template:   hello-elementor
Author:     NMS
Description: Child theme του Hello Elementor. Header/footer σε PHP templates (χωρίς Elementor Pro). Χρώματα και τυπογραφία από το λογότυπο του ιατρείου.
Version:    1.1.0
Text Domain: dcs-child
*/

/* ==========================================================================
   Brand — δειγματισμένο από το λογότυπο
   ========================================================================== */
:root{
  --dcs-cyan:#00AAD8;
  --dcs-cyan-deep:#0090BC;
  --dcs-navy:#005078;
  --dcs-navy-ink:#003F5F;
  --dcs-ink:#171717;
  --dcs-body:#3C4650;
  --dcs-wash:#EAF7FC;
  --dcs-line:#D4E7EF;
  --dcs-head:Commissioner,system-ui,-apple-system,"Segoe UI",sans-serif;
  --dcs-shell:1140px;
}

body{ color:var(--dcs-body); }
h1,h2,h3,h4,h5,h6{ color:var(--dcs-navy-ink); letter-spacing:-.015em; }

.dcs-wrap{ max-width:var(--dcs-shell); margin:0 auto; padding:0 clamp(18px,4vw,34px); }

.dcs-skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--dcs-navy-ink); color:#fff; padding:12px 20px;
}
.dcs-skip:focus{ left:0; }

/* ==========================================================================
   TOPBAR
   ========================================================================== */
.dcs-topbar{
  background:var(--dcs-navy-ink); color:#B9DCEC;
  font-size:14px; line-height:1.4;
}
.dcs-topbar .dcs-wrap{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; flex-wrap:wrap; min-height:42px; padding-block:7px;
}
.dcs-topbar a{ color:#fff; font-weight:600; text-decoration:none; }
.dcs-topbar a:hover{ text-decoration:underline; }
.dcs-sep{ opacity:.45; margin:0 6px; }
@media(max-width:600px){ .dcs-topbar__place{ display:none; } }

/* ==========================================================================
   HEADER
   ========================================================================== */
.dcs-header{
  background:#fff; border-bottom:1px solid var(--dcs-line);
  position:sticky; top:0; z-index:100;
}
/* Η admin bar δεν πρέπει να σκεπάζει το sticky header */
.admin-bar .dcs-header{ top:32px; }
@media(max-width:782px){ .admin-bar .dcs-header{ top:46px; } }

.dcs-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; min-height:84px;
}
.dcs-logo{ display:flex; align-items:center; flex:none; }
.dcs-logo img{ height:46px; width:auto; display:block; }
@media(max-width:520px){ .dcs-logo img{ height:38px; } }

/* --- πλοήγηση --- */
.dcs-nav{ display:flex; align-items:center; gap:26px; }
.dcs-menu{
  display:flex; align-items:center; gap:26px;
  list-style:none; margin:0; padding:0;
}
.dcs-menu li{ position:relative; }
.dcs-menu > li > a{
  display:block; padding:10px 0;
  font-family:var(--dcs-head); font-weight:600; font-size:15.5px;
  color:var(--dcs-navy-ink); text-decoration:none;
  border-bottom:2px solid transparent;
}
.dcs-menu > li > a:hover,
.dcs-menu > li.current-menu-item > a,
.dcs-menu > li.current-page-ancestor > a{
  color:var(--dcs-cyan-deep); border-bottom-color:var(--dcs-cyan);
}

/* --- υπομενού --- */
.dcs-menu .sub-menu{
  position:absolute; left:0; top:100%; min-width:260px;
  background:#fff; border:1px solid var(--dcs-line);
  border-radius:10px; box-shadow:0 12px 32px rgba(0,63,95,.13);
  list-style:none; margin:0; padding:8px 0; z-index:60;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
}
.dcs-menu li:hover > .sub-menu,
.dcs-menu li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:none; }
.dcs-menu .sub-menu a{
  display:block; padding:10px 18px; font-size:15px;
  color:var(--dcs-body); text-decoration:none;
}
.dcs-menu .sub-menu a:hover{ background:var(--dcs-wash); color:var(--dcs-navy-ink); }
.dcs-menu .menu-item-has-children > a::after{
  content:""; display:inline-block; vertical-align:middle;
  width:6px; height:6px; margin-left:8px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}

/* --- CTA --- */
.dcs-cta{
  display:inline-block; flex:none;
  padding:11px 22px; border-radius:999px;
  background:var(--dcs-cyan); color:#fff;
  font-family:var(--dcs-head); font-weight:600; font-size:15px;
  text-decoration:none; transition:background-color .16s ease;
}
.dcs-cta:hover{ background:var(--dcs-navy); color:#fff; }

/* --- burger --- */
.dcs-burger{
  display:none; flex:none;
  width:46px; height:46px; padding:11px;
  background:transparent; border:1px solid var(--dcs-line); border-radius:8px;
  cursor:pointer;
}
.dcs-burger span{
  display:block; height:2px; background:var(--dcs-navy-ink); border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.dcs-burger span + span{ margin-top:5px; }
body.dcs-nav-open .dcs-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.dcs-nav-open .dcs-burger span:nth-child(2){ opacity:0; }
body.dcs-nav-open .dcs-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media(max-width:980px){
  .dcs-burger{ display:block; }
  .dcs-nav{
    position:fixed; inset:0 0 0 auto; width:min(340px,86vw);
    background:#fff; border-left:1px solid var(--dcs-line);
    flex-direction:column; align-items:stretch; gap:0;
    padding:88px 24px 32px; overflow-y:auto;
    transform:translateX(100%); transition:transform .22s ease;
    box-shadow:-18px 0 44px rgba(0,63,95,.14);
  }
  body.dcs-nav-open .dcs-nav{ transform:none; }
  .dcs-menu{ flex-direction:column; align-items:stretch; gap:0; }
  .dcs-menu > li > a{ padding:14px 0; border-bottom:1px solid var(--dcs-line); }
  .dcs-menu > li > a:hover{ border-bottom-color:var(--dcs-line); }
  .dcs-menu .sub-menu{
    position:static; opacity:1; visibility:visible; transform:none;
    border:0; box-shadow:none; border-radius:0; padding:0 0 8px 14px;
    display:none;
  }
  .dcs-menu li.is-open > .sub-menu{ display:block; }
  .dcs-cta{ margin-top:22px; text-align:center; }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.dcs-footer{ background:var(--dcs-navy-ink); color:#A9CEDF; margin-top:0; }
.dcs-footer__grid{
  display:grid; gap:clamp(28px,4vw,48px);
  grid-template-columns:1fr; padding-block:clamp(44px,6vw,68px);
}
@media(min-width:720px){ .dcs-footer__grid{ grid-template-columns:1.4fr 1fr 1fr; } }
@media(min-width:1000px){ .dcs-footer__grid{ grid-template-columns:1.6fr 1.1fr 1fr 1fr; } }

.dcs-footer__logo{
  height:44px; width:auto; background:#fff;
  padding:8px 12px; border-radius:8px;
}
.dcs-footer__blurb{ margin:16px 0 0; max-width:34ch; font-size:15px; line-height:1.65; }

.dcs-footer__h{
  font-family:var(--dcs-head); font-size:15px; font-weight:600;
  color:#fff; margin:0 0 14px; letter-spacing:0;
}
.dcs-footer__h::after{
  content:""; display:block; width:34px; height:3px; border-radius:99px;
  background:var(--dcs-cyan); margin-top:10px;
}

.dcs-footer__list{ list-style:none; margin:0; padding:0; }
.dcs-footer__list li + li{ margin-top:9px; }
.dcs-footer__list a{ color:#A9CEDF; text-decoration:none; font-size:15px; }
.dcs-footer__list a:hover{ color:#fff; text-decoration:underline; }

.dcs-contact{ margin:0; }
.dcs-contact dt{ font-size:13px; color:#6F9DB5; margin-top:14px; }
.dcs-contact dt:first-child{ margin-top:0; }
.dcs-contact dd{
  margin:3px 0 0; font-family:var(--dcs-head); font-weight:600;
  font-size:17px; color:#fff;
}
.dcs-contact dd a{ color:#fff; text-decoration:none; }
.dcs-contact dd a:hover{ color:var(--dcs-cyan); }

.dcs-footer__bar{ border-top:1px solid rgba(255,255,255,.12); }
.dcs-footer__barin{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding-block:18px; font-size:13.5px; color:#7FA8BD;
}
.dcs-footer__by{ opacity:.85; }

/* ==========================================================================
   ΠΕΡΙΕΧΟΜΕΝΟ — Elementor widgets
   ========================================================================== */
.dcs-main{ display:block; }

/* Μήκος γραμμής: πάνω από ~80 χαρακτήρες κουράζει */
.elementor-widget-text-editor > .elementor-widget-container{ max-width:68ch; }
.elementor-widget-text-editor p:last-child{ margin-bottom:0; }

/* Το τόξο του σήματος, ως δομικό μοτίβο πάνω από επικεφαλίδες */
.elementor-widget-heading.dcs-arc .elementor-heading-title::before{
  content:""; display:block; width:54px; height:4px;
  border-radius:99px; background:var(--dcs-cyan); margin:0 0 20px;
}

/* Κουμπιά */
.elementor-button{ border-radius:999px; transition:background-color .16s ease,color .16s ease,border-color .16s ease; }
.elementor-widget-button .elementor-button{
  display:flex; align-items:center; justify-content:center;
  min-height:56px; text-align:center; line-height:1.25; width:100%;
}

/* FAQ accordion: λεπτές γραμμές αντί για κουτιά */
.elementor-accordion .elementor-accordion-item{ border:0; border-bottom:1px solid var(--dcs-line); }
.elementor-accordion .elementor-accordion-item:first-child{ border-top:1px solid var(--dcs-line); }
.elementor-accordion .elementor-tab-title{
  padding:18px 4px; background:transparent;
  font-family:var(--dcs-head); font-weight:600; font-size:1.06rem;
  color:var(--dcs-navy-ink);
}
.elementor-accordion .elementor-tab-title:hover,
.elementor-accordion .elementor-tab-title.elementor-active{ color:var(--dcs-cyan-deep); }
.elementor-accordion .elementor-tab-content{ border:0; padding:0 4px 20px; background:transparent; }
.elementor-accordion .elementor-accordion-icon{ color:var(--dcs-cyan); }

/* Εικόνες */
.elementor-widget-image img{ border-radius:12px; }
.dcs-awards .elementor-widget-image img{
  border-radius:0; filter:grayscale(1); opacity:.55;
  transition:filter .2s ease, opacity .2s ease;
}
.dcs-awards .elementor-widget-image img:hover{ filter:none; opacity:1; }

/* Βοηθητικές κλάσεις για sections */
.dcs-band{ background:var(--dcs-wash); }
.dcs-dark{ background:var(--dcs-navy-ink); }
.dcs-dark, .dcs-dark p{ color:#C3DEEB; }
.dcs-dark h1,.dcs-dark h2,.dcs-dark h3{ color:#fff; }
.dcs-dark a{ color:#fff; }
.dcs-dark a:hover{ color:var(--dcs-cyan); }
.dcs-note .elementor-widget-container{
  border-left:4px solid var(--dcs-cyan); padding:6px 0 6px 20px;
  font-family:var(--dcs-head); font-weight:500; font-size:1.16rem;
  line-height:1.5; color:var(--dcs-navy-ink);
}

/* ==========================================================================
   Fallback: σελίδες χωρίς Elementor
   ========================================================================== */
.entry-content .button-row{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px; margin:20px 0;
}
.entry-content a.btn{
  display:flex; align-items:center; justify-content:center; text-align:center;
  min-height:56px; padding:12px 18px; border-radius:999px;
  border:2px solid var(--dcs-cyan); color:var(--dcs-cyan-deep);
  text-decoration:none; font-weight:600;
}
.entry-content a.btn:hover{ background:var(--dcs-cyan); color:#fff; }
.entry-content .image-row{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; justify-content:center; }
.entry-content .image-row img{ flex:1 1 150px; max-width:230px; border-radius:10px; }
.entry-content details{ border-bottom:1px solid var(--dcs-line); margin:0; }
.entry-content summary{ cursor:pointer; padding:16px 2px; font-weight:600; color:var(--dcs-navy-ink); }

/* ==========================================================================
   Ποιοτικό δάπεδο
   ========================================================================== */
:focus-visible{ outline:3px solid var(--dcs-cyan); outline-offset:3px; }
@media(prefers-reduced-motion:reduce){ *{ transition:none !important; } }

/* ==========================================================================
   UAE header/footer templates
   --------------------------------------------------------------------------
   Όταν το header/footer έρχεται από το UAE, το markup είναι Elementor widgets
   και ΔΕΝ πιάνεται από τους παραπάνω κανόνες (.dcs-footer__list κλπ).
   Τα ονόματα κλάσεων αλλάζουν ανά έκδοση (hfe- / uael- / elementor-), οπότε
   τα στοχεύουμε όλα.

   Το !important εδώ είναι σκόπιμο: το Elementor τυπώνει τα χρώματα των widget
   σε inline <style> που φορτώνει ΜΕΤΑ το stylesheet του theme.
   ========================================================================== */

.dcs-hfe--footer{ background:var(--dcs-navy-ink); }

/* --- σύνδεσμοι μενού στο υποσέλιδο --- */
.dcs-hfe--footer a.hfe-menu-item,
.dcs-hfe--footer a.uael-menu-item,
.dcs-hfe--footer .elementor-nav-menu a,
.dcs-hfe--footer .menu-item a,
.dcs-hfe--footer .widget_nav_menu a{
  color:#BFDCEA !important;
  font-size:15px;
  line-height:1.75;
  text-decoration:none;
  background:transparent !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.dcs-hfe--footer a.hfe-menu-item:hover,
.dcs-hfe--footer a.uael-menu-item:hover,
.dcs-hfe--footer .elementor-nav-menu a:hover,
.dcs-hfe--footer .menu-item a:hover,
.dcs-hfe--footer .widget_nav_menu a:hover{
  color:#FFFFFF !important;
  background:transparent !important;
}
/* το ενεργό στοιχείο να μην «καίγεται» σε άλλο χρώμα */
.dcs-hfe--footer .current-menu-item > a{ color:var(--dcs-cyan) !important; }

/* καθαρό vertical μενού, χωρίς τα περιθώρια του widget */
.dcs-hfe--footer .hfe-nav-menu li,
.dcs-hfe--footer .elementor-nav-menu li,
.dcs-hfe--footer .widget_nav_menu li{ border:0 !important; }
.dcs-hfe--footer ul{ list-style:none; margin:0; padding:0; }

/* --- επικεφαλίδες στηλών --- */
.dcs-hfe--footer .elementor-heading-title{
  color:#FFFFFF !important;
  font-family:var(--dcs-head);
  font-size:16px;
  letter-spacing:0;
}
.dcs-hfe--footer .elementor-widget-heading .elementor-heading-title::after{
  content:""; display:block; width:34px; height:3px; border-radius:99px;
  background:var(--dcs-cyan); margin-top:10px;
}

/* --- τρεχούμενο κείμενο --- */
.dcs-hfe--footer .elementor-widget-text-editor,
.dcs-hfe--footer .elementor-widget-text-editor p{ color:#BFDCEA; }
.dcs-hfe--footer .elementor-widget-text-editor a{ color:#FFFFFF; text-decoration:none; }
.dcs-hfe--footer .elementor-widget-text-editor a:hover{ color:var(--dcs-cyan); }

/* --- λογότυπο: λευκή πλάκα, αλλιώς το σκούρο wordmark χάνεται --- */
.dcs-hfe--footer .elementor-widget-image img{
  background:#FFFFFF;
  padding:10px 14px;
  border-radius:10px;
}

/* --- κάτω μπάρα --- */
.dcs-hfe--footer .elementor-section:last-child .elementor-widget-text-editor p{
  color:#8FB4C8 !important;
  font-size:13.5px;
}

/* ==========================================================================
   UAE header
   ========================================================================== */
.dcs-hfe--header{ position:relative; z-index:50; }

.dcs-hfe--header a.hfe-menu-item,
.dcs-hfe--header a.uael-menu-item,
.dcs-hfe--header .elementor-nav-menu a,
.dcs-hfe--header .menu-item a{
  color:var(--dcs-navy-ink) !important;
  font-family:var(--dcs-head);
  font-weight:600;
  font-size:15.5px;
}
.dcs-hfe--header a.hfe-menu-item:hover,
.dcs-hfe--header a.uael-menu-item:hover,
.dcs-hfe--header .elementor-nav-menu a:hover,
.dcs-hfe--header .menu-item a:hover,
.dcs-hfe--header .current-menu-item > a{
  color:var(--dcs-cyan-deep) !important;
}

/* υπομενού */
.dcs-hfe--header .sub-menu,
.dcs-hfe--header .hfe-nav-menu .sub-menu{
  background:#fff !important;
  border:1px solid var(--dcs-line);
  border-radius:10px;
  box-shadow:0 12px 32px rgba(0,63,95,.13);
  padding:8px 0;
}
.dcs-hfe--header .sub-menu a{ padding:10px 18px !important; font-weight:400 !important; }
.dcs-hfe--header .sub-menu a:hover{ background:var(--dcs-wash) !important; }
