/*
 Theme Name: Kadence Child – Lifestyle Travel Blog
 Template: kadence
 Version: 1.0.0
 Description: Child theme with a custom homepage and clean styles for LifestyleTravelBlog.com
 Author: Lifestyle Travel Blog
 Text Domain: kadence-child-ltb
*/
:root{
  --ltb-primary:#007D7A;
  --ltb-accent:#FF7F66;
  --ltb-sand:#FAF5F2;
  --ltb-cloud:#f6f0ed;
  --ltb-ink:#0f1c1b;
}
.ltb-home{
  max-width:1200px;
  margin:0 auto 4rem;
  padding:clamp(1.5rem,4vw,3rem) clamp(1.25rem,5vw,4rem);
}
.ltb-section{
  margin:3rem 0;
}
.ltb-section__header{
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  gap:1.5rem;
  align-items:flex-end;
  margin-bottom:1.5rem;
}
.ltb-section__header p{
  margin:.35rem 0 0;
  max-width:60ch;
}
.ltb-eyebrow{
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(15,28,27,.7);
  margin:0 0 .5rem;
}
.ltb-tagline{
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.2em;
  margin:.25rem 0 1rem;
  color:rgba(15,28,27,.85);
}
.ltb-lede{
  font-size:1.1rem;
  max-width:52ch;
}
.ltb-hero{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:2.5rem;
  background:linear-gradient(135deg,rgba(0,125,122,.1),rgba(255,127,102,.12)),url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1600&q=80') center/cover;
  color:var(--ltb-ink);
  border-radius:1.5rem;
  padding:clamp(1.8rem,3vw,3rem);
  box-shadow:0 25px 65px rgba(0,0,0,.08);
}
.ltb-hero__content{
  background:rgba(255,255,255,.9);
  border-radius:1.25rem;
  padding:2rem;
  backdrop-filter:blur(6px);
}
.ltb-hero__logo{
  margin:0 0 1rem;
  max-width:180px;
}
.ltb-hero__logo img{
  width:100%;
  height:auto;
  display:block;
}
.ltb-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:1.25rem 0 1.5rem;
}
.ltb-hero__list{
  padding-left:1.2rem;
  margin:0;
  display:grid;
  gap:.35rem;
  font-size:.95rem;
}
.ltb-hero__card{
  background:#fff;
  border-radius:1.5rem;
  padding:2rem;
  align-self:flex-start;
  box-shadow:0 18px 55px rgba(0,0,0,.1);
}
.ltb-hero__badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--ltb-primary);
}
.ltb-hero__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:1rem 0 1.5rem;
}
.ltb-hero__chips span{
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  padding:.4rem .9rem;
  font-size:.85rem;
  background:rgba(0,0,0,.02);
}
.ltb-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  background:var(--ltb-primary);
  color:#fff!important;
  padding:.85rem 1.4rem;
  border-radius:.9rem;
  text-decoration:none;
  font-weight:600;
  transition:transform .2s,box-shadow .2s,background .2s;
  box-shadow:0 15px 25px rgba(0,125,122,.2);
}
.ltb-button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 32px rgba(0,125,122,.23);
}
.ltb-button--ghost{
  background:#fff;
  color:var(--ltb-primary)!important;
  box-shadow:0 0 0 1px rgba(0,125,122,.2);
}
.ltb-link{
  font-weight:600;
  color:var(--ltb-primary);
  text-decoration:none;
  position:relative;
}
.ltb-link:after{
  content:'';
  position:absolute;
  left:0;
  bottom:-2px;
  width:100%;
  height:2px;
  background:currentColor;
  opacity:.35;
  transition:opacity .2s;
}
.ltb-link:hover:after{
  opacity:.85;
}
.ltb-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:1rem;
  margin:2.5rem 0 1rem;
}
.ltb-stats article{
  background:var(--ltb-cloud);
  border-radius:1rem;
  padding:1.25rem;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}
.ltb-stats strong{
  display:block;
  font-size:1.75rem;
  color:var(--ltb-primary);
  margin-bottom:.35rem;
}
.ltb-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.25rem;
}
.ltb-featured-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.5rem;
}
.ltb-card{
  background:#fff;
  border-radius:1rem;
  box-shadow:0 10px 35px rgba(15,28,27,.07);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:transform .25s, box-shadow .25s;
}
.ltb-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(15,28,27,.12);
}
.ltb-card__media img{
  display:block;
  width:100%;
  height:auto;
}
.ltb-card__body{
  padding:1.15rem 1.15rem 1.5rem;
  display:flex;
  flex-direction:column;
  gap:.75rem;
  flex:1;
}
.ltb-card__eyebrow{
  font-size:.75rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.65;
}
.ltb-card__title{
  margin:.25rem 0;
  font-size:1.15rem;
  line-height:1.35;
}
.ltb-card--placeholder{
  background:linear-gradient(135deg,rgba(0,125,122,.1),rgba(255,127,102,.1));
  border:1px solid rgba(0,0,0,.05);
}
.ltb-card--placeholder .ltb-button{
  margin-top:auto;
}
.ltb-section--feature{
  background:linear-gradient(120deg,rgba(0,125,122,.07),rgba(255,127,102,.08));
  padding:2.5rem;
  border-radius:1.5rem;
}
.ltb-section--feature .ltb-section__header{
  margin-bottom:2rem;
}
.ltb-empty{
  background:rgba(255,255,255,.9);
  border-radius:1rem;
  padding:1.5rem;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
}
.ltb-mood-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.25rem;
}
.ltb-mood{
  border-radius:1rem;
  padding:1.5rem;
  background:var(--ltb-sand);
  position:relative;
  overflow:hidden;
  min-height:200px;
}
.ltb-mood:before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(140deg,var(--ltb-mood-accent),transparent);
  opacity:.12;
}
.ltb-mood>*{
  position:relative;
}
.ltb-section--cta .ltb-cta{
  border-radius:1.5rem;
  background:#141c1c;
  color:#fff;
  padding:2.5rem;
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  justify-content:space-between;
  align-items:center;
}
.ltb-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}
.ltb-cta .ltb-button--ghost{
  color:#fff!important;
  background:rgba(255,255,255,.08);
  box-shadow:none;
  border:1px solid rgba(255,255,255,.2);
}
.ltb-cta .ltb-button{
  box-shadow:0 15px 35px rgba(0,0,0,.35);
}
@media (max-width:768px){
  .ltb-section__header{
    flex-direction:column;
    align-items:flex-start;
  }
  .ltb-section--feature{
    padding:1.75rem;
  }
  .ltb-hero__content{
    padding:1.5rem;
  }
  .ltb-hero__card{
    padding:1.5rem;
  }
}
