/*
 * Subpage Styles - Only loaded on non-homepage pages
 * Keeps homepage lean for optimal Lighthouse performance
 */

/* Hide duplicate H1 at top of page (masthead has the main H1) */
body.page article > h1.h2.fw-bold.mb-3{
  display:none;
}

/* Page masthead/header images */
.masthead{
  position:relative;
  overflow:hidden;
  margin-bottom:40px;
  margin-left:calc(-50vw + 50%);
  margin-right:calc(-50vw + 50%);
  width:100vw;
  max-width:100vw;
}
.masthead__picture{
  display:block;
  width:100%;
  max-height:400px;
  overflow:hidden;
  position:relative;
}
.masthead__picture::after{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(0,0,0,0.5);
  pointer-events:none;
}
.masthead__picture img{
  width:100%;
  height:400px;
  max-height:400px;
  object-fit:cover;
  object-position:center;
  display:block;
}
@media (max-width:768px){
  .masthead__picture{
    max-height:300px;
  }
  .masthead__picture img{
    height:300px;
    max-height:300px;
  }
}
.masthead__content--internal{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  text-align:center;
  color:#fff;
  width:100%;
  max-width:800px;
  padding:20px;
}
.masthead__title{
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:900;
  line-height:1.1;
  margin:0 0 1rem;
  text-shadow:0 2px 8px rgba(0,0,0,0.3);
}
.masthead__title small{
  display:block;
  font-size:0.5em;
  font-weight:700;
  margin-bottom:0.5rem;
  text-transform:uppercase;
  letter-spacing:0.1em;
}
.masthead__text{
  font-size:1.125rem;
  line-height:1.6;
  margin:0 0 1rem;
  text-shadow:0 1px 4px rgba(0,0,0,0.3);
}

/* Puppy Extras page styles */
.extras__card{
  background:#fff;
  border:1px solid #EDEDED;
  border-radius:8px;
  padding:32px;
  margin-bottom:24px;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
@media (max-width:768px){
  .extras__card{
    padding:24px 16px;
  }
}
.extras__card--dark{
  background:var(--dark-gray);
  color:#fff;
}
.extras__card--fluid{
  padding-bottom:0;
}
.extras__title{
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0.05em;
  margin:0 0 24px;
  color:var(--primary);
}
.extras__card--dark .extras__title{
  color:#fff;
}
.extras__subtitle{
  font-size:1.25rem;
  font-weight:700;
  margin:0 0 16px;
  color:var(--primary);
}
.extras__card--dark .extras__subtitle{
  color:#fff;
}
.extras__content{
  line-height:1.7;
}
.extras__content ul{
  padding-left:20px;
  margin:0;
}
.extras__content li{
  margin-bottom:12px;
}
.extras__image{
  margin:0 0 24px;
}
.extras__image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:6px;
}
/* Accordion collapse buttons */
.btn--collapse{
  background:#fff;
  border:1px solid #EDEDED;
  color:var(--ink);
  text-align:left;
  padding:16px 20px;
  font-weight:600;
  font-size:1rem;
  margin-bottom:8px;
  border-radius:6px;
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:all 0.2s ease;
}
.btn--collapse:hover{
  background:var(--muted);
  border-color:var(--primary);
  color:var(--primary);
}
.btn--collapse i{
  transition:transform 0.2s ease;
}
.btn--collapse:not(.collapsed) i{
  transform:rotate(180deg);
}
.extras__collapse .collapse{
  margin-bottom:16px;
}
.extras__collapse .collapse.show{
  padding:20px;
  background:var(--muted);
  border-radius:6px;
  margin-top:-8px;
}
/* Swiper carousel */
.swiper-container{
  margin:24px 0;
  position:relative;
  width:100%;
}
.swiper-wrapper{
  position:relative;
  width:100%;
  height:100%;
}
.swiper-slide{
  display:none;
  width:100%;
  max-width:100%;
}
.swiper-slide.active{
  display:block;
  width:100%;
}
.wp-block-petland-perks-training-week{
  width:100%;
  max-width:100%;
}
.extras__swiper{
  background:rgba(255,255,255,0.1);
  padding:32px;
  border-radius:8px;
  min-height:280px;
  width:100%;
}
.extras__swiper h4{
  color:#fff;
  font-weight:700;
  margin:0 0 24px;
  font-size:1.75rem;
}
.extras__swiper ul{
  color:#fff;
  padding-left:24px;
  margin:0;
  width:100%;
}
.extras__swiper li{
  margin-bottom:12px;
  line-height:1.8;
  font-size:1.125rem;
}
@media (max-width:768px){
  .extras__swiper{
    padding:24px;
    min-height:250px;
  }
  .extras__swiper h4{
    font-size:1.5rem;
    margin-bottom:20px;
  }
  .extras__swiper li{
    font-size:1rem;
    margin-bottom:10px;
  }
}
.swiper--buttons{
  gap:16px;
  justify-content:center;
  margin-top:24px;
  padding-bottom:32px;
}
.btn--swiper-prev,
.btn--swiper-next{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 24px;
  cursor:pointer;
}
.btn--swiper-prev:disabled,
.btn--swiper-next:disabled{
  opacity:0.5;
  cursor:not-allowed;
}
/* Override grid display on desktop for carousel */
@media (min-width:768px){
  .swiper-extras .swiper-wrapper{
    display:block !important;
    grid-template-columns:none;
  }
}
/* Content positioning helper */
.extras__content--pos{
  padding-bottom:32px;
}
.extras__content--pos .btn{
  margin-top:24px;
  margin-bottom:24px;
}

/* Pet Care Solutions & simple text pages */
.solutions-pet-text{
  max-width:900px;
  margin:0 auto;
}
.solutions-pet-text p{
  font-size:1.125rem;
  line-height:1.8;
  margin-bottom:24px;
  color:var(--ink);
}
.solutions-pet-text hr{
  margin:32px 0;
  border-color:#EDEDED;
  opacity:1;
}
.solutions-pet-text img{
  max-width:100%;
  height:auto;
  display:inline-block;
}
.solutions-pet-text a{
  color:var(--primary);
  text-decoration:none;
  transition:opacity 0.2s ease;
}
.solutions-pet-text a:hover{
  opacity:0.8;
}
@media (max-width:768px){
  .solutions-pet-text p{
    font-size:1rem;
  }
}

/* Dog & Cat Food page (brand grid) */
.food{
  padding:40px 0;
  max-width:var(--container-max);
  margin:0 auto;
}
.food__list{
  margin:0;
}
.food__list .row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  align-items:stretch;
}
@media (max-width:992px){
  .food__list .row{
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }
}
@media (max-width:576px){
  .food__list .row{
    grid-template-columns:1fr;
    gap:20px;
  }
}
.food__list .row > div{
  display:flex;
}
.food__card{
  background:#fff;
  border:1px solid #EDEDED;
  border-radius:12px;
  padding:40px 32px;
  text-align:center;
  transition:all 0.25s ease;
  width:100%;
  display:inline-table;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:320px;
}
.food__card:hover{
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
  transform:translateY(-4px);
  border-color:var(--primary);
}
.food__image{
  width:100%;
  align-items:center;
  min-height:180px;
}
.food__image img{
  width:180px;
  height:auto;
  object-fit:contain;
  display:block;
  margin:0 auto;
}
.food__title{
  margin:0;
  padding-top:16px;
  border-top:2px solid #EDEDED;
  width:100%;
  text-align:center;
}
.food__title h4{
  font-size:1.375rem;
  font-weight:700;
  color:var(--dark-gray);
  margin:0;
  text-transform:uppercase;
  letter-spacing:0.08em;
  text-align:center;
}
@media (max-width:768px){
  .food__card{
    padding:32px 24px;
    min-height:280px;
  }
  .food__image{
    min-height:160px;
  }
  .food__image img{
    width:160px;
  }
  .food__title h4{
    font-size:1.25rem;
  }
}

