/* KavaDerma — Page Accueil (scopé sous .kd-home-page) */

.kd-home-page {
  --kd-black: #0a0a0a;
  --kd-black-soft: #111;
  --kd-gold: #c9a961;
  --kd-gold-soft: #b3934a;
  --kd-white: #f6f2e8;
  --kd-muted: #8a8578;
  --kd-line: rgba(201, 169, 97, 0.35);
  background: var(--kd-black);
  color: var(--kd-white);
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  padding: 0;
  margin: 0;
}

.kd-home-page * { box-sizing: border-box; }

.kd-home-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 72px 24px;
}

.kd-home-header { text-align: center; margin-bottom: 56px; }
.kd-home-eyebrow {
  display: inline-block;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 11px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--kd-gold);
  margin-bottom: 18px;
}
.kd-home-title {
  font-size: clamp(2rem, 5vw, 3.4rem);
  color: var(--kd-white);
  font-weight: 400;
  margin: 0 0 20px;
  letter-spacing: 0.01em;
}
.kd-home-lede {
  max-width: 640px;
  margin: 20px auto 0;
  color: rgba(246, 242, 232, 0.8);
  font-size: 1.15rem;
  line-height: 1.6;
}

.kd-home-sep {
  width: 80px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--kd-gold), transparent);
  margin: 18px auto;
}
.kd-home-sep--sm { width: 40px; margin: 12px 0 18px; }

.kd-home-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 72px;
}
@media (max-width: 780px) {
  .kd-home-grid { grid-template-columns: 1fr; gap: 20px; }
  .kd-home-container { padding: 48px 20px; }
}

.kd-home-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
  border: 1px solid var(--kd-line);
  padding: 32px;
  border-radius: 4px;
}
.kd-home-card-title {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 12px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--kd-gold);
  margin: 0;
  font-weight: 500;
}

.kd-home-address { font-style: normal; font-size: 1.2rem; line-height: 1.5; color: var(--kd-white); margin-bottom: 20px; }
.kd-home-address span { display: block; }
.kd-home-address-link { color: var(--kd-white); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .2s; }
.kd-home-address-link:hover { border-color: var(--kd-gold); }

.kd-home-hours { list-style: none; padding: 0; margin: 0; }
.kd-home-hours-row {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(201,169,97,0.18);
  font-size: 1.05rem;
}
.kd-home-hours-row:last-child { border-bottom: none; }
.kd-home-day { color: var(--kd-white); }
.kd-home-time { color: var(--kd-gold); font-variant-numeric: tabular-nums; }
.kd-home-hours-row.is-closed .kd-home-day,
.kd-home-hours-row.is-closed .kd-home-time {
  color: var(--kd-muted);
  font-style: italic;
}

.kd-home-contact { margin-top: 24px; }
.kd-home-subheader { text-align: center; margin-bottom: 32px; }
.kd-home-subtitle {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--kd-white);
  font-weight: 400;
  margin: 0;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.kd-home-subheader .kd-home-sep--sm { margin: 12px auto; }

.kd-home-contact-list {
  list-style: none; padding: 0; margin: 0 0 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 32px;
}
@media (max-width: 640px) {
  .kd-home-contact-list { grid-template-columns: 1fr; gap: 14px; }
}
.kd-home-contact-list li {
  display: flex; flex-direction: column;
  padding: 12px 0;
  border-bottom: 1px solid rgba(201,169,97,0.12);
}
.kd-home-contact-label {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 10px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--kd-gold);
  margin-bottom: 6px;
}
.kd-home-contact-value {
  color: var(--kd-white);
  font-size: 1.1rem;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
  align-self: flex-start;
  word-break: break-word;
}
a.kd-home-contact-value:hover { color: var(--kd-gold); border-color: var(--kd-gold); }

.kd-home-actions {
  display: flex; flex-wrap: wrap; gap: 12px;
  justify-content: center;
  margin-top: 8px;
}

.kd-home-btn {
  --kd-btn-fg: var(--kd-white);
  --kd-btn-bg: transparent;
  --kd-btn-bd: var(--kd-gold);
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px;
  padding: 14px 26px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--kd-btn-fg);
  background: var(--kd-btn-bg);
  border: 1px solid var(--kd-btn-bd);
  border-radius: 2px;
  transition: background .25s ease, color .25s ease, transform .2s ease;
  cursor: pointer;
}
.kd-home-btn:hover { transform: translateY(-1px); }
.kd-home-btn--outline { --kd-btn-bg: rgba(0,0,0,0.4); --kd-btn-fg: var(--kd-white); }
.kd-home-btn--outline:hover { background: var(--kd-gold); color: var(--kd-black); }
.kd-home-btn--primary {
  --kd-btn-bg: var(--kd-gold);
  --kd-btn-fg: var(--kd-black);
  --kd-btn-bd: var(--kd-gold);
  font-weight: 600;
}
.kd-home-btn--primary:hover { background: var(--kd-gold-soft); border-color: var(--kd-gold-soft); }
.kd-home-btn--ghost { --kd-btn-bg: transparent; --kd-btn-fg: var(--kd-gold); --kd-btn-bd: var(--kd-line); }
.kd-home-btn--ghost:hover { color: var(--kd-black); background: var(--kd-gold); border-color: var(--kd-gold); }

