/* AKIPIA — cookie banner + cookie settings (BLA-257).
   Own theme for CookieConsent v3 markup (the library's default CSS is not used).
   Figma design system: Cookie banner 2050:6006, Cookie settings 2050:6425, Toggle 2050:6418, Buttons 51:1145. */

#cc-main{--cc-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5F5F0' stroke-width='1.5'%3E%3Cpath d='M7 17L17 7M17 16V7H8'/%3E%3C/svg%3E");
  --cc-arrow-r:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5F5F0' stroke-width='1.5'%3E%3Cpath d='M3 12H21M14 19L21 12L14 5'/%3E%3C/svg%3E");
  position:relative;z-index:1000;font-family:var(--font);color:var(--walnut);-webkit-font-smoothing:antialiased}
#cc-main *,#cc-main *::before,#cc-main *::after{box-sizing:border-box}
#cc-main button{appearance:none;background:none;border:0;border-radius:0;margin:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
#cc-main h2,#cc-main h3,#cc-main p{margin:0}
#cc-main .cm:focus,#cc-main .pm:focus,#cc-main .pm__title:focus{outline:0}

/* ---------- buttons (Primary + Clay tile / Secondary / Secondary on dark), size S ---------- */
#cc-main .cm__btn,#cc-main .pm__btn{display:inline-flex;align-items:center;height:40px;font-size:var(--t-btn-s);line-height:14px;font-weight:500;white-space:nowrap;transition:background .25s,border-color .25s,color .25s}
#cc-main [data-role="all"]:not(.pm__btn),#cc-main .pm__btn[data-role="save"]{background:var(--walnut);color:var(--ivory);padding:0 5px 0 16px;gap:16px}
#cc-main [data-role="all"]:not(.pm__btn)::after,#cc-main .pm__btn[data-role="save"]::after{content:"";flex:none;width:30px;height:30px;background:var(--cc-arrow) center/16px no-repeat,var(--clay);transition:background-color .25s}
#cc-main [data-role="all"]:not(.pm__btn):hover::after,#cc-main .pm__btn[data-role="save"]:hover::after{background:var(--cc-arrow-r) center/16px no-repeat,var(--clayHover)}
#cc-main .cm__btn[data-role="necessary"]{border:1px solid var(--ivory40);color:var(--ivory);padding:0 16px}
#cc-main .cm__btn[data-role="necessary"]:hover{background:var(--ivory10);border-color:var(--ivory)}
#cc-main .pm__btn[data-role="all"]{border:1px solid var(--walnut40);color:var(--walnut);padding:0 16px}
#cc-main .pm__btn[data-role="all"]:hover{background:var(--walnut10);border-color:var(--walnut)}
#cc-main .cm__btn[data-role="show"]{height:auto;margin-left:auto;font-size:var(--t-link);line-height:var(--l-link);color:var(--ivory);text-decoration:underline;text-underline-offset:3px;transition:opacity .3s}
#cc-main .cm__btn[data-role="show"]:hover{opacity:.6}
#cc-main .cm :focus-visible{outline:2px solid var(--ivory);outline-offset:3px}
#cc-main .pm :focus-visible{outline:2px solid var(--clay);outline-offset:3px}

/* ---------- banner ---------- */
#cc-main .cm{position:fixed;left:var(--gut);bottom:24px;width:min(536px, calc(100vw - 2 * var(--gut)));padding:32px;display:flex;flex-direction:column;
  background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ivory);
  opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease}
.show--consent #cc-main .cm{opacity:1;visibility:visible;transform:none}
#cc-main .cm__body{display:flex;flex-direction:column;gap:24px}
#cc-main .cm__texts{display:flex;flex-direction:column;gap:8px}
#cc-main .cm__title{font-size:var(--t-h6);line-height:var(--l-h6);font-weight:500}
#cc-main .cm__desc{font-size:var(--t-body-s);line-height:var(--l-body-s);color:var(--ivory80)}
#cc-main .cm__btns{display:flex;align-items:center;gap:16px}
#cc-main .cm__btn-group{display:contents}
#cc-main .cm__footer{display:none}

/* ---------- settings ---------- */
#cc-main .pm-overlay{position:fixed;inset:0;background:var(--glass-card);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.show--preferences #cc-main .pm-overlay{opacity:1;visibility:visible}
#cc-main .pm{position:fixed;left:50%;top:50%;width:min(648px, calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;
  padding:40px;background:var(--ivory);display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transform:translate(-50%,calc(-50% + 16px));transition:opacity .3s ease,visibility .3s ease,transform .3s ease}
