/* =====================================================================
   LORAN'S HAIRDESIGN — scoped page styles
   Loads only on the /loranhairdesign page (enqueued in functions.php).
   All rules are scoped under .loran-main so the rest of the site is
   untouched. Colors: bg #F4EEE5 · ink #241C15 · accent #A9673A · gold #C6A15B
   Fonts: Cormorant Garamond (display) + Inter (body)
   ===================================================================== */

.loran-main{
  --l-bg:#F4EEE5; --l-ink:#241C15; --l-accent:#A9673A; --l-gold:#C6A15B;
  --l-muted:#6E6152; --l-muted2:#8A7B6B; --l-line:#E3D9CA; --l-dark:#241C15;
  background:var(--l-bg); color:var(--l-ink);
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
/* neutralise theme width constraints so sections span full width */
.loran-main :where(.wp-block-group,.wp-block-columns){max-width:none;}
.loran-main ::selection{background:var(--l-accent);color:var(--l-bg);}
.loran-main a{color:inherit;text-decoration:none;}
.loran-main p{margin:0;}
.l-serif{font-family:'Cormorant Garamond',serif;}
.l-inner{max-width:1200px;margin-left:auto;margin-right:auto;}

/* ---------- NAV ---------- */
.loran-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;padding:20px 44px;background:rgba(244,238,229,.86);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--l-line);margin:0;}
.loran-logo{font-size:15px;letter-spacing:3.5px;}
.loran-logo b{font-weight:700;color:var(--l-ink);}
.loran-logo span{font-weight:400;color:var(--l-accent);}
.loran-navright{display:flex;align-items:center;gap:34px;}
.loran-navlinks{display:flex;align-items:center;gap:34px;}
.loran-navlinks a{font-size:13px;font-weight:500;letter-spacing:.5px;color:var(--l-muted);}
.loran-navlinks a:hover{color:var(--l-accent);}
.loran-termin{display:inline-flex;align-items:center;height:40px;padding:0 22px;
  border-radius:100px;background:var(--l-ink);color:var(--l-bg)!important;font-size:13px;font-weight:600;letter-spacing:.4px;}

/* ---------- HERO ---------- */
.loran-hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;
  min-height:72vh;border-bottom:1px solid var(--l-line);}
.loran-hero .wp-block-column{padding:0;}
.loran-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 64px 72px 44px;}
.loran-eyebrow{font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--l-accent);}
.loran-hero-title{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:88px;line-height:.98;
  letter-spacing:-1px;color:var(--l-ink);margin:28px 0 30px;}
.loran-hero-title em{font-style:italic;font-weight:500;color:var(--l-accent);}
.loran-hero-lead{font-size:18px;line-height:1.6;color:var(--l-muted);max-width:460px;margin-bottom:38px;}
.loran-rating{display:flex;align-items:center;gap:12px;margin-bottom:38px;flex-wrap:wrap;}
.loran-rating .stars{color:var(--l-gold);font-size:19px;letter-spacing:3px;}
.loran-rating .num{font-size:15px;color:var(--l-ink);font-weight:600;}
.loran-rating .cnt{font-size:15px;color:var(--l-muted);}
.loran-cta{display:inline-flex;align-self:flex-start;width:max-content;max-width:100%;align-items:center;justify-content:center;height:54px;padding:0 30px;
  border-radius:100px;background:var(--l-ink);color:var(--l-bg)!important;font-size:15px;font-weight:600;letter-spacing:.3px;}
.loran-hours-line{margin-top:40px;font-size:13px;letter-spacing:.5px;color:var(--l-muted2);}
.loran-hero-media{position:relative;padding:22px 22px 22px 0;}
.loran-hero-media .wp-block-image,.loran-hero-media figure{height:100%;margin:0;}
.loran-hero-media img{width:100%;height:100%;min-height:470px;max-height:716px;object-fit:cover;object-position:center 35%;border-radius:4px;display:block;}
.loran-addr-badge{position:absolute;left:-1px;bottom:44px;background:var(--l-bg);padding:12px 20px;
  border-top:1px solid var(--l-line);border-right:1px solid var(--l-line);}
.loran-addr-badge .l1{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--l-ink);}
.loran-addr-badge .l2{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--l-accent);margin-top:2px;}

/* ---------- FACT STRIP ---------- */
.loran-facts{border-bottom:1px solid var(--l-line);}
.loran-facts .l-inner{display:grid;grid-template-columns:repeat(3,1fr);}
.loran-fact{padding:30px 44px;border-right:1px solid var(--l-line);}
.loran-fact .t{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--l-ink);}
.loran-fact .s{font-size:13px;color:var(--l-muted2);margin-top:4px;letter-spacing:.3px;}