/* Petland Cares page */
.cares{
  max-width:var(--container-max);
  margin:0 auto;
}
.info{
  text-align:center;
  margin-bottom:48px;
}
.info__title{
  font-size:clamp(2rem,4vw,2.5rem);
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.info__text{
  font-size:1.125rem;
  line-height:1.6;
  color:var(--ink);
}
/* Cares carousel section */
.cares__slide{
  margin-bottom:64px;
}
.swiper-container{
  overflow:hidden;
  margin:0 -16px;
}
.swiper-wrapper{
  display:flex;
  gap:24px;
}
.swiper-slide{
  flex:0 0 auto;
  width:280px;
}
.cares__card{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,0.1);
  transition:all 0.3s ease;
}
.cares__card:hover{
  transform:translateY(-8px);
  box-shadow:0 12px 32px rgba(0,0,0,0.15);
}
.cares__image{
  position:relative;
  width:100%;
  height:320px;
  overflow:hidden;
}
.cares__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.cares__button{
  position:absolute;
  bottom:16px;
  right:16px;
  width:48px;
  height:48px;
  background:var(--primary);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition:all 0.2s ease;
  font-size:1.5rem;
}
.cares__button:hover{
  background:var(--btn-hover);
  transform:scale(1.1);
  color:#fff;
}
.cares__button i{
  margin:0;
}
@media (min-width:768px){
  .swiper-container{
    margin:0;
  }
  .swiper-wrapper{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
  }
  .swiper-slide{
    width:100%;
  }
}
@media (max-width:992px) and (min-width:768px){
  .swiper-wrapper{
    grid-template-columns:repeat(2,1fr);
  }
}
/* Breeder cards section */
.cares__cards{
  margin-bottom:64px;
}
.heading__card{
  background:#fff;
  border:1px solid #EDEDED;
  border-radius:8px;
  overflow:hidden;
  margin-bottom:16px;
  transition:all 0.2s ease;
}
.heading__card:hover{
  box-shadow:0 4px 12px rgba(0,0,0,0.08);
  transform:translateX(4px);
}
.heading__bar{
  height:6px;
  width:100%;
}
.heading__head{
  padding:24px 32px;
}
.heading__title{
  font-size:1.5rem;
  font-weight:700;
  color:var(--dark-gray);
  margin:0;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.heading__text{
  margin:0;
  color:var(--ink);
}
@media (max-width:768px){
  .heading__head{
    padding:20px 24px;
  }
  .heading__title{
    font-size:1.25rem;
  }
}
/* Client stories section */
.client{
  margin-bottom:48px;
}
.client__card{
  background:#fff;
  border:1px solid #EDEDED;
  border-radius:12px;
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:all 0.3s ease;
  margin-bottom:24px;
}
.client__card:hover{
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
  transform:translateY(-4px);
}
.client__image{
  width:100%;
  height:180px;
  overflow:hidden;
}
.client__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.client__chat{
  padding:24px;
  flex-grow:1;
  background:var(--muted);
}
.client__date{
  font-size:0.875rem;
  color:#6c757d;
  margin:0 0 8px;
  font-weight:600;
}
.client__message{
  font-size:1rem;
  line-height:1.6;
  color:var(--ink);
  margin:0;
}
.client__message a{
  color:var(--primary);
  text-decoration:none;
}
.client__message a:hover{
  opacity:0.8;
}
.client__info{
  padding:20px 24px;
  background:#fff;
  border-top:1px solid #EDEDED;
}
.client__name{
  font-size:1.125rem;
  font-weight:700;
  color:var(--dark-gray);
  margin:0 0 4px;
}
.client__job{
  font-size:0.875rem;
  color:#6c757d;
  margin:0;
  font-weight:400;
}
@media (max-width:768px){
  .client__chat{
    padding:20px;
  }
  .client__info{
    padding:16px 20px;
  }
}

/* Special Financing page */
.financing-block{
  padding:40px 0 20px;
}
.finance__content{
  max-width:var(--container-max);
  margin:0 auto;
}
.finance__content .row{
  display:flex;
  justify-content:center;
}
.wp-block-petland-financing-column{
  max-width:600px;
  width:100%;
  margin:0 auto;
  float:none;
}
.finance__card{
  background:#fff;
  border:2px solid #EDEDED;
  border-radius:12px;
  padding:48px 40px;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  transition:all 0.3s ease;
}
.finance__card:hover{
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
  transform:translateY(-4px);
  border-color:var(--primary);
}
.finance__image{
  margin:0 0 32px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.finance__image img{
  max-width:100%;
  height:auto;
  display:block;
}
.finance__description{
  font-size:1rem;
  line-height:1.7;
  color:var(--ink);
  margin:0 0 32px;
  text-align:center;
}
.finance__description strong{
  color:var(--dark-gray);
  font-weight:700;
}
.finance__button{
  margin:0;
}
.finance__button .btn{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  font-weight:700;
  font-size:1.125rem;
  padding:14px 32px;
  text-transform:uppercase;
  letter-spacing:0.05em;
  border-radius:6px;
  transition:all 0.2s ease;
  display:inline-block;
}
.finance__button .btn:hover{
  background:var(--btn-hover);
  border-color:var(--btn-hover);
  color:#fff;
  transform:scale(1.05);
}
/* Disclaimer text styling */
.financing-block p{
  font-size:0.875rem;
  line-height:1.6;
  color:#6c757d;
  max-width:900px;
  margin:0 auto;
}
.financing-block p a{
  color:var(--primary);
  text-decoration:underline;
}
.financing-block p a:hover{
  opacity:0.8;
}
@media (max-width:768px){
  .finance__card{
    padding:32px 24px;
  }
  .finance__image{
    margin:0 0 24px;
  }
  .finance__description{
    font-size:0.95rem;
    margin:0 0 24px;
  }
  .finance__button .btn{
    width:100%;
    padding:12px 24px;
    font-size:1rem;
  }
  .financing-block p{
    font-size:0.8rem;
    padding:20px 16px;
  }
}

/* About Us page */
.about-us__masthead{
  position:relative;
  width:100%;
  overflow:hidden;
  margin-bottom:48px;
}
.about-us__masthead-picture{
  display:block;
  width:100%;
  max-height:500px;
  overflow:hidden;
}
.about-us__masthead-picture img{
  width:100%;
  height:500px;
  max-height:500px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.about-us__masthead-overlay{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(0,0,0,0.4);
  display:flex;
  align-items:center;
  justify-content:center;
}
.about-us__masthead-content{
  text-align:center;
  padding:20px;
}
.about-us__masthead-title{
  font-size:clamp(3rem,6vw,5rem);
  font-weight:900;
  color:#fff;
  margin:0;
  text-transform:uppercase;
  letter-spacing:0.1em;
  text-shadow:0 4px 12px rgba(0,0,0,0.5);
}
@media (max-width:768px){
  .about-us__masthead-picture{
    max-height:350px;
  }
  .about-us__masthead-picture img{
    height:350px;
    max-height:350px;
  }
  .about-us__masthead-title{
    font-size:2.5rem;
  }
}
.about-us{
  max-width:var(--container-max);
  margin:0 auto;
  padding:40px 0;
}
.about-us__section{
  margin-bottom:64px;
}
.about-us__section:last-child{
  margin-bottom:0;
}
/* Hero section */
.about-us__hero{
  text-align:center;
  padding:48px 32px;
  background:linear-gradient(135deg,var(--muted) 0%,#fff 100%);
  border-radius:12px;
  margin-bottom:64px;
}
.about-us__hero-title{
  font-size:clamp(2.5rem,5vw,3.5rem);
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 24px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.about-us__hero-text{
  font-size:1.25rem;
  line-height:1.8;
  color:var(--ink);
  max-width:800px;
  margin:0 auto 24px;
}
.about-us__hero-list{
  list-style:none;
  padding:0;
  margin:32px 0 0;
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:700px;
  margin:32px auto 0;
}
.about-us__hero-list li{
  font-size:1.125rem;
  color:var(--ink);
  padding-left:32px;
  position:relative;
  text-align:left;
}
.about-us__hero-list li::before{
  content:'✓';
  position:absolute;
  left:0;
  color:var(--primary);
  font-weight:900;
  font-size:1.5rem;
}
/* Two column sections */
.about-us__two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
}
@media (max-width:768px){
  .about-us__two-col{
    grid-template-columns:1fr;
    gap:32px;
  }
}
.about-us__col{
  background:#fff;
  border:1px solid #EDEDED;
  border-radius:12px;
  padding:40px 32px;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
  transition:all 0.3s ease;
}
.about-us__col:hover{
  box-shadow:0 8px 24px rgba(0,0,0,0.1);
  transform:translateY(-4px);
}
.about-us__col-title{
  font-size:2rem;
  font-weight:900;
  color:var(--primary);
  margin:0 0 20px;
  text-transform:uppercase;
  letter-spacing:0.05em;
  border-bottom:3px solid var(--primary);
  padding-bottom:12px;
}
.about-us__col-text{
  font-size:1.125rem;
  line-height:1.8;
  color:var(--ink);
  margin:0;
}
/* Feature boxes (Program & Benefits) */
.about-us__features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  margin-top:48px;
}
@media (max-width:768px){
  .about-us__features{
    grid-template-columns:1fr;
    gap:24px;
  }
}
.about-us__feature-box{
  background:var(--dark-gray);
  color:#fff;
  border-radius:12px;
  padding:40px 32px;
  box-shadow:0 4px 16px rgba(0,0,0,0.15);
  transition:all 0.3s ease;
}
.about-us__feature-box:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 32px rgba(0,0,0,0.2);
}
.about-us__feature-box--primary{
  background:var(--primary);
}
.about-us__feature-title{
  font-size:1.75rem;
  font-weight:900;
  margin:0 0 24px;
  text-transform:uppercase;
  letter-spacing:0.08em;
}
.about-us__feature-list{
  list-style:none;
  padding:0;
  margin:0;
}
.about-us__feature-list li{
  font-size:1.125rem;
  line-height:1.7;
  padding-left:28px;
  position:relative;
  margin-bottom:16px;
}
.about-us__feature-list li:last-child{
  margin-bottom:0;
}
.about-us__feature-list li::before{
  content:'•';
  position:absolute;
  left:8px;
  font-size:1.5rem;
  line-height:1.7;
}
/* Single column sections */
.about-us__single{
  background:#fff;
  border:1px solid #EDEDED;
  border-radius:12px;
  padding:40px 32px;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.about-us__single-title{
  font-size:2rem;
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 20px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.about-us__single-text{
  font-size:1.125rem;
  line-height:1.8;
  color:var(--ink);
  margin:0 0 16px;
}
.about-us__single-text:last-child{
  margin-bottom:0;
}
@media (max-width:768px){
  .about-us__hero{
    padding:32px 24px;
  }
  .about-us__hero-title{
    font-size:2rem;
  }
  .about-us__hero-text{
    font-size:1.125rem;
  }
  .about-us__hero-list li{
    font-size:1rem;
  }
  .about-us__col{
    padding:32px 24px;
  }
  .about-us__col-title{
    font-size:1.5rem;
  }
  .about-us__col-text{
    font-size:1rem;
  }
  .about-us__feature-box{
    padding:32px 24px;
  }
  .about-us__feature-title{
    font-size:1.5rem;
  }
  .about-us__feature-list li{
    font-size:1rem;
  }
  .about-us__single{
    padding:32px 24px;
  }
  .about-us__single-title{
    font-size:1.5rem;
  }
  .about-us__single-text{
    font-size:1rem;
  }
}

/* Contact Us page */
.contact-us{
  background:var(--muted);
  padding:60px 0;
}
.contact-us__container{
  max-width:var(--container-max);
  margin:0 auto;
  padding:0 16px;
}
/* Form Section */
.contact-us__form-section{
  background:#fff;
  border-radius:12px;
  padding:48px 40px;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  margin-bottom:48px;
}
.contact-us__form-header{
  text-align:center;
  margin-bottom:40px;
}
.contact-us__title{
  font-size:clamp(2rem,4vw,3rem);
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.contact-us__subtitle{
  font-size:1.25rem;
  color:var(--ink);
  margin:0;
  line-height:1.6;
}
.contact-us__form-wrapper{
  max-width:700px;
  margin:0 auto;
}
/* Location Cards */
.contact-us__locations{
  margin-bottom:32px;
}
.contact-us__locations-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
@media (max-width:768px){
  .contact-us__locations-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
}
.contact-us__location-card{
  background:#fff;
  border-radius:12px;
  padding:40px 32px;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  transition:all 0.3s ease;
}
.contact-us__location-card:hover{
  transform:translateY(-6px);
  box-shadow:0 8px 24px rgba(0,0,0,0.15);
}
.contact-us__location-title{
  font-size:2rem;
  font-weight:900;
  color:var(--primary);
  margin:0 0 32px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  text-align:center;
  border-bottom:3px solid var(--primary);
  padding-bottom:16px;
}
.contact-us__location-info{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.contact-us__info-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.contact-us__icon{
  font-size:1.5rem;
  flex-shrink:0;
  width:32px;
  text-align:center;
}
.contact-us__info-content{
  flex:1;
  font-size:1rem;
  line-height:1.7;
  color:var(--ink);
}
.contact-us__info-content strong{
  color:var(--dark-gray);
  display:block;
  margin-bottom:4px;
  font-size:1.125rem;
}
.contact-us__info-content a{
  color:var(--primary);
  text-decoration:none;
  font-weight:600;
  transition:opacity 0.2s ease;
}
.contact-us__info-content a:hover{
  opacity:0.8;
  text-decoration:underline;
}
/* Permit Number */
.contact-us__permit{
  text-align:center;
  padding:20px;
  background:#fff;
  border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
.contact-us__permit p{
  margin:0;
  font-size:0.875rem;
  color:#6c757d;
  font-weight:600;
}
/* Mobile Responsive */
@media (max-width:768px){
  .contact-us{
    padding:40px 0;
  }
  .contact-us__form-section{
    padding:32px 24px;
  }
  .contact-us__title{
    font-size:1.75rem;
  }
  .contact-us__subtitle{
    font-size:1.125rem;
  }
  .contact-us__location-card{
    padding:32px 24px;
  }
  .contact-us__location-title{
    font-size:1.5rem;
    margin-bottom:24px;
  }
  .contact-us__info-item{
    gap:12px;
  }
  .contact-us__icon{
    font-size:1.25rem;
    width:28px;
  }
  .contact-us__info-content{
    font-size:0.95rem;
  }
  .contact-us__info-content strong{
    font-size:1rem;
  }
}

/* 404 Error Page */
.error-404{
  min-height:calc(100vh - 200px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:60px 16px;
  background:linear-gradient(135deg,var(--muted) 0%,#fff 100%);
}
.error-404__container{
  max-width:800px;
  margin:0 auto;
  text-align:center;
}
.error-404__paws{
  display:flex;
  justify-content:center;
  gap:24px;
  margin-bottom:32px;
  animation:bounce 2s infinite;
}
.error-404__paws--bottom{
  margin-top:48px;
  margin-bottom:0;
  animation-delay:0.3s;
}
.error-404__paw{
  font-size:2.5rem;
  opacity:0.6;
}
@keyframes bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
.error-404__number{
  font-size:clamp(6rem,15vw,10rem);
  font-weight:900;
  color:var(--primary);
  margin:0 0 32px;
  line-height:1;
  text-shadow:3px 3px 0 rgba(0,0,0,0.1);
}
.error-404__message{
  margin-bottom:40px;
}
.error-404__title{
  font-size:clamp(1.75rem,4vw,2.5rem);
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 20px;
  line-height:1.2;
}
.error-404__text{
  font-size:1.25rem;
  line-height:1.8;
  color:var(--ink);
  margin:0;
  max-width:600px;
  margin:0 auto;
}
.error-404__divider{
  display:flex;
  justify-content:center;
  gap:16px;
  margin:40px 0;
  font-size:2rem;
}
.error-404__divider span{
  animation:wiggle 1s ease-in-out infinite;
}
.error-404__divider span:nth-child(2){
  animation-delay:0.2s;
}
.error-404__divider span:nth-child(3){
  animation-delay:0.4s;
}
@keyframes wiggle{
  0%,100%{transform:rotate(0deg)}
  25%{transform:rotate(-15deg)}
  75%{transform:rotate(15deg)}
}
.error-404__cta{
  margin-bottom:40px;
}
.error-404__cta-title{
  font-size:1.5rem;
  font-weight:700;
  color:var(--dark-gray);
  margin:0 0 24px;
}
.error-404__buttons{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}
.error-404__buttons .btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 28px;
  font-weight:700;
  border-radius:8px;
  transition:all 0.3s ease;
}
.error-404__buttons .btn:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(212,82,36,0.3);
}
.error-404__links{
  margin-top:32px;
}
.error-404__links p{
  font-size:1rem;
  color:#6c757d;
  margin:0;
}
.error-404__links a{
  color:var(--primary);
  text-decoration:underline;
  font-weight:600;
}
.error-404__links a:hover{
  opacity:0.8;
}
@media (max-width:768px){
  .error-404{
    padding:40px 16px;
  }
  .error-404__number{
    font-size:5rem;
    margin-bottom:24px;
  }
  .error-404__title{
    font-size:1.5rem;
  }
  .error-404__text{
    font-size:1.125rem;
  }
  .error-404__buttons{
    flex-direction:column;
    gap:12px;
  }
  .error-404__buttons .btn{
    width:100%;
    max-width:300px;
    margin:0 auto;
  }
  .error-404__paws{
    gap:16px;
  }
  .error-404__paw{
    font-size:2rem;
  }
}

/* Thank You Page */
.thank-you{
  min-height:calc(100vh - 200px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:60px 16px;
  background:linear-gradient(135deg,var(--muted) 0%,#fff 100%);
}
.thank-you__container{
  max-width:1000px;
  margin:0 auto;
  text-align:center;
}
/* Success Icon */
.thank-you__icon{
  margin-bottom:32px;
}
.thank-you__icon-circle{
  width:120px;
  height:120px;
  background:var(--primary);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto;
  box-shadow:0 8px 24px rgba(212,82,36,0.3);
  animation:pulse 2s ease-in-out infinite;
}
.thank-you__icon-circle i{
  font-size:4rem;
  color:#fff;
}
@keyframes pulse{
  0%,100%{transform:scale(1);box-shadow:0 8px 24px rgba(212,82,36,0.3)}
  50%{transform:scale(1.05);box-shadow:0 12px 32px rgba(212,82,36,0.4)}
}
/* Main Message */
.thank-you__message{
  margin-bottom:48px;
}
.thank-you__title{
  font-size:clamp(2.5rem,5vw,3.5rem);
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 16px;
  line-height:1.2;
}
.thank-you__subtitle{
  font-size:1.5rem;
  font-weight:700;
  color:var(--primary);
  margin:0 0 24px;
}
.thank-you__text{
  font-size:1.125rem;
  line-height:1.8;
  color:var(--ink);
  margin:0;
  max-width:700px;
  margin:0 auto;
}
/* Pet Divider */
.thank-you__divider{
  display:flex;
  justify-content:center;
  gap:24px;
  margin:40px 0;
  font-size:2.5rem;
}
/* What's Next Section */
.thank-you__next{
  margin-bottom:48px;
}
.thank-you__next-title{
  font-size:2rem;
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.thank-you__next-text{
  font-size:1.125rem;
  color:var(--ink);
  margin:0;
  max-width:600px;
  margin:0 auto;
}
/* CTA Cards Grid */
.thank-you__cta-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin-bottom:64px;
}
@media (max-width:768px){
  .thank-you__cta-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
}
.thank-you__cta-card{
  background:#fff;
  border:2px solid #EDEDED;
  border-radius:12px;
  padding:32px 24px;
  text-align:center;
  transition:all 0.3s ease;
  box-shadow:0 4px 12px rgba(0,0,0,0.06);
}
.thank-you__cta-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 32px rgba(0,0,0,0.15);
  border-color:var(--primary);
}
.thank-you__cta-icon{
  font-size:3rem;
  margin-bottom:20px;
}
.thank-you__cta-title{
  font-size:1.5rem;
  font-weight:700;
  color:var(--dark-gray);
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.03em;
}
.thank-you__cta-text{
  font-size:1rem;
  line-height:1.6;
  color:var(--ink);
  margin:0 0 24px;
}
.thank-you__cta-buttons{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.thank-you__cta-buttons .btn{
  width:100%;
  font-weight:600;
  padding:12px 20px;
  transition:all 0.2s ease;
}
.thank-you__cta-card .btn{
  width:100%;
  font-weight:600;
  padding:12px 20px;
  transition:all 0.2s ease;
}
.thank-you__cta-card .btn:hover{
  transform:scale(1.03);
}
/* Social Follow Section */
.thank-you__social{
  margin-bottom:48px;
  padding:40px 32px;
  background:rgba(255,255,255,0.5);
  border-radius:12px;
}
.thank-you__social-title{
  font-size:1.75rem;
  font-weight:700;
  color:var(--dark-gray);
  margin:0 0 12px;
}
.thank-you__social-text{
  font-size:1rem;
  color:var(--ink);
  margin:0 0 24px;
}
.thank-you__social-links{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.thank-you__social-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:2px solid #EDEDED;
  color:var(--dark-gray);
  padding:12px 20px;
  border-radius:8px;
  text-decoration:none;
  font-weight:600;
  font-size:1rem;
  transition:all 0.3s ease;
  box-shadow:0 2px 8px rgba(0,0,0,0.08);
}
.thank-you__social-btn:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 6px 16px rgba(212,82,36,0.3);
}
.thank-you__social-btn i{
  font-size:1.25rem;
}
/* Bottom Paws */
.thank-you__bottom-paws{
  display:flex;
  justify-content:center;
  gap:24px;
  margin-bottom:32px;
  font-size:2rem;
  opacity:0.5;
}
/* Home Link */
.thank-you__home-link{
  margin-top:48px;
}
.thank-you__home-link .btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 32px;
  font-weight:700;
  border-radius:8px;
  font-size:1.125rem;
  transition:all 0.3s ease;
}
.thank-you__home-link .btn:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(69,81,93,0.3);
}
/* Mobile Responsive */
@media (max-width:768px){
  .thank-you{
    padding:40px 16px;
  }
  .thank-you__icon-circle{
    width:100px;
    height:100px;
  }
  .thank-you__icon-circle i{
    font-size:3rem;
  }
  .thank-you__title{
    font-size:2rem;
  }
  .thank-you__subtitle{
    font-size:1.25rem;
  }
  .thank-you__text{
    font-size:1rem;
  }
  .thank-you__next-title{
    font-size:1.5rem;
  }
  .thank-you__next-text{
    font-size:1rem;
  }
  .thank-you__cta-card{
    padding:28px 20px;
  }
  .thank-you__cta-icon{
    font-size:2.5rem;
  }
  .thank-you__cta-title{
    font-size:1.25rem;
  }
  .thank-you__social{
    padding:32px 20px;
  }
  .thank-you__social-title{
    font-size:1.5rem;
  }
  .thank-you__social-links{
    flex-direction:column;
    gap:12px;
  }
  .thank-you__social-btn{
    width:100%;
    max-width:300px;
    margin:0 auto;
    justify-content:center;
  }
  .thank-you__home-link .btn{
    padding:14px 28px;
    font-size:1rem;
  }
}

/* ============================================
   PERKS PAGE STYLES
   ============================================ */

/* Perks Masthead */
.perks-masthead{
  position:relative;
  width:100%;
  overflow:hidden;
  margin-bottom:48px;
}
.perks-masthead__picture{
  display:block;
  width:100%;
  max-height:400px;
  overflow:hidden;
  position:relative;
}
.perks-masthead__picture img{
  width:100%;
  height:400px;
  max-height:400px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.perks-masthead__overlay{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(0,0,0,0.5);
  display:flex;
  align-items:center;
  justify-content:center;
}
.perks-masthead__content{
  text-align:center;
  padding:20px;
  max-width:800px;
}
.perks-masthead__title{
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:900;
  color:#fff;
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  text-shadow:0 4px 12px rgba(0,0,0,0.5);
}
.perks-masthead__subtitle{
  font-size:clamp(1.125rem,2vw,1.5rem);
  color:rgba(255,255,255,0.95);
  margin:0;
  font-weight:600;
  text-shadow:0 2px 6px rgba(0,0,0,0.4);
}
@media (max-width:768px){
  .perks-masthead__picture{
    max-height:300px;
  }
  .perks-masthead__picture img{
    height:300px;
    max-height:300px;
  }
  .perks-masthead__title{
    font-size:2.5rem;
  }
  .perks-masthead__subtitle{
    font-size:1.125rem;
  }
}

/* Perks Page Layout */
.perks-page{
  padding:48px 0;
  background:var(--muted);
  min-height:60vh;
}
.perks-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-items:start;
}
@media (max-width:992px){
  .perks-layout{
    grid-template-columns:1fr;
    gap:32px;
  }
}

/* Perks Card (Left Column) */
.perks-card{
  background:#fff;
  border:1px solid #EDEDED;
  border-radius:12px;
  padding:40px;
  box-shadow:0 4px 16px rgba(0,0,0,0.06);
  transition:all 0.3s ease;
}
.perks-card:hover{
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
}
.perks-card__title{
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:900;
  color:var(--primary);
  margin:0 0 32px;
  text-transform:uppercase;
  letter-spacing:0.05em;
  text-align:center;
  border-bottom:3px solid var(--primary);
  padding-bottom:16px;
}
@media (max-width:768px){
  .perks-card{
    padding:32px 24px;
  }
  .perks-card__title{
    font-size:1.75rem;
    margin-bottom:24px;
  }
}

/* Perks Accordion */
.perks-accordion{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.perks-accordion__item{
  border-radius:8px;
  overflow:hidden;
}
.perks-accordion__button{
  width:100%;
  background:#fff;
  border:2px solid #EDEDED;
  border-radius:8px;
  padding:20px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:1.125rem;
  font-weight:700;
  color:var(--dark-gray);
  text-align:left;
  cursor:pointer;
  transition:all 0.3s ease;
  position:relative;
  z-index:1;
}
.perks-accordion__button:hover{
  background:var(--muted);
  border-color:var(--primary);
  color:var(--primary);
}
.perks-accordion__button i{
  font-size:1.25rem;
  transition:transform 0.3s ease;
  color:var(--primary);
}
.perks-accordion__button:not(.collapsed) i{
  transform:rotate(180deg);
}
.perks-accordion__button:not(.collapsed){
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.perks-accordion__button:not(.collapsed) i{
  color:#fff;
}
.perks-accordion__collapse{
  border:2px solid var(--primary);
  border-top:none;
  border-radius:0 0 8px 8px;
}
.perks-accordion__body{
  padding:24px 28px;
  background:#fff;
}
@media (max-width:768px){
  .perks-accordion__button{
    padding:16px 20px;
    font-size:1rem;
  }
  .perks-accordion__body{
    padding:20px 24px;
  }
}

/* Perks List */
.perks-list{
  list-style:none;
  padding:0;
  margin:0;
}
.perks-list li{
  padding-left:32px;
  position:relative;
  margin-bottom:16px;
  line-height:1.7;
  color:var(--ink);
  font-size:1.0625rem;
}
.perks-list li:last-child{
  margin-bottom:0;
}
.perks-list li::before{
  content:'✓';
  position:absolute;
  left:0;
  color:var(--primary);
  font-weight:900;
  font-size:1.25rem;
}
.perks-list li strong{
  color:var(--dark-gray);
  font-weight:700;
}
@media (max-width:768px){
  .perks-list li{
    padding-left:28px;
    font-size:1rem;
    margin-bottom:14px;
  }
  .perks-list li::before{
    font-size:1.125rem;
  }
}

/* Lifetime Program Card (Right Column) */
.perks-lifetime{
  background:var(--dark-gray);
  color:#fff;
  border-radius:12px;
  padding:40px 32px;
  box-shadow:0 4px 16px rgba(0,0,0,0.15);
  position:sticky;
  top:88px;
  transition:all 0.3s ease;
}
.perks-lifetime:hover{
  box-shadow:0 8px 24px rgba(0,0,0,0.25);
  transform:translateY(-4px);
}
@media (max-width:992px){
  .perks-lifetime{
    position:static;
  }
}
.perks-lifetime__title{
  font-size:clamp(1.75rem,3vw,2.25rem);
  font-weight:900;
  color:#fff;
  margin:0 0 24px;
  text-transform:uppercase;
  letter-spacing:0.06em;
  text-align:center;
}
.perks-lifetime__image{
  margin:0 0 32px;
  text-align:center;
}
.perks-lifetime__image img{
  max-width:100%;
  height:auto;
  display:inline-block;
  border-radius:8px;
}
.perks-lifetime__content{
  display:flex;
  flex-direction:column;
  gap:32px;
}
.perks-lifetime__section{
  background:rgba(255,255,255,0.08);
  border-radius:8px;
  padding:24px;
  border:1px solid rgba(255,255,255,0.15);
}
.perks-lifetime__section-title{
  font-size:1.5rem;
  font-weight:700;
  color:#fff;
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.05em;
  border-bottom:2px solid rgba(255,255,255,0.3);
  padding-bottom:12px;
}
.perks-lifetime__section p{
  font-size:1rem;
  line-height:1.7;
  color:rgba(255,255,255,0.95);
  margin:0 0 16px;
}
.perks-lifetime__section p:last-child{
  margin-bottom:0;
}
.perks-lifetime__note{
  font-size:0.875rem;
  color:rgba(255,255,255,0.8);
  font-style:italic;
  margin-top:16px;
}
.perks-lifetime__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  margin-top:8px;
  font-weight:700;
  font-size:1.125rem;
  padding:14px 28px;
  border-radius:8px;
  text-transform:uppercase;
  letter-spacing:0.05em;
  transition:all 0.3s ease;
}
.perks-lifetime__btn:hover{
  transform:scale(1.03);
  box-shadow:0 6px 20px rgba(212,82,36,0.4);
}
.perks-lifetime__btn i{
  transition:transform 0.3s ease;
}
.perks-lifetime__btn:hover i{
  transform:translateX(4px);
}
@media (max-width:768px){
  .perks-lifetime{
    padding:32px 24px;
  }
  .perks-lifetime__title{
    font-size:1.75rem;
    margin-bottom:20px;
  }
  .perks-lifetime__image{
    margin-bottom:24px;
  }
  .perks-lifetime__content{
    gap:24px;
  }
  .perks-lifetime__section{
    padding:20px;
  }
  .perks-lifetime__section-title{
    font-size:1.25rem;
    margin-bottom:14px;
  }
  .perks-lifetime__section p{
    font-size:0.95rem;
  }
  .perks-lifetime__btn{
    font-size:1rem;
    padding:12px 24px;
  }
}

/* ============================================
   GRAVITY FORMS STYLES - Contact & Forms
   ============================================ */

/* Gravity Forms Container */
.gform_wrapper.gform-theme{
  max-width:100%;
  margin:0;
}
.gform_wrapper form{
  margin:0;
}

/* Form Body & Fields Container */
.gform_body{
  margin-bottom:24px;
}
.gform_fields{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  list-style:none;
  padding:0;
  margin:0;
}

/* Field Widths */
.gfield--width-half{
  grid-column:span 1;
}
.gfield--width-full{
  grid-column:1 / -1;
}
@media (min-width:768px){
  .gform_fields{
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }
}

/* Labels */
.gfield_label{
  display:block;
  font-weight:600;
  font-size:1rem;
  color:var(--dark-gray);
  margin-bottom:8px;
  line-height:1.4;
}
.hidden_label .gfield_label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.gfield_required{
  color:var(--primary);
  margin-left:4px;
}
.gfield_required_text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Input Containers */
.ginput_container{
  position:relative;
}

/* Text Inputs, Select, Textarea */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper select,
.gform_wrapper textarea{
  width:100%;
  padding:14px 16px;
  font-size:1rem;
  font-family:inherit;
  line-height:1.5;
  color:var(--ink);
  background:#fff;
  border:2px solid #EDEDED;
  border-radius:8px;
  transition:all 0.2s ease;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(212,82,36,0.1);
}

/* Placeholder Styling */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder{
  color:#999;
  opacity:1;
  font-size:1rem;
  text-transform:capitalize;
}

/* Select Dropdown */
.gform_wrapper select{
  background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2345515D' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:12px;
  padding-right:40px;
  cursor:pointer;
}
.gform_wrapper select option{
  padding:8px;
}
.gform_wrapper select.gf_placeholder{
  color:#999;
}

/* Textarea */
.gform_wrapper textarea{
  resize:vertical;
  min-height:140px;
  font-family:inherit;
}
.gform_wrapper textarea.small{
  min-height:140px;
}
.gform_wrapper textarea.medium{
  min-height:180px;
}
.gform_wrapper textarea.large{
  min-height:220px;
}

/* Name Field (Composite) */
.ginput_container_name{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.ginput_container_name .name_first,
.ginput_container_name .name_last{
  display:flex;
  flex-direction:column;
}
.ginput_container_name input{
  margin-bottom:0;
}
.ginput_container_name .hidden_sub_label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Checkbox & Radio Buttons */
.gfield_checkbox,
.gfield_radio{
  list-style:none;
  padding:0;
  margin:0;
}
.gchoice{
  margin-bottom:12px;
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.gchoice:last-child{
  margin-bottom:0;
}
.gfield-choice-input[type="checkbox"],
.gfield-choice-input[type="radio"]{
  width:20px;
  height:20px;
  min-width:20px;
  margin:2px 0 0 0;
  cursor:pointer;
  border:2px solid #EDEDED;
  border-radius:4px;
  background:#fff;
  transition:all 0.2s ease;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  position:relative;
}
.gfield-choice-input[type="radio"]{
  border-radius:50%;
}
.gfield-choice-input[type="checkbox"]:checked,
.gfield-choice-input[type="radio"]:checked{
  background:var(--primary);
  border-color:var(--primary);
}
.gfield-choice-input[type="checkbox"]:checked::after{
  content:'';
  position:absolute;
  top:2px;
  left:5px;
  width:6px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.gfield-choice-input[type="radio"]:checked::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
}
.gfield-choice-input:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(212,82,36,0.1);
}
.gchoice label{
  font-size:0.9375rem;
  line-height:1.6;
  color:var(--ink);
  cursor:pointer;
  font-weight:400;
  margin:0;
}
.gchoice label a{
  color:var(--primary);
  text-decoration:underline;
  transition:opacity 0.2s ease;
}
.gchoice label a:hover{
  opacity:0.8;
}

/* Validation Errors */
.gfield_error{
  background:rgba(220,53,69,0.05);
  border:1px solid rgba(220,53,69,0.2);
  border-radius:8px;
  padding:16px;
  margin-bottom:20px;
}
.gfield_error .gfield_label{
  color:#dc3545;
}
.gfield_error input,
.gfield_error select,
.gfield_error textarea{
  border-color:#dc3545;
}
.gfield_error input:focus,
.gfield_error select:focus,
.gfield_error textarea:focus{
  border-color:#dc3545;
  box-shadow:0 0 0 3px rgba(220,53,69,0.1);
}
.validation_message{
  color:#dc3545;
  font-size:0.875rem;
  margin-top:8px;
  font-weight:600;
}

/* Validation Container (Top of Form Error) */
.validation_error{
  background:rgba(220,53,69,0.1);
  border:2px solid #dc3545;
  border-radius:8px;
  padding:16px 20px;
  margin-bottom:24px;
  color:#dc3545;
  font-weight:600;
  font-size:1rem;
}

/* Hidden Fields */
.gfield_visibility_hidden,
.gform_validation_container{
  display:none !important;
}

/* Admin Hidden Markup */
.admin-hidden-markup{
  display:none;
}

/* Form Footer & Submit Button */
.gform_footer{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid #EDEDED;
}
.gform_button,
.gform_wrapper input[type="submit"]{
  display:inline-block;
  padding:14px 32px;
  font-size:1.125rem;
  font-weight:700;
  line-height:1.5;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color:#fff;
  background:var(--primary);
  border:2px solid var(--primary);
  border-radius:8px;
  cursor:pointer;
  transition:all 0.3s ease;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  font-family:inherit;
  width:auto;
  min-width:180px;
}
.gform_button:hover,
.gform_wrapper input[type="submit"]:hover{
  background:var(--btn-hover);
  border-color:var(--btn-hover);
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(212,82,36,0.3);
  color:#fff;
}
.gform_button:active,
.gform_wrapper input[type="submit"]:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(212,82,36,0.2);
}
.gform_button:focus,
.gform_wrapper input[type="submit"]:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(212,82,36,0.2);
}

/* Loading State */
.gform_wrapper.gform_validation_error .gform_button,
.gform_ajax_spinner{
  opacity:0.6;
  cursor:not-allowed;
}

/* Confirmation Message */
.gform_confirmation_wrapper{
  background:rgba(40,167,69,0.1);
  border:2px solid #28a745;
  border-radius:12px;
  padding:32px 24px;
  text-align:center;
  margin:24px 0;
}
.gform_confirmation_message{
  font-size:1.125rem;
  line-height:1.7;
  color:var(--ink);
  margin:0;
}
.gform_confirmation_message h3,
.gform_confirmation_message h4{
  color:var(--dark-gray);
  font-weight:900;
  margin:0 0 16px;
}

/* Mobile Responsive Adjustments */
@media (max-width:767px){
  .gform_fields{
    gap:16px;
  }
  .gfield--width-half{
    grid-column:1 / -1;
  }
  .ginput_container_name{
    grid-template-columns:1fr;
    gap:12px;
  }
  .gform_wrapper input[type="text"],
  .gform_wrapper input[type="email"],
  .gform_wrapper input[type="tel"],
  .gform_wrapper input[type="url"],
  .gform_wrapper input[type="number"],
  .gform_wrapper input[type="password"],
  .gform_wrapper select,
  .gform_wrapper textarea{
    padding:12px 14px;
    font-size:1rem;
  }
  .gform_wrapper textarea{
    min-height:120px;
  }
  .gform_button,
  .gform_wrapper input[type="submit"]{
    width:100%;
    padding:14px 24px;
    font-size:1rem;
  }
  .gform_footer{
    margin-top:24px;
    padding-top:20px;
  }
  .gfield_label{
    font-size:0.9375rem;
  }
}

/* Focus Visible (Accessibility) */
.gform_wrapper input:focus-visible,
.gform_wrapper select:focus-visible,
.gform_wrapper textarea:focus-visible,
.gform_button:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:2px;
}

/* Remove Gravity Forms Default Theme Overrides */
.gform_wrapper.gform-theme--foundation{
  --gf-color-primary:var(--primary);
  --gf-color-primary-rgb:212,82,36;
  --gf-color-primary-contrast:#fff;
  --gf-ctrl-border-color:#EDEDED;
  --gf-ctrl-label-color-primary:var(--dark-gray);
}

/* ============================================
   FAQ PAGE STYLES
   ============================================ */

/* FAQ Masthead */
.faq-masthead{
  position:relative;
  width:100%;
  overflow:hidden;
  margin-bottom:48px;
}
.faq-masthead__picture{
  display:block;
  width:100%;
  max-height:400px;
  overflow:hidden;
  position:relative;
}
.faq-masthead__picture img{
  width:100%;
  height:400px;
  max-height:400px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.faq-masthead__overlay{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(0,0,0,0.5);
  display:flex;
  align-items:center;
  justify-content:center;
}
.faq-masthead__content{
  text-align:center;
  padding:20px;
  max-width:800px;
}
.faq-masthead__title{
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:900;
  color:#fff;
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  text-shadow:0 4px 12px rgba(0,0,0,0.5);
}
.faq-masthead__subtitle{
  font-size:clamp(1.125rem,2vw,1.5rem);
  color:rgba(255,255,255,0.95);
  margin:0;
  font-weight:600;
  text-shadow:0 2px 6px rgba(0,0,0,0.4);
}
@media (max-width:768px){
  .faq-masthead__picture{
    max-height:300px;
  }
  .faq-masthead__picture img{
    height:300px;
    max-height:300px;
  }
  .faq-masthead__title{
    font-size:2.5rem;
  }
  .faq-masthead__subtitle{
    font-size:1.125rem;
  }
}

/* FAQ Page Layout */
.faq-page{
  padding:48px 0 60px;
  background:var(--muted);
  min-height:60vh;
}

/* FAQ Intro Section */
.faq-intro{
  max-width:900px;
  margin:0 auto 40px;
  text-align:center;
}
.faq-intro__text{
  font-size:1.125rem;
  line-height:1.8;
  color:var(--ink);
  margin:0;
  padding:24px 32px;
  background:#fff;
  border-radius:12px;
  border:1px solid #EDEDED;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.faq-intro__text a{
  color:var(--primary);
  text-decoration:none;
  font-weight:600;
  transition:opacity 0.2s ease;
}
.faq-intro__text a:hover{
  opacity:0.8;
  text-decoration:underline;
}
@media (max-width:768px){
  .faq-intro__text{
    font-size:1rem;
    padding:20px 24px;
  }
}

/* FAQ Accordion */
.faq-accordion{
  max-width:900px;
  margin:0 auto 48px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.faq-accordion__item{
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
  transition:all 0.3s ease;
}
.faq-accordion__item:hover{
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
}
.faq-accordion__button{
  width:100%;
  background:#fff;
  border:none;
  border-radius:12px;
  padding:24px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:1.125rem;
  font-weight:700;
  color:var(--dark-gray);
  text-align:left;
  cursor:pointer;
  transition:all 0.3s ease;
  position:relative;
  z-index:1;
  gap:16px;
}
.faq-accordion__button:hover{
  background:var(--muted);
  color:var(--primary);
}
.faq-accordion__button i{
  font-size:1.5rem;
  transition:transform 0.3s ease;
  color:var(--primary);
  flex-shrink:0;
}
.faq-accordion__button:not(.collapsed){
  background:var(--primary);
  color:#fff;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.faq-accordion__button:not(.collapsed) i{
  transform:rotate(180deg);
  color:#fff;
}
.faq-accordion__collapse{
  border-top:none;
}
.faq-accordion__body{
  padding:28px 32px 32px;
  background:#fff;
  border-top:2px solid var(--primary);
  line-height:1.8;
  color:var(--ink);
  font-size:1.0625rem;
}
.faq-accordion__body p{
  margin:0 0 16px;
}
.faq-accordion__body p:last-child{
  margin-bottom:0;
}
.faq-accordion__body ul{
  margin:16px 0;
  padding-left:28px;
}
.faq-accordion__body li{
  margin-bottom:12px;
  line-height:1.8;
}
.faq-accordion__body li:last-child{
  margin-bottom:0;
}
.faq-accordion__body strong{
  color:var(--dark-gray);
  font-weight:700;
}
@media (max-width:768px){
  .faq-accordion{
    gap:12px;
  }
  .faq-accordion__button{
    padding:20px 24px;
    font-size:1rem;
    gap:12px;
  }
  .faq-accordion__button i{
    font-size:1.25rem;
  }
  .faq-accordion__body{
    padding:24px 24px 28px;
    font-size:1rem;
  }
  .faq-accordion__body ul{
    padding-left:24px;
  }
}

/* FAQ CTA Section */
.faq-cta{
  max-width:900px;
  margin:48px auto 0;
  padding:48px 40px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  border:2px solid var(--primary);
}
.faq-cta__content{
  text-align:center;
}
.faq-cta__title{
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.faq-cta__text{
  font-size:1.125rem;
  line-height:1.7;
  color:var(--ink);
  margin:0 0 32px;
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
}
.faq-cta__buttons{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}
.faq-cta__buttons .btn{
  padding:14px 32px;
  font-weight:700;
  font-size:1.125rem;
  border-radius:8px;
  transition:all 0.3s ease;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.faq-cta__buttons .btn:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(212,82,36,0.3);
}
.faq-cta__buttons .btn-outline-primary{
  border:2px solid var(--primary);
  color:var(--primary);
  background:transparent;
}
.faq-cta__buttons .btn-outline-primary:hover{
  background:var(--primary);
  color:#fff;
}
@media (max-width:768px){
  .faq-cta{
    padding:32px 24px;
    margin-top:32px;
  }
  .faq-cta__title{
    font-size:1.75rem;
    margin-bottom:14px;
  }
  .faq-cta__text{
    font-size:1rem;
    margin-bottom:24px;
  }
  .faq-cta__buttons{
    flex-direction:column;
    gap:12px;
  }
  .faq-cta__buttons .btn{
    width:100%;
    max-width:320px;
    margin:0 auto;
    padding:12px 28px;
    font-size:1rem;
    justify-content:center;
  }
}

/* ============================================
   BLOG STYLES - Archive & Single Post Pages
   ============================================ */

/* Blog Archive Page */
.blog-archive{
  background:var(--muted);
  min-height:calc(100vh - 200px);
}
.blog-archive__header{
  background:linear-gradient(135deg,var(--dark-gray) 0%,var(--ink) 100%);
  padding:60px 0;
  margin-bottom:48px;
}
.blog-archive__header-content{
  text-align:center;
  max-width:800px;
  margin:0 auto;
}
.blog-archive__title{
  font-size:clamp(2.5rem,5vw,3.5rem);
  font-weight:900;
  color:#fff;
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.blog-archive__subtitle{
  font-size:1.25rem;
  color:rgba(255,255,255,0.9);
  margin:0;
  line-height:1.6;
}
@media (max-width:768px){
  .blog-archive__header{
    padding:40px 16px;
    margin-bottom:32px;
  }
  .blog-archive__title{
    font-size:2rem;
  }
  .blog-archive__subtitle{
    font-size:1.125rem;
  }
}
.blog-archive__content{
  padding:0 0 60px;
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:32px;
  margin-bottom:48px;
}
@media (max-width:768px){
  .blog-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
}

/* Blog Card Component */
.blog-card{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  transition:all 0.3s ease;
  display:flex;
  flex-direction:column;
  height:100%;
}
.blog-card:hover{
  transform:translateY(-8px);
  box-shadow:0 12px 32px rgba(0,0,0,0.15);
}
.blog-card__image-link{
  display:block;
  text-decoration:none;
}
.blog-card__image{
  position:relative;
  width:100%;
  height:240px;
  overflow:hidden;
  background:var(--muted);
}
.blog-card__image--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--muted) 0%,#e0e0e0 100%);
}
.blog-card__placeholder-icon{
  font-size:4rem;
  opacity:0.3;
}
.blog-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform 0.3s ease;
}
.blog-card:hover .blog-card__img{
  transform:scale(1.06);
}
.blog-card__content{
  padding:24px;
  flex-grow:1;
  display:flex;
  flex-direction:column;
}
.blog-card__category{
  margin-bottom:12px;
}
.blog-card__category-link{
  display:inline-block;
  background:var(--primary);
  color:#fff;
  padding:4px 12px;
  border-radius:4px;
  font-size:0.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.05em;
  text-decoration:none;
  transition:all 0.2s ease;
}
.blog-card__category-link:hover{
  background:var(--btn-hover);
  color:#fff;
}
.blog-card__title{
  font-size:1.5rem;
  font-weight:900;
  line-height:1.3;
  margin:0 0 12px;
  color:var(--dark-gray);
}
.blog-card__title-link{
  color:var(--dark-gray);
  text-decoration:none;
  transition:color 0.2s ease;
}
.blog-card__title-link:hover{
  color:var(--primary);
}
.blog-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:16px;
  font-size:0.875rem;
  color:#6c757d;
}
.blog-card__date,
.blog-card__author{
  display:flex;
  align-items:center;
  gap:6px;
}
.blog-card__date i,
.blog-card__author i{
  font-size:1rem;
}
.blog-card__excerpt{
  color:var(--ink);
  line-height:1.7;
  margin-bottom:16px;
  flex-grow:1;
  font-size:1rem;
}
.blog-card__read-more{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--primary);
  font-weight:700;
  text-decoration:none;
  font-size:0.9375rem;
  transition:all 0.2s ease;
  margin-top:auto;
}
.blog-card__read-more:hover{
  color:var(--btn-hover);
  gap:12px;
}
.blog-card__read-more i{
  transition:transform 0.2s ease;
}
.blog-card__read-more:hover i{
  transform:translateX(4px);
}

/* Blog Pagination */
.blog-pagination{
  display:flex;
  justify-content:center;
  margin-top:48px;
}
.blog-pagination .pagination{
  display:flex;
  gap:8px;
  list-style:none;
  padding:0;
  margin:0;
}
.blog-pagination .page-numbers{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 12px;
  background:#fff;
  border:2px solid #EDEDED;
  border-radius:8px;
  color:var(--dark-gray);
  font-weight:600;
  text-decoration:none;
  transition:all 0.2s ease;
}
.blog-pagination .page-numbers:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.blog-pagination .page-numbers.current{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.blog-pagination .page-numbers i{
  font-size:1rem;
}

/* No Posts Found */
.blog-archive__no-posts{
  text-align:center;
  padding:80px 20px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
}
.blog-archive__no-posts-icon{
  font-size:5rem;
  margin-bottom:24px;
  opacity:0.3;
}
.blog-archive__no-posts-title{
  font-size:2rem;
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 16px;
}
.blog-archive__no-posts-text{
  font-size:1.125rem;
  color:var(--ink);
  margin:0 0 32px;
}

/* ============================================
   SINGLE POST PAGE
   ============================================ */

/* Breadcrumb Navigation */
.single-post__breadcrumb{
  background:#fff;
  border-bottom:1px solid #EDEDED;
  padding:16px 0;
}
.breadcrumb-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:0.875rem;
}
.breadcrumb-nav a{
  color:var(--dark-gray);
  text-decoration:none;
  transition:color 0.2s ease;
}
.breadcrumb-nav a:hover{
  color:var(--primary);
}
.breadcrumb-separator{
  color:#CCCCCC;
  margin:0 4px;
}
.breadcrumb-current{
  color:#6c757d;
}

/* Hero Image */
.single-post__hero{
  position:relative;
  width:100%;
  max-height:500px;
  overflow:hidden;
  background:#000;
}
.single-post__hero-image{
  width:100%;
  height:500px;
  max-height:500px;
}
.single-post__hero-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
@media (max-width:768px){
  .single-post__hero-image{
    height:300px;
    max-height:300px;
  }
}

/* Post Header */
.single-post__header{
  background:#fff;
  padding:48px 0 32px;
  border-bottom:1px solid #EDEDED;
}
.single-post__header-container{
  max-width:800px;
  margin:0 auto;
  text-align:center;
}
.single-post__category{
  margin-bottom:16px;
}
.single-post__category-badge{
  display:inline-block;
  background:var(--primary);
  color:#fff;
  padding:6px 16px;
  border-radius:20px;
  font-size:0.875rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.05em;
  text-decoration:none;
  transition:all 0.2s ease;
}
.single-post__category-badge:hover{
  background:var(--btn-hover);
  color:#fff;
}
.single-post__title{
  font-size:clamp(2rem,4vw,3rem);
  font-weight:900;
  line-height:1.2;
  color:var(--dark-gray);
  margin:0 0 24px;
}
.single-post__meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
  font-size:0.9375rem;
  color:#6c757d;
}
.single-post__meta-item{
  display:flex;
  align-items:center;
  gap:6px;
}
.single-post__meta-item i{
  color:var(--primary);
}
@media (max-width:768px){
  .single-post__header{
    padding:32px 16px 24px;
  }
  .single-post__title{
    font-size:1.75rem;
  }
  .single-post__meta{
    gap:16px;
    font-size:0.875rem;
  }
}

/* Post Content Layout */
.single-post__content-wrapper{
  background:var(--muted);
  padding:48px 0;
}
.single-post__layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:40px;
  align-items:start;
}
@media (max-width:992px){
  .single-post__layout{
    grid-template-columns:1fr;
    gap:32px;
  }
}

/* Main Content */
.single-post__main{
  background:#fff;
  border-radius:12px;
  padding:48px;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
@media (max-width:768px){
  .single-post__main{
    padding:32px 24px;
  }
}
.single-post__content{
  font-size:1.125rem;
  line-height:1.8;
  color:var(--ink);
}
.single-post__content h2{
  font-size:2rem;
  font-weight:900;
  color:var(--dark-gray);
  margin:48px 0 24px;
  line-height:1.3;
}
.single-post__content h3{
  font-size:1.5rem;
  font-weight:700;
  color:var(--dark-gray);
  margin:32px 0 16px;
}
.single-post__content p{
  margin-bottom:24px;
}
.single-post__content ul,
.single-post__content ol{
  margin-bottom:24px;
  padding-left:28px;
}
.single-post__content li{
  margin-bottom:12px;
}
.single-post__content a{
  color:var(--primary);
  text-decoration:underline;
  transition:opacity 0.2s ease;
}
.single-post__content a:hover{
  opacity:0.8;
}
.single-post__content img{
  max-width:100%;
  height:auto;
  border-radius:8px;
  margin:32px 0;
  display:block;
}
.single-post__content blockquote{
  border-left:4px solid var(--primary);
  background:var(--muted);
  padding:24px 32px;
  margin:32px 0;
  border-radius:0 8px 8px 0;
  font-style:italic;
  color:var(--dark-gray);
}
@media (max-width:768px){
  .single-post__content{
    font-size:1rem;
  }
  .single-post__content h2{
    font-size:1.75rem;
    margin:32px 0 20px;
  }
  .single-post__content h3{
    font-size:1.375rem;
  }
}

/* Tags */
.single-post__tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  padding-top:32px;
  margin-top:32px;
  border-top:1px solid #EDEDED;
}
.single-post__tags-label{
  font-weight:700;
  color:var(--dark-gray);
  display:flex;
  align-items:center;
  gap:6px;
}
.single-post__tags-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.single-post__tags a{
  display:inline-block;
  background:var(--muted);
  color:var(--dark-gray);
  padding:6px 14px;
  border-radius:20px;
  font-size:0.875rem;
  font-weight:600;
  text-decoration:none;
  transition:all 0.2s ease;
}
.single-post__tags a:hover{
  background:var(--primary);
  color:#fff;
}

/* Author Bio */
.single-post__author-bio{
  display:flex;
  gap:20px;
  padding:32px;
  margin-top:48px;
  background:var(--muted);
  border-radius:12px;
  border:1px solid #EDEDED;
}
.single-post__author-avatar{
  flex-shrink:0;
}
.single-post__avatar-img{
  width:80px;
  height:80px;
  border-radius:50%;
  border:3px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
.single-post__author-info{
  flex-grow:1;
}
.single-post__author-name{
  font-size:1.25rem;
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 8px;
}
.single-post__author-description{
  color:var(--ink);
  line-height:1.6;
  margin:0;
  font-size:1rem;
}
@media (max-width:768px){
  .single-post__author-bio{
    flex-direction:column;
    text-align:center;
    padding:24px;
  }
  .single-post__avatar-img{
    margin:0 auto;
  }
}

/* Post Navigation */
.single-post__navigation{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:48px;
  padding-top:48px;
  border-top:1px solid #EDEDED;
}
@media (max-width:768px){
  .single-post__navigation{
    grid-template-columns:1fr;
    gap:16px;
  }
}
.single-post__nav-link{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px;
  background:var(--muted);
  border-radius:8px;
  border:2px solid #EDEDED;
  text-decoration:none;
  transition:all 0.3s ease;
}
.single-post__nav-link--next{
  text-align:right;
}
.single-post__nav-link:hover{
  background:#fff;
  border-color:var(--primary);
  transform:translateY(-4px);
  box-shadow:0 4px 12px rgba(0,0,0,0.08);
}
.single-post__nav-label{
  font-size:0.875rem;
  font-weight:600;
  color:#6c757d;
  text-transform:uppercase;
  letter-spacing:0.05em;
  display:flex;
  align-items:center;
  gap:6px;
}
.single-post__nav-link--next .single-post__nav-label{
  justify-content:flex-end;
}
.single-post__nav-title{
  font-size:1.125rem;
  font-weight:700;
  color:var(--dark-gray);
  line-height:1.4;
}

/* Sidebar */
.single-post__sidebar{
  position:sticky;
  top:88px;
}
@media (max-width:992px){
  .single-post__sidebar{
    position:static;
  }
}
.single-post__widget{
  background:#fff;
  border-radius:12px;
  padding:24px;
  margin-bottom:24px;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
  border:1px solid #EDEDED;
}
.single-post__widget-title{
  font-size:1.25rem;
  font-weight:900;
  color:var(--dark-gray);
  margin:0 0 20px;
  text-transform:uppercase;
  letter-spacing:0.03em;
  border-bottom:2px solid var(--primary);
  padding-bottom:12px;
}
.single-post__back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--primary);
  font-weight:700;
  text-decoration:none;
  transition:all 0.2s ease;
}
.single-post__back-link:hover{
  gap:12px;
  color:var(--btn-hover);
}
.single-post__back-link i{
  transition:transform 0.2s ease;
}
.single-post__back-link:hover i{
  transform:translateX(-4px);
}

/* Recent Posts Widget */
.single-post__recent-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.single-post__recent-item{
  display:flex;
  gap:12px;
}
.single-post__recent-thumb{
  flex-shrink:0;
  width:70px;
  height:70px;
  border-radius:8px;
  overflow:hidden;
}
.single-post__recent-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.2s ease;
}
.single-post__recent-item:hover .single-post__recent-img{
  transform:scale(1.1);
}
.single-post__recent-content{
  flex-grow:1;
}
.single-post__recent-title{
  font-size:0.9375rem;
  font-weight:700;
  line-height:1.4;
  margin:0 0 6px;
}
.single-post__recent-title a{
  color:var(--dark-gray);
  text-decoration:none;
  transition:color 0.2s ease;
}
.single-post__recent-title a:hover{
  color:var(--primary);
}
.single-post__recent-date{
  font-size:0.8125rem;
  color:#6c757d;
}

