/* GalaDent Royale (Final) — premium, bez frameworków */
:root{
  --gd-brand:#6a5547;
  --gd-gold:#c9b08a;

  --gd-ink:#111214;
  --gd-paper:#fbf7f2;
  --gd-line:rgba(17,18,20,.10);
  --gd-card:rgba(255,255,255,.86);
  --gd-radius:20px;
  --gd-shadow:0 18px 46px rgba(0,0,0,.10);
  --gd-shadow2:0 10px 26px rgba(0,0,0,.07);
  --gd-max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
}
body{
  margin:0;
  color:var(--gd-ink);
  overflow-x:hidden;
  background:
    radial-gradient(900px 520px at 85% -12%, rgba(201,176,138,.22), transparent 60%),
    radial-gradient(980px 560px at -10% 5%, rgba(106,85,71,.14), transparent 55%),
    var(--gd-paper);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a{color:inherit}
img{max-width:100%;height:auto}
.gd-main{padding-bottom:0}
.gd-wrap{max-width:var(--gd-max);margin:0 auto;padding:0 20px}

/* Prevent overflow in grids/flex on small screens */
:where(.gd-nav__inner,.gd-hero__grid,.gd-stats,.gd-cards,.gd-team,.gd-services,.gd-loc,.gd-contact,.gd-footer__grid) > *{min-width:0}

/* Topbar */
.gd-topbar{
  background: linear-gradient(90deg, rgba(17,18,20,.88), rgba(17,18,20,.72));
  color:#fff;
  font-size:13px;
}
.gd-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;flex-wrap:wrap}
.gd-topbar__left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gd-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:4px 0;
  background:transparent;
  border:0;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.86);
}
.gd-badge::before{
  content:"";
  width:8px;height:8px;border-radius:999px;
  background:rgba(201,176,138,.98);
  box-shadow:0 0 0 3px rgba(201,176,138,.18);
}
.gd-topbar__names{opacity:.92}
.gd-topbar__right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.gd-topbar__hours{opacity:.9}
.gd-topbar__tel{text-decoration:none;font-weight:950}
.gd-topbar__tel:hover{text-decoration:underline}

/* Nav */
.gd-nav{position:sticky;top:0;z-index:80;background:rgba(251,247,242,.88);backdrop-filter: blur(12px) saturate(1.1);border-bottom:1px solid var(--gd-line)}
.gd-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.gd-brand{min-width:220px;display:flex;align-items:center}
.gd-brand__text{text-decoration:none;font-weight:1000;letter-spacing:-.02em}
.custom-logo-link{display:inline-flex;align-items:center}
.custom-logo-link img{max-height:64px !important;width:auto !important}

/* Menu */
.gd-menu__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.gd-menu__list a{
  text-decoration:none;
  color:rgba(17,18,20,.78);
  font-weight:900;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid transparent;
}
.gd-menu__list a:hover{background:rgba(106,85,71,.08);border-color:rgba(106,85,71,.18);color:var(--gd-ink)}

/* Buttons */
.gd-cta{display:flex;align-items:center;gap:10px}
.gd-btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;
  padding:12px 16px;border-radius:999px;
  font-weight:950;text-decoration:none;border:1px solid transparent;
}
.gd-btn--solid{
  background: linear-gradient(180deg, rgba(106,85,71,1), rgba(84,65,54,1));
  color:#fff;
  box-shadow: 0 12px 26px rgba(106,85,71,.26);
}
.gd-btn--ghost{
  background: rgba(255,255,255,.92);
  color: var(--gd-ink);
  border-color: rgba(17,18,20,.12);
}
.gd-btn--ghost:hover{border-color:rgba(201,176,138,.55)}