/* ---------- SECTIONS ---------- */
.loran-sec{padding:96px 44px;}
.loran-sec-head{margin-bottom:48px;}
.loran-kicker{font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--l-accent);margin-bottom:14px;}
.loran-h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:52px;line-height:1;letter-spacing:-.5px;margin:0;}
.loran-lead-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.loran-morelink{font-size:13px;font-weight:600;letter-spacing:1px;color:var(--l-accent);border-bottom:1px solid var(--l-accent);padding-bottom:3px;}

/* ---------- GALLERY ---------- */
.loran-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:14px;}
.loran-gallery figure{margin:0;height:100%;}
.loran-gallery img{width:100%;height:100%;object-fit:cover;object-position:center 20%;border-radius:4px;display:block;}
.loran-gallery .wp-block-image:nth-child(1){grid-row:span 2;}

/* ---------- PHILOSOPHY ---------- */
.loran-philo{border-top:1px solid var(--l-line);border-bottom:1px solid var(--l-line);}
.loran-philo .l-inner{display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch;}
.loran-philo-media{padding:26px;border-right:1px solid var(--l-line);}
.loran-philo-media .wp-block-image,.loran-philo-media figure{height:100%;margin:0;}
.loran-philo-media img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center 32%;border-radius:4px;display:block;}
.loran-philo-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 64px;}
.loran-philo-copy .quote{font-family:'Cormorant Garamond',serif;font-size:34px;line-height:1.28;color:var(--l-ink);letter-spacing:-.3px;}

/* ---------- SERVICES ---------- */
.loran-services{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;}
.loran-srv{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:20px 0;border-bottom:1px solid var(--l-line);}
.loran-srv .n{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--l-ink);line-height:1.2;}
.loran-srv .d{font-size:13px;color:var(--l-muted2);margin-top:3px;}
.loran-srv .p{flex-shrink:0;font-size:15px;font-weight:600;color:var(--l-accent);white-space:nowrap;}

