/* ==========================================================================
   CloudCush Responsive Styles
   ========================================================================== */

/* -- Large desktop: 1440px and above -------------------------------------- */
/* On wider screens the section container is wider, so recalculate card sizes.
   The container is capped at 1440px, so at 1440px+: container = 1440px.
   With 80px padding each side = 160px. Two 28px gaps = 56px.
   Card width = (1440 - 160 - 56) / 3 = 408px. Our clamp already caps at 520px. */
@media (min-width: 1440px) {
  .core-collection-section {
    padding: 140px 0 120px;
  }

  .collection-card {
    /* On 1440px+ the container is max-width capped, so use a fixed comfortable size */
    flex: 0 0 clamp(360px, calc((min(100vw, 1440px) - 160px - 56px) / 3), 520px);
    height: clamp(480px, 32vw, 560px);
  }

  .cc-header {
    margin-bottom: 64px;
  }
}

/* -- Ultra-wide: 2560px and above ----------------------------------------- */
@media (min-width: 2560px) {
  .collection-card {
    /* At 2560px+, use a generous fixed size — container is capped anyway */
    flex: 0 0 480px;
    height: 560px;
  }
}

@media (max-width: 1200px) {
  /* --- Grouped Segment --- */
  .story-card {
    width: 90vw;
    max-width: 650px;
  }

  /* --- Grouped Segment --- */
  .diaper-listing .diaper-layout {
    grid-template-columns: 220px 1fr;
    gap: 28px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .diaper-hero-title {
  }

  .baby-image-wrapper {
    height: 480px;
    margin-top: -120px;
  }
}

@media (max-width: 1100px) {
  /* --- Grouped Segment --- */
  .collection-card {
    /* 2 cards with one 28px gap: (viewport - 2×40px padding - 1×28px gap) / 2 */
    flex: 0 0 clamp(200px, calc((100vw - 108px) / 2), 600px);
    height: clamp(380px, 38vw, 480px);
  }

  .core-collection-section {
    padding: 100px 0 80px;
  }

  .cc-header {
    margin-bottom: 44px;
  }

  /* --- Grouped Segment --- */
  .philosophy-section {
    min-height: 80vh;
  }

  .philosophy-content {
    max-width: 580px;
    padding: 100px 48px 100px 6%;
  }
}

@media (max-width: 1024px) {
  .baby-image-wrapper {
    height: 400px;
    margin-top: -90px;
  }

  /* --- Grouped Segment --- */
  .mega-menu-container {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 16px;
  }

  .mega-menu-right {
    border-left: none;
    padding-left: 0;
    margin-top: 16px;
    border-top: 1px solid rgba(99, 80, 80, 0.08);
    padding-top: 32px;
  }

  /* --- Grouped Segment --- */
  .gifting-menu-container {
    grid-template-columns: repeat(2, 1fr);
    padding: 32px 16px;
  }

  /* --- Grouped Segment --- */
  .mom-moments-section {
    padding: 100px 0 80px;
  }

  .mom-card {
    flex: 0 0 260px;
    height: 440px;
  }

  /* --- Grouped Segment --- */
  .about-hero-title {
  }

  .horizontal-story-section {
    height: auto;
    padding: 100px 0;
    overflow-x: auto;
    display: block;
  }

  .horizontal-story-container {
    padding-left: 5%;
    display: block;
    height: auto;
  }

  .horizontal-story-track {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-right: 5%;
  }

  .story-card {
    width: 100%;
    max-width: 100%;
    height: auto;
    grid-template-columns: 1fr;
  }

  .story-card-img-wrap {
    aspect-ratio: 16/10;
    height: 300px;
  }

  .why-choose-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .philosophy-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .philosophy-right-visual {
    aspect-ratio: 16/10;
    max-height: 450px;
  }

  /* --- Grouped Segment --- */
  .product-hero-grid {
    gap: 32px;
  }

  .product-title {
  }

  .details-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  /* --- Grouped Segment --- */
  .site-header {
    height: 80px;
  }

  .container {
    padding: 0 30px;
  }

  .hero-grid-lines {
    left: 30px;
    right: 30px;
  }

  /* Hide Desktop links, reveal Hamburger + Mobile icons */
  .nav-col-left,
  .nav-col-right {
    display: none;
  }

  .menu-toggle {
    display: flex;
  }

  .nav-col-right-mobile {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  /* Redesigned Footer Tablet Overrides */
  .footer-bg-image {
    opacity: 0.14;
  }

  .footer-bg-veil {
    background: linear-gradient(
      to bottom,
      var(--bg) 0%,
      var(--bg) 40%,
      rgba(247,245,240,0.88) 62%,
      rgba(247,245,240,0.52) 80%,
      rgba(247,245,240,0.14) 100%
    );
  }

  .footer-main-grid {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    padding-bottom: 60px;
  }

  .footer-story-block {
    padding-right: 0;
    grid-column: span 2;
    border-bottom: 1px solid var(--border);
    padding-bottom: 40px;
  }

  .footer-hero-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }

  .footer-big-logo {
    height: 110px;
  }

  .footer-slogan-wrap {
    text-align: left;
    max-width: 100%;
  }

  .footer-bottom-bar {
    flex-direction: column;
    gap: 30px;
    text-align: center;
    align-items: center;
  }

  .footer-bottom-info {
    align-items: center;
  }

  .footer-legal-links-wrap {
    justify-content: center;
  }

  .footer-payment-methods {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .container {
    padding: 0 20px;
  }

  /* --- Grouped Segment --- */
  .mega-menu {
    display: none !important;
  }

  /* --- Grouped Segment --- */
  .gifting-menu {
    display: none !important;
  }

  /* --- Grouped Segment --- */
  .discover-menu {
    display: none !important;
  }

  /* --- Grouped Segment --- */
  .stack-stage {
    height: auto;
    overflow: visible;
  }

  .stack-panels {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 32px 20px;
    transform: none !important;
  }

  .stack-panel {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: 260px !important;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(99, 80, 80, 0.1) !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .sp-5 {
    display: none;
  }

  .stack-left-content {
    position: relative;
    width: 100%;
    height: auto;
    padding: 40px 24px;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: all;
  }

  .stack-perks-grid {
    grid-template-columns: 1fr;
  }

  .stack-perk {
    opacity: 1 !important;
    transform: none !important;
  }

  .stack-plan-cta {
    opacity: 1 !important;
    transform: none !important;
  }

  /* --- Grouped Segment --- */
    .catnav-stage {
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: hidden;
    padding: 48px 0;
    gap: 24px;
  }

  .catnav-left {
    display: flex;
    flex-direction: column;
    padding: 0 20px;
    border-right: none;
    align-items: center;
    width: 100%;
  }

  .catnav-nav-header {
    text-align: center;
    margin-bottom: 20px;
  }

  .catnav-list {
    display: flex;
    flex-direction: row;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
    padding: 4px 20px;
    margin: 0 -20px;
    width: calc(100% + 40px);
  }

  .catnav-list::-webkit-scrollbar {
    display: none; /* Safari and Chrome */
  }

  .catnav-item {
    flex: 0 0 auto;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid var(--border);
    border-radius: 30px;
    background-color: var(--white);
    opacity: 0.6;
    transition: all 0.3s ease;
  }

  .catnav-item.active {
    background-color: var(--primary);
    color: var(--white) !important;
    border-color: var(--primary);
    opacity: 1;
  }

  .catnav-item.active .catnav-item-label {
    color: var(--white) !important;
  }

  .catnav-item-num {
    font-size: 9px;
    margin-bottom: 0;
    color: inherit;
  }

  .catnav-item-label {
    font-size: 13px;
    font-weight: 500;
    font-family: var(--font-body);
    color: inherit;
  }

  .catnav-item-progress {
    display: none;
  }

  .catnav-right {
    position: relative;
    height: 105vw;
    min-height: 380px;
    max-height: 480px;
    width: 100%;
    overflow: hidden;
  }

  .catnav-panel {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    display: block;
    transform: none !important;
  }

  .catnav-panel.active {
    opacity: 1 !important;
    pointer-events: auto;
  }

  .catnav-panel-media {
    position: absolute;
    inset: 0;
    overflow: hidden;
  }

  .catnav-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .catnav-panel-content {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-width: none;
    padding: 24px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 25px rgba(52, 73, 102, 0.1);
    transform: translateY(15px);
    opacity: 0;
    transition: all 0.5s ease;
  }

  .catnav-panel.active .catnav-panel-content {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .catnav-panel-title {
    font-size: 1.35rem;
  }

  .catnav-panel-desc {
    font-size: 0.85rem;
    line-height: 1.5;
  }

  .catnav-panel-cta {
    font-size: 12px;
    padding: 10px 22px;
  }

  /* --- Grouped Segment --- */
  .core-collection-section {
    padding: 80px 0 70px;
  }

  .cc-header {
    margin-bottom: 32px;
  }

  .core-collection-title {
    letter-spacing: -1.5px;
  }

  .cc-nav-btn {
    width: 40px;
    height: 40px;
  }

  .collection-card {
    /* Single card: viewport minus horizontal padding (28px each side) */
    flex: 0 0 calc(100vw - 56px);
    height: clamp(380px, 80vw, 480px);
  }

  /* CTA always visible on mobile â€” no hover on touch */
  .collection-cta-wrap {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .cc-dots {
    margin-top: 28px;
  }

  /* --- Grouped Segment --- */
  .philosophy-section {
    min-height: 75vh;
    align-items: flex-end;
    /* pin content to bottom on mobile */
  }

  /* On mobile, gradient covers more of the image for readability */
  .philosophy-overlay {
    background: linear-gradient(
      180deg,
      rgba(10, 7, 5, 0.1) 0%,
      rgba(10, 7, 5, 0.6) 40%,
      rgba(10, 7, 5, 0.82) 100%
    );
  }

  .philosophy-content {
    max-width: 100%;
    padding: 60px 28px 72px;
  }

  .philosophy-text {
    line-height: 1.7;
  }

  .philosophy-bold {
  }

  .philosophy-cta-wrap {
    margin-top: 36px;
  }

  /* Parallax bg stays static on mobile (perf) */
  .philosophy-bg {
    inset: 0;
  }

  /* --- Grouped Segment --- */
  .mom-moments-section {
    padding: 80px 0 60px;
  }

  .mom-header {
    margin-bottom: 40px;
  }

  .mom-card {
    flex: 0 0 250px;
    height: 420px;
  }

  /* --- Grouped Segment --- */
  .about-hero {
    height: 85vh;
  }

  .about-hero-title {
    letter-spacing: -0.8px;
  }

  .about-hero-subtext {
    margin-bottom: 30px;
  }

  .about-hero-actions {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .about-hero-actions .btn-pill {
    width: 240px;
    justify-content: center;
  }

  .why-choose-section {
    padding: 80px 0;
  }

  .why-choose-title {
  }

  .why-choose-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .why-card {
    padding: 30px;
  }

  .marquee-content span {
  }

  .philosophy-layered-section {
    padding: 100px 0;
  }

  .philosophy-huge-text {
  }

  .faq-section {
    padding: 80px 0;
  }

  .faq-title {
  }

  .faq-question {
  }

  .about-cta-section {
    padding: 100px 0;
  }

  .about-cta-title {
  }

  .about-cta-actions {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .about-cta-actions .btn-pill {
    width: 240px;
    justify-content: center;
  }

  /* --- Grouped Segment --- */
  .product-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .product-gallery-section {
    max-width: 480px;
    margin: 0 auto;
  }

  .cta-buttons {
    gap: 10px;
  }

  .related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  /* --- Grouped Segment --- */
  .diaper-listing .diaper-layout {
    grid-template-columns: 1fr;
    padding: 32px 20px 48px;
    gap: 24px;
  }

  .filters-panel {
    position: fixed;
    top: 0;
    left: -100%;
    width: 280px;
    height: 100vh;
    background-color: var(--white);
    z-index: 10000;
    padding: 20px;
    overflow-y: auto;
    transition: left 0.3s ease-out;
    box-shadow: var(--shadow);
  }

  .filters-panel.is-active {
    left: 0;
  }

  .filters-close {
    display: block;
  }

  .filter-toggle {
    display: flex;
    gap: 8px;
  }

  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .products-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .toolbar-right {
    width: 100%;
    justify-content: space-between;
  }

  .sort-wrapper {
    order: 2;
    width: 100%;
  }

  .sort-select {
    flex: 1;
  }

  .diaper-hero-title {
  }

  .diaper-hero {
    height: 300px;
  }

  /* --- Grouped Segment --- */
  /* Disable grid borders on tablet/mobile */
  .hero-grid-lines {
    display: none;
  }

  .hero {
    min-height: auto;
    padding-bottom: 60px;
  }

  .hero-title-container {
    padding-top: 40px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Stack 3-columns into 1 vertical column */
  .hero-body {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }

  .hero-col {
    padding: 10px 20px;
    align-items: center;
    text-align: center;
  }

  .hero-col-left {
    padding-right: 0;
  }

  .hero-col-right {
    padding-left: 0;
    align-items: center;
    text-align: center;
  }

  .baby-image-wrapper {
    width: 100%;
    max-width: 320px;
    height: 280px;
    margin: 0 auto;
    margin-top: 0;
  }

  .baby-main {
    height: 100%;
    width: auto;
    object-fit: contain;
  }

  .baby-ghost {
    height: 100%;
    width: auto;
    object-fit: contain;
    right: 0;
    transform: scale(1.08) rotate(5deg);
  }

  /* Redesigned Footer Mobile Overrides */
  .footer-bg-image {
    opacity: 0.11;
    object-position: bottom center;
    -webkit-mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0.4) 30%,
      rgba(0,0,0,1) 60%,
      rgba(0,0,0,1) 100%
    );
    mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0.4) 30%,
      rgba(0,0,0,1) 60%,
      rgba(0,0,0,1) 100%
    );
  }

  .footer-bg-veil {
    background: linear-gradient(
      to bottom,
      var(--bg) 0%,
      var(--bg) 45%,
      rgba(247,245,240,0.90) 65%,
      rgba(247,245,240,0.55) 82%,
      rgba(247,245,240,0.18) 100%
    );
  }

  .footer-hero-top {
    padding-bottom: 40px;
    margin-bottom: 40px;
    gap: 20px;
  }

  .footer-logo-brand-container {
    gap: 16px;
  }

  .footer-big-logo {
    height: 80px;
  }

  .footer-huge-brand {
    font-size: clamp(2.2rem, 11vw, 4.2rem);
  }

  .footer-main-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-bottom: 40px;
  }

  .footer-story-block {
    grid-column: span 1;
    border-bottom: 1px solid var(--border);
    padding-bottom: 30px;
  }

  .footer-nav-block {
    border-bottom: 1px solid var(--border);
    padding-bottom: 30px;
    gap: 16px;
  }

  .footer-nav-block:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
  }

  .footer-social-wrap {
    margin-top: 20px;
    padding-top: 0;
  }

  .footer-bottom-bar {
    padding-top: 30px;
  }

  .footer-legal-links-wrap {
    gap: 16px 20px;
  }

  /* Showcase Section mobile styling */
  .showcase-section {
    padding: 80px 0;
    min-height: auto;
  }

  .showcase-grid {
    grid-template-columns: 1fr;
    gap: 48px;
    text-align: center;
  }

  .showcase-col-left {
    align-items: center;
    text-align: center;
    padding-right: 0;
    gap: 28px;
  }

  .showcase-title {
    letter-spacing: -1.2px;
  }

  .feature-badge {
    justify-content: center;
    gap: 12px;
  }

  .showcase-desc-wrapper {
    align-items: center;
    max-width: 100%;
  }

  .diaper-container {
    height: 380px;
    max-width: 320px;
    margin: 0 auto;
  }

  .diaper-video {
    max-width: 100%;
    max-height: 100%;
  }

  /* Sizing Atelier Section Laptop overrides (1200px and below) */
  .atelier-section {
    padding: 100px 0;
  }

  .atelier-header {
    grid-template-columns: 1fr 1.3fr;
    gap: 30px;
    margin-bottom: 60px;
  }

  .atelier-meta {
    grid-column: span 2;
  }

  .atelier-canvas {
    grid-template-columns: 1fr 1.15fr;
    gap: 40px;
  }

  .atelier-showcase-col {
    height: 440px;
  }

  .atelier-glow-backdrop {
    width: 320px;
    height: 320px;
  }

  .atelier-img {
    max-width: 55%;
    max-height: 70%;
  }

  .atelier-tag {
    gap: 8px;
  }

  .tag-top-left,
  .tag-bottom-left,
  .tag-center-left {
    left: 10px;
    right: 70%;
  }

  .tag-top-right,
  .tag-bottom-right {
    left: 70%;
    right: 10px;
  }

  .tag-content {
    max-width: 140px;
  }

  .tag-title {
    font-size: 11.5px;
  }

  .tag-desc {
    font-size: 10px;
  }

  .atelier-engine-col {
    padding-left: 10px;
    gap: 36px;
    max-width: 520px;
    width: 100%;
  }

  .atelier-watermark {
    font-size: 6rem;
    top: -30px;
  }

  .atelier-stages {
    gap: 24px;
  }

  .btn-text {
    font-size: 1.2rem;
  }



  .point-label {
    font-size: 10px;
  }

  .atelier-rec-display {
    gap: 20px;
    padding-bottom: 20px;
  }

  .atelier-reassurance {
    gap: 16px;
  }

  .floating-widget {
    bottom: 20px;
    right: 20px;
  }

  /* ---- Stack Section: Mobile layout reset ---- */
  /* On mobile: stack-stage becomes static height, panels tile vertically */
  .stack-stage {
    height: auto;
    min-height: 60vh;
    flex-direction: column;
  }

  .stack-panels {
    position: relative;
    height: 56vw;
    min-height: 220px;
  }

  /* On mobile the panels are already cleared of GSAP transforms by JS */
  #stackPanel1,
  #stackPanel2,
  #stackPanel3,
  #stackPanel4 {
    position: relative;
    left: auto;
    width: 100%;
    height: 52vw;
    min-height: 200px;
    display: block;
  }

  /* Left content block sits below panels on mobile */
  .stack-left-content {
    position: relative;
    width: 100%;
    height: auto;
    padding: 52px 28px 60px;
    background-color: var(--bg);
    opacity: 1;
    transform: none;
    pointer-events: all;
  }

  .stack-left-inner {
    max-width: 100%;
    gap: 28px;
  }

  .stack-main-title {
    letter-spacing: -1.5px;
  }

  .stack-perks-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 480px) {
  /* --- Grouped Segment --- */
  .collection-card {
    flex: 0 0 calc(100vw - 40px);
    height: 420px;
  }

  /* --- Grouped Segment --- */
  .philosophy-section {
    min-height: 88vh;
  }

  .philosophy-content {
    padding: 48px 24px 60px;
  }

  /* --- Grouped Segment --- */
  .cta-buttons {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .size-selector {
    grid-template-columns: repeat(2, 1fr);
  }

  /* --- Grouped Segment --- */
  .products-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .related-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .diaper-hero {
    height: 250px;
  }

  .pagination-btn {
    min-width: 32px;
    height: 32px;
  }

  .product-title {
  }

  .gallery-thumbnails {
    gap: 8px;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  /* --- Grouped Segment --- */
  .stack-left-content {
    padding: 0 44px 0 36px;
  }

  .stack-left-inner {
    gap: 26px;
  }

  .stack-main-title {
  }
}

/* =============================================================================
   RESPONSIVE CART PAGE OVERRIDES
   ============================================================================= */

@media (max-width: 1024px) {
  .cart-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .cart-sidebar {
    grid-column: 1;
  }

  .summary-card {
    position: static;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .cart-page {
    padding-bottom: 80px;
  }

  .cart-hero {
    padding: 40px 0 30px 0;
    margin-bottom: 40px;
  }

  .cart-hero-title {
  }

  .cart-hero-subtitle {
  }

  /* Compact stacked cart rows for mobile */
  .cart-item-row {
    grid-template-columns: 80px 1fr;
    gap: 16px;
    padding: 20px 0;
    align-items: start;
    max-height: 250px;
  }

  .cart-item-row.is-removing {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .cart-item-img-wrap {
    width: 80px;
    height: 80px;
    grid-row: 1 / 3;
  }

  .cart-item-details {
    grid-column: 2;
    grid-row: 1;
    gap: 4px;
  }

  .cart-item-title {
  }

  .cart-item-size {
  }

  .btn-item-remove {
    margin-top: 4px;
  }

  .cart-item-quantity-wrapper {
    grid-column: 2;
    grid-row: 2;
    justify-content: flex-start;
    align-self: center;
    margin-top: 8px;
  }

  .cart-item-quantity-wrapper .quantity-selector {
    padding: 2px;
  }

  .cart-item-quantity-wrapper .qty-btn {
    width: 22px;
    height: 22px;
  }

  .cart-item-quantity-wrapper .qty-input {
    width: 26px;
  }

  .cart-item-price-wrapper {
    grid-column: 2;
    grid-row: 2;
    align-items: flex-end;
    justify-self: end;
    align-self: center;
    margin-top: 8px;
  }

  .cart-item-price {
  }

  .cart-item-price-original {
  }

  .summary-card {
    padding: 24px;
  }

  .summary-title {
    margin-bottom: 20px;
    padding-bottom: 12px;
  }

  .total-row .summary-value {
  }

  .cart-empty-state {
    padding: 60px 20px;
    margin-top: 20px;
  }

  .empty-icon-wrap {
    width: 60px;
    height: 60px;
    margin-bottom: 20px;
  }

  .empty-title {
  }

  .empty-desc {
    margin-bottom: 20px;
  }

  .btn-continue-shopping {
    padding: 12px 24px;
  }

  /* Responsive Logo overrides */
  .logo-img {
    height: 85px;
    margin-top: -5px;
  }

  .site-header.is-scrolled .logo-img {
    height: 65px;
    margin-top: 0;
  }

  .footer-logo-container {
    margin-top: 20px;
  }

  .footer-logo-img {
    height: 105px;
  }
}

/* ==========================================================================
   BLOG & JOURNAL RESPONSIVE OVERRIDES
   ========================================================================== */

@media (max-width: 1200px) {
  .blog-featured-content {
    margin-left: -60px;
    padding: 44px;
  }
}

@media (max-width: 1024px) {
  .blog-featured-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .blog-featured-img-wrap {
    height: 380px;
  }

  .blog-featured-content {
    margin-left: 0;
    padding: 40px;
    border-radius: 20px;
  }

  .blog-creative-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }

  .blog-creative-grid .blog-card:nth-child(5n + 4):not(.card-typographic) {
    grid-column: span 2;
  }

  .details-article-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .sticky-meta-wrap {
    position: relative;
    top: 0;
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding-right: 0;
    padding-bottom: 30px;
    margin-bottom: 20px;
  }

  .author-profile {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
  }

  .author-avatar-container {
    margin-bottom: 0;
    width: 64px;
    height: 64px;
  }

  .author-sidebar-bio {
    max-width: 500px;
  }

  .article-info-list {
    flex-direction: row;
    gap: 40px;
    padding: 20px 0;
  }

  .info-item {
    gap: 2px;
  }

  .article-share-block {
    border-top: none;
    padding-top: 0;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 10px;
  }

  .share-title {
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  .blog-hero {
    height: 65vh;
    min-height: 400px;
  }

  .blog-hero-title {
    font-size: clamp(2rem, 5.5vw, 3rem);
  }

  .blog-featured-img-wrap {
    height: 300px;
  }

  .blog-featured-content {
    padding: 30px 24px;
  }

  .blog-featured-title {
    font-size: var(--fs-h3);
  }

  .blog-creative-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .blog-creative-grid .blog-card:nth-child(5n + 4):not(.card-typographic) {
    grid-column: span 1;
  }

  .blog-creative-grid
    .blog-card:nth-child(5n + 4):not(.card-typographic)
    .blog-card-link-wrapper {
    flex-direction: column;
  }

  .blog-creative-grid
    .blog-card:nth-child(5n + 4):not(.card-typographic)
    .blog-card-img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    height: auto;
  }

  .blog-creative-grid
    .blog-card:nth-child(5n + 4):not(.card-typographic)
    .blog-card-content {
    width: 100%;
    padding: 32px;
  }

  .related-articles-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .offset-card-1,
  .offset-card-2 {
    transform: none;
  }

  .details-hero {
    height: 50vh;
    min-height: 360px;
  }

  .details-hero-title {
    font-size: clamp(1.6rem, 5vw, 2.5rem);
  }

  .content-split-block {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .split-visual {
    height: 240px;
  }

  .figure-img-wrap {
    height: 280px;
  }

  .details-bottom-cta .cta-actions {
    flex-direction: column;
    gap: 12px;
  }

  .details-bottom-cta .btn-pill {
    width: 100%;
    max-width: 280px;
  }
}

@media (max-width: 480px) {
  .blog-hero {
    height: 55vh;
  }

  .blog-hero-content {
    padding-top: 40px;
  }

  .blog-hero-subtext {
    margin-bottom: 24px;
  }

  .blog-tips-marquee {
    mask-image: none;
  }

  .tip-card {
    min-width: 290px;
    max-width: 290px;
    padding: 20px;
    gap: 14px;
  }

  .blog-newsletter-form .form-input-wrap {
    flex-direction: column;
    border-radius: 20px;
    padding: 12px;
    gap: 12px;
  }

  .newsletter-email-input {
    padding: 12px 16px;
    text-align: center;
  }

  .blog-newsletter-form .btn-pill-white {
    width: 100%;
  }

  .author-profile {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 10px;
  }

  .article-info-list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 24px;
    border-bottom: 1px solid var(--border);
  }

  .article-share-block {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .share-links {
    justify-content: center;
  }

  .details-reading-content p {
    font-size: var(--fs-body);
  }

  .pullquote-text {
    font-size: var(--fs-body-lg) !important;
  }

  .parenting-highlight-box {
    padding: 24px;
  }
}

/* =============================================================================
   FAQ PAGE RESPONSIVE STYLING
   ============================================================================= */
@media (max-width: 1024px) {
  .faq-interactive-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .faq-sidebar {
    position: static;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 8px;
    margin-bottom: 24px;
    /* Hide scrollbar but keep functionality */
    scrollbar-width: none; /* Firefox */
  }

  .faq-sidebar::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
  }

  .faq-categories-list {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    width: max-content;
    padding: 4px;
  }

  .faq-category-item {
    flex: 0 0 auto;
    padding: 12px 18px;
    transform: none !important;
  }

  .faq-category-item:hover {
    transform: none !important;
  }

  .faq-category-num {
    display: none; /* Hide numbers on tablet/mobile to keep pills clean */
  }

  .promise-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .promise-showcase {
    padding-bottom: 0;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .promise-img-wrap {
    width: 100%;
    aspect-ratio: 1.3;
  }

  .promise-floating-card {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: -40px;
    margin-left: 20px;
    margin-right: 20px;
    max-width: calc(100% - 40px);
    box-shadow: 0 15px 35px rgba(45, 62, 82, 0.08);
  }
}

@media (max-width: 768px) {
  .faq-hero {
    height: 50vh;
    min-height: 380px;
  }

  .faq-hero-title {
    font-size: clamp(1.8rem, 5vw, 2.6rem);
  }

  .faq-page .faq-item {
    padding: 0 20px;
  }

  .faq-page .faq-question {
    font-size: var(--fs-body);
  }

  .support-cta-box {
    padding: 60px 30px;
    border-radius: 24px;
  }
}

@media (max-width: 480px) {
  .faq-hero {
    height: 45vh;
    min-height: 320px;
  }

  .faq-hero-content {
    padding-top: 40px;
  }

  .promise-floating-card {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    padding: 24px;
  }

  .support-cta-buttons {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .support-cta-buttons .btn-pill-white,
  .support-cta-buttons .btn-pill-outline-white {
  }
}

/* =============================================================================
   DIAPER GUIDE RESPONSIVE STYLING
   ============================================================================= */
@media (max-width: 1024px) {
  .guide-hero {
    height: 60vh !important;
    min-height: 400px !important;
  }

  .guide-hero-title {
    font-size: clamp(1.8rem, 5vw, 2.6rem) !important;
    line-height: 1.2 !important;
  }

  .guide-hero-subtext {
    font-size: var(--fs-body) !important;
    margin-bottom: 24px !important;
  }

  .guide-hero-scroll {
    display: none !important;
  }

  /* Timeline Stack Layout */
  .guide-timeline-section {
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .guide-timeline-container {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding-top: 60px;
    padding-bottom: 60px;
    height: auto !important;
  }

  .guide-timeline-nav {
    display: none !important;
  }

  .guide-timeline-panels {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 50px !important;
  }

  .timeline-panel {
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: all !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
    height: auto !important;
  }

  .timeline-panel .panel-img-wrap {
    aspect-ratio: 4/3;
  }

  .timeline-panel .panel-info > * {
    opacity: 1 !important;
    transform: none !important;
  }

  .timeline-panel .panel-img-wrap img {
    transform: none !important;
  }

  /* Comfort Metrics 2x2 grid */
  .guide-metrics-section {
    padding: 80px 0 !important;
  }

  .metrics-header {
    margin-bottom: 40px !important;
  }

  .metrics-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }

  /* Apple-Style Story Stack with Sticky Image on Top */
  .visual-story-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .visual-story-sticky {
    position: sticky !important;
    top: 90px !important; /* Below the 80px site header */
    height: 50vw !important;
    min-height: 260px !important;
    max-height: 380px !important;
    width: 100% !important;
    margin-bottom: 30px;
    z-index: 10;
  }

  .sticky-media-inner {
    height: 100% !important;
    max-height: none !important;
  }

  .visual-story-block {
    padding: 40px 0 !important;
    min-height: 45vh !important;
  }

  .visual-story-block:first-child {
    padding-top: 20px !important;
  }

  .visual-story-block:last-child {
    padding-bottom: 60px !important;
  }

  /* Quote Box */
  .guide-quote-section {
    padding: 80px 0 !important;
  }

  .pediatrician-quote {
    font-size: clamp(1.2rem, 3.5vw, 1.6rem) !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
  }

  .quote-box {
    padding: 20px 0 !important;
  }

  .quote-box .quote-icon {
    font-size: 48px !important;
    top: -10px !important;
  }

  /* CTA Section */
  .guide-cta-section {
    padding: 80px 0 !important;
  }

  .guide-cta-box {
    padding: 60px 30px !important;
    border-radius: 24px !important;
  }

  .cta-title {
    font-size: clamp(1.6rem, 4.5vw, 2.2rem) !important;
    margin-bottom: 16px !important;
  }

  .cta-desc {
    font-size: var(--fs-body) !important;
    margin-bottom: 30px !important;
  }

  .cta-actions {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .cta-actions .btn-pill-white,
  .cta-actions .btn-pill-outline-white {
    width: 100% !important;
    max-width: 280px !important;
    justify-content: center !important;
  }
}

@media (max-width: 768px) {
  .timeline-panel {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .timeline-panel .panel-img-wrap {
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
  }

  .guide-metrics-section {
    padding: 60px 0 !important;
  }

  .metrics-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .metric-card {
    padding: 30px 20px !important;
  }
}

@media (max-width: 480px) {
  .guide-hero {
    height: 55vh !important;
  }

  .visual-story-sticky {
    height: 55vw !important;
    min-height: 220px !important;
  }

  .story-specs {
    gap: 8px !important;
  }

  .story-specs span {
    padding: 4px 12px !important;
  }
}

/* -- Sizing Atelier Tablet & Mobile overrides (991px and below) ---------------- */
@media (max-width: 991px) {
  .atelier-section {
    padding: 80px 0;
  }

  .atelier-header {
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 500px;
    margin: 0 auto 50px auto;
    text-align: left;
  }

  .atelier-meta {
    grid-column: span 1;
  }

  .atelier-canvas {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .atelier-showcase-col {
    height: 480px;
    max-width: 500px;
    margin: 0 auto;
    width: 100%;
  }

  .atelier-glow-backdrop {
    width: 300px;
    height: 300px;
  }

  .atelier-variant {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .atelier-img {
    height: 240px;
    max-height: 240px;
    object-fit: contain;
    margin-top: 20px;
  }

  .atelier-tag {
    position: absolute;
    left: 24px;
    right: 24px;
    width: auto;
    max-width: none;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 12px;
    pointer-events: auto;
  }

  .atelier-tag .tag-dot {
    position: relative;
    width: 24px;
    height: 1px;
    background-color: var(--accent-gold);
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
    flex-shrink: 0;
    margin-top: 8px;
  }

  .atelier-tag .tag-dot::after {
    content: "";
    position: absolute;
    right: -2px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 1px solid var(--accent-gold);
    border-right: 1px solid var(--accent-gold);
    left: auto;
  }

  .atelier-tag.tag-top-left,
  .atelier-tag.tag-bottom-left,
  .atelier-tag.tag-center-left {
    top: 290px;
  }

  .atelier-tag.tag-bottom-right,
  .atelier-tag.tag-top-right {
    top: 380px;
  }

  .atelier-tag .tag-content {
    text-align: left !important;
    max-width: none;
  }

  .tag-title {
    font-size: 13px;
  }

  .tag-desc {
    font-size: 11px;
  }

  .atelier-engine-col {
    padding-left: 0;
    gap: 40px;
    max-width: 500px;
    margin: 0 auto;
    width: 100%;
  }

  .atelier-watermark {
    font-size: 4.8rem;
    top: -24px;
    left: 0;
  }

  .atelier-stages {
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 8px;
    width: calc(100% + 48px);
    margin: 0 -24px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .atelier-stages::-webkit-scrollbar {
    display: none;
  }

  .atelier-stage-btn {
    flex-shrink: 0;
  }

  .btn-text {
    font-size: 1.15rem;
  }

  .point-label {
    font-size: 9.5px;
  }

  .atelier-rec-display {
    flex-direction: column;
    text-align: center;
    gap: 16px;
    padding-bottom: 24px;
  }

  .atelier-cta {
    width: 100%;
    justify-content: center;
  }

  .atelier-reassurance {
    justify-content: center;
    gap: 16px;
  }

  /* Reposition and scale down baby doodles to avoid overlap and noise */
  .doodle {
    opacity: 0.06;
  }
  .doodle-star-1 {
    top: 5%;
    right: 5%;
  }
  .doodle-spark-1 {
    display: none;
  }
  .doodle-smile-1 {
    bottom: 5%;
    right: 5%;
  }
  .doodle-cloud-1 {
    top: 15%;
    left: 2%;
  }
  .doodle-heart-1 {
    bottom: 2%;
    left: 4%;
  }
}


