/* ══════════════════════════════════════════════════
   CARTES SERVICES — rendu compact et optimisé
   ══════════════════════════════════════════════════ */

/* Supprime la hauteur minimale forcée */
.svc-bento{
  justify-content:center;
  grid-template-columns:repeat(4,minmax(230px,1fr)) !important;
  grid-auto-rows:auto !important;
}

/* Réduit le padding des cartes */
.svc-bento .svc-card{
  padding:1.1rem 1.2rem !important;
  align-items:center;
  text-align:center;
}

/* Icône et titre sur la même ligne */
.svc-bento .svc-header{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  min-width:0;
}

/* Icône plus petite */
.svc-bento .icon-box{
  width:40px !important;
  height:40px !important;
  border-radius:10px !important;
  margin-bottom:0 !important;
}
.svc-bento .icon-box svg{
  width:18px !important;
  height:18px !important;
}

/* Réduit l'espace entre l'icône et le contenu */
.svc-bento .svc-content-panel{
  width:100%;
  margin-top:.5rem !important;
  align-items:center;
  gap:.25rem;
}

/* Titre légèrement plus petit */
.svc-bento .svc-title{
  font-size:.92rem !important;
  margin-bottom:.2rem !important;
  line-height:1.25 !important;
  min-width:0;
}

/* Description compacte */
.svc-bento .svc-desc{
  font-size:.78rem !important;
  line-height:1.5 !important;
  margin-bottom:.4rem !important;
}

/* Tag plus discret */
.svc-bento .tag{
  font-size:.6rem !important;
  padding:2px 9px !important;
  margin-top:auto !important;
  margin-bottom:.35rem !important;
  align-self:center;
}

/* Lien d'action plus compact */
.svc-action{
  justify-content:center;
  width:100%;
  padding-top:.6rem !important;
  font-size:.74rem !important;
}

/* Responsive : ajustement tablette */
@media(max-width:1100px){
  .svc-bento{ grid-template-columns:repeat(2,minmax(240px,1fr)) !important; }
  .svc-bento .svc-card{ padding:1rem 1.1rem !important; }
}
@media(max-width:640px){
  .svc-bento{ grid-template-columns:minmax(0,1fr) !important; }
  .svc-bento .svc-card{ padding:.9rem 1rem !important; }
  .svc-bento .icon-box{ width:36px !important; height:36px !important; }
}

/* Texte action blanc sur toutes les cartes sombres */
.svc-card.dark .svc-action-r,
.svc-card.dark .svc-action-y {
  color: rgba(200,255,225,.82) !important;
  border-top-color: rgba(255,255,255,.12) !important;
}

/* ══════════════════════════════════════════════════
   CARTES GLOBALES — alignements et rendu optimisé
   ══════════════════════════════════════════════════ */

.grid2,
.grid3,
.path-grid,
.pack-grid,
.offer-grid,
.destination-grid,
.category-grid,
#jobs-list,
#lgt-grid,
#events-list{
  align-items:stretch;
}

.path-card,
.pack-card,
.grid3 > .card,
.grid2 > .card,
.amo-card,
.offre-card,
.lgt-card,
.evt-card,
.offer-card,
.destination-card,
.route-card,
.notice-card{
  height:100%;
}

.path-card{
  justify-content:flex-start;
  min-height:170px;
}
.path-card h3{
  min-height:2.5em;
  display:flex;
  align-items:center;
  justify-content:center;
}
.path-card p{
  margin-top:auto;
}

.pack-card{
  min-height:100%;
}
.pack-card h3{
  min-height:2.55em;
  display:flex;
  align-items:flex-end;
}
.pack-card p{
  min-height:3.2em;
}
.pack-card ul{
  margin-bottom:.35rem;
}
.pack-head{
  min-height:28px;
}

.grid3 > .card,
.grid2 > .card,
.amo-card{
  display:flex;
  flex-direction:column;
}
.grid3 > .card > .tag,
.grid2 > .card > .tag{
  align-self:flex-start;
  margin-bottom:.6rem;
}
.grid3 > .card > strong,
.grid2 > .card > strong{
  line-height:1.28;
}
.grid3 > .card > .text-link,
.grid2 > .card > .text-link{
  margin-top:auto;
  padding-top:.8rem;
}

