/*
Theme Name: Medstein TT5 Child
Author: Medstein
Text Domain: medstein-tt5-child
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* =========================================================
   Medstein Design System (Dark-Luxury)
   Source style reference: /index.html (project)
   ========================================================= */

/* Base */
:root{
  --med-bg:#0A0A0A;
  --med-bg2:#000000;
  --med-gold:#D1A85A;
  --med-gold2:#B8892D;
  --med-text:#EDE9E3;
  --med-muted: rgba(237,233,227,.78);
  --med-hair: rgba(209,168,90,.28);
  --med-hair2: rgba(209,168,90,.18);
  --med-card: rgba(0,0,0,.20);
  --med-shadow: 0 18px 50px rgba(0,0,0,.55);
  --med-radius: 18px;
  --med-radius2: 24px;
}

html{ scroll-behavior:smooth; }
body{
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(209,168,90,.10), transparent 55%),
    radial-gradient(900px 500px at 20% 20%, rgba(209,168,90,.06), transparent 60%),
    linear-gradient(180deg, var(--med-bg2), var(--med-bg));
}

/* Improve defaults for block themes */
.wp-site-blocks{ min-height:100vh; }
.wp-block-group{ box-sizing:border-box; }
.wp-block-image img{ height:auto; }

/* Typography helpers */
.med-muted, .muted{ color: var(--med-muted); }
.med-eyebrow{
  color: rgba(237,233,227,.86);
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.med-page-title em{ font-style: normal; color: var(--med-gold); }

/* Hairline divider */
.med-hairline,
.hairline{
  height:1px;
  background: linear-gradient(90deg, transparent, var(--med-hair), transparent);
}

/* Containers / section rhythm */
.med-container{ max-width: 1180px; margin: 0 auto; padding: 0 22px; }
.section, .med-section{ padding: 40px 0; }
@media (min-width: 640px){
  .section, .med-section{ padding: 52px 0; }
}
@media (min-width: 900px){
  .section, .med-section{ padding: 64px 0; }
}
@media (min-width: 1200px){
  .section, .med-section{ padding: 80px 0; }
}
@media (max-width: 639px){
  .med-container{ padding: 0 18px; }
}

/* Cards */
.med-card, .med-card__inner{
  border-radius: var(--med-radius2);
  border: 1px solid var(--med-hair2);
  background: var(--med-card);
  box-shadow: var(--med-shadow);
}
.med-card__inner{ padding: 26px; }
@media (max-width: 640px){
  .med-card__inner{ padding: 18px; }
}

/* Buttons: align core/button with design */
.wp-block-button .wp-block-button__link{
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 600;
  letter-spacing: .02em;
  padding: 12px 18px;
  transition: transform .12s ease, opacity .12s ease, border-color .12s ease, background .12s ease;
}
.wp-block-button .wp-block-button__link:active{ transform: translateY(1px); }

.med-btn .wp-block-button__link,
.med-btn{ /* allow class on wrapper OR link */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.med-btn--fill .wp-block-button__link,
.med-btn--fill{
  background: linear-gradient(180deg, var(--med-gold), var(--med-gold2));
  color:#17140d;
}

.med-btn--outline .wp-block-button__link,
.med-btn--outline{
  background: transparent;
  border-color: var(--med-hair);
  color: var(--med-text);
}
.med-btn--outline .wp-block-button__link:hover,
.med-btn--outline:hover{
  border-color: rgba(209,168,90,.45);
}


/* Header button visibility patch */
.med-header__bottom .med-btn--outline .wp-block-button__link,
.med-header__bottom .med-btn--outline,
.med-header__actions .med-btn--outline .wp-block-button__link,
.med-header__actions .med-btn--outline{
  border-color: rgba(209,168,90,.55);
  color: var(--med-text);
  background: rgba(255,255,255,.03);
  box-shadow: 0 0 0 1px rgba(209,168,90,.08) inset;
}
.med-header__bottom .med-btn--outline .wp-block-button__link:hover,
.med-header__bottom .med-btn--outline:hover,
.med-header__actions .med-btn--outline .wp-block-button__link:hover,
.med-header__actions .med-btn--outline:hover{
  border-color: rgba(209,168,90,.82);
  background: rgba(255,255,255,.06);
}
.med-header__bottom .med-btn--outline .wp-block-button__link,
.med-header__actions .med-btn--outline .wp-block-button__link{
  font-weight: 700;
}

/* Header */
.med-header-sticky{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
}
.med-header-gold{ border-bottom: 1px solid var(--med-hair2); }

/* Hero (used across pages) */
.med-hero{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--med-hair2);
}
.med-hero .med-header-visual{
  border-radius: var(--med-radius2);
  border: 1px solid var(--med-hair2);
  overflow: hidden;
  box-shadow: var(--med-shadow);
}
.med-hero-cols{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 42px;
  align-items: start;
}
@media (max-width: 1080px){
  .med-hero-cols{ grid-template-columns: 1fr; gap: 18px; }
}

/* Grid cards (services etc.) */
.med-grid-cards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 1080px){
  .med-grid-cards{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .med-grid-cards{ grid-template-columns: 1fr; }
}

/* Details / FAQ */
.med-details{
  border: 1px solid var(--med-hair2);
  border-radius: 16px;
  background: rgba(0,0,0,.18);
  overflow: hidden;
}
.med-details summary{
  cursor: pointer;
  padding: 14px 16px;
  list-style: none;
  font-weight: 600;
}
.med-details summary::-webkit-details-marker{ display:none; }
.med-details > div{ padding: 0 16px 16px; color: var(--med-muted); }

/* Icon masks (from assets/icons) */
.med-ico{
  width:18px; height:18px;
  display:inline-block;
  flex:0 0 18px;
  background: currentColor;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
}
.med-ico--waage{ -webkit-mask-image:url('assets/icons/waage.svg'); mask-image:url('assets/icons/waage.svg'); }
.med-ico--lupe{ -webkit-mask-image:url('assets/icons/lupe.svg'); mask-image:url('assets/icons/lupe.svg'); }
.med-ico--ring{ -webkit-mask-image:url('assets/icons/ring.svg'); mask-image:url('assets/icons/ring.svg'); }
.med-ico--hammer{ -webkit-mask-image:url('assets/icons/hammer.svg'); mask-image:url('assets/icons/hammer.svg'); }
.med-ico--diamant{ -webkit-mask-image:url('assets/icons/diamant.svg'); mask-image:url('assets/icons/diamant.svg'); }
.med-ico--pin{ -webkit-mask-image:url('assets/icons/pin.svg'); mask-image:url('assets/icons/pin.svg'); }
.med-ico--telefon{ -webkit-mask-image:url('assets/icons/telefon.svg'); mask-image:url('assets/icons/telefon.svg'); }
.med-ico--uhr{ -webkit-mask-image:url('assets/icons/uhr.svg'); mask-image:url('assets/icons/uhr.svg'); }
.med-ico--schild-check{ -webkit-mask-image:url('assets/icons/schild-check.svg'); mask-image:url('assets/icons/schild-check.svg'); }
.med-ico--stern{ -webkit-mask-image:url('assets/icons/stern.svg'); mask-image:url('assets/icons/stern.svg'); }
.med-ico--karte{ -webkit-mask-image:url('assets/icons/karte.svg'); mask-image:url('assets/icons/karte.svg'); }
.med-ico--haus{ -webkit-mask-image:url('assets/icons/haus.svg'); mask-image:url('assets/icons/haus.svg'); }
.med-ico--info{ -webkit-mask-image:url('assets/icons/info.svg'); mask-image:url('assets/icons/info.svg'); }
.med-ico--users{ -webkit-mask-image:url('assets/icons/users.svg'); mask-image:url('assets/icons/users.svg'); }
.med-ico--whatsapp{ -webkit-mask-image:url('assets/icons/whatsapp.svg'); mask-image:url('assets/icons/whatsapp.svg'); }
.med-ico--zange{ -webkit-mask-image:url('assets/icons/zange.svg'); mask-image:url('assets/icons/zange.svg'); }

/* Map: static card + route */
.med-map-section{ margin-top: 28px; }
.med-map,
.med-map__frame{
  border-radius: var(--med-radius2);
  border: 1px solid var(--med-hair2);
  background: rgba(0,0,0,.18);
  box-shadow: var(--med-shadow);
  overflow:hidden;
}
.med-map__frame img{
  width:100%;
  height:auto;
  display:block;
}

/* Contact page: cards */
.med-contact-grid{ gap: 24px; }
.med-contact-card-buttons{ display:flex; flex-wrap:wrap; gap:10px; }
.med-contact-card-btn .wp-block-button__link{ min-width: 220px; }

/* Reduce layout "chaos" from nested constrained groups */
.wp-block-group.alignfull > .wp-block-group__inner-container{
  padding-left: 0;
  padding-right: 0;
}


/* Header / footer layout helpers */
.med-header-shell{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.med-header__top,
.med-header__bottom{
  display:flex;
  align-items:center;
}
.med-header__top{
  justify-content:space-between;
  gap:18px;
}
.med-header__bottom{
  justify-content:center;
  gap:14px;
}
.med-header__brand{
  gap:2px;
  min-width:0;
}
.med-brand,
.med-brand-sub{
  margin:0;
}
.med-header__logo{
  flex:0 0 auto;
}
.med-topnav{
  justify-content:center;
  flex:1 1 auto;
}
.med-topnav .wp-block-navigation__container{
  justify-content:center;
  gap:22px;
}
.med-header__bottom .wp-block-buttons{
  justify-content:center;
}
.med-header__bottom .wp-block-button{
  margin:0;
}
.med-header__social,
.med-header__social .wp-block-social-links,
.med-header__social .wp-social-link,
.med-header__social .wp-block-social-link-anchor{
  display:flex;
  align-items:center;
  justify-content:center;
}
.med-footnav{
  margin: 0;
  padding-left: 18px;
}
.med-footer-bottom{
  gap: 12px;
}

/* Tablet and down */
@media (max-width: 1199px){
  .med-header__top{
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
  }
  .med-header__brand{
    width:100%;
    align-items:center;
    text-align:center;
  }
  .med-header__logo{
    display:flex;
    justify-content:center;
  }
  .med-topnav{
    width:100%;
    justify-content:center;
  }
  .med-topnav .wp-block-navigation__container{
    justify-content:center;
  }
  .med-header__bottom{
    justify-content:center;
    gap:12px;
  }
}

/* Small tablet */
@media (min-width: 640px) and (max-width: 899px){
  .med-header-shell{
    gap:16px;
  }
  .med-header__top{
    gap:14px;
  }
  .med-topnav .wp-block-navigation__container{
    row-gap:10px;
    column-gap:18px;
  }
  .med-header__bottom .wp-block-button{
    min-width:240px;
  }
}

/* Mobile */
@media (max-width: 639px){
  .med-header-shell{
    gap:16px;
  }
  .med-header__top{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:14px;
  }
  .med-header__brand{
    align-items:center;
    text-align:center;
    width:100%;
  }
  .med-brand,
  .med-brand-sub{
    text-align:center;
  }
  .med-topnav{
    width:100%;
    justify-content:center;
  }
  .med-topnav .wp-block-navigation__container{
    justify-content:center;
    row-gap:10px;
    column-gap:16px;
  }
  .med-header__bottom{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
  }
  .med-header__bottom .wp-block-buttons{
    width:100%;
    justify-content:center;
  }
  .med-header__bottom .wp-block-button{
    width:100%;
    max-width:360px;
  }
  .med-header__bottom .wp-block-button__link{
    width:100%;
    text-align:center;
  }
  .med-header__social{
    justify-content:center;
    width:100%;
  }
}

/* Accessibility: visible keyboard focus */
a:focus-visible,
button:focus-visible,
.wp-element-button:focus-visible,
.wp-block-navigation a:focus-visible,
.wp-block-social-link-anchor:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline: 2px solid var(--med-gold);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(209,168,90,.18);
}


/* Visual fixes: icons, tiles, trust cards */
.med-icon-title,
.med-card__title,
.med-trust-item strong{display:flex;align-items:center;gap:10px;}
.med-icon-badge{width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(209,168,90,.10);border:1px solid var(--med-hair2);color:var(--med-gold);flex:0 0 40px;}
.med-trust-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.med-trust-item{margin:0;padding:18px 18px 16px;border:1px solid var(--med-hair2);border-radius:18px;background:rgba(0,0,0,.18);box-shadow:var(--med-shadow);}
.med-trust-item strong{margin-bottom:6px;}
.med-card--tile{overflow:hidden;}
.med-card--tile .med-card__media{margin:0;border-bottom:1px solid var(--med-hair2);background:rgba(255,255,255,.02);}
.med-card--tile .med-card__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.med-card--tile .med-card__inner{padding-top:22px;}
.med-card__eyebrow{margin:0 0 8px;color:rgba(237,233,227,.76);font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.med-list-clean{list-style:none;padding-left:0;margin-left:0;}
.med-list-clean li{margin:0 0 10px;}
.med-list-clean li:last-child{margin-bottom:0;}
.med-inline-action{display:inline-flex;align-items:center;gap:10px;}
.med-split-visual,.med-craft-visual,.med-map-visual{border-radius:var(--med-radius2);border:1px solid var(--med-hair2);overflow:hidden;box-shadow:var(--med-shadow);}
.med-split-visual img,.med-craft-visual img,.med-map-visual img{display:block;width:100%;height:auto;}
.med-craft-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;}
@media (max-width:1080px){.med-trust-bar{grid-template-columns:1fr 1fr;}.med-craft-grid{grid-template-columns:1fr;}}
@media (max-width:640px){.med-trust-bar{grid-template-columns:1fr;}}


/* =========================================================
   v3.6.5 Design audit refinements
   ========================================================= */
html{ -webkit-text-size-adjust:100%; }
body{
  color:var(--med-text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{ text-wrap:balance; margin:0 0 .55em; }
p,ul,ol{ margin-top:0; }
p{ max-width:70ch; }
.lead{
  font-size:clamp(18px,2.1vw,20px);
  line-height:1.7;
  color:var(--med-text);
  max-width:66ch;
}
.wp-block-list{ padding-left:1.2em; }
.wp-block-list li{ margin-bottom:.45em; }
.wp-block-list li:last-child{ margin-bottom:0; }
.wp-block-buttons{ gap:12px; }
.med-page-hero .wp-block-buttons,
.med-hero .wp-block-buttons,
.med-cta-final .wp-block-buttons{ margin-top:18px; }
.med-page-hero{ border-bottom:1px solid var(--med-hair2); }
.med-image img,
.wp-block-image.is-style-rounded img{ border-radius:var(--med-radius2); }
.med-card{ height:100%; }
.med-card .med-card__inner{ display:flex; flex-direction:column; gap:10px; }
.med-card p:last-child,
.med-card ul:last-child{ margin-bottom:0; }
.med-card__title{ margin:0 0 2px; }
.med-trust-item{ height:100%; }
.med-trust-item .med-muted{ display:block; margin-top:6px; }
.med-hero-points{ margin:0 0 18px; }
.med-hero-points li{ color:var(--med-muted); }
.med-section--tight{ padding-top:18px; padding-bottom:18px; }
.med-goldankauf-intro .med-card,
.med-contact-form .med-card,
.med-cta-final .med-card{ background:rgba(0,0,0,.24); }
.med-contact-form .med-card__inner,
.med-cta-final .med-card__inner{ padding:24px; }
.med-static-map-route .med-map-embed{
  border-radius:var(--med-radius2);
  overflow:hidden;
  border:1px solid var(--med-hair2);
  box-shadow:var(--med-shadow);
  min-height:420px;
  background:rgba(0,0,0,.18);
}
.med-static-map-route iframe{ display:block; width:100%; }
.wp-block-details + .wp-block-details{ margin-top:12px; }
.wp-block-details summary{ cursor:pointer; font-weight:600; list-style:none; }
.wp-block-details summary::-webkit-details-marker{ display:none; }
.wp-block-details[open] summary{ margin-bottom:10px; }
.med-footer-bottom, .med-footer-bottom p{ max-width:none; }
.med-topnav .wp-block-navigation-item__content{ white-space:nowrap; }
.med-brand{ line-height:1; }
.med-brand-sub{ line-height:1.4; }
.med-legal-page .med-card__inner > *{ max-width:72ch; }
.med-legal-page .wp-block-heading{ margin-top:1.1em; }
.med-legal-page .wp-block-heading:first-of-type{ margin-top:0; }
@media (min-width:900px){
  .med-page-hero{ padding-top:72px; padding-bottom:56px; }
  .med-hero{ padding-top:72px; padding-bottom:64px; }
}
@media (max-width:899px){
  .med-split,.med-hero-cols{ gap:22px; }
  .med-contact-form .med-card__inner,
  .med-cta-final .med-card__inner{ padding:20px; }
}
@media (max-width:639px){
  h1{ font-size:clamp(34px,10vw,44px); line-height:1.06; }
  h2{ font-size:clamp(28px,8vw,36px); }
  .lead{ font-size:17px; }
  .med-section--tight{ padding-top:10px; padding-bottom:10px; }
  .med-card__inner{ padding:18px; }
  .med-hero-points{ padding-left:1.1em; }
  .med-static-map-route .med-map-embed{ min-height:320px; }
}