/* Mobile menu button + drawer */
.gd-menuBtn{display:none;cursor:pointer}
.gd-menuBtn__icon{display:inline-grid;gap:4px}
.gd-menuBtn__icon span{display:block;width:18px;height:2px;background:var(--gd-ink);border-radius:2px}
.gd-mobile{border-top:1px solid var(--gd-line);background:rgba(255,255,255,.92)}
.gd-mobile__inner{padding:14px 0}
.gd-mobile__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gd-mobile__list li{margin:0;padding:0}
.gd-mobile__list a{text-decoration:none;padding:12px 14px;border-radius:14px;border:1px solid var(--gd-line);background:#fff;font-weight:950;display:block}
.gd-mobile__list a:hover{border-color:rgba(201,176,138,.55)}
.gd-mobile__actions{display:grid;gap:10px;margin-top:12px}
.gd-mobile__actions .gd-btn{width:100%}

/* Hero */
.gd-hero{padding:44px 0 22px}
.gd-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:start}
.gd-kicker{color:rgba(17,18,20,.70);font-weight:900;letter-spacing:.02em;margin-bottom:12px}
.gd-h1{
  margin:0 0 12px;
  font-size:clamp(36px,4.0vw,62px);
  line-height:1.03;
  letter-spacing:-.03em;
}
.gd-h1 span{color:var(--gd-brand);text-shadow:0 14px 34px rgba(201,176,138,.15)}
.gd-lead{margin:0 0 18px;color:rgba(17,18,20,.72);font-size:18px;max-width:62ch}
.gd-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.gd-stats{display:flex;gap:12px;flex-wrap:wrap}
.gd-stat{
  flex:1 1 220px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(17,18,20,.10);
  border-radius:16px;
  padding:12px 14px;
  box-shadow: var(--gd-shadow2);
  min-width: 200px;
}
.gd-stat__k{font-size:12px;letter-spacing:.10em;text-transform:uppercase;color:rgba(17,18,20,.56);font-weight:950;margin-bottom:4px}
.gd-stat__v{font-weight:950;color:rgba(17,18,20,.86)}
.gd-stat__v a{text-decoration:none;color:var(--gd-brand);font-weight:1000}
.gd-stat__v a:hover{text-decoration:underline}

.gd-trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.gd-trust span{
  display:inline-flex;align-items:center;gap:8px;
  border:0;
  background:transparent;
  padding:0;
  border-radius:0;
  font-weight:900;
  color:rgba(17,18,20,.72);
}
.gd-trust span::before{
  content:"✓";
  color:rgba(106,85,71,1);
  font-weight:1200;
}

/* Panel */
.gd-panel{
  background: var(--gd-card);
  border:1px solid rgba(17,18,20,.10);
  border-radius: var(--gd-radius);
  padding:16px;
  box-shadow: var(--gd-shadow);
}
.gd-panel__title{font-weight:1100;font-size:20px;margin-bottom:12px}
.gd-panel__item{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px 12px;margin-bottom:10px;
  border:1px solid rgba(17,18,20,.10);
  border-radius:16px;background:#fff;
}
.gd-panel__icon{width:22px;text-align:center;opacity:.9;margin-top:2px}
.gd-panel__meta{display:grid;gap:2px}
.gd-panel__label{font-size:12px;letter-spacing:.10em;text-transform:uppercase;color:rgba(17,18,20,.56);font-weight:950}
.gd-panel__value{text-decoration:none;font-weight:1100;color:var(--gd-ink)}
.gd-panel__value:hover{text-decoration:underline}
.gd-panel__map{
  display:flex;gap:10px;align-items:center;
  padding:12px 12px;margin-bottom:10px;
  border:1px solid rgba(17,18,20,.10);
  border-radius:16px;background:#fff;
  text-decoration:none;font-weight:1100;
}
.gd-panel__map:hover{border-color:rgba(201,176,138,.55)}
.gd-panel__maptext{color:rgba(17,18,20,.86)}
.gd-note{margin-top:8px;color:rgba(17,18,20,.68)}

