/* Kremena Atanasova — one-pager customizations on top of the Avlon template */

html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 12px; }

/* Bulgarian is sentence-case: kill the template's Title Case on headings */
h1, h2, h3, h4, h5,
.heading-one, .heading-two, .heading-three, .heading-four, .heading-five,
.heading-six.change-text, .marquee-text, .marquee-text-2 {
  text-transform: none;
}

/* Text logo must not look like a default link */
.home-three-logo, .logo-link { text-decoration: none; }

/* Nav lockup: gold KA monogram above the stacked wordmark */
.home-three-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.k-logo-mark { width: 44px; height: auto; display: block; }

/* Text wordmark replacing the AVLON SVG logo */
.k-logo {
  font-family: Marcellus, serif; /* aliased to Prata */
  font-size: 11px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #fff;
  width: min-content; /* wraps to two stacked lines inside the bordered box */
  line-height: 1.75;
}

/* Hero CTA under the slide heading */
.k-hero-cta { display: flex; justify-content: center; margin-top: 2.4rem; }
.k-hero-cta .button-style {
  color: #fff;
  border-color: #fff;
  background-color: transparent;
}
.k-hero-cta .button-style:hover {
  background-color: #fff;
  color: #1a1a1a;
}

/* Hero headline: Bulgarian lines are long — cap line length so the h1
   wraps into balanced lines instead of spanning the whole viewport */
.home-three-slider-heading h1 {
  max-width: 24ch;
  margin-left: auto;
  margin-right: auto;
  text-wrap: balance;
}

/* Legibility scrim: slides 2-3 use light photos; demo assumed dark ones */
.home-three-slider-text {
  background: radial-gradient(ellipse 62% 55% at 50% 58%, rgba(24, 14, 9, 0.38), rgba(24, 14, 9, 0) 78%);
}
.home-three-slider-main-text-wrapper h1,
.home-three-slider-main-text-wrapper .heading-five {
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4), 0 0 3px rgba(0, 0, 0, 0.25);
}
.k-hero-cta .button-style { box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2); }

/* Mobile kicker: small enough to hold one line (no widow) */
@media (max-width: 991px) {
  .home-three-slider-main-text-wrapper .heading-five.chnage-style {
    /* 12px, не 11 — под 12px се чете трудно на телефон (mobile-audit.py) */
    font-size: 12px;
    letter-spacing: 0.3em;
    white-space: nowrap;
  }
}

/* The <picture> wrapper must be invisible to the template's layout */
.home-three-slider-image picture { display: contents; }

/* Single static hero: wide (21:9) extended studio image, subject centered */
.home-three-banner-slider .w-slide .home-three-slider-image img { object-position: 50% 38%; }

/* Desktop editorial composition: subject far right, delicate text low-left
   over the empty wall — quiet luxury, no overlap with the portrait. */
@media (min-width: 992px) {
  .home-three-banner-slider .w-slide .home-three-slider-image img {
    object-position: 0% 38%;
  }
  .home-three-slider-text {
    align-items: flex-end;
    justify-content: flex-start;
    padding-left: 9vw;
    padding-bottom: 13vh;
    padding-top: 110px;
    background: linear-gradient(90deg, rgba(24, 14, 9, 0.45) 0%, rgba(24, 14, 9, 0.16) 38%, rgba(24, 14, 9, 0) 62%);
  }
  .home-three-slider-main-text-wrapper { max-width: 620px; }
  .home-three-slider-main-text-wrapper .heading-five.chnage-style,
  .home-three-slider-heading h1 {
    text-align: left;
  }
  .home-three-slider-heading h1 {
    margin-left: 0;
    font-size: clamp(38px, 3.3vw, 60px);
    line-height: 1.3;
    letter-spacing: 0.014em;
    max-width: 21ch;
  }
  .home-three-slider-main-text-wrapper .heading-five.chnage-style {
    white-space: nowrap;
    font-size: 12px;
    letter-spacing: 0.42em;
    opacity: 0.82;
  }
  .home-three-slider-upper-text { justify-content: flex-start; }
  .home-three-slider-upper-text .heading-three-slider-line:first-child { display: none; }
  .home-three-slider-upper-text .heading-three-slider-line {
    flex: 0 0 48px;
    width: 48px;
    margin-left: 16px;
    opacity: 0.55;
  }
  .k-hero-cta { justify-content: flex-start; margin-top: 2rem; }
}