/* Categories Widget */
.single-post__categories-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.single-post__category-item{
  margin:0;
}
.single-post__category-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 16px;
  background:var(--muted);
  border-radius:6px;
  color:var(--dark-gray);
  font-weight:600;
  font-size:0.9375rem;
  text-decoration:none;
  transition:all 0.2s ease;
}
.single-post__category-link:hover{
  background:var(--primary);
  color:#fff;
}
.single-post__category-count{
  font-size:0.875rem;
  opacity:0.7;
}

/* Related Posts Section */
.single-post__related{
  background:#fff;
  padding:60px 0;
  border-top:1px solid #EDEDED;
}
.single-post__related-title{
  font-size:2rem;
  font-weight:900;
  color:var(--dark-gray);
  text-align:center;
  margin:0 0 40px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.single-post__related-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:32px;
}
@media (max-width:768px){
  .single-post__related{
    padding:48px 16px;
  }
  .single-post__related-title{
    font-size:1.75rem;
    margin-bottom:32px;
  }
  .single-post__related-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
}

/* Related Card Component */
.related-card{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  transition:all 0.3s ease;
  border:1px solid #EDEDED;
}
.related-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 24px rgba(0,0,0,0.15);
  border-color:var(--primary);
}
.related-card__image-link{
  display:block;
}
.related-card__image{
  width:100%;
  height:200px;
  overflow:hidden;
  background:var(--muted);
}
.related-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.3s ease;
}
.related-card:hover .related-card__img{
  transform:scale(1.06);
}
.related-card__content{
  padding:20px;
}
.related-card__title{
  font-size:1.125rem;
  font-weight:700;
  line-height:1.4;
  margin:0 0 10px;
}
.related-card__title a{
  color:var(--dark-gray);
  text-decoration:none;
  transition:color 0.2s ease;
}
.related-card__title a:hover{
  color:var(--primary);
}
.related-card__date{
  font-size:0.875rem;
  color:#6c757d;
}
