/* Shared field style (sur-mesure + contact) */
.kf-field {
  display: block;
  margin-bottom: 18px;
}

.kf-field span {
  display: block;
  font: 400 10px/1 var(--kf-font-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--kf-text-muted-3);
  margin-bottom: 8px;
}

.kf-field input,
.kf-field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--kf-border-2);
  background: transparent;
  font: 300 16px/1.5 var(--kf-font-sans);
  color: var(--kf-ink);
  padding: 0 0 12px;
  resize: vertical;
}

.kf-field input::placeholder,
.kf-field textarea::placeholder {
  color: var(--kf-text-muted-3);
}

/* Sur-mesure */
.kf-surmesure__hero {
  height: 260px;
  border-radius: 0;
}

.kf-surmesure__intro {
  padding-top: 40px;
  padding-bottom: 30px;
  max-width: 560px;
}

.kf-surmesure__title {
  font: 300 46px/1.02 var(--kf-font-serif);
  margin-top: 14px;
}

.kf-surmesure__lede {
  font: 300 15px/1.7 var(--kf-font-sans);
  color: var(--kf-text-muted);
  margin-top: 16px;
}

.kf-surmesure-form {
  max-width: 560px;
  padding-bottom: 80px;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.kf-surmesure-form__label {
  display: block;
  font: 500 11px/1 var(--kf-font-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--kf-ink);
  margin-bottom: 14px;
}

.kf-surmesure-form__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.kf-surmesure-form__toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font: 400 14px/1 var(--kf-font-sans);
}

.kf-surmesure-form__toggle small {
  color: var(--kf-text-muted-2);
  font-weight: 300;
}

.kf-surmesure-form__days {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}

@media (min-width: 480px) {
  .kf-surmesure-form__days {
    grid-template-columns: repeat(6, 1fr);
  }
}

.kf-day-pill {
  border: 1px solid var(--kf-border);
  border-radius: 4px;
  padding: 14px 0;
  text-align: center;
  background: transparent;
  cursor: pointer;
}

.kf-day-pill.is-active {
  background: var(--kf-gold);
  border-color: var(--kf-gold);
}

.kf-day-pill__dow {
  display: block;
  font: 400 10px/1 var(--kf-font-sans);
  color: var(--kf-text-muted-2);
}

.kf-day-pill.is-active .kf-day-pill__dow {
  color: rgba(14, 14, 14, .6);
}

.kf-day-pill__num {
  display: block;
  font: 300 20px/1 var(--kf-font-serif);
  margin-top: 8px;
}

.kf-surmesure-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 20px;
}

.kf-surmesure-form__feedback {
  font: 300 14px/1.6 var(--kf-font-sans);
  color: var(--kf-ink);
}

.kf-surmesure-form__feedback.is-error {
  color: #B3261E;
}

.kf-surmesure-form__feedback a {
  display: inline-block;
  margin-top: 10px;
}

@media (min-width: 1024px) {
  .kf-surmesure__hero {
    height: 480px;
  }

  .kf-surmesure__title {
    font-size: 68px;
  }
}

/* Lookbook */
.kf-lookbook {
  background: var(--kf-ink);
  color: var(--kf-cream);
  min-height: 100vh;
  padding-bottom: 80px;
}

.kf-lookbook__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 40px;
  padding-bottom: 26px;
}

.kf-lookbook__title {
  font: 300 32px/1 var(--kf-font-serif);
  color: var(--kf-cream);
}

.kf-lookbook__badge {
  background: var(--kf-gold);
}

.kf-lookbook__placeholder-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.kf-lookbook__tile {
  height: 260px;
}

/* Lookbook editions (kf_lookbook CPT, see inc/lookbook-cpt.php) */
.kf-lookbook-edition {
  margin-bottom: 60px;
}

.kf-lookbook-edition__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
  margin-bottom: 18px;
}

