/* A Star Design Studio 2.3 — independent sections and reliable full-bleed layouts */

.asds-section-managed-page{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:visible;
}

/* A full-width section may be inserted inside an Astra/Elementor column.
   JS supplies the exact viewport offset so this also works from non-centred columns. */
.asds-builder-section.is-full-width{
  width:var(--asds-fullbleed-width,100vw)!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  left:var(--asds-fullbleed-left,calc(50% - 50vw));
}
.asds-fullbleed-parent{
  overflow-x:visible!important;
  overflow:visible!important;
}

.asds-builder-section{
  --asds-section-bg:#fff;
  --asds-section-text:var(--asds-text,#333);
  --asds-section-accent:var(--asds-accent,#b88a44);
  position:relative;
  isolation:isolate;
  min-height:var(--asds-section-min-height,0);
  background-color:var(--asds-section-bg)!important;
  background-image:var(--asds-section-bg-image,none)!important;
  background-position:var(--asds-section-bg-position,center center)!important;
  padding-top: var(--asds-section-padding-top, 120px) !important;
  padding-bottom: var(--asds-section-padding-bottom, 120px) !important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  color:var(--asds-section-text)!important;
  overflow:hidden;
}
.asds-builder-section.asds-theme-soft{--asds-section-bg:var(--asds-surface-alt,#faf8f4)}
.asds-builder-section.asds-theme-dark{--asds-section-bg:var(--asds-dark,#171716);--asds-section-text:#fff}
.asds-builder-section.asds-theme-accent{--asds-section-bg:var(--asds-accent,#b88a44);--asds-section-text:#111}
.asds-builder-section-overlay{
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:rgba(0,0,0,var(--asds-section-overlay,0));
}
.asds-builder-section>.asds-builder-container{
  position:relative;
  z-index:1;
  width:min(calc(100% - 44px),var(--asds-section-content-width,1320px))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding:0!important;
}
.asds-builder-section.is-full-width:not(.is-content-full)>.asds-builder-container{
  width:min(calc(100% - 44px),var(--asds-section-content-width,1320px))!important;
}
.asds-builder-section.is-content-full>.asds-builder-container{
  width:100%!important;
  max-width:none!important;
  padding-inline:clamp(18px,4vw,70px)!important;
}

/* Per-section colour overrides */
.asds-builder-section .asds-builder-heading>span,
.asds-builder-section .asds-builder-process article>span,
.asds-builder-section .asds-builder-story-card>span,
.asds-builder-section .asds-builder-collection-copy>span,
.asds-builder-section .asds-stars{
  color:var(--asds-section-accent)!important;
}
.asds-builder-section .asds-builder-heading h1,
.asds-builder-section .asds-builder-heading h2,
.asds-builder-section .asds-builder-heading h3,
.asds-builder-section .asds-builder-features h3,
.asds-builder-section .asds-builder-process h3,
.asds-builder-section .asds-builder-story-card h3,
.asds-builder-section .asds-builder-collection-copy h3{
  color:var(--asds-section-text)!important;
}
.asds-builder-section .asds-builder-heading>div,
.asds-builder-section .asds-builder-heading>div p,
.asds-builder-section .asds-builder-features p,
.asds-builder-section .asds-builder-process p,
.asds-builder-section .asds-builder-story-card p,
.asds-builder-section .asds-builder-collection-copy p{
  color:color-mix(in srgb,var(--asds-section-text) 68%,transparent)!important;
}

/* Heading layouts */
.asds-builder-heading h1{
  margin:0;
  font:700 clamp(48px,7vw,100px)/.92 var(--asds-heading-font);
  letter-spacing:-.07em;
}
.asds-heading-align-center .asds-builder-heading{
  display:block;
  max-width:950px;
  margin-right:auto;
  margin-left:auto;
  text-align:center;
}
.asds-heading-align-center .asds-builder-heading>span{display:block;margin-bottom:18px}
.asds-heading-align-center .asds-builder-heading>div{max-width:720px;margin:24px auto 0}
.asds-heading-align-right .asds-builder-heading{text-align:right}
.asds-heading-align-right .asds-builder-heading>div{justify-self:end}

/* Buttons */
.asds-builder-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}
.asds-builder-buttons .asds-builder-button{margin-top:0}
.asds-builder-button-secondary{
  border:1px solid currentColor!important;
  background:transparent!important;
  color:var(--asds-section-text)!important;
}
.asds-theme-dark .asds-builder-button-secondary{border-color:rgba(255,255,255,.45)!important;color:#fff!important}

/* Hero */
.asds-builder-hero{display:grid;align-items:center;min-height:640px}
.asds-builder-hero.asds-hero-height-screen{min-height:min(900px,calc(100svh - 80px))}
.asds-builder-hero.asds-hero-height-large{min-height:760px}
.asds-builder-hero.asds-hero-height-medium{min-height:600px}
.asds-layout-2-columns .asds-builder-hero,
.asds-layout-image-left .asds-builder-hero,
.asds-layout-image-right .asds-builder-hero{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:clamp(45px,7vw,110px)}
.asds-layout-image-left .asds-builder-hero-copy{order:2}
.asds-builder-hero-copy{position:relative;z-index:2;max-width:1050px}
.asds-builder-hero-copy .asds-builder-heading{display:block;margin:0}
.asds-builder-hero-copy .asds-builder-heading>span{display:block;margin-bottom:20px}
.asds-builder-hero-copy .asds-builder-heading>div{max-width:700px;margin-top:28px;font-size:clamp(16px,1.6vw,20px)}
.asds-builder-hero-visual{height:min(75vh,780px);margin:0;border-radius:var(--asds-card-radius,28px);overflow:hidden;background:var(--asds-gallery,#f2f4f3)}
.asds-builder-hero-visual img{width:100%;height:100%;object-fit:cover}
.asds-hero-image-contain .asds-builder-hero-visual img{object-fit:contain}

/* FAQ */
.asds-builder-faq-shell{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(460px,1.22fr);
  gap:clamp(55px,8vw,135px);
  align-items:start;
}
.asds-builder-faq-shell>.asds-builder-heading{position:sticky;top:120px;display:block;margin:0}
.asds-builder-faq-shell>.asds-builder-heading>span{display:block;margin-bottom:18px}
.asds-builder-faq-shell>.asds-builder-heading h2{font-size:clamp(44px,6vw,78px)}
.asds-builder-faq-shell>.asds-builder-heading>div{max-width:520px;margin-top:28px}
.asds-builder-faq-shell>.asds-builder-faq{width:100%;max-width:none;margin:0}
.asds-builder-faq .asds-accordion-item{border-color:color-mix(in srgb,var(--asds-section-text) 18%,transparent)!important}
.asds-builder-faq .asds-accordion-content{color:color-mix(in srgb,var(--asds-section-text) 68%,transparent)!important}
.asds-builder-faq .asds-accordion-content p{margin-top:0}
.asds-faq-style-cards{display:grid;gap:12px}
.asds-faq-style-cards .asds-accordion-item{
  border:1px solid color-mix(in srgb,var(--asds-section-text) 15%,transparent)!important;
  border-radius:16px;
  padding-inline:24px;
  background:color-mix(in srgb,var(--asds-section-bg) 88%,var(--asds-section-text) 4%);
}
.asds-faq-style-cards .asds-accordion-item:first-child{border-top-width:1px!important}
.asds-faq-icon-chevron .asds-accordion-item button i{font-size:22px!important;transition:transform .25s ease}
.asds-faq-icon-chevron .asds-accordion-item.is-open button i{transform:rotate(180deg)}


/* FAQ motion and layout safeguards */
.asds-builder-faq-shell>*{min-width:0}
.asds-builder-faq-shell>.asds-builder-heading{width:100%;max-width:100%}
.asds-builder-faq-shell>.asds-builder-heading h2{
  max-width:100%;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
.asds-builder-faq-shell>.asds-builder-faq{min-width:0}
.asds-faq-safe-motion .asds-builder-heading,
.asds-faq-safe-motion .asds-accordion-item{will-change:transform,opacity}
.asds-pin-stack-active [data-asds-animate-item]{backface-visibility:hidden}
.asds-pin-stack-fallback [data-asds-animate-item],
.asds-horizontal-fallback [data-asds-animate-item]{will-change:transform,opacity}

/* Collection cards */
.asds-builder-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.asds-layout-2-columns .asds-builder-collections{grid-template-columns:repeat(2,minmax(0,1fr))}
.asds-layout-4-columns .asds-builder-collections{grid-template-columns:repeat(4,minmax(0,1fr))}
.asds-builder-collection-card{min-width:0;border:1px solid color-mix(in srgb,var(--asds-section-text) 12%,transparent);border-radius:var(--asds-card-radius,28px);background:color-mix(in srgb,var(--asds-section-bg) 92%,#fff 8%);overflow:hidden}
.asds-builder-collection-card>a{display:block;height:100%;color:inherit;text-decoration:none}
.asds-builder-collection-image{aspect-ratio:4/3;overflow:hidden;background:var(--asds-gallery,#f2f4f3)}
.asds-builder-collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.asds-builder-collection-card:hover .asds-builder-collection-image img{transform:scale(1.04)}
.asds-builder-collection-copy{padding:26px}
.asds-builder-collection-copy>span{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.asds-builder-collection-copy h3{margin:12px 0 10px;font:700 clamp(25px,2.2vw,34px)/1.05 var(--asds-heading-font);letter-spacing:-.045em}
.asds-builder-collection-copy p{margin:0 0 22px;line-height:1.65}
.asds-builder-collection-copy i{font-style:normal;font-weight:800}

/* Image/text, stories and editable content */
.asds-builder-custom-html{max-width:100%;color:inherit}
.asds-builder-custom-html>*:first-child{margin-top:0}
.asds-builder-custom-html>*:last-child{margin-bottom:0}
.asds-builder-story-card{flex-basis:min(78vw,var(--asds-story-card-width,480px))}

/* Testimonial layouts */
.asds-builder-testimonials.is-slider{display:block}
.asds-builder-testimonials.is-slider .asds-review-track{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none}
.asds-builder-testimonials.is-slider .asds-review-track::-webkit-scrollbar{display:none}
.asds-builder-testimonials.is-slider .asds-review-card{flex:0 0 min(72vw,520px)}
.asds-builder-testimonials.is-grid{display:block}
.asds-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.asds-builder-testimonials article footer{display:grid;gap:4px}
.asds-builder-testimonials article footer small{opacity:.65}

/* CTA variants */
.asds-layout-centered.asds-builder-cta>.asds-builder-container{display:block;max-width:1050px!important;text-align:center}
.asds-layout-centered .asds-builder-cta-copy .asds-builder-heading{max-width:950px;margin-inline:auto;text-align:center}
.asds-layout-centered .asds-builder-buttons{justify-content:center}

/* Responsive visibility */
@media(min-width:1200px){.asds-hide-desktop{display:none!important}}
@media(min-width:768px) and (max-width:1199px){.asds-hide-tablet{display:none!important}}
@media(max-width:767px){.asds-hide-mobile{display:none!important}}

@media(max-width:1100px){
  .asds-builder-faq-shell{grid-template-columns:1fr;gap:42px}
  .asds-builder-faq-shell>.asds-builder-heading{position:static}
  .asds-layout-4-columns .asds-builder-collections{grid-template-columns:repeat(2,minmax(0,1fr))}
  .asds-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767px){
  .asds-builder-section{
    padding-top:var(--asds-section-padding-mobile,72px)!important;
    padding-bottom:var(--asds-section-padding-mobile,72px)!important;
  }
  .asds-builder-section>.asds-builder-container,
  .asds-builder-section.is-full-width:not(.is-content-full)>.asds-builder-container{width:calc(100% - 30px)!important}
  .asds-builder-section.is-content-full>.asds-builder-container{padding-inline:15px!important}
  .asds-builder-heading{margin-bottom:38px}
  .asds-builder-heading h1{font-size:clamp(44px,15vw,64px)}
  .asds-builder-heading h2{font-size:clamp(39px,12vw,52px)}
  .asds-builder-hero,
  .asds-builder-hero.asds-hero-height-screen,
  .asds-builder-hero.asds-hero-height-large,
  .asds-builder-hero.asds-hero-height-medium{min-height:0}
  .asds-layout-2-columns .asds-builder-hero,
  .asds-layout-image-left .asds-builder-hero,
  .asds-layout-image-right .asds-builder-hero{grid-template-columns:1fr;gap:38px}
  .asds-layout-image-left .asds-builder-hero-copy{order:0}
  .asds-builder-hero-visual{height:105vw;max-height:580px}
  .asds-builder-buttons{align-items:stretch}
  .asds-builder-buttons .asds-builder-button{justify-content:space-between;flex:1 1 100%}
  .asds-builder-faq-shell>.asds-builder-heading h2{font-size:clamp(39px,12vw,52px)}
  .asds-builder-faq .asds-accordion-item button{font-size:18px!important;padding:22px 0!important}
  .asds-faq-style-cards .asds-accordion-item{padding-inline:18px}
  .asds-builder-collections,
  .asds-layout-2-columns .asds-builder-collections,
  .asds-layout-4-columns .asds-builder-collections{grid-template-columns:1fr}
  .asds-testimonial-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .asds-builder-section.is-full-width{left:var(--asds-fullbleed-left,calc(50% - 50vw))}
  .asds-builder-section *{scroll-behavior:auto!important;transition:none!important}
}
