/* Cookie notice override — full-screen modal. Replaces the plugin's front.css.
   Mockup: _sffr/workplan/design/cookie-consent/perfect.html */

.sffr-cc{
	--cc-low:#fff8ea;
	--cc-on:#2a170d;
	--cc-on-var:#54433d;
	--cc-outline:#dac1ba;
	--cc-primary-c:#6d2a12;
	--cc-amber:#fdb742;
	--cc-inv-on:#ffede6;
	--cc-hex:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
	position:fixed;
	inset:0;
	z-index:999999;
	pointer-events:none;
	font-family:'Inter',sans-serif;
	color:var(--cc-on);
}
.sffr-cc *{box-sizing:border-box}

/* Scroll lock while the modal is open */
html.sffr-cc-lock,
html.sffr-cc-lock body{overflow:hidden;height:100%}

/* Show / hide state is driven by the plugin's classes */
#cookie-notice.cookie-notice-hidden .cookie-notice-container,
#cookie-notice.cookie-revoke-hidden .cookie-revoke-container{display:none}

/* The plugin toggles .cn-animated and waits for animationend */
#cookie-notice.cn-animated{animation-duration:.35s;animation-fill-mode:both;animation-name:sffr-cc-out}
#cookie-notice.cn-animated.cookie-notice-visible,
#cookie-notice.cn-animated.cookie-revoke-visible{animation-name:sffr-cc-in}
@keyframes sffr-cc-in{from{opacity:0}to{opacity:1}}
@keyframes sffr-cc-out{from{opacity:1}to{opacity:0}}
@media (prefers-reduced-motion:reduce){
	#cookie-notice.cn-animated{animation-duration:.001s}
	.sffr-cc__panel,.sffr-cc__tog,.sffr-cc__tog::after,.sffr-cc__chev{transition:none!important}
}

/* Overlay */
.sffr-cc__overlay{
	position:fixed;
	inset:0;
	pointer-events:auto;
	background:rgba(42,23,13,.72);
	-webkit-backdrop-filter:blur(14px);
	backdrop-filter:blur(14px);
	overscroll-behavior:contain;
}
.sffr-cc__scroll{
	width:100%;
	height:100%;
	overflow-y:auto;
	overscroll-behavior:contain;
	display:flex;
	padding:24px 16px;
}
.sffr-cc__scroll>*{margin:auto}

/* Card with hexagon corners */
.sffr-cc__card{
	position:relative;
	width:min(640px,100%);
	background:#fff;
	border-radius:15px;
	padding:36px clamp(20px,5vw,44px) 28px;
	overflow:hidden;
	box-shadow:0 30px 80px rgba(0,0,0,.3);
}
.sffr-cc__card::before,
.sffr-cc__card::after{content:"";position:absolute;clip-path:var(--cc-hex);pointer-events:none}
.sffr-cc__card::before{left:-70px;top:-86px;width:150px;height:173px;background:var(--cc-amber)}
.sffr-cc__card::after{right:-80px;bottom:-96px;width:170px;height:196px;background:var(--cc-low)}
.sffr-cc__card>*{position:relative;z-index:1}

