/* Signature only — layout balance audit, 9 October 2026.
   No editorial, colour, image, payment, access or PDF change.
   The approved #services-signature composition is deliberately untouched. */

@media screen{
/* 1. Public offer: seven days in complete rows, never a lonely seventh card. */
body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card{
  display:flex;flex-direction:column;justify-content:flex-end;min-width:0
}
body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card .kce-route-copy{
  position:relative;left:auto;right:auto;bottom:auto;
  padding:145px 20px 52px;min-width:0
}
body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card h3{
  overflow-wrap:anywhere;text-wrap:balance
}
body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-link{min-height:44px;align-items:center}
body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) :is(.kce-preview-grid,.kce-offer,.kce-faq-grid){align-items:center}
@media(min-width:1100px){
  body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
  body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card{grid-column:span 3;min-height:390px}
  body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card:nth-child(n+5){grid-column:span 4}
}
@media(min-width:721px) and (max-width:1099px){
  body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card:last-child{grid-column:1/-1}
}
/* Itinerary card rule: align day, title, description, status and action per row.
   Shared intrinsic tracks keep every translation complete, without fixed text
   heights, truncation or per-card offsets. Single-column cards retain their
   natural stack; browsers without subgrid retain the existing readable layout. */
@supports(grid-template-rows:subgrid){
  @media(min-width:721px){
    body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card{
      display:grid;grid-template-columns:minmax(0,1fr);
      grid-template-rows:subgrid;grid-row:span 5;row-gap:0
    }
    body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card .kce-route-copy{
      display:grid;grid-template-columns:minmax(0,1fr);
      grid-template-rows:subgrid;grid-row:1/-1;row-gap:0
    }
    body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card .kce-route-copy>*{
      min-width:0;align-self:start
    }
    body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card :is(.kcr-free-label,.kcr-locked-label){
      justify-self:start
    }
    body.kcr-escapade-offer:is([data-offer-id="signature-bretagne-nord"],[data-signature-master]) .kcr-day-card :is(.kcr-day-link,.kcr-unlock-link){
      justify-self:start;margin-top:11px
    }
  }
  @media(min-width:721px) and (max-width:1099px){
    /* The full-width last card has no neighbours to align with. A normal
       stack lets its minimum height size the row, unlike inherited tracks. */
    body.kcr-escapade-offer[data-signature-master] .kcr-day-card:last-child{
      display:flex;grid-row:auto
    }
    body.kcr-escapade-offer[data-signature-master] .kcr-day-card:last-child .kce-route-copy{
      display:block;grid-row:auto
    }
  }
}

