/* A complete default skin; all design tokens can be overridden by the host site. */
.ta-availability {
  --ta-available:#24bb63; --ta-upcoming:#e3942f; --ta-full:#ea2539;
  --ta-card-bg:transparent; --ta-text:inherit; --ta-muted:inherit;
  --ta-border:#e2e7ed; --ta-radius:10px; --ta-card-padding:20px;
  --ta-font-size:17px; --ta-gap:20px;
  width:100%; min-width:0; color:var(--ta-text); font-family:inherit;
  font-size:var(--ta-font-size); line-height:1.55; text-align:start;
  container-type:inline-size;
}
.ta-availability *, .ta-availability *::before, .ta-availability *::after { box-sizing:border-box; }
.ta-availability .ta-location-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--ta-gap); align-items:stretch; }
.ta-availability.ta-cols-2 .ta-location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ta-availability.ta-cols-3 .ta-location-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ta-availability.ta-cols-4 .ta-location-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ta-availability .ta-location-group {
  min-width:0; margin:0; padding:var(--ta-card-padding);
  color:var(--ta-text); background:var(--ta-card-bg);
  border:0; border-radius:var(--ta-radius);
  box-shadow:0 5px 22px rgba(25,40,55,.09); container-type:inline-size;
}
.ta-availability .ta-location-header { margin:0; padding:0 0 12px; }
.ta-availability .ta-location-name, .ta-availability .ta-location {
  font-family:inherit; font-style:normal; letter-spacing:normal;
  text-transform:none; line-height:1.4; overflow-wrap:anywhere;
}
.ta-availability .ta-location-name { margin:0 0 5px; font-size:1.25em; font-weight:650; color:var(--ta-text); }
.ta-availability .ta-location { margin:0; font-size:1.0625em; font-weight:600; color:var(--ta-text); }
.ta-availability .ta-location-name + .ta-location { font-size:.94em; font-weight:600; color:var(--ta-muted); }
.ta-availability .ta-table-wrap { min-width:0; }
.ta-availability table, .ta-availability tbody { display:block; width:100%; margin:0; padding:0; border:0; background:transparent; color:var(--ta-text); font:inherit; }
.ta-availability table { border-collapse:collapse; table-layout:fixed; text-align:start; }
/* Keep table semantics and headers available to assistive technology. */
.ta-availability thead, .ta-availability .ta-sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.ta-availability tbody tr {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 12px;
  margin:0; padding:14px 0; background:transparent;
  border:0; border-top:1px solid var(--ta-border); color:var(--ta-text);
}
.ta-availability tbody th, .ta-availability tbody td {
  display:block; min-width:0; width:auto; margin:0; padding:0;
  border:0; background:transparent; color:var(--ta-text);
  font-family:inherit; font-size:1em; line-height:1.5;
  font-style:normal; text-align:start; text-transform:none;
  letter-spacing:normal; overflow-wrap:anywhere; vertical-align:top;
}
.ta-availability tbody th { font-weight:600; align-self:center; }
.ta-availability tbody td.ta-language {
  align-self:start; justify-self:end; max-width:100%;
  padding:3px 8px; border:0; border-radius:5px; background:rgba(127,127,127,.07);
  color:var(--ta-muted); font-size:.82em; font-weight:400;
}
.ta-availability tbody td.ta-situation { grid-column:1/-1; font-size:.94em; }
.ta-availability .ta-status { display:inline-flex; align-items:baseline; gap:9px; max-width:100%; font-weight:400; }
.ta-availability .ta-dot { position:relative; top:-.04em; display:inline-block; flex:0 0 9px; width:9px; height:9px; border-radius:50%; background:currentColor; }
.ta-availability .ta-available .ta-dot { color:var(--ta-available); }
.ta-availability .ta-upcoming .ta-dot, .ta-availability .ta-review .ta-dot { color:var(--ta-upcoming); }
.ta-availability .ta-full .ta-dot { color:var(--ta-full); }
.ta-availability .ta-note { margin:6px 0 0; font-family:inherit; font-size:.93em; line-height:1.6; color:var(--ta-muted); overflow-wrap:anywhere; }
.ta-availability .ta-mobile-label { display:inline; }
.ta-availability .ta-availability-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:10px 20px; margin:18px 0 0; padding:0 2px; font-size:.8125em; line-height:1.6; color:var(--ta-muted); }
.ta-availability .ta-availability-footer p { margin:0; padding:0; font-size:inherit; line-height:inherit; color:inherit; }
.ta-availability .ta-contact { color:var(--ta-text); font-size:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.ta-availability .ta-contact:hover { text-decoration-thickness:2px; }
.ta-availability :focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@container(max-width:1000px){.ta-availability.ta-cols-3 .ta-location-grid,.ta-availability.ta-cols-4 .ta-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:600px){.ta-availability .ta-location-grid{grid-template-columns:minmax(0,1fr)!important}}
@container(max-width:360px){.ta-availability tbody tr{grid-template-columns:minmax(0,1fr);gap:8px}.ta-availability tbody td.ta-language{justify-self:start}.ta-availability tbody td.ta-situation{grid-column:1}}
@media(max-width:600px){.ta-availability .ta-location-grid{grid-template-columns:minmax(0,1fr)!important}.ta-availability .ta-location-group{padding:20px}.ta-availability .ta-availability-footer{margin-top:14px}}
@supports not(container-type:inline-size){@media(min-width:601px) and (max-width:1000px){.ta-availability.ta-cols-3 .ta-location-grid,.ta-availability.ta-cols-4 .ta-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.ta-availability tbody tr{grid-template-columns:minmax(0,1fr)}.ta-availability tbody td.ta-language{justify-self:start}}}
@media(forced-colors:active){.ta-availability .ta-dot{border:1px solid CanvasText;background:CanvasText}.ta-availability .ta-location-group,.ta-availability tbody td.ta-language{border-color:CanvasText}}

/* Viewport breakpoint requested for all multi-column shortcode instances. */
@media(max-width:1199px){.ta-availability .ta-location-grid{grid-template-columns:minmax(0,1fr)!important}}

.ta-availability .ta-common-group tbody tr:first-child{border-top:0;padding-top:0}
@media(max-width:599px){
 .ta-availability tbody tr{grid-template-columns:minmax(0,1fr);gap:8px}
 .ta-availability tbody th[scope=row]{grid-column:1;grid-row:auto}
 .ta-availability tbody td.ta-language{grid-column:1;grid-row:auto;justify-self:start}
 .ta-availability tbody td.ta-situation{grid-column:1;grid-row:auto}
}

.ta-availability .ta-brand{display:inline-flex;align-items:center;gap:8px;margin-inline-start:auto;max-width:100%;color:inherit;text-align:start;line-height:1.5}
.ta-availability .ta-brand-icon{display:block;flex:0 0 23px;width:23px;height:23px;color:inherit}
.ta-availability .ta-brand-copy{min-width:0;overflow-wrap:anywhere}
.ta-availability .ta-brand-name{font:inherit;font-weight:650;letter-spacing:-.015em;color:inherit}
.ta-availability .ta-brand-tagline{font:inherit;color:inherit}

.ta-availability .ta-brand-icon{flex:0 0 28px;width:28px;height:auto;aspect-ratio:17.79739 / 13.883199}

/* Divi's table defaults must not add a second frame or cell gutters to Avilo.
   Keep the original public selectors above unchanged. This adapter touches
   only Divi table borders/margins and ordinary cell borders/padding; the
   language badge, typography, colours and row layout keep their old cascade. */
.et_divi_theme .ta-availability .ta-table-wrap > table { border:0; margin:0; }
.et_divi_theme .ta-availability tbody th { padding:0; }
.et_divi_theme .ta-availability tbody td:where(:not(.ta-language)) { border:0; padding:0; }
