/* ============================================================
   ENDLESS DESIGNS – Responsive Stylesheet
   Breakpoints: 1200px | 1100px | 920px | 820px | 767px | 480px
   ============================================================ */

/* ── 1200px – Tighten desktop nav before collapse ───────────── */
@media all and (max-width: 1200px) and (min-width: 1101px) {
  .utility-bar__inner {
    padding: 0 24px;
  }

  .main-nav {
    padding: 0 16px;
  }

  .nav-left .nav-link,
  .nav-right .nav-link {
    padding: 8px 10px;
    font-size: 1.35rem;
  }

  .nav-cta-btn {
    padding: 10px 14px !important;
    font-size: 1.35rem !important;
  }

  .nav-logo {
    padding: 8px 12px;
  }

  .nav-logo img {
    width: 95px;
  }
}

/* ── 1100px – Mobile header (hamburger) ─────────────────────── */
@media all and (max-width: 1100px) {
  body {
    overflow-x: hidden;
  }

  .utility-bar__inner {
    padding: 8px 16px;
    justify-content: center;
    min-height: 36px;
  }

  .utility-bar__promo {
    display: none;
  }

  .utility-bar__contact {
    justify-content: center;
    gap: 0.6rem;
  }

  .utility-bar__contact a {
    font-size: 1.1rem;
  }

  .main-nav-wrap {
    top: 36px;
  }

  .main-nav {
    padding: 0 16px;
    min-height: 64px;
    flex-wrap: nowrap;
    gap: 12px;
  }

  .nav-left,
  .nav-right {
    display: none !important;
  }

  .nav-logo {
    flex: 0 0 auto;
    padding: 6px 0;
    margin-right: auto;
  }

  .nav-logo img {
    width: 88px;
    height: auto;
    max-height: 88px;
  }

  .site-header--inner .main-nav {
    min-height: 64px;
  }

  .mobile-menu .nav-link {
    color: #1a1a1a;
  }

  .mobile-menu .nav-cta-btn {
    color: #fff !important;
  }

  .nav-hamburger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    margin-left: auto;
    color: #fff;
    z-index: 10002;
    position: relative;
  }

  .main-nav-wrap.main-nav-wrap--hover .nav-hamburger,
  .main-nav-wrap.is-open .nav-hamburger {
    color: #1a1a1a;
  }

  /* Slide-in mobile drawer */
  #mobileNav.mobile-menu {
    display: block !important;
    position: fixed;
    top: 0;
    left: -100%;
    width: min(88vw, 340px);
    height: 100vh;
    margin: 0;
    padding: calc(36px + 72px) 0 24px;
    background: #fff;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
    transition: left 0.35s ease;
    z-index: 10001;
    overflow-x: hidden;
    overflow-y: auto;
  }

  #mobileNav.mobile-menu.active,
  #mobileNav.mobile-menu.show {
    left: 0;
  }

  #mobileNav.collapsing {
    height: 100vh !important;
    transition: left 0.35s ease;
  }

  .mobile-menu .navbar-nav {
    width: 100%;
  }

  .mobile-menu .nav-link {
    padding: 14px 24px;
    white-space: normal;
  }

  .mobile-menu .nav-cta-btn {
    display: inline-block;
    margin: 8px 24px 0;
    text-align: center;
  }

  .backhround-screen.active {
    z-index: 10000;
  }

  /* Hero */
  .hero-img {
    height: 75vh;
    min-height: 420px;
  }

  .hero-title {
    font-size: 3.4rem;
  }

  .hero-subtitle {
    font-size: 1.5rem;
    margin-bottom: 24px;
  }

  .hero-content {
    bottom: 10%;
    padding: 0 16px;
    max-width: 100%;
  }

  .hero-btn {
    font-size: 1.4rem;
    padding: 12px 24px;
  }

  .hero-arrow {
    font-size: 2rem;
    padding: 4px 10px;
  }

  .hero-arrow--prev {
    left: 8px;
  }

  .hero-arrow--next {
    right: 8px;
  }
}

/* ── 1200px – Large Tablet / Small Desktop ──────────────────── */
@media all and (min-width: 921px) and (max-width: 1200px) {
  .header-fluid .navbar-light .navbar-nav .nav-item {
    margin: 0 0 0 20px;
  }
  .header-fluid .navbar-light .navbar-nav .nav-item .nav-link {
    font-size: 1.5rem;
  }
  .slider-fluid .content-part {
    top: 70px;
  }
  .retailer-form-fluid .form-wrapper {
    padding: 48px 40px;
  }
}

