
/* Tom Photography Suite v2.8.0 — new Avada elements */

.tps280-element{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  color:#1d1d1f;
}
.tps280-element *{box-sizing:border-box;min-width:0}
.tps280-light{
  --tps280-bg:#fff;
  --tps280-text:#1d1d1f;
  --tps280-muted:#6f6b65;
  --tps280-line:#e6e2dc;
  --tps280-soft:#f8f6f2;
  --tps280-button:#1d1d1f;
  --tps280-button-text:#fff;
}
.tps280-dark{
  --tps280-bg:#171719;
  --tps280-text:#fff;
  --tps280-muted:#c0bdb8;
  --tps280-line:rgba(255,255,255,.14);
  --tps280-soft:rgba(255,255,255,.07);
  --tps280-button:#fff;
  --tps280-button-text:#171719;
}
.tps280-eyebrow{
  margin-bottom:10px;
  color:var(--tps280-muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tps280-element h2{
  margin:0;
  color:var(--tps280-text);
  font-size:clamp(30px,4.2vw,52px);
  line-height:1.02;
  font-weight:650;
  letter-spacing:-.05em;
}
.tps280-element p{
  color:var(--tps280-muted);
  line-height:1.65;
}
.tps280-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 17px;
  border-radius:10px;
  text-decoration:none!important;
  font-size:12px;
  font-weight:800;
  transition:transform .16s ease,background .16s ease,border-color .16s ease;
}
.tps280-btn:hover{transform:translateY(-1px)}
.tps280-btn-primary{
  border:1px solid var(--tps280-button);
  background:var(--tps280-button);
  color:var(--tps280-button-text)!important;
}
.tps280-btn-secondary{
  border:1px solid var(--tps280-line);
  background:transparent;
  color:var(--tps280-text)!important;
}
.tps280-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* CTA */
.tps280-cta{
  position:relative;
  overflow:hidden;
  padding:clamp(26px,5vw,54px);
  border:1px solid var(--tps280-line);
  border-radius:22px;
  background:var(--tps280-bg);
  box-shadow:0 14px 42px rgba(20,20,20,.06);
}
.tps280-cta:after{
  content:"";
  position:absolute;
  right:-100px;
  top:-140px;
  width:330px;
  height:330px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(127,127,127,.12),rgba(127,127,127,0) 70%);
  pointer-events:none;
}
.tps280-cta-copy{
  position:relative;
  z-index:1;
  max-width:780px;
}
.tps280-cta p{
  max-width:700px;
  margin:12px 0 0;
  font-size:14px;
}
.tps280-cta .tps280-actions{
  position:relative;
  z-index:1;
  margin-top:22px;
}
.tps280-status{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  color:var(--tps280-muted);
  font-size:11px;
  font-weight:700;
}
.tps280-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#28a05f;
}
.tps280-align-center{
  text-align:center;
}
.tps280-align-center .tps280-cta-copy,
.tps280-align-center .tps280-actions{
  margin-left:auto;
  margin-right:auto;
}
.tps280-align-center .tps280-actions,
.tps280-align-center .tps280-status{
  justify-content:center;
}

/* Stats */
.tps280-stats{
  display:grid;
  grid-template-columns:minmax(240px,.9fr) minmax(0,2fr);
  gap:22px;
  padding:clamp(24px,4vw,40px);
  border:1px solid var(--tps280-line);
  border-radius:20px;
  background:var(--tps280-bg);
}
.tps280-stats .tps280-copy p{
  margin:12px 0 0;
  font-size:13px;
}
.tps280-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
}
.tps280-stat{
  padding:18px;
  border:1px solid var(--tps280-line);
  border-radius:14px;
  background:var(--tps280-soft);
}
.tps280-stat strong{
  display:block;
  color:var(--tps280-text);
  font-size:clamp(31px,4vw,46px);
  line-height:1;
  font-weight:800;
  letter-spacing:-.045em;
}
.tps280-stat span{
  display:block;
  margin-top:8px;
  color:var(--tps280-muted);
  font-size:11px;
  font-weight:700;
}

/* Featured package */
.tps280-package{
  padding:clamp(24px,4vw,38px);
  border:1px solid var(--tps280-line);
  border-radius:20px;
  background:var(--tps280-bg);
  box-shadow:0 10px 32px rgba(20,20,20,.045);
}
.tps280-package-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:20px;
  border-bottom:1px solid var(--tps280-line);
}
.tps280-price{
  flex:0 0 auto;
  color:var(--tps280-text);
  font-size:clamp(24px,3vw,36px);
  line-height:1;
  font-weight:800;
  letter-spacing:-.035em;
}
.tps280-package-text{
  max-width:760px;
  margin:18px 0 0!important;
  font-size:14px;
}
.tps280-includes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin:22px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.tps280-includes li{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:var(--tps280-text);
  font-size:13px;
}
.tps280-includes i{
  display:grid;
  place-items:center;
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--tps280-soft);
  color:var(--tps280-text);
  font-style:normal;
  font-size:11px;
  font-weight:800;
}
.tps280-package-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--tps280-line);
}
.tps280-package-foot small{
  color:var(--tps280-muted);
  font-size:11px;
}

/* Contact/social */
.tps280-contact{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(260px,.9fr);
  gap:28px;
  padding:clamp(24px,4vw,40px);
  border:1px solid var(--tps280-line);
  border-radius:20px;
  background:var(--tps280-bg);
}
.tps280-contact-copy p{
  max-width:620px;
  margin:12px 0 20px;
  font-size:14px;
}
.tps280-contact-list{
  align-self:stretch;
  border:1px solid var(--tps280-line);
  border-radius:14px;
  background:var(--tps280-soft);
  overflow:hidden;
}
.tps280-contact-list>a,
.tps280-contact-list>div:not(.tps280-socials){
  display:block;
  padding:14px 15px;
  border-bottom:1px solid var(--tps280-line);
  color:var(--tps280-text)!important;
  text-decoration:none!important;
}
.tps280-contact-list>a:hover{
  background:rgba(127,127,127,.045);
}
.tps280-contact-list span{
  display:block;
  margin-bottom:4px;
  color:var(--tps280-muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.tps280-contact-list strong{
  display:block;
  overflow-wrap:anywhere;
  color:var(--tps280-text);
  font-size:13px;
}
.tps280-socials{
  display:flex;
  gap:8px 14px;
  flex-wrap:wrap;
  padding:13px 15px;
}
.tps280-socials a{
  color:var(--tps280-text)!important;
  font-size:11px;
  font-weight:800;
  text-decoration:none!important;
}
.tps280-socials a:hover{
  text-decoration:underline!important;
  text-underline-offset:3px;
}

@container (max-width:760px){
  .tps280-stats,
  .tps280-contact{
    grid-template-columns:1fr;
  }
  .tps280-includes{
    grid-template-columns:1fr;
  }
}
@container (max-width:520px){
  .tps280-cta,
  .tps280-stats,
  .tps280-package,
  .tps280-contact{
    padding:20px 16px;
    border-radius:16px;
  }
  .tps280-element h2{
    font-size:clamp(29px,9cqw,38px);
  }
  .tps280-actions,
  .tps280-package-foot{
    align-items:stretch;
    flex-direction:column;
  }
  .tps280-btn{
    width:100%;
  }
  .tps280-package-head{
    align-items:flex-start;
    flex-direction:column;
  }
}
