/* Atelier Cookie Consent — follows Atelier theme variables, with neutral fallbacks for other themes. */
.atc{
	--atc-bg:var(--at-bg,#faf8f5);
	--atc-text:var(--at-text,#1c1a17);
	--atc-muted:var(--at-muted,#6d675e);
	--atc-border:var(--at-border,#e3ddd3);
	--atc-surface:var(--at-surface,#f3efe9);
	--atc-solid:var(--at-text,#1c1a17);
	--atc-solid-text:var(--at-bg,#fff);
	--atc-radius:var(--at-radius,14px);
	--atc-font:var(--at-font-body,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif);
	--atc-on:#2f7a4f;
	font-family:var(--atc-font);color:var(--atc-text);font-size:15px;line-height:1.6;
	-webkit-font-smoothing:antialiased
}
.atc *,.atc *::before,.atc *::after{box-sizing:border-box}
.atc [hidden]{display:none!important}
.atc p{margin:0}
.atc a{color:inherit}
.atc-ico{flex:none;display:block}
html.atc-lock,html.atc-lock body{overflow:hidden}

/* ---------- Buttons ---------- */
.atc-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:999px;border:1px solid var(--atc-solid);font:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;text-align:center;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}
.atc-btn--solid{background:var(--atc-solid);color:var(--atc-solid-text)}
.atc-btn--solid:hover{opacity:.9}
.atc-btn--ghost{background:transparent;color:var(--atc-text)}
.atc-btn--ghost:hover{background:var(--atc-surface)}
.atc-btn--link{border-color:transparent;background:none;color:var(--atc-text);padding-left:6px;padding-right:6px;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.atc-btn--link:hover{color:var(--atc-muted)}
.atc-btn:focus-visible,.atc-x:focus-visible,.atc-reopen:focus-visible,.atc-switch input:focus-visible+.atc-switch__track,.atc a:focus-visible{outline:2px solid var(--atc-text);outline-offset:2px}

/* ---------- Banner ---------- */
.atc-banner{position:fixed;z-index:99990;background:var(--atc-bg);color:var(--atc-text);border:1px solid var(--atc-border);box-shadow:0 18px 50px -18px rgba(20,18,15,.38),0 2px 8px rgba(20,18,15,.06);opacity:0;transform:translateY(16px);transition:opacity .28s ease,transform .28s ease}
.atc.is-banner .atc-banner{opacity:1;transform:none}
.atc-banner__title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;line-height:1.35;margin-bottom:8px}
.atc-banner__title .atc-ico{width:22px;height:22px}
.atc-banner__msg{color:var(--atc-muted);font-size:14px}
.atc-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:10px!important;font-size:13.5px}
.atc-links a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.atc-links span{color:var(--atc-muted)}
.atc-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* Card: bottom-left */
.atc--card .atc-banner{left:20px;bottom:20px;width:min(440px,calc(100vw - 40px));padding:22px;border-radius:var(--atc-radius)}
.atc--card .atc-actions{margin-top:18px}
.atc--card .atc-actions .atc-btn--ghost,.atc--card .atc-actions .atc-btn--solid{flex:1 1 0}
.atc--card .atc-btn--link{order:3;flex-basis:100%;min-height:36px}

/* Bar: full width bottom */
.atc--bar .atc-banner{left:0;right:0;bottom:0;padding:18px max(24px,calc((100vw - 1200px) / 2));border-width:1px 0 0;display:flex;align-items:center;gap:28px}
.atc--bar .atc-banner__body{flex:1;min-width:0}
.atc--bar .atc-banner__title{margin-bottom:4px}
.atc--bar .atc-links{margin-top:6px!important}

/* Modal: centre */
.atc--modal .atc-banner{left:50%;top:50%;bottom:auto;width:min(520px,calc(100vw - 32px));padding:28px;border-radius:var(--atc-radius);transform:translate(-50%,calc(-50% + 16px))}
.atc--modal.is-banner .atc-banner{transform:translate(-50%,-50%)}
.atc--modal .atc-actions{margin-top:20px}
.atc--modal .atc-actions .atc-btn--ghost,.atc--modal .atc-actions .atc-btn--solid{flex:1 1 0}
.atc--modal .atc-btn--link{order:3;flex-basis:100%;min-height:36px}

/* ---------- Settings dialog ---------- */
.atc-scrim{position:fixed;inset:0;z-index:99991;background:rgba(28,26,23,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease}
.atc-scrim--banner{z-index:99989;opacity:1}
.atc.is-modal .atc-scrim{opacity:1}
.atc-panel{position:fixed;z-index:99992;left:50%;top:50%;width:min(560px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 48px));display:flex;flex-direction:column;background:var(--atc-bg);border:1px solid var(--atc-border);border-radius:var(--atc-radius);box-shadow:0 30px 80px -24px rgba(20,18,15,.5);transform:translate(-50%,calc(-50% + 14px));opacity:0;transition:opacity .25s ease,transform .25s ease;outline:none}
.atc.is-modal .atc-panel{opacity:1;transform:translate(-50%,-50%)}
.atc-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--atc-border)}
.atc-panel__title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}
.atc-x{appearance:none;display:grid;place-items:center;width:40px;height:40px;margin:-8px -10px -8px 0;border:0;border-radius:50%;background:none;color:var(--atc-text);cursor:pointer}
.atc-x:hover{background:var(--atc-surface)}
.atc-panel__body{padding:18px 22px;overflow-y:auto;overscroll-behavior:contain}
.atc-panel__intro{color:var(--atc-muted);font-size:14px;margin-bottom:14px!important}
.atc-cats{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.atc-cat{padding:14px 16px;border:1px solid var(--atc-border);border-radius:calc(var(--atc-radius) - 4px);background:var(--atc-surface)}
.atc-cat__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.atc-cat__label{font-weight:600;font-size:15px;cursor:pointer}
.atc-cat__desc{margin-top:4px!important;color:var(--atc-muted);font-size:13.5px}
.atc-always{flex:none;font-size:12.5px;font-weight:600;color:var(--atc-on);background:color-mix(in srgb,var(--atc-on) 12%,transparent);padding:4px 10px;border-radius:999px}
.atc-panel__foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:14px 22px 18px;border-top:1px solid var(--atc-border)}
.atc-panel__foot .atc-btn{flex:1 1 auto}
.atc-panel .atc-links{margin-top:14px!important}

/* Switch */
.atc-switch{position:relative;flex:none;width:46px;height:28px}
.atc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.atc-switch__track{position:absolute;inset:0;border-radius:999px;background:#cfc9bf;transition:background .18s ease}
.atc-switch__track::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s ease}
.atc-switch input:checked+.atc-switch__track{background:var(--atc-on)}
.atc-switch input:checked+.atc-switch__track::after{transform:translateX(18px)}

/* ---------- Reopen button ---------- */
.atc-reopen{position:fixed;z-index:9990;left:16px;bottom:16px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--atc-border);background:var(--atc-bg);color:var(--atc-text);box-shadow:0 6px 18px -8px rgba(20,18,15,.4);cursor:pointer;transition:transform .15s ease}
.atc-reopen:hover{transform:scale(1.06)}
/* Atelier: keep clear of the sticky "add to cart" bar on mobile product pages */
body.single-product .atc-reopen{bottom:84px}
@media (min-width:768px){body.single-product .atc-reopen{bottom:16px}}

/* Shortcode link [atc_cookie_settings] */
.atc-open-link{appearance:none;border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Placeholder for a held-back embed (optional, add before the iframe yourself) */
.atc-placeholder{display:grid;place-items:center;gap:8px;padding:24px;border:1px dashed var(--at-border,#e3ddd3);border-radius:var(--at-radius,12px);text-align:center;color:var(--at-muted,#6d675e)}

/* ---------- Mobile ---------- */
@media (max-width:640px){
	.atc--card .atc-banner,.atc--modal .atc-banner,.atc--bar .atc-banner{left:0;right:0;bottom:0;top:auto;width:auto;display:block;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:var(--atc-radius) var(--atc-radius) 0 0;border-width:1px 0 0;transform:translateY(24px)}
	.atc--card.is-banner .atc-banner,.atc--modal.is-banner .atc-banner,.atc--bar.is-banner .atc-banner{transform:none}
	.atc-banner__msg{font-size:13.5px}
	.atc .atc-actions{margin-top:16px}
	.atc .atc-actions .atc-btn--ghost,.atc .atc-actions .atc-btn--solid{flex:1 1 0}
	.atc .atc-actions .atc-btn--link{order:3;flex-basis:100%;min-height:36px}
	.atc-panel{left:0;right:0;top:auto;bottom:0;width:auto;max-height:calc(100dvh - 40px);border-radius:var(--atc-radius) var(--atc-radius) 0 0;border-width:1px 0 0;transform:translateY(24px)}
	.atc.is-modal .atc-panel{transform:none}
	.atc-panel__foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
	.atc-panel__foot .atc-btn{flex:1 1 calc(50% - 4px)}
	.atc-panel__foot .atc-btn--solid{flex-basis:100%;order:-1}
}
@media (prefers-reduced-motion:reduce){.atc-banner,.atc-panel,.atc-scrim,.atc-switch__track,.atc-switch__track::after{transition:none}}
@media print{.atc{display:none!important}}