/* ── 920px – Tablet / nav collapses ────────────────────────── */
@media all and (max-width: 920px) {

  /* Header */
  .header-fluid {
    background: #fff;
    padding: 5px;
  }
  .header-fluid .navbar-light .navbar-nav .nav-item:nth-last-child(1) {
    border: 0 solid #fff;
    margin-left: 0;
  }
  .header-fluid .navbar-light .navbar-collapse {
    background: #f3f3f3;
    position: fixed;
    left: -100%;
    width: 80%;
    top: 0;
    height: 100vh;
    padding: 30px 20px 20px 0;
    transition: 0.5s;
    transition-duration: 1s;
    z-index: 999;
    display: block !important;
  }
  .header-fluid .navbar .navbar-brand img {
    max-width: 150px;
    height: auto;
    display: none;
  }
  .header-fluid .navbar {
    justify-content: start;
  }
  .header-fluid .navbar-light .navbar-collapse.active {
    left: 0;
    transition: 0.5s;
    transition-duration: 1s;
    z-index: 999999;
  }
  .backhround-screen.active {
    display: block;
    background: rgba(0,0,0,.44);
    width: 100%;
    height: 100vh;
    z-index: 99;
    position: fixed;
    top: 0;
    left: 0;
  }

  /* Footer */
  .footer-fluid { padding: 40px 0 0; }
  .footer-fluid .footer-main { flex-direction: column; }
  .footer-fluid .card-part { margin-bottom: 30px; }
  .footer-fluid .card-part .heading { margin-bottom: 10px; margin-top: 0; }

  /* Copyright */
  .copyright-fluid .main-section { flex-direction: column; align-items: flex-start; }

  /* About pages */
  .aboutus-fluid .content-part.without-image { width: 100%; margin: 0 auto; }
  .aboutus-fluid .content-part h1 { font-size: 3.2rem; line-height: 4.4rem; }
  .aboutus-fluid { padding: 30px 0; }
  .aboutus-fluid .image-part { margin-bottom: 30px; }
  .aboutus-fluid .image-part img { width: 100%; }

  /* Know More section */
  .knowmore-fluid .main-section { flex-direction: column; gap: 32px; }
  .knowmore-fluid .image-part { flex: 0 0 auto; width: 100%; order: -1; }
  .knowmore-fluid .image-part img { max-height: 280px; object-fit: cover; }

  /* How it works */
  .howitwork-fluid { padding: 50px 0 0; }
  .howitwork-fluid .work-step,
  .howitwork-fluid .work-step.reversed { flex-direction: column; gap: 24px; }
  .howitwork-fluid .work-step .image-part { flex: 0 0 auto; width: 100%; }

  /* Retailer form */
  .retailer-form-fluid .form-wrapper { padding: 32px 24px; }
  .retailer-form .form-row { grid-template-columns: 1fr; }

  /* Benefits grid */
  .retailer-benefits-fluid .benefits-grid { grid-template-columns: 1fr 1fr; }
}