/* ---------- REVIEWS (dark) ---------- */
.loran-reviews{background:var(--l-dark);color:var(--l-bg);}
.loran-reviews .l-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;}
.loran-reviews .kicker{color:var(--l-gold);}
.loran-rating-big{display:flex;align-items:flex-end;gap:18px;}
.loran-rating-big .num{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:108px;line-height:.82;color:var(--l-bg);}
.loran-rating-big .stars{color:var(--l-gold);font-size:24px;letter-spacing:3px;}
.loran-rating-big .sub{font-size:14px;color:#B7A894;margin-top:8px;}
.loran-dist{display:flex;flex-direction:column;gap:9px;margin:32px 0;}
.loran-dist .row{display:flex;align-items:center;gap:12px;}
.loran-dist .star{font-size:12px;color:#B7A894;width:10px;text-align:right;}
.loran-dist .g{color:var(--l-gold);font-size:11px;}
.loran-dist .bar{flex:1;height:6px;border-radius:100px;background:#3A2F25;overflow:hidden;}
.loran-dist .bar>i{display:block;height:100%;border-radius:100px;background:var(--l-gold);}
.loran-reviews-btn{display:inline-flex;align-items:center;gap:8px;height:50px;padding:0 26px;border-radius:100px;
  background:var(--l-bg);color:var(--l-ink)!important;font-size:14px;font-weight:600;}
.loran-review-card{background:#2E251C;border:1px solid #3A2F25;border-radius:6px;padding:28px 30px;}
.loran-review-card .rc-stars{color:var(--l-gold);font-size:15px;letter-spacing:2px;margin-bottom:14px;}
.loran-review-card .rc-text{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.4;color:var(--l-bg);margin-bottom:18px;}
.loran-review-card .rc-who{display:flex;align-items:center;gap:12px;}
.loran-review-card .rc-av{width:38px;height:38px;border-radius:50%;background:var(--l-accent);color:var(--l-bg);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;}
.loran-review-card .rc-name{font-size:14px;font-weight:600;color:var(--l-bg);}
.loran-review-card .rc-meta{font-size:12px;color:#B7A894;}

/* ---------- CONTACT ---------- */
.loran-contact-grid{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:20px;align-items:stretch;}
.loran-card{background:#FBF8F2;border:1px solid var(--l-line);border-radius:6px;padding:34px 32px;}
.loran-card .ct-label{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--l-accent);margin-bottom:20px;}
.loran-hourrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #EDE5D8;}
.loran-hourrow span{font-size:14px;font-weight:500;color:var(--l-ink);}
.loran-hourrow.closed span{color:#A79A88;font-weight:400;}
.loran-addr-card{display:flex;flex-direction:column;justify-content:space-between;}
.loran-addr-card .name{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--l-ink);line-height:1.2;}
.loran-addr-card .addr{font-size:15px;color:var(--l-muted);line-height:1.6;margin-top:14px;}
.loran-addr-card .tel{font-size:16px;font-weight:600;color:var(--l-ink);margin-top:16px;display:inline-block;}
.loran-addr-actions{display:flex;flex-direction:column;gap:10px;margin-top:26px;}
.loran-btn-dark{display:flex;align-items:center;justify-content:center;height:48px;border-radius:100px;background:var(--l-ink);color:var(--l-bg)!important;font-size:14px;font-weight:600;}
.loran-btn-outline{display:flex;align-items:center;justify-content:center;height:48px;border-radius:100px;border:1px solid #C9BCA9;color:var(--l-ink)!important;font-size:14px;font-weight:600;}
.loran-map{position:relative;border:1px solid var(--l-line);border-radius:6px;overflow:hidden;min-height:380px;}
.loran-map iframe{width:100%;height:100%;min-height:380px;border:0;filter:grayscale(.15) sepia(.1);display:block;}
.loran-map .maplink{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;background:var(--l-bg);
  color:var(--l-ink)!important;font-size:12px;font-weight:600;letter-spacing:.3px;padding:9px 15px;border-radius:100px;border:1px solid var(--l-line);box-shadow:0 2px 8px rgba(36,28,21,.12);}

/* ---------- CONTACT FORM (plugin-free) ---------- */
.loran-formwrap{margin-top:22px;background:#FBF8F2;border:1px solid var(--l-line);border-radius:6px;padding:38px 36px;}
.loran-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;}
.loran-form .loran-field{display:flex;flex-direction:column;gap:7px;}
.loran-form .loran-field.full,.loran-form .loran-submit{grid-column:1 / -1;}
.loran-form label{font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--l-muted);}
.loran-form input,.loran-form textarea{font-family:'Inter',sans-serif;font-size:15px;color:var(--l-ink);
  background:#fff;border:1px solid var(--l-line);border-radius:6px;padding:12px 14px;width:100%;}
.loran-form input:focus,.loran-form textarea:focus{outline:none;border-color:var(--l-accent);box-shadow:0 0 0 3px rgba(169,103,58,.12);}
.loran-form textarea{resize:vertical;min-height:120px;}
.loran-submit{justify-self:start;display:inline-flex;align-items:center;height:52px;padding:0 34px;border:none;cursor:pointer;
  border-radius:100px;background:var(--l-ink);color:var(--l-bg);font-family:'Inter',sans-serif;font-size:15px;font-weight:600;letter-spacing:.3px;}
.loran-submit:hover{background:#3a2e22;}
.loran-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.loran-form-note{grid-column:1 / -1;padding:14px 18px;border-radius:6px;font-size:14px;margin-bottom:4px;}
.loran-form-ok{background:#E9F3E9;border:1px solid #BBD8BB;color:#2e5b2e;}
.loran-form-err{background:#F6E7E6;border:1px solid #E3BBBA;color:#8a3a34;}

/* ---------- FOOTER ---------- */
.loran-footer{border-top:1px solid var(--l-line);padding:44px;}
.loran-footer .l-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.loran-footer .fl{font-size:14px;letter-spacing:3px;}
.loran-footer .fl b{font-weight:700;}
.loran-footer .fl span{font-weight:400;color:var(--l-accent);}
.loran-footer .fm{font-size:13px;color:var(--l-muted2);letter-spacing:.3px;}
.loran-footer .fr{font-size:12px;color:var(--l-accent);letter-spacing:.5px;}

/* Hero-Abstaende exakt (schlaegt WP-Flow-Margins + .loran-main p{margin:0}) */
.loran-main .loran-hero-copy>*{margin-block-start:0;}
.loran-main .loran-eyebrow{margin:0 0 28px;}
.loran-main .loran-hero-title{margin:0 0 30px;}
.loran-main .loran-hero-lead{margin:0 0 38px;}
.loran-main .loran-rating{margin:0 0 38px;}
.loran-main .loran-cta{margin:0;}
.loran-main .loran-hours-line{margin:40px 0 0;}

/* Kicker-Abstaende wie im Original (schlaegt .loran-main p{margin:0}) */
.loran-main p.loran-kicker{margin:0 0 14px;}
.loran-main .loran-philo-copy .loran-kicker{margin:0 0 24px;}
.loran-main .loran-reviews .loran-kicker{margin:0 0 22px;}
.loran-main .loran-lead-row{margin:0 0 44px;}

/* Bewertungen: Sternblock 12px angehoben wie im Original */
.loran-main .loran-rating-big>div:last-child{padding-bottom:12px;}

/* Oeffnungszeiten: Uhrzeit einzeilig, Originalgewicht */
.loran-main .loran-hourrow span+span{white-space:nowrap;font-weight:400;}

/* Kicker "Schreiben Sie uns" wie die uebrigen Labels (liegt ausserhalb .loran-card) */
.loran-main .loran-formwrap .ct-label{font-size:12px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;color:var(--l-accent);margin:0 0 20px;line-height:1.4;}

/* Formularfelder duerfen nicht aus der Spalte ragen */
.loran-main .loran-form input,.loran-main .loran-form textarea{box-sizing:border-box;}

/* Weiches Scrollen bei Ankerlinks wie im Original */
html{scroll-behavior:smooth;}

/* Kontakt frueher stapeln - verhindert Quetschung der Oeffnungszeiten */
@media (max-width:1100px){
  .loran-main .loran-contact-grid{grid-template-columns:1fr;}
}

/* Burger nur mobil sichtbar */
.loran-burger{display:none;}

/* ===================== MOBILE (<= 820px) ===================== */
@media (max-width:820px){
  .loran-nav{padding:14px 20px;}
  .loran-navlinks{display:none;}
  .loran-logo{font-size:12px;letter-spacing:1.6px;}
  .loran-termin{padding:0 18px;height:44px;font-size:13px;}

  /* --- Handy-Menue: reines CSS, funktioniert auch ohne JavaScript --- */
  .loran-navright{gap:10px;}
  .loran-burger{display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:5px;width:44px;height:44px;cursor:pointer;flex:0 0 auto;-webkit-tap-highlight-color:transparent;}
  .loran-burger span{display:block;width:22px;height:2px;background:var(--l-ink);border-radius:2px;
    transition:transform .25s ease,opacity .18s ease;}
  .loran-menu-toggle:checked ~ .loran-navright .loran-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .loran-menu-toggle:checked ~ .loran-navright .loran-burger span:nth-child(2){opacity:0;}
  .loran-menu-toggle:checked ~ .loran-navright .loran-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .loran-menu-toggle:checked ~ .loran-navright .loran-navlinks{display:flex;}
  .loran-navlinks{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;
    gap:0;background:var(--l-bg);border-bottom:1px solid var(--l-line);padding:2px 20px 12px;
    box-shadow:0 12px 24px rgba(36,28,21,.07);}
  .loran-navlinks a{display:block;width:100%;padding:15px 2px;font-size:15px;letter-spacing:.6px;
    color:var(--l-ink);border-bottom:1px solid var(--l-line);}
  .loran-navlinks a:last-child{border-bottom:none;}

  .loran-hero{grid-template-columns:1fr;min-height:auto;}
  .loran-hero-copy{padding:40px 20px 30px;}
  .loran-hero-media{padding:0 20px 24px;}
  .loran-hero-media img{min-height:320px;}
  .loran-hero-title{font-size:44px;line-height:1.04;margin-bottom:22px;}
  .loran-addr-badge{left:20px;bottom:18px;}

  .loran-facts .l-inner{grid-template-columns:1fr;}
  .loran-fact{border-right:none;border-bottom:1px solid var(--l-line);padding:18px 20px;}
  .loran-fact:last-child{border-bottom:none;}

  .loran-sec{padding:52px 20px;}
  .loran-h2{font-size:34px;}
  .loran-sec-head{margin-bottom:30px;}

  .loran-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:230px;gap:10px;}
  .loran-gallery .wp-block-image:nth-child(1){grid-row:auto;}

  .loran-philo .l-inner{grid-template-columns:1fr;}
  .loran-philo-media{border-right:none;border-bottom:1px solid var(--l-line);padding:20px;}
  .loran-philo-media img{min-height:260px;}
  .loran-philo-copy{padding:34px 20px 42px;}
  .loran-philo-copy .quote{font-size:25px;}

  .loran-services{grid-template-columns:1fr;gap:0;}

  .loran-reviews .l-inner{grid-template-columns:1fr;gap:34px;}
  .loran-rating-big .num{font-size:84px;}

  .loran-contact-grid{grid-template-columns:1fr;}
  .loran-form{grid-template-columns:1fr;}

  .loran-footer{padding:32px 20px;}
  .loran-footer .l-inner{flex-direction:column;align-items:flex-start;gap:12px;}

  /* schlaegt die Hero-Overrides oben (gleiche Spezifitaet, spaeter im File) */
  .loran-main .loran-hero-title{margin:0 0 22px;}
  .loran-main .loran-lead-row{margin:0 0 30px;}
}