/* One slide — the slider chrome is off (re-enable if a second slide returns) */
.home-three-banner-left-arrow,
.home-three-banner-right-arrow { display: none !important; }

/* Subtle Ken Burns breathing so the static hero still feels alive */
@keyframes k-hero-zoom {
  from { transform: scale(1); }
  to   { transform: scale(1.05); }
}
.home-three-banner-slider .w-slide .home-three-slider-image img {
  animation: k-hero-zoom 20s ease-in-out infinite alternate;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .home-three-banner-slider .w-slide .home-three-slider-image img { animation: none; }
}

/* About cards: calm hover reveal for the Виж button and the marquee ribbon.
   (Replaces the template's IX2 cursor-follow, which lagged and looked glitchy.) */
.home-three-about-box,
.home-three-about-box * { cursor: pointer !important; } /* template hid the native cursor */
.home-three-about-box .home-three-image-view-button {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.home-three-about-box:hover .home-three-image-view-button {
  opacity: 1;
  transform: scale(1);
}
/* JS follow mode: the circle tracks the pointer (set via inline transform) */
.home-three-about-box.k-follow .home-three-about-view-button-wrapper,
.home-three-about-box.k-follow .home-three-image-view-button { pointer-events: none; }
.home-three-about-box.k-follow .home-three-about-view-button-wrapper {
  position: absolute;
  inset: 0;
  display: block;
}
.home-three-about-box.k-follow .home-three-image-view-button {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  transition: opacity 0.25s ease; /* transform is owned by the script */
}
.home-three-about-box .home-three-about-image-merquee-wrapper {
  opacity: 0;
  transition: opacity 0.35s ease;
}
.home-three-about-box:hover .home-three-about-image-merquee-wrapper { opacity: 1; }

/* За мен: снимките се преливат след портрета (data/about.ts -> slides) */
.home-three-about-image { position: relative; }
.home-three-about-image img { opacity: 0; transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); }
.home-three-about-image img.k-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-three-about-image img.is-on { opacity: 1; }
/* без JS / при reduced-motion: портретът остава видим, слайдовете са скрити */
.home-three-about-image img:not(.k-slide) { opacity: 1; }
.home-three-about-image img.k-slide:not(.is-on) { opacity: 0; }