/* ── 820px – Large Mobile / Small Tablet ───────────────────── */
@media all and (max-width: 820px) {

  /* Slider */
  .slider-fluid .content-part {
    width: 70%;
    left: 15%;
    top: 20%;
    text-align: center;
    padding: 24px;
  }
  .slider-fluid .content-part h1 {
    font-size: 2.4rem;
    line-height: 3.2rem;
  }
  .slider-fluid .content-part p {
    font-size: 1.7rem;
    line-height: 2.8rem;
  }

  /* Header nav items */
  .header-fluid .navbar-light .navbar-nav .nav-item {
    margin: 0;
  }
  .header-fluid .navbar-light .navbar-nav .nav-item .dropdown-menu {
    border-radius: 0;
    box-shadow: none;
    min-width: 100%;
    background: #f2f2f2;
    position: relative;
  }
  .header-fluid .navbar-light .navbar-nav .nav-item.active .nav-link {
    border-bottom: 0;
  }

  /* Why Choose */
  .whychoose-fluid .main-section .choose-list ul li { width: 30%; height: 135px; }
  .whychoose-fluid .main-section .choose-list ul li p { font-size: 1.4rem; line-height: 2rem; }
  .whychoose-fluid .main-section .heading-part h3 span { line-height: 4rem; display: block; }

  /* Collections – horizontal scroll */
  .collection-fluid .collection-part .row {
    justify-content: flex-start !important;
    overflow-x: scroll !important;
    flex-wrap: nowrap;
  }
  .collection-fluid .collection-part .row::-webkit-scrollbar { height: 0; }
  .collection-fluid .collection-part .card-part { width: 300px; }

  /* About */
  .about2-fluid .main-section .content-part h2 { font-size: 2rem; line-height: 2.4rem; }
  .about-fluid .main-section .content-part { padding: 32px 16px; }
  .about-fluid .main-section .content-part h2 { font-size: 2rem; line-height: 2.4rem; }
  .about-fluid .main-section .image-part img { width: 100%; }

  /* Contact */
  .contactus-fluid .card-part { margin-bottom: 30px; }
  .contactus-fluid { padding: 50px 0 0; }
  .contact-email-fluid .main-section h3 { font-size: 1.8rem; font-weight: 700; line-height: 2.4rem; }
  .contact-email-fluid .text-center { text-align: left !important; }

  /* How it works */
  .howitwork-fluid .work-part .content-part h2 { font-size: 1.8rem; line-height: 2.4rem; }
  .howitwork-fluid .heading-part h2 { font-size: 2rem; line-height: 2.8rem; text-align: left; }
  .howitwork-fluid .work-part .image-part { margin: 20px 0; }

  /* About us sections */
  .about-fluid .main-section { flex-direction: column; gap: 32px; }
  .about-fluid .main-section .image-part { flex: 0 0 auto; width: 100%; }
}