.show--preferences #cc-main .pm{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
#cc-main .pm__header{display:flex;align-items:flex-start;gap:24px;margin-bottom:16px}
#cc-main .pm__title{flex:1;font-size:var(--t-h4);line-height:var(--l-h4);letter-spacing:var(--k-h4);font-weight:400;outline:0}
#cc-main .pm__close-btn{flex:none;width:24px;height:24px;display:grid;place-items:center}
#cc-main .pm__close-btn span,#cc-main .pm__close-btn svg{display:block;width:24px;height:24px}
#cc-main .pm__close-btn path{stroke:var(--walnut);stroke-width:2;stroke-linecap:butt;transition:stroke .25s}
#cc-main .pm__close-btn:hover path{stroke:var(--clay)}
#cc-main .pm__body{display:flex;flex-direction:column;gap:32px}
#cc-main .pm__section-desc{font-size:var(--t-body-s);line-height:var(--l-body-s);color:var(--walnut70)}
#cc-main .pm__section-desc a{text-decoration:underline;text-underline-offset:2px}
#cc-main .pm__section-toggles{border-bottom:1px solid var(--walnut20)}
#cc-main .pm__section--toggle{display:grid;grid-template-columns:1fr 40px;column-gap:40px;row-gap:8px;padding:24px 0;border-top:1px solid var(--walnut20)}
#cc-main .pm__section-title-wrapper{display:contents}
#cc-main .pm__section-title{grid-column:1;grid-row:1;margin:0;font-size:var(--t-h6);line-height:var(--l-h6);font-weight:500;color:var(--walnut)}
#cc-main .pm__section-arrow{display:none}
#cc-main .pm__section-desc-wrapper{grid-column:1;grid-row:2}
#cc-main .pm__footer{display:flex;gap:16px;margin-top:32px}
#cc-main .pm__btn-group{display:contents}
#cc-main .pm__btn[data-role="save"]{order:-1}

/* toggle: 40×24, square knob 16 (Off / On / Disabled) */
#cc-main .section__toggle-wrapper{grid-column:2;grid-row:1 / span 2;position:relative;width:40px;height:24px;cursor:pointer}
#cc-main .section__toggle{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
#cc-main .toggle__icon{position:absolute;inset:0;border:1px solid var(--walnut40);transition:background .25s,border-color .25s}
#cc-main .toggle__icon-circle{position:absolute;left:3px;top:3px;width:16px;height:16px;background:var(--walnut40);transition:transform .25s,background .25s}
#cc-main .toggle__icon-on,#cc-main .toggle__icon-off,#cc-main .toggle__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#cc-main .toggle__icon-on svg,#cc-main .toggle__icon-off svg{display:none}
#cc-main .section__toggle:checked~.toggle__icon{background:var(--walnut);border-color:var(--walnut)}
#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{background:var(--ivory);transform:translateX(16px)}
#cc-main .section__toggle:disabled,#cc-main .section__toggle:disabled~.toggle__icon{cursor:default}
#cc-main .section__toggle:disabled~.toggle__icon{background:var(--walnut20);border-color:var(--walnut20)}
#cc-main .section__toggle:disabled~.toggle__icon .toggle__icon-circle{background:var(--ivory);transform:translateX(16px)}
#cc-main .section__toggle:focus-visible~.toggle__icon{outline:2px solid var(--clay);outline-offset:3px}

/* footer + /cookies "Cookie settings" triggers */
.fcol button.flink{display:block;margin:8px 0 0;padding:0;background:none;border:0;font:inherit;font-size:16px;line-height:24px;color:inherit;text-align:left;cursor:pointer;transition:opacity .3s ease}
.fcol button.flink:hover{opacity:.6}

@media (max-width:1023px){
  #cc-main .cm{left:20px;right:20px;bottom:20px;width:auto;padding:24px}
  #cc-main .cm__btns{flex-wrap:wrap;gap:16px 12px}
  #cc-main .cm__btn-group:last-child{display:block;flex-basis:100%}
  #cc-main .cm__btn[data-role="show"]{margin-left:0}
  #cc-main .cm__btn,#cc-main .pm__btn{height:48px;font-size:var(--t-btn);line-height:16px}
  #cc-main [data-role="all"]:not(.pm__btn),#cc-main .pm__btn[data-role="save"]{padding-right:6px}
  #cc-main [data-role="all"]:not(.pm__btn)::after,#cc-main .pm__btn[data-role="save"]::after{width:36px;height:36px;background-size:20px}
  #cc-main .pm{left:0;right:0;top:auto;bottom:0;width:auto;max-height:100dvh;padding:32px 20px;transform:translateY(24px)}
  .show--preferences #cc-main .pm{transform:none}
  #cc-main .pm__section--toggle{column-gap:24px}
  #cc-main .pm__footer{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  #cc-main .cm,#cc-main .pm,#cc-main .pm-overlay{transition:none}
}
@media (max-width:1023px){
  #cc-main [data-role="all"]:not(.pm__btn):hover::after,#cc-main .pm__btn[data-role="save"]:hover::after{background-size:20px}
}