/* Lightbox със сертификатите */
.k-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000000000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  padding: clamp(1rem, 4vw, 3rem);
  background: rgba(24, 14, 9, 0.92);
}
.k-lightbox[hidden] { display: none; }
.k-lb-stage {
  position: relative;
  margin: 0;
  max-width: min(1100px, 88vw);
  width: 100%;
  text-align: center;
}
.k-lb-stage img {
  /* БЕЗ display:none тук! Снимката беше скрита зад клас .is-on, който
     JS-ът на lightbox-а никога не слага — виждаше се само надписът.
     Затвореният lightbox е [hidden] цял, така че няма какво да крием. */
  display: block;
  width: 100%;
  height: auto;
  max-height: 76vh;
  object-fit: contain;
  background: #fbf4f1;
}
.k-lb-caption {
  margin-top: 1rem;
  color: #f6ece6;
  font-family: Catamaran, sans-serif;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.k-lb-close,
.k-lb-nav {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(246, 236, 230, 0.5);
  background: transparent;
  color: #f6ece6;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease;
}
.k-lb-close:hover,
.k-lb-nav:hover { background: #f6ece6; color: #38211a; }
.k-lb-close { position: absolute; top: clamp(1rem, 3vw, 2rem); right: clamp(1rem, 3vw, 2rem); }
@media (max-width: 767px) {
  .k-lightbox { gap: 0.5rem; }
  .k-lb-close, .k-lb-nav { width: 44px; height: 44px; font-size: 18px; }
}

/* Gentle photo zoom on card hover (replaces the IX2 version) */
.home-three-about-image { overflow: hidden; }
.home-three-about-box:hover .home-three-about-image img { transform: scale(1.045); }

/* „За мен“ — шапка над снимките */
.k-about-kicker {
  margin-top: 1.1rem;
  font-family: Catamaran, sans-serif;
  font-size: 12px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: rgba(102, 58, 48, 0.72);
}
.k-about-lead {
  max-width: 34ch;
  margin: 1.5rem 0 0;
  font-family: Marcellus, serif;
  font-size: clamp(18px, 1.6vw, 23px);
  line-height: 1.45;
  color: #462720;
}

/* „За мен“ — дългият текст под снимките */
/* Дългият текст е в компактна двуколонна решетка, за да не разтяга секцията.
   80px повтаря padding-left на .home-three-about-wrapper (от шаблона). */
.k-story {
  margin: clamp(44px, 4.6vw, 64px) 0 0;
  padding-left: 80px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(36px, 4vw, 72px);
}
.k-story-block {
  padding: 26px 0 24px;
  border-top: 1px solid rgba(102, 58, 48, 0.16);
}
/* първият ред няма горна линия */
.k-story-block:nth-child(1),
.k-story-block:nth-child(2) { border-top: 0; padding-top: 0; }
/* последният блок е сам на реда — заема цялата ширина */
.k-story-block:last-child { grid-column: 1 / -1; }

.k-story-title {
  margin: 0 0 0.85rem;
  font-family: Marcellus, serif;
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.35;
  color: #462720;
  text-transform: none;
}
.k-story-p {
  margin: 0 0 0.7rem;
  font-size: 15px;
  line-height: 1.68;
}
.k-story-p:last-child { margin-bottom: 0; }
/* акцентното изречение на всеки блок */
.k-story-accent {
  font-family: Marcellus, serif;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.55;
  color: #663a30;
  margin: 0.85rem 0;
}

.k-story-list {
  list-style: none;
  margin: 0 0 0.85rem;
  padding: 0;
  display: grid;
  gap: 0.5rem 1.6rem;
}
/* 6 точки = два спретнати реда по три, вместо един разпилян ред */
.k-story-block:last-child .k-story-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991px) {
  .k-story-block:last-child .k-story-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.k-story-list li {
  position: relative;
  padding-left: 1.6rem;
  font-size: 14.5px;
  line-height: 1.5;
}
.k-story-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -0.05em;
  font-size: 14px;
  color: #a9813f;   /* златистото на монограма, но четимо върху крем */
}
.k-story-list + .k-story-p { margin-top: 0; }

/* На таблет (768-991) сторито е видимо — гутерът на шаблона е 15px.
   Под 768 то е скрито изцяло (мобилното правило по-долу). */
@media (max-width: 991px) { .k-story { padding-left: 15px; padding-right: 15px; } }
@media (max-width: 767px) {
  .k-story {
    margin-top: 40px;
    grid-template-columns: 1fr;
  }
  .k-story-block { padding: 22px 0; }
  .k-story-block:nth-child(2) { border-top: 1px solid rgba(102, 58, 48, 0.16); padding-top: 22px; }
  .k-story-block:last-child .k-story-list { grid-template-columns: 1fr; }
}
}

/* Inserted section headers (results, testimonials) */
.k-sec-head { padding-top: 3.5rem; }
.k-sec-head h2 { margin-top: 0.6rem; }
.k-sec-head-dark div,
.k-sec-head-dark h2 { color: #fff; }

/* Trust-card icons: keep them tidy at 81px */
.home-three-beauty-item img[src*="/icons/"] {
  width: 81px;
  height: 81px;
  object-fit: contain;
}

/* Golden-ratio motif replaces the template's makeup-prop backgrounds
   (brushes photo in Контакт; powder brush + lipstick smear in Процедури).
   Desktop-only, matching the template's own behavior. */
.home-three-help-slider { background-image: none; } /* lipstick smear, off theme */

/* Big slider photos: template stretched them (demo images matched the box
   natively); ours have varied aspects — cover-fit with an upper focal bias */
.home-three-help-left-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
}

/* Slimmer services slider (desktop): the template reserved a 913px mask for
   925x793 photos, leaving a dead zone. Capped heights, tighter right column,
   arrows paired in their own strip right under the content. */