/* ── 767px – Mobile ─────────────────────────────────────────── */
@media all and (max-width: 767px) {

  /* Utility bar – phone only on small screens */
  .utility-bar__star,
  .utility-bar__contact a[href^="mailto"] {
    display: none;
  }

  .hero-img {
    height: 70vh;
    min-height: 360px;
  }

  .hero-title {
    font-size: 2.6rem;
    line-height: 1.15;
  }

  .hero-subtitle {
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .hero-btn {
    width: 100%;
    max-width: 280px;
    text-align: center;
  }

  .hero-dots {
    bottom: 16px;
  }

  .back-to-top {
    bottom: 20px;
    right: 20px;
    width: 42px;
    height: 42px;
    font-size: 1.8rem;
  }

  /* Mobile logo in slider */
  .logo-mobile {
    position: absolute;
    z-index: 9;
    width: 100px;
    height: auto;
    left: 50%;
    margin-left: -50px;
    top: 20px;
    display: block;
  }

  /* Slider */
  .slider-fluid .content-part {
    width: 98%;
    left: 1%;
    top: 40%;
    text-align: center;
    padding: 24px;
  }
  .slider-fluid .content-part h1 { font-size: 2.4rem; line-height: 3.6rem; }
  .slider-fluid .content-part p { font-size: 1.7rem; line-height: 2.8rem; }

  /* Header */
  .header-fluid .navbar-light .navbar-nav .nav-item { margin: 0; }
  .header-fluid .navbar-light .navbar-nav .nav-item .dropdown-menu {
    border-radius: 0; box-shadow: none; min-width: 100%;
    background: #f2f2f2; position: relative;
  }
  .header-fluid .navbar-light .navbar-nav .nav-item.active .nav-link { border-bottom: 0; }

  /* Collections */
  .collection-fluid { padding: 20px 0; }
  .collection-fluid .heading-part h2,
  .collection-fluid .heading-part h3 { font-size: 2.4rem; line-height: 3.6rem; }
  .collection-fluid .collection-part .row {
    justify-content: flex-start !important;
    overflow-x: scroll !important;
    flex-wrap: nowrap;
  }
  .collection-fluid .collection-part .row::-webkit-scrollbar { height: 0; }
  .collection-fluid .collection-part .card-part { width: 300px; }

  /* Why Choose */
  .whychoose-fluid .main-section .choose-list ul li { width: 32%; height: 180px; }
  .whychoose-fluid .main-section .choose-list ul li p { font-size: 1.4rem; line-height: 2rem; }
  .whychoose-fluid .main-section .heading-part h3 span { line-height: 4rem; display: block; }

  /* Logo fluid */
  .logo-fluid .main-section h3 { font-size: 2.4rem; line-height: 3.6rem; }

  /* Know More */
  .knowmore-fluid { padding: 50px 0; }
  .knowmore-fluid .content-part h2 { font-size: 2.4rem; line-height: 3.2rem; }
  .knowmore-fluid .image-part { display: none; }

  /* Retailer CTA */
  .retailer-cta-fluid { padding: 50px 0; }
  .retailer-cta-fluid .main-section h2 { font-size: 2.6rem; line-height: 3.4rem; }
  .retailer-cta-fluid .main-section a { display: block; margin: 8px 0; text-align: center; }

  /* About */
  .about2-fluid .main-section .content-part h2 { font-size: 2rem; line-height: 2.4rem; }
  .about-fluid .main-section .content-part { padding: 32px 16px; }
  .about-fluid .main-section .content-part h2 { font-size: 2rem; line-height: 2.4rem; }
  .about-fluid .main-section .image-part img { width: 100%; }

  /* Contact */
  .contactus-fluid .card-part { margin-bottom: 30px; }
  .contactus-fluid { padding: 50px 0 0; }
  .contact-email-fluid .main-section h3 { font-size: 1.8rem; font-weight: 700; line-height: 2.4rem; }
  .contact-email-fluid .text-center { text-align: left !important; }

  /* How it works */
  .howitwork-fluid .work-part .content-part h2 { font-size: 1.8rem; line-height: 2.4rem; }
  .howitwork-fluid { padding: 50px 0 0; }
  .howitwork-fluid .work-part .image-part { margin: 20px 0; }
  .howitwork-fluid .heading-part h2 { font-size: 2rem; line-height: 2.8rem; text-align: left; }

  /* Retailer form */
  .retailer-benefits-fluid .benefits-grid { grid-template-columns: 1fr; }
  .retailer-form-fluid .form-wrapper { padding: 28px 16px; border-radius: 8px; }
  .retailer-form .form-row { grid-template-columns: 1fr; gap: 0; }
  .retailer-form-fluid .form-heading h2 { font-size: 2.4rem; }
  .retailer-form .submit-btn { font-size: 1.6rem; padding: 16px; }

  /* Page hero */
  .page-hero-fluid { padding: 50px 0 40px; }
  .page-hero-fluid h1 { font-size: 3rem; line-height: 3.8rem; }
  .page-hero-fluid p { font-size: 1.6rem; line-height: 2.6rem; }

  /* Retailer hero */
  .retailer-hero-fluid { padding: 60px 0 50px; }
  .retailer-hero-fluid h1 { font-size: 3rem; line-height: 3.8rem; }

  /* Footer */
  .footer-fluid { padding: 36px 0 0; }
  .footer-fluid .footer-main { flex-direction: column; }
  .footer-fluid .card-part { margin-bottom: 24px; }
  .copyright-fluid .main-section { flex-direction: column; align-items: flex-start; }

  /* Mobile show/hide */
  .mobile-responsive-show { display: block; }
}

/* ── 480px – Very Small Mobile ──────────────────────────────── */
@media all and (max-width: 480px) {
  .utility-bar__inner {
    padding: 6px 12px;
  }

  .nav-logo img {
    width: 76px;
  }

  .hero-title {
    font-size: 2.2rem;
  }

  .slider-fluid .content-part h1 { font-size: 2rem; line-height: 3rem; }
  .collection-fluid .col-lg-3 { min-width: 260px; }
  .whychoose-fluid .main-section .choose-list ul li { width: 100%; height: auto; border-bottom: 1px solid rgba(196,183,175,.3); padding-bottom: 16px; }
  .whychoose-fluid .main-section .choose-list ul { gap: 0; }
  .knowmore-fluid .content-part h2 { font-size: 2.2rem; line-height: 3rem; }
  .retailer-cta-fluid .main-section h2 { font-size: 2.2rem; line-height: 3rem; }
  .footer-fluid .footer-main { padding: 0 15px; }
  .copyright-fluid .main-section { padding: 0 15px; }
}

/* ── New homepage sections ───────────────────────────────────── */
@media all and (max-width: 1024px) {
  .collections-slider__slide {
    flex: 0 0 calc(33.333% - 16px);
  }

  .benefits__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .site-footer__nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }
}