@media (max-width: 640px) {
  .kd-home-actions { flex-direction: column; align-items: stretch; }
  .kd-home-btn { width: 100%; }
  .kd-home-card { padding: 24px; }
}

/* ==== Spécialités ==== */
.kd-home-italic-gold {
  font-style: italic;
  background: linear-gradient(135deg, #e8c883 0%, #c9a961 45%, #8a6d2f 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.kd-home-sp-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.kd-home-sp-card {
  position: relative;
  padding: 36px 30px;
  border: 1px solid rgba(201, 169, 97, 0.25);
  background: rgba(255, 255, 255, 0.02);
  border-radius: 2px;
  transition: transform .5s ease, border-color .5s ease, background .5s ease;
}
.kd-home-sp-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201, 169, 97, 0.6);
  background: rgba(255, 255, 255, 0.035);
}
.kd-home-sp-tag {
  display: inline-block;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 10px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: rgba(201, 169, 97, 0.75);
  margin-bottom: 14px;
}
.kd-home-sp-title {
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  margin: 0 0 14px;
  font-weight: 400;
  background: linear-gradient(135deg, #e8c883 0%, #c9a961 55%, #8a6d2f 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.kd-home-sp-desc {
  color: rgba(246, 242, 232, 0.75);
  line-height: 1.6;
  margin: 0 0 26px;
  font-size: 1rem;
}
.kd-home-sp-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(201, 169, 97, 0.85);
}
.kd-home-sp-line {
  flex: 1;
  height: 1px;
  background: rgba(201, 169, 97, 0.25);
}
.kd-home-sp-link {
  color: var(--kd-gold);
  text-decoration: none;
  letter-spacing: 0.2em;
  transition: color .3s ease;
}
.kd-home-sp-link:hover { color: #f0d68a; }

/* ==== Témoignages ==== */
.kd-home-tm-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.kd-home-tm-card {
  margin: 0;
  padding: 36px 30px;
  border: 1px solid rgba(201, 169, 97, 0.25);
  background: rgba(255, 255, 255, 0.02);
  border-radius: 2px;
  backdrop-filter: blur(6px);
}
.kd-home-tm-stars {
  color: var(--kd-gold);
  font-size: 1.05rem;
  letter-spacing: 3px;
  margin-bottom: 14px;
}
.kd-home-tm-text {
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.65;
  color: rgba(246, 242, 232, 0.92);
  margin: 0 0 22px;
}
.kd-home-tm-footer {
  display: flex;
  align-items: center;
  gap: 12px;
}
.kd-home-tm-line {
  width: 32px;
  height: 1px;
  background: rgba(201, 169, 97, 0.6);
}
.kd-home-tm-name {
  font-family: "Inter", system-ui, sans-serif;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(246, 242, 232, 0.7);
}

/* =========================================================
   HERO — KavaDerma (scopé sous .kd-home-page)
   ========================================================= */
.kd-home-page .kd-home-hero{
  position:relative;
  min-height: 92vh;
  display:flex; align-items:center; justify-content:center;
  padding: 8rem 1.25rem 5rem;
  overflow:hidden;
  isolation:isolate;
}
.kd-home-page .kd-home-hero-bg{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(60% 55% at 50% 40%, rgba(200,160,80,.18), transparent 70%),
    radial-gradient(80% 80% at 50% 100%, rgba(0,0,0,.85), rgba(0,0,0,.95)),
    #0a0a0a;
}
.kd-home-page .kd-home-hero-bg::after{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(60% 60% at 50% 50%, #000 40%, transparent 100%);
}
.kd-home-page .kd-home-hero-inner{
  text-align:center;
  max-width: 960px;
  animation: kdHomeHeroIn .9s ease-out both;
}
@keyframes kdHomeHeroIn{
  from{opacity:0; transform: translateY(14px);}
  to  {opacity:1; transform: translateY(0);}
}
.kd-home-page .kd-home-hero-logo{
  display:block; margin: 0 auto 2rem;
  width: clamp(120px, 22vw, 180px); height:auto;
  filter: drop-shadow(0 0 40px rgba(200,160,80,.35));
}
.kd-home-page .kd-home-hero-eyebrow{
  display:inline-flex; align-items:center; gap:.75rem;
  color:#c8a050; letter-spacing:.4em; text-transform:uppercase;
  font-size:.7rem; margin-bottom:1.25rem;
}
.kd-home-page .kd-home-hero-rule{
  display:inline-block; width:2.5rem; height:1px; background:rgba(200,160,80,.6);
}
.kd-home-page .kd-home-hero-title{
  font-family: "Cormorant Garamond","Playfair Display", Georgia, serif;
  font-weight: 400;
  color:#f4f0e6;
  line-height:1.05;
  font-size: clamp(2.4rem, 6.4vw, 5.25rem);
  margin: 0 auto;
  max-width: 22ch;
}
.kd-home-page .kd-home-hero-title .kd-home-italic-gold{
  font-style: italic;
  background: linear-gradient(180deg,#e6c07a 0%,#c8a050 55%,#8a6a2c 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.kd-home-page .kd-home-hero-lede{
  margin: 2rem auto 0; max-width: 58ch;
  color: rgba(230,224,210,.72);
  font-size: clamp(1rem, 1.6vw, 1.125rem);
  line-height:1.7;
}
.kd-home-page .kd-home-hero-actions{
  margin-top: 2.5rem;
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:center;
}
@media (max-width: 640px){
  .kd-home-page .kd-home-hero{ min-height: 88vh; padding: 6.5rem 1rem 4rem; }
  .kd-home-page .kd-home-hero-actions .kd-home-btn{ width:100%; }
}

/* =========================================================
 * Galerie de réalisations (scopé .kd-home-page)
 * ========================================================= */
.kd-home-page .kd-home-gallery { padding: 72px 0; background: #0a0a0a; position: relative; }
.kd-home-page .kd-home-gallery::before,
.kd-home-page .kd-home-gallery::after {
  content: ""; display: block; height: 1px; width: min(90%, 960px); margin: 0 auto;
  background: linear-gradient(90deg, transparent, rgba(198,162,90,.55), transparent);
}
.kd-home-page .kd-home-gallery::before { margin-bottom: 48px; }
.kd-home-page .kd-home-gallery::after  { margin-top: 48px; }
.kd-home-page .kd-home-gallery__header { text-align: center; margin: 0 auto 40px; max-width: 720px; }
.kd-home-page .kd-home-gallery__grid {
  display: grid; gap: 20px; grid-template-columns: repeat(1, minmax(0,1fr));
}
.kd-home-page .kd-home-gallery__grid--m2 { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
@media (min-width: 768px) {
  .kd-home-page .kd-home-gallery__grid { gap: 24px; }
  .kd-home-page .kd-home-gallery__grid--d2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .kd-home-page .kd-home-gallery__grid--d3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .kd-home-page .kd-home-gallery__grid--d4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
.kd-home-page .kd-home-gallery__item {
  margin: 0; background: #101010; border: 1px solid rgba(198,162,90,.22);
  border-radius: 10px; overflow: hidden; transition: transform .5s ease, border-color .5s ease, box-shadow .5s ease;
}
.kd-home-page .kd-home-gallery__item:hover {
  border-color: rgba(198,162,90,.55);
  box-shadow: 0 12px 40px -18px rgba(198,162,90,.35);
}
.kd-home-page .kd-home-gallery__image-wrap {
  position: relative; overflow: hidden; background: #0d0d0d; aspect-ratio: 4 / 5;
}
.kd-home-page .kd-home-gallery__image {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .8s ease; will-change: transform;
}
@media (hover: hover) {
  .kd-home-page .kd-home-gallery__item:hover .kd-home-gallery__image { transform: scale(1.05); }
}
.kd-home-page .kd-home-gallery__content { padding: 16px 18px 18px; }
.kd-home-page .kd-home-gallery__title {
  margin: 0 0 6px; font-size: 1.05rem; letter-spacing: .02em;
  color: #f4e6c2; font-weight: 500;
}
.kd-home-page .kd-home-gallery__desc {
  margin: 0; font-size: .92rem; line-height: 1.55; color: rgba(240,232,214,.72);
}
.kd-home-page .kd-home-gallery__actions {
  margin-top: 40px; display: flex; justify-content: center;
}
@media (prefers-reduced-motion: reduce) {
  .kd-home-page .kd-home-gallery__item,
  .kd-home-page .kd-home-gallery__image { transition: none !important; }
}