@media (min-width: 992px) {
  #proceduri-detail .home-three-help-slider,
  #proceduri-detail .w-slider-mask { height: auto; }
  #proceduri-detail .home-three-help-heading h2 { font-size: 42px; line-height: 1.25; }
  #proceduri-detail .home-three-help-slider { margin-top: -22px; }
  #proceduri-detail .w-slider-mask { padding-bottom: 78px; }
  #proceduri-detail .home-three-help-left-image-wrapper {
    height: 540px;
    background-color: #f4e9e3;
    padding: 26px;
  }
  #proceduri-detail .home-three-right-main-image-wrapper {
    height: 240px;
    overflow: hidden;
    background-color: #f4e9e3;
    padding: 14px;
  }
  #proceduri-detail .home-three-right-image-text .heading-five:first-child {
    font-size: 28px;
  }
  #proceduri-detail .home-three-right-image-text p {
    font-size: 15.5px;
    line-height: 1.6;
    margin-bottom: 12px;
  }
  #proceduri-detail .home-three-right-image-text .heading-five:last-child {
    font-size: 15px;
    letter-spacing: 0.08em;
    opacity: 0.72;
  }
  #proceduri-detail .home-three-right-main-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  #proceduri-detail .home-three-help-left-arrow,
  #proceduri-detail .home-three-help-right-arrow {
    top: auto;
    bottom: 20px;
    width: 72px;
    height: 54px;
  }
  #proceduri-detail .home-three-help-left-arrow { left: 60%; right: auto; }
  #proceduri-detail .home-three-help-right-arrow { left: calc(60% + 92px); right: auto; }
}

@media (min-width: 992px) {
  .home-three-makeup {
    background-image: url('/assets/kremena/icons/phi-motif.svg');
    background-position: -80px calc(100% + 70px);
    background-size: 580px auto;
    background-repeat: no-repeat;
  }
  .home-three-service {
    background-image: url('/assets/kremena/icons/phi-motif.svg');
    background-position: right -90px top 150px;
    background-size: 640px auto;
    background-repeat: no-repeat;
  }
}

/* Service slider: the curtain-wipe overlays are keyed to the template's original
   3 slides via IX2; with 8 slides they never wipe away — disable them. */
.home-three-help-slider .home-three-help-left-image-overlay { display: none !important; }

/* Testimonials: centered, visible prev/next controls under the review */
#otzivi .w-slider { padding-bottom: 96px; }
#otzivi .right-arrow-next {
  top: auto;
  bottom: 8px;
  width: auto;
  height: auto;
  border: 1px solid rgba(102, 58, 48, 0.45);
  padding: 13px 30px;
  transition: background-color 0.25s ease;
}
#otzivi .right-arrow-next.w-slider-arrow-left { left: calc(50% - 128px); right: auto; }
#otzivi .right-arrow-next.w-slider-arrow-right { left: calc(50% + 14px); right: auto; }
#otzivi .right-arrow-next .body-font {
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
#otzivi .right-arrow-next:hover { background-color: #663a30; }
#otzivi .right-arrow-next:hover .body-font { color: #fff; }

/* Testimonials: drop the demo rotating badge (baked English circular text) */
.home-two-testimonial-design-wrapper { display: none !important; }

/* Contact CTA: keep the paragraph clear of the absolute collage photos */
.home-three-makeup .home-three-makeup-heading + p,
.home-three-makeup p.text-align-center {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}


