/* =====================================================================
   J'adore Friseur & Kosmetik  ·  Design 1:1 aus dem freigegebenen Entwurf
   Farben: #F4F1EC Creme · #1F2A26 Dunkelgrün · #4F6B5C Salbei
           #E8E3DA Sand · #4A524E Text gedämpft
   ===================================================================== */

body.jd-site{margin:0;background:#F4F1EC;color:#1F2A26;font-family:'Jost',system-ui,sans-serif;font-size:16px;line-height:1.5}
body.jd-site *{box-sizing:border-box}
body.jd-site a{color:#1F2A26}
body.jd-site a:hover{color:#4F6B5C}
body.jd-site [id]{scroll-margin-top:96px}
body.jd-site .elementor-widget-heading .elementor-heading-title,
body.jd-site .elementor-widget-text-editor{font-family:'Jost',system-ui,sans-serif;color:inherit}
body.jd-site .elementor-widget-text-editor p{margin:0}
body.jd-site .elementor-widget-text-editor p + p{margin-top:12px}

/* ---------- Layout helpers ---------- */
body.jd-site .e-con.jd-col{min-width:0;width:auto !important;max-width:100%}
body.jd-site .e-con.jd-col--460{flex:1 1 460px !important}
body.jd-site .e-con.jd-col--420{flex:1 1 420px !important}
body.jd-site .e-con.jd-col--320{flex:1 1 320px !important}
body.jd-site .e-con.jd-formcard{flex:2 1 460px !important}

/* ---------- Header (sticky) ---------- */
body.jd-site .elementor-location-header{position:sticky;top:0;z-index:100;background:rgba(244,241,236,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #DDD6CA}
body.admin-bar.jd-site .elementor-location-header{top:32px}
@media (max-width:782px){body.admin-bar.jd-site .elementor-location-header{top:46px}}
@media (max-width:600px){body.admin-bar.jd-site .elementor-location-header{top:0}}
body.jd-site .jd-logo.e-con{width:auto;flex:0 0 auto}
body.jd-site .jd-logo-name .elementor-heading-title{font-family:'DM Serif Display',serif;font-size:32px;font-style:italic;font-weight:400;line-height:1}
body.jd-site .jd-logo-name .elementor-heading-title a{text-decoration:none;color:#1F2A26}
body.jd-site .jd-logo-sub .elementor-heading-title{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#4A524E;line-height:1;font-weight:400}
body.jd-site .jd-navwrap.e-con{width:auto;flex:0 1 auto}
body.jd-site .jd-nav .elementor-nav-menu{display:flex;flex-wrap:wrap;gap:28px}
body.jd-site .jd-nav .elementor-nav-menu--main .elementor-item,
body.jd-site .jd-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{padding:0;margin:0;font-family:'Jost',sans-serif;font-size:16px;font-weight:400;line-height:1.5;color:#1F2A26;text-decoration:none;background:none}
body.jd-site .jd-nav .elementor-nav-menu--main .elementor-item:hover,
body.jd-site .jd-nav .elementor-nav-menu--main .elementor-item:focus{color:#4F6B5C}
body.jd-site .jd-nav .elementor-nav-menu--main .elementor-item:after,
body.jd-site .jd-nav .elementor-nav-menu--main .elementor-item:before{display:none}
body.jd-site .jd-nav .elementor-menu-toggle,
body.jd-site .jd-nav .elementor-nav-menu--dropdown{display:none !important}
body.jd-site .jd-nav .elementor-nav-menu--main{display:block !important}

/* ---------- Buttons ---------- */
body.jd-site .elementor-widget-button.jd-btn .elementor-button{display:inline-flex;align-items:center;gap:10px;border-radius:999px;font-family:'Jost',sans-serif;font-weight:500;line-height:1.2;text-decoration:none;box-shadow:none;transition:none;fill:currentColor}
body.jd-site .elementor-widget-button.jd-btn--sm .elementor-button{padding:12px 22px;min-height:44px;font-size:16px}
body.jd-site .elementor-widget-button.jd-btn--lg .elementor-button{padding:16px 28px;min-height:52px;font-size:16px}
body.jd-site .elementor-widget-button.jd-btn--dark .elementor-button,
body.jd-site .elementor-widget-button.jd-btn--dark .elementor-button:hover,
body.jd-site .elementor-widget-button.jd-btn--dark .elementor-button:focus{background:#1F2A26;color:#F4F1EC;border:0}
body.jd-site .elementor-widget-button.jd-btn--outline .elementor-button,
body.jd-site .elementor-widget-button.jd-btn--outline .elementor-button:hover,
body.jd-site .elementor-widget-button.jd-btn--outline .elementor-button:focus{background:transparent;color:#1F2A26;border:1.5px solid #1F2A26}
body.jd-site .elementor-widget-button.jd-btn--light .elementor-button,
body.jd-site .elementor-widget-button.jd-btn--light .elementor-button:hover,
body.jd-site .elementor-widget-button.jd-btn--light .elementor-button:focus{background:#F4F1EC;color:#1F2A26;border:0}
body.jd-site .jd-btn .elementor-button-text{color:inherit}
body.jd-site .e-con > .elementor-widget-button.jd-btn{align-self:flex-start}

/* ---------- Typography ---------- */
body.jd-site .jd-eyebrow .elementor-heading-title{font-size:13px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#4F6B5C;line-height:1.5}
body.jd-site .jd-eyebrow--light .elementor-heading-title{color:#B9CBBF}
body.jd-site .jd-h1 .elementor-heading-title{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(48px,7vw,96px);line-height:.98;letter-spacing:-.01em;color:#1F2A26}
body.jd-site .jd-h1 em{color:#4F6B5C;font-style:italic}
body.jd-site .jd-h2 .elementor-heading-title{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(36px,4.4vw,58px);line-height:1.05;color:#1F2A26}
body.jd-site .jd-h2--light .elementor-heading-title{color:#F4F1EC}
body.jd-site .jd-h3 .elementor-heading-title{font-family:'DM Serif Display',serif;font-weight:400;font-size:28px;line-height:1.2;color:#1F2A26}
body.jd-site .jd-h3--30 .elementor-heading-title{font-size:30px}
body.jd-site .jd-h3--light .elementor-heading-title{color:#F4F1EC}
body.jd-site .jd-lead{font-size:19px;line-height:1.6;max-width:36ch;color:#4A524E}
body.jd-site .jd-small{font-size:15px;line-height:1.6;color:#4A524E}
body.jd-site .jd-text{font-size:16px;line-height:1.6;color:#4A524E}
body.jd-site .jd-body{font-size:17px;line-height:1.7;color:#4A524E}
body.jd-site .jd-note{max-width:34ch;font-size:15px;line-height:1.6;color:#C9D1CB}

/* ---------- Images ---------- */
body.jd-site .jd-hero-imgs.e-con{flex-wrap:nowrap !important}
body.jd-site .elementor-widget-image.jd-img{min-width:0;width:auto !important;max-width:none}
body.jd-site .elementor-widget-image.jd-img img{display:block;width:100%;height:auto;object-fit:cover;background:repeating-linear-gradient(135deg,#DCD5C9 0 14px,#E4DED3 14px 28px)}
body.jd-site .jd-img--arch{flex:3 1 0 !important}
body.jd-site .jd-img--arch img{aspect-ratio:3/4;border-radius:999px 999px 20px 20px}
body.jd-site .jd-img--tall{flex:2 1 0 !important}
body.jd-site .jd-img--tall img{aspect-ratio:3/5;border-radius:20px}
body.jd-site .jd-salon-imgs.e-con{flex-wrap:nowrap !important}
body.jd-site .jd-img--45{flex:1 1 0 !important}
body.jd-site .jd-img--45 img{aspect-ratio:4/5;border-radius:20px}
body.jd-site .jd-img--offset{margin-top:48px !important}

/* ---------- Leistungen ---------- */
body.jd-site .e-con.jd-card{flex:1 1 260px !important;width:auto !important;min-width:0}
body.jd-site .jd-icon svg{display:block}
body.jd-site .jd-card > .elementor-widget-jadore-tags{margin-top:auto}
body.jd-site .jd-tags{display:flex;flex-wrap:wrap;gap:8px}
body.jd-site .jd-tags--small .jd-tag{font-size:13px;border:1px solid #C9C1B4;border-radius:999px;padding:6px 12px;line-height:1.5}
body.jd-site .jd-tags--large{gap:10px}
body.jd-site .jd-tags--large .jd-tag{font-size:14px;border:1px solid #1F2A26;border-radius:999px;padding:10px 18px;line-height:1.5}

/* ---------- Preise ---------- */
body.jd-site .jd-prices-section{color:#F4F1EC}
body.jd-site .jd-prices{display:flex;flex-direction:column;gap:36px}
body.jd-site .jd-tabs{display:flex;flex-wrap:wrap;gap:10px}
body.jd-site button.jd-tab,
body.jd-site button.jd-tab:hover,
body.jd-site button.jd-tab:focus{background:transparent;color:#F4F1EC;border:1.5px solid #5B6A63;border-radius:999px;padding:10px 20px;min-height:44px;font-family:'Jost',sans-serif;font-size:15px;font-weight:500;line-height:1.2;cursor:pointer;text-transform:none;letter-spacing:normal;margin:0}
body.jd-site button.jd-tab.is-active,
body.jd-site button.jd-tab.is-active:hover{background:#F4F1EC;color:#1F2A26;border-color:#F4F1EC}
body.jd-site button.jd-tab:focus-visible{outline:2px solid #B9CBBF;outline-offset:2px}
body.jd-site .jd-panel{display:flex;flex-direction:column;border-top:1px solid #5B6A63}
body.jd-site .jd-panel[hidden]{display:none}
body.jd-site .jd-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 24px;padding:20px 0;border-bottom:1px solid #3A4842}
body.jd-site .jd-row-name{flex:1 1 300px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
body.jd-site .jd-row-title{font-size:19px}
body.jd-site .jd-row-dur{font-size:14px;color:#B9C4BD}
body.jd-site .jd-row-price{font-size:19px;font-weight:500}

/* ---------- Kontakt ---------- */
body.jd-site .jd-contact-row.e-con > .e-con{align-self:stretch}
body.jd-site .jd-hours{display:flex;flex-direction:column;font-size:16px;color:#F4F1EC}
body.jd-site .jd-hours-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #3A4842}
body.jd-site .jd-hours-row:last-child{border-bottom:0}
body.jd-site .jd-address{font-size:17px;line-height:1.6;color:#1F2A26}
body.jd-site .jd-address p + p{margin-top:6px}
body.jd-site .jd-label{display:inline-block;margin-bottom:6px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#4A524E}

/* Elementor Pro form */
body.jd-site .jd-form .elementor-field-label{font-size:14px;font-weight:500;color:#1F2A26;padding-bottom:6px;margin:0;font-family:'Jost',sans-serif}
body.jd-site .jd-form .elementor-field-group .elementor-field,
body.jd-site .jd-form .elementor-field-group .elementor-select-wrapper select{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid #BDB4A6;border-radius:12px;background:#FFFFFF;font-family:'Jost',sans-serif;font-size:16px;line-height:1.4;color:#1F2A26;box-shadow:none}
body.jd-site .jd-form .elementor-field-group .elementor-field:focus,
body.jd-site .jd-form .elementor-field-group select:focus{outline:2px solid #4F6B5C;outline-offset:1px;border-color:#1F2A26}
body.jd-site .jd-form textarea.elementor-field{resize:vertical}
body.jd-site .jd-form .elementor-select-wrapper .select-caret-down-wrapper{right:14px}
body.jd-site .jd-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option{display:flex;gap:12px;align-items:flex-start}
body.jd-site .jd-form .elementor-field-type-acceptance input[type=checkbox]{width:22px;height:22px;margin:2px 0 0;accent-color:#1F2A26;flex:none}
body.jd-site .jd-form .elementor-field-type-acceptance label{font-size:14px;line-height:1.5;color:#4A524E;font-family:'Jost',sans-serif}
body.jd-site .jd-form .elementor-field-type-submit{width:auto !important;flex:0 0 auto}
body.jd-site .jd-form .elementor-field-type-submit .elementor-button,
body.jd-site .jd-form .elementor-field-type-submit .elementor-button:hover{background:#1F2A26;color:#F4F1EC;border:0;border-radius:999px;padding:16px 32px;min-height:52px;font-family:'Jost',sans-serif;font-size:16px;font-weight:500;line-height:1.2;width:auto}
body.jd-site .jd-form .elementor-message{margin-top:18px;font-family:'Jost',sans-serif}
body.jd-site .jd-form .elementor-message.elementor-message-success{background:#1F2A26;color:#F4F1EC;border-radius:16px;padding:28px;font-family:'DM Serif Display',serif;font-size:28px;font-style:italic;line-height:1.3}
body.jd-site .jd-form .elementor-message.elementor-message-success:before{display:none}

/* Karte */
body.jd-site .jd-map{border-radius:20px;overflow:hidden;position:relative;min-height:380px;background:#E2DCD1}
body.jd-site .jd-map-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
body.jd-site .jd-map-card{position:absolute;left:20px;bottom:20px;right:20px;max-width:560px;background:#F4F1EC;border-radius:16px;padding:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
body.jd-site .jd-map-text{display:flex;flex-direction:column;gap:4px}
body.jd-site .jd-map-name{font-family:'DM Serif Display',serif;font-size:22px;font-style:italic}
body.jd-site .jd-map-address{font-size:14px;color:#4A524E}
body.jd-site a.jd-map-btn,
body.jd-site a.jd-map-btn:hover{text-decoration:none;background:#1F2A26;color:#F4F1EC;padding:14px 22px;border-radius:999px;font-weight:500;font-size:15px;min-height:48px;display:inline-flex;align-items:center}
body.jd-site .jd-map-note{margin:0;width:100%;font-size:12px;line-height:1.5;color:#4A524E}

/* ---------- Footer ---------- */
body.jd-site .elementor-location-footer{border-top:1px solid #DDD6CA}
body.jd-site .jd-footer{font-size:15px;color:#4A524E}
body.jd-site .jd-footer-logo .elementor-heading-title{font-family:'DM Serif Display',serif;font-size:24px;font-style:italic;font-weight:400;color:#1F2A26;line-height:1.5}
body.jd-site .jd-footer-logo .elementor-heading-title a{text-decoration:none;color:#1F2A26}
body.jd-site .jd-footer-links.e-con{width:auto;flex:0 1 auto}
body.jd-site .jd-footer-link{font-size:15px}
body.jd-site .jd-footer-link a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}

/* ---------- Rechtstexte ---------- */
body.jd-site .jd-legal-text{font-size:16px;line-height:1.7;color:#4A524E}
body.jd-site .jd-legal-text h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:26px;line-height:1.25;color:#1F2A26;margin:36px 0 10px}
body.jd-site .jd-legal-text h2:first-child{margin-top:0}
body.jd-site .jd-legal-text p{margin:0 0 12px}

/* ---------- Fixes ---------- */
body.jd-site .e-con.jd-auto{width:auto !important;flex:0 1 auto !important;max-width:100%}
body.jd-site .jd-lead p{max-width:36ch}
body.jd-site .jd-note p{max-width:34ch}
body.jd-site .elementor-widget-text-editor a{text-decoration:underline}
body.jd-site .jd-footer-link a{text-decoration:underline}