@media all and (max-width: 920px) {
  .about__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .about__visual {
    min-height: 340px;
    max-width: 520px;
    margin: 0 auto;
  }

  .product-highlights {
    grid-template-columns: 1fr;
  }

  .retailer-cta {
    grid-template-columns: 1fr;
  }

  .retailer-cta__media img {
    min-height: 320px;
  }

  .site-footer__top {
    flex-direction: column;
    gap: 1.5rem;
  }

  .site-footer__tagline {
    text-align: left;
    max-width: none;
  }
}

@media all and (max-width: 767px) {
  .collections-slider__slide {
    flex: 0 0 calc(50% - 12px);
  }

  .collections-slider__wrap {
    gap: 0.5rem;
  }

  .collections-slider__arrow {
    font-size: 2rem;
    width: 32px;
  }

  .benefits__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .wedding-banner__title {
    max-width: none;
  }

  .site-footer__nav {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}

@media all and (max-width: 480px) {
  .collections-slider__slide {
    flex: 0 0 calc(100% - 8px);
  }

  .benefits__grid {
    grid-template-columns: 1fr;
  }

  .about__visual {
    min-height: 280px;
  }
}

/* About Us page */
@media all and (max-width: 1200px) {
  .about-commitment__content {
    grid-template-columns: 1fr 1fr;
    padding: 0 40px;
    gap: 2.5rem;
  }

  .about-commitment__left {
    grid-column: 1;
  }

  .about-commitment__right {
    grid-column: 2;
    padding-left: 0;
  }
}

@media all and (max-width: 1100px) {
  .page-about .about-hero {
    min-height: clamp(380px, 52vh, 560px);
  }

  .page-about .about-hero__content {
    top: 74%;
  }

  .about-story {
    padding-block: clamp(3rem, 6vw, 5rem);
  }

  .about-story__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .about-story__copy .section-title {
    font-size: clamp(2rem, 5vw, 2.8rem);
    line-height: 1.2;
  }

  .about-story__visual {
    min-height: auto;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }

  .about-story__img--primary {
    position: relative;
    width: 100%;
    max-width: min(420px, 100%);
    height: auto;
  }

  .about-story__img--secondary {
    position: relative;
    top: auto;
    left: auto;
    bottom: auto;
    width: min(260px, 72%);
    max-width: 260px;
    height: auto;
    margin: 0 auto;
  }

  .about-commitment {
    min-height: 0;
    padding: 48px 0;
  }

  .about-commitment__content {
    grid-template-columns: 1fr;
    padding: 0 24px;
    gap: 2rem;
    text-align: center;
  }

  .about-commitment__left,
  .about-commitment__right {
    grid-column: 1;
    padding-left: 0;
  }

  .about-commitment__list {
    display: inline-block;
    text-align: left;
  }

  .about-values__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 1.5rem;
  }

  .about-split__content {
    padding: clamp(2.5rem, 5vw, 4rem) clamp(1.25rem, 4vw, 2.5rem);
  }

  .about-split__content p {
    max-width: 100%;
  }
}