/* ============ Галерия ============ */
.k-gallery { background-color: #fbf4f1; padding: 110px 15px 120px; }
.k-gallery .k-sec-head { padding-top: 0; }
.k-gallery h2 { font-size: clamp(30px, 3.4vw, 46px); }

.k-gal-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 2.6rem 0 3.4rem;
}
.k-gal-filter {
  border: 1px solid rgba(102, 58, 48, 0.32);
  background: transparent;
  color: #663a30;
  font-family: Catamaran, sans-serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 11px 22px;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.k-gal-filter:hover { border-color: #663a30; }
.k-gal-filter.is-on { background: #663a30; border-color: #663a30; color: #fff; }

/* Зидана мрежа: снимките запазват естествените си пропорции — нищо не се реже.
   Колоните се редуват на височина, както разместените карти в „За мен“. */
.k-gal-grid {
  column-count: 4;          /* fallback без JS */
  column-gap: 22px;
}
/* JS подрежда снимките в колони с изравнена височина */
.k-gal-grid.k-masonry {
  column-count: auto;
  display: flex;
  align-items: flex-start;
}
.k-gal-col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.k-gal-grid.k-masonry .k-gal-item { margin: 0; }
.k-gal-item {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  margin: 0 0 22px;
  background: #f4e9e3;
  cursor: pointer;
  overflow: hidden;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  position: relative;
  line-height: 0;
}
.k-gal-item[hidden] { display: none; }
.k-gal-item img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease;
}
.k-gal-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(102, 58, 48, 0);
  transition: background-color 0.4s ease;
  pointer-events: none;
}
.k-gal-item:hover img { transform: scale(1.04); }
.k-gal-item:hover::after { background: rgba(102, 58, 48, 0.09); }
.k-gal-item:focus-visible { outline: 2px solid #663a30; outline-offset: 3px; }

.k-gal-empty {
  text-align: center;
  color: #6b5427;
  padding: 2rem 0;
}

@media (max-width: 1199px) { .k-gal-grid { column-count: 3; } }
@media (max-width: 767px) {
  .k-gallery { padding: 70px 15px 80px; }
  .k-gal-grid { column-count: 2; column-gap: 12px; }
  .k-gal-item { margin-bottom: 12px; }
}
@media (max-width: 359px) { .k-gal-grid { column-count: 1; } }


/* ============ Често задавани въпроси ============ */
/* малко по-топъл тон от галерията отгоре и от контакта отдолу, за да се чете като отделен блок */
.k-faq { background-color: #f6ece6; padding: 110px 15px 120px; }
.k-faq .k-sec-head { padding-top: 0; }
.k-faq h2 { font-size: clamp(30px, 3.4vw, 46px); }

.k-faq-list {
  max-width: 860px;
  margin: 3rem auto 0;
  border-top: 1px solid rgba(102, 58, 48, 0.18);
}
.k-faq-item { border-bottom: 1px solid rgba(102, 58, 48, 0.18); }

.k-faq-q {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 26px 4px;
  cursor: pointer;
  list-style: none;
  font-family: Marcellus, serif;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.45;
  color: #462720;
  transition: color 0.25s ease;
}
.k-faq-q::-webkit-details-marker { display: none; }
.k-faq-q:hover { color: #663a30; }
.k-faq-q:focus-visible { outline: 2px solid #663a30; outline-offset: 4px; }

/* + което става − при отворен въпрос */
.k-faq-icon {
  position: relative;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 0.35em;
}
.k-faq-icon::before,
.k-faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  height: 1px;
  background: #663a30;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.k-faq-icon::after { transform: rotate(90deg); }
.k-faq-item[open] .k-faq-icon::after { transform: rotate(0deg); }

.k-faq-a { padding: 0 4px 28px; max-width: 68ch; }
.k-faq-a p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.72;
}
.k-faq-item[open] .k-faq-a { animation: k-faq-in 0.38s cubic-bezier(0.22, 1, 0.36, 1); }
@keyframes k-faq-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .k-faq-item[open] .k-faq-a { animation: none; }
}

.k-faq-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  margin-top: 3.4rem;
  text-align: center;
}
.k-faq-cta p { margin: 0; }

@media (max-width: 767px) {
  .k-faq { padding: 70px 15px 80px; }
  .k-faq-list { margin-top: 2.2rem; }
  .k-faq-q { padding: 20px 2px; gap: 1rem; }
  .k-faq-a { padding-bottom: 22px; }
}


/* ============ Сертификати (в „За мен“) ============
   Сертификатите са ХОРИЗОНТАЛНИ — в тесните вертикални карти се режеха,
   затова стоят в собствен ред, в естествените си пропорции. */
.k-certs {
  margin: clamp(40px, 4.4vw, 60px) 0 0;
  padding-left: 80px;
}
.k-certs-label {
  font-family: Catamaran, sans-serif;
  font-size: 12px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: rgba(102, 58, 48, 0.72);
  margin-bottom: 1.2rem;
}
.k-certs-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 20px);
}
.k-cert {
  display: block;
  padding: 0;
  border: 1px solid rgba(102, 58, 48, 0.16);
  background: #fff;
  cursor: pointer;
  overflow: hidden;
  line-height: 0;
  transition: border-color 0.3s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.k-cert img { width: 100%; height: auto; display: block; }
.k-cert:hover { border-color: rgba(169, 129, 63, 0.7); transform: translateY(-3px); }
.k-cert:focus-visible { outline: 2px solid #663a30; outline-offset: 3px; }

@media (max-width: 991px) { .k-certs { padding-left: 0; } }
@media (max-width: 767px) {
  .k-certs { margin-top: 34px; }
  .k-certs-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* ============ „Разгледай още“ (под галерията) ============ */
.k-gal-follow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 2.4vw, 34px);
  margin-top: clamp(44px, 5vw, 70px);
  padding-top: clamp(28px, 3.4vw, 44px);
  border-top: 1px solid rgba(102, 58, 48, 0.16);
}
.k-gal-follow-text p {
  margin: 0.7rem 0 0;
  font-family: Marcellus, serif;
  font-size: clamp(19px, 2vw, 26px);
  line-height: 1.35;
  color: #663a30;
}
.k-gal-follow-links { display: flex; flex-wrap: wrap; gap: 12px; }

@media (max-width: 767px) {
  .k-gal-follow { justify-content: flex-start; }
  .k-gal-follow-links { width: 100%; }
}


/* ============ Локация (футър) ============ */
.k-loc { margin: 0.35rem 0 0.15rem; }
.k-loc-label {
  font-family: Catamaran, sans-serif;
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.45rem;
}
.k-loc-map {
  display: inline-block;
  margin-top: 0.35rem;
  text-decoration: underline;
  text-underline-offset: 4px;
  opacity: 0.85;
  transition: opacity 0.25s ease;
}
.k-loc-map:hover { opacity: 1; }

/* На телефон (≤767) колоната „Контакт“ е центрирана — локацията я следва.
   На таблет (768-991) колоната е ЛЯВА (шаблонно) — центрирана локация там
   изглеждаше като разместен остров (хванато от ревюто на скрийншотите). */
@media (max-width: 767px) { .k-loc { text-align: center; } }


/* Долната навигация във футъра: с 6 елемента „За мен“ се пречупваше на два реда. */
.footer-three-bottom-wrapper a { white-space: nowrap; }


/* ============ Резултати — снимките да не се режат ============
   Рамката е пейзажна (704x620), а нейните нови PhiBrows композиции са
   портретни (900x1200 и 512x640). С object-fit:cover се отрязваха 15-34%,
   точно отдолу, където е водният знак „PhiBrows / Kremena Atanasova“.
   contain върху мат в кафявото на секцията показва цялата снимка и
   изглежда нарочно, а не като летърбокс. Важи и за двата акордеона
   (десктоп .home-three-effect и мобилен .home-three-image-effect). */
.home-three-effect img.auto-fit,
.home-three-image-effect img.auto-fit {
  object-fit: contain;
  background-color: #663a30;
}


/* ============ Responsive снимки ============
   <picture> по подразбиране е inline кутия. Шаблонът разчита на
   `.auto-fit { height:100% }` вътре в оразмерени родители — допълнителна
   кутия между родителя и <img> счупва това. display:contents маха кутията
   на <picture> от подредбата: <img> стои точно там, където беше преди. */
.k-pic { display: contents; }

/* ВНИМАНИЕ: display:contents маха само КУТИЯТА на <picture> от подредбата —
   CSS СЕЛЕКТОРИТЕ пак виждат реалното дърво. Затова правилата тук ползват
   потомък (`.x img`), а НЕ пряк потомък (`.x > img`): снимката вече е
   `.x > picture > img`. Ако добавяш правило за снимка, не пиши `>`. */


/* ============ Мобилна ергономия ============
   Измерено с tools/mobile-audit.py: линковете във футъра излизаха 28px
   високи (някои 20px), а препоръката е поне 44x44 за пръст (WCAG 2.5.5,
   Apple HIG). Растат само зоната за докосване — размерът на буквите не се
   променя. Само под 991px: на десктоп курсорът е точен и футърът е по-стегнат. */
@media (max-width: 991px) {
  .footer-three-main-wrapper a,
  .footer-three-bottom-wrapper a,
  .k-loc-map {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .footer-three-social-item {
    min-width: 44px;
    min-height: 44px;
  }
  .logo-link { min-height: 44px; }
  /* Линковете в целия екран на менюто бяха 35px високи на таблет */
  .home-three-right-nav-link a,
  .home-three-left-nav-link a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  /* „Изработка — SwiftSite.bg“ е в изречение, затова само подсилваме реда */
  .footer-three-main-wrapper .body-font a { min-height: 32px; }

  /* Под 12px на телефон се чете трудно. Това са трите места, които одитът
     хвана: подзаглавието в героя, надписът на футъра и етикетът „Локация“. */
  .k-logo { font-size: 12px; }
  .k-certs-label,
  .k-loc-label { font-size: 12px; }
}


/* ============ Телефон и работно време във футъра ============ */
.k-phone {
  display: inline-block;
  margin-top: 0.15rem;
  letter-spacing: 0.04em;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity 0.25s ease;
}
.k-phone:hover { opacity: 0.82; }
.k-hours-closed { opacity: 0.72; }


/* ============ Мобилна версия на секциите (10.08.2026) ============
   Гутерът на шаблона на телефон е 15px (измерено: h2, kicker и
   .home-three-service-main стоят на 15/15) — всичко тук го повтаря. */

/* „За мен“: на телефон дългият текст е прекалено дълъг — остава само
   краткото изречение над трите снимки (то е в .k-about-lead). */
@media (max-width: 767px) {
  .k-story { display: none; }
}

@media (max-width: 991px) {
  /* Картите „За мен“ не са линкове на тъч — снимките се въртят сами,
     а сертификатите се отварят от блока „СЕРТИФИКАТИ“ отдолу. */
  .home-three-about-box { pointer-events: none; }

  /* Сертификатите опираха в ръбовете на екрана (.inner-container няма
     страничен padding на телефон — секциите си носят свой). */
  .k-certs { padding-left: 15px; padding-right: 15px; }

  /* „Процедури в детайл“ е скрит: тесен слайдер + тежки снимки.
     Редовете в „Процедури“ се разгъват на място (акордеонът долу). */
  #proceduri-detail { display: none; }

  /* „+“ подсказва, че редът се разгъва; при отворен ред става „−“. */
  #proceduri .home-three-service-item-wrapper .heading-two::after {
    content: "+";
    display: inline-block;
    margin-left: 0.32em;
    font-family: Catamaran, sans-serif;
    font-weight: 300;
    font-size: 0.62em;
    vertical-align: 0.12em;
    color: rgba(102, 58, 48, 0.55);
  }
  #proceduri .home-three-service-item-wrapper.is-open .heading-two::after {
    content: "−";
  }
}

