/* Premikon Gifts — corrective mobile layer
   Built against the latest full build supplied by the user.
   IMPORTANT: collection landers remain controlled by collection-mobile-hide-hero.css.
   This file deliberately does not restyle .occasion-hero/.occasion-copy/#all-gifts. */
@media (max-width: 650px) {
  /* HOME: hide artwork only; preserve and center all hero copy/actions. */
  .home-hero {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 42px 22px 40px !important;
    margin: 0 !important;
    background-image: none !important;
    background: #fcfaf6 !important;
    position: relative !important;
    overflow: visible !important;
  }
  .home-hero .landing-hero-slides,
  .home-hero .landing-hero-slide,
  .home-hero .home-hero-shade {
    display: none !important;
  }
  .home-hero .hero-inner {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .home-hero .kicker,
  .home-hero h1,
  .home-hero p { text-align: center !important; }
  .home-hero h1 {
    margin: 8px auto 14px !important;
    font-size: clamp(38px, 10vw, 50px) !important;
    line-height: 1.06 !important;
  }
  .home-hero p {
    max-width: 520px !important;
    margin: 0 auto 22px !important;
    line-height: 1.6 !important;
  }
  .home-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  .home-hero-actions .btn { margin: 0 !important; }

  /* HOME sections: center presentation without changing grids/flow. */
  .home-collection-section .section-head,
  .home-story,
  .home-personal-copy,
  .corporate-home,
  .home-faq .faq-heading {
    text-align: center !important;
  }
  .home-collection-section .section-head {
    display: block !important;
  }
  .home-collection-section .section-head > div,
  .home-collection-section .section-head h2,
  .home-collection-section .section-head .muted {
    text-align: center !important;
  }
  .home-collection-section .view-all-link {
    display: inline-block !important;
    margin: 12px auto 0 !important;
  }
  .home-personal-copy .btn,
  .corporate-home .btn { margin-left: auto !important; margin-right: auto !important; }

  /* Shared public-page presentation: headings/support copy centered.
     Forms and field contents are intentionally excluded. */
  main > .section > .section-head,
  .story,
  .empty-state { text-align: center !important; }

  /* FOOTER: fully centered on phones. */
  .footer-trust {
    text-align: center !important;
  }
  .footer-trust > div {
    justify-content: center !important;
    text-align: center !important;
  }
  .premium-footer,
  .footer-main,
  .footer-brand,
  .footer-links,
  .footer-company,
  .footer-connect,
  .footer-bottom { text-align: center !important; }
  .footer-main {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }
  .footer-main > div,
  .footer-links,
  .footer-company { width: 100% !important; }
  .footer-brand img { margin-left: auto !important; margin-right: auto !important; }
  .footer-links a { margin-left: auto !important; margin-right: auto !important; }
  .social-icons {
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .footer-bottom {
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .footer-bottom > div {
    justify-content: center !important;
  }
}

/* HOME HERO — final mobile visual polish */
@media (max-width: 650px) {
  .home-hero {
    background: transparent !important;
    background-color: transparent !important;
  }
  .home-hero-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 12px !important;
    max-width: 390px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .home-hero-actions .btn {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 12px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}

/* Mobile polish — footer socials, collection labels, Premikon Difference image */
@media (max-width: 650px) {
  /* Keep Stay Connected icons together as one centered group. */
  .footer-connect .social-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    width: auto !important;
    max-width: 240px !important;
    margin: 12px auto 22px !important;
  }
  .footer-connect .social-icons a {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
  }

  /* Homepage collection-card captions. */
  .home-collection-section .product-card h3,
  .landing-collection-card h3 {
    width: 100% !important;
    margin: 10px auto 0 !important;
    padding: 0 6px !important;
    text-align: center !important;
  }

  /* Image immediately following The Premikon Difference / Gift That Stays:
     use a true square crop on mobile. */
  .home-personal-image {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }
  .home-personal-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}

/* Product-only mobile alignment restoration.
   Intentionally scoped to product cards and the product detail page only. */
@media (max-width: 650px) {
  /* Master product cards */
  .gift-product-card {
    text-align: center !important;
  }
  .gift-product-body {
    align-items: center !important;
    text-align: center !important;
  }
  .gift-product-name,
  .gift-product-price {
    width: 100% !important;
    text-align: center !important;
  }
  .gift-product-specs {
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .gift-product-specs .gift-spec {
    text-align: center !important;
  }
  .gift-product-actions {
    width: 100% !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Product detail page — presentation only; form field contents stay left aligned. */
  .pdp-premium,
  .pdp-gallery-panel,
  .pdp-info-panel {
    text-align: center !important;
  }
  .pdp-main-photo {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .pdp-thumbs {
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .pdp-info-panel .kicker,
  .pdp-info-panel h1,
  .pdp-intro,
  .pdp-price {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .pdp-meta-row {
    justify-content: center !important;
    text-align: center !important;
  }
  .pdp-stock {
    margin-left: 0 !important;
  }

  .pdp-personalize {
    text-align: left !important;
  }
  .personalize-heading {
    justify-content: center !important;
    text-align: center !important;
  }
  .personalize-heading > div:last-child {
    text-align: center !important;
  }
  .pdp-personalize .field label,
  .pdp-personalize .field-stack label,
  .pdp-personalize .qty-control-wrap > label,
  .pdp-personalize input,
  .pdp-personalize textarea,
  .pdp-personalize select {
    text-align: left !important;
  }
  .pdp-buy-row {
    justify-items: center !important;
  }
  .qty-control-wrap {
    width: 100% !important;
    max-width: 180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .qty-control-wrap > label {
    text-align: center !important;
  }
  .pdp-add-btn {
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .pdp-story-copy {
    text-align: center !important;
    align-items: center !important;
  }
  .pdp-story-copy .kicker,
  .pdp-story-copy h2,
  .pdp-story-copy p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .pdp-story-image img {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .pdp-recommended .section-head,
  .pdp-recommended .section-head > div,
  .pdp-recommended .section-head .kicker,
  .pdp-recommended .section-head h2,
  .pdp-recommended .section-head .muted {
    text-align: center !important;
  }
}

/* ============================================================
   Mobile completion — collection index + remaining public pages
   Scoped only to pages/components not covered by the approved
   homepage, individual collection and PDP mobile rules above.
   ============================================================ */
@media (max-width: 650px) {
  /* GIFTS / OCCASIONS / SEASONAL shared landing template */
  .landing-hero {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding: 42px 6% 38px !important;
    background: transparent !important;
    overflow: visible !important;
  }
  .landing-hero-slides,
  .landing-hero-shade { display: none !important; }
  .landing-hero-copy {
    position: static !important;
    width: 100% !important;
    max-width: 620px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  .landing-hero-copy .kicker,
  .landing-hero-copy h1,
  .landing-hero-copy > p { text-align: center !important; margin-left:auto !important; margin-right:auto !important; }
  .landing-hero-copy h1 { font-size: 38px !important; line-height: 1.08 !important; }
  .landing-promises { display: none !important; }

  .landing-section { padding: 44px 5% !important; }
  .landing-section-title,
  .landing-section-title .kicker,
  .landing-section-title h2,
  .landing-section-title p { text-align: center !important; }
  .landing-section-title h2 { font-size: 32px !important; line-height: 1.12 !important; }
  .landing-card-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
  }
  .landing-collection-card {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  .landing-card-image { width: 100% !important; aspect-ratio: 1 / 1 !important; }
  .landing-collection-card h3 { text-align: center !important; margin: 12px auto 0 !important; }

  .landing-duo {
    display: block !important;
    padding: 0 !important;
  }
  .landing-personal,
  .landing-bridge {
    min-height: 0 !important;
    height: auto !important;
    text-align: center !important;
  }
  .landing-personal { display: flex !important; flex-direction: column !important; }
  .landing-duo-copy {
    width: 100% !important;
    padding: 42px 6% !important;
    text-align: center !important;
    order: 1 !important;
  }
  .landing-personal img {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    opacity: 1 !important;
    order: 2 !important;
  }
  .landing-duo-copy .kicker,
  .landing-duo-copy h2,
  .landing-duo-copy p,
  .landing-bridge .kicker,
  .landing-bridge h2,
  .landing-bridge p { text-align: center !important; }
  .landing-duo-copy .btn,
  .landing-bridge .btn { display: inline-flex !important; margin-left:auto !important; margin-right:auto !important; }
  .landing-bridge { padding: 42px 6% !important; }
  .landing-bridge-links { justify-content: center !important; }

  .landing-corporate { padding: 44px 6% !important; text-align:center !important; }
  .landing-corporate-inner,
  .landing-corporate .kicker,
  .landing-corporate h2,
  .landing-corporate p { text-align:center !important; }
  .landing-corporate h2 { font-size: 32px !important; }

  .landing-faq { display:block !important; padding:44px 6% !important; }
  .landing-faq .faq-heading { position:static !important; text-align:center !important; margin-bottom:22px !important; }
  .landing-faq .faq-heading .kicker,
  .landing-faq .faq-heading h2,
  .landing-faq .faq-heading p { text-align:center !important; }
  .landing-faq .faq-list { max-width:720px !important; margin:0 auto !important; }
  .landing-faq .faq-list summary,
  .landing-faq .faq-list details p { text-align:left !important; }

  /* Corporate page — center presentation, retain form usability. */
  .corporate-hero { min-height:0 !important; padding:44px 6% !important; text-align:center !important; justify-content:center !important; }
  .corporate-hero > div { margin:0 auto !important; text-align:center !important; }
  .corporate-hero h1 { font-size:38px !important; }
  .corporate-intro,
  .corporate-intro h2,
  .corporate-intro p { text-align:center !important; }
  .corporate-benefits > div { text-align:center !important; }
  .corporate-form-section > .kicker,
  .corporate-form-section > h2,
  .corporate-form-section > p { text-align:center !important; }
  .corporate-form { text-align:left !important; padding:22px !important; }

  /* Contact / auth / account / legal — centered presentation only. */
  .content-hero { padding:44px 6% !important; }
  .content-hero h1 { font-size:38px !important; }
  .contact-layout { grid-template-columns:1fr !important; gap:30px !important; }
  .contact-copy,
  .contact-copy h2,
  .contact-copy p,
  .contact-note { text-align:center !important; }
  .contact-form { text-align:left !important; padding:22px !important; }
  .auth-wrap > .kicker,
  .auth-wrap > h1,
  .auth-card > h2,
  .auth-card > p { text-align:center !important; }
  .auth-card { padding:22px !important; }
  .auth-card label,
  .auth-card input,
  .auth-card textarea { text-align:left !important; }
  .account-grid { grid-template-columns:1fr !important; }
  .account-page > .kicker,
  .account-page > h1,
  .account-page > p,
  .account-orders > h2 { text-align:center !important; }
  .legal-page { padding:42px 6% 60px !important; }
  .legal-page > h1,
  .legal-page > .kicker,
  .legal-updated { text-align:center !important; }

  /* Commerce pages: presentation centered, transactional data/forms stay readable. */
  .commerce-hero,
  .commerce-hero .kicker,
  .commerce-hero h1,
  .commerce-hero p,
  .order-success-hero { text-align:center !important; }
  .commerce-empty { padding:38px 20px !important; }
  .premium-checkout,
  .cart-layout,
  .success-layout { width:100% !important; max-width:100% !important; }
  .checkout-section-head { justify-content:center !important; text-align:center !important; }
  .checkout-section-head > div { text-align:center !important; }
  .premium-form { text-align:left !important; }
  .premium-order-summary > .summary-kicker,
  .premium-order-summary > h2 { text-align:center !important; }
  .success-panel-head { align-items:center !important; }
  .success-panel-head > div { text-align:center !important; }
  .delivery-panel > div { text-align:center !important; }
  .payment-heading,
  .next-steps { text-align:center !important; }
}

/* Mobile: hide landing hero only on Gifts / Occasions / Seasonal index pages.
   These three pages are the only pages using .landing-hero via collection-landing.php. */
@media (max-width: 600px) {
  .landing-hero {
    display: none !important;
  }
}
