/* Three compact LAVA EDU notices. Only the cookie panel is affected.
   The application owns entrance/dismissal motion; this file has no animation. */

.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket){
  position:fixed;
  z-index:45;
  inset:auto 16px calc(16px + env(safe-area-inset-bottom)) auto;
  width:min(284px,calc(100vw - 32px));
  max-height:calc(100dvh - 32px);
  margin:0;
  padding:0;
  overflow:auto;
  isolation:isolate;
  color:#29292D;
  background:#EEEEEE;
  border:1px solid #29292D;
  border-radius:0;
  box-shadow:none;
  font-family:Inter,Arial,sans-serif;
  font-weight:400;
  line-height:1.4;
  letter-spacing:0;
  pointer-events:auto;
  transform-origin:right bottom;
}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) *,
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) *::before,
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) *::after{
  box-sizing:border-box;
  animation:none;
  transition:none;
}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) :where(div,h2,p,button,a,span){min-width:0}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) .cookie-copy{position:relative;inset:auto;width:auto;color:inherit;pointer-events:auto}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) .cookie-title-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) h2{margin:0!important;padding:0;font-family:Inter,Arial,sans-serif;font-size:18px!important;line-height:1.2!important;font-weight:500!important;letter-spacing:-.02em;text-align:left;text-wrap:initial;color:inherit}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) h2>a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;color:inherit;text-decoration:none}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) .cookie-configure{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-family:Inter,Arial,sans-serif;font-size:22px;line-height:1;letter-spacing:.055em;cursor:pointer}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) .cookie-copy>p{margin:0;font-size:12px;line-height:1.45;letter-spacing:0;max-width:none;color:inherit;overflow-wrap:normal}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) .cookie-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) .cookie-actions>.button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;margin:0;padding:9px 7px;border:1px solid transparent;border-radius:2px;font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.25;font-weight:500;letter-spacing:0;text-align:center;white-space:normal;box-shadow:none;opacity:1}
.cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) :focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* LABEL — an upright graphic tag, with the typography occupying its green edge. */
.cookie-panel.cookie-format-label{display:grid;grid-template-columns:38px minmax(0,1fr);min-height:144px}
.cookie-panel.cookie-format-label .cookie-mark{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:13px;padding:12px 0 13px;background:#3C5431;color:#EEEEEE;overflow:hidden}
.cookie-panel.cookie-format-label .cookie-mark-top{font-size:9px;font-weight:500;line-height:1;letter-spacing:.055em}
.cookie-panel.cookie-format-label .cookie-mark-word{font-size:21px;line-height:1;font-weight:400;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg)}
.cookie-panel.cookie-format-label .cookie-copy{display:flex;flex-direction:column;justify-content:center;padding:5px 12px 12px}
.cookie-panel.cookie-format-label .cookie-copy>p{margin:1px 0 12px}
.cookie-panel.cookie-format-label .cookie-actions>.button-primary{background:#3C5431;color:#EEEEEE;border-color:#3C5431}
.cookie-panel.cookie-format-label .cookie-actions>.button-outline{background:transparent;color:#29292D;border-color:#29292D}
.cookie-panel.cookie-format-label .cookie-configure{color:#3C5431}

/* STRIP — all choices on one baseline. Its position does not use transform,
   leaving the application's translateY dismissal free to work unchanged. */
.cookie-panel.cookie-format-strip{display:grid;grid-template-columns:26px 49px minmax(0,1fr) 192px 44px;grid-template-rows:minmax(44px,auto);align-items:center;gap:8px;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));width:min(530px,calc(100vw - 32px));min-height:62px;margin-inline:auto;padding:8px;background:#3C5431;color:#EEEEEE;border:1px solid #EEEEEE;transform-origin:center bottom}
.cookie-panel.cookie-format-strip .cookie-copy,.cookie-panel.cookie-format-strip .cookie-title-line{display:contents}
.cookie-panel.cookie-format-strip .cookie-mark{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;align-self:stretch;border-right:1px solid #EEEEEE;padding-right:8px;color:#EEEEEE}
.cookie-panel.cookie-format-strip .cookie-mark-top{font-size:9px;line-height:1;font-weight:500;letter-spacing:.07em;writing-mode:vertical-rl;transform:rotate(180deg)}
.cookie-panel.cookie-format-strip .cookie-mark-word{display:none}
.cookie-panel.cookie-format-strip h2{grid-column:2;grid-row:1;font-size:14px!important;letter-spacing:-.015em}
.cookie-panel.cookie-format-strip h2>a{width:100%}
.cookie-panel.cookie-format-strip .cookie-copy>p{grid-column:3;grid-row:1;font-size:12px;line-height:1.35;max-width:14em}
.cookie-panel.cookie-format-strip .cookie-actions{grid-column:4;grid-row:1;gap:6px}
.cookie-panel.cookie-format-strip .cookie-configure{grid-column:5;grid-row:1;color:#EEEEEE}
.cookie-panel.cookie-format-strip .cookie-actions>.button{font-size:12px;padding:8px 6px}
.cookie-panel.cookie-format-strip .cookie-actions>.button-primary{background:#EEEEEE;color:#3C5431;border-color:#EEEEEE}
.cookie-panel.cookie-format-strip .cookie-actions>.button-outline{background:transparent;color:#EEEEEE;border-color:#EEEEEE}

/* TICKET — a dark reading field, finished by a light horizontal stub.
   Solid lines and two small cut corners replace decorative perforations. */
.cookie-panel.cookie-format-ticket{display:flex;flex-direction:column;width:min(288px,calc(100vw - 32px));min-height:157px;background:#29292D;color:#EEEEEE;border-color:#EEEEEE;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}
.cookie-panel.cookie-format-ticket .cookie-copy{order:1;padding:6px 13px 13px}
.cookie-panel.cookie-format-ticket h2{font-size:20px!important;letter-spacing:-.025em}
.cookie-panel.cookie-format-ticket .cookie-copy>p{margin:0 0 11px}
.cookie-panel.cookie-format-ticket .cookie-actions{gap:7px}
.cookie-panel.cookie-format-ticket .cookie-actions>.button-primary{background:#EEEEEE;color:#29292D;border-color:#EEEEEE}
.cookie-panel.cookie-format-ticket .cookie-actions>.button-outline{background:transparent;color:#EEEEEE;border-color:#EEEEEE}
.cookie-panel.cookie-format-ticket .cookie-mark{order:2;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:29px;margin-top:auto;padding:7px 13px 6px;background:#EEEEEE;color:#29292D;border-top:1px solid #EEEEEE}
.cookie-panel.cookie-format-ticket .cookie-mark-top{font-size:10px;line-height:1;font-weight:500;letter-spacing:.07em}
.cookie-panel.cookie-format-ticket .cookie-mark-word{font-size:11px;line-height:1;font-weight:500;letter-spacing:.20em}

@media(hover:hover){
  .cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket) h2>a:hover{opacity:.78}
  .cookie-panel.cookie-format-label .cookie-configure:hover{background:#3C5431;color:#EEEEEE}
  .cookie-panel.cookie-format-label .cookie-actions>.button-primary:hover{background:#29292D;border-color:#29292D}
  .cookie-panel.cookie-format-label .cookie-actions>.button-outline:hover{background:#29292D;color:#EEEEEE}
  .cookie-panel.cookie-format-strip .cookie-configure:hover{background:#EEEEEE;color:#3C5431}
  .cookie-panel.cookie-format-strip .cookie-actions>.button-primary:hover{background:#29292D;color:#EEEEEE;border-color:#29292D}
  .cookie-panel.cookie-format-strip .cookie-actions>.button-outline:hover{background:#EEEEEE;color:#3C5431}
  .cookie-panel.cookie-format-ticket .cookie-configure:hover{background:#EEEEEE;color:#29292D}
  .cookie-panel.cookie-format-ticket .cookie-actions>.button-primary:hover{background:#3C5431;color:#EEEEEE;border-color:#EEEEEE}
  .cookie-panel.cookie-format-ticket .cookie-actions>.button-outline:hover{background:#EEEEEE;color:#29292D}
}

@media(max-width:599px){
  .cookie-panel.cookie-format-strip{grid-template-columns:22px 45px minmax(0,1fr) 44px;grid-template-rows:44px minmax(44px,auto);gap:6px;width:calc(100vw - 24px);min-height:112px;padding:8px;bottom:calc(12px + env(safe-area-inset-bottom))}
  .cookie-panel.cookie-format-strip .cookie-mark{grid-column:1;grid-row:1/3;padding-right:7px}
  .cookie-panel.cookie-format-strip .cookie-mark-top{font-size:10px;letter-spacing:.10em}
  .cookie-panel.cookie-format-strip h2{grid-column:2;grid-row:1;font-size:13px!important}
  .cookie-panel.cookie-format-strip .cookie-copy>p{grid-column:3;grid-row:1;max-width:none;font-size:12px;line-height:1.35}
  .cookie-panel.cookie-format-strip .cookie-configure{grid-column:4;grid-row:1}
  .cookie-panel.cookie-format-strip .cookie-actions{grid-column:2/5;grid-row:2;gap:7px}
  .cookie-panel.cookie-format-strip .cookie-actions>.button{font-size:12px;min-height:44px;padding:9px}
}

@media(max-width:359px){
  .cookie-panel:is(.cookie-format-label,.cookie-format-ticket){right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100vw - 24px);max-width:288px}
  .cookie-panel.cookie-format-label{grid-template-columns:36px minmax(0,1fr)}
  .cookie-panel.cookie-format-label .cookie-copy{padding-left:11px;padding-right:11px}
  .cookie-panel.cookie-format-label .cookie-mark-word{font-size:20px}
  .cookie-panel.cookie-format-strip{grid-template-columns:20px 44px minmax(0,1fr) 44px;gap:5px;padding:8px}
  .cookie-panel.cookie-format-strip .cookie-mark{padding-right:6px}
  .cookie-panel.cookie-format-strip .cookie-copy>p{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  .cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket){scroll-behavior:auto}
}
@media print{
  .cookie-panel:is(.cookie-format-label,.cookie-format-strip,.cookie-format-ticket){display:none!important}
}