/* Панелът на акордеона. Отваря се с grid-template-rows 0fr→1fr —
   анимира се без да знаем височината на съдържанието. */
.k-svc-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.k-svc-panel.is-open { grid-template-rows: 1fr; }
.k-svc-panel-inner { overflow: hidden; min-height: 0; }
.k-svc-detail { padding: 10px 15px 30px; text-align: center; }
.k-svc-detail + .k-svc-detail {
  border-top: 1px solid rgba(102, 58, 48, 0.14);
  padding-top: 26px;
}
.k-svc-detail-title {
  font-family: Marcellus, serif;
  font-size: 21px;
  color: #663a30;
  margin-bottom: 0.7rem;
}
.k-svc-detail-img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 0.9rem;
}
.k-svc-detail-desc {
  margin: 0 0 0.6rem;
  font-size: 15px;
  line-height: 1.65;
}
.k-svc-detail-price {
  font-family: Catamaran, sans-serif;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(102, 58, 48, 0.6);
}

/* На десктоп акордеонът не съществува — редовете са котви към слайдера. */
@media (min-width: 992px) {
  .k-svc-panel { display: none; }
}


/* Най-тесните телефони (320-374px): „KREMENA ATANASOVA · PMU & SKIN EXPERT“
   не се събира на един ред с letter-spacing 0.3em — оставяме го да се
   пренесе и прибираме спейсинга. Шрифтът остава 12px (минимумът). */
@media (max-width: 374px) {
  .home-three-slider-main-text-wrapper .heading-five.chnage-style {
    white-space: normal;
    letter-spacing: 0.2em;
    line-height: 1.7;
    padding: 0 10px;
  }
  /* Пренесеното на 2 реда подзаглавие качваше хиро блока върху логото
     (дъно 88px) и бутона на менюто. Блокът е закотвен за ДЪНОТО на
     контейнера (align-items:flex-end + padding-bottom:220px), затова
     margin-top не помага — сваляме самата котва: 220px -> 150px
     => горният ръб на текста слиза от 52px на ~122px. */
  .home-three-slider-text { padding-bottom: 150px; }
}


/* Таблет (768-991): шаблонът реди картите „За мен“ в 2 колони, а те са 3 —
   третата стоеше до празна клетка с размер на цяла снимка. Тя минава на
   собствен ред, центрирана, широка колкото една колона (50% минус половин
   30px gap). Хванато от ревюто на скрийншотите. */
@media (min-width: 768px) and (max-width: 991px) {
  .home-three-about-main > .home-three-about-box:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - 15px);
  }
}