.kf-lookbook-edition__date {
  font: 400 11px/1 var(--kf-font-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--kf-gold);
  order: -1;
  width: 100%;
}

.kf-lookbook-edition__title {
  font: 400 26px/1 var(--kf-font-serif);
  color: var(--kf-cream);
}

.kf-lookbook-edition__count {
  font: 300 12px/1 var(--kf-font-sans);
  color: rgba(250, 248, 244, .5);
}

.kf-lookbook-edition__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.kf-lookbook-edition__grid a {
  display: block;
  border-radius: var(--kf-radius-card);
  overflow: hidden;
}

.kf-lookbook-edition__grid img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  transition: transform .3s ease;
}

.kf-lookbook-edition__grid a:hover img {
  transform: scale(1.03);
}

@media (min-width: 782px) {
  .kf-lookbook-edition__date {
    width: auto;
    order: 0;
  }

  .kf-lookbook-edition__grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .kf-lookbook-edition__grid img {
    height: 320px;
  }
}

.kf-lookbook__hint {
  font: 300 12px/1.6 var(--kf-font-sans);
  color: rgba(250, 248, 244, .5);
  margin-top: 16px;
}

/* About / La maison */
.kf-about__intro {
  padding-top: 40px;
  padding-bottom: 40px;
  max-width: 640px;
}

.kf-about__title {
  font: 300 40px/1.1 var(--kf-font-serif);
  margin-top: 14px;
}

.kf-about__title em {
  font-style: italic;
}

.kf-about__lede,
.kf-about__content {
  font: 300 15px/1.8 var(--kf-font-sans);
  color: var(--kf-text-muted);
  margin-top: 20px;
}

.kf-about__portrait {
  height: 340px;
  margin-top: 30px;
}

.kf-about__pillars {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  padding-top: 20px;
  padding-bottom: 60px;
}

.kf-about__pillar-number {
  font: 300 34px/1 var(--kf-font-serif);
  color: var(--kf-bronze);
}

.kf-about__pillar-title {
  font: 400 18px/1.3 var(--kf-font-serif);
  margin-top: 10px;
}

.kf-about__pillar-text {
  font: 300 14px/1.6 var(--kf-font-sans);
  color: var(--kf-text-muted);
  margin-top: 8px;
}

.kf-about__closing {
  background: var(--kf-ink);
  color: var(--kf-cream);
  text-align: center;
  padding: 60px var(--kf-margin-mobile);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.kf-about__logo {
  filter: invert(1) brightness(1.6);
  opacity: .5;
}

.kf-about__quote {
  font: 300 26px/1.3 var(--kf-font-serif);
  font-style: italic;
  max-width: 480px;
}

@media (min-width: 1024px) {
  .kf-about__pillars {
    grid-template-columns: repeat(3, 1fr);
  }

  .kf-about__title {
    font-size: 56px;
  }
}

/* Contact */
.kf-contact {
  max-width: 560px;
  padding-top: 40px;
  padding-bottom: 80px;
}

.kf-contact__title {
  font: 300 36px/1 var(--kf-font-serif);
}

.kf-contact__lede {
  font: 300 14px/1.6 var(--kf-font-sans);
  color: var(--kf-text-muted);
  margin: 12px 0 30px;
}

.kf-contact-form__feedback {
  font: 300 14px/1.6 var(--kf-font-sans);
  color: var(--kf-ink);
}

.kf-contact-form__feedback.is-error {
  color: #B3261E;
}

.kf-contact__divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 34px 0;
  font: 300 13px/1 var(--kf-font-sans);
  color: var(--kf-text-muted-3);
}

.kf-contact__divider::before,
.kf-contact__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--kf-border-2);
}

.kf-contact__secondary {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.kf-contact__map {
  height: 150px;
  border-radius: var(--kf-radius-card);
  margin-top: 34px;
}

.kf-contact__address {
  font: 300 14px/1.8 var(--kf-font-sans);
  color: var(--kf-text-muted);
  margin-top: 20px;
}
