/* ==========================================================================
   PAWWELLE — Responsive Stylesheet (Editorial & Asymmetrical Adjustments)
   Breakpoints: 360px, 390px, 430px, 768px, 1024px, 1280px, 1440px+
   ========================================================================== */

/* Large Desktop (1440px+) */
@media (min-width: 1440px) {
  .container, .container-lg, .container-xl, .container-xxl {
    max-width: 1360px;
  }
}

/* Laptops & Tablets Landscape (992px to 1199.98px) */
@media (max-width: 1199.98px) {
  .hero-heading {
    font-size: 56px;
  }
  .hero-floating-card {
    max-width: 380px;
    padding: 24px;
    bottom: 24px;
    right: 24px;
  }
  .rituals-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .ritual-card.card-featured {
    grid-column: 1 / 3;
    grid-row: auto;
    min-height: 320px;
  }
  .bento-collection-grid {
    grid-template-columns: 1fr 1fr;
  }
  .product-bento-hero {
    grid-column: 1 / 3;
    grid-row: auto;
  }
}

/* Tablets (768px to 991.98px) */
@media (max-width: 991.98px) {
  .hero-editorial-container {
    min-height: auto;
  }
  .hero-main-image {
    height: 520px;
  }
  .hero-headline-overlay {
    top: 30px;
    left: 30px;
    max-width: 90%;
  }
  .hero-heading {
    font-size: 44px;
  }
  .hero-circular-badge {
    width: 86px;
    height: 86px;
    font-size: 11px;
    top: 20px;
    right: 20px;
  }
  .hero-floating-card {
    position: relative;
    bottom: auto;
    right: auto;
    margin: -40px 20px 20px 20px;
    max-width: none;
    z-index: 10;
  }
  .hero-vertical-tag {
    display: none;
  }
  .room-hotspot-photo {
    height: 480px;
  }
  .campaign-img-col {
    min-height: 340px;
  }
  .craft-grid-offset {
    grid-template-columns: 1fr;
  }
  .community-masonry-grid {
    grid-template-columns: 1fr 1fr;
  }
  .community-item.tall {
    grid-row: auto;
  }
}

/* Mobile Devices (Under 768px - 430px, 390px, 360px) */
@media (max-width: 767.98px) {
  body {
    font-size: 14.5px;
  }

  .hero-editorial-container {
    border-radius: var(--radius-lg);
  }

  .hero-main-image {
    height: 400px;
  }

  .hero-headline-overlay {
    position: relative;
    top: auto;
    left: auto;
    padding: 24px 20px;
    background: var(--dark-section);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    max-width: 100%;
    text-shadow: none;
  }

  .hero-heading {
    font-size: clamp(34px, 9vw, 46px);
    line-height: 1.05;
  }

  .hero-circular-badge {
    display: none;
  }

  .hero-floating-card {
    position: relative;
    margin: 16px 0 0;
    padding: 22px 18px;
    border-radius: var(--radius-md);
    background: var(--white);
    box-shadow: none;
    border: 1px solid var(--border-subtle);
  }

  .rituals-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .ritual-card {
    min-height: 220px;
  }

  .ritual-card.card-featured {
    grid-column: 1 / 2;
    min-height: 280px;
    padding: 24px;
  }

  .bento-collection-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .product-bento-hero {
    grid-column: 1 / 2;
    padding: 24px;
  }

  .product-bento-hero .hero-product-img {
    height: 260px;
  }

  .room-hotspot-container {
    border-radius: var(--radius-lg);
  }

  .room-hotspot-photo {
    height: 380px;
  }

  .hotspot-pin {
    width: 34px;
    height: 34px;
  }

  .hotspot-card-popover {
    width: 220px;
    padding: 10px;
  }

  .campaign-text-col {
    padding: 36px 24px;
  }

  .community-masonry-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .testimonials-section {
    padding: 60px 0;
  }

  .testimonial-card-dark {
    padding: 24px;
    margin-bottom: 16px;
  }

  .newsletter-banner {
    padding: 50px 20px;
  }

  .newsletter-input-group {
    flex-direction: column;
    background: transparent;
    box-shadow: none;
    padding: 0;
    gap: 10px;
  }

  .newsletter-input-field {
    width: 100%;
    background: var(--white);
    border-radius: var(--radius-pill);
    padding: 14px 20px;
  }

  .newsletter-input-group .btn-pawwelle-primary {
    width: 100%;
  }

  .main-footer {
    padding: 60px 0 24px;
  }
}

/* Extra Small (360px to 390px) */
@media (max-width: 389.98px) {
  .hero-heading {
    font-size: 30px;
  }
  .brand-logo-text {
    font-size: 20px;
  }
  .btn-pawwelle-primary, .btn-pawwelle-secondary {
    width: 100%;
    padding: 12px 18px;
  }
}
