/* FoodFestival UI · compact site notice (alert module).
   Shown at once as one line fixed to the bottom: no delay, no entrance animation, no layout shift.
   "Детальніше" opens the full text inside the same card (native <details>). */
.ff-notice{
  --ff-notice-bg:#F1F5FD;--ff-notice-border:#E3EBFA;--ff-notice-icon:#3660BC;
  position:fixed;z-index:1001;left:50%;transform:translateX(-50%);
  bottom:calc(24px + env(safe-area-inset-bottom,0px));
  width:min(560px,calc(100vw - 48px));box-sizing:border-box;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;column-gap:10px;
  padding:0 4px 0 14px;border-radius:14px;
  background:var(--ff-notice-bg);box-shadow:inset 0 0 0 1px var(--ff-notice-border),0 8px 24px rgba(26,40,112,.14);
  color:#22283A;font:400 14px/20px Roboto,"Helvetica Neue",Arial,sans-serif;
}
.ff-notice[hidden]{display:none}
.ff-notice--warning{--ff-notice-bg:#FFF6DB;--ff-notice-border:#F1DFA6;--ff-notice-icon:#A86B00}
.ff-notice--success{--ff-notice-bg:#E8F5EE;--ff-notice-border:#BFE3CE;--ff-notice-icon:#1E7A4B}

.ff-notice__icon{width:20px;height:20px;margin-top:14px;fill:none;stroke:var(--ff-notice-icon);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ff-notice__details{min-width:0}
.ff-notice__summary{
  display:flex;align-items:center;gap:12px;min-height:48px;margin:0;padding:6px 0;
  list-style:none;cursor:pointer;border-radius:8px;
}
.ff-notice__summary::-webkit-details-marker{display:none}
.ff-notice__summary--static{cursor:default}
.ff-notice__title{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-notice__details[open] .ff-notice__title{white-space:normal}
.ff-notice__toggle{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;color:#3660BC;font-weight:500}
.ff-notice__less,.ff-notice__details[open] .ff-notice__more{display:none}
.ff-notice__details[open] .ff-notice__less{display:inline}
.ff-notice__chevron{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.ff-notice__details[open] .ff-notice__chevron{transform:rotate(180deg)}
.ff-notice__summary:hover .ff-notice__toggle{color:#2A4E9A}
.ff-notice__summary:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 5px #3660BC}

/* Expanded: the card grows upwards; long text scrolls inside so it never covers the whole screen */
.ff-notice__body{
  max-height:min(50vh,360px);overflow:auto;overscroll-behavior:contain;
  padding:0 8px 14px 0;color:#3D4557;font-size:14px;line-height:21px;
}
.ff-notice__link{color:#3660BC;font-weight:500;text-decoration:underline;text-underline-offset:2px}

.ff-notice__close{
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:2px;padding:0;
  border:0;border-radius:50%;background:transparent;color:#5A6477;cursor:pointer;
}
.ff-notice__close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ff-notice__close:hover{color:#22283A;background:rgba(34,40,58,.06)}
.ff-notice__close:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 5px #3660BC}

@media (max-width:767px){
  .ff-notice{
    left:12px;right:12px;transform:none;width:auto;
    bottom:calc(12px + var(--sku-sticky-mobile-shift,0px) + env(safe-area-inset-bottom,0px));
    border-radius:12px;font-size:13px;line-height:18px;
  }
  .ff-notice__body{font-size:14px;line-height:20px}
  /* Two lines on phones so the key words are not cut off */
  .ff-notice__title{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
  .ff-notice__details[open] .ff-notice__title{display:block;-webkit-line-clamp:unset;line-clamp:none}
}
@media (prefers-reduced-motion:reduce){.ff-notice__chevron{transition:none}}
