/*
 * Palomano Click & Collect — grille commune (0.1.181).
 * Chargée en dernier sur les pages publiques. Une seule largeur de contenu (1180 px)
 * et une seule gouttière par taille d'écran : tous les blocs commencent au même bord gauche.
 */
:root {
  --palo-w: 1180px;
  --palo-g: 20px;
}
@media (min-width: 600px) { :root { --palo-g: 32px; } }
@media (min-width: 1024px) { :root { --palo-g: 40px; } }

/* ---------- Conteneurs : largeur commune, centrés ---------- */
html body:not(#palo-l) .palomano-header-shell,
html body:not(#palo-l) .palomano-footer__inner,
html body:not(#palo-l) .palo-park-entry-v4__inner,
html body:not(#palo-l) .palo-park-selector-v3__section-heading,
html body:not(#palo-l) .palo-park-selector-v3__steps,
html body:not(#palo-l) .palo-park-selector-v3__faq-list,
html body:not(#palo-l) .palo-park-selector-v3__notice > *,
html body:not(#palo-l) .palo-shop-hero-v2__stage,
html body:not(#palo-l) .palo-product-page .stage-shell,
html body:not(#palo-l) .palo-product-page .story-shell,
html body:not(#palo-l) .palo-product-page .content-shell,
html body:not(#palo-l) .palo-wishlist-page--160 .palo-wishlist-privacy,
html body:not(#palo-l) .palo-wishlist-page--160 .palo-wishlist-builder-section,
html body:not(#palo-l) .palo-wishlist-page--160 .palo-shared-wishlist-section,
html body:not(#palo-l) .palo-faq-shell,
html body:not(#palo-l) .palo-login-shell,
html body:not(#palo-l) .pcc-account,
html body:not(#palo-l) .palo-cart-section,
html body:not(#palo-l) .palo-checkout-layout,
html body:not(#palo-l) .palo-checkout-hero > *,
html body:not(#palo-l) .site-content > .col-full:has(.palo-legal-page) {
  width: min(var(--palo-w), calc(100% - 2 * var(--palo-g))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* ---------- Bandes pleine largeur : plus de marge interne latérale ---------- */
html body:not(#palo-l) .site-header .col-full,
html body:not(#palo-l) .site-footer .col-full,
html body:not(#palo-l) .palo-park-entry-v4,
html body:not(#palo-l) .palo-park-selector-v3__process,
html body:not(#palo-l) .palo-park-selector-v3__notice,
html body:not(#palo-l) .palo-park-selector-v3__faq,
html body:not(#palo-l) .palo-shop-hero-v2,
html body:not(#palo-l) .palo-page.palo-wishlist-page--160,
html body:not(#palo-l) .palo-section.palo-section--faq,
html body:not(#palo-l) .palo-account-page,
html body:not(#palo-l) .palo-checkout-hero,
html body:not(#palo-l) .palo-checkout-page .palo-section--cream,
html body:not(#palo-l) .palo-legal-page .palo-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html body:not(#palo-l) .palo-section.palo-section--faq {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Bande sans conteneur interne : la marge interne place le contenu sur la grille. */
html body:not(#palo-l) .palo-shop-products-v2 {
  padding-left: max(var(--palo-g), calc((100% - var(--palo-w)) / 2)) !important;
  padding-right: max(var(--palo-g), calc((100% - var(--palo-w)) / 2)) !important;
}

/* ---------- Contenus internes : collés au bord gauche de la grille ---------- */
html body:not(#palo-l) .pcc-account-auth,
html body:not(#palo-l) .palo-account-page .woocommerce {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Pages de passage (panier, commande) : titre aligné à gauche comme le reste. */
html body:not(#palo-l) .palo-checkout-hero { text-align: left !important; }
html body:not(#palo-l) .palo-checkout-hero h1,
html body:not(#palo-l) .palo-checkout-hero p {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

/* Pages légales : un seul titre (celui de la page), sans fil d'Ariane, aligné à gauche. */
html body:not(#palo-l) .site-content > .col-full:has(.palo-legal-page) .entry-header,
html body:not(#palo-l) .site-content > .col-full:has(.palo-legal-page) .woocommerce-breadcrumb,
html body:not(#palo-l) .storefront-breadcrumb:has(+ .site-content .palo-legal-page),
html body:not(#palo-l) .site-content:has(.palo-legal-page) .storefront-breadcrumb {
  display: none !important;
}
html body:not(#palo-l) .palo-legal-page .palo-section-heading {
  max-width: 760px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
html body:not(#palo-l) .palo-legal-page .palo-section > :not(.palo-section-heading) {
  margin-left: 0 !important;
}

/* Onglets Boutique / Anniversaire : sur la grille, comme le reste de l'en-tête. */
html body:not(#palo-l) .palomano-journey-nav {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

/* Encart « Lien privé » : garde sa marge intérieure. */
html body:not(#palo-l) .palo-wishlist-page--160 .palo-wishlist-privacy {
  padding: 14px 20px !important;
  margin-top: clamp(20px, 3vw, 32px) !important;
}

/* ---------- Titres de page : une seule taille sur les pages intérieures ---------- */
html body:not(#palo-l) .palo-wishlist-builder-intro h1,
html body:not(#palo-l) .palo-wishlist-gate h1,
html body:not(#palo-l) .palo-faq-page h1,
html body:not(#palo-l) .palo-legal-page .palo-section-heading h1,
html body:not(#palo-l) .palo-login-page h1,
html body:not(#palo-l) .palo-account-page h1,
html body:not(#palo-l) .palo-cart-page h1,
html body:not(#palo-l) .palo-checkout-page h1 {
  font-family: "Playpen Sans", Arial, Helvetica, sans-serif !important;
  font-size: clamp(32px, 3.6vw, 46px) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  color: #4a4542 !important;
  margin-top: 0 !important;
  text-wrap: balance;
}

/* ---------- Accueil : pas de liste visible avant le carrousel ---------- */
/* La classe palo-js est posée dans <head> ; sans JavaScript, la liste reste visible. */
html.palo-js [data-palo-park-finder]:not([data-palo-coverflow-ready="1"]) .palo-park-entry-v4__chooser {
  height: 454px;
  overflow: hidden;
  animation: palo-release 0s linear 6s forwards;
}
html.palo-js [data-palo-park-finder]:not([data-palo-coverflow-ready="1"]) .palo-park-entry-v4__chooser > * {
  visibility: hidden;
  animation: palo-show 0s linear 6s forwards;
}
/* Filet de sécurité : si le carrousel ne démarre pas, la liste réapparaît au bout de 6 s. */
@keyframes palo-release { to { height: auto; overflow: visible; } }
@keyframes palo-show { to { visibility: visible; } }
@media (max-width: 1023px) {
  html.palo-js [data-palo-park-finder]:not([data-palo-coverflow-ready="1"]) .palo-park-entry-v4__chooser { height: 488px; }
}
html.palo-js [data-palo-coverflow-ready="1"] .palo-park-entry-v4__chooser {
  animation: palo-fade-in .35s ease-out both;
}
@keyframes palo-fade-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  html.palo-js [data-palo-coverflow-ready="1"] .palo-park-entry-v4__chooser { animation: none; }
}

/* 0.1.182 — Boutique du parc : les produits d'abord, sans hero. */
.palo-shop-home-v2.palo-shop-v3 .palo-shop-products-v2 { padding-top: 28px; }
.palo-shop-v3 .palo-shop-v3__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px 32px; flex-wrap: wrap; margin: 0 0 16px; }
.palo-shop-v3 .palo-shop-v3__intro { max-width: 640px; }
.palo-shop-v3 .palo-shop-v3__intro h1 { font-family: "Playpen Sans", Arial, Helvetica, sans-serif; font-size: 28px; line-height: 1.15; font-weight: 700; color: #403849; margin: 0 0 4px; letter-spacing: 0; }
.palo-shop-v3 .palo-shop-v3__intro p { margin: 0; font-size: 15px; line-height: 1.5; color: #514a52; }
.palo-shop-v3 .palo-shop-v3__received { margin: 0; font-size: 14px; line-height: 1.5; color: #514a52; }
.palo-shop-v3 .palo-shop-v3__received a { color: #b8455b; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.palo-shop-v3 .palo-shop-v3__received a:hover, .palo-shop-v3 .palo-shop-v3__received a:focus-visible { color: #403849; }
.palo-shop-v3 .palo-category-browser__heading { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .palo-shop-home-v2.palo-shop-v3 .palo-shop-products-v2 { padding-top: 18px; }
  .palo-shop-v3 .palo-shop-v3__head { margin-bottom: 12px; }
  .palo-shop-v3 .palo-shop-v3__intro h1 { font-size: 24px; }
  .palo-shop-v3 .palo-shop-v3__intro p { font-size: 14px; }
  .palo-shop-v3 .palo-shop-v3__received { font-size: 13px; }
}
