:root {
 --ziggy-bg: #06070a;
 --ziggy-bg-soft: #0f1118;
 --ziggy-card: #ffffff;
 --ziggy-card-soft: #f6f7fb;
 --ziggy-text: #15171c;
 --ziggy-muted: #6c7280;
 --ziggy-border: #e8eaf0;
 --ziggy-purple: #6f56da;
 --ziggy-purple-dark: #4e37b2;
 --ziggy-blue: #60cdff;
 --ziggy-green: #17bd54;
 --ziggy-white: #ffffff;
 --ziggy-radius: 24px;
 --ziggy-shadow: 0 24px 70px rgba(15, 17, 24, 0.14);
 --ziggy-shadow-dark: 0 35px 100px rgba(0, 0, 0, 0.45);
 --ziggy-focus: 0 0 0 4px rgba(111, 86, 218, 0.18);
 --ziggy-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

* {
 box-sizing: border-box;
}

img,
svg {
 max-width: 100%;
}

button,
a,
input,
textarea,
select {
 -webkit-tap-highlight-color: transparent;
}

:where(a, button, input, textarea, select):focus-visible {
 outline: 0;
 box-shadow: var(--ziggy-focus);
}

html {
 min-height: 100%;
 scroll-behavior: smooth;
}

body {
 min-height: 100vh;
 margin: 0;
 display: flex;
 flex-direction: column;
 font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
 color: var(--ziggy-text);
 background: var(--ziggy-white);
}

body > main {
 flex: 1 0 auto;
}

a {
 text-decoration: none;
}

.btn-ziggy-primary,
.btn-ziggy-outline {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.5rem;
 border-radius: 999px;
 padding: 0.82rem 1.35rem;
 font-weight: 800;
 line-height: 1.2;
 transition:
   transform 0.2s var(--ziggy-ease),
   box-shadow 0.2s var(--ziggy-ease),
   color 0.2s ease,
   background-color 0.2s ease,
   border-color 0.2s ease;
}

.btn-ziggy-primary {
 border-color: var(--ziggy-purple);
 color: var(--ziggy-white);
 background: var(--ziggy-purple);
 box-shadow: 0 14px 34px rgba(111, 86, 218, 0.28);
}

.btn-ziggy-primary:hover,
.btn-ziggy-primary:focus-visible {
 border-color: var(--ziggy-purple-dark);
 color: var(--ziggy-white);
 background: var(--ziggy-purple-dark);
 box-shadow: 0 18px 42px rgba(111, 86, 218, 0.34);
 transform: translateY(-2px);
}

.btn-ziggy-primary:focus-visible {
 box-shadow: var(--ziggy-focus), 0 18px 42px rgba(111, 86, 218, 0.34);
}

.btn-ziggy-primary:active,
.btn-ziggy-primary.active {
 border-color: var(--ziggy-purple-dark);
 color: var(--ziggy-white);
 background: var(--ziggy-purple-dark);
 box-shadow: 0 8px 22px rgba(111, 86, 218, 0.24);
 transform: translateY(0);
}

.btn-ziggy-outline {
 border-color: rgba(96, 205, 255, 0.46);
 color: var(--ziggy-white);
 background: transparent;
}

.btn-ziggy-outline:hover,
.btn-ziggy-outline:focus-visible {
 border-color: var(--ziggy-blue);
 color: var(--ziggy-white);
 background: rgba(96, 205, 255, 0.12);
 box-shadow: 0 16px 34px rgba(96, 205, 255, 0.16);
 transform: translateY(-2px);
}

.btn-ziggy-outline:focus-visible {
 box-shadow: var(--ziggy-focus), 0 16px 34px rgba(96, 205, 255, 0.16);
}

.btn-ziggy-outline:active,
.btn-ziggy-outline.active {
 border-color: var(--ziggy-blue);
 color: var(--ziggy-white);
 background: rgba(96, 205, 255, 0.18);
 box-shadow: 0 8px 20px rgba(96, 205, 255, 0.12);
 transform: translateY(0);
}

.site-header,
.page-header {
 background:
   radial-gradient(circle at 72% 10%, rgba(111, 86, 218, 0.28), transparent 30%),
   radial-gradient(circle at 100% 50%, rgba(96, 205, 255, 0.12), transparent 26%),
   var(--ziggy-bg);
 color: var(--ziggy-white);
}

.ziggy-navbar {
 padding: 20px 0;
 border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.brand-mark {
 padding-block: 0;
}

.brand-mark img {
 width: auto;
 height: 40px;
 display: block;
 object-fit: contain;
}

.ziggy-navbar .nav-link {
 position: relative;
 border-radius: 999px;
 padding-inline: 2px;
 color: rgba(255, 255, 255, 0.72);
 font-size: 0.95rem;
 font-weight: 600;
 margin-left: 18px;
 transition: color 0.18s ease, background-color 0.18s ease;
}

.ziggy-navbar .nav-link::after {
 content: "";
 position: absolute;
 left: 2px;
 right: 2px;
 bottom: 4px;
 height: 2px;
 border-radius: 999px;
 background: linear-gradient(90deg, var(--ziggy-purple), var(--ziggy-blue));
 opacity: 0;
 transform: scaleX(0.35);
 transform-origin: center;
 transition: opacity 0.18s ease, transform 0.18s ease;
}

.ziggy-navbar .nav-link:hover,
.ziggy-navbar .nav-link.active {
 color: var(--ziggy-white);
}

.ziggy-navbar .nav-link:hover::after,
.ziggy-navbar .nav-link.active::after {
 opacity: 1;
 transform: scaleX(1);
}

/* Home page */
.hero-section {
 padding: 82px 0 104px;
}

.home-hero-grid {
 display: grid;
 grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
 gap: clamp(2.5rem, 5vw, 4.75rem);
 align-items: center;
}

.home-hero-content {
 max-width: 720px;
}

.eyebrow,
.section-pill {
 display: inline-flex;
 align-items: center;
 width: fit-content;
 border-radius: 999px;
 padding: 8px 14px;
 margin-bottom: 18px;
 font-size: 0.78rem;
 font-weight: 700;
 letter-spacing: 0.04em;
 text-transform: uppercase;
}

.eyebrow {
 border: 1px solid rgba(255, 255, 255, 0.16);
 color: rgba(255, 255, 255, 0.86);
}

.hero-title {
 max-width: 760px;
 color: var(--ziggy-white);
 font-size: clamp(2.65rem, 5.3vw, 5.35rem);
 line-height: 0.96;
 letter-spacing: -0.075em;
 font-weight: 850;
 margin-bottom: 24px;
}

.hero-copy {
 max-width: 610px;
 color: rgba(255, 255, 255, 0.74);
 font-size: 1.08rem;
 line-height: 1.75;
 margin-bottom: 30px;
}

.hero-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 14px;
 margin-bottom: 30px;
}

.hero-points {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
}

.hero-points span {
 color: rgba(255, 255, 255, 0.76);
 font-size: 0.92rem;
}

.hero-points span::before {
 content: "✓";
 color: var(--ziggy-green);
 margin-right: 7px;
}

.home-preview-card {
 position: relative;
 overflow: hidden;
 border-radius: 30px;
 background: #151822;
 box-shadow: var(--ziggy-shadow-dark);
 border: 1px solid rgba(255, 255, 255, 0.12);
}

.browser-bar {
 display: flex;
 align-items: center;
 gap: 8px;
 padding: 16px;
 background: #20232d;
}

.browser-bar span {
 width: 10px;
 height: 10px;
 border-radius: 50%;
}

.browser-bar span:nth-child(1) { background: #ff5f57; }
.browser-bar span:nth-child(2) { background: #ffbd2e; }
.browser-bar span:nth-child(3) { background: #28c840; }

.address-bar {
 flex: 1;
 margin-left: 14px;
 border-radius: 8px;
 background: #0c0e14;
 color: rgba(255, 255, 255, 0.35);
 font-size: 0.78rem;
 padding: 8px 14px;
}

.home-preview-body {
 position: relative;
 display: grid;
 gap: 18px;
 padding: 28px;
 min-height: 460px;
 background:
   radial-gradient(circle at 82% 10%, rgba(96, 205, 255, 0.20), transparent 18rem),
   radial-gradient(circle at 12% 8%, rgba(111, 86, 218, 0.34), transparent 18rem),
   linear-gradient(135deg, #10131b, #151928);
}

.home-preview-main {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 gap: 20px;
 align-items: center;
 border-radius: 26px;
 padding: 26px;
 background: rgba(255, 255, 255, 0.075);
 border: 1px solid rgba(255, 255, 255, 0.12);
}

.home-status-pill,
.home-feature-kicker {
 display: inline-flex;
 width: fit-content;
 border-radius: 999px;
 font-weight: 850;
 letter-spacing: 0.04em;
 text-transform: uppercase;
}

.home-status-pill {
 padding: 7px 11px;
 margin-bottom: 16px;
 color: var(--ziggy-blue);
 background: rgba(96, 205, 255, 0.10);
 border: 1px solid rgba(96, 205, 255, 0.18);
 font-size: 0.72rem;
}

.home-preview-main h2 {
 color: var(--ziggy-white);
 font-size: clamp(1.8rem, 4vw, 2.65rem);
 line-height: 1;
 letter-spacing: -0.055em;
 margin-bottom: 12px;
}

.home-preview-main p {
 color: rgba(255, 255, 255, 0.64);
 line-height: 1.65;
 margin-bottom: 0;
}

.home-ai-orb {
 width: 118px;
 height: 118px;
 display: grid;
 place-items: center;
 border-radius: 50%;
 color: var(--ziggy-white);
 background:
   radial-gradient(circle, rgba(96, 205, 255, 0.42), transparent 58%),
   linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 border: 8px solid rgba(255, 255, 255, 0.11);
 box-shadow: 0 20px 52px rgba(96, 205, 255, 0.20);
 font-size: 1.65rem;
 font-weight: 900;
 letter-spacing: 0.08em;
}

.home-preview-grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 14px;
}

.home-preview-tile {
 display: grid;
 gap: 6px;
 min-height: 132px;
 border-radius: 22px;
 padding: 20px;
 color: var(--ziggy-white);
 background: rgba(255, 255, 255, 0.065);
 border: 1px solid rgba(255, 255, 255, 0.10);
 transition: transform 0.2s var(--ziggy-ease), background-color 0.2s ease, border-color 0.2s ease;
}

.home-preview-tile:hover,
.home-preview-tile:focus-visible {
 transform: translateY(-4px);
 color: var(--ziggy-white);
 background: rgba(255, 255, 255, 0.10);
 border-color: rgba(96, 205, 255, 0.26);
}

.home-preview-tile span {
 color: var(--ziggy-blue);
 font-size: 0.76rem;
 font-weight: 850;
 text-transform: uppercase;
 letter-spacing: 0.04em;
}

.home-preview-tile strong {
 font-size: 1.05rem;
 line-height: 1.2;
}

.home-preview-tile small {
 color: rgba(255, 255, 255, 0.56);
 line-height: 1.45;
}

.section-space {
 padding: 96px 0;
}

.section-soft {
 background: linear-gradient(180deg, #ffffff, var(--ziggy-card-soft));
}

.section-heading {
 max-width: 760px;
 margin: 0 auto 48px;
}

.section-pill {
 color: var(--ziggy-purple);
 border: 1px solid var(--ziggy-border);
 background: var(--ziggy-white);
}

.section-heading h2,
.home-split-heading h2 {
 font-size: clamp(2rem, 4vw, 3.1rem);
 line-height: 1.05;
 letter-spacing: -0.05em;
 font-weight: 850;
 margin-bottom: 16px;
}

.section-heading p,
.home-split-heading p {
 color: var(--ziggy-muted);
 font-size: 1.04rem;
 line-height: 1.7;
 margin-bottom: 0;
}

.home-feature-grid {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 18px;
}

.home-feature-card {
 min-height: 100%;
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 overflow: hidden;
 position: relative;
 border-radius: 28px;
 padding: 28px;
 color: var(--ziggy-text);
 background: var(--ziggy-white);
 border: 1px solid var(--ziggy-border);
 box-shadow: 0 12px 36px rgba(15, 17, 24, 0.06);
 transition:
   transform 0.22s var(--ziggy-ease),
   box-shadow 0.22s var(--ziggy-ease),
   border-color 0.2s ease;
}

.home-feature-card::after {
 content: "";
 position: absolute;
 inset: auto -40px -64px auto;
 width: 150px;
 height: 150px;
 border-radius: 50%;
 background: radial-gradient(circle, rgba(111, 86, 218, 0.12), transparent 70%);
 pointer-events: none;
}

.home-feature-card:hover,
.home-feature-card:focus-visible {
 transform: translateY(-6px);
 border-color: rgba(111, 86, 218, 0.34);
 box-shadow: var(--ziggy-shadow);
 color: var(--ziggy-text);
}

.home-feature-icon {
 width: 54px;
 height: 54px;
 display: grid;
 place-items: center;
 border-radius: 18px;
 margin-bottom: 22px;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 font-weight: 900;
}

.home-feature-kicker {
 padding: 0;
 margin-bottom: 10px;
 color: var(--ziggy-purple);
 font-size: 0.72rem;
}

.home-feature-card h3 {
 font-size: 1.45rem;
 font-weight: 850;
 letter-spacing: -0.035em;
 margin-bottom: 12px;
}

.home-feature-card p {
 color: var(--ziggy-muted);
 line-height: 1.65;
 margin-bottom: 24px;
}

.home-feature-card strong,
.home-spotlight-card strong {
 margin-top: auto;
 color: var(--ziggy-purple);
 font-weight: 850;
}

.home-split-heading {
 display: flex;
 align-items: end;
 justify-content: space-between;
 gap: 28px;
 margin-bottom: 34px;
}

.home-split-heading > div {
 max-width: 660px;
}

.home-split-heading p {
 max-width: 420px;
}

.home-spotlight-grid {
 display: grid;
 grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.8fr);
 gap: 18px;
}

.home-spotlight-card {
 display: flex;
 flex-direction: column;
 overflow: hidden;
 border-radius: 30px;
 color: var(--ziggy-text);
 background: var(--ziggy-white);
 border: 1px solid var(--ziggy-border);
 box-shadow: 0 14px 38px rgba(15, 17, 24, 0.08);
 transition:
   transform 0.22s var(--ziggy-ease),
   box-shadow 0.22s var(--ziggy-ease),
   border-color 0.2s ease;
}

.home-spotlight-card:hover,
.home-spotlight-card:focus-visible {
 transform: translateY(-5px);
 border-color: rgba(111, 86, 218, 0.34);
 box-shadow: var(--ziggy-shadow);
 color: var(--ziggy-text);
}

.home-spotlight-large {
 grid-row: span 2;
}

.home-spotlight-image {
 display: block;
 overflow: hidden;
 aspect-ratio: 16 / 9;
 background: #10131b;
}

.home-spotlight-large .home-spotlight-image {
 aspect-ratio: 16 / 8.2;
}

.home-spotlight-image img {
 width: 100%;
 height: 100%;
 display: block;
 object-fit: cover;
 transform: scale(1.01);
 transition: transform 0.35s var(--ziggy-ease);
}

.home-spotlight-card:hover .home-spotlight-image img,
.home-spotlight-card:focus-visible .home-spotlight-image img {
 transform: scale(1.055);
}

.home-spotlight-content {
 display: flex;
 flex-direction: column;
 flex: 1;
 padding: 26px;
}

.home-spotlight-content h3 {
 color: var(--ziggy-text);
 font-size: clamp(1.35rem, 2.5vw, 2.35rem);
 line-height: 1.06;
 letter-spacing: -0.045em;
 font-weight: 850;
 margin-bottom: 12px;
}

.home-spotlight-content p {
 color: var(--ziggy-muted);
 line-height: 1.65;
 margin-bottom: 20px;
}

.home-spotlight-dark {
 min-height: 100%;
 color: var(--ziggy-white);
 background:
   radial-gradient(circle at 100% 0, rgba(96, 205, 255, 0.22), transparent 16rem),
   radial-gradient(circle at 0 100%, rgba(111, 86, 218, 0.28), transparent 16rem),
   linear-gradient(135deg, #10131b, #181d2b);
 border-color: rgba(255, 255, 255, 0.10);
}

.home-spotlight-dark:hover,
.home-spotlight-dark:focus-visible {
 color: var(--ziggy-white);
}

.home-spotlight-dark .home-feature-kicker,
.home-spotlight-dark strong {
 color: var(--ziggy-blue);
}

.home-spotlight-dark h3 {
 color: var(--ziggy-white);
}

.home-spotlight-dark p {
 color: rgba(255, 255, 255, 0.66);
}

.quick-list {
 display: grid;
 gap: 16px;
}

.quick-list a {
 display: grid;
 grid-template-columns: auto 1fr;
 gap: 4px 18px;
 align-items: center;
 padding: 24px;
 border-radius: 22px;
 background: var(--ziggy-white);
 border: 1px solid var(--ziggy-border);
 color: var(--ziggy-text);
 transition:
   transform 0.2s var(--ziggy-ease),
   box-shadow 0.2s var(--ziggy-ease),
   border-color 0.2s ease;
}

.quick-list a:hover,
.quick-list a:focus-visible {
 transform: translateY(-3px);
 border-color: rgba(111, 86, 218, 0.35);
 box-shadow: var(--ziggy-shadow);
 color: var(--ziggy-text);
}

.quick-list span {
 grid-row: span 2;
 width: 44px;
 height: 44px;
 display: grid;
 place-items: center;
 border-radius: 14px;
 background: #f0edff;
 color: var(--ziggy-purple);
 font-weight: 850;
}

.quick-list strong { font-size: 1.08rem; }

.quick-list small { color: var(--ziggy-muted); }


/* Carts page */
.page-hero {
 padding: 58px 0 66px;
}

.page-hero-inner {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 gap: 32px;
 align-items: end;
}

.page-title {
 max-width: 760px;
 color: var(--ziggy-white);
 font-size: clamp(2.2rem, 5vw, 4.1rem);
 line-height: 0.98;
 letter-spacing: -0.065em;
 font-weight: 850;
 margin-bottom: 18px;
}

.page-copy {
 max-width: 720px;
 color: rgba(255, 255, 255, 0.70);
 font-size: 1.04rem;
 line-height: 1.75;
 margin-bottom: 0;
}

.page-hero-panel {
 min-width: 220px;
 border-radius: 24px;
 padding: 22px;
 background: rgba(255, 255, 255, 0.07);
 border: 1px solid rgba(255, 255, 255, 0.12);
}

.page-hero-panel strong {
 display: block;
 color: var(--ziggy-white);
 font-size: 2.2rem;
 line-height: 1;
 margin-bottom: 8px;
}

.page-hero-panel span {
 color: rgba(255, 255, 255, 0.62);
 font-weight: 650;
}

.carts-section {
 padding: 72px 0 96px;
 background:
   radial-gradient(circle at 8% 4%, rgba(111, 86, 218, 0.08), transparent 28rem),
   linear-gradient(180deg, #ffffff, #f7f8fc);
}

.carts-toolbar {
 display: flex;
 justify-content: space-between;
 gap: 20px;
 align-items: center;
 margin-bottom: 34px;
}

.carts-toolbar h2 {
 color: var(--ziggy-text);
 font-weight: 850;
 letter-spacing: -0.04em;
 margin-bottom: 6px;
}

.carts-toolbar p {
 color: var(--ziggy-muted);
 margin-bottom: 0;
}

.cart-tile {
 isolation: isolate;
 height: 100%;
 min-height: 252px;
 display: flex;
 flex-direction: column;
 position: relative;
 overflow: hidden;
 border-radius: 28px;
 background: rgba(255, 255, 255, 0.92);
 border: 1px solid rgba(232, 234, 240, 0.95);
 outline: 1px solid transparent;
 box-shadow: 0 14px 36px rgba(15, 17, 24, 0.08);
 color: var(--ziggy-text);
 transition:
   transform 0.24s var(--ziggy-ease),
   box-shadow 0.24s var(--ziggy-ease),
   border-color 0.2s ease,
   outline-color 0.2s ease;
}

.cart-tile::before {
 content: "";
 position: absolute;
 inset: 0;
 z-index: -1;
 background:
   radial-gradient(circle at 50% 18%, rgba(111, 86, 218, 0.10), transparent 11rem),
   linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 249, 253, 0.88));
 opacity: 0;
 transition: opacity 0.24s ease;
}

.cart-tile:hover,
.cart-tile:focus-visible {
 transform: translateY(-7px);
 border-color: rgba(111, 86, 218, 0.38);
 outline-color: rgba(111, 86, 218, 0.12);
 box-shadow: 0 30px 76px rgba(15, 17, 24, 0.17);
 color: var(--ziggy-text);
}

.cart-tile:hover::before,
.cart-tile:focus-visible::before {
 opacity: 1;
}

.cart-logo-wrap {
 min-height: 162px;
 height: auto;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 34px 28px 24px;
}

.cart-logo-wrap img {
 display: block;
 flex: 0 0 auto;
 width: auto;
 height: auto;
 max-width: min(100%, var(--logo-width, 11rem));
 max-height: var(--logo-height, 5.8rem);
 object-fit: contain;
 object-position: 50% 50%;
 margin: auto;
 filter: saturate(1.02);
 transform-origin: center;
 transition: transform 0.22s ease;
}

.cart-tile:hover .cart-logo-wrap img,
.cart-tile:focus-visible .cart-logo-wrap img {
 transform: scale(1.04);
}

.cart-meta {
 margin-top: auto;
 padding: 18px 22px 22px;
 border-top: 1px solid var(--ziggy-border);
 background: linear-gradient(180deg, rgba(246, 247, 251, 0.45), rgba(255, 255, 255, 1));
}

.cart-meta strong,
.cart-meta span {
 display: block;
}

.cart-meta strong {
 color: var(--ziggy-text);
 font-size: 1.03rem;
 font-weight: 850;
 margin-bottom: 4px;
}

.cart-meta span {
 color: var(--ziggy-muted);
 font-size: 0.86rem;
 font-weight: 650;
}

.cart-open {
 position: absolute;
 top: 18px;
 right: 18px;
 width: 34px;
 height: 34px;
 display: grid;
 place-items: center;
 border-radius: 50%;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 z-index: 2;
 font-size: 0.98rem;
 font-weight: 850;
 box-shadow: 0 12px 28px rgba(111, 86, 218, 0.25);
 opacity: 0;
 transform: translateY(-6px);
 transition: opacity 0.22s ease, transform 0.22s ease;
}

.cart-tile:hover .cart-open,
.cart-tile:focus-visible .cart-open {
 opacity: 1;
 transform: translateY(0);
}

.cart-logo-wrap img.logo-ps17 { --logo-width: 11.4rem; --logo-height: 6.3rem; }
.cart-logo-wrap img.logo-ps8,
.cart-logo-wrap img.logo-ps9 { --logo-width: 8.8rem; --logo-height: 6rem; }
.cart-logo-wrap img.logo-oscomm { --logo-width: 7.2rem; --logo-height: 7.2rem; }
.cart-logo-wrap img.logo-wp { --logo-width: 5.5rem; --logo-height: 5.5rem; }
.cart-logo-wrap img.logo-woo { --logo-width: 11.8rem; --logo-height: 4.2rem; }
.cart-logo-wrap img.logo-opencart { --logo-width: 11.8rem; --logo-height: 4rem; }
.cart-logo-wrap img.logo-gambio { --logo-width: 9.8rem; --logo-height: 4rem; border-radius: 5%; }
.cart-logo-wrap img.logo-magento { --logo-width: 10rem; --logo-height: 4.8rem; }
.cart-logo-wrap img.logo-shopware { --logo-width: 12.2rem; --logo-height: 4.1rem; border-radius: 5%; }

.carts-help {
 margin-top: 38px;
 padding: 24px;
 border-radius: 24px;
 background: #10131b;
 color: var(--ziggy-white);
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 22px;
 box-shadow: 0 18px 44px rgba(15, 17, 24, 0.22);
}

.carts-help strong {
 display: block;
 margin-bottom: 5px;
 font-size: 1.08rem;
}

.carts-help span {
 color: rgba(255, 255, 255, 0.62);
}

.site-footer {
 flex-shrink: 0;
 padding: 28px 0;
 background: var(--ziggy-bg);
 color: rgba(255, 255, 255, 0.7);
}

.footer-inner {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 gap: 0.9rem;
 text-align: center;
}

.footer-logo {
 width: auto;
 height: 36px;
 display: block;
 object-fit: contain;
}

.footer-copy {
 color: rgba(255, 255, 255, 0.72);
 font-size: 0.75rem;
 line-height: 1.6;
 max-width: 760px;
}

.footer-copy a {
 font-weight: 800;
}

.footer-credit-link,
.footer-credit-link:link,
.footer-credit-link:visited {
 color: var(--ziggy-purple);
}

.footer-credit-link {
 text-decoration-color: currentcolor;
 text-underline-offset: 0.16em;
 transition: color 0.18s ease, text-decoration-thickness 0.18s ease;
}

.footer-credit-link:hover,
.footer-credit-link:focus-visible {
 color: #9b86ff;
 text-decoration-thickness: 0.14em;
}

.footer-credit-link:active {
 color: var(--ziggy-purple-dark);
 text-decoration-thickness: 0.14em;
}

@media (max-width: 1199.98px) {
 .home-feature-grid {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .home-spotlight-grid {
   grid-template-columns: 1fr;
 }

 .home-spotlight-large {
   grid-row: auto;
 }
}

@media (max-width: 991.98px) {
 .ziggy-navbar .nav-link {
   width: fit-content;
   margin-left: 0;
   padding: 10px 0;
 }

 .ziggy-navbar .nav-link::after {
   bottom: 7px;
 }

 .hero-section {
   padding: 58px 0 78px;
 }

 .home-hero-grid {
   grid-template-columns: 1fr;
 }

 .home-preview-body {
   min-height: auto;
 }

 .page-hero-inner {
   grid-template-columns: 1fr;
 }

 .page-hero-panel {
   min-width: 0;
   max-width: 320px;
 }

 .carts-toolbar {
   display: grid;
 }
}

@media (max-width: 767.98px) {
 .brand-mark img {
   height: 34px;
 }

 .footer-logo {
   height: 32px;
 }

 .hero-actions {
   display: grid;
 }

 .btn-ziggy-primary,
 .btn-ziggy-outline {
   width: 100%;
 }

 .home-preview-body {
   padding: 18px;
 }

 .home-preview-main {
   grid-template-columns: 1fr;
 }

 .home-ai-orb {
   width: 92px;
   height: 92px;
 }

 .home-preview-grid,
 .home-feature-grid {
   grid-template-columns: 1fr;
 }

 .home-split-heading {
   align-items: flex-start;
   flex-direction: column;
 }

 .section-space {
   padding: 70px 0;
 }

 .page-hero {
   padding: 48px 0 56px;
 }

 .carts-section {
   padding: 54px 0 74px;
 }

 .cart-tile {
   min-height: 230px;
 }

 .cart-logo-wrap {
   min-height: 148px;
   padding: 30px 24px 18px;
 }

 .cart-open {
   opacity: 1;
   transform: none;
 }

 .carts-help {
   display: grid;
 }
}


/* Contact page */
.contact-section {
 padding: 72px 0 96px;
 background:
   radial-gradient(circle at 10% 0, rgba(111, 86, 218, 0.08), transparent 28rem),
   radial-gradient(circle at 90% 12%, rgba(96, 205, 255, 0.08), transparent 26rem),
   linear-gradient(180deg, #ffffff, #f7f8fc);
}

.contact-grid {
 display: grid;
 grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
 gap: 28px;
 align-items: start;
}

.contact-form-card,
.contact-info-card {
 border-radius: 30px;
 background: rgba(255, 255, 255, 0.94);
 border: 1px solid rgba(232, 234, 240, 0.95);
 box-shadow: 0 18px 50px rgba(15, 17, 24, 0.09);
}

.contact-form-card {
 padding: 34px;
}

.contact-info-card {
 overflow: hidden;
}

.contact-card-heading {
 margin-bottom: 26px;
}

.contact-card-heading h2 {
 color: var(--ziggy-text);
 font-size: clamp(1.7rem, 3vw, 2.35rem);
 line-height: 1.05;
 letter-spacing: -0.045em;
 font-weight: 850;
 margin-bottom: 10px;
}

.contact-card-heading p {
 color: var(--ziggy-muted);
 margin-bottom: 0;
 line-height: 1.7;
}

.ziggy-form {
 display: grid;
 gap: 20px;
}

.form-row-two {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 18px;
}

.ziggy-field label {
 display: block;
 color: var(--ziggy-text);
 font-size: 0.9rem;
 font-weight: 800;
 margin-bottom: 8px;
}

.ziggy-field input,
.ziggy-field textarea {
 width: 100%;
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 padding: 14px 16px;
 color: var(--ziggy-text);
 background: #fbfcff;
 font: inherit;
 outline: none;
 transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.ziggy-field input::placeholder,
.ziggy-field textarea::placeholder {
 color: #9aa2b5;
}

.ziggy-field textarea {
 min-height: 172px;
 resize: vertical;
}

.ziggy-field input:focus,
.ziggy-field textarea:focus {
 border-color: rgba(111, 86, 218, 0.52);
 background: #ffffff;
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.10);
 transform: translateY(-1px);
}

.form-actions {
 display: flex;
 align-items: center;
 gap: 16px;
 flex-wrap: wrap;
 margin-top: 4px;
}

.form-note {
 color: var(--ziggy-muted);
 font-size: 0.9rem;
 margin-bottom: 0;
}

.contact-info-top {
 padding: 30px;
 color: var(--ziggy-white);
 background:
   radial-gradient(circle at 100% 0, rgba(96, 205, 255, 0.25), transparent 18rem),
   linear-gradient(135deg, #10131b, #191d2a);
}

.contact-info-top .section-pill {
 color: var(--ziggy-white);
 background: rgba(255, 255, 255, 0.08);
 border-color: rgba(255, 255, 255, 0.16);
}

.contact-info-top h2 {
 color: var(--ziggy-white);
 font-size: 1.75rem;
 line-height: 1.08;
 letter-spacing: -0.04em;
 font-weight: 850;
 margin-bottom: 12px;
}

.contact-info-top p {
 color: rgba(255, 255, 255, 0.68);
 margin-bottom: 0;
 line-height: 1.7;
}

.contact-info-list {
 display: grid;
 gap: 0;
 padding: 0;
 margin: 0;
 list-style: none;
}

.contact-info-list li {
 display: grid;
 grid-template-columns: auto 1fr;
 gap: 14px;
 padding: 22px 26px;
 border-bottom: 1px solid var(--ziggy-border);
}

.contact-info-list li:last-child {
 border-bottom: 0;
}

.contact-info-icon {
 width: 42px;
 height: 42px;
 display: grid;
 place-items: center;
 border-radius: 14px;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 font-weight: 850;
}

.contact-info-list strong,
.contact-info-list span {
 display: block;
}

.contact-info-list strong {
 color: var(--ziggy-text);
 font-weight: 850;
 margin-bottom: 4px;
}

.contact-info-list span {
 color: var(--ziggy-muted);
 font-size: 0.92rem;
 line-height: 1.55;
}

@media (max-width: 991.98px) {
 .contact-grid {
   grid-template-columns: 1fr;
 }
}

@media (max-width: 767.98px) {
 .contact-section {
   padding: 54px 0 74px;
 }

 .contact-form-card {
   padding: 24px;
 }

 .form-row-two {
   grid-template-columns: 1fr;
 }

 .form-actions {
   display: grid;
 }
}


/* Podcast page */
.podcast-section {
 padding: 72px 0 96px;
 background:
   radial-gradient(circle at 8% 0, rgba(111, 86, 218, 0.08), transparent 28rem),
   radial-gradient(circle at 90% 10%, rgba(96, 205, 255, 0.08), transparent 26rem),
   linear-gradient(180deg, #ffffff, #f7f8fc);
}

.podcast-layout {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 360px;
 gap: 28px;
 align-items: start;
}

.podcast-main-column {
 display: grid;
 gap: 28px;
}

.featured-episode {
 overflow: hidden;
 border-radius: 32px;
 background: #10131b;
 color: var(--ziggy-white);
 box-shadow: 0 28px 80px rgba(15, 17, 24, 0.24);
 border: 1px solid rgba(255, 255, 255, 0.10);
}

.featured-episode-top {
 display: grid;
 grid-template-columns: minmax(280px, 0.86fr) minmax(0, 1.14fr);
 gap: 0;
 min-height: 460px;
}

.podcast-cover,
.episode-thumb {
 display: block;
 position: relative;
 overflow: hidden;
 background: #10131b;
}

.podcast-cover img,
.episode-thumb img {
 width: 100%;
 height: 100%;
 display: block;
 object-fit: cover;
 transform: scale(1.01);
 transition: transform 0.35s var(--ziggy-ease);
}

.featured-episode:hover .podcast-cover img,
.episode-card:hover .episode-thumb img,
.episode-card:focus-visible .episode-thumb img {
 transform: scale(1.055);
}

.podcast-cover-badge {
 position: absolute;
 left: 22px;
 bottom: 22px;
 display: inline-flex;
 align-items: center;
 border-radius: 999px;
 padding: 8px 13px;
 color: rgba(255, 255, 255, 0.94);
 background: rgba(0, 0, 0, 0.36);
 border: 1px solid rgba(255, 255, 255, 0.18);
 backdrop-filter: blur(10px);
 font-size: 0.76rem;
 font-weight: 850;
 letter-spacing: 0.04em;
 text-transform: uppercase;
}

.episode-hero-content {
 display: flex;
 flex-direction: column;
 justify-content: center;
 padding: clamp(2rem, 4vw, 3.4rem);
 background:
   radial-gradient(circle at 100% 0, rgba(96, 205, 255, 0.26), transparent 20rem),
   radial-gradient(circle at 0 0, rgba(111, 86, 218, 0.22), transparent 18rem),
   linear-gradient(135deg, #10131b, #181d2b);
}

.episode-kicker {
 display: inline-flex;
 width: fit-content;
 border-radius: 999px;
 padding: 8px 13px;
 margin-bottom: 18px;
 color: var(--ziggy-blue);
 background: rgba(96, 205, 255, 0.10);
 border: 1px solid rgba(96, 205, 255, 0.18);
 font-size: 0.78rem;
 font-weight: 800;
 letter-spacing: 0.04em;
 text-transform: uppercase;
}

.episode-hero-content h2 {
 max-width: 720px;
 color: var(--ziggy-white);
 font-size: clamp(2rem, 4vw, 3.35rem);
 line-height: 1;
 letter-spacing: -0.06em;
 font-weight: 850;
 margin-bottom: 16px;
}

.episode-hero-content p {
 color: rgba(255, 255, 255, 0.70);
 line-height: 1.75;
 margin-bottom: 22px;
}

.episode-meta-row {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 margin-bottom: 22px;
}

.episode-meta-row span {
 display: inline-flex;
 align-items: center;
 border-radius: 999px;
 padding: 8px 12px;
 color: rgba(255, 255, 255, 0.76);
 background: rgba(255, 255, 255, 0.07);
 font-size: 0.84rem;
 font-weight: 700;
}

.spotify-panel {
 padding: 18px;
 border-radius: 22px;
 background: #10131b;
 border: 1px solid rgba(255, 255, 255, 0.12);
 color: var(--ziggy-white);
}

.spotify-embed-frame {
 display: block;
 width: 100%;
 height: 152px;
 border: 0;
 border-radius: 14px;
 background: #10131b;
}

.spotify-frame {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 gap: 14px;
 align-items: center;
}

.spotify-frame i {
 width: 46px;
 height: 46px;
 display: grid;
 place-items: center;
 border-radius: 50%;
 color: var(--ziggy-white);
 background: #1db954;
 font-size: 1.35rem;
}

.spotify-frame strong,
.spotify-frame span {
 display: block;
}

.spotify-frame strong {
 margin-bottom: 4px;
 color: var(--ziggy-white);
 font-weight: 850;
}

.spotify-frame span,
.spotify-url-row {
 color: rgba(255, 255, 255, 0.54);
 font-size: 0.88rem;
 line-height: 1.55;
}

.spotify-url-row {
 display: grid;
 gap: 6px;
 margin-top: 16px;
 padding-top: 16px;
 border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.spotify-url-row span {
 color: rgba(255, 255, 255, 0.76);
 font-weight: 850;
}

.spotify-url-row code {
 width: fit-content;
 max-width: 100%;
 overflow-wrap: anywhere;
 border-radius: 999px;
 padding: 6px 10px;
 color: #d9f5ff;
 background: rgba(96, 205, 255, 0.10);
 font-size: 0.82rem;
}

.episode-description {
 padding: 32px 34px;
 background: var(--ziggy-white);
 color: var(--ziggy-text);
}

.episode-description h3 {
 font-size: 1.35rem;
 font-weight: 850;
 margin-bottom: 12px;
}

.episode-description p {
 color: var(--ziggy-muted);
 line-height: 1.75;
 margin-bottom: 0;
}

.episode-list-heading {
 display: flex;
 align-items: end;
 justify-content: space-between;
 gap: 18px;
 margin-top: 4px;
}

.episode-list-heading .episode-kicker {
 margin-bottom: 10px;
}

.episode-list-heading h2 {
 color: var(--ziggy-text);
 font-size: 1.7rem;
 line-height: 1.1;
 letter-spacing: -0.04em;
 font-weight: 850;
 margin: 0;
}

.episode-view-all {
 color: var(--ziggy-purple);
 font-weight: 800;
 white-space: nowrap;
}

.episode-view-all:hover,
.episode-view-all:focus-visible {
 color: var(--ziggy-purple-dark);
 text-decoration: underline;
}

.episode-list {
 display: grid;
 gap: 18px;
}

.episode-card {
 display: grid;
 grid-template-columns: 168px minmax(0, 1fr) auto;
 gap: 20px;
 align-items: stretch;
 overflow: hidden;
 border-radius: 26px;
 background: var(--ziggy-white);
 border: 1px solid var(--ziggy-border);
 box-shadow: 0 10px 30px rgba(15, 17, 24, 0.055);
 color: var(--ziggy-text);
 transition:
   transform 0.2s var(--ziggy-ease),
   box-shadow 0.2s var(--ziggy-ease),
   border-color 0.2s ease;
}

.episode-card:hover,
.episode-card:focus-visible {
 transform: translateY(-4px);
 border-color: rgba(111, 86, 218, 0.34);
 box-shadow: var(--ziggy-shadow);
 color: var(--ziggy-text);
}

.episode-thumb {
 min-height: 150px;
}

.episode-card-content {
 display: block;
 padding: 22px 0;
}

.episode-card-label {
 display: block;
 color: var(--ziggy-purple);
 font-size: 0.76rem;
 font-weight: 850;
 letter-spacing: 0.04em;
 text-transform: uppercase;
 margin-bottom: 8px;
}

.episode-card strong {
 display: block;
 color: var(--ziggy-text);
 font-size: 1.2rem;
 line-height: 1.22;
 letter-spacing: -0.03em;
 font-weight: 850;
 margin-bottom: 8px;
}

.episode-card p {
 color: var(--ziggy-muted);
 margin-bottom: 10px;
 line-height: 1.55;
}

.episode-card-meta {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 color: #8790a3;
 font-size: 0.84rem;
 font-weight: 700;
}

.episode-play {
 align-self: center;
 justify-self: center;
 width: 48px;
 height: 48px;
 margin-right: 22px;
 display: grid;
 place-items: center;
 border-radius: 50%;
 color: var(--ziggy-white);
 background: #10131b;
 font-size: 0.95rem;
 transition: transform 0.2s var(--ziggy-ease), background-color 0.2s ease;
}

.episode-card:hover .episode-play,
.episode-card:focus-visible .episode-play {
 transform: scale(1.06);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
}

.podcast-sidebar {
 display: grid;
 gap: 22px;
 position: sticky;
 top: 24px;
}

.subscribe-card,
.archive-card {
 border-radius: 28px;
 background: var(--ziggy-white);
 border: 1px solid var(--ziggy-border);
 box-shadow: 0 14px 36px rgba(15, 17, 24, 0.08);
 overflow: hidden;
}

.subscribe-card {
 padding: 28px;
}

.subscribe-icon {
 width: 58px;
 height: 58px;
 display: grid;
 place-items: center;
 border-radius: 18px;
 margin-bottom: 20px;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 font-size: 1.35rem;
 font-weight: 900;
}

.subscribe-card h2,
.archive-card h2 {
 color: var(--ziggy-text);
 font-size: 1.35rem;
 font-weight: 850;
 margin-bottom: 10px;
}

.subscribe-card p,
.archive-card p {
 color: var(--ziggy-muted);
 line-height: 1.65;
 margin-bottom: 20px;
}

.subscribe-form {
 display: grid;
 gap: 12px;
}

.subscribe-form input {
 width: 100%;
 border: 1px solid var(--ziggy-border);
 border-radius: 16px;
 padding: 13px 15px;
 background: #fbfcff;
 color: var(--ziggy-text);
 outline: none;
 transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.subscribe-form input:focus {
 border-color: rgba(111, 86, 218, 0.52);
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.10);
 transform: translateY(-1px);
}

.archive-card {
 padding: 28px;
}

.archive-list {
 display: grid;
 gap: 10px;
}

.archive-year {
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 overflow: hidden;
 background: #fbfcff;
}

.archive-year button {
 width: 100%;
 border: 0;
 display: flex;
 justify-content: space-between;
 gap: 12px;
 padding: 15px 16px;
 color: var(--ziggy-text);
 background: transparent;
 font-weight: 850;
 transition: background-color 0.18s ease, color 0.18s ease;
}

.archive-months {
 display: grid;
 gap: 0;
 padding: 0 16px 14px;
}

.archive-months a {
 display: flex;
 justify-content: space-between;
 gap: 12px;
 padding: 10px 0;
 color: var(--ziggy-muted);
 border-top: 1px solid var(--ziggy-border);
 font-size: 0.92rem;
 font-weight: 700;
}

.archive-months a:hover,
.archive-months a:focus-visible {
 color: var(--ziggy-purple);
}

.archive-months span {
 color: #9aa2b5;
}

@media (max-width: 1199.98px) {
 .podcast-layout {
   grid-template-columns: 1fr;
 }

 .podcast-sidebar {
   grid-template-columns: repeat(2, minmax(0, 1fr));
   position: static;
 }
}

@media (max-width: 991.98px) {
 .featured-episode-top {
   grid-template-columns: 1fr;
 }

 .podcast-cover {
   min-height: 300px;
 }

 .episode-card {
   grid-template-columns: 148px minmax(0, 1fr) auto;
 }

 .podcast-sidebar {
   grid-template-columns: 1fr;
 }
}

@media (max-width: 767.98px) {
 .podcast-section {
   padding: 54px 0 74px;
 }

 .podcast-cover {
   min-height: 230px;
 }

 .episode-hero-content,
 .episode-description {
   padding: 24px;
 }

 .episode-list-heading {
   align-items: flex-start;
   flex-direction: column;
 }

 .episode-view-all {
   white-space: normal;
 }

 .episode-card {
   grid-template-columns: 1fr;
 }

 .episode-thumb {
   min-height: 190px;
 }

 .episode-card-content {
   padding: 0 20px;
 }

 .episode-play {
   width: auto;
   height: 46px;
   margin: 0 20px 20px;
   border-radius: 16px;
 }
}


/* News page */
.news-section {
 padding: 72px 0 96px;
 background:
   radial-gradient(circle at 8% 0, rgba(111, 86, 218, 0.08), transparent 28rem),
   radial-gradient(circle at 90% 10%, rgba(96, 205, 255, 0.08), transparent 26rem),
   linear-gradient(180deg, #ffffff, #f7f8fc);
}

.news-editorial-layout {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 340px;
 gap: 28px;
 align-items: start;
}

.news-main-column {
 display: grid;
 gap: 26px;
}

.news-lead-card,
.news-story-card,
.news-list-card,
.news-search-card,
.news-categories-card,
.news-archive-card {
 border: 1px solid var(--ziggy-border);
 background: var(--ziggy-white);
 box-shadow: 0 14px 36px rgba(15, 17, 24, 0.08);
}

.news-lead-card {
 display: grid;
 grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
 overflow: hidden;
 border-radius: 32px;
 min-height: 430px;
}

.news-lead-image,
.news-card-image,
.news-list-image {
 display: block;
 position: relative;
 overflow: hidden;
 background: #10131b;
}

.news-lead-image {
 min-height: 430px;
}

.news-lead-image img,
.news-card-image img,
.news-list-image img {
 width: 100%;
 height: 100%;
 display: block;
 object-fit: cover;
 transform: scale(1.01);
 transition: transform 0.35s var(--ziggy-ease);
}

.news-lead-card:hover .news-lead-image img,
.news-story-card:hover .news-card-image img,
.news-list-card:hover .news-list-image img {
 transform: scale(1.055);
}

.news-lead-content {
 display: flex;
 flex-direction: column;
 justify-content: flex-end;
 align-items: flex-start;
 padding: clamp(2rem, 4vw, 3.4rem);
 color: var(--ziggy-white);
 background:
   radial-gradient(circle at 100% 0, rgba(96, 205, 255, 0.22), transparent 18rem),
   radial-gradient(circle at 0 0, rgba(111, 86, 218, 0.22), transparent 18rem),
   linear-gradient(135deg, #10131b, #181d2b);
}

.news-kicker {
 display: inline-flex;
 width: fit-content;
 border-radius: 999px;
 padding: 8px 13px;
 margin-bottom: 18px;
 color: var(--ziggy-blue);
 background: rgba(96, 205, 255, 0.10);
 border: 1px solid rgba(96, 205, 255, 0.18);
 font-size: 0.78rem;
 font-weight: 800;
 letter-spacing: 0.04em;
 text-transform: uppercase;
}

.news-lead-card h2 {
 max-width: 780px;
 margin: 0 0 16px;
 color: var(--ziggy-white);
 font-size: clamp(2.1rem, 4.6vw, 3.7rem);
 line-height: 0.98;
 letter-spacing: -0.065em;
 font-weight: 850;
}

.news-lead-card p {
 max-width: 680px;
 color: rgba(255, 255, 255, 0.72);
 font-size: 1.04rem;
 line-height: 1.75;
 margin-bottom: 22px;
}

.news-meta-row,
.news-card-meta {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}

.news-meta-row {
 margin-bottom: 24px;
}

.news-meta-row span {
 display: inline-flex;
 align-items: center;
 border-radius: 999px;
 padding: 8px 12px;
 color: rgba(255, 255, 255, 0.76);
 background: rgba(255, 255, 255, 0.07);
 font-size: 0.84rem;
 font-weight: 700;
}

.news-secondary-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 16px;
}

.news-story-card {
 min-height: 100%;
 display: flex;
 flex-direction: column;
 overflow: hidden;
 border-radius: 28px;
 color: var(--ziggy-text);
 text-decoration: none;
 transition:
   transform 0.2s var(--ziggy-ease),
   box-shadow 0.2s var(--ziggy-ease),
   border-color 0.2s ease;
}

.news-story-card:hover,
.news-story-card:focus-visible,
.news-list-card:hover,
.news-list-card:focus-visible {
 transform: translateY(-5px);
 border-color: rgba(111, 86, 218, 0.34);
 box-shadow: var(--ziggy-shadow);
 color: var(--ziggy-text);
}

.news-card-image {
 aspect-ratio: 16 / 10;
}

.news-story-card > .news-kicker,
.news-story-card > div {
 margin-inline: 22px;
}

.news-story-card > .news-kicker {
 margin-top: 22px;
 margin-bottom: 14px;
}

.news-story-card h3 {
 margin: 0 0 12px;
 color: var(--ziggy-text);
 font-size: clamp(1.2rem, 1.7vw, 1.45rem);
 line-height: 1.12;
 letter-spacing: -0.04em;
 font-weight: 850;
}

.news-story-card p {
 color: var(--ziggy-muted);
 line-height: 1.65;
 margin-bottom: 20px;
}

.news-card-meta {
 margin: auto 22px 22px;
 color: #8790a3;
 font-size: 0.84rem;
 font-weight: 700;
}

.news-latest-header {
 display: flex;
 align-items: end;
 justify-content: space-between;
 gap: 18px;
 margin-top: 6px;
}

.news-latest-header .news-kicker {
 margin-bottom: 10px;
}

.news-latest-header h2 {
 margin: 0;
 color: var(--ziggy-text);
 font-size: 1.7rem;
 line-height: 1.1;
 letter-spacing: -0.04em;
 font-weight: 850;
}

.news-view-all {
 color: var(--ziggy-purple);
 font-weight: 800;
 white-space: nowrap;
}

.news-view-all:hover,
.news-view-all:focus-visible {
 color: var(--ziggy-purple-dark);
 text-decoration: underline;
}

.news-latest-list {
 display: grid;
 gap: 16px;
}

.news-list-card {
 display: grid;
 grid-template-columns: 190px minmax(0, 1fr);
 gap: 20px;
 align-items: stretch;
 overflow: hidden;
 border-radius: 24px;
 color: var(--ziggy-text);
 text-decoration: none;
 transition:
   transform 0.2s var(--ziggy-ease),
   box-shadow 0.2s var(--ziggy-ease),
   border-color 0.2s ease;
}

.news-list-image {
 min-height: 150px;
}

.news-list-content {
 display: block;
 padding: 20px 22px 20px 0;
}

.news-list-card .news-kicker {
 margin-bottom: 10px;
 padding: 6px 10px;
 font-size: 0.7rem;
}

.news-list-card strong {
 display: block;
 color: var(--ziggy-text);
 font-size: 1.12rem;
 line-height: 1.25;
 letter-spacing: -0.025em;
}

.news-list-card p {
 margin: 0.65rem 0 0.8rem;
 color: var(--ziggy-muted);
 font-size: 0.94rem;
 line-height: 1.55;
}

.news-compact-meta {
 color: #8790a3;
 font-size: 0.84rem;
 font-weight: 700;
}

.news-sidebar {
 display: grid;
 gap: 22px;
 position: sticky;
 top: 24px;
}

.news-search-card,
.news-categories-card,
.news-archive-card {
 border-radius: 28px;
 padding: 28px;
}

.news-search-card h2,
.news-categories-card h2,
.news-archive-card h2 {
 color: var(--ziggy-text);
 font-size: 1.35rem;
 font-weight: 850;
 margin-bottom: 10px;
}

.news-search-card p,
.news-categories-card p,
.news-archive-card p {
 color: var(--ziggy-muted);
 line-height: 1.65;
 margin-bottom: 20px;
}

.news-search-form {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 gap: 10px;
}

.news-search-form input {
 width: 100%;
 border: 1px solid var(--ziggy-border);
 border-radius: 16px;
 padding: 13px 15px;
 background: #fbfcff;
 color: var(--ziggy-text);
 outline: none;
 transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.news-search-form input:focus {
 border-color: rgba(111, 86, 218, 0.52);
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.10);
 transform: translateY(-1px);
}

.news-category-list {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}

.news-category-list a {
 display: inline-flex;
 border-radius: 999px;
 padding: 9px 12px;
 color: var(--ziggy-purple);
 background: #f0edff;
 font-size: 0.88rem;
 font-weight: 800;
 transition: background-color 0.2s ease, color 0.2s ease;
}

.news-category-list a:hover,
.news-category-list a:focus-visible {
 color: var(--ziggy-white);
 background: var(--ziggy-purple);
}

.news-archive-list {
 display: grid;
 gap: 10px;
}

.news-archive-year {
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 overflow: hidden;
 background: #fbfcff;
}

.news-archive-year button {
 width: 100%;
 border: 0;
 display: flex;
 justify-content: space-between;
 gap: 12px;
 padding: 15px 16px;
 color: var(--ziggy-text);
 background: transparent;
 font-weight: 850;
 transition: background-color 0.18s ease, color 0.18s ease;
}

.news-archive-months {
 display: grid;
 gap: 0;
 padding: 0 16px 14px;
}

.news-archive-months a {
 display: flex;
 justify-content: space-between;
 gap: 12px;
 padding: 10px 0;
 color: var(--ziggy-muted);
 border-top: 1px solid var(--ziggy-border);
 font-size: 0.92rem;
 font-weight: 700;
}

.news-archive-months a:hover,
.news-archive-months a:focus-visible {
 color: var(--ziggy-purple);
}

.news-archive-months span {
 color: #9aa2b5;
}

@media (max-width: 1199.98px) {
 .news-editorial-layout {
   grid-template-columns: 1fr;
 }

 .news-sidebar {
   grid-template-columns: repeat(3, minmax(0, 1fr));
   position: static;
 }
}

@media (max-width: 991.98px) {
 .news-lead-card {
   grid-template-columns: 1fr;
 }

 .news-lead-image {
   min-height: 280px;
 }

 .news-secondary-grid {
   grid-template-columns: 1fr;
 }

 .news-sidebar {
   grid-template-columns: 1fr;
 }
}

@media (max-width: 767.98px) {
 .news-section {
   padding: 54px 0 74px;
 }

 .news-lead-card {
   border-radius: 28px;
 }

 .news-lead-image {
   min-height: 220px;
 }

 .news-lead-content {
   padding: 24px;
 }

 .news-latest-header {
   align-items: flex-start;
   flex-direction: column;
 }

 .news-view-all {
   white-space: normal;
 }

 .news-list-card {
   grid-template-columns: 1fr;
 }

 .news-list-image {
   min-height: 190px;
 }

 .news-list-content {
   padding: 0 20px 20px;
 }

 .news-search-form {
   grid-template-columns: 1fr;
 }
}


/* Detail pages, profile and notifications */
.detail-section,
.profile-section,
.notifications-section {
 padding: 72px 0 96px;
 background:
   radial-gradient(circle at 8% 0, rgba(111, 86, 218, 0.08), transparent 28rem),
   radial-gradient(circle at 90% 10%, rgba(96, 205, 255, 0.08), transparent 26rem),
   linear-gradient(180deg, #ffffff, #f7f8fc);
}

.detail-layout {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 320px;
 gap: 28px;
 align-items: start;
}

.detail-card,
.detail-sidebar-card,
.profile-card,
.notification-page-item {
 border: 1px solid var(--ziggy-border);
 border-radius: 28px;
 background: var(--ziggy-white);
 box-shadow: 0 14px 36px rgba(15, 17, 24, 0.08);
}

.detail-card {
 overflow: hidden;
 padding: clamp(1.4rem, 3vw, 2.6rem);
}

.detail-back-link {
 display: inline-flex;
 align-items: center;
 gap: 0.45rem;
 margin-bottom: 22px;
 color: var(--ziggy-purple);
 font-weight: 850;
}

.detail-back-link:hover,
.detail-back-link:focus-visible {
 color: var(--ziggy-purple-dark);
 text-decoration: underline;
}

.detail-meta-row {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 margin-bottom: 22px;
}

.detail-meta-row span {
 display: inline-flex;
 align-items: center;
 border-radius: 999px;
 padding: 8px 12px;
 color: var(--ziggy-muted);
 background: #f7f8fc;
 font-size: 0.84rem;
 font-weight: 800;
}

.detail-featured-image {
 overflow: hidden;
 border-radius: 24px;
 background: #10131b;
}

.detail-featured-image {
 margin-bottom: 30px;
 aspect-ratio: 16 / 9;
}

.detail-featured-image img {
 width: 100%;
 height: 100%;
 display: block;
 object-fit: cover;
}

.article-body {
 color: var(--ziggy-text);
}

.article-body h2 {
 margin: 2rem 0 0.85rem;
 color: var(--ziggy-text);
 font-size: clamp(1.5rem, 2.5vw, 2rem);
 line-height: 1.15;
 font-weight: 850;
}

.article-body p,
.article-body li {
 color: var(--ziggy-muted);
 font-size: 1rem;
 line-height: 1.78;
}

.article-lead {
 color: var(--ziggy-text) !important;
 font-size: 1.12rem !important;
 font-weight: 700;
}

.article-body blockquote {
 margin: 2rem 0;
 padding: 20px 22px;
 border-left: 5px solid var(--ziggy-purple);
 border-radius: 18px;
 color: var(--ziggy-text);
 background: #f5f2ff;
 font-weight: 800;
 line-height: 1.65;
}

.podcast-detail-summary {
 margin-bottom: 22px;
}

.podcast-detail-summary .episode-kicker {
 margin-bottom: 12px;
}

.podcast-detail-summary .detail-meta-row {
 margin-bottom: 0;
}

.podcast-detail-heading {
 max-width: 760px;
 margin-bottom: 20px;
}

.podcast-detail-heading h2 {
 margin-bottom: 0;
 color: var(--ziggy-text);
 font-size: clamp(1.8rem, 3vw, 2.75rem);
 line-height: 1.05;
 font-weight: 850;
}

.podcast-detail-card .article-body {
 max-width: 760px;
}

.podcast-detail-player {
 margin-top: 28px;
}

.detail-sidebar {
 display: grid;
 gap: 20px;
 position: sticky;
 top: 24px;
}

.detail-sidebar-card {
 padding: 24px;
}

.detail-sidebar-card h2 {
 margin-bottom: 18px;
 color: var(--ziggy-text);
 font-size: 1.35rem;
 font-weight: 850;
}

.detail-sidebar-card dl {
 display: grid;
 gap: 12px;
 margin-bottom: 0;
}

.detail-sidebar-card div {
 display: flex;
 justify-content: space-between;
 gap: 18px;
 padding-bottom: 12px;
 border-bottom: 1px solid var(--ziggy-border);
}

.detail-sidebar-card div:last-child {
 padding-bottom: 0;
 border-bottom: 0;
}

.detail-sidebar-card dt {
 color: var(--ziggy-muted);
 font-size: 0.84rem;
 font-weight: 800;
}

.detail-sidebar-card dd {
 margin-bottom: 0;
 color: var(--ziggy-text);
 font-weight: 850;
 text-align: right;
}

.notifications-toolbar {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 18px;
 margin-bottom: 22px;
}

.profile-layout {
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
 gap: 24px;
 align-items: start;
}

.profile-main-stack {
 display: grid;
 gap: 24px;
}

.profile-card {
 padding: 26px;
}

.profile-identity-card {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 gap: 22px;
 align-items: start;
}

.profile-avatar {
 width: 92px;
 height: 92px;
 display: grid;
 place-items: center;
 border-radius: 28px;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 font-size: 1.65rem;
 font-weight: 900;
 box-shadow: 0 18px 42px rgba(111, 86, 218, 0.22);
}

.profile-identity-card h2,
.profile-card-heading h2 {
 margin-bottom: 8px;
 color: var(--ziggy-text);
 font-weight: 850;
}

.profile-identity-card h2 {
 font-size: clamp(1.85rem, 3vw, 2.6rem);
}

.profile-identity-card p,
.profile-note-card p {
 color: var(--ziggy-muted);
 line-height: 1.7;
}

.profile-status-row,
.profile-action-row,
.profile-chip-list {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}

.profile-action-row {
 grid-column: 2;
 margin-top: 6px;
}

.profile-action-row .btn {
 box-sizing: border-box;
 width: 11.25rem;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.45rem;
 min-height: 2.55rem;
 padding: 0.58rem 1rem;
 border-radius: 999px;
 font-size: 0.92rem;
 font-weight: 800;
 line-height: 1.2;
 white-space: nowrap;
}

.profile-form-stack {
 width: min(100%, 620px);
 margin: 24px auto 0;
 padding: 18px;
 border: 1px solid var(--ziggy-border);
 border-radius: 22px;
 background: linear-gradient(180deg, #ffffff, #fbfcff);
 box-shadow: 0 12px 28px rgba(15, 17, 24, 0.06);
}

.profile-form-grid,
.profile-form-actions {
 display: grid;
 grid-template-columns: 1fr;
 gap: 14px;
}

.profile-form-actions {
 margin-top: 2px;
}

.profile-form-actions .btn {
 width: 100%;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.45rem;
 min-height: 2.55rem;
 padding: 0.58rem 1rem;
 border-radius: 14px;
 font-size: 0.92rem;
 font-weight: 800;
 line-height: 1.2;
}

.profile-detail-list {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 14px;
 margin-bottom: 0;
}

.profile-detail-list div {
 padding: 16px;
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 background: #fbfcff;
}

.profile-detail-list dt {
 margin-bottom: 5px;
 color: var(--ziggy-muted);
 font-size: 0.78rem;
 font-weight: 850;
 text-transform: uppercase;
}

.profile-detail-list dd {
 margin-bottom: 0;
 color: var(--ziggy-text);
 font-weight: 850;
}

.profile-side-stack {
 display: grid;
 gap: 18px;
}

.profile-chip-list span {
 display: inline-flex;
 border-radius: 999px;
 padding: 8px 12px;
 color: var(--ziggy-purple);
 background: #f0edff;
 font-size: 0.84rem;
 font-weight: 850;
}

.profile-page-list {
 display: grid;
 gap: 12px;
 padding: 0;
 margin: 0;
 list-style: none;
}

.profile-page-list li {
 display: flex;
 gap: 10px;
 color: var(--ziggy-muted);
 line-height: 1.55;
}

.profile-page-list i {
 color: var(--ziggy-purple);
 margin-top: 2px;
}

.profile-note-card {
 color: var(--ziggy-muted);
 background: #f5f2ff;
}

.profile-note-card strong {
 display: block;
 margin-bottom: 6px;
 color: var(--ziggy-purple-dark);
}

.notifications-toolbar {
 padding: 18px;
 border: 1px solid var(--ziggy-border);
 border-radius: 24px;
 background: rgba(255, 255, 255, 0.9);
 box-shadow: 0 12px 34px rgba(15, 17, 24, 0.06);
}

.notification-tabs {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}

.notification-tabs button {
 border: 0;
 border-radius: 999px;
 padding: 0.72rem 1rem;
 color: var(--ziggy-muted);
 background: #f7f8fc;
 font-weight: 850;
}

.notification-tabs button:hover,
.notification-tabs button:focus-visible,
.notification-tabs button.active {
 color: var(--ziggy-white);
 background: var(--ziggy-purple);
}

.notifications-page-list {
 display: grid;
 gap: 16px;
}

.notification-page-item {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 gap: 16px;
 padding: 20px;
 border-left: 5px solid transparent;
}

.notification-page-item.unread {
 border-left-color: var(--ziggy-purple);
 background: #fbfcff;
}

.notification-page-item.read {
 opacity: 0.78;
}

.notification-page-icon {
 width: 48px;
 height: 48px;
 display: grid;
 place-items: center;
 border-radius: 16px;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 font-size: 1.25rem;
}

.notification-page-heading {
 display: flex;
 align-items: baseline;
 justify-content: space-between;
 gap: 18px;
 margin-bottom: 6px;
}

.notification-page-heading h2 {
 margin-bottom: 0;
 color: var(--ziggy-text);
 font-size: 1.1rem;
 font-weight: 850;
}

.notification-page-heading span {
 color: #8790a3;
 font-size: 0.82rem;
 font-weight: 800;
 white-space: nowrap;
}

.notification-page-item p {
 color: var(--ziggy-muted);
 line-height: 1.6;
 margin-bottom: 10px;
}

.notification-access-details {
 display: grid;
 gap: 6px;
 margin: -2px 0 12px;
}

.notification-access-detail {
 display: flex;
 flex-wrap: wrap;
 gap: 6px;
 color: var(--ziggy-muted);
 font-size: 0.82rem;
 line-height: 1.45;
}

.notification-access-detail span {
 color: var(--ziggy-purple);
 font-weight: 850;
}

.notification-access-detail strong {
 color: var(--ziggy-text);
 font-weight: 750;
}

.notification-page-meta {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}

.notification-page-meta span {
 border-radius: 999px;
 padding: 6px 10px;
 color: var(--ziggy-purple);
 background: #f0edff;
 font-size: 0.76rem;
 font-weight: 850;
}

@media (max-width: 1199.98px) {
 .detail-layout,
 .profile-layout {
   grid-template-columns: 1fr;
 }

 .detail-sidebar {
   position: static;
 }
}

@media (max-width: 767.98px) {
 .detail-section,
 .profile-section,
 .notifications-section {
   padding: 54px 0 74px;
 }

 .detail-card,
 .profile-card,
 .notification-page-item,
 .notifications-toolbar {
   border-radius: 22px;
 }

 .profile-identity-card,
 .profile-detail-list {
   grid-template-columns: 1fr;
 }

 .profile-action-row {
   grid-column: auto;
 }

 .notifications-toolbar,
 .notification-page-heading {
   align-items: flex-start;
   flex-direction: column;
 }
}


/* Login page */
.auth-page {
 min-height: 100vh;
 display: grid;
 place-items: center;
 padding: 32px 16px;
 background:
   radial-gradient(circle at 22% 16%, rgba(111, 86, 218, 0.34), transparent 28rem),
   radial-gradient(circle at 88% 18%, rgba(96, 205, 255, 0.16), transparent 26rem),
   radial-gradient(circle at 50% 100%, rgba(23, 189, 84, 0.09), transparent 24rem),
   var(--ziggy-bg);
}

.auth-shell {
 width: min(100%, 1060px);
 display: grid;
 grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.75fr);
 overflow: hidden;
 border-radius: 34px;
 background: rgba(255, 255, 255, 0.06);
 border: 1px solid rgba(255, 255, 255, 0.12);
 box-shadow: 0 38px 110px rgba(0, 0, 0, 0.42);
}

.auth-brand-panel {
 position: relative;
 min-height: 640px;
 padding: 42px;
 color: var(--ziggy-white);
 background:
   radial-gradient(circle at 100% 0, rgba(96, 205, 255, 0.22), transparent 18rem),
   radial-gradient(circle at 0 20%, rgba(111, 86, 218, 0.28), transparent 20rem),
   linear-gradient(135deg, #10131b, #191d2a);
}

.auth-brand-panel::after {
 content: "";
 position: absolute;
 inset: auto 42px 42px auto;
 width: 180px;
 height: 180px;
 border-radius: 50%;
 border: 1px solid rgba(96, 205, 255, 0.28);
 background:
   radial-gradient(circle, rgba(96, 205, 255, 0.20), transparent 55%),
   rgba(255, 255, 255, 0.03);
}

.auth-logo {
 width: auto;
 height: 42px;
 display: block;
 object-fit: contain;
 margin-bottom: 74px;
}

.auth-brand-content {
 position: relative;
 z-index: 1;
 max-width: 520px;
}

.auth-brand-content .eyebrow {
 margin-bottom: 20px;
}

.auth-brand-content h1 {
 color: var(--ziggy-white);
 font-size: clamp(2.2rem, 5vw, 4.2rem);
 line-height: 0.98;
 letter-spacing: -0.065em;
 font-weight: 850;
 margin-bottom: 22px;
}

.auth-brand-content p {
 color: rgba(255, 255, 255, 0.68);
 line-height: 1.75;
 margin-bottom: 28px;
}

.auth-points {
 display: grid;
 gap: 12px;
}

.auth-points span {
 color: rgba(255, 255, 255, 0.76);
 font-size: 0.94rem;
 font-weight: 650;
}

.auth-points span::before {
 content: "✓";
 color: var(--ziggy-green);
 margin-right: 8px;
}

.auth-form-panel {
 display: grid;
 align-items: center;
 padding: 42px;
 background: var(--ziggy-white);
}

.auth-card {
 width: 100%;
}

.auth-card h2 {
 color: var(--ziggy-text);
 font-size: clamp(1.9rem, 4vw, 2.55rem);
 line-height: 1.05;
 letter-spacing: -0.05em;
 font-weight: 850;
 margin-bottom: 10px;
}

.auth-card > p {
 color: var(--ziggy-muted);
 line-height: 1.7;
 margin-bottom: 28px;
}

.auth-form {
 display: grid;
 gap: 18px;
}

.auth-field label {
 display: block;
 color: var(--ziggy-text);
 font-size: 0.9rem;
 font-weight: 800;
 margin-bottom: 8px;
}

.auth-field input {
 width: 100%;
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 padding: 14px 16px;
 color: var(--ziggy-text);
 background: #fbfcff;
 font: inherit;
 outline: none;
 transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.auth-field input::placeholder {
 color: #9aa2b5;
}

.auth-field input:focus {
 border-color: rgba(111, 86, 218, 0.52);
 background: #ffffff;
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.10);
 transform: translateY(-1px);
}

.auth-error {
 margin: 8px 0 0;
 color: #b42318;
 font-size: 0.84rem;
 font-weight: 800;
}

.auth-status-alert {
 margin: 0 0 20px;
 padding: 12px 14px;
 border: 1px solid rgba(111, 86, 218, 0.18);
 border-radius: 16px;
 color: var(--ziggy-text) !important;
 background: #f5f2ff;
 font-size: 0.9rem;
 font-weight: 800;
 line-height: 1.5;
}

.auth-options {
 display: flex;
 justify-content: space-between;
 gap: 18px;
 align-items: center;
 margin-top: -2px;
}

.auth-check {
 display: inline-flex;
 gap: 9px;
 align-items: center;
 color: var(--ziggy-muted);
 font-size: 0.92rem;
 font-weight: 650;
}

.auth-check input {
 width: 16px;
 height: 16px;
 accent-color: var(--ziggy-purple);
}

.auth-link {
 color: var(--ziggy-purple);
 font-size: 0.92rem;
 font-weight: 800;
}

.auth-link:hover {
 color: var(--ziggy-purple-dark);
}

.auth-submit {
 width: 100%;
 margin-top: 4px;
}

.auth-divider {
 display: grid;
 grid-template-columns: 1fr auto 1fr;
 gap: 14px;
 align-items: center;
 margin: 28px 0;
 color: #9aa2b5;
 font-size: 0.86rem;
 font-weight: 700;
}

.auth-divider::before,
.auth-divider::after {
 content: "";
 height: 1px;
 background: var(--ziggy-border);
}

.auth-signup {
 margin-bottom: 0;
 color: var(--ziggy-muted);
 text-align: center;
}

.auth-signup a {
 color: var(--ziggy-purple);
 font-weight: 850;
}

.auth-signup a:hover {
 color: var(--ziggy-purple-dark);
}

.auth-footer-note {
 margin-top: 26px;
 color: #9aa2b5;
 font-size: 0.84rem;
 line-height: 1.6;
 text-align: center;
}

.auth-status-message {
 color: var(--ziggy-text) !important;
 font-size: 1.05rem;
 font-weight: 800;
}

.auth-status-panel {
 display: grid;
 gap: 8px;
 margin: 28px 0;
 padding: 18px;
 border: 1px solid rgba(111, 86, 218, 0.18);
 border-radius: 18px;
 background: #f5f2ff;
}

.auth-status-panel strong {
 color: var(--ziggy-text);
}

.auth-status-panel span {
 color: var(--ziggy-muted);
 line-height: 1.65;
}

@media (max-width: 991.98px) {
 .auth-shell {
   grid-template-columns: 1fr;
 }

 .auth-brand-panel {
   min-height: auto;
   padding: 34px;
 }

 .auth-logo {
   height: 38px;
   margin-bottom: 44px;
 }
}

@media (max-width: 767.98px) {
 .auth-page {
   padding: 18px;
 }

 .auth-shell {
   border-radius: 26px;
 }

 .auth-brand-panel,
 .auth-form-panel {
   padding: 26px;
 }

 .auth-options {
   display: grid;
 }
}

.ziggy-field input:hover,
.ziggy-field textarea:hover,
.subscribe-form input:hover,
.news-search-form input:hover,
.auth-field input:hover {
 border-color: rgba(111, 86, 218, 0.28);
 background: #ffffff;
}

.archive-year button:hover,
.news-archive-year button:hover {
 background: #f5f2ff;
 color: var(--ziggy-purple-dark);
}

/* Header preview controls */
.notification-nav-item,
.profile-nav-item {
 margin-left: 0.75rem;
}

.nav-icon-button,
.nav-profile-button {
 min-height: 42px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.55rem;
 border: 1px solid rgba(255, 255, 255, 0.16);
 border-radius: 999px;
 color: rgba(255, 255, 255, 0.88);
 background: rgba(255, 255, 255, 0.07);
 font-weight: 800;
 transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.nav-icon-button {
 position: relative;
 width: 42px;
 padding: 0;
}

.nav-profile-button {
 padding: 0.48rem 0.8rem;
 font-size: 0.9rem;
}

.nav-icon-button:hover,
.nav-icon-button:focus-visible,
.nav-icon-button.active,
.nav-profile-button:hover,
.nav-profile-button:focus-visible,
.nav-profile-button.active {
 color: var(--ziggy-white);
 background: rgba(255, 255, 255, 0.12);
 border-color: rgba(96, 205, 255, 0.42);
 transform: translateY(-1px);
}

.notification-badge {
 position: absolute;
 top: -6px;
 right: -5px;
 min-width: 19px;
 height: 19px;
 display: grid;
 place-items: center;
 border-radius: 999px;
 padding: 0 5px;
 color: var(--ziggy-white);
 background: var(--ziggy-green);
 border: 2px solid var(--ziggy-bg);
 font-size: 0.68rem;
 line-height: 1;
 font-weight: 900;
}

.notification-menu,
.profile-menu {
 border: 1px solid var(--ziggy-border);
 border-radius: 20px;
 box-shadow: 0 24px 70px rgba(15, 17, 24, 0.18);
}

.notification-menu {
 width: min(340px, calc(100vw - 2rem));
 margin-right: -14px;
 overflow: hidden;
 padding: 0;
}

@media (min-width: 992px) {
 .notification-nav-item .notification-menu {
   margin-right: -56px;
 }
}

.notification-menu-header {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1rem;
 padding: 16px 18px;
 background: #10131b;
 color: var(--ziggy-white);
}

.notification-menu-header-actions {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: flex-end;
 gap: 0.45rem;
 margin-left: auto;
}

.notification-menu-header strong,
.notification-menu-header span {
 display: block;
}

.notification-menu-header strong {
 font-size: 0.98rem;
}

.notification-menu-header span,
.notification-menu-count {
 color: rgba(255, 255, 255, 0.58);
 font-size: 0.76rem;
 font-weight: 800;
 text-transform: uppercase;
}

.notification-menu-count {
 flex: 0 0 auto;
 border-radius: 999px;
 padding: 5px 9px;
 color: var(--ziggy-white);
 background: rgba(255, 255, 255, 0.12);
}

.notification-menu-mark-read {
 border: 0;
 border-radius: 999px;
 padding: 5px 8px;
 color: rgba(255, 255, 255, 0.76);
 background: rgba(255, 255, 255, 0.08);
 font-size: 0.72rem;
 font-weight: 850;
 line-height: 1.1;
 white-space: nowrap;
 transition: color 0.18s ease, background-color 0.18s ease;
}

.notification-menu-mark-read:hover,
.notification-menu-mark-read:focus-visible {
 color: var(--ziggy-white);
 background: rgba(96, 205, 255, 0.16);
}

.notification-menu-mark-read:disabled {
 cursor: default;
 opacity: 0.52;
}

.notification-list {
 display: grid;
}

.notification-preview-item {
 display: grid;
 grid-template-columns: auto 1fr;
 gap: 12px;
 padding: 14px 18px;
 color: var(--ziggy-text);
 border-bottom: 1px solid var(--ziggy-border);
}

.notification-preview-item:last-child {
 border-bottom: 0;
}

.notification-preview-item:hover,
.notification-preview-item:focus-visible {
 color: var(--ziggy-text);
 background: #f7f8fc;
}

.notification-preview-item.unread {
 background: #f4f6fc;
}

.notification-preview-item:not(.unread) .notification-dot {
 background: #d6dbe8;
 box-shadow: none;
}

.notification-dot {
 width: 10px;
 height: 10px;
 margin-top: 6px;
 border-radius: 50%;
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.12);
}

.notification-list strong,
.notification-list small,
.notification-list span span {
 display: block;
}

.notification-list strong {
 margin-bottom: 3px;
 font-size: 0.9rem;
 line-height: 1.3;
}

.notification-list span span {
 color: var(--ziggy-muted);
 font-size: 0.82rem;
 line-height: 1.35;
}

.notification-list small {
 margin-top: 5px;
 color: var(--ziggy-muted);
 font-size: 0.78rem;
}

.notification-preview-details {
 display: grid;
 gap: 3px;
 margin-top: 7px;
}

.notification-preview-detail {
 display: grid;
 gap: 1px;
}

.notification-preview-detail-label {
 color: var(--ziggy-purple-dark);
 font-size: 0.68rem;
 font-weight: 850;
 text-transform: uppercase;
}

.notification-empty-state {
 display: grid;
 gap: 4px;
 padding: 18px;
 color: var(--ziggy-muted);
}

.notification-empty-state strong {
 color: var(--ziggy-text);
}

.notification-menu-footer {
 display: block;
 padding: 13px 18px;
 color: var(--ziggy-purple);
 background: #fbfcff;
 border-top: 1px solid var(--ziggy-border);
 font-size: 0.86rem;
 font-weight: 850;
 text-align: center;
}

.notification-menu-footer:hover,
.notification-menu-footer:focus-visible {
 color: var(--ziggy-purple-dark);
 background: #f7f8fc;
}

.profile-menu {
 min-width: 220px;
 padding: 0.55rem;
}

.profile-menu .dropdown-item,
.profile-menu .dropdown-item-text {
 border-radius: 12px;
 font-size: 0.9rem;
}

.profile-menu .dropdown-item-text {
 color: var(--ziggy-muted);
 font-weight: 800;
}

.profile-menu-heading {
 padding: 0.35rem 0.75rem 0.25rem;
 color: var(--ziggy-purple);
 font-size: 0.72rem;
 font-weight: 850;
 text-transform: uppercase;
}

/* Admin preview pages */
.admin-preview-header {
 background:
   linear-gradient(135deg, rgba(111, 86, 218, 0.22), rgba(96, 205, 255, 0.08)),
   var(--ziggy-bg);
}

.admin-preview-main {
 background: #f7f8fc;
}

.admin-preview-section {
 padding: 58px 0 92px;
 background:
   linear-gradient(180deg, #ffffff, #f7f8fc 42%, #f7f8fc);
}

.admin-preview-nav {
 display: flex;
 gap: 10px;
 overflow-x: auto;
 padding: 12px;
 margin-bottom: 30px;
 border: 1px solid var(--ziggy-border);
 border-radius: 22px;
 background: rgba(255, 255, 255, 0.84);
 box-shadow: 0 12px 34px rgba(15, 17, 24, 0.06);
}

.admin-preview-nav a {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.5rem;
 white-space: nowrap;
 border-radius: 999px;
 padding: 0.72rem 1rem;
 color: var(--ziggy-muted);
 font-size: 0.9rem;
 font-weight: 850;
 transition: color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.admin-preview-nav a:hover,
.admin-preview-nav a:focus-visible,
.admin-preview-nav a.active {
 color: var(--ziggy-white);
 background: var(--ziggy-purple);
 box-shadow: 0 12px 28px rgba(111, 86, 218, 0.24);
}

.admin-section-heading {
 display: flex;
 align-items: end;
 justify-content: space-between;
 gap: 24px;
 margin-bottom: 24px;
}

.admin-section-heading h2 {
 margin-bottom: 6px;
 color: var(--ziggy-text);
 font-size: clamp(1.7rem, 3vw, 2.35rem);
 line-height: 1.1;
 font-weight: 850;
}

.admin-section-heading p {
 margin-bottom: 0;
 color: var(--ziggy-muted);
}

.admin-stat-grid,
.admin-dashboard-grid {
 display: grid;
 gap: 18px;
 margin-bottom: 28px;
}

.admin-stat-grid {
 grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-dashboard-grid {
 grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-stat-card,
.admin-card,
.access-denied-card {
 border: 1px solid rgba(232, 234, 240, 0.95);
 border-radius: 26px;
 background: rgba(255, 255, 255, 0.95);
 box-shadow: 0 16px 44px rgba(15, 17, 24, 0.08);
}

.admin-stat-card {
 display: flex;
 align-items: center;
 gap: 16px;
 padding: 22px;
}

.admin-stat-icon {
 flex: 0 0 auto;
 width: 48px;
 height: 48px;
 display: grid;
 place-items: center;
 border-radius: 16px;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 box-shadow: 0 14px 30px rgba(111, 86, 218, 0.22);
}

.admin-stat-card strong,
.admin-stat-card span {
 display: block;
}

.admin-stat-card strong {
 color: var(--ziggy-text);
 font-size: 1.65rem;
 line-height: 1;
 font-weight: 900;
}

.admin-stat-card span {
 margin-top: 5px;
 color: var(--ziggy-muted);
 font-size: 0.86rem;
 font-weight: 700;
}

.admin-card {
 padding: 26px;
}

.admin-card-header {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 18px;
 margin-bottom: 22px;
}

.admin-card-header h2,
.admin-card-header h3 {
 margin-bottom: 0;
 color: var(--ziggy-text);
 font-weight: 850;
 line-height: 1.15;
}

.admin-card-header h2 {
 font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}

.admin-card-header h3 {
 font-size: 1.35rem;
}

.admin-card-kicker {
 display: inline-flex;
 margin-bottom: 7px;
 color: var(--ziggy-purple);
 font-size: 0.74rem;
 font-weight: 850;
 text-transform: uppercase;
}

.admin-card-link {
 color: var(--ziggy-purple);
 font-weight: 850;
}

.admin-card-link:hover,
.admin-card-link:focus-visible {
 color: var(--ziggy-purple-dark);
}

.admin-metric-list,
.admin-activity-list,
.admin-link-list,
.admin-action-stack {
 display: grid;
 gap: 12px;
}

.admin-metric-list div {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 18px;
 padding: 14px 0;
 border-bottom: 1px solid var(--ziggy-border);
}

.admin-metric-list div:last-child {
 border-bottom: 0;
}

.admin-metric-list span,
.admin-activity-list p,
.admin-detail-grid dt,
.admin-note {
 color: var(--ziggy-muted);
}

.admin-metric-list strong {
 color: var(--ziggy-text);
 font-weight: 900;
}

.admin-activity-list div {
 display: grid;
 grid-template-columns: auto 1fr auto;
 gap: 12px;
 align-items: start;
 padding: 14px 0;
 border-bottom: 1px solid var(--ziggy-border);
}

.admin-activity-list div:last-child {
 border-bottom: 0;
}

.admin-activity-dot {
 width: 10px;
 height: 10px;
 margin-top: 7px;
 border-radius: 50%;
 background: var(--ziggy-green);
 box-shadow: 0 0 0 4px rgba(23, 189, 84, 0.12);
}

.admin-activity-list p,
.admin-activity-list small {
 margin-bottom: 0;
}

.admin-activity-list small {
 color: #9aa2b5;
 font-size: 0.82rem;
 font-weight: 700;
 white-space: nowrap;
}

.admin-link-list a {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 padding: 16px 18px;
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 color: var(--ziggy-text);
 background: #fbfcff;
 font-weight: 850;
}

.admin-link-list a::after {
 content: "→";
 color: var(--ziggy-purple);
 font-weight: 900;
}

.admin-link-list a:hover,
.admin-link-list a:focus-visible {
 color: var(--ziggy-text);
 border-color: rgba(111, 86, 218, 0.34);
 box-shadow: 0 12px 26px rgba(15, 17, 24, 0.08);
}

.admin-search-card {
 margin-bottom: 30px;
}

.admin-search-form {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr) auto;
 gap: 12px;
 align-items: center;
}

.admin-search-form i {
 color: var(--ziggy-purple);
 font-size: 1.05rem;
}

.admin-search-form input {
 width: 100%;
 border: 1px solid var(--ziggy-border);
 border-radius: 16px;
 padding: 13px 15px;
 color: var(--ziggy-text);
 background: #fbfcff;
 font: inherit;
}

.admin-search-form input:focus {
 border-color: rgba(111, 86, 218, 0.52);
 background: #ffffff;
 outline: 0;
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.10);
}

.admin-table-search {
 margin-bottom: 22px;
}

.news-admin-card-header {
 align-items: center;
}

.news-admin-header-actions {
 align-items: center;
 justify-content: flex-end;
 flex-wrap: nowrap;
}

.news-admin-action-button {
 min-height: 40px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.45rem;
 padding: 0.55rem 0.9rem;
 font-size: 0.88rem;
 font-weight: 850;
 line-height: 1.1;
 white-space: nowrap;
}

.news-filter-form {
 padding: 18px;
 border: 1px solid var(--ziggy-border);
 border-radius: 20px;
 background: #fbfcff;
}

.news-filter-grid {
 display: grid;
 grid-template-columns: minmax(260px, 1fr) minmax(170px, 220px) auto;
 gap: 14px;
 align-items: start;
}

.news-filter-actions {
 display: grid;
 grid-template-columns: minmax(118px, auto) auto;
 gap: 10px;
 align-items: center;
 align-self: start;
 padding-top: calc(1.35rem + 8px);
}

.news-filter-actions .btn {
 min-height: 48px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.45rem;
 padding: 0.55rem 0.95rem;
 font-size: 0.88rem;
 font-weight: 850;
 line-height: 1.1;
 white-space: nowrap;
}

.news-filter-reset {
 justify-self: start;
 font-size: 0.84rem;
 white-space: nowrap;
}

.news-admin-table-wrap {
 margin-top: 22px;
}

.news-admin-table {
 font-size: 0.91rem;
}

.news-admin-table th,
.news-admin-table td {
 padding: 0.72rem 0.85rem;
 vertical-align: middle;
}

.news-admin-table th {
 white-space: nowrap;
}

.news-admin-title-column {
 min-width: 260px;
}

.news-admin-title-cell strong {
 display: block;
 max-width: 34rem;
 color: var(--ziggy-text);
 line-height: 1.25;
}

.news-admin-title-cell span {
 max-width: 34rem;
 overflow-wrap: anywhere;
}

.news-admin-actions-heading,
.news-admin-actions-cell {
 text-align: right;
}

.news-table-actions {
 display: inline-flex;
 align-items: center;
 justify-content: flex-end;
 gap: 8px;
 flex-wrap: nowrap;
}

.news-row-action {
 min-width: 78px;
 min-height: 34px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.38rem;
 padding: 0.38rem 0.68rem;
 font-size: 0.82rem;
 font-weight: 800;
 line-height: 1.1;
 white-space: nowrap;
}

.news-row-action i {
 font-size: 0.82rem;
}

.audit-log-card-header {
 margin-bottom: 3px;
}

.audit-log-subtitle {
 margin-top: 0;
 margin-bottom: 18px;
 line-height: 1.55;
}

.audit-filter-form {
 padding: 18px;
 border: 1px solid var(--ziggy-border);
 border-radius: 20px;
 background: #fbfcff;
}

.audit-filter-grid {
 display: grid;
 grid-template-columns: repeat(12, minmax(0, 1fr));
 gap: 14px;
 align-items: start;
}

.audit-filter-wide {
 grid-column: span 4;
}

.audit-filter-date {
 grid-column: span 3;
}

.audit-filter-search {
 grid-column: span 4;
}

.audit-filter-actions {
 display: grid;
 gap: 9px;
 align-items: stretch;
 align-content: start;
 align-self: start;
 grid-column: span 2;
 padding-top: calc(1.35rem + 8px);
}

.audit-filter-actions .btn {
 height: 52px;
 min-height: 52px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
}

.audit-filter-actions .admin-card-link {
 justify-self: center;
 font-size: 0.84rem;
}

.admin-list-section {
 margin-top: 34px;
}

.admin-user-list {
 display: grid;
 gap: 16px;
}

.admin-user-card {
 display: grid;
 gap: 16px;
 padding: 22px;
 border: 1px solid var(--ziggy-border);
 border-radius: 24px;
 background: var(--ziggy-white);
 box-shadow: 0 12px 30px rgba(15, 17, 24, 0.06);
}

.admin-user-main {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 18px;
}

.admin-user-main h3 {
 margin-bottom: 4px;
 color: var(--ziggy-text);
 font-size: 1.18rem;
 font-weight: 850;
}

.admin-user-main a {
 color: var(--ziggy-purple);
 font-weight: 750;
}

.admin-user-meta,
.admin-skill-row {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}

.admin-user-meta span {
 display: inline-flex;
 border-radius: 999px;
 padding: 7px 11px;
 color: var(--ziggy-muted);
 background: #f7f8fc;
 font-size: 0.84rem;
}

.admin-user-meta strong {
 color: var(--ziggy-text);
 margin-left: 4px;
}

.admin-skill-row span {
 display: inline-flex;
 border-radius: 999px;
 padding: 7px 11px;
 color: var(--ziggy-purple);
 background: #f0edff;
 font-size: 0.8rem;
 font-weight: 800;
}

.admin-status {
 display: inline-flex;
 align-items: center;
 width: fit-content;
 border-radius: 999px;
 padding: 7px 11px;
 font-size: 0.76rem;
 font-weight: 900;
 line-height: 1;
}

.admin-status-active {
 color: #116d34;
 background: rgba(23, 189, 84, 0.12);
}

.admin-status-pending {
 color: #8a5b00;
 background: rgba(255, 189, 46, 0.17);
}

.admin-status-disabled {
 color: #8a2230;
 background: rgba(220, 53, 69, 0.11);
}

.admin-status-private {
 color: var(--ziggy-purple-dark);
 background: #f0edff;
}

.admin-detail-grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 16px;
 margin-bottom: 0;
}

.admin-detail-grid div {
 padding: 16px;
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 background: #fbfcff;
}

.admin-detail-grid dt {
 margin-bottom: 5px;
 font-size: 0.78rem;
 font-weight: 850;
 text-transform: uppercase;
}

.admin-detail-grid dd {
 margin-bottom: 0;
 color: var(--ziggy-text);
 font-weight: 850;
}

.admin-action-stack .btn {
 justify-content: center;
}

.admin-confirm-modal .modal-content {
 border: 1px solid rgba(232, 234, 240, 0.95);
 border-radius: 24px;
 box-shadow: 0 24px 70px rgba(15, 17, 24, 0.18);
}

.admin-confirm-modal .modal-header,
.admin-confirm-modal .modal-footer {
 border-color: var(--ziggy-border);
 padding: 20px 22px;
}

.admin-confirm-modal .modal-title {
 color: var(--ziggy-text);
 font-size: 1.35rem;
 font-weight: 850;
 line-height: 1.15;
}

.admin-confirm-modal .modal-body {
 padding: 22px;
 color: var(--ziggy-muted);
}

.admin-confirm-modal .modal-body p {
 margin-bottom: 16px;
}

.admin-confirm-modal .modal-footer {
 gap: 8px;
}

.admin-confirm-user {
 display: grid;
 gap: 4px;
 padding: 14px 16px;
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 background: #fbfcff;
}

.admin-confirm-user strong {
 color: var(--ziggy-text);
 font-weight: 850;
}

.admin-confirm-user span {
 color: var(--ziggy-muted);
 font-weight: 700;
 overflow-wrap: anywhere;
}

.admin-detail-section {
 margin-top: 28px;
}

.admin-permission-sections {
 display: grid;
 gap: 22px;
 margin-top: 24px;
}

.admin-permission-panel {
 display: grid;
 gap: 18px;
 padding: 22px;
 border: 1px solid rgba(232, 234, 240, 0.95);
 border-radius: 24px;
 background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
}

.admin-permission-panel-header {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 18px;
 padding-bottom: 16px;
 border-bottom: 1px solid var(--ziggy-border);
}

.admin-permission-panel-header h3 {
 margin: 0;
 color: var(--ziggy-text);
 font-size: 1.16rem;
 line-height: 1.2;
 font-weight: 850;
}

.admin-permission-panel-header p {
 max-width: 680px;
 margin: 7px 0 0;
 color: var(--ziggy-muted);
 font-size: 0.92rem;
 line-height: 1.55;
}

.admin-permission-groups {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 align-items: start;
 gap: 18px;
}

.admin-permission-groups-content {
 grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-permission-groups-admin {
 grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-permission-groups-content .admin-permission-group:nth-child(3) {
 align-self: stretch;
 justify-self: stretch;
 width: 100%;
}

.admin-permission-group {
 display: grid;
 align-content: start;
 gap: 14px;
 padding: 18px;
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 background: #ffffff;
}

.admin-permission-group-heading h3,
.admin-permission-group-heading h4 {
 margin: 0;
 color: var(--ziggy-text);
 font-size: 1rem;
 line-height: 1.2;
 font-weight: 850;
}

.admin-permission-group-heading p {
 margin-bottom: 0;
 color: var(--ziggy-muted);
 font-size: 0.9rem;
 line-height: 1.55;
}

.admin-permission-checks {
 display: grid;
 gap: 10px;
}

.admin-check-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 12px;
}

.admin-check-option {
 display: flex;
 align-items: center;
 gap: 10px;
 min-height: 48px;
 padding: 12px 14px;
 border: 1px solid var(--ziggy-border);
 border-radius: 16px;
 background: #fbfcff;
 color: var(--ziggy-text);
 font-weight: 750;
}

.admin-check-option span {
 min-width: 0;
 overflow-wrap: anywhere;
}

.admin-check-option .form-check-input,
.admin-table .form-check-input {
 margin: 0;
 border-color: #c7ccda;
 accent-color: var(--ziggy-purple);
}

.admin-settings-stack {
 display: grid;
 gap: 24px;
}

.admin-settings-card {
 display: grid;
 gap: 18px;
}

.admin-settings-card-header {
 margin-bottom: 0;
 padding-bottom: 18px;
 border-bottom: 1px solid var(--ziggy-border);
}

.admin-settings-intro {
 max-width: 760px;
 margin-bottom: 0;
 font-size: 0.94rem;
 line-height: 1.6;
}

.admin-settings-form {
 gap: 20px;
}

.admin-settings-toggle-grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 14px;
}

.admin-settings-check {
 align-items: flex-start;
 min-height: 0;
 padding: 16px;
 border-radius: 18px;
 background: #fbfcff;
 transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.admin-settings-check:focus-within {
 border-color: rgba(111, 86, 218, 0.46);
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.10);
}

.admin-settings-check strong,
.admin-settings-check small {
 display: block;
}

.admin-settings-check small {
 margin-top: 3px;
 color: var(--ziggy-muted);
 font-size: 0.82rem;
 line-height: 1.45;
 font-weight: 650;
}

.admin-settings-domain-field textarea {
 min-height: 170px;
}

.admin-settings-actions {
 padding-top: 2px;
}

.admin-settings-fieldset {
 display: grid;
 gap: 12px;
 min-width: 0;
 margin: 0;
 padding: 0;
 border: 0;
}

.admin-settings-fieldset legend {
 margin-bottom: 0;
 color: var(--ziggy-text);
 font-size: 0.9rem;
 font-weight: 850;
}

.email-2fa-option-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 12px;
}

.email-2fa-option {
 position: relative;
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 align-items: center;
 gap: 10px;
 min-height: 56px;
 padding: 15px 16px;
 border: 1px solid var(--ziggy-border);
 border-radius: 18px;
 background: #fbfcff;
 color: var(--ziggy-text);
 font-weight: 850;
 cursor: pointer;
 transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.email-2fa-option:hover {
 border-color: rgba(111, 86, 218, 0.34);
 background: var(--ziggy-white);
}

.email-2fa-option:focus-within {
 border-color: rgba(111, 86, 218, 0.58);
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.10);
}

.email-2fa-option:has(.email-2fa-radio:checked) {
 border-color: rgba(111, 86, 218, 0.78);
 background: rgba(111, 86, 218, 0.08);
 box-shadow: 0 14px 30px rgba(111, 86, 218, 0.12);
}

.email-2fa-radio {
 position: absolute;
 inset: 0;
 opacity: 0;
 cursor: pointer;
}

.email-2fa-option-marker {
 position: relative;
 z-index: 1;
 width: 18px;
 height: 18px;
 border: 2px solid #c7ccda;
 border-radius: 999px;
 background: var(--ziggy-white);
 transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.email-2fa-option-marker::after {
 content: "";
 position: absolute;
 inset: 4px;
 border-radius: inherit;
 background: var(--ziggy-purple);
 opacity: 0;
 transform: scale(0.4);
 transition: opacity 0.18s ease, transform 0.18s ease;
}

.email-2fa-option:has(.email-2fa-radio:checked) .email-2fa-option-marker {
 border-color: var(--ziggy-purple);
 box-shadow: 0 0 0 3px rgba(111, 86, 218, 0.12);
}

.email-2fa-option:has(.email-2fa-radio:checked) .email-2fa-option-marker::after {
 opacity: 1;
 transform: scale(1);
}

.email-2fa-option-label {
 position: relative;
 z-index: 1;
 min-width: 0;
 overflow-wrap: anywhere;
 line-height: 1.25;
}

.admin-page-access-table-wrap {
 margin-top: 24px;
}

.admin-page-access-table {
 table-layout: fixed;
}

.admin-page-access-table th:nth-child(1),
.admin-page-access-table td:nth-child(1) {
 width: 32%;
}

.admin-page-access-table th:nth-child(2),
.admin-page-access-table td:nth-child(2) {
 width: 30%;
}

.admin-page-access-table th:nth-child(3),
.admin-page-access-table td:nth-child(3) {
 width: 26%;
}

.admin-page-access-table th:nth-child(4),
.admin-page-access-table td:nth-child(4) {
 width: 12%;
 text-align: center;
}

.admin-page-access-table td {
 vertical-align: middle;
}

.admin-page-access-table td:first-child {
 color: var(--ziggy-text);
 font-weight: 850;
}

.admin-page-access-table code {
 white-space: normal;
 overflow-wrap: anywhere;
}

.admin-page-access-row-heading th {
 padding-top: 1.25rem;
 padding-bottom: 0.75rem;
 color: var(--ziggy-purple-dark);
 background: #fbfcff;
 font-size: 0.78rem;
 letter-spacing: 0.04em;
}

.admin-note {
 max-width: 860px;
 line-height: 1.7;
}

.admin-registry-note {
 margin-bottom: 22px;
 padding: 16px 18px;
 border: 1px solid rgba(96, 205, 255, 0.24);
 border-radius: 18px;
 color: #27485a;
 background: rgba(96, 205, 255, 0.08);
 font-weight: 700;
}

.admin-table {
 margin-bottom: 0;
}

.admin-table th {
 color: var(--ziggy-muted);
 font-size: 0.76rem;
 text-transform: uppercase;
}

.admin-table td,
.admin-table th {
 padding: 1rem;
 border-color: var(--ziggy-border);
}

.admin-table code {
 color: var(--ziggy-purple-dark);
}

.audit-log-list {
 display: grid;
 border: 1px solid var(--ziggy-border);
 border-radius: 20px;
 background: var(--ziggy-white);
 overflow: hidden;
}

.audit-log-entry {
 border-bottom: 1px solid var(--ziggy-border);
}

.audit-log-entry:last-child {
 border-bottom: 0;
}

.audit-log-summary-row {
 display: grid;
 grid-template-columns:
   minmax(118px, 0.75fr)
   minmax(140px, 0.95fr)
   minmax(150px, 1fr)
   minmax(150px, 1fr)
   minmax(220px, 1.55fr)
   max-content;
 gap: 16px;
 align-items: start;
 padding: 17px 18px;
 cursor: pointer;
 list-style: none;
}

.audit-log-summary-row::-webkit-details-marker {
 display: none;
}

.audit-log-field {
 display: block;
 min-width: 0;
}

.audit-log-label {
 display: block;
 margin-bottom: 5px;
 color: var(--ziggy-muted);
 font-size: 0.7rem;
 font-weight: 850;
 line-height: 1.2;
 text-transform: uppercase;
}

.audit-log-field strong,
.audit-log-field > span:not(.audit-log-label),
.audit-log-description > span:not(.audit-log-label) {
 overflow-wrap: anywhere;
}

.audit-log-field strong,
.audit-log-date-day {
 display: block;
 color: #303342;
 font-size: 0.93rem;
 font-weight: 700;
 line-height: 1.25;
}

.audit-log-field > span:not(.audit-log-label),
.audit-log-date-time {
 display: block;
 margin-top: 3px;
 color: var(--ziggy-muted);
 font-size: 0.84rem;
 line-height: 1.3;
}

.audit-log-description > span:not(.audit-log-label) {
 color: var(--ziggy-text);
 line-height: 1.45;
}

.audit-log-details-button {
 display: inline-flex;
 align-items: center;
 align-self: center;
 justify-content: center;
 width: max-content;
 justify-self: end;
 border: 1px solid rgba(111, 86, 218, 0.26);
 border-radius: 999px;
 padding: 0.48rem 0.82rem;
 color: var(--ziggy-purple);
 background: #f7f4ff;
 cursor: pointer;
 font-size: 0.82rem;
 font-weight: 850;
 line-height: 1.1;
 list-style: none;
 white-space: nowrap;
 transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.audit-log-summary-row:hover .audit-log-details-button,
.audit-log-summary-row:focus-visible .audit-log-details-button {
 color: var(--ziggy-purple-dark);
 border-color: rgba(111, 86, 218, 0.42);
 background: #f0edff;
}

.audit-log-summary-row:focus-visible {
 outline: 0;
}

.audit-log-summary-row:focus-visible .audit-log-details-button {
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.12);
}

.audit-log-detail-panel {
 margin: 0 18px 18px;
 padding: 16px;
 border: 1px solid rgba(232, 234, 240, 0.95);
 border-radius: 18px;
 background: #fbfcff;
}

.audit-detail-summary {
 display: grid;
 gap: 14px;
 font-size: 0.88rem;
}

.audit-detail-heading {
 color: var(--ziggy-text);
 font-weight: 850;
 line-height: 1.25;
}

.audit-detail-sections,
.audit-detail-rows {
 display: grid;
 gap: 12px;
}

.audit-detail-sections,
.audit-detail-rows {
 grid-template-columns: repeat(2, minmax(0, 1fr));
}

.audit-detail-section,
.audit-detail-row {
 padding: 12px 14px;
 border: 1px solid rgba(232, 234, 240, 0.95);
 border-radius: 14px;
 background: var(--ziggy-white);
}

.audit-detail-section span,
.audit-detail-row span {
 display: block;
 margin-bottom: 6px;
 color: var(--ziggy-muted);
 font-size: 0.72rem;
 font-weight: 850;
 line-height: 1.2;
 text-transform: uppercase;
}

.audit-detail-section ul {
 margin: 0;
 padding-left: 1.05rem;
 color: var(--ziggy-text);
 font-size: 0.86rem;
 font-weight: 500;
 line-height: 1.45;
}

.audit-detail-section li + li {
 margin-top: 2px;
}

.audit-detail-empty {
 margin: 0;
 color: var(--ziggy-muted);
 font-size: 0.86rem;
 font-weight: 500;
 line-height: 1.45;
}

.audit-detail-row {
 display: block;
 min-width: 0;
}

.audit-detail-value {
 margin: 0;
 color: var(--ziggy-text);
 font-size: 0.86rem;
 font-weight: 500;
 line-height: 1.45;
 overflow-wrap: anywhere;
}

.audit-raw-metadata summary {
 cursor: pointer;
 color: var(--ziggy-purple);
 font-size: 0.78rem;
 font-weight: 850;
}

.audit-raw-metadata-body {
 max-height: 220px;
 margin: 8px 0 0;
 overflow: auto;
 white-space: pre-wrap;
}

.admin-table-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}

.admin-pending-actions {
 align-items: center;
 justify-content: flex-end;
}

.admin-pending-actions form {
 display: flex;
}

.admin-pending-actions .btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 136px;
 min-height: 34px;
 padding-right: 14px;
 padding-left: 14px;
 font-size: 0.875rem;
 font-weight: 800;
}

.admin-form-layout {
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
 gap: 24px;
 align-items: start;
}

.admin-form-sidebar {
 display: grid;
 gap: 18px;
}

.admin-form-mock {
 display: grid;
 gap: 18px;
}

.admin-field label {
 display: block;
 margin-bottom: 8px;
 color: var(--ziggy-text);
 font-size: 0.9rem;
 font-weight: 850;
}

.admin-field input,
.admin-field textarea,
.admin-field select {
 width: 100%;
 border: 1px solid var(--ziggy-border);
 border-radius: 16px;
 padding: 13px 15px;
 color: var(--ziggy-text);
 background: #fbfcff;
 font: inherit;
 outline: 0;
 transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.admin-field textarea {
 resize: vertical;
}

.admin-field input:focus,
.admin-field textarea:focus,
.admin-field select:focus {
 border-color: rgba(111, 86, 218, 0.52);
 background: var(--ziggy-white);
 box-shadow: 0 0 0 4px rgba(111, 86, 218, 0.10);
}

.admin-editor-shell,
.admin-preview-panel,
.admin-media-placeholder {
 border: 1px solid var(--ziggy-border);
 border-radius: 20px;
 background: #fbfcff;
}

.admin-editor-shell {
 overflow: hidden;
}

.admin-editor-toolbar {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 padding: 12px;
 border-bottom: 1px solid var(--ziggy-border);
 background: #f7f8fc;
}

.admin-editor-toolbar button {
 width: 38px;
 height: 38px;
 display: grid;
 place-items: center;
 border: 1px solid var(--ziggy-border);
 border-radius: 12px;
 color: var(--ziggy-text);
 background: var(--ziggy-white);
}

.admin-editor-toolbar button:hover,
.admin-editor-toolbar button:focus-visible {
 color: var(--ziggy-purple);
 border-color: rgba(111, 86, 218, 0.34);
}

.admin-editor-area {
 min-height: 330px;
 padding: 24px;
 color: var(--ziggy-text);
 background: var(--ziggy-white);
}

.admin-editor-area h3,
.admin-preview-panel h3 {
 margin-bottom: 12px;
 color: var(--ziggy-text);
 font-size: 1.35rem;
 font-weight: 850;
}

.admin-editor-area p,
.admin-preview-panel p {
 color: var(--ziggy-muted);
 line-height: 1.7;
}

.admin-preview-panel {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 18px;
 padding: 20px;
}

.admin-preview-panel p {
 margin-bottom: 0;
}

.admin-form-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 justify-content: flex-end;
}

.admin-media-placeholder {
 display: grid;
 place-items: center;
 gap: 10px;
 min-height: 230px;
 padding: 24px;
 text-align: center;
 color: var(--ziggy-muted);
}

.admin-media-placeholder i {
 width: 58px;
 height: 58px;
 display: grid;
 place-items: center;
 border-radius: 18px;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 font-size: 1.4rem;
}

.admin-media-placeholder strong,
.admin-media-placeholder span {
 display: block;
}

.admin-media-placeholder strong {
 color: var(--ziggy-text);
 font-weight: 850;
}

.admin-media-placeholder span {
 max-width: 260px;
 font-size: 0.9rem;
 line-height: 1.55;
}

.admin-image-preview {
 overflow: hidden;
 aspect-ratio: 16 / 10;
 border: 1px solid var(--ziggy-border);
 border-radius: 20px;
 margin-bottom: 16px;
 background: #10131b;
}

.admin-image-preview img {
 width: 100%;
 height: 100%;
 display: block;
 object-fit: cover;
}

.access-denied-card {
 max-width: 720px;
 margin: 0 auto;
 padding: clamp(2rem, 5vw, 3.5rem);
 text-align: center;
}

.access-denied-icon {
 width: 76px;
 height: 76px;
 display: grid;
 place-items: center;
 margin: 0 auto 22px;
 border-radius: 24px;
 color: var(--ziggy-white);
 background: linear-gradient(135deg, var(--ziggy-purple), var(--ziggy-blue));
 font-size: 2rem;
 box-shadow: 0 18px 42px rgba(111, 86, 218, 0.24);
}

.access-denied-card h2 {
 margin-bottom: 12px;
 color: var(--ziggy-text);
 font-size: clamp(1.8rem, 4vw, 2.5rem);
 font-weight: 850;
}

.access-denied-card p {
 max-width: 560px;
 margin: 0 auto 26px;
 color: var(--ziggy-muted);
 line-height: 1.7;
}

.access-denied-actions {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 justify-items: center;
 gap: 12px;
}

.access-denied-action-button {
 width: 12rem;
 min-height: 2.45rem;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding: 0.58rem 0.9rem;
 font-size: 0.9rem;
 font-weight: 800;
 line-height: 1.15;
 text-align: center;
 white-space: nowrap;
}

@media (max-width: 1199.98px) {
 .admin-stat-grid,
 .admin-dashboard-grid {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .admin-check-grid {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}

@media (max-width: 991.98px) {
 .notification-nav-item,
 .profile-nav-item {
   margin: 0.55rem 0 0;
 }

 .nav-profile-button {
   width: fit-content;
 }

 .admin-card-header {
   display: grid;
 }

 .news-admin-header-actions {
   justify-content: start;
   flex-wrap: wrap;
 }

 .news-filter-grid {
   grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
 }

 .news-filter-search {
   grid-column: 1 / -1;
 }

 .news-filter-actions {
   grid-column: 2;
   grid-template-columns: 1fr;
   padding-top: 0;
 }

 .news-filter-reset {
   justify-self: start;
 }

 .admin-activity-list div {
   grid-template-columns: auto 1fr;
 }

 .admin-activity-list small {
   grid-column: 2;
   white-space: normal;
 }

	 .admin-form-layout {
	   grid-template-columns: 1fr;
	 }

 .email-2fa-option-grid {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .audit-filter-wide,
 .audit-filter-date,
 .audit-filter-search {
   grid-column: span 6;
 }

 .audit-filter-actions {
   grid-column: 1 / -1;
   grid-template-columns: minmax(160px, auto) auto;
   justify-content: start;
   align-items: center;
   padding-top: 0;
 }

 .audit-log-summary-row {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .audit-log-description {
   grid-column: 1 / -1;
 }

 .admin-permission-groups,
 .admin-permission-groups-content,
 .admin-permission-groups-admin {
   grid-template-columns: 1fr;
 }
}

@media (max-width: 767.98px) {
 .admin-preview-section {
   padding: 42px 0 70px;
 }

 .admin-preview-nav {
   margin-inline: -6px;
   border-radius: 18px;
 }

 .admin-stat-grid,
 .admin-dashboard-grid,
 .admin-detail-grid,
 .admin-permission-groups,
 .admin-check-grid {
   grid-template-columns: 1fr;
 }

	 .admin-card,
	 .admin-user-card {
	   padding: 22px;
	   border-radius: 22px;
	 }

 .admin-settings-toggle-grid,
 .email-2fa-option-grid {
   grid-template-columns: 1fr;
 }

 .admin-permission-panel {
   padding: 18px;
   border-radius: 20px;
 }

 .admin-stat-card,
 .admin-user-main,
 .admin-metric-list div {
   align-items: flex-start;
 }

 .admin-stat-card,
 .admin-user-main,
 .admin-metric-list div,
 .admin-search-form {
   display: grid;
 }

 .admin-search-form {
   grid-template-columns: 1fr;
 }

 .audit-filter-grid,
 .audit-log-summary-row,
 .audit-detail-sections,
 .audit-detail-rows,
 .news-filter-grid {
   grid-template-columns: 1fr;
 }

 .audit-filter-wide,
 .audit-filter-date,
 .audit-filter-search,
 .audit-filter-actions,
 .news-filter-search,
 .news-filter-actions {
   grid-column: 1 / -1;
 }

 .audit-filter-actions,
 .news-filter-actions {
   grid-template-columns: 1fr;
 }

 .audit-filter-actions .admin-card-link,
 .news-filter-reset {
   justify-self: start;
 }

 .audit-log-details-button {
   justify-self: start;
 }

 .audit-log-summary-row {
   gap: 14px;
   padding: 16px;
 }

 .audit-log-detail-panel {
   padding: 14px;
 }

 .admin-search-form i {
   display: none;
 }

 .admin-preview-panel,
 .admin-form-actions {
   display: grid;
   justify-content: stretch;
 }

 .access-denied-actions {
   display: grid;
 }
}

/* Responsive frontend refinements */
.detail-card,
.profile-card,
.notification-page-item,
.admin-card,
.admin-user-card,
.admin-preview-panel,
.spotify-panel,
.featured-episode,
.news-lead-card,
.home-preview-card,
.cart-tile {
 min-width: 0;
}

.profile-detail-list dd,
.admin-detail-grid dd,
.admin-user-main a,
.admin-registry-note,
.admin-field input,
.admin-field textarea,
.spotify-url-row code {
 overflow-wrap: anywhere;
}

.table-responsive {
 -webkit-overflow-scrolling: touch;
}

@media (max-width: 991.98px) {
 .ziggy-navbar .navbar-collapse {
   padding-top: 1rem;
 }

 .ziggy-navbar .navbar-nav {
   display: grid;
   grid-template-columns: repeat(2, max-content);
   align-items: start;
   column-gap: 0.75rem;
   row-gap: 0.2rem;
 }

 .ziggy-navbar .navbar-nav .nav-item:not(.notification-nav-item):not(.profile-nav-item) {
   grid-column: 1 / -1;
 }

 .notification-nav-item,
 .profile-nav-item {
   margin: 0.45rem 0 0;
 }

 .nav-icon-button,
 .nav-profile-button {
   width: 42px;
   min-width: 42px;
   padding-inline: 0;
 }
}

@media (max-width: 767.98px) {
 .home-quick-section .row {
   margin-inline: 0;
 }

 .home-quick-section .row > * {
   padding-inline: 0;
 }

 .admin-preview-nav {
   flex-wrap: wrap;
   overflow-x: visible;
 }

 .admin-preview-nav a {
   flex: 1 1 calc(50% - 10px);
   min-width: 0;
   white-space: normal;
   text-align: center;
 }

 .admin-card .table-responsive {
   width: calc(100% + 44px);
   margin-inline: -22px;
   padding-inline: 22px;
 }

 .admin-card .admin-page-access-table-wrap {
   width: auto;
   margin-inline: 0;
   padding-inline: 0;
   overflow-x: visible;
 }

 .admin-table {
   min-width: 560px;
 }

 .news-admin-table {
   min-width: 780px;
 }

 .admin-detail-section .admin-table {
   min-width: 460px;
 }

 .admin-detail-section .admin-page-access-table {
   min-width: 0;
 }

 .admin-page-access-table thead {
   display: none;
 }

 .admin-page-access-table tr {
   display: grid;
   padding: 0.7rem 0;
   border-bottom: 1px solid var(--ziggy-border);
 }

 .admin-page-access-table tr:last-child {
   border-bottom: 0;
 }

 .admin-page-access-table td,
 .admin-page-access-table th {
   border: 0;
 }

 .admin-page-access-table td {
   display: grid;
   grid-template-columns: minmax(90px, 0.38fr) minmax(0, 1fr);
   gap: 12px;
   width: 100% !important;
   padding: 0.45rem 0;
   text-align: left !important;
 }

 .admin-page-access-table td::before {
   content: attr(data-label);
   color: var(--ziggy-muted);
   font-size: 0.72rem;
   font-weight: 850;
   text-transform: uppercase;
 }

 .admin-page-access-table td[data-label="Access granted"] {
   align-items: center;
 }

 .admin-page-access-row-heading th {
   padding: 0.75rem 0 0.35rem;
 }

 .admin-form-actions .me-auto {
   margin-right: 0 !important;
 }

 .admin-form-actions .btn,
 .admin-preview-panel .btn,
 .admin-card-header .btn,
 .notifications-toolbar > .btn,
 .profile-form-actions .btn,
 .profile-action-row .btn {
   width: 100%;
   justify-content: center;
 }

 .notification-tabs {
   width: 100%;
 }

 .notification-tabs button {
   flex: 1 1 auto;
 }

}

@media (max-width: 575.98px) {
 .spotify-frame,
 .notification-page-item {
   grid-template-columns: 1fr;
 }

 .notification-menu {
   margin-right: 0;
 }

 .admin-pending-actions {
   justify-content: stretch;
 }

 .admin-pending-actions form,
 .admin-pending-actions .btn {
   flex: 1 1 100%;
   width: 100%;
 }

 .auth-brand-panel::after {
   display: none;
 }

 .auth-logo {
   height: 34px;
   margin-bottom: 32px;
 }

 .auth-brand-panel,
 .auth-form-panel {
   padding: 22px;
 }
}

@media (prefers-reduced-motion: reduce) {
 *,
 *::before,
 *::after {
   scroll-behavior: auto !important;
   transition-duration: 0.01ms !important;
   animation-duration: 0.01ms !important;
   animation-iteration-count: 1 !important;
 }
}