.sffr-cc__top{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.sffr-cc__hex{
	display:grid;
	place-items:center;
	flex:none;
	clip-path:var(--cc-hex);
	width:56px;
	height:64px;
	background:var(--cc-primary-c);
	color:var(--cc-amber);
}
.sffr-cc__hex svg{width:52%;height:52%}
.sffr-cc__title{
	margin:0;
	font-family:'Quicksand',sans-serif;
	font-weight:700;
	font-size:clamp(24px,4.5vw,32px);
	line-height:1.1;
	letter-spacing:-.04em;
	color:var(--cc-on);
}
.sffr-cc__lead{margin:0;color:var(--cc-on-var);font-size:16px;line-height:1.65}
.sffr-cc__lead a{color:var(--cc-primary-c);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Customise panel — hidden until "dostosować" is clicked */
.sffr-cc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.sffr-cc__panel.is-open{grid-template-rows:1fr}
.sffr-cc__panel-in{overflow:hidden;min-height:0}
.sffr-cc__list{margin-top:18px;border-top:1px solid var(--cc-outline)}
.sffr-cc__item{border-bottom:1px solid var(--cc-outline)}
.sffr-cc__head{display:flex;align-items:center;gap:14px;width:100%;padding:14px 0;text-align:left;cursor:pointer}
.sffr-cc__head b{flex:1;font-size:15px;font-weight:600}
.sffr-cc__chev{width:18px;height:18px;flex:none;transition:transform .2s}
.sffr-cc__item.is-open .sffr-cc__chev{transform:rotate(180deg)}
.sffr-cc__body{display:none;padding:0 0 14px;font-size:13.5px;line-height:1.6;color:var(--cc-on-var)}
.sffr-cc__item.is-open .sffr-cc__body{display:block}

/* Switch with a hexagon thumb */
.sffr-cc__tog{
	position:relative;
	width:46px;
	height:26px;
	flex:none;
	padding:0;
	border:0;
	border-radius:99px;
	background:var(--cc-outline);
	cursor:pointer;
	transition:background .2s;
}
.sffr-cc__tog::after{
	content:"";
	position:absolute;
	top:3px;
	left:3px;
	width:20px;
	height:20px;
	background:#fff;
	clip-path:var(--cc-hex);
	transition:transform .2s,background .2s;
}
.sffr-cc__tog[aria-checked="true"]{background:var(--cc-primary-c)}
.sffr-cc__tog[aria-checked="true"]::after{transform:translateX(20px);background:var(--cc-amber)}
.sffr-cc__tog[disabled]{opacity:.55;cursor:not-allowed}

.sffr-cc a:focus-visible,
.sffr-cc button:focus-visible,
.sffr-cc__head:focus-visible{outline:3px solid var(--cc-amber);outline-offset:2px}

/* Buttons */
.sffr-cc__actions{display:flex;gap:10px;margin-top:24px}
.sffr-cc__btn,
.sffr-cc .sffr-cc__btn{
	flex:1;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:15px 24px;
	border-radius:50px;
	font-weight:600;
	font-size:15px;
	line-height:1.2;
	text-align:center;
	text-decoration:none;
	cursor:pointer;
	transition:filter .2s,transform .2s;
}
.sffr-cc__btn:hover{filter:brightness(1.1)}
.sffr-cc__btn:active{transform:scale(.98)}
.sffr-cc__btn--out{border:1.5px solid var(--cc-primary-c);color:var(--cc-primary-c);background:transparent}
.sffr-cc__btn--pri{background:var(--cc-primary-c);color:var(--cc-inv-on);border:1.5px solid var(--cc-primary-c)}
@media (max-width:560px){.sffr-cc__actions{flex-direction:column-reverse}}

/* Revoke ("Ustawienia cookies") — small pill, bottom left */
.sffr-cc__revoke{position:fixed;left:16px;bottom:16px;pointer-events:auto}
.sffr-cc__revoke-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:6px 16px 6px 6px;
	border-radius:50px;
	background:var(--cc-primary-c);
	color:var(--cc-inv-on);
	font-size:13px;
	font-weight:600;
	text-decoration:none;
}
.sffr-cc__revoke-btn .sffr-cc__hex{width:30px;height:34px;background:var(--cc-amber);color:var(--cc-primary-c)}
.sffr-cc__revoke-btn:hover{filter:brightness(1.12);color:var(--cc-inv-on)}

/* phone: the floating cookie pill sat on top of the shop dock (Filtry / Sortuj) and its sheets */
@media (max-width: 960px) {
  body.sffr-catalog-page .sffr-cc__revoke {
    bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
  }

  body.sffr-lock .sffr-cc__revoke {
    display: none;
  }
}