@media all and (max-width: 991px) {
  .about-split,
  .about-split--reverse {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .about-split--reverse .about-split__media,
  .about-split--reverse .about-split__content {
    order: unset;
  }

  .about-split__media {
    min-height: 260px;
  }

  .about-split__media img {
    min-height: 260px;
    max-height: 360px;
  }
}

@media all and (max-width: 767px) {
  .page-about .about-hero {
    min-height: 300px;
  }

  .page-about .about-hero__content {
    top: 78%;
    width: calc(100% - 32px);
  }

  .about-hero__title,
  .hiw-hero__title,
  .partner-hero__title {
    font-size: clamp(2rem, 8vw, 2.8rem);
    letter-spacing: 0.04em;
    line-height: 1.1;
  }

  .about-intro__heading {
    font-size: 1.8rem;
  }

  .about-intro__text {
    font-size: 1.5rem;
    line-height: 1.65;
    padding: 0 4px;
  }

  .about-story__copy p {
    font-size: 1.5rem;
    line-height: 1.7;
  }

  .about-story__visual {
    padding: 0;
  }

  .about-story__img--primary {
    max-width: 100%;
  }

  .about-story__img--secondary {
    width: min(220px, 65%);
  }

  .about-split__title {
    font-size: 1.8rem;
    letter-spacing: 0.08em;
  }

  .about-split__content p {
    font-size: 1.5rem;
    line-height: 1.7;
  }

  .about-split__media,
  .about-split__media img {
    min-height: 220px;
  }

  .about-commitment h2 {
    font-size: 2rem;
  }

  .about-commitment p,
  .about-commitment li {
    font-size: 1.5rem;
    line-height: 1.65;
  }

  .about-values {
    padding: 3rem 0 4rem;
  }

  .about-values__heading {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }

  .about-values__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .about-values__card {
    padding: 0 0.5rem;
  }

  .about-values__title {
    font-size: 1.7rem;
  }

  .about-values__card p {
    font-size: 1.4rem;
  }
}

@media all and (max-width: 480px) {
  .page-about .about-hero {
    min-height: 260px;
  }

  .about-hero__title {
    font-size: 2rem;
  }

  .about-intro {
    padding: 2.5rem 16px;
  }

  .about-commitment__content {
    padding: 0 16px;
  }

  .about-commitment h2 {
    font-size: 1.75rem;
  }

  .about-split__content {
    padding: 2rem 16px;
  }
}

/* How It Works page */
@media all and (max-width: 991px) {
  .hiw-timeline__track::before {
    left: 22px;
    transform: none;
  }

  .hiw-step,
  .hiw-step--reverse {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 1.25rem 1.5rem;
    padding: 2.5rem 0;
  }

  .hiw-step__marker {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    padding-top: 0.25rem;
  }

  .hiw-step__marker span {
    width: 40px;
    height: 40px;
    font-size: 1.4rem;
  }

  .hiw-step__media,
  .hiw-step--reverse .hiw-step__media {
    grid-column: 2;
    grid-row: 2;
  }

  .hiw-step__content,
  .hiw-step--reverse .hiw-step__content {
    grid-column: 2;
    grid-row: 3;
  }
}

@media all and (max-width: 767px) {
  .hiw-timeline__intro {
    letter-spacing: 0.06em;
    text-align: left;
  }

  .hiw-step__media-inner {
    min-height: 160px;
    padding: 1.25rem;
  }

  .hiw-finale__title {
    letter-spacing: 0.05em;
  }
}

/* Become a Partner page */
@media all and (max-width: 991px) {
  .partner-application__grid {
    grid-template-columns: 1fr;
  }
}

@media all and (max-width: 767px) {
  .partner-application__intro {
    letter-spacing: 0.06em;
    text-align: left;
  }

  .partner-form__row--2 {
    grid-template-columns: 1fr;
  }

  .partner-form__checks--3,
  .partner-form__checks--2 {
    flex-direction: column;
    gap: 0.85rem;
  }
}

/* ============================================================
   RESPONSIVE — Homepage Figma sections
   These override the exact Figma desktop values for smaller screens.
   ============================================================ */

/* ── 1280px – Slightly narrow desktop ──────────────────────── */
@media all and (max-width: 1280px) {
  .about__container,
  .benefits .section-inner,
  .product-highlights .section-inner,
  .collections-slider .section-inner {
    padding-left: 80px;
    padding-right: 80px;
  }

  .about__visual {
    flex: 0 0 420px;
  }
  .about__copy {
    flex: 1;
  }

  .benefits__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }

  .benefits .benefit-card {
    width: auto;
    height: auto;
    min-height: 200px;
  }
}

/* ── 1024px – Large tablet ──────────────────────────────────── */
@media all and (max-width: 1024px) {
  /* Utility bar */
  .utility-bar__inner {
    padding: 6px 40px;
  }

  /* Hero */
  .hero-img { height: 640px; }
  .hero-title { font-size: 40px; line-height: 1.15; }
  .hero-subtitle { font-size: 16px; }
  .hero-content { width: min(700px, calc(100% - 48px)); }

  /* Sections: reduce side padding */
  .about__container,
  .benefits .section-inner,
  .product-highlights .section-inner,
  .collections-slider .section-inner {
    padding-left: 40px;
    padding-right: 40px;
    gap: 40px;
  }

  /* About */
  .about__visual { flex: 0 0 320px; height: 400px; }
  .about__img--primary { width: 240px; height: 280px; }
  .about__img--secondary { width: 240px; height: 280px; }
  .about__copy { flex: 1; }

  /* Benefits */
  .benefits__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .benefits .benefit-card { width: auto; height: auto; min-height: 180px; }

  /* Retailer CTA */
  .retailer-cta__content { padding: 0 60px; }
  .retailer-cta { min-height: 500px; }
  .retailer-cta__media img { min-height: 500px; }

  /* Wedding Banner */
  .wedding-banner { height: auto; min-height: 400px; }
  .wedding-banner__content { padding: 60px 40px; }
  .wedding-banner__title { font-size: 36px; line-height: 1.2; }

  /* Category cards */
  .product-highlights__grid { gap: 20px; }
  .product-highlight__image { height: 300px; }

  /* Footer */
  .site-footer__inner { padding: 40px 60px 30px; }
  .site-footer__nav { gap: 30px; }
}