.offre-card{
  align-items:stretch;
}
.offre-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.offre-info h4{
  min-height:2.35em;
  display:flex;
  align-items:flex-end;
}
.offre-meta{
  min-height:54px;
  align-content:flex-start;
}
.offre-cta{
  align-self:center;
}

.lgt-card,
.evt-card{
  display:flex;
  flex-direction:column;
}
.lgt-thumb,
.evt-thumb{
  flex-shrink:0;
}
.lgt-body,
.evt-body{
  flex:1;
  display:flex;
  flex-direction:column;
}
.lgt-title,
.evt-title{
  min-height:2.55em;
  display:flex;
  align-items:flex-start;
}
.lgt-details,
.evt-loc{
  margin-top:auto !important;
}
.evt-cat{
  align-self:flex-start;
  margin-bottom:.65rem !important;
}

.offer-card > div,
.destination-card > div,
.route-card > div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.offer-card .tag,
.destination-card .tag,
.route-card .tag{
  margin-bottom:.35rem;
}
.offer-card h3,
.destination-card h3,
.route-card h3{
  min-height:2.55em;
  display:flex;
  align-items:flex-end;
}
.offer-card p,
.destination-card p,
.route-card p{
  flex:1;
}
.offer-card .btn,
.destination-card .btn,
.route-card .btn{
  margin-top:auto;
}

.memory-grid{
  align-items:stretch;
}
.memory-grid > div{
  border:1px solid rgba(15,28,17,.12);
  box-shadow:0 16px 38px rgba(15,28,17,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.memory-grid > div:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 60px rgba(15,28,17,.13);
}
.memory-grid > div > span:first-child{
  opacity:.82 !important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
}
.memory-grid > div > span:last-child{
  color:#fff !important;
  font-size:.72rem !important;
  font-weight:800;
  line-height:1.35;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}

@media(max-width:768px){
  .memory-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .path-card h3,
  .pack-card h3,
  .pack-card p,
  .offre-info h4,
  .offre-meta,
  .lgt-title,
  .evt-title,
  .offer-card h3,
  .destination-card h3,
  .route-card h3{
    min-height:0;
  }
  .offre-card{
    gap:1rem;
  }
  .offre-cta{
    align-self:stretch;
  }
}

@media(max-width:520px){
  .memory-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

/* Hero pages: keep every subtitle readable and prevent stacked SEO lines. */
.page-hero-content > p{
  grid-column:1 !important;
  grid-row:auto !important;
  max-width:780px !important;
  margin:0 !important;
  color:rgba(255,255,255,.78) !important;
  font-size:clamp(.96rem,1.45vw,1.08rem) !important;
  line-height:1.68 !important;
  letter-spacing:0 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.32);
}
.page-hero-content > p:first-of-type{
  grid-row:3 !important;
  margin-top:.2rem !important;
}
.page-hero-content > p + p{
  grid-row:4 !important;
  margin-top:.7rem !important;
}
.page-hero-content > .page-hero-seo{
  color:rgba(255,255,255,.7) !important;
  font-size:clamp(.9rem,1.2vw,.98rem) !important;
  max-width:820px !important;
}
.page-hero-content > .phero-tags,
.page-hero-content > .hero-badges{
  grid-row:1 / 5 !important;
}
.visual-page-hero{
  background:
    linear-gradient(90deg,rgba(1,9,6,.98) 0%,rgba(1,9,6,.94) 42%,rgba(1,9,6,.84) 66%,rgba(1,9,6,.62) 100%),
    var(--page-hero-img) center right/cover no-repeat !important;
}
@media(max-width:1000px){
  .page-hero-content > p,
  .page-hero-content > p:first-of-type,
  .page-hero-content > p + p,
  .page-hero-content > .phero-tags,
  .page-hero-content > .hero-badges{
    grid-row:auto !important;
  }
}
@media(max-width:600px){
  .page-hero-content > p{
    font-size:.94rem !important;
    line-height:1.62 !important;
  }
}

/* Commerce : slot unique — object-position centré sur la tenue */
.commerce-showcase .pis-slot img{
  object-position:top center;
}

/* Hauteur réduite sur mobile */
@media(max-width:768px){
  .commerce-showcase .premium-image-stack{
    min-height:320px !important;
  }
}