/* Sections */
:where(.gd-main section[id]){scroll-margin-top:96px}
.gd-section{padding:56px 0}
.gd-section--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,.34));
  border-top:1px solid var(--gd-line);
  border-bottom:1px solid var(--gd-line);
}
.gd-h2{margin:0 0 10px;font-size:clamp(26px,2.2vw,36px);letter-spacing:-.02em}
.gd-lead2{margin:0 0 18px;color:rgba(17,18,20,.72);font-size:17px;max-width:78ch}

/* Cards */
.gd-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.gd-cards > :last-child:nth-child(3n+1){
  grid-column: 2;
}
.gd-card{
  background: var(--gd-card);
  border:1px solid rgba(17,18,20,.10);
  border-radius: var(--gd-radius);
  padding:16px;
  box-shadow: var(--gd-shadow2);
}
.gd-card h3{margin:0 0 8px;font-weight:1100}
.gd-card p{margin:0;color:rgba(17,18,20,.70);line-height:1.55}

/* Team */
.gd-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.gd-team > :last-child:nth-child(3n+1){
  grid-column: 2;
}
.gd-person{
  background: var(--gd-card);
  border:1px solid rgba(17,18,20,.10);
  border-radius: var(--gd-radius);
  padding:16px;
  box-shadow: var(--gd-shadow2);
}
.gd-initials{
  width:48px;height:48px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(201,176,138,.22);
  color:rgba(106,85,71,1);
  font-weight:1100;margin-bottom:10px;
}
.gd-person h3{margin:0 0 8px}
.gd-person p{margin:0;color:rgba(17,18,20,.70);line-height:1.55}

/* Services */
.gd-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.gd-services > :last-child:nth-child(4n+1){
  grid-column: 2 / span 2;
}
.gd-service{
  background:#fff;border:1px solid rgba(17,18,20,.10);
  border-radius:18px;padding:14px;
  box-shadow: var(--gd-shadow2);
}
.gd-service h3{margin:0 0 6px;font-weight:1100}
.gd-service p{margin:0;color:rgba(17,18,20,.70);line-height:1.55}

/* CTA card */
.gd-ctaCard{
  margin-top:18px;
  border-radius: var(--gd-radius);
  border:1px solid rgba(17,18,20,.10);
  background: linear-gradient(120deg, rgba(201,176,138,.22), rgba(255,255,255,.70));
  padding:16px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  box-shadow: var(--gd-shadow2);
}
.gd-ctaCard__t{font-weight:1100;margin-bottom:4px}
.gd-ctaCard__d{color:rgba(17,18,20,.70);line-height:1.55}
.gd-ctaCard__a{display:flex;gap:10px;flex-wrap:wrap}

/* Location + map */
.gd-loc{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;align-items:start}
.gd-loc__info{
  background: var(--gd-card);
  border:1px solid rgba(17,18,20,.10);
  border-radius: var(--gd-radius);
  padding:16px;
  box-shadow: var(--gd-shadow2);
  display:grid;gap:10px
}
.gd-loc__info a:not(.gd-btn){color:var(--gd-brand);font-weight:1000;text-decoration:none}
.gd-loc__info a:not(.gd-btn):hover{text-decoration:underline}
.gd-map{
  border-radius: var(--gd-radius);
  overflow:hidden;
  border:1px solid rgba(17,18,20,.10);
  box-shadow: var(--gd-shadow2);
  background:#fff;
  min-height: 360px;
}
.gd-map iframe{width:100%;height:100%;min-height:360px;border:0}