/* 2. All Signature discovery chapters and individual pages. */
body.ksd-page :is(h1,h2,h3,h4,a,strong,small){overflow-wrap:anywhere}
body.ksd-page :is(.ksd-hero-copy,.ksd-hero-media,.ksd-detail-top>div,.ksd-intro>div,.ksd-check-card,.ksd-info-card,.ksd-final>div){min-width:0}
body.ksd-page .ksd-hero h1{text-wrap:balance}
@media(min-width:1100px){
body.ksd-page .ksd-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
body.ksd-page .ksd-card-grid>.ksd-idea-card{grid-column:span 2;min-width:0}
body.ksd-page .ksd-card-grid:has(>:nth-child(3n+2):last-child)>.ksd-idea-card:nth-last-child(-n+2){grid-column:span 3}
body.ksd-page .ksd-card-grid:has(>:nth-child(4)):has(>:nth-child(3n+1):last-child)>.ksd-idea-card:nth-last-child(-n+4){grid-column:span 3}
body.ksd-page .ksd-card-grid:has(>:only-child){max-width:760px}
body.ksd-page .ksd-card-grid>.ksd-idea-card:only-child{grid-column:1/-1;min-height:250px}
}
body.ksd-page .ksd-fact-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
body.ksd-page .ksd-fact-grid:has(>:only-child){max-width:760px;margin-inline:auto}
body.ksd-page .ksd-fact-grid>.ksd-fact:only-child{min-height:0}
body.ksd-page .ksd-detail-columns{align-items:center}
body.ksd-page .ksd-check-card{align-self:center}
body.ksd-page .ksd-info-card,body.ksd-page .ksd-check-card{padding:clamp(24px,2.4vw,36px)}
body.ksd-page .ksd-check-card h3{font-size:clamp(1.7rem,2.3vw,2.25rem);text-wrap:balance}
body.ksd-page .ksd-next-chapter{align-items:center}
body.ksd-page .ksd-next-grid>a:last-child:nth-child(odd){min-width:0}
@media(min-width:1100px){
  body.ksd-page .ksd-hero{min-height:560px}
  body.ksd-page .ksd-hero-copy{padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;justify-content:center}
  body.ksd-page .ksd-hero h1{font-size:clamp(3rem,4.45vw,4.9rem)}
  body.ksd-page .ksd-hero-media{min-height:0}
  body.ksd-page .ksd-detail-columns{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:24px}
  body.ksd-page .ksd-detail-top{align-items:center}
  body.ksd-page[data-section="journees"] .ksd-catalog:not(.ksd-related) .ksd-card-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  body.ksd-page[data-section="journees"] .ksd-catalog:not(.ksd-related) .ksd-card-grid>.ksd-idea-card{grid-column:span 3}
  body.ksd-page[data-section="journees"] .ksd-catalog:not(.ksd-related) .ksd-card-grid>.ksd-idea-card:nth-child(n+5){grid-column:span 4}
}
@media(min-width:1100px) and (min-height:1000px){
  body.ksd-page .ksd-check-card:not(:has(.ksd-action:nth-child(8))){position:sticky;top:92px}
}
@media(min-width:561px) and (max-width:1099px){
  body.ksd-page .ksd-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ksd-page .ksd-card-grid>.ksd-idea-card:nth-child(n){grid-column:auto}
  body.ksd-page .ksd-card-grid>.ksd-idea-card:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:560px){
  body.ksd-page .ksd-card-grid{grid-template-columns:minmax(0,1fr)}
  body.ksd-page .ksd-card-grid>.ksd-idea-card:nth-child(n){grid-column:1/-1}
  body.ksd-page .ksd-hero h1{font-size:clamp(2.25rem,9vw,3rem);hyphens:auto}
  body.ksd-page :is(.ksd-section-top,.ksd-detail-top,.ksd-intro,.ksd-final) h2{font-size:clamp(2rem,8.8vw,2.7rem);hyphens:auto}
  body.ksd-page .ksd-next-grid>a:last-child:nth-child(odd){grid-column:1/-1}
  body.ksd-page :is(.ksd-info-card,.ksd-check-card){padding:24px 20px}
}

/* 3. Private Signature guide. Scope depends on its existing protected PDF link. */
body:has(.kr-delivery a[href*="/carnets/signature-"]) :is(.kr-hero,.kr-day-head) img.kr-photo-top{object-position:center top}
body:has(.kr-delivery a[href*="/carnets/signature-"]) :is(.kr-hero>div,.kr-day-head>div,.kr-table-grid>div){min-width:0}
body:has(.kr-delivery a[href*="/carnets/signature-"]) :is(h1,h2,h3,h4,a){overflow-wrap:anywhere}
@media(min-width:900px){
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-days-nav{grid-template-columns:repeat(12,minmax(0,1fr))}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-days-nav>a{grid-column:span 3}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-days-nav>a:nth-child(n+5){grid-column:span 4}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-premium-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-premium-grid>article{grid-column:span 2;display:flex;flex-direction:column}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-premium-grid:has(>:nth-child(5):last-child)>article:nth-last-child(-n+2){grid-column:span 3}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-premium-card>.kr-links{margin-top:auto;padding-top:12px}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) #manger .kr-choice-grid>a:last-child:nth-child(odd){grid-column:1/-1}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-table-grid>div{display:flex;flex-direction:column}
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-table-grid>div>.kr-place{flex:1}
}
@media(min-width:601px) and (max-width:899px){
  body:has(.kr-delivery a[href*="/carnets/signature-"]) :is(.kr-days-nav,.kr-choice-grid)>a:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:600px){
  body:has(.kr-delivery a[href*="/carnets/signature-"]) .kr-days-nav>a:last-child:nth-child(odd){grid-column:1/-1}
}

/* 4. Real Signature order/recovery states use an intentional reading width. */
main.kr-store[data-product^="signature-"][data-view="checkout"],
main.kr-store[data-product^="signature-"][data-view="thanks"],
main.kr-store[data-product^="signature-"][data-view="recovery"]{max-width:900px;margin-inline:auto}
main.kr-store[data-product^="signature-"]:not([data-view="offer"]) form{max-width:none}
main.kr-store[data-product^="signature-"]:not([data-view="offer"]) :is(h1,h2,a,button){overflow-wrap:anywhere;max-width:100%}
}