/* ── 767px – Tablet / Mobile ────────────────────────────────── */
@media all and (max-width: 767px) {
  /* Utility bar */
  .utility-bar__promo { display: none; }
  .utility-bar__inner { padding: 6px 20px; }

  /* Hero */
  .hero-img { height: 500px; min-height: 400px; }
  .hero-title { font-size: 28px; line-height: 1.2; }
  .hero-subtitle { font-size: 15px; }
  .hero-content { width: calc(100% - 40px); padding: 0; }
  .hero-ctas { gap: 12px; }
  .hero-btn {
    font-size: 14px;
    padding: 10px 18px;
    height: auto;
    width: 100%;
    max-width: 280px;
  }
  .hero-arrow--prev { left: 10px; }
  .hero-arrow--next { right: 10px; }

  /* Ticker */
  .ticker-bar { height: auto; padding: 14px 0; }
  .ticker-item { font-size: 14px; padding: 0 12px; }

  /* About — stack vertically */
  .about__container {
    flex-direction: column;
    padding: 50px 24px;
    gap: 40px;
  }
  .about__visual {
    flex: none;
    width: 100%;
    height: 280px;
  }
  .about__img--primary { width: 55%; height: 70%; right: 0; top: 0; }
  .about__img--secondary { width: 55%; height: 70%; left: 0; bottom: 0; }
  .about__copy { flex: none; width: 100%; }

  /* Collections */
  .collections-slider .section-inner {
    padding: 40px 24px;
    gap: 24px;
  }
  .collections-slider__image { height: 200px; }
  .collections-slider__slide { flex: 0 0 200px; }

  /* Category cards — stack */
  .product-highlights .section-inner { padding: 40px 24px; gap: 40px; }
  .product-highlights__grid { flex-direction: column; }
  .product-highlight__image { height: 240px; }

  /* Retailer CTA — stack */
  .retailer-cta { grid-template-columns: 1fr; min-height: auto; }
  .retailer-cta__media img { min-height: 280px; max-height: 360px; }
  .retailer-cta__content { padding: 50px 24px; gap: 24px; }

  /* Wedding Banner */
  .wedding-banner { height: auto; min-height: 320px; }
  .wedding-banner__content {
    padding: 50px 24px;
    width: 100%;
    max-width: 100%;
  }
  .wedding-banner__title { font-size: 28px; line-height: 1.2; }

  /* Benefits */
  .benefits .section-inner { padding: 50px 24px; gap: 32px; }
  .benefits__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .benefits .benefit-card { width: auto; height: auto; min-height: 160px; }

  /* Footer */
  .site-footer__inner { padding: 40px 24px 30px; }
  .site-footer__top { flex-direction: column; align-items: flex-start; }
  .site-footer__tagline { max-width: 100%; text-align: left; }
  .site-footer__nav { grid-template-columns: 1fr 1fr; gap: 24px; }
  .site-footer__bottom-inner {
    flex-direction: column;
    gap: 16px;
    padding: 20px 0;
  }
  .site-footer__copyright { text-align: center; }
  .site-footer__social { justify-content: center; }
}

/* ── 480px – Mobile ─────────────────────────────────────────── */
@media all and (max-width: 480px) {
  .hero-title { font-size: 22px; }
  .hero-subtitle { font-size: 14px; margin-bottom: 20px; }

  .benefits__grid { grid-template-columns: 1fr; }
  .site-footer__nav { grid-template-columns: 1fr; }

  .wedding-banner__title { font-size: 24px; }

  .hero-content {
    top: 56%;
  }
}