/* Contact */
.gd-contact{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.gd-contact__card{
  background: var(--gd-card);
  border:1px solid rgba(17,18,20,.10);
  border-radius: var(--gd-radius);
  padding:16px;
  box-shadow: var(--gd-shadow2);
}
.gd-contact__card h3{margin:0 0 10px;font-weight:1100}
.gd-contact__card p{margin:0 0 10px;color:rgba(17,18,20,.74)}
.gd-contact__card a{color:var(--gd-brand);font-weight:1000;text-decoration:none}
.gd-contact__card a:hover{text-decoration:underline}

/* CF7 clean */
.gd-alert{
  border:1px solid rgba(17,18,20,.10);
  border-radius:18px;
  background:#fff;
  box-shadow: var(--gd-shadow2);
  padding:12px 14px;
  margin:0 0 12px;
  font-weight:950;
}
.gd-alert--ok{border-color:rgba(46,138,62,.25);background:rgba(46,138,62,.08)}
.gd-alert--err{border-color:rgba(180,40,40,.25);background:rgba(180,40,40,.08)}

.gd-cf7 form{display:grid;gap:10px}
.gd-cf7 form p{margin:0}
.gd-cf7 .wpcf7{margin:0}
.gd-cf7 .wpcf7 form > p{margin:0}
.gd-cf7 .wpcf7-form-control-wrap{display:block}
.gd-cf7 .wpcf7-not-valid-tip{margin-top:6px;font-size:13px;color:rgba(180,40,40,1);font-weight:900}
.gd-cf7 .wpcf7-response-output{
  margin:0;
  border:1px solid rgba(17,18,20,.10);
  border-radius:18px;
  background:#fff;
  box-shadow: var(--gd-shadow2);
  padding:12px 14px;
  font-weight:950;
}
.gd-cf7 input,.gd-cf7 textarea,.gd-cf7 select{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(17,18,20,.12);
  background:#fff;
  font:inherit;
}
.gd-cf7 input:focus,.gd-cf7 textarea:focus{outline:2px solid rgba(201,176,138,.45);border-color:rgba(201,176,138,.55)}
.gd-cf7 input[type=submit]{
  cursor:pointer;
  border:1px solid rgba(17,18,20,.10);
  background: linear-gradient(180deg, rgba(106,85,71,1), rgba(84,65,54,1));
  color:#fff;
  font-weight:1100;
  border-radius:999px;
  padding:12px 16px;
}

/* FAQ */
.gd-faq{display:grid;gap:10px}
.gd-faq details{
  background:#fff;
  border:1px solid rgba(17,18,20,.10);
  border-radius:18px;
  padding:14px 16px;
  box-shadow: var(--gd-shadow2);
}
.gd-faq summary{cursor:pointer;font-weight:1100}
.gd-faq details > div{margin-top:10px;color:rgba(17,18,20,.74);line-height:1.6}

/* Footer */
.gd-footer{padding:40px 0;border-top:1px solid var(--gd-line);background:rgba(255,255,255,.52)}
.gd-footer__grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px;align-items:start}
.gd-footer__brand{font-weight:1200;font-size:18px;margin-bottom:6px}
.gd-footer__muted{color:rgba(17,18,20,.70);line-height:1.6}
.gd-footer__title{font-weight:1100;margin-bottom:8px}
.gd-footer__links{display:grid;gap:8px}
.gd-footer__links a{text-decoration:none;color:rgba(17,18,20,.75);font-weight:950}
.gd-footer__links a:hover{color:var(--gd-brand)}
.gd-footer__bottom{margin-top:18px;padding-top:14px;border-top:1px solid var(--gd-line);color:rgba(17,18,20,.62)}

/* Scroll pins */
.gd-scrollpins{
  position:fixed;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  z-index:90;
  display:grid;
  gap:10px;
  padding:10px;
  border-radius:999px;
  background:rgba(251,247,242,.88);
  border:1px solid rgba(17,18,20,.10);
  backdrop-filter: blur(12px) saturate(1.1);
  box-shadow: var(--gd-shadow2);
}
.gd-scrollpin{
  width:14px;height:14px;border-radius:50%;
  border:2px solid rgba(17,18,20,.30);
  background:rgba(255,255,255,.82);
  text-decoration:none;
  position:relative;
  outline-offset:4px;
}
.gd-scrollpin:hover{border-color:rgba(106,85,71,.48)}
.gd-scrollpin:focus-visible{outline:2px solid rgba(201,176,138,.80)}
.gd-scrollpin.is-active{
  background: var(--gd-brand);
  border-color: rgba(201,176,138,.92);
  box-shadow: 0 10px 22px rgba(106,85,71,.22);
}
.gd-scrollpin::after{
  content: attr(data-label);
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%) translateX(6px);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  background: rgba(17,18,20,.92);
  color:#fff;
  padding:8px 10px;
  border-radius:12px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  transition: opacity .15s ease, transform .15s ease;
}
.gd-scrollpin:hover::after,
.gd-scrollpin:focus-visible::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

