/* Current V101 refinements. The layer overrides legacy unlayered !important
   declarations without adding another chain of repeated ID selectors. */
@layer gcp-v101-refinements {
  #photos #gcpPhotoGalleryTrack .photo-card {
    display: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 820px !important;
    height: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  #photos #gcpPhotoGalleryTrack .photo-card[data-gcp-gallery-active] { display: block !important; }
  #photos #gcpPhotoGalleryTrack .gcp-v84-image-stage {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    grid-template-rows: auto auto auto !important;
    gap: 16px 14px !important;
    width: min(100%, calc(min(60svh, 600px) * var(--gcp-v86-photo-ratio, 1) + 132px)) !important;
    max-width: 820px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  #photos .gcp-v84-image-stage > img,
  #photos .gcp-v84-image-stage > .gcp-communication-photo-frame {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: auto !important;
    background: transparent !important;
    overflow: visible !important;
  }
  #photos .gcp-v84-image-stage img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    border-radius: 20px !important;
  }
  #photos .gcp-v84-image-controls {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    position: static !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    align-self: stretch !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    pointer-events: none !important;
  }
  #photos .gcp-v84-image-controls button {
    position: static !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
  #photos .gcp-v86-caption {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }
  #photos .gcp-v86-caption > strong,
  #gcpGalleryDialogCaption > strong {
    display: block !important;
    font: 800 20px/1.5 Nunito, "NunitoWarm", Arial, sans-serif !important;
    color: #002a54 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-wrap: anywhere !important;
  }
  #photos .gcp-v86-caption p,
  #photos .gcp-v86-caption li,
  #photos .gcp-v86-caption .cap-col,
  #gcpGalleryDialogCaption .gcp-photo-description,
  #gcpGalleryDialogCaption .gcp-photo-description * {
    font: 400 20px/1.6 Nunito, "NunitoWarm", Arial, sans-serif !important;
    color: #172f42 !important;
    text-align: left !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  #photos .gcp-v86-caption ul { padding-left: 1.15em !important; margin: 0 !important; }
  #photos .gcp-v73-discover {
    grid-column: 2 !important;
    grid-row: 3 !important;
    position: static !important;
    display: flex !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    box-sizing: border-box !important;
  }
  #gcpGalleryDialog .gcp-v92-viewer-picture {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  #gcpGalleryDialogImage {
    grid-row: 1 !important;
    min-height: 0 !important;
    align-self: center !important;
    justify-self: center !important;
  }
  #gcpGalleryDialogCaption {
    grid-row: 2 !important;
    width: min(100%, 720px) !important;
    justify-self: center !important;
    max-height: 32svh !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    white-space: normal !important;
    padding: 0 8px 4px !important;
    box-sizing: border-box !important;
  }
  #gcpGalleryDialogCaption .gcp-photo-description { margin-top: 8px !important; }
  #gcpGalleryDialogCaption ul { padding-left: 1.2em !important; }

  #livret .gcp-v72-tariff-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 24px !important;
  }
  #livret .gcp-v72-tariff-inner > article.card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
  }
  #livret .gcp-tariff-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px 20px !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin: 0 !important;
  }
  #livret .gcp-tariff-actions > .gcp-v72-discover {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    box-sizing: border-box !important;
  }
  #livret .gcp-tariff-actions > .gcp-v97-tariff-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 0 0 auto !important;
    padding: 9px 14px !important;
    border: 1px solid #a7b8c6 !important;
    border-radius: 12px !important;
    background: #fffaf3 !important;
    color: #002a54 !important;
    font: 700 16px/1.4 Nunito, Arial, sans-serif !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }
  #livret .gcp-v97-tariff-close::before,
  #livret .gcp-v97-tariff-close::after { content: none !important; display: none !important; }
  #livret .gcp-v97-tariff-close:hover { border-color: #002a54 !important; background: #e5f0f8 !important; }
  #livret .gcp-v97-tariff-close:focus-visible { outline: 3px solid #e65100 !important; outline-offset: 3px !important; }
  #gcp-tarifs-WEB { scroll-margin-top: 16px !important; }
  #w1 { scroll-margin-top: calc(var(--gcp-web-summary-height, 130px) + 40px) !important; }

  .gcp-lina-panel [hidden], .gcp-lina-panel[hidden],
  .gcp-lina-backdrop[hidden], #gcpLinaDemoApp [hidden] { display: none !important; }
  .gcp-lina-launch .gcp-lina-avatar { width: 48px !important; height: 48px !important; }
  .gcp-lina-launch {
    width: 58px !important; min-width: 0 !important; max-width: 58px !important;
    height: 58px !important; min-height: 0 !important; padding: 3px !important;
    border-radius: 50% !important; border: 2px solid #e65100 !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
  }
  .gcp-lina-launch-copy { display: none !important; }
  .gcp-lina-nouveaute {
    font: 800 clamp(28px, 4vw, 38px)/1.2 Nunito, Arial, sans-serif !important;
    color: #88611c !important;
  }
  .gcp-lina-nouveaute .gcp-lina-star { font-size: 22px !important; color: #b8892d !important; }
  .gcp-lina-feature { max-width: 1120px !important; margin: 40px auto !important; padding: 24px !important; box-sizing: border-box !important; }
  #gcp-lina-feature-title { font-size: clamp(23px, 3vw, 30px) !important; }
  .gcp-lina-feature-visual img { width: 100% !important; height: auto !important; object-fit: contain !important; }
  .gcp-lina-panel, .gcp-lina-panel * { box-sizing: border-box !important; }

  @media (max-width: 700px) {
    #photos #gcpPhotoGalleryTrack .gcp-v84-image-stage {
      grid-template-columns: 36px minmax(0, 1fr) 36px !important;
      column-gap: 6px !important;
      width: 100% !important;
    }
    #photos .gcp-v84-image-controls button { width: 36px !important; height: 44px !important; }
    #photos .gcp-v84-image-controls button svg { width: 26px !important; height: 26px !important; }
    #photos .gcp-v86-caption > strong,
    #gcpGalleryDialogCaption > strong { font-size: 18px !important; line-height: 1.45 !important; }
    #photos .gcp-v86-caption p, #photos .gcp-v86-caption li,
    #photos .gcp-v86-caption .cap-col,
    #gcpGalleryDialogCaption .gcp-photo-description,
    #gcpGalleryDialogCaption .gcp-photo-description * { font-size: 17px !important; line-height: 1.55 !important; }
    #livret article.card {
      display: grid !important;
      grid-template-columns: 40px minmax(0, 1fr) !important;
      gap: 12px !important;
      padding: 22px 16px !important;
    }
    #livret article.card > .gcp-tariff-copy { display: contents !important; }
    #livret article.card .ref { grid-column: 1 !important; grid-row: 1 / 3 !important; width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important; align-self: start !important; }
    #livret article.card h3 { grid-column: 2 !important; grid-row: 1 !important; margin: 0 !important; }
    #livret article.card .price { grid-column: 2 !important; grid-row: 2 !important; display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 8px !important; text-align: left !important; width: 100% !important; min-width: 0 !important; }
    #livret article.card .desc, #livret article.card .note { grid-column: 1 / -1 !important; }
    #livret article.card .price small { width: 100% !important; }
    #livret .gcp-tariff-actions > .gcp-v72-discover { flex: 0 1 auto !important; }
    #livret .gcp-tariff-actions > .gcp-v97-tariff-close { font-size: 15px !important; }
    .gcp-lina-feature { margin: 28px 16px !important; padding: 20px !important; }
    .gcp-lina-launch .gcp-lina-avatar { width: 44px !important; height: 44px !important; }
    .gcp-lina-launch { width: 54px !important; height: 54px !important; bottom: max(84px, calc(env(safe-area-inset-bottom) + 72px)) !important; }
  }
}
