/*
Theme Name: Deldentis Concept
Theme URI: https://deldentisconcept.ro/
Author: Deldentis Concept
Author URI: https://deldentisconcept.ro/
Description: Temă custom pentru Deldentis Concept — cabinet stomatologic în Iași. Design luxury (auriu/crem), compatibilă Elementor și WooCommerce, optimizată SEO și securizată. Header, footer și branding gestionate din temă; conținutul paginilor este editabil vizual în Elementor.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: deldentis-concept
Tags: dental, clinic, woocommerce, elementor, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */
:root {
  --dc-gold: #bd9a5f;
  --dc-gold-deep: #9a7b3e;
  --dc-gold-soft: #d8bf8e;
  --dc-gold-pale: #f1e8d6;
  --dc-ink: #23201b;
  --dc-muted: #7a7066;
  --dc-cream: #faf6ee;
  --dc-cream2: #f4ecdd;
  --dc-dark: #1b1814;
  --dc-line: #e8e0d2;
  --dc-white: #ffffff;

  --dc-font-head: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --dc-font-body: 'Jost', 'Segoe UI', system-ui, -apple-system, sans-serif;

  --dc-maxw: 1240px;
  --dc-radius: 3px;
  --dc-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --dc-dur: 0.25s;
}

/* =========================================================
   2. BASE
   ========================================================= */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--dc-font-body);
  color: var(--dc-ink);
  background: var(--dc-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--dc-gold-deep); }
h1, h2, h3, h4, h5, h6 { font-family: var(--dc-font-head); color: var(--dc-ink); }

.dc-container { max-width: var(--dc-maxw); margin: 0 auto; padding-left: 28px; padding-right: 28px; }

.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
}

/* Skip link */
.dc-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 1000;
  background: var(--dc-ink); color: #fff; padding: 12px 20px; border-radius: 0 0 var(--dc-radius) 0;
}
.dc-skip-link:focus { left: 0; }

/* =========================================================
   3. BUTTONS
   ========================================================= */