/* Responsive */
@media (max-width: 980px){
  .gd-main{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  body.gd-has-pins{padding-bottom:calc(var(--gd-pins-space, 88px) + env(safe-area-inset-bottom))}
  body.gd-has-pins .gd-main{padding-bottom:0}
  .gd-hero__grid{grid-template-columns:1fr;gap:14px}
  .gd-cards,.gd-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .gd-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .gd-cards > :last-child:nth-child(odd),
  .gd-team > :last-child:nth-child(odd),
  .gd-services > :last-child:nth-child(odd){
    grid-column:1 / -1;
    justify-self:stretch;
  }
  .gd-loc,.gd-contact,.gd-footer__grid{grid-template-columns:1fr}
  .gd-footer,.gd-footer__grid,.gd-footer__bottom{text-align:center}
  .gd-footer__links{justify-items:center}
  .gd-nav__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}
  .gd-brand{min-width:auto}
  .gd-menu{display:none}
  .gd-cta__desktop{display:none}
  .gd-menuBtn{display:inline-flex}
  .gd-ctaCard{flex-direction:column;align-items:stretch}
  .gd-scrollpins{
    left:50%;
    right:auto;
    top:auto;
    bottom:calc(12px + env(safe-area-inset-bottom));
    transform:translateX(-50%);
    grid-auto-flow:column;
    gap:12px;
    padding:12px 14px;
  }
  .gd-scrollpin::after{display:none}
}

@media (max-width: 860px){
  .gd-cards,.gd-team,.gd-services{grid-template-columns:1fr}
}

@media (max-width: 720px){
  .gd-wrap{padding:0 16px}
  .gd-topbar__inner{padding:12px 0}
  .gd-topbar__names{display:none}
  .gd-badge{padding:6px 10px}
  .gd-hero{padding:36px 0 18px}
  .gd-section{padding:46px 0}

  .gd-cards,.gd-team,.gd-services{grid-template-columns:1fr}
  .gd-cards > :last-child,
  .gd-team > :last-child,
  .gd-services > :last-child{
    grid-column:auto;
    max-width:none;
    justify-self:stretch;
  }

  .gd-panel,.gd-card,.gd-person,.gd-contact__card,.gd-loc__info{padding:14px}
  .gd-service{padding:14px}
  .gd-stat{padding:12px 14px}
  .gd-panel__item,.gd-panel__map{padding:10px 12px;margin-bottom:8px}
  .gd-faq details{padding:14px}

  .gd-map{min-height:280px}
  .gd-map iframe{min-height:280px}
}

@media (max-width: 540px){
  .gd-topbar__inner{padding:12px 0;gap:10px;flex-direction:column;align-items:stretch}
  .gd-topbar__names{display:none}
  .gd-topbar__left,.gd-topbar__right{width:100%}
  .gd-topbar__right{justify-content:space-between;gap:10px}
  .gd-nav__inner{grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 0}
  .custom-logo-link img{max-height:56px !important;max-width:160px !important}
  .gd-cta{gap:8px;justify-content:flex-end}
  .gd-menuBtn{width:auto;white-space:nowrap}
  .gd-btn{padding:10px 14px}
  .gd-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .gd-actions .gd-btn{width:100%}
  .gd-stats{gap:10px}
  .gd-stat{min-width:0;flex:1 1 100%}
  .gd-ctaCard__a{display:grid;grid-template-columns:1fr}
  .gd-ctaCard__a .gd-btn{width:100%}
}

@media (max-width: 420px){
  .custom-logo-link img{max-width:140px !important}
  .gd-btn{padding:10px 12px;font-size:14px}
}
