.pg-ics-global-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.pg-ics-global-fields label{display:flex;flex-direction:column;gap:4px}.pg-ics-global-fields input{max-width:160px}.pg-global-results{display:grid;gap:8px;margin:12px 0}.pg-global-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #ddd;border-radius:8px}.pg-ics-global-room[hidden]{display:none!important}@media(max-width:700px){.pg-global-card{flex-direction:column;align-items:stretch}}
.pg-global-date-picker{margin:12px 0}.pg-global-picker-title{font-weight:600;margin-bottom:8px}.pg-global-strip{display:flex;gap:5px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:6px 2px 12px;-webkit-overflow-scrolling:touch}.pg-global-day{flex:0 0 55px;min-height:70px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border:1px solid #ddd;border-radius:7px;background:#fff;color:#222;scroll-snap-align:start;cursor:pointer;padding:4px}.pg-global-day small{font-size:11px}.pg-global-day strong{font-size:20px}.pg-global-day.pg-global-edge{background:#276e50;color:#fff;border-color:#276e50}.pg-global-day.pg-global-between{background:#e1f0e6;border-color:#a4cbb4}.pg-global-selection{margin:5px 0 12px;font-weight:600}.pg-global-card{flex-wrap:wrap}.pg-global-info{display:flex;flex-direction:column;gap:4px;flex:1 1 180px}.pg-global-info small{color:#555}.pg-global-mini{display:flex;gap:3px;flex:1 1 160px;overflow:hidden}.pg-global-mini-day{min-width:22px;text-align:center;padding:5px 2px;font-size:12px;border-radius:3px;background:#f2f2f2}.pg-global-mini-day.selected{background:#bde4cb}.pg-global-mini-day.busy{background:#f3baba}@media(max-width:700px){.pg-global-card{align-items:stretch}.pg-global-mini{width:100%}}

.pg-ics-global-fields{flex-wrap:nowrap;align-items:end;gap:6px}.pg-ics-global-fields label{flex:0 1 90px;min-width:0;font-size:13px}.pg-ics-global-fields input[type=number]{width:100%;min-width:0;box-sizing:border-box}.pg-ics-global-fields .pg-global-search{flex:1 1 auto;min-width:0}.pg-global-photos{display:flex;gap:6px}.pg-global-photos img{width:96px;height:76px;object-fit:cover;border-radius:5px}.pg-global-description{font-size:13px;line-height:1.3}.pg-global-show-all{margin:12px 0;padding:9px 12px;cursor:pointer}.pg-global-all-calendars[hidden]{display:none!important}.pg-global-overview{padding:10px 0;border-bottom:1px solid #ddd}.pg-global-overview-days{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;margin-top:8px}.pg-global-overview-days .pg-global-mini-day{min-width:0;padding:5px 0}.pg-global-mini-day.free{background:#cdebd5}.pg-global-mini-day.pending{background:#f6e6a8}.pg-global-mini-day.busy{background:#f3baba}@media(max-width:700px){.pg-ics-global-fields{flex-wrap:wrap}.pg-ics-global-fields label{flex:1 1 25%}.pg-ics-global-fields .pg-global-search{flex:1 1 100%}.pg-global-overview-days{grid-template-columns:repeat(10,minmax(0,1fr))}.pg-global-photos img{width:calc(50% - 3px);max-width:145px;height:92px}}
/* 2.2.23 — compact result cards and occupancy grids, isolated from theme CSS */
.pg-ics-global .pg-global-card{align-items:flex-start!important;align-content:flex-start!important;justify-content:flex-start!important;gap:8px 12px!important;height:auto!important;min-height:0!important}
.pg-ics-global .pg-global-info{align-self:flex-start!important;justify-content:flex-start!important;gap:2px!important;min-height:0!important;margin:0!important;padding:0!important}
.pg-ics-global .pg-global-info>*{margin:0!important;line-height:1.35!important}
.pg-ics-global .pg-global-mini{align-self:flex-start!important;align-items:center!important;align-content:flex-start!important;flex:0 1 auto!important;flex-wrap:wrap!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important}
.pg-ics-global .pg-global-mini-day{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 24px!important;width:24px!important;min-width:0!important;height:27px!important;min-height:0!important;max-height:27px!important;padding:0 2px!important;margin:0!important;line-height:1!important;font-size:12px!important;vertical-align:middle!important}
.pg-ics-global .pg-global-overview{margin:0!important;padding:8px 0!important}
.pg-ics-global .pg-global-overview-days{display:grid!important;grid-template-columns:repeat(15,minmax(0,1fr))!important;grid-auto-rows:27px!important;align-content:start!important;align-items:start!important;gap:3px!important;height:auto!important;min-height:0!important;margin:5px 0 0!important;padding:0!important}
.pg-ics-global .pg-global-overview-days .pg-global-mini-day{width:100%!important;height:27px!important;max-height:27px!important;flex:none!important}
@media(max-width:700px){.pg-ics-global .pg-global-card{flex-direction:column!important;align-items:stretch!important;gap:7px!important}.pg-ics-global .pg-global-mini{width:100%!important}.pg-ics-global .pg-global-overview-days{grid-template-columns:repeat(10,minmax(0,1fr))!important}}

/* 2.2.24 — zoom photos */
.pg-global-photos img{cursor:zoom-in}
.pg-global-photos img:focus-visible{outline:3px solid #23785f;outline-offset:2px}
.pg-global-lightbox{position:fixed;inset:0;z-index:2147483647;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:48px 16px 20px;box-sizing:border-box}
.pg-global-lightbox img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.pg-global-lightbox-close{position:absolute;top:8px;right:12px;border:0;border-radius:50%;background:#fff;color:#111;font-size:30px;line-height:1;width:42px;height:42px;cursor:pointer}

/* 2.2.25: fixed-height compact calendars, including themes that stretch grid items */
.pg-ics-global .pg-global-results {display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;}
.pg-ics-global .pg-global-card {display:flex!important;flex-direction:row!important;align-items:flex-start!important;align-content:flex-start!important;justify-content:flex-start!important;flex-wrap:wrap!important;min-height:0!important;height:auto!important;gap:6px 10px!important;}
.pg-ics-global .pg-global-mini {display:flex!important;flex-flow:row wrap!important;align-items:flex-start!important;align-content:flex-start!important;justify-content:flex-start!important;align-self:flex-start!important;gap:3px!important;flex:0 0 auto!important;width:auto!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;}
.pg-ics-global .pg-global-mini > .pg-global-mini-day,
.pg-ics-global .pg-global-overview-days > .pg-global-mini-day {display:inline-flex!important;box-sizing:border-box!important;align-items:center!important;justify-content:center!important;align-self:start!important;place-self:start stretch!important;float:none!important;flex-grow:0!important;flex-shrink:0!important;min-height:24px!important;height:24px!important;max-height:24px!important;line-height:24px!important;padding:0!important;margin:0!important;font-size:12px!important;}
.pg-ics-global .pg-global-mini > .pg-global-mini-day {flex-basis:24px!important;width:24px!important;max-width:24px!important;place-self:auto!important;}
.pg-ics-global .pg-global-overview-days {display:grid!important;grid-template-columns:repeat(15,minmax(0,1fr))!important;grid-auto-rows:24px!important;grid-auto-flow:row!important;align-content:start!important;align-items:start!important;gap:3px!important;min-height:0!important;height:auto!important;max-height:none!important;}
.pg-ics-global .pg-global-overview-days > .pg-global-mini-day {width:100%!important;min-width:0!important;max-width:100%!important;}
@media(max-width:700px){.pg-ics-global .pg-global-card{flex-direction:column!important}.pg-ics-global .pg-global-overview-days{grid-template-columns:repeat(10,minmax(0,1fr))!important}}

/* 2.2.26 — remove vertical blank between status and mini calendar.
   A grid gives each row its intrinsic height instead of stretching flex items. */
.pg-ics-global .pg-global-card {
  display:grid!important; grid-template-columns:minmax(0,auto) minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important; align-items:start!important;
  align-content:start!important; justify-content:stretch!important;
  column-gap:10px!important; row-gap:4px!important;
  height:auto!important; min-height:0!important;
}
.pg-ics-global .pg-global-card>.pg-global-photos {grid-column:1;grid-row:1;align-self:start!important;margin:0!important;}
.pg-ics-global .pg-global-card>.pg-global-info {grid-column:2;grid-row:1;align-self:start!important;flex:none!important;min-height:0!important;margin:0!important;}
.pg-ics-global .pg-global-card>.pg-global-mini {grid-column:1/-1;grid-row:2;align-self:start!important;margin:0!important;max-width:100%!important;}
.pg-ics-global .pg-global-card>button {grid-column:1/-1;grid-row:3;justify-self:start;margin:0!important;}
.pg-ics-global .pg-global-card>.pg-global-photos:empty {display:none!important;}
.pg-ics-global .pg-global-card:has(>.pg-global-photos:empty)>.pg-global-info {grid-column:1/-1;}
@media(max-width:700px){
 .pg-ics-global .pg-global-card{grid-template-columns:minmax(0,1fr)!important;row-gap:4px!important;}
 .pg-ics-global .pg-global-card>.pg-global-photos{grid-column:1;grid-row:1;}
 .pg-ics-global .pg-global-card>.pg-global-info{grid-column:1;grid-row:2;}
 .pg-ics-global .pg-global-card>.pg-global-mini{grid-column:1;grid-row:3;}
 .pg-ics-global .pg-global-card>button{grid-column:1;grid-row:4;}
}

/* 2.2.27 — compact horizontal date strip and hide redundant manual search */
.pg-ics-global .pg-global-search[hidden]{display:none!important}
.pg-ics-global .pg-global-strip{padding:3px 2px 6px!important;gap:4px!important}
.pg-ics-global .pg-global-day{box-sizing:border-box!important;flex:0 0 48px!important;width:48px!important;min-height:0!important;height:53px!important;max-height:53px!important;padding:2px!important;gap:0!important;line-height:1.1!important}
.pg-ics-global .pg-global-day strong{font-size:17px!important;line-height:20px!important;margin:0!important}
.pg-ics-global .pg-global-day small{font-size:10px!important;line-height:13px!important;margin:0!important}
.pg-ics-global .pg-global-selection:empty{display:none!important}

/* 2.2.28 — 18-day horizontally scrollable mini calendars, starting 4 days before arrival */
.pg-ics-global .pg-global-mini {display:flex!important;flex-flow:row nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;max-width:100%!important;width:100%!important;min-width:0!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:3px 0 7px!important;align-items:center!important;}
.pg-ics-global .pg-global-mini>.pg-global-mini-day{flex:0 0 24px!important;scroll-snap-align:start;}
.pg-ics-global .pg-global-description{white-space:pre-line;overflow-wrap:anywhere;line-height:1.45!important;}

/* 2.2.30 — compact booking button next to accommodation name. */
.pg-ics-global .pg-global-heading{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;min-width:0;margin:0!important}
.pg-ics-global .pg-global-heading>strong{flex:0 1 auto;min-width:0}
.pg-ics-global .pg-global-heading>.pg-global-book{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;width:auto!important;min-height:0!important;height:auto!important;margin:0!important;padding:4px 10px!important;font-size:12px!important;line-height:1.3!important;border-radius:5px;cursor:pointer}

/* 2.2.31 — stay price alongside booking button. */
.pg-ics-global .pg-global-stay-price{display:inline-block;font-weight:650;font-size:13px;white-space:nowrap;line-height:1.3}

/* 2.2.32 — Description plus lisible sur ordinateur et mobile. */
.pg-ics-global .pg-global-description{font-size:15px!important;line-height:1.5!important;}
@media(max-width:700px){.pg-ics-global .pg-global-description{font-size:15px!important;}}

/* 2.2.33 — two-month sliding date selection, compact month labels. */
.pg-ics-global .pg-global-day{height:43px!important;max-height:43px!important;flex-basis:45px!important;width:45px!important;padding:1px!important}
.pg-ics-global .pg-global-day strong{font-size:16px!important;line-height:18px!important}
.pg-ics-global .pg-global-day small{font-size:10px!important;line-height:11px!important}
.pg-ics-global .pg-global-day .pg-global-month-label{font-weight:600;font-size:9px!important;line-height:11px!important}

/* 2.2.34 : mois lisible sous la bande de dates, aligné sur son premier jour. */
.pg-ics-global .pg-global-strip{padding-bottom:30px!important;overflow-y:hidden!important;align-items:flex-start!important}
.pg-ics-global .pg-global-day{position:relative!important;overflow:visible!important;flex-shrink:0!important}
.pg-ics-global .pg-global-day .pg-global-month-label{position:absolute!important;top:calc(100% + 5px)!important;left:0!important;display:block!important;width:max-content!important;max-width:none!important;font-size:14px!important;line-height:18px!important;font-weight:700!important;color:#303b42!important;text-transform:capitalize!important;white-space:nowrap!important;pointer-events:none!important}

/* 2.2.35 — mois courant toujours visible après défilement au milieu du mois. */
.pg-ics-global .pg-global-date-picker{position:relative}
.pg-ics-global .pg-global-current-month{position:relative;z-index:1;min-height:0;margin:-24px 0 5px 2px;font-size:14px;font-weight:700;line-height:19px;text-transform:capitalize;color:#303b42;pointer-events:none}
.pg-ics-global .pg-global-current-month:empty{display:none}

/* 2.2.36 — le mois fixe partage la ligne des mois, sans créer une ligne supplémentaire. */
.pg-ics-global .pg-global-current-month{position:absolute!important;z-index:4!important;margin:0!important;padding:0 3px!important;background:#fff!important;white-space:nowrap!important;line-height:18px!important;pointer-events:none!important}

/* Ne jamais montrer les calendriers individuels hors d’une réservation active. */
.pg-ics-global .pg-ics-global-room[hidden]{display:none!important}

/* 2.3.22 — lightbox pleine taille, indépendante des contraintes du thème. */
body > .pg-global-lightbox{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:18px!important;box-sizing:border-box!important}
body > .pg-global-lightbox > img{display:block!important;position:static!important;width:auto!important;height:auto!important;max-width:calc(100vw - 36px)!important;max-height:calc(100dvh - 36px)!important;min-width:0!important;min-height:0!important;object-fit:contain!important;box-shadow:none!important;margin:auto!important;border:0!important;transform:none!important}
body > .pg-global-lightbox > .pg-global-lightbox-close{z-index:2!important;top:12px!important;right:12px!important}

/* 2.3.24 — l’image utilise toute la surface disponible de la fenêtre. */
body > .pg-global-lightbox{padding:12px!important;overflow:hidden!important;}
body > .pg-global-lightbox > img{width:calc(100vw - 24px)!important;height:calc(100dvh - 24px)!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;object-fit:contain!important;object-position:center!important;flex:0 0 auto!important;}

/* 2.4.1 : dates sans arrivée possible. */
.pg-ics-global .pg-global-day.pg-global-closed{background:#e3e3e3!important;border-color:#ccc!important;color:#777!important}
.pg-ics-global .pg-global-day.pg-global-closed:disabled{cursor:not-allowed!important;opacity:.75!important}

/* 2.5.19 — absence de tarif : le bouton ne permet pas de réserver. */
.pg-ics-global .pg-global-heading > .pg-global-book:disabled { opacity:.48!important;cursor:not-allowed!important; }
.pg-ics-global .pg-global-heading > .pg-global-price-missing { font-weight:600;color:#8d4124;white-space:normal; }


/* 2.6.10 — typed arrival/departure and seven whole days on mobile. */
.pg-ics-global .pg-global-date-inputs{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  align-items:end;margin:0 0 7px;max-width:500px;
}
.pg-ics-global .pg-global-date-inputs label{
  display:flex;flex-direction:column;gap:3px;min-width:0;font-size:13px;line-height:1.3;
}
.pg-ics-global .pg-global-date-inputs input[type=date]{
  display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;
  height:38px;min-height:38px;padding:5px 6px;margin:0;
  font:inherit;font-size:15px!important;color:#202d2b;background:#fff;
  border:1px solid #93a6a0;border-radius:5px;
}
.pg-ics-global .pg-global-date-inputs input[type=date]:focus-visible{
  outline:2px solid #276e50;outline-offset:2px;
}
/* Native touch movement has lower latency without forced snap points. */
.pg-ics-global .pg-global-strip{scroll-snap-type:none!important;scroll-behavior:auto!important;min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;}
.pg-ics-global .pg-global-day{scroll-snap-align:none!important;}
@media(max-width:700px){
  .pg-ics-global .pg-global-strip{gap:4px!important;padding-left:2px!important;padding-right:2px!important;}
  .pg-ics-global .pg-global-day{
    flex:0 0 calc((100% - 24px)/7)!important;
    width:calc((100% - 24px)/7)!important;
    max-width:calc((100% - 24px)/7)!important;
    min-width:0!important;
    padding:1px 0!important;
  }
  .pg-ics-global .pg-global-day small{font-size:9px!important;letter-spacing:-.2px;white-space:nowrap;}
  .pg-ics-global .pg-global-day strong{font-size:15px!important;}
}
@media(max-width:340px){
  .pg-ics-global .pg-global-date-inputs{gap:5px;}
  .pg-ics-global .pg-global-date-inputs input[type=date]{font-size:13px!important;padding:3px 2px;}
  .pg-ics-global .pg-global-day small{font-size:8px!important;}
}

/* 2.6.11 — bold editable dates, no redundant range line once selected. */
.pg-ics-global .pg-global-date-inputs input[type=date]{font-weight:700!important;}
.pg-ics-global .pg-global-date-inputs input[type=date]::-webkit-datetime-edit{font-weight:700!important;}
.pg-ics-global .pg-global-picker-title[hidden]{display:none!important;}

/* 2.6.12 — detail pages and numbering-based photo previews. */
.pg-ics-global .pg-global-view-more{align-self:flex-start;border:0;background:none;color:#205e4c;text-decoration:underline;text-underline-offset:3px;font-weight:700;cursor:pointer;padding:3px 0;min-height:30px}
.pg-ics-global .pg-global-view-more:focus-visible,.pg-global-photo-button:focus-visible{outline:3px solid #26775a;outline-offset:3px}
.pg-ics-global .pg-global-photos{display:flex;flex-wrap:wrap;max-width:100%;gap:7px}
.pg-ics-global .pg-global-photo-button{display:block;cursor:pointer;background:transparent;border:0;padding:0;margin:0;line-height:0;max-width:160px}
.pg-ics-global .pg-global-photo-button img{display:block;width:120px;height:94px;object-fit:cover;border-radius:6px;max-width:100%}
.pg-global-detail-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.76);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.pg-global-detail-panel{width:min(1150px,100%);height:min(94vh,950px);display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 12px 44px rgba(0,0,0,.4)}
.pg-global-detail-bar{display:flex;align-items:center;gap:14px;padding:9px 15px;background:#fff;color:#222;border-bottom:1px solid #ddd;min-height:50px;box-sizing:border-box}
.pg-global-detail-bar strong{flex:1;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.pg-global-detail-bar a{font-size:13px;color:#205e4c;text-decoration:underline}
.pg-global-detail-close{border:0;border-radius:50%;min-width:42px;min-height:42px;background:#eee;color:#111;font-size:29px;line-height:1;cursor:pointer}
.pg-global-detail-frame{width:100%;flex:1;min-height:0;border:0;background:#fff}
@media(max-width:700px){.pg-global-detail-overlay{padding:0}.pg-global-detail-panel{height:100dvh;max-height:none;width:100%;border-radius:0}.pg-global-detail-bar{padding:7px 9px;gap:7px}.pg-global-detail-bar strong{font-size:14px}.pg-global-detail-bar a{max-width:105px;text-align:center;font-size:11px}.pg-ics-global .pg-global-photo-button img{width:110px;height:86px}}

.pg-ics-global .pg-global-photo-button img{cursor:pointer}