/* ============================================================
   All pages – contact, FAQ, legal, form, inner heroes
   ============================================================ */

@media all and (max-width: 991px) {
  .form-fluid .main-section {
    padding: 0;
  }

  /* Shared inner-page heroes (how-it-work, partner) */
  .hiw-hero,
  .partner-hero {
    min-height: clamp(360px, 50vh, 520px);
  }

  .hiw-hero__content,
  .partner-hero__content {
    top: 72%;
    width: calc(100% - 40px);
  }

  .hiw-hero__title,
  .partner-hero__title {
    font-size: clamp(2.4rem, 6vw, 3.6rem);
  }

  /* Contact page – stack cards */
  .contactus-fluid .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .contactus-fluid .card-part {
    height: auto;
    min-height: 0;
    padding: 28px 20px;
    margin-bottom: 16px;
  }

  .contactus-fluid .card-part.flexproperty {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
  }

  /* Partner form panels */
  .partner-form-panel {
    padding: 40px 28px 50px;
  }

  .partner-cta-panel {
    padding: 40px 28px;
  }

  .partner-application__intro {
    font-size: clamp(1.6rem, 3.5vw, 2rem);
    padding: 0 16px;
  }
}

@media all and (max-width: 767px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .container-endless {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hiw-hero,
  .partner-hero {
    min-height: 320px;
  }

  .hiw-hero__title,
  .partner-hero__title {
    font-size: 2.8rem;
    letter-spacing: 0.04em;
  }

  /* FAQ */
  .faqs-fluid {
    padding: 32px 0 48px;
  }

  .faqs-fluid .heading-part h2 {
    font-size: 2.8rem;
    line-height: 1.2;
    margin-bottom: 24px;
  }

  .faq .faq-list a {
    font-size: 1.5rem;
    line-height: 1.5;
    padding: 16px 36px 16px 0;
  }

  .faq .faq-list p {
    font-size: 1.5rem;
    line-height: 1.65;
  }

  /* Privacy / Terms */
  .aboutus-fluid {
    padding: 32px 0 48px;
  }

  .aboutus-fluid .content-part h1 {
    font-size: 2.6rem;
    line-height: 1.25;
    margin-bottom: 1.25rem;
  }

  .aboutus-fluid .content-part h2 {
    font-size: 2rem;
    line-height: 1.35;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
  }

  .aboutus-fluid .content-part p,
  .aboutus-fluid .content-part li {
    font-size: 1.5rem;
    line-height: 1.7;
  }

  /* Contact */
  .contactus-fluid {
    padding: 32px 0 48px;
  }

  .contactus-fluid .card-part h3 {
    font-size: 2rem;
    margin-bottom: 12px;
  }

  .contactus-fluid .card-part .fa {
    font-size: 2.4rem;
    margin-bottom: 12px;
  }

  .breadcum-fluid {
    padding: 12px 0 0;
  }

  /* Form downloads page */
  .form-fluid {
    padding: 40px 0 60px;
  }

  .form-fluid .heading-part h2,
  .form-fluid .main-section .heading-part h2 {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 24px;
  }

  .form-fluid .form-part ul li {
    margin-bottom: 16px;
  }

  .form-fluid .form-part ul li a {
    font-size: 1.6rem;
    padding: 4px 0;
  }

  /* Partner page */
  .partner-form-panel {
    padding: 32px 20px 40px;
  }

  .partner-form-panel__title {
    font-size: 2rem;
    margin-bottom: 32px;
  }

  .partner-cta-panel {
    padding: 32px 24px;
  }

  .partner-cta-panel__title {
    font-size: 2rem;
  }

  /* How it works finale */
  .hiw-finale {
    padding: 3rem 20px;
  }

  .hiw-finale__title {
    font-size: clamp(2rem, 5vw, 2.8rem);
  }
}

@media all and (max-width: 480px) {
  .hiw-hero__title,
  .partner-hero__title {
    font-size: 2.2rem;
  }

  .faqs-fluid .heading-part h2 {
    font-size: 2.4rem;
  }

  .aboutus-fluid .content-part h1 {
    font-size: 2.2rem;
  }

  .contactus-fluid .card-part {
    padding: 24px 16px;
  }

  .partner-application__intro {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }
}