.dc-btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 15px 28px; border: none; border-radius: 2px; cursor: pointer;
  font-family: var(--dc-font-body); font-size: 12.5px; font-weight: 500;
  letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none;
  transition: background var(--dc-dur), color var(--dc-dur), border-color var(--dc-dur), transform 0.2s;
}
.dc-btn--gold { background: var(--dc-gold); color: #fff; }
.dc-btn--gold:hover { background: var(--dc-gold-deep); color: #fff; }
.dc-btn--ghost { background: transparent; color: var(--dc-ink); border: 1px solid var(--dc-gold); }
.dc-btn--ghost:hover { background: var(--dc-gold-pale); }

/* =========================================================
   4. TOP BAR
   ========================================================= */
.dc-topbar { background: var(--dc-dark); color: #cdbfa6; font-size: 12.5px; letter-spacing: 0.02em; }
.dc-topbar__inner {
  max-width: var(--dc-maxw); margin: 0 auto; padding: 9px 28px;
  display: flex; flex-wrap: wrap; gap: 8px 28px; align-items: center; justify-content: space-between;
}
.dc-topbar__left { display: flex; align-items: center; gap: 9px; }
.dc-topbar__dot { color: var(--dc-gold-soft); }
.dc-topbar__right { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.dc-topbar a { color: #e7dcc7; text-decoration: none; letter-spacing: 0.05em; }
.dc-topbar a:hover { color: #fff; }
.dc-topbar__sep { opacity: 0.35; }
.dc-topbar__hours { color: var(--dc-gold-soft); }

/* =========================================================
   5. HEADER / NAV
   ========================================================= */
.dc-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,0.97); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--dc-line);
}
.dc-header__inner {
  max-width: var(--dc-maxw); margin: 0 auto; padding: 12px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
}
.dc-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.dc-brand__logo { height: 52px; width: auto; display: block; }
.dc-brand__text { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.05; }
.dc-brand__name { font-family: var(--dc-font-head); font-size: 23px; font-weight: 700; letter-spacing: 0.04em; color: var(--dc-ink); }
.dc-brand__sub { font-size: 10px; letter-spacing: 0.42em; color: var(--dc-gold-deep); text-transform: uppercase; font-weight: 500; }

.dc-nav { display: flex; align-items: center; gap: 17px; flex-wrap: wrap; justify-content: center; }
.dc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 17px; flex-wrap: wrap; }
.dc-nav a {
  font-family: var(--dc-font-body); font-size: 13.5px; font-weight: 400; color: var(--dc-ink);
  padding: 6px 1px; position: relative; letter-spacing: 0.05em; text-transform: uppercase;
  white-space: nowrap; text-decoration: none; transition: color var(--dc-dur);
}
.dc-nav a:hover { color: var(--dc-gold-deep); }
.dc-nav .current-menu-item > a,
.dc-nav .current_page_item > a { color: var(--dc-gold-deep); }
.dc-nav .current-menu-item > a::after,
.dc-nav .current_page_item > a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; background: var(--dc-gold);
}
/* sub-menus */
.dc-nav .sub-menu {
  display: none; position: absolute; top: 100%; left: 0; min-width: 220px;
  background: #fff; border: 1px solid var(--dc-line); border-radius: var(--dc-radius);
  box-shadow: 0 18px 40px -18px rgba(0,0,0,0.25); padding: 8px 0; flex-direction: column; gap: 0; z-index: 60;
}
.dc-nav li { position: relative; }
.dc-nav li:hover > .sub-menu { display: flex; }
.dc-nav .sub-menu a { padding: 10px 18px; text-transform: none; letter-spacing: 0.02em; font-size: 14px; }

.dc-header__actions { flex: none; display: flex; align-items: center; gap: 14px; }
.dc-cart { position: relative; display: flex; align-items: center; color: var(--dc-ink); padding: 6px; text-decoration: none; }
.dc-cart:hover { color: var(--dc-gold-deep); }
.dc-cart__count {
  position: absolute; top: -2px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px;
  background: var(--dc-gold); color: #fff; border-radius: 999px; font-size: 11px; font-weight: 600;
  display: flex; align-items: center; justify-content: center; line-height: 1;
}
.dc-header__cta { padding: 13px 22px; font-size: 12px; }

/* Mobile toggle */
.dc-nav-toggle {
  display: none; background: none; border: none; cursor: pointer; padding: 8px;
  color: var(--dc-ink); width: 44px; height: 44px;
}
.dc-nav-toggle svg { display: block; }

/* =========================================================
   6. MOBILE NAV
   ========================================================= */
@media (max-width: 1024px) {
  .dc-nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .dc-nav {
    position: fixed; inset: 0 0 0 auto; width: min(86vw, 360px);
    background: #fff; flex-direction: column; justify-content: flex-start; align-items: stretch;
    padding: 86px 24px 32px; gap: 0; transform: translateX(100%); transition: transform 0.3s var(--dc-ease);
    box-shadow: -20px 0 50px -20px rgba(0,0,0,0.35); overflow-y: auto; z-index: 80;
  }
  .dc-nav.is-open { transform: translateX(0); }
  .dc-nav ul { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
  .dc-nav li { border-bottom: 1px solid var(--dc-line); }
  .dc-nav a { display: block; padding: 16px 4px; font-size: 15px; }
  .dc-nav .sub-menu { position: static; display: flex; box-shadow: none; border: none; padding: 0 0 8px 14px; }
  .dc-nav-backdrop {
    position: fixed; inset: 0; background: rgba(27,24,20,0.45); opacity: 0; visibility: hidden;
    transition: opacity 0.3s; z-index: 70;
  }
  .dc-nav-backdrop.is-open { opacity: 1; visibility: visible; }
  body.dc-nav-open { overflow: hidden; }
}

/* =========================================================
   7. FOOTER
   ========================================================= */
.dc-footer { background: var(--dc-dark); color: #cdbfa6; }
.dc-footer__inner {
  max-width: var(--dc-maxw); margin: 0 auto; padding: 70px 28px 40px;
  display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 40px;
}
.dc-footer__logo { height: 64px; width: auto; margin-bottom: 18px; }
.dc-footer p { font-size: 14px; color: #a99c84; max-width: 280px; margin: 0; }
.dc-footer h4 { font-size: 19px; font-weight: 600; color: #fff; margin: 0 0 16px; }
.dc-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dc-footer__col a { color: #cdbfa6; font-size: 14px; text-decoration: none; letter-spacing: 0.03em; }
.dc-footer__col a:hover { color: var(--dc-gold-soft); }
.dc-footer__contact { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.dc-footer__contact a { color: #cdbfa6; text-decoration: none; }
.dc-footer__hours { font-size: 14px; line-height: 1.9; }
.dc-footer__bottom { border-top: 1px solid rgba(255,255,255,0.1); }
.dc-footer__bottom-inner {
  max-width: var(--dc-maxw); margin: 0 auto; padding: 22px 28px;
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; font-size: 12.5px; color: #8a7d68;
}

@media (max-width: 900px) {
  .dc-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 560px) {
  .dc-footer__inner { grid-template-columns: 1fr; }
}

/* =========================================================
   8. FLOATING ACTIONS
   ========================================================= */
.dc-fab {
  position: fixed; right: 20px; bottom: 22px; z-index: 90;
  display: flex; flex-direction: column; gap: 12px; align-items: flex-end;
}
.dc-fab__btn {
  display: flex; align-items: center; justify-content: center; width: 56px; height: 56px;
  border-radius: 50%; text-decoration: none; border: none; cursor: pointer; transition: transform 0.2s;
}
.dc-fab__btn:hover { transform: scale(1.08); }
.dc-fab__wa { background: #25d366; box-shadow: 0 10px 26px -8px rgba(37,211,102,0.7); }
.dc-fab__call { background: var(--dc-ink); box-shadow: 0 10px 26px -8px rgba(0,0,0,0.5); }
.dc-fab__cta {
  display: inline-flex; align-items: center; gap: 9px; padding: 15px 22px; border-radius: 999px;
  background: var(--dc-gold); color: #fff; border: none; cursor: pointer; text-decoration: none;
  font-family: var(--dc-font-body); font-size: 12.5px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase;
  box-shadow: 0 12px 28px -10px rgba(154,123,62,0.85); transition: background var(--dc-dur), transform 0.2s;
}
.dc-fab__cta:hover { background: var(--dc-gold-deep); transform: translateY(-2px); }
@media (max-width: 560px) {
  .dc-fab__cta span { display: none; }
  .dc-fab__cta { width: 56px; height: 56px; padding: 0; justify-content: center; border-radius: 50%; }
}

/* =========================================================
   9. PAGE WRAP / TITLES
   ========================================================= */
.dc-main { min-height: 40vh; }
.dc-page-hero {
  background: var(--dc-cream); border-bottom: 1px solid var(--dc-line); text-align: center;
}
.dc-page-hero__inner { max-width: var(--dc-maxw); margin: 0 auto; padding: 68px 28px; }
.dc-page-hero__eyebrow {
  color: var(--dc-gold-deep); text-transform: uppercase; letter-spacing: 0.24em;
  font-size: 12.5px; font-weight: 600; margin-bottom: 14px;
}
.dc-page-hero h1 {
  font-weight: 600; font-size: clamp(38px, 5vw, 60px); line-height: 1.04; margin: 0;
}
.dc-article { max-width: 820px; margin: 0 auto; padding: 70px 28px; }
.dc-article img { border-radius: var(--dc-radius); }

/* =========================================================
   10. WOOCOMMERCE
   ========================================================= */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--dc-gold); color: #fff; border-radius: 2px;
  font-family: var(--dc-font-body); font-weight: 500; letter-spacing: 0.06em;
  text-transform: uppercase; font-size: 12.5px; padding: 0.9em 1.6em; transition: background var(--dc-dur);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--dc-gold-deep); color: #fff; }

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--dc-gold-deep); font-family: var(--dc-font-head); font-weight: 700;
}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--dc-font-head); color: var(--dc-ink);
}
.woocommerce ul.products li.product {
  background: #fff; border: 1px solid var(--dc-line); border-radius: var(--dc-radius);
  padding: 20px; transition: transform 0.3s, box-shadow 0.3s;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px); box-shadow: 0 26px 50px -28px rgba(154,123,62,0.5);
}
.woocommerce span.onsale {
  background: var(--dc-gold); color: #fff; border-radius: 999px;
}
.woocommerce .woocommerce-message,
.woocommerce-info { border-top-color: var(--dc-gold); }
.woocommerce .woocommerce-message::before,
.woocommerce-info::before { color: var(--dc-gold); }
.woocommerce-store-notice,
p.demo_store { background: var(--dc-gold-deep); }

.woocommerce-shop-wrap { max-width: var(--dc-maxw); margin: 0 auto; padding: 70px 28px 90px; }

/* =========================================================
   11. RESPONSIVE TWEAKS
   ========================================================= */
@media (max-width: 600px) {
  .dc-topbar__inner { justify-content: center; }
  .dc-container { padding-left: 18px; padding-right: 18px; }
}
