/* Creacy Foundry 1.9.19 — base, tokens, header, footer, homepage, shop */
@font-face {
  font-family: "Inter";
  src: url("fonts/InterVariable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: optional;
}


:root {
  --cs-coral: #FF5757;
  --cs-coral-dark: #E84545;
  --cs-coral-light: #FFEDED;
  --cs-white: #FFFFFF;
  --cs-black: #0D0D0D;
  --cs-black-soft: #1A1A1A;
  --cs-body: #2C2C2C;
  --cs-muted: #575757;
  --cs-border: #CCCCCC;
  --cs-border-alt: #CCD0D4;
  --cs-surface: #F5F5F5;
  --cs-surface-alt: #F0F0F0;
  --cs-ivory: #FBFBFB;
  --cs-font-heading: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cs-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cs-container: 1280px;
  --cs-radius: 16px;
  --cs-radius-pill: 999px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.cs-body {
  margin: 0;
  background: var(--cs-white);
  color: var(--cs-body);
  font-family: var(--cs-font-body);
  font-size: 16px;
  line-height: 1.6;
}
h1, h2, h3, h4 { font-family: var(--cs-font-heading); color: var(--cs-black); line-height: 1.2; margin: 0 0 16px; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.cs-skip { position: absolute; left: -9999px; top: 8px; background: var(--cs-black); color: var(--cs-white); padding: 8px 16px; border-radius: var(--cs-radius-pill); z-index: 100; }
.cs-skip:focus { left: 8px; }

.cs-container { width: 100%; max-width: var(--cs-container); margin: 0 auto; padding: 0 24px; }
.cs-content { padding-top: 48px; padding-bottom: 64px; }
.cs-entry { margin-bottom: 32px; }
.cs-entry__title a { text-decoration: none; }
.cs-entry__meta { color: var(--cs-muted); font-size: 14px; margin-bottom: 16px; }

/* Buttons */
.cs-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 24px; border-radius: var(--cs-radius-pill);
  background: var(--cs-coral); color: var(--cs-white);
  font-family: var(--cs-font-body); font-weight: 700; font-size: 14px; letter-spacing: .04em;
  text-decoration: none; border: 0; cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
.cs-btn:hover { background: var(--cs-coral-dark); }

/* Header — single row (1.4.4) */
.cs-header { position: relative; background: var(--cs-white); border-bottom: 1px solid var(--cs-surface-alt); }
.cs-header__bar { display: flex; align-items: center; gap: 12px; min-height: 80px; }
.cs-logo { flex: 0 0 auto; font-family: var(--cs-font-heading); font-weight: 800; font-size: 26px; letter-spacing: -.01em; text-decoration: none; white-space: nowrap; }
.cs-logo__text { font-family: var(--cs-font-heading); font-weight: 800; font-size: 24px; color: var(--cs-black); text-decoration: none; white-space: nowrap; }
.cs-logo.cs-logo__text { font-size: 26px; }
.cs-logo.cs-logo__text { font-family: var(--cs-font-body); }
.cs-logo__a { color: var(--cs-black); }
.cs-logo__b { color: var(--cs-coral); }
/* Image logo: same height as the text logo it replaces, so the header row keeps its spacing. Width follows the file, never cropped. */
.cs-header .custom-logo-link { display: flex; align-items: center; gap: 0; flex: 0 0 auto; } /* the symbol file's own transparent margin is the visible gap */
/* The symbol is the image; the name beside it is live text, Inter ExtraBold in ink, larger than the menu so it stands out. */
.cs-logo__name { font-family: var(--cs-font-body); font-weight: 800; font-size: 20px; line-height: normal; letter-spacing: 0; color: var(--cs-black-soft); white-space: nowrap; }
.cs-header .custom-logo { display: block; flex: 0 0 auto; height: 41.6px; width: auto; max-width: none; }

.cs-nav { flex: 1 1 auto; min-width: 0; margin-left: 0; }
.cs-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 4px 16px; }
.cs-menu > li { position: relative; display: flex; align-items: center; flex: 0 0 auto; white-space: nowrap; }
.cs-menu a {
  display: block; padding: 10px 0; color: var(--cs-black); text-decoration: none;
  font-family: var(--cs-font-body); font-weight: 600; font-size: 14px; letter-spacing: .04em; text-transform: uppercase;
}
.cs-menu a:hover { color: var(--cs-coral); }
.cs-submenu-toggle {
  display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-left: 2px; padding: 0;
  background: transparent; border: 0; color: var(--cs-black); cursor: pointer; border-radius: 50%;
}
.cs-submenu-toggle svg { transition: transform .2s ease; }
.cs-menu > li.is-open > .cs-submenu-toggle svg { transform: rotate(180deg); }

/* Dropdown (desktop) */
.cs-menu .sub-menu {
  list-style: none; margin: 0; padding: 8px; min-width: 220px;
  position: absolute; top: 100%; left: 0; z-index: 50;
  background: var(--cs-white); border-radius: var(--cs-radius); box-shadow: 0 12px 32px rgba(13, 13, 13, .14);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.cs-menu .sub-menu a { padding: 10px 14px; border-radius: 10px; text-transform: none; letter-spacing: 0; font-size: 14px; }
.cs-menu .sub-menu a:hover { background: var(--cs-coral-light); color: var(--cs-coral-dark); }
.cs-menu > li.is-open > .sub-menu, .cs-menu > li:focus-within > .sub-menu {
  opacity: 1; visibility: visible; transform: none; transition-delay: 0s;
}
@media (hover: hover) and (min-width: 1221px) {
  .cs-menu > li:hover > .sub-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
}

.cs-nav__account { display: none; }

/* Right-side buttons */
.cs-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; margin-left: auto; }
.cs-iconbtn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 44px; min-width: 44px; padding: 0 14px; margin: 0;
  background: var(--cs-white); color: var(--cs-black); border: 1px solid var(--cs-border); border-radius: 12px;
  font-family: var(--cs-font-body); font-weight: 600; font-size: 13px; letter-spacing: .04em; text-decoration: none; cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.cs-iconbtn:hover, .cs-search-toggle[aria-expanded="true"] { background: var(--cs-coral-light); border-color: var(--cs-coral); color: var(--cs-coral-dark); }
.cs-search-toggle { padding: 0; width: 44px; }
.cs-cart { width: 44px; padding: 0; }
.cs-user { width: 44px; padding: 0; }
.cs-cart__count {
  position: absolute; top: -8px; right: -8px;
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--cs-radius-pill);
  background: var(--cs-coral); color: var(--cs-white); font-size: 11px; font-weight: 700; line-height: 20px; text-align: center;
}

/* Inline search field */
.cs-searchbar { border-top: 1px solid var(--cs-surface-alt); padding: 12px 0; background: var(--cs-white); }
.cs-searchbar[hidden] { display: none; }
.cs-searchbar__form { display: flex; gap: 8px; }
.cs-searchbar__input {
  flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 16px;
  border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white);
  font-family: var(--cs-font-body); font-size: 15px; color: var(--cs-body);
}
.cs-searchbar__btn {
  flex: 0 0 auto; width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 12px; background: var(--cs-coral); color: var(--cs-white); cursor: pointer; transition: background-color .2s ease;
}
.cs-searchbar__btn:hover { background: var(--cs-coral-dark); }

/* Hamburger (mobile only) */
.cs-burger {
  display: none; flex: 0 0 auto; width: 40px; height: 40px; padding: 0;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  background: transparent; border: 0; cursor: pointer;
}
.cs-burger__bar { display: block; width: 22px; height: 2px; background: var(--cs-black); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.cs-burger[aria-expanded="true"] .cs-burger__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.cs-burger[aria-expanded="true"] .cs-burger__bar:nth-child(2) { opacity: 0; }
.cs-burger[aria-expanded="true"] .cs-burger__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1220px) {
  .cs-header__bar { gap: 12px; min-height: 68px; }
  .cs-burger { display: inline-flex; }
  .cs-logo.cs-logo__text { font-size: 22px; }
  .cs-header .custom-logo { height: 35.2px; }
  .cs-user, .cs-iconbtn__label { display: none; }
  .cs-nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 60; margin: 0; padding: 8px 16px 16px;
    background: var(--cs-white); border-top: 1px solid var(--cs-surface-alt); border-bottom: 1px solid var(--cs-border);
    box-shadow: 0 12px 24px rgba(13, 13, 13, .08);
  }
  .cs-nav.is-open { display: block; }
  .cs-menu { flex-direction: column; align-items: stretch; justify-content: flex-start; flex-wrap: nowrap; gap: 0; }
  .cs-menu > li { flex-wrap: wrap; justify-content: space-between; }
  .cs-menu > li > a { flex: 1 1 auto; padding: 14px 0; }
  .cs-submenu-toggle { width: 44px; height: 44px; }
  .cs-menu .sub-menu {
    position: static; display: none; flex: 1 1 100%; min-width: 0; padding: 0 0 8px 16px;
    opacity: 1; visibility: visible; transform: none; box-shadow: none; border-radius: 0; transition: none;
  }
  .cs-menu > li.is-open > .sub-menu { display: block; }
  .cs-menu > li:focus-within > .sub-menu { display: none; }
  .cs-menu > li.is-open:focus-within > .sub-menu { display: block; }
  .cs-nav__account {
    display: inline-flex; align-items: center; justify-content: center; margin-top: 12px; height: 44px; padding: 0 24px;
    border-radius: 12px; background: var(--cs-coral); color: var(--cs-white); font-weight: 700; font-size: 14px; letter-spacing: .04em; text-decoration: none;
  }
}
/* 1.9.10 — desktop bar (user choice c): logo flush with the container's left edge, actions flush with its right edge, as in 1.9.7.
   The nav fills the space between them and space-evenly gives all 8 gaps one fluid width (~45px in the 1232px container,
   ~38px at 1221px), so nothing overflows. Tracking stays tight at .02em (1.9.9). The actions group is 168px (3 x 44 + 2 x 18),
   the logo's width, which keeps the menu on the page centre. */
@media (min-width: 1221px) {
  .cs-header__bar { gap: 0; }
  .cs-nav { flex: 1 1 0; min-width: 0; }
  .cs-menu { justify-content: space-evenly; column-gap: 0; }
  .cs-actions { margin-left: 0; gap: 18px; }
  .cs-menu > li > a { letter-spacing: .02em; margin-right: -.02em; } /* 1.9.9: tighter tracking (1.9.8 .18em) to sit with the bold logo; the negative margin cancels the tracking after each word's last letter so every gap stays equal; size 14px and weight 600 unchanged */
  .cs-menu > li:has(> .cs-submenu-toggle) { margin-right: -7px; } /* 1.9.4: the chevron's empty right half (~8px) plus the gap read wider; this keeps the space after the chevron glyph equal to the plain gaps */
}

@media (max-width: 480px) {
  .cs-container { padding: 0 16px; }
}

/* Footer */
.cs-footer { background: var(--cs-black-soft); color: #E5E5E5; padding: 64px 0 24px; }
.cs-footer a { color: #E5E5E5; text-decoration: none; }
.cs-footer a:hover { color: var(--cs-coral); }
.cs-footer .cs-logo__text { color: var(--cs-white); }
.cs-footer .custom-logo { max-height: 48px; width: auto; }
.cs-footer-logo { display: block; width: fit-content; }
.cs-footer .cs-footer-logo__img { display: block; height: 48px; width: auto; max-width: none; }
.cs-footer__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.cs-footer__title { color: var(--cs-white); font-size: 14px; letter-spacing: .08em; margin-bottom: 16px; }
.cs-footer__menu, .cs-social { list-style: none; margin: 0; padding: 0; }
.cs-footer__menu li { margin-bottom: 8px; }
.cs-footer__menu a { font-size: 14px; }
.cs-social { display: flex; gap: 16px; }
.cs-social a { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .08); }
.cs-social a:hover { background: var(--cs-coral); color: var(--cs-white); }
.cs-footer__bottom { margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .12); }
.cs-footer__copy { margin: 0; font-size: 14px; color: #B5B5B5; text-align: center; }

@media (max-width: 900px) {
  .cs-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .cs-footer__grid { grid-template-columns: 1fr; }
}

/* 1.9.3 — footer horizontal lockup: coral tile holding the white symbol, beside a one-line live wordmark */
.cs-footer-logo--horizontal { display: flex; align-items: center; gap: 11px; width: fit-content; }
.cs-footer-logo__tile { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 7px; background: var(--cs-coral); flex: 0 0 auto; }
.cs-footer-logo__tile .cs-footer-logo__img { display: block; height: 40px; width: auto; max-width: none; margin-left: 3.2px; margin-right: -3.2px; } /* the C's ink sits 3.2px left of the 512px file's centre at 40px; the negative right margin keeps the shift exact inside the centred tile */
.cs-footer-logo__word { font-family: var(--cs-font-body); font-weight: 800; font-size: 22px; line-height: 1.15; letter-spacing: -.01em; color: var(--cs-white); white-space: nowrap; padding-top: 1px; } /* 1px lowers the cap-height centre .5px onto the tile's centre */
@media (min-width: 481px) and (max-width: 559px) {
  .cs-footer__brand { grid-column: 1 / -1; } /* the one-line lockup (234px) does not fit a half-width column here: it takes its own row */
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ===== Homepage (1.1.0+) ===== */

/* Focus ring coral */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--cs-coral); outline-offset: 2px;
}

.cs-btn:active { transform: scale(.98); }
.cs-btn--outline { background: transparent; color: var(--cs-coral); box-shadow: inset 0 0 0 2px var(--cs-coral); }
.cs-btn--outline:hover { background: var(--cs-coral-light); color: var(--cs-coral-dark); }

.cs-admin-note { margin: 16px 0 0; padding: 12px 16px; border-radius: var(--cs-radius); background: var(--cs-coral-light); color: var(--cs-black); font-size: 14px; }
.cs-center { display: flex; justify-content: center; margin-top: 32px; }

/* Hero */
.cs-hero { padding: 72px 0 64px; }
.cs-hero__inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.cs-hero__title {
  width: 100%; max-width: 880px; margin: 0 0 24px; padding: 0;
  font-size: 44px; font-weight: 800; letter-spacing: -.02em; text-align: center; text-wrap: balance;
}
.cs-hero__sub { width: 100%; max-width: 760px; margin: 0 0 32px; font-size: 20px; line-height: 1.6; color: var(--cs-muted); text-align: center; }
.cs-hero__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.cs-hero__title, .cs-hero__sub, .cs-hero__ctas { animation: cs-rise .6s ease both; }
.cs-hero__sub { animation-delay: .08s; }
.cs-hero__ctas { animation-delay: .16s; }
@keyframes cs-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Sections + dividers */
.cs-section { padding: 0; }
.cs-section__inner { padding-top: 56px; padding-bottom: 56px; border-top: 1px solid var(--cs-surface-alt); }
.cs-section__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.cs-section__title { font-size: 32px; font-weight: 800; margin: 0; }
.cs-section__tools { display: flex; align-items: center; gap: 16px; }
.cs-link-pill {
  display: inline-flex; align-items: center; padding: 10px 20px; border-radius: var(--cs-radius-pill);
  background: var(--cs-black); color: var(--cs-white); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}
.cs-link-pill:hover { background: var(--cs-coral-dark); }
.cs-link-pill:active { transform: scale(.98); }

/* Reveal once (JS adds .cs-js on <html>) */
.cs-js .cs-reveal:not(.is-visible) { opacity: 0; transform: translateY(16px); }
.cs-reveal { transition: opacity .6s ease, transform .6s ease; }

/* Carousel */
.cs-carousel-nav { display: flex; gap: 8px; }
.cs-carousel-nav[hidden] { display: none; }
.cs-carousel-btn {
  width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 50%; background: var(--cs-surface); color: var(--cs-black); cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
.cs-carousel-btn:hover:not(:disabled) { background: var(--cs-coral); color: var(--cs-white); }
.cs-carousel-btn:active:not(:disabled) { transform: scale(.96); }
.cs-carousel-btn:disabled { opacity: .35; cursor: default; }
.cs-carousel__track {
  list-style: none; margin: 0; padding: 8px 4px 16px; margin-inline: -4px;
  display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
}
.cs-carousel__track::-webkit-scrollbar { display: none; }
.cs-carousel__track { scroll-padding-inline: 4px; } /* 1.9.6: snap to the track's 4px padding edge, so the first card sits on the container edge instead of 4px left of it */
.cs-card { flex: 0 0 calc((100% - 72px) / 4); min-width: 0; scroll-snap-align: start; transition: transform .25s ease; }
.cs-card:hover { transform: translateY(-4px); }
.cs-card__link { display: block; text-decoration: none; color: inherit; }
.cs-card__media { position: relative; aspect-ratio: 3 / 2; border-radius: var(--cs-radius); overflow: hidden; background: var(--cs-surface); transition: box-shadow .25s ease; }
.cs-card:hover .cs-card__media { box-shadow: 0 12px 28px rgba(13, 13, 13, .12); }
.cs-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.cs-card:hover .cs-card__media img { transform: scale(1.03); }
.cs-card__price {
  position: absolute; top: 12px; left: 12px; padding: 4px 12px; border-radius: var(--cs-radius-pill);
  background: var(--cs-coral); color: var(--cs-white); font-size: 13px; font-weight: 700; line-height: 1.5;
}
.cs-card__price .woocommerce-Price-amount, .cs-card__price bdi { color: inherit; }
.cs-card__title {
  margin: 12px 0 0; font-family: var(--cs-font-body); font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--cs-black);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;
}
.cs-card__title:hover { text-decoration: underline; }
.cs-card__tag { display: inline-block; margin-top: 8px; padding: 2px 10px; border-radius: var(--cs-radius-pill); background: var(--cs-surface); color: var(--cs-muted); font-size: 12px; font-weight: 500; }

/* Tester (dark) */
.cs-section--dark { background: var(--cs-black-soft); color: #E5E5E5; }
.cs-section--dark .cs-section__inner { border-top-color: #2C2C2C; padding-top: 64px; padding-bottom: 64px; }
.cs-section--dark .cs-section__title { color: var(--cs-white); }
.cs-tester { display: flex; flex-direction: column; gap: 24px; }
.cs-tester__controls { display: grid; grid-template-columns: 2fr 1.2fr 1.2fr; gap: 16px; align-items: center; }
.cs-tester__input, .cs-tester__select {
  width: 100%; height: 48px; padding: 0 20px; border: 1px solid #2C2C2C; border-radius: var(--cs-radius-pill);
  background: var(--cs-black); color: var(--cs-white); font-family: var(--cs-font-body); font-size: 15px;
}
.cs-tester__select { appearance: none; -webkit-appearance: none; padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; }
.cs-tester__field--size { display: flex; align-items: center; gap: 12px; color: var(--cs-white); font-size: 14px; font-weight: 600; }
.cs-tester__range { flex: 1; min-width: 0; accent-color: var(--cs-coral); }
.cs-tester__out { min-width: 48px; text-align: right; font-variant-numeric: tabular-nums; }
.cs-tester__preview {
  min-height: 160px; padding: 32px 0; color: var(--cs-white); line-height: 1.2; overflow-wrap: anywhere;
  font-family: system-ui, sans-serif; transition: opacity .15s ease;
}
.cs-tester__preview.is-changing { opacity: 0; }
.cs-tester__cta { display: flex; }
.cs-section--dark .cs-admin-note { background: #2C2C2C; color: #E5E5E5; }

/* Browse tiles */
.cs-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cs-tile__link {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 32px 28px;
  border-radius: var(--cs-radius); background: var(--cs-surface); text-decoration: none; color: var(--cs-black);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.cs-tile__link:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(13, 13, 13, .10); background: var(--cs-coral-light); }
.cs-tile__name { font-family: var(--cs-font-heading); font-size: 24px; font-weight: 700; }
.cs-tile__count { font-size: 16px; font-weight: 600; color: var(--cs-muted); }

/* Why */
.cs-why { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.cs-why__item { padding: 28px; border-radius: var(--cs-radius); background: var(--cs-ivory); border: 1px solid var(--cs-surface-alt); }
.cs-why__icon { display: inline-flex; width: 24px; height: 24px; margin-bottom: 16px; color: var(--cs-coral); }
.cs-why__title { font-size: 18px; margin: 0 0 8px; }
.cs-why__text { margin: 0; color: var(--cs-muted); font-size: 15px; }

/* Light bands (Custom License, Email signup) */
.cs-band { text-align: center; padding: 48px 24px; border-radius: var(--cs-radius); background: var(--cs-ivory); }
.cs-band .cs-section__title { margin-bottom: 12px; }
.cs-band__sub { font-size: 20px; margin: 0 0 12px; }
.cs-band__text { max-width: 640px; margin: 0 auto 24px; color: var(--cs-muted); }

/* Posts */
.cs-posts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.cs-post__link { display: block; text-decoration: none; color: inherit; }
.cs-post__media { aspect-ratio: 3 / 2; border-radius: var(--cs-radius); overflow: hidden; background: var(--cs-surface); }
.cs-post__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.cs-post__link:hover .cs-post__media img { transform: scale(1.03); }
.cs-post__date { display: block; margin-top: 12px; font-size: 13px; color: var(--cs-muted); }
.cs-post__title { margin: 4px 0 0; font-family: var(--cs-font-heading); font-size: 16px; font-weight: 700; line-height: 1.4; }

@media (max-width: 1024px) {
  .cs-card { flex-basis: calc((100% - 24px) / 2); }
  .cs-why, .cs-posts { grid-template-columns: repeat(2, 1fr); }
  .cs-tester__controls { grid-template-columns: 1fr 1fr; }
  .cs-tester__field--text { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .cs-hero { padding: 48px 0 40px; }
  .cs-hero__title { font-size: 32px; }
  .cs-hero__sub { font-size: 18px; }
  .cs-section__inner { padding-top: 40px; padding-bottom: 40px; }
  .cs-section__title { font-size: 26px; }
  .cs-tiles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .cs-card { flex-basis: 100%; }
  .cs-tiles, .cs-why, .cs-posts { grid-template-columns: 1fr; }
  .cs-tester__controls { grid-template-columns: 1fr; }
  .cs-section__head { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .cs-js .cs-reveal:not(.is-visible) { opacity: 1; transform: none; }
  .cs-carousel__track { scroll-behavior: auto; }
  .cs-card:hover, .cs-tile__link:hover { transform: none; }
  .cs-card:hover .cs-card__media img, .cs-post__link:hover .cs-post__media img { transform: none; }
  /* blog rules sit later in this file: .cs-body raises specificity so these still win */
  .cs-body .cs-bfeat__box, .cs-body .cs-bcard__box, .cs-body .cs-bfeat__media img, .cs-body .cs-bcard__media img, .cs-body .cs-bbtn { transition: none; }
  .cs-body .cs-bfeat__box:hover, .cs-body .cs-bcard__box:hover, .cs-body .cs-bbtn:active { transform: none; }
  .cs-body .cs-bfeat__box:hover .cs-bfeat__media img, .cs-body .cs-bcard__box:hover .cs-bcard__media img { transform: none; }
  .cs-body .cs-lstep__box:hover, .cs-body .cs-btn:active, .cs-body .cs-fform button:active, .cs-body .cs-fform input[type="submit"]:active { transform: none; }
}

/* ===== Shop (1.2.0) ===== */
.cs-shop__head { margin-bottom: 24px; }
.cs-shop__title { font-size: 40px; font-weight: 800; margin: 0 0 8px; }
.cs-shop__desc { color: var(--cs-muted); max-width: 720px; }
.cs-shop__desc p { margin: 0 0 8px; }
.cs-shop__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--cs-surface-alt); }
.cs-shop__toolbar .woocommerce-result-count { margin: 0; font-size: 14px; color: var(--cs-muted); }
.cs-shop__toolbar .woocommerce-ordering { margin: 0; }
.cs-shop__toolbar .woocommerce-ordering select {
  height: 44px; padding: 0 40px 0 20px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill);
  background-color: var(--cs-white); color: var(--cs-body); font-family: var(--cs-font-body); font-size: 14px; font-weight: 600;
  appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23575757' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}
.cs-shop-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px 24px; }
.cs-shop-grid .cs-card { flex: none; }
.cs-shop .woocommerce-info, .cs-shop .woocommerce-message { margin: 0 0 24px; padding: 16px 20px; border-radius: var(--cs-radius); background: var(--cs-surface); list-style: none; }

@media (max-width: 1024px) {
  .cs-shop-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .cs-shop-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 16px; }
  .cs-shop__title { font-size: 30px; }
  .cs-shop__toolbar { flex-wrap: wrap; }
}

/* ===== Single product (1.4.4) ===== */
.cs-content.cs-productpage { padding-top: 32px; padding-bottom: 24px; }
.cs-crumbs { margin-bottom: 32px; font-size: 13px; color: var(--cs-muted); }
.cs-crumbs .woocommerce-breadcrumb { margin: 0; }
.cs-crumbs a { color: var(--cs-muted); text-decoration: none; }
.cs-crumbs a:hover { color: var(--cs-coral); }

.cs-product { display: grid; grid-template-columns: minmax(0, 1fr) 440px; column-gap: 48px; row-gap: 40px; align-items: start; }
.cs-product__gallery, .cs-product__specs, .cs-product__tester, .cs-product__desc { grid-column: 1; min-width: 0; }
.cs-pbuy { grid-column: 2; grid-row: 1 / span 4; min-width: 0; background: var(--cs-white); border: 1px solid var(--cs-border); border-radius: var(--cs-radius); padding: 24px; }

/* Gallery */
.cs-gallery { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.cs-gallery.has-rail { grid-template-columns: 120px minmax(0, 1fr); }
.cs-gallery__main { border-radius: var(--cs-radius); overflow: hidden; background: var(--cs-surface); }
.cs-gallery__main img { display: block; width: 100%; height: auto; }
.cs-gallery__rail { position: relative; }
.cs-gallery__rail-inner { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; scrollbar-width: thin; }
.cs-gallery__thumb {
  flex: 0 0 auto; padding: 0; width: 100%; aspect-ratio: 3 / 2; border: 2px solid transparent; border-radius: 12px;
  overflow: hidden; background: var(--cs-surface); cursor: pointer;
}
.cs-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cs-gallery__thumb.is-active { border-color: var(--cs-coral); }

/* Buy panel (static) */
.cs-pbuy__title { font-size: 28px; font-weight: 700; margin: 0 0 24px; }
.cs-pbuy__price { font-family: var(--cs-font-heading); font-size: 32px; font-weight: 700; color: var(--cs-black); margin-bottom: 24px; }
.cs-pbuy__price .woocommerce-Price-amount, .cs-pbuy__price bdi { color: inherit; }
.cs-field-label { display: block; margin: 0 0 8px; line-height: 1.3; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cs-black); }

/* License list */
.cs-lic { margin-bottom: 24px; }
.cs-lic__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.cs-lic__head .cs-field-label { margin: 0; }
.cs-lic__clear { padding: 0; border: 0; background: none; color: var(--cs-muted); font-size: 13px; text-decoration: underline; cursor: pointer; }
.cs-lic__clear:hover { color: var(--cs-coral); }
.cs-lic__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.cs-lic__opt {
  width: 100%; display: flex; align-items: center; gap: 12px; padding: 16px 16px; text-align: left;
  background: var(--cs-white); border: 1px solid var(--cs-border); border-radius: 12px; cursor: pointer;
  font-family: var(--cs-font-body); font-size: 15px; color: var(--cs-body);
  transition: border-color .2s ease, background-color .2s ease;
}
.cs-lic__opt.is-selected { border-color: var(--cs-coral); background: var(--cs-coral-light); }
.cs-lic__radio { flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--cs-border); background: var(--cs-white); }
.cs-lic__opt.is-selected .cs-lic__radio { border-color: var(--cs-coral); box-shadow: inset 0 0 0 3px var(--cs-white); background: var(--cs-coral); }
.cs-lic__name { flex: 1 1 auto; font-weight: 600; }
.cs-lic__price { flex: 0 0 auto; font-weight: 600; color: var(--cs-black); }
.cs-lic__details { margin: 4px 0 0 16px; font-size: 13px; color: var(--cs-muted); }
.cs-lic__details summary { cursor: pointer; font-weight: 600; }
.cs-lic__details-body { padding: 8px 0; line-height: 1.6; }
.cs-js .cs-pbuy .cs-has-lic table.variations, .cs-pbuy form.cs-has-lic table.variations { display: none; }
.cs-lic[hidden] { display: none; }

/* Form: quantity, totals, buttons */
.cs-pbuy form.cart { margin: 0; }
.cs-pbuy .single_variation_wrap { display: block; }
.cs-pbuy .woocommerce-variation-price, .cs-pbuy .woocommerce-variation-description, .cs-pbuy .reset_variations { display: none !important; }
.cs-pbuy .woocommerce-variation-availability { margin-bottom: 12px; font-size: 14px; }
.cs-pbuy form.cart:not(.variations_form), .cs-pbuy .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
.cs-pbuy form.cart:not(.variations_form) > *, .cs-pbuy .woocommerce-variation-add-to-cart > * { order: 5; width: 100%; margin: 0; }
.cs-pbuy .cs-field-label { order: 0; margin-bottom: -16px; }
.cs-pbuy .quantity { order: 1; width: auto; }
.cs-pbuy .quantity input.qty {
  width: 96px; height: 44px; padding: 0 12px; text-align: center; border: 1px solid var(--cs-border); border-radius: 12px;
  font-family: var(--cs-font-body); font-size: 15px; font-weight: 600; background: var(--cs-white);
}
.cs-pbuy .woocommerce-variation-add-to-cart > .quantity, .cs-pbuy form.cart:not(.variations_form) > .quantity { width: 100%; }
.cs-totals { order: 2; display: flex; flex-direction: column; gap: 6px; padding: 16px 0; border-top: 1px solid var(--cs-surface-alt); border-bottom: 1px solid var(--cs-surface-alt); }
.cs-totals__row { display: flex; justify-content: space-between; font-size: 14px; color: var(--cs-muted); }
.cs-totals__row--total { font-size: 18px; font-weight: 700; color: var(--cs-black); }
body .cs-pbuy form.cart button.single_add_to_cart_button.button {
  order: 3; flex: 1 1 100%; width: 100%; height: 48px; padding: 0 24px; border: 0; border-radius: var(--cs-radius-pill);
  background: var(--cs-coral); color: var(--cs-white); font-family: var(--cs-font-body); font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
body .cs-pbuy form.cart button.single_add_to_cart_button.button:hover, body .cs-pbuy form.cart button.single_add_to_cart_button.button:focus { background: var(--cs-coral-dark); color: var(--cs-white); }
body .cs-pbuy form.cart button.single_add_to_cart_button.button:active { transform: scale(.98); }
.cs-buynow {
  order: 4; flex: 1 1 100%; width: 100%; height: 48px; padding: 0 24px; border-radius: var(--cs-radius-pill);
  background: var(--cs-white); color: var(--cs-black); border: 2px solid var(--cs-black);
  font-family: var(--cs-font-body); font-size: 14px; font-weight: 700; letter-spacing: .04em; cursor: pointer;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .cs-buynow, .cs-pbuy form.cart:not(.variations_form) > .cs-buynow { margin-top: -12px; }
.cs-buynow:hover { background: var(--cs-black); color: var(--cs-white); }
.cs-buynow:active { transform: scale(.98); }
.cs-pbuy .disabled, .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button, .woocommerce-variation-add-to-cart-disabled .cs-buynow { opacity: .45; cursor: not-allowed; pointer-events: none; }
.cs-trust { margin: 24px 0 0; text-align: center; font-size: 13px; color: var(--cs-muted); }

/* Specs */
.cs-specs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cs-spec { display: flex; flex-direction: column; gap: 4px; padding: 20px; border-radius: var(--cs-radius); background: var(--cs-surface); }
.cs-spec__label { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cs-muted); }
.cs-spec__value { font-family: var(--cs-font-heading); font-size: 20px; font-weight: 600; color: var(--cs-black); }

/* Product tester */
.cs-ptester__bar { display: grid; grid-template-columns: 1.2fr 2fr 1.4fr; gap: 12px; align-items: center; }
.cs-ptester__select, .cs-ptester__input {
  width: 100%; height: 48px; padding: 0 16px; border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white);
  font-family: var(--cs-font-body); font-size: 14px; color: var(--cs-body);
}
.cs-ptester__select { text-overflow: ellipsis; }
.cs-ptester__zone--size { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--cs-black); }
.cs-ptester__range { flex: 1; min-width: 0; accent-color: var(--cs-coral); }
.cs-ptester__out { min-width: 48px; text-align: right; font-variant-numeric: tabular-nums; }
.cs-ptester__preview {
  margin-top: 16px; min-height: 160px; padding: 32px; border-radius: var(--cs-radius); background: var(--cs-surface);
  color: var(--cs-black); line-height: 1.2; overflow-wrap: anywhere; transition: opacity .15s ease;
}
/* 1.9.21 — duo/trio: one labelled preview per face (16px between blocks, 8px label → preview) */
.cs-ptester__face { margin: 16px 0 8px; font-size: 13px; font-weight: 600; color: var(--cs-body); }
.cs-ptester__face + .cs-ptester__preview { margin-top: 0; }

/* Description */
.cs-pdesc { line-height: 1.7; }
.cs-pdesc h2 { font-family: var(--cs-font-heading); font-size: 22px; font-weight: 700; margin: 32px 0 12px; }
.cs-pdesc h2:first-child { margin-top: 0; }
.cs-pdesc p, .cs-pdesc ul, .cs-pdesc ol { margin: 0 0 16px; }

/* Related */
.cs-related { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--cs-surface-alt); }
.cs-related .cs-section__title { margin-bottom: 32px; }

@media (max-width: 1024px) {
  .cs-product { grid-template-columns: minmax(0, 1fr); }
  .cs-pbuy { grid-column: 1; grid-row: auto; }
  .cs-ptester__bar { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .cs-gallery.has-rail { grid-template-columns: minmax(0, 1fr); }
  .cs-gallery__rail { order: 2; }
  .cs-gallery__rail-inner { position: static; flex-direction: row; overflow-x: auto; overflow-y: hidden; padding-bottom: 4px; }
  .cs-gallery__thumb { width: 88px; }
  .cs-specs { grid-template-columns: 1fr; }
  .cs-pbuy__title { font-size: 24px; }
  .cs-pbuy__price { font-size: 28px; }
  .cs-pbuy .single_add_to_cart_button, .cs-buynow { flex-basis: 100%; }
}

/* ===== 1.4.4: totals order, license details, fullscreen preview ===== */

/* Totals/quantity/buy-now order: stronger selectors so they beat the generic "order: 5" child rule.
   Rendered order: label, quantity, subtotal/total, ADD TO CART, BUY NOW, anything else (PayPal). */
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .cs-field-label, .cs-pbuy form.cart:not(.variations_form) > .cs-field-label { order: 0; }
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .quantity, .cs-pbuy form.cart:not(.variations_form) > .quantity { order: 1; }
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .cs-totals, .cs-pbuy form.cart:not(.variations_form) > .cs-totals { order: 2; }
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .cs-buynow, .cs-pbuy form.cart:not(.variations_form) > .cs-buynow { order: 4; }

/* License details (inline) */
.cs-lic__details-body { padding: 8px 0 4px; }
.cs-lic__scope { margin: 0 0 12px; font-size: 13px; color: var(--cs-muted); }
.cs-lic__dh { margin: 12px 0 8px; font-family: var(--cs-font-body); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cs-black); }
.cs-lic__dl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.5; color: var(--cs-body); }
.cs-lic__dl li { position: relative; padding-left: 22px; }
.cs-lic__dl li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.cs-lic__dl--yes li::before { content: "\2713"; color: #2E7D32; }
.cs-lic__dl--no li::before { content: "\2715"; color: var(--cs-coral); }

/* Gallery: open button, zoom icon, arrows */
.cs-gallery__main { position: relative; }
.cs-gallery__open { display: block; position: relative; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.cs-gallery__zoom {
  position: absolute; top: 50%; left: 50%; width: 56px; height: 56px; margin: -28px 0 0 -28px;
  display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
  background: var(--cs-white); color: var(--cs-black); opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
@media (hover: hover) { .cs-gallery__open:hover .cs-gallery__zoom { opacity: 1; } }
.cs-gallery__arrow {
  position: absolute; top: 50%; width: 44px; height: 44px; margin-top: -22px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 50%; background: var(--cs-white); color: var(--cs-black); cursor: pointer;
  transition: background-color .2s ease, opacity .2s ease;
}
.cs-gallery__arrow--prev { left: 12px; }
.cs-gallery__arrow--next { right: 12px; }
.cs-gallery__arrow:hover:not(:disabled) { background: var(--cs-coral); color: var(--cs-white); }
.cs-gallery__arrow:disabled { opacity: .35; cursor: default; }

/* Fullscreen preview (white, vertical scroll, Back/ESC/browser Back) */
.cs-fs { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: var(--cs-white); }
.cs-fs[hidden] { display: none; }
.cs-fs__bar { flex: 0 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; height: 56px; padding: 0 16px; background: var(--cs-white); border-bottom: 1px solid var(--cs-surface-alt); }
.cs-fs__back { justify-self: start; display: inline-flex; align-items: center; gap: 4px; height: 40px; padding: 0 14px 0 8px; border: 0; border-radius: var(--cs-radius-pill); background: transparent; color: var(--cs-black); font-family: var(--cs-font-body); font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color .2s ease; }
.cs-fs__back:hover { background: var(--cs-coral-light); }
.cs-fs__title { max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--cs-font-heading); font-size: 16px; font-weight: 700; color: var(--cs-black); text-align: center; }
.cs-fs__scroll { position: relative; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 24px 16px 48px; display: flex; flex-direction: column; align-items: center; gap: 24px; }
.cs-fs__img { display: block; width: 100%; height: auto; flex-shrink: 0; border-radius: var(--cs-radius); border: 1px solid var(--cs-border); }
.cs-fs__scroll .cs-fs__img { max-width: 1320px; }
@media (max-width: 600px) { .cs-fs__title { max-width: 45vw; font-size: 14px; } .cs-fs__scroll { padding: 12px 0 32px; gap: 8px; } }

/* ===== 1.4.4: PayPal button hidden on product page, USD note, help block, fullscreen button ===== */
.cs-pbuy .ppc-button-wrapper, .cs-pbuy #ppc-button-ppcp-gateway-v6 { display: none !important; }


.cs-lic__note { margin: 12px 0 0; font-size: 13px; color: var(--cs-muted); }
.cs-lic__star { color: var(--cs-coral); }

.cs-help { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--cs-surface-alt); text-align: center; }
.cs-help__text { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: var(--cs-body); }
.cs-help__link { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--cs-coral); text-decoration: none; }
.cs-help__link:hover { color: var(--cs-coral-dark); }

.cs-gallery__fsbtn {
  position: absolute; top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--cs-white); color: var(--cs-black); border: 1px solid var(--cs-border); border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12); cursor: pointer; transition: background-color .2s ease;
}
.cs-gallery__fsbtn:hover { background: var(--cs-surface); }

/* ===== 1.4.5: buy panel redesign ===== */
.cs-pbuy { position: relative; overflow: hidden; }
.cs-pbuy::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--cs-coral); }
.cs-pbuy__price { margin-bottom: 0; line-height: 1.1; }
.cs-pbuy__note { margin: 0 0 20px; font-size: 13px; line-height: 1.4; color: var(--cs-muted); }

/* License rows: the whole row is one button; item is the card */
.cs-lic__list { gap: 12px; }
.cs-lic__item { background: var(--cs-white); border: 1px solid var(--cs-border); border-radius: 12px; transition: border-color .2s ease, background-color .2s ease; }
.cs-lic__item.is-selected { border-color: var(--cs-coral); background: var(--cs-coral-light); }
.cs-lic__item .cs-lic__opt { border: 0; border-radius: 12px; background: transparent; }
.cs-lic__item .cs-lic__opt.is-selected { border: 0; background: transparent; }
.cs-lic__opt:focus-visible { outline: 2px solid var(--cs-coral); outline-offset: 2px; }
.cs-lic__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cs-lic__text .cs-lic__name { flex: none; }
.cs-lic__scopeline { font-size: 13px; font-weight: 400; color: var(--cs-muted); line-height: 1.4; }
.cs-lic__radio { border: 2px solid var(--cs-border); background: var(--cs-white); box-shadow: none; }
.cs-lic__item .cs-lic__opt.is-selected .cs-lic__radio { border-color: var(--cs-coral); background: var(--cs-coral); box-shadow: none; }
.cs-lic__chev { flex: 0 0 16px; width: 16px; height: 16px; color: var(--cs-muted); transition: transform .2s ease; }
.cs-lic__item.is-selected .cs-lic__chev { transform: rotate(180deg); }

/* Details sub-card */
.cs-lic__item .cs-lic__details { margin: 0 16px 16px; padding: 16px; font-size: 14px; color: var(--cs-body); background: var(--cs-surface); border: 1px solid var(--cs-border); border-radius: 12px; }
.cs-lic__item .cs-lic__details[hidden] { display: none; }
.cs-lic__item .cs-lic__details-body { padding: 0; }
.cs-lic__details-body .cs-lic__dh { margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cs-black); }
.cs-lic__details-body .cs-lic__dl + .cs-lic__dh { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--cs-border); }
.cs-lic__dl li { padding-left: 26px; min-height: 18px; }
.cs-lic__dl li::before { top: 1px; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; line-height: 1; color: var(--cs-white); }
.cs-lic__dl--yes li::before { background: #2E7D32; color: var(--cs-white); }
.cs-lic__dl--no li::before { background: var(--cs-coral); color: var(--cs-white); }

/* Summary block: Quantity / Subtotal / Total (grid; beats the generic "> * {order:5;width:100%;margin:0}") */
.cs-pbuy form.cart .woocommerce-variation-add-to-cart, .cs-pbuy form.cart:not(.variations_form) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0; align-items: center; }
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > *, .cs-pbuy form.cart:not(.variations_form) > * { grid-column: 1 / -1; }
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .cs-field-label, .cs-pbuy form.cart:not(.variations_form) > .cs-field-label { grid-column: 1; grid-row: 1; width: auto; margin: 0; padding: 16px 0; border-top: 1px solid var(--cs-surface-alt); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--cs-black); }
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .quantity, .cs-pbuy form.cart:not(.variations_form) > .quantity { grid-column: 2; grid-row: 1; width: auto; margin: 0; padding: 8px 0; border-top: 1px solid var(--cs-surface-alt); }
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .cs-totals, .cs-pbuy form.cart:not(.variations_form) > .cs-totals { grid-row: 2; width: 100%; margin: 0 0 24px; padding: 0 0 4px; border: 0; gap: 12px; }
.cs-totals__row { font-size: 14px; font-weight: 600; color: var(--cs-body); }
.cs-totals__row--total { font-size: 14px; font-weight: 600; color: var(--cs-black); align-items: baseline; }
.cs-totals__row--total .cs-totals__total { font-size: 20px; font-weight: 700; }
body .cs-pbuy form.cart button.single_add_to_cart_button.button { grid-row: 3; margin: 0 0 12px; }
.cs-pbuy form.cart .woocommerce-variation-add-to-cart > .cs-buynow, .cs-pbuy form.cart:not(.variations_form) > .cs-buynow { grid-row: 4; margin: 0; }

/* Quantity stepper */
.cs-pbuy .quantity { display: inline-flex; align-items: center; gap: 8px; }
.cs-pbuy .quantity input.qty { width: 64px; padding: 0 4px; -moz-appearance: textfield; appearance: textfield; }
.cs-pbuy .quantity input.qty::-webkit-outer-spin-button, .cs-pbuy .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cs-qty__btn { flex: 0 0 auto; width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--cs-white); color: var(--cs-body); border: 1px solid var(--cs-border); border-radius: 12px; cursor: pointer; transition: background-color .2s ease; }
.cs-qty__btn:hover { background: var(--cs-surface); }
.cs-qty__btn:focus-visible { outline: 2px solid var(--cs-coral); outline-offset: 2px; }

/* ===== 1.4.6: buy panel final, tester, description, pairs ===== */

/* Spacing rhythm */
.cs-lic__head { margin-bottom: 12px; }
.cs-help { margin-top: 24px; }

/* Specs ribbon under the price */
.cs-pspecs { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--cs-border); border-bottom: 1px solid var(--cs-border); animation: cs-pspecs-in .2s ease both; }
.cs-pspecs__col { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 4px; padding: 16px 6px; min-width: 0; }
.cs-pspecs__col + .cs-pspecs__col { border-left: 1px solid var(--cs-border); }
.cs-pspecs__label { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cs-muted); }
.cs-pspecs__value { font-size: 14px; font-weight: 600; color: var(--cs-black); }
@keyframes cs-pspecs-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* License Details: closed on load, animated open/close (grid-rows trick) */
.cs-lic__item .cs-lic__details { display: grid; grid-template-rows: 0fr; margin: 0; padding: 0 16px; background: none; border: 0; border-radius: 0; opacity: 0; visibility: hidden; font-size: 14px; color: var(--cs-body); transition: grid-template-rows .2s ease, opacity .2s ease, visibility 0s linear .2s; }
.cs-lic__item.is-open .cs-lic__details { grid-template-rows: 1fr; opacity: 1; visibility: visible; transition: grid-template-rows .2s ease, opacity .2s ease, visibility 0s; }
.cs-lic__clip { min-height: 0; overflow: hidden; }
.cs-lic__item .cs-lic__details-body { margin: 12px 0 16px; padding: 16px; background: var(--cs-surface); border: 1px solid var(--cs-border); border-radius: 12px; }
.cs-lic__item.is-selected .cs-lic__chev { transform: none; }
.cs-lic__item.is-open .cs-lic__chev { transform: rotate(180deg); }

/* Tester */
.cs-ptester__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.cs-ptester__bar--sliders { margin-top: 12px; gap: 12px 24px; }
.cs-ptester__zone--preset { flex: 0 1 160px; min-width: 0; }
.cs-ptester__zone--text { flex: 1 1 160px; min-width: 0; }
.cs-ptester__slider { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--cs-black); flex: 0 1 auto; }
.cs-ptester__bar--sliders .cs-ptester__slider { flex: 1 1 220px; }
.cs-ptester__slider label { min-width: 0; }
.cs-ptester__slider .cs-ptester__range { flex: 1 1 80px; min-width: 60px; width: 120px; }
.cs-ptester__bar--sliders .cs-ptester__range { width: auto; }
.cs-ptester__num { width: 64px; height: 40px; padding: 0 6px; text-align: center; border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white); font-family: var(--cs-font-body); font-size: 14px; font-weight: 600; color: var(--cs-body); }
.cs-ptester__reset { height: 40px; padding: 0 16px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill); background: var(--cs-white); font-family: var(--cs-font-body); font-size: 14px; font-weight: 600; color: var(--cs-black); cursor: pointer; transition: background-color .2s ease; }
.cs-ptester__reset:hover { background: var(--cs-surface); }
.cs-ptester__select, .cs-ptester__input { height: 40px; }
.cs-ptester__reset:focus-visible, .cs-ptester__num:focus-visible { outline: 2px solid var(--cs-coral); outline-offset: 2px; }

/* Description */
.cs-pdesc h2 { font-size: 19px; margin: 0 0 12px; }
.cs-pdesc__sec { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--cs-border); }
.cs-pdesc__sec:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.cs-pdesc ul { list-style: none; padding: 0; line-height: 1.65; }
.cs-pdesc ul li { position: relative; padding-left: 22px; }
.cs-pdesc ul li::before { content: "\2022"; position: absolute; left: 6px; top: 0; color: var(--cs-black); }
.cs-pdesc ol { padding-left: 22px; line-height: 1.65; }
.cs-pdesc__panel { padding: 24px; background: var(--cs-surface); border: 1px solid var(--cs-border); border-radius: var(--cs-radius); }
.cs-pdesc__panel > :last-child { margin-bottom: 0; }
.cs-pdesc__sec > :last-child { margin-bottom: 0; }
.cs-rm { position: relative; }
.cs-rm p { margin: 0; }
.cs-rm.is-clamped:not(.is-open) p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cs-rm.is-clamped:not(.is-open)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.7em; background: linear-gradient(to bottom, rgba(255,255,255,0), var(--cs-white)); pointer-events: none; }
.cs-rm__btn { display: none; margin-top: 8px; padding: 0; border: 0; background: none; font-family: var(--cs-font-body); font-size: 14px; font-weight: 700; color: var(--cs-coral); cursor: pointer; }
.cs-rm.is-clamped + .cs-rm__btn { display: inline-block; }
.cs-rm__btn:hover { color: var(--cs-coral-dark); }
.cs-rm__btn:focus-visible { outline: 2px solid var(--cs-coral); outline-offset: 2px; }

/* Pairs well with (left column, under description) */
.cs-product .cs-product__pairs { grid-column: 1; min-width: 0; }
.cs-pairs { margin-top: 0; padding-top: 24px; border-top: 1px solid var(--cs-border); }
.cs-pairs__title { font-family: var(--cs-font-heading); font-size: 19px; font-weight: 700; margin: 0 0 12px; }
.cs-pairs .cs-shop-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 767px) { .cs-pairs .cs-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cs-ptester__zone--preset, .cs-ptester__zone--text { flex-basis: 100%; } }

@media (prefers-reduced-motion: reduce) {
  .cs-pspecs { animation: none; }
  .cs-lic__item .cs-lic__details, .cs-lic__item.is-open .cs-lic__details, .cs-lic__chev { transition: none; }
}

/* ===== 1.4.7: "Pairs well with" full width under both columns ===== */
.cs-productpage > .cs-product__pairs { margin-top: 24px; margin-bottom: 0; min-width: 0; }
.cs-productpage > .cs-product__pairs .cs-pairs { padding-top: 24px; }
.cs-productpage > .cs-product__pairs .cs-pairs__title { margin-bottom: 24px; }
.cs-productpage > .cs-product__pairs .cs-shop-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
@media (max-width: 1024px) { .cs-productpage > .cs-product__pairs .cs-shop-grid { gap: 24px 16px; } }
@media (max-width: 600px) { .cs-productpage > .cs-product__pairs .cs-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .cs-product .cs-pbuy { grid-row: 1 / span 3; } }

/* ===== 1.4.8: divider replaces byline ===== */
.cs-pbuy__rule { height: 0; margin: 0 0 18px; padding: 0; border: 0; border-top: 1px solid var(--cs-border); background: none; }

/* ===== 1.4.10: gallery thumbnail animation ===== */
.cs-gallery__main img { transition: opacity .2s ease; }
.cs-gallery__main img.cs-gallery__img.is-fading { opacity: 0; }
.cs-gallery__thumb { transition: border-color .2s ease, transform .2s ease; }
.cs-gallery__thumb img { transition: transform .2s ease; }
@media (hover: hover) {
  .cs-gallery__thumb:hover { border-color: var(--cs-coral); }
  .cs-gallery__thumb:hover img { transform: scale(1.03); }
}
@media (prefers-reduced-motion: reduce) {
  .cs-gallery__main img, .cs-gallery__thumb, .cs-gallery__thumb img { transition: none; }
  .cs-gallery__main img.cs-gallery__img.is-fading { opacity: 1; }
}

/* ===== 1.4.11: visible (glyph-to-glyph) gaps in the buy panel ===== */
.cs-pdesc > :last-child { margin-bottom: 0; }

/* =====================================================================
   1.5.6 — Cart & Checkout (page-prefixed specificity) (WooCommerce Blocks styling only; no markup/flow changes)
   ===================================================================== */
:root {
  --cs-ico-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E");
  --cs-ico-trash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6'/%3E%3Cpath d='M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2'/%3E%3Cline x1='10' x2='10' y1='11' y2='17'/%3E%3Cline x1='14' x2='14' y1='11' y2='17'/%3E%3C/svg%3E");
  --cs-ico-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --cs-ico-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
  --cs-ico-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E");
}

/* Page title: visible 24px above (rule -> cap-top) and 24px below (descender -> first block) */
body.woocommerce-cart .cs-content, body.woocommerce-checkout .cs-content { padding-top: 16px; padding-bottom: 48px; }
body.woocommerce-cart .cs-entry, body.woocommerce-checkout .cs-entry { margin-bottom: 0; }
body.woocommerce-cart .cs-entry__title, body.woocommerce-checkout .cs-entry__title { font-size: 32px; font-weight: 700; line-height: 1.2; }
body.woocommerce-cart .cs-entry__title { margin: 0 0 14px; }
body.woocommerce-checkout .cs-entry__title { margin: 0; }
body.woocommerce-cart .wp-block-woocommerce-cart { margin-top: 0; padding-top: 0; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-express-payment { margin-top: 0; }

/* Shared form look (v1.1) */
body.woocommerce-cart .wp-block-woocommerce-cart, body.woocommerce-checkout .wp-block-woocommerce-checkout { font-family: var(--cs-font-body); color: var(--cs-body); }
body.woocommerce-cart .wp-block-woocommerce-cart h2, body.woocommerce-checkout .wp-block-woocommerce-checkout h2, body.woocommerce-checkout .wp-block-woocommerce-checkout h3 { font-family: var(--cs-font-heading); color: var(--cs-black); }
body.woocommerce-cart .wp-block-woocommerce-cart a:not(.wc-block-cart__submit-button):not(.wc-block-components-button):not(.wp-block-button__link):not(.wc-block-components-product-name), body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox a, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__terms a { color: var(--cs-coral-dark); text-decoration: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__terms a:hover, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox a:hover { text-decoration: underline; }

/* ---- Cart: header row ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items { border-collapse: collapse; width: 100%; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__header th { padding: 0 0 12px; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; color: var(--cs-muted); border-bottom: 1px solid var(--cs-border); }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__header .wc-block-cart-items__header-total { text-align: right; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row td { padding: 24px 0; vertical-align: top; border-bottom: 1px solid var(--cs-border); }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row td + td { padding-left: 24px; }

/* ---- Cart: thumbnail landscape 3:2 ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image { width: 96px; min-width: 96px; flex-shrink: 0; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__image a { display: block; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image img { display: block; width: 96px; height: 64px; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; background: var(--cs-surface); }

/* ---- Cart: product text ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-product-name { font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--cs-black); text-decoration: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-name:hover { text-decoration: underline; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__prices, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price { font-size: 15px; font-weight: 600; color: var(--cs-body); }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-details, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-product-metadata { font-size: 13px; line-height: 1.5; color: var(--cs-muted); margin: 4px 0 0; padding: 0; list-style: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__total, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price { text-align: right; font-size: 16px; font-weight: 700; color: var(--cs-black); }

/* ---- Quantity stepper: pill 108x28, Lucide minus/plus ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-quantity-selector {
  display: inline-flex; align-items: center; width: 108px; height: 28px; margin: 0; background: var(--cs-surface); border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill); box-shadow: none; position: relative; overflow: hidden;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector::after { content: none; display: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__input { flex: 1 1 auto; width: 44px; min-width: 0; height: 100%; padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none; text-align: center; font: 600 14px/1 var(--cs-font-body); color: var(--cs-black); -moz-appearance: textfield; appearance: textfield; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button { position: relative; flex: 0 0 32px; width: 32px; height: 100%; min-width: 0; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; font-size: 0; line-height: 0; color: var(--cs-body); cursor: pointer; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button::before { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; transform: translate(-50%, -50%); background: currentColor; -webkit-mask: var(--cs-ico-minus) center / contain no-repeat; mask: var(--cs-ico-minus) center / contain no-repeat; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button--plus::before { -webkit-mask-image: var(--cs-ico-plus); mask-image: var(--cs-ico-plus); }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) { color: var(--cs-coral-dark); }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:disabled { opacity: .4; cursor: default; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:focus-visible, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link:focus-visible { outline: 2px solid var(--cs-coral); outline-offset: 2px; }

/* ---- Remove: Lucide trash 24px, no text ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link { position: relative; display: inline-block; vertical-align: middle; width: 24px; height: 24px; margin: 0 0 0 12px; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: 0; line-height: 0; color: var(--cs-muted); text-decoration: none; cursor: pointer; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link svg { display: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link::before { content: ""; position: absolute; inset: 0; background: currentColor; -webkit-mask: var(--cs-ico-trash) center / 24px 24px no-repeat; mask: var(--cs-ico-trash) center / 24px 24px no-repeat; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--cs-coral); text-decoration: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-item__quantity { display: flex; align-items: center; margin-top: 12px; }

/* ---- Coupon panel (cart + checkout summary) ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon { padding: 0; border: 0; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-panel__button, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button { position: relative; width: 100%; padding: 12px 32px 12px 0; margin: 0; font-size: 14px; font-weight: 600; color: var(--cs-black); text-align: left; background: transparent; border: 0; box-shadow: none; cursor: pointer; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-panel__button-icon, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon { display: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button::after, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button::after { content: ""; position: absolute; right: 0; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); background: currentColor; -webkit-mask: var(--cs-ico-chev) center / contain no-repeat; mask: var(--cs-ico-chev) center / contain no-repeat; transition: transform .2s ease; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="true"]::after, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="true"]::after { transform: translateY(-50%) rotate(180deg); }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__form, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form { display: flex; gap: 12px; align-items: stretch; padding-bottom: 12px; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__input, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__input { flex: 1 1 auto; margin: 0; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button { flex: 0 0 auto; height: auto; padding: 0 24px; border: 0; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font: 700 14px/1 var(--cs-font-body); cursor: pointer; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button:hover, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button:hover { background: var(--cs-coral-dark); }

/* ---- Cart totals sidebar ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__totals-title { margin: 0 0 4px; padding: 0 0 12px; border-bottom: 1px solid var(--cs-border); font: 700 13px/1.4 var(--cs-font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--cs-muted); text-align: left; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item { padding: 12px 0; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 14px; font-weight: 600; color: var(--cs-black); }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 16px; font-weight: 700; color: var(--cs-black); }

/* ---- Sidebar buttons: PayPal kept (gold), Proceed = coral pill ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  display: flex; align-items: center; justify-content: center; width: 100%; border: 0; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font: 700 16px/1.2 var(--cs-font-body); text-decoration: none; cursor: pointer; transition: background-color .2s ease;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button.wp-element-button { height: 50px; min-height: 50px; padding: 0 24px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button.wp-element-button { height: 55px; min-height: 55px; padding: 0 24px; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover:not(:disabled) { background: var(--cs-coral-dark); color: var(--cs-white); }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text { color: inherit; font-weight: 700; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-container { padding-top: 12px; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-express-payment-continue-rule, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-express-payment-continue-rule { color: var(--cs-muted); font-size: 13px; text-transform: none; letter-spacing: 0; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-express-payment-continue-rule::before, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-express-payment-continue-rule::after, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-express-payment-continue-rule::before, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-express-payment-continue-rule::after { border-top: 1px solid var(--cs-border); }

/* ---- Empty cart ---- */
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block { text-align: center; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { margin: 0 0 24px; text-align: center; font: 700 24px/1.3 var(--cs-font-heading); color: var(--cs-black); }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 14px; background: var(--cs-muted); -webkit-mask: var(--cs-ico-cart) center / contain no-repeat; mask: var(--cs-ico-cart) center / contain no-repeat; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 32px; border: 0; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font: 700 16px/1 var(--cs-font-body); text-decoration: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover { background: var(--cs-coral-dark); }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title) { margin: 48px 0 24px; text-align: left; font: 700 24px/1.3 var(--cs-font-heading); color: var(--cs-black); }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; text-align: left; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product { position: relative; display: flex; flex-direction: column; width: 100%; min-width: 0; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: left; font-size: inherit; flex: none; overflow: visible; transition: opacity .6s ease, transform .25s ease; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link { position: relative; display: flex; flex: 1 1 auto; flex-direction: column; width: 100%; padding: 0; text-decoration: none; color: inherit; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image { position: relative; display: block; width: 100%; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; border: 0; border-radius: var(--cs-radius); background: var(--cs-surface); transition: box-shadow .25s ease; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .35s ease; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { margin: 12px 0 0; padding: 0; font-family: var(--cs-font-body); font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--cs-black); white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price { position: absolute; top: 12px; left: 12px; z-index: 2; display: block; margin: 0; padding: 4px 12px; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font-size: 13px; font-weight: 700; line-height: 1.5; text-align: left; pointer-events: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-Price-amount, body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price bdi { color: inherit; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product .wp-block-button, body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart { display: none; }

/* ---- Checkout ---- */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-express-payment--checkout { margin: 0 0 24px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content { padding: 24px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-express-payment__title-container { margin: 0 0 12px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-express-payment__title { font: 700 20px/1.3 var(--cs-font-heading); color: var(--cs-black); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step { margin: 0 0 24px; padding: 0 0 0 0; border: 0; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step::after { content: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step__title, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-title.wc-block-components-checkout-step__title { margin: 0 0 12px; font: 700 20px/1.3 var(--cs-font-heading); color: var(--cs-black); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-validation-error, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-validation-error p { color: var(--cs-coral-dark); font-size: 13px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input label, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__label, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea + label { font-size: 14px; font-weight: 600; color: var(--cs-body); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox { accent-color: var(--cs-coral); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox label, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox__label { font-size: 14px; color: var(--cs-body); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"]:checked { border-color: var(--cs-coral); background: var(--cs-white); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--cs-coral); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__terms { font-size: 13px; color: var(--cs-muted); margin: 0 0 24px; }

/* Payment options: selected row = coral border + tint + solid coral radio (same pattern as licence rows) */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option { margin: 0 0 12px; padding: 0; border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white); box-shadow: none; transition: border-color .2s ease, background-color .2s ease; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option::after, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option::after { content: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { margin: 0; border: 0; border-radius: 12px; background: transparent; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option { padding: 16px 16px 16px 48px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked), body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) { border-color: var(--cs-coral); background: var(--cs-coral-light); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked) .wc-block-components-radio-control__option { background: transparent; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__label { font-size: 15px; font-weight: 600; color: var(--cs-black); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__input { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; margin: 0; border: 2px solid var(--cs-border); border-radius: 50%; background: var(--cs-white); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked { border-color: var(--cs-coral); background: var(--cs-coral); box-shadow: inset 0 0 0 4px var(--cs-white); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked::before { content: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__input:focus-visible { outline: 2px solid var(--cs-coral); outline-offset: 2px; }

/* Order summary */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary__button-text, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { font: 700 20px/1.3 var(--cs-font-heading); color: var(--cs-black); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image > img { border-radius: 8px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity { background: var(--cs-black); color: var(--cs-white); border: 1px solid var(--cs-white); box-shadow: none; font-weight: 700; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-product-name { font-size: 14px; font-weight: 600; color: var(--cs-black); text-decoration: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-product-metadata, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-product-details { font-size: 13px; color: var(--cs-muted); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item__label { font-size: 14px; font-weight: 600; color: var(--cs-body); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 16px; font-weight: 700; color: var(--cs-black); }

/* ---- Order Received (classic markup; NOT verified visually) ---- */
body.woocommerce-order-received .woocommerce-order { max-width: 800px; }
body.woocommerce-order-received .woocommerce-thankyou-order-received { margin: 0 0 24px; padding: 24px; border: 1px solid var(--cs-coral); border-radius: var(--cs-radius); background: var(--cs-coral-light); font: 700 20px/1.3 var(--cs-font-heading); color: var(--cs-black); }
body.woocommerce-order-received .woocommerce-order-overview { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); overflow: hidden; }
body.woocommerce-order-received .woocommerce-order-overview li { margin: 0; padding: 16px 20px; font-size: 13px; color: var(--cs-muted); text-transform: uppercase; letter-spacing: .06em; border-right: 1px solid var(--cs-border); }
body.woocommerce-order-received .woocommerce-order-overview li:last-child { border-right: 0; }
body.woocommerce-order-received .woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--cs-black); }
body.woocommerce-order-received .woocommerce-order-details__title, body.woocommerce-order-received .woocommerce-order-downloads__title, body.woocommerce-order-received .woocommerce-column__title { margin: 0 0 16px; font: 700 20px/1.3 var(--cs-font-heading); }
body.woocommerce-order-received .woocommerce-table--order-details, body.woocommerce-order-received .woocommerce-table--order-downloads { width: 100%; margin: 0 0 24px; border-collapse: collapse; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); overflow: hidden; }
body.woocommerce-order-received .woocommerce-table--order-details th, body.woocommerce-order-received .woocommerce-table--order-details td, body.woocommerce-order-received .woocommerce-table--order-downloads th, body.woocommerce-order-received .woocommerce-table--order-downloads td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--cs-border); font-size: 14px; }
body.woocommerce-order-received .woocommerce-table--order-details tfoot th { font-weight: 600; }
body.woocommerce-order-received .woocommerce-order-downloads .download-file a, body.woocommerce-order-received .woocommerce-table--order-downloads .download-file a { display: inline-block; padding: 8px 20px; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font-weight: 700; text-decoration: none; }

/* ---- Responsive / motion ---- */
@media (max-width: 1024px) { body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart .wp-block-woocommerce-cart *, body.woocommerce-checkout .wp-block-woocommerce-checkout * { transition: none; }
}

/* 1.5.1 additions */
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots { display: none; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-buttons { display: flex; justify-content: center; margin: 0; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-buttons .wp-block-button { margin: 0; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-category { display: inline-block; align-self: flex-start; margin-top: 8px; padding: 2px 10px; border-radius: var(--cs-radius-pill); background: var(--cs-surface); color: var(--cs-muted); font-size: 12px; font-weight: 500; }

/* Checkout fields: border on the wrapper, static labels */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control { margin-top: 40px; position: relative; border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white); transition: border-color .2s ease, box-shadow .2s ease; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__select, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-combobox .components-combobox-control input { border: 0; background: transparent; box-shadow: none; font-family: var(--cs-font-body); font-size: 15px; color: var(--cs-body); padding: 0 16px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.wc-block-components-address-form__email { margin-top: 40px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active input, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active input:focus { height: 48px; padding: 0 16px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input:focus-within, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container:focus-within, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control:focus-within { border-color: var(--cs-coral); box-shadow: 0 0 0 3px var(--cs-coral-light); }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:focus, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea:focus, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__select:focus { border: 0; outline: 0; box-shadow: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.has-error, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.has-error:focus-within { border-color: var(--cs-coral-dark); box-shadow: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input label, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill + label, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-combobox .components-form-token-field__label { position: absolute; left: 0; top: auto; bottom: 100%; margin: 0 0 9px; max-width: 100%; transform: none; font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--cs-body); }

/* Homepage motion on Cart + Checkout: hover card, press button, reveal once (transform + opacity only) */
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button.wp-element-button, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button.wp-element-button, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button, body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button { transition: background-color .2s ease, color .2s ease, transform .2s ease; }
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:active:not(:disabled), body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button.wp-element-button:active:not(:disabled), body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button.wp-element-button:active:not(:disabled), body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button:active:not(:disabled), body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button:active:not(:disabled), body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:active:not(:disabled) { transform: scale(.98); }
@media (hover: hover) {
  body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product:hover { transform: translateY(-4px); }
  body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product:hover .wc-block-grid__product-image { box-shadow: 0 12px 28px rgba(13, 13, 13, .12); }
  body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product:hover .wc-block-grid__product-image img { transform: scale(1.03); }
}
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product:hover { transform: none; }
  body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product:hover .wc-block-grid__product-image img { transform: none; }
  body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:active:not(:disabled), body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button.wp-element-button:active:not(:disabled), body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button.wp-element-button:active:not(:disabled), body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button:active:not(:disabled), body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button:active:not(:disabled), body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:active:not(:disabled) { transform: none; }
}

/* One line only (Cart page; Checkout untouched) */
/* Under PRODUCT/TOTAL: the theme header line stays; WC's top border on the first item row goes. Later rows keep theirs. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items tbody .wc-block-cart-items__row:first-child td { border-top: 0; }
/* WC makes the total cell display:flex, so it is shorter than the row and the row's border-bottom became a short orphan line. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__total { border-bottom: 0; }
/* Under CART TOTALS: the theme title line stays; WC's top border on the block right after the title goes. */
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block, body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__totals-title + .wp-block-woocommerce-cart-order-summary-totals-block { border-top: 0; }

/* Add coupons row centred between its two lines (title margin above reduced, same space added below) */
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block { padding-bottom: 23px; }

/* Cart below WC's 920px container breakpoint (same query WC uses, so desktop is untouched) */
@container (max-width: 919px) {
  /* WC hides the heading here; show it with the same theme styling as desktop */
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__totals-title { display: block; margin-top: 20px; }
  /* WC's 80px column + 16px cell padding squeezed the 96x64 thumbnail to 80x64 */
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 96px minmax(0, 1fr); }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { padding-right: 0; }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row td + td { padding-left: 0; }
  /* Cells are grid items here, so per-cell borders broke the item separator into pieces: one line per row instead */
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row { border-bottom: 1px solid var(--cs-border); }
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row td { border-top: 0; border-bottom: 0; }
}

/* Header on small phones: the logo gives way so the action buttons always fit */
@media (max-width: 480px) {
  .cs-logo.cs-logo__text { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .cs-header .custom-logo-link { flex: 0 1 auto; min-width: 0; }
  .cs-logo__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 17px; }
}
@media (max-width: 360px) {
  .cs-header__bar { gap: 8px; }
  .cs-logo.cs-logo__text { font-size: 18px; }
  .cs-header .custom-logo { height: 28.8px; }
  .cs-header .custom-logo-link { gap: 0; }
  .cs-logo__name { font-size: 14px; }
}

/* =====================================================================
   1.6.1 — Blog & Search
   ===================================================================== */
.cs-content.cs-blog, .cs-content.cs-articlepage, .cs-content.cs-searchpage { padding-top: 48px; padding-bottom: 48px; }
.cs-blog__head { margin-bottom: 32px; }
.cs-blog__title { margin: 0; font-size: 44px; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; }
.cs-blog__empty { margin: 0; }

.cs-blog .cs-crumbs, .cs-articlepage .cs-crumbs, .cs-searchpage .cs-crumbs { margin-bottom: 16px; overflow-wrap: anywhere; }

/* A4 filter + article search */
.cs-filter { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px 24px; margin-bottom: 32px; }
.cs-filter__pills { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.cs-filter__pill { display: inline-flex; align-items: center; gap: 6px; padding: 10px 20px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill); background: var(--cs-white); color: var(--cs-black); font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none; }
.cs-filter__pill:hover { border-color: var(--cs-coral); color: var(--cs-coral-dark); }
.cs-filter__pill.is-active, .cs-filter__pill.is-active:hover { border-color: var(--cs-coral); background: var(--cs-coral); color: var(--cs-white); }
.cs-filter__count { font-weight: 400; }
.cs-filter__search { flex: 0 0 280px; min-width: 0; }

/* Shared card parts */
.cs-bpill { display: inline-flex; align-self: flex-start; padding: 4px 12px; border: 1px solid var(--cs-coral); border-radius: var(--cs-radius-pill); color: var(--cs-coral); font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.cs-bpill:hover { background: var(--cs-coral-light); color: var(--cs-coral-dark); }
.cs-bmeta { margin: 0; font-size: 13px; color: var(--cs-muted); letter-spacing: .02em; }
.cs-bbtn { display: inline-flex; align-self: flex-start; padding: 12px 24px; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font-size: 13px; font-weight: 700; letter-spacing: .04em; line-height: 1.4; text-decoration: none; transition: background-color .2s ease, transform .2s ease; }
.cs-bbtn:hover { background: var(--cs-coral-dark); }
.cs-bbtn:active { transform: scale(.98); }

/* The reveal sits on the outer element and the hover lift on __box, so the slow reveal transition never slows the hover. */
.cs-bfeat__box, .cs-bcard__box { border: 1px solid var(--cs-border); border-radius: var(--cs-radius); background: var(--cs-white); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.cs-bfeat__box:hover, .cs-bcard__box:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(13, 13, 13, .12); }
.cs-bfeat__media, .cs-bcard__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--cs-surface); }
.cs-bfeat__media img, .cs-bcard__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.cs-bfeat__box:hover .cs-bfeat__media img, .cs-bcard__box:hover .cs-bcard__media img { transform: scale(1.03); }
.cs-bfeat__title a, .cs-bcard__title a { text-decoration: none; }
.cs-bfeat__title a:hover, .cs-bcard__title a:hover { text-decoration: underline; }

/* A3 featured: image 700 of 1232 as in 1.6.0; the gap is gone so the text padding renders 28 on all sides */
.cs-bfeat { margin-bottom: 48px; }
.cs-bfeat__box { display: grid; grid-template-columns: minmax(0, 70fr) minmax(0, 53fr); }
/* 1.9.17: featured media fills the row — tall text no longer leaves a white band below the image. */
@media (min-width: 768px) {
  .cs-bfeat__box .cs-bfeat__media { aspect-ratio: auto; }
}
.cs-bfeat__text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-width: 0; padding: 28px; }
.cs-bfeat__title { margin: 12px 0 0; font-size: 32px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.cs-bfeat__excerpt { margin: 12px 0 0; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.cs-bfeat__text .cs-bmeta { margin-top: 16px; }
.cs-bfeat__text .cs-bbtn { margin-top: 16px; }

/* A5 grid */
.cs-blog__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
.cs-bcard { display: flex; min-width: 0; }
.cs-bcard__box { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.cs-bcard__text { display: flex; flex-direction: column; flex: 1 1 auto; padding: 16px; }
.cs-bcard__title { margin: 12px 0 0; font-size: 16px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.cs-bcard__excerpt { margin: 8px 0 16px; font-size: 14px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cs-bcard__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; font-size: 13px; }
.cs-bcard__date { color: var(--cs-muted); letter-spacing: .02em; }
.cs-bcard__more { color: var(--cs-coral); font-weight: 700; text-decoration: none; white-space: nowrap; }
.cs-bcard__more:hover { color: var(--cs-coral-dark); text-decoration: underline; }

/* Pagination: Previous left, numbers centred, Next right, across the container */
.cs-pagination { margin-top: 48px; }
.cs-pagination .nav-links { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.cs-pagination__nums { grid-column: 2; grid-row: 1; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.cs-pagination .prev { grid-column: 1; grid-row: 1; justify-self: start; }
.cs-pagination .next { grid-column: 3; grid-row: 1; justify-self: end; }
.cs-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border-radius: var(--cs-radius-pill); background: var(--cs-surface); color: var(--cs-black); font-weight: 600; font-size: 14px; text-decoration: none; }
.cs-pagination a.page-numbers:hover { background: var(--cs-coral-light); color: var(--cs-coral-dark); }
.cs-pagination .page-numbers.current { background: var(--cs-coral); color: var(--cs-white); }
.cs-pagination .page-numbers.dots { background: none; }
/* 1.9.22 — mobile: numbers on their own row, Previous/Next on the row below */
@media (max-width: 640px) {
  .cs-pagination .nav-links { grid-template-columns: 1fr 1fr; row-gap: 12px; }
  .cs-pagination__nums { grid-column: 1 / -1; grid-row: 1; }
  .cs-pagination .prev { grid-column: 1; grid-row: 2; }
  .cs-pagination .next { grid-column: 2; grid-row: 2; }
}

/* Single article: 760px reading column */
.cs-article { max-width: 760px; margin: 0 auto; }
.cs-article__title { margin: 16px 0 0; font-size: 44px; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; }
.cs-article__meta { margin: 16px 0 0; }
.cs-article__media { margin-top: 32px; aspect-ratio: 3 / 2; border-radius: var(--cs-radius); overflow: hidden; background: var(--cs-surface); }
.cs-article__media img { display: block; width: 100%; height: 100%; object-fit: cover; }

.cs-toc { margin-top: 32px; padding: 24px; border-radius: var(--cs-radius); background: var(--cs-surface); }
.cs-toc__title { margin: 0 0 8px; font-family: var(--cs-font-heading); font-size: 16px; font-weight: 700; color: var(--cs-black); }
.cs-toc__list { list-style: none; margin: 0; padding: 0; }
.cs-toc__item { padding: 4px 0; font-size: 15px; line-height: 1.5; }
.cs-toc__item--h3 { padding-left: 16px; font-size: 14px; }
.cs-toc__item a { text-decoration: none; }
.cs-toc__item a:hover { color: var(--cs-coral-dark); text-decoration: underline; }

.cs-article__body { margin-top: 32px; line-height: 1.7; overflow-wrap: break-word; }
.cs-article__body > :first-child { margin-top: 0; }
.cs-article__body > :last-child { margin-bottom: 0; }
.cs-article__body p, .cs-article__body ul, .cs-article__body ol, .cs-article__body blockquote, .cs-article__body figure, .cs-article__body table, .cs-article__body pre { margin: 0 0 24px; }
.cs-article__body h2 { margin: 48px 0 16px; font-size: 32px; font-weight: 700; line-height: 1.25; }
.cs-article__body h3 { margin: 32px 0 16px; font-size: 24px; font-weight: 700; line-height: 1.3; }
.cs-article__body a { color: var(--cs-coral-dark); text-decoration: underline; }
.cs-article__body img { border-radius: var(--cs-radius); }
.cs-article__body iframe, .cs-article__body video { max-width: 100%; }
.cs-article__body blockquote { padding-left: 24px; border-left: 3px solid var(--cs-coral); }
.cs-article__body pre { padding: 16px; border-radius: var(--cs-radius); background: var(--cs-surface); overflow-x: auto; }
.cs-article__body figcaption { margin-top: 8px; font-size: 14px; color: var(--cs-muted); }

.cs-fontsused { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--cs-surface-alt); }
.cs-fontsused__title { margin: 0 0 24px; font-size: 32px; font-weight: 700; }
.cs-fontsused__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
.cs-fontsused .cs-center { margin-top: 32px; }

.cs-btags { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cs-postnav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 48px; }
.cs-postnav__link { flex: 0 1 calc(50% - 8px); min-width: 0; padding: 16px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); text-decoration: none; }
.cs-postnav__link:hover { border-color: var(--cs-coral); }
.cs-postnav__link--next { margin-left: auto; text-align: right; }
.cs-postnav__label { display: block; font-size: 13px; color: var(--cs-muted); }
.cs-postnav__title { display: block; margin-top: 4px; font-family: var(--cs-font-heading); font-weight: 700; color: var(--cs-black); line-height: 1.4; overflow-wrap: anywhere; }
.cs-related { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--cs-surface-alt); }
.cs-related__title { margin: 0 0 24px; font-size: 32px; font-weight: 700; }

/* Search results */
.cs-searchpage .cs-blog__head { margin-bottom: 24px; }
.cs-searchpage__count { margin: 8px 0 0; color: var(--cs-muted); }
.cs-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.cs-tabs__tab { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 20px; border-radius: var(--cs-radius-pill); background: var(--cs-surface); color: var(--cs-black); font-size: 14px; font-weight: 600; text-decoration: none; }
.cs-tabs__tab:hover { background: var(--cs-coral-light); color: var(--cs-coral-dark); }
.cs-tabs__tab.is-active { background: var(--cs-coral); color: var(--cs-white); }
.cs-tabs__count { font-weight: 400; }
.cs-searchpage__group + .cs-searchpage__group { margin-top: 48px; }
.cs-searchpage__grouptitle { margin: 0 0 24px; font-size: 24px; font-weight: 700; }
.cs-searchpage__group .cs-center { margin-top: 32px; }
.cs-searchpage__empty { max-width: 560px; }
.cs-searchpage__empty p { margin: 0 0 24px; }
.cs-searchpage__form { margin-bottom: 24px; }
.cs-searchpage__empty .cs-center { justify-content: flex-start; text-align: left; }

@media (max-width: 1024px) {
  .cs-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cs-filter { flex-wrap: wrap; }
  /* 1.9.18: let the search form shrink below its intrinsic width — its min-content (326px) otherwise overflows the content box at 320px. */
  .cs-filter__search { flex: 1 1 100%; min-width: 0; }
}
@media (max-width: 767px) {
  .cs-blog__title, .cs-article__title { font-size: 30px; }
  .cs-bfeat__box { grid-template-columns: minmax(0, 1fr); }
  .cs-bfeat__title { font-size: 24px; }
  .cs-fontsused__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .cs-article__body h2, .cs-fontsused__title, .cs-related__title { font-size: 24px; }
  .cs-article__body h3 { font-size: 20px; }
}
@media (max-width: 600px) {
  .cs-blog__grid { grid-template-columns: minmax(0, 1fr); }
  .cs-pagination .nav-links { grid-template-columns: 1fr 1fr; }
  .cs-pagination__nums { grid-column: 1 / -1; }
  .cs-pagination .prev { grid-column: 1; grid-row: 2; }
  .cs-pagination .next { grid-column: 2; grid-row: 2; }
  .cs-postnav__link { flex-basis: 100%; }
}

/* =====================================================================
   1.7.0 — License & Free Fonts
   ===================================================================== */
.cs-lcrumbs { padding-top: 24px; }
.cs-lcrumbs .cs-crumbs { margin-bottom: 0; }
.cs-ltag { display: inline-block; margin: 0 0 16px; padding: 4px 12px; border-radius: var(--cs-radius-pill); background: var(--cs-coral-light); color: var(--cs-coral-dark); font-size: 13px; font-weight: 700; line-height: 1.4; }

/* Hero */
.cs-lhero { padding: 64px 0 48px; text-align: center; }
.cs-lhero__text { max-width: 720px; margin: 0 auto; }
.cs-lhero--free .cs-lhero__text { max-width: 700px; }
.cs-lhero__title { margin: 0; font-size: 44px; font-weight: 800; line-height: 1.2; }
.cs-lhero__lede { margin: 16px 0 0; line-height: 1.7; }
.cs-lhero__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.cs-lhero__ctas .cs-btn { font-weight: 600; }
.cs-entry--quiz .cs-entry__title { text-align: center; }
.cs-lbtn--border { background: var(--cs-white); color: var(--cs-black); box-shadow: inset 0 0 0 1px var(--cs-border); }
.cs-lbtn--border:hover { background: var(--cs-coral-light); color: var(--cs-coral-dark); box-shadow: inset 0 0 0 1px var(--cs-coral); }

/* Sections */
.cs-lsec { padding: 24px 0; scroll-margin-top: 24px; }
.cs-lsec--last { padding-bottom: 48px; }
.cs-lsec__title { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.3; }
.cs-lsec__lede { margin: 8px 0 0; line-height: 1.7; }

/* LIC-2 cards: informational, no hover */
.cs-lgrid { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cs-lcard { position: relative; min-width: 0; padding: 20px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); background: var(--cs-white); }
.cs-lcard--highlight { border-color: var(--cs-coral); box-shadow: 0 0 0 1px var(--cs-coral); }
.cs-lcard__badge { position: absolute; top: -12px; left: 20px; padding: 2px 12px; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font-size: 12px; font-weight: 700; line-height: 1.6; }
.cs-lcard__name { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; }
.cs-lcard__price { margin: 8px 0 0; }
.cs-lcard__amount { color: var(--cs-coral); font-family: var(--cs-font-heading); font-size: 30px; font-weight: 800; line-height: 1.2; }
.cs-lcard__once { font-size: 13px; color: var(--cs-muted); }
.cs-lcard__limit { margin: 12px 0 0; padding: 8px 12px; border-radius: 8px; background: var(--cs-surface); font-size: 13px; line-height: 1.5; }
.cs-lcard__list { list-style: none; margin: 12px 0 0; padding: 0; font-size: 14px; line-height: 1.5; }
.cs-lcard__list li { position: relative; padding-left: 22px; }
.cs-lcard__list li + li { margin-top: 6px; }
.cs-lcard__list li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.cs-lcard__list--yes li::before { content: "\2713"; color: var(--cs-coral); }
.cs-lcard__list--no li::before { content: "\2715"; color: var(--cs-muted); }
.cs-lcard__not { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--cs-border); }
.cs-lcard__notlabel { margin: 0; font-size: 13px; font-weight: 700; color: var(--cs-muted); }
.cs-lcard__not .cs-lcard__list { margin-top: 6px; }

/* LIC-3 table */
.cs-ltable { width: 100%; margin-top: 24px; border-collapse: collapse; font-size: 14px; line-height: 1.5; text-align: left; }
.cs-ltable th, .cs-ltable td { padding: 12px 16px; border-bottom: 1px solid var(--cs-border-alt); vertical-align: top; }
.cs-ltable thead th { background: var(--cs-surface); color: var(--cs-black); font-weight: 700; }
.cs-ltable tbody th { color: var(--cs-black); font-weight: 700; }
.cs-ltable__price { color: var(--cs-coral); font-weight: 800; white-space: nowrap; }

/* Panels: quiz, signup */
.cs-lpanel { padding: 30px 28px; border-radius: var(--cs-radius); background: var(--cs-surface-alt); }
.cs-lpanel--center { text-align: center; }
.cs-lpanel__lede { max-width: 720px; margin: 8px 0 0; line-height: 1.7; }
.cs-lpanel--center .cs-lpanel__lede { margin: 8px auto 24px; }
.cs-lpanel__note { margin: 16px 0 0; font-size: 13px; line-height: 1.5; color: var(--cs-muted); }

/* LIC-5, FREE-4 numbered cards. Reveal on the li, hover lift on __box so the slow reveal never slows the hover. */
.cs-lsteps { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cs-lstep { display: flex; min-width: 0; }
.cs-lstep__box { flex: 1 1 auto; min-width: 0; padding: 20px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); background: var(--cs-white); transition: transform .25s ease, box-shadow .25s ease; }
.cs-lstep__box:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(13, 13, 13, .12); }
.cs-lstep__num { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--cs-coral); color: var(--cs-white); font-size: 14px; font-weight: 700; }
.cs-lstep__title { margin: 12px 0 0; font-size: 16px; font-weight: 700; line-height: 1.4; }
.cs-lstep__text { margin: 8px 0 0; font-size: 14px; line-height: 1.6; }

/* LIC-5 FAQ: native details, same look as the product Details panel */
.cs-lfaq { margin-top: 24px; display: grid; gap: 12px; }
.cs-lfaq__item { padding: 16px 20px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); background: var(--cs-white); }
.cs-lfaq__item summary { font-family: var(--cs-font-heading); font-weight: 700; color: var(--cs-black); cursor: pointer; }
.cs-lfaq__item p { margin: 12px 0 0; font-size: 14px; line-height: 1.7; }

/* FREE-2 */
/* FREE-2 (Casa Lienta): symmetric section, two equal columns, text top on the image top and the meta row on the image bottom.
   Shared section/container/tag/title selectors are scoped to this section with :has(), so no other section changes. */
.cs-lsec:has(> .cs-container > .cs-fcasa) { padding: 64px 0; }
.cs-lsec:has(> .cs-container > .cs-fcasa) > .cs-container { padding: 0 48px; }
.cs-fcasa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: stretch; }
.cs-fcasa__media { align-self: start; } /* stretched, aspect-ratio would widen the image past its column whenever the text is taller */
.cs-fcasa__text { display: flex; flex-direction: column; }
.cs-fcasa__text .cs-ltag { align-self: flex-start; padding: 8px 16px; }
.cs-fcasa__text .cs-lsec__title { font-size: 32px; font-weight: 800; }
.cs-fcasa--text { grid-template-columns: minmax(0, 1fr); }
.cs-fcasa__media { aspect-ratio: 3 / 2; border-radius: var(--cs-radius); overflow: hidden; background: var(--cs-surface); }
.cs-fcasa__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cs-fcasa__lede { margin: 16px 0 24px; font-size: 17px; line-height: 28px; }
.cs-ffacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: auto 0 0; padding-top: 24px; border-top: 1px solid var(--cs-border); }
.cs-ffacts dt { font-size: 13px; color: var(--cs-muted); }
.cs-ffacts dd { margin: 4px 0 0; font-size: 16px; font-weight: 700; color: var(--cs-black); }

/* FREE-3: styles the plugin's form only */
.cs-fform { margin-top: 24px; }
.cs-fform form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 0; }
.cs-fform form > div:not([aria-live]) { flex: 1 1 220px; min-width: 0; }
.cs-fform label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 600; color: var(--cs-black); }
.cs-fform input[type="text"], .cs-fform input[type="email"] { width: 100%; height: 44px; padding: 0 20px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill); background: var(--cs-white); font-family: var(--cs-font-body); font-size: 15px; color: var(--cs-body); }
.cs-fform button, .cs-fform input[type="submit"] { height: 44px; padding: 0 24px; border: 0; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font-family: var(--cs-font-body); font-size: 14px; font-weight: 700; letter-spacing: .04em; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.cs-fform button:hover, .cs-fform input[type="submit"]:hover { background: var(--cs-coral-dark); }
.cs-fform button:active, .cs-fform input[type="submit"]:active { transform: scale(.98); }
.cs-fform [aria-live] { flex: 1 0 100%; }
.cs-fform [aria-live]:empty { display: none; }

/* FREE-4 terms */
.cs-fterms { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; padding: 20px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); background: var(--cs-white); }
.cs-fterms__title { margin: 0; color: var(--cs-black); }
.cs-fterms__text { margin: 8px 0 0; font-size: 14px; line-height: 1.7; }
.cs-fterms .cs-btn { flex: none; }

@media (max-width: 1024px) {
  .cs-lgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .cs-lhero { padding: 40px 0 32px; }
  .cs-lhero__title { font-size: 31px; }
  .cs-lgrid, .cs-lsteps, .cs-fcasa { grid-template-columns: minmax(0, 1fr); }
  .cs-ltable, .cs-ltable tbody, .cs-ltable tr, .cs-ltable th, .cs-ltable td { display: block; }
  .cs-ltable thead { display: none; }
  .cs-ltable tr { padding: 12px 0; border-bottom: 1px solid var(--cs-border-alt); }
  .cs-ltable th, .cs-ltable td { padding: 2px 0; border-bottom: 0; }
  .cs-ltable td::before { content: attr(data-label) ": "; color: var(--cs-muted); font-weight: 400; }
  .cs-ltable__price { white-space: normal; }
  .cs-fform form { display: block; }
  .cs-fform form > div:not([aria-live]) { margin-bottom: 12px; }
  .cs-fform button, .cs-fform input[type="submit"] { width: 100%; }
  .cs-fform [aria-live] { margin-top: 12px; }
  .cs-fterms { flex-direction: column; align-items: flex-start; }
}
/* FREE-2 on tablets and phones: one column, section 48 top and bottom, 20 left and right; the meta row stays three columns. */
@media (max-width: 900px) {
  .cs-lsec:has(> .cs-container > .cs-fcasa) { padding: 48px 0; }
  .cs-lsec:has(> .cs-container > .cs-fcasa) > .cs-container { padding: 0 20px; }
  .cs-fcasa { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .cs-ffacts { gap: 16px; }
}

/* =====================================================================
   1.8.2 — Logo Tester (font duo)
   ===================================================================== */
.cs-lt-wrap { max-width: 1200px; margin: 0 auto; color: var(--cs-black-soft); }
.cs-lt-sec { padding: 56px 40px; }
.cs-lt-sec__title { margin: -2px 0 0; font-size: 32px; font-weight: 800; line-height: 1; color: var(--cs-black-soft); }
.cs-lt-sec__copy { margin: 8px 0 24px; line-height: 1.65; }
.cs-lt-nojs { max-width: 1120px; margin: 24px auto; padding: 16px 20px; border-radius: var(--cs-radius); background: var(--cs-coral-light); color: var(--cs-black-soft); }
html:not(.cs-js) .cs-lt-tool { display: none; }

/* LT-0 */
.cs-lt-head .cs-crumbs { margin-bottom: 16px; }
.cs-lt-head__text { max-width: 720px; margin: 0 auto; text-align: center; }
.cs-lt-head__title { margin: 0; font-family: var(--cs-font-heading); font-size: 44px; font-weight: 800; line-height: 1.08; color: var(--cs-black-soft); }
.cs-lt-head__lead { margin: 16px 0 -2px; font-size: 17px; line-height: 1.65; }

/* LT-1 */
.cs-lt-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.cs-lt-controls { display: grid; gap: 12px; min-width: 0; }
.cs-lt-field { min-width: 0; margin: 16px 0 0; padding: 0; border: 0; }
.cs-lt-label { display: block; margin: 0 0 6px; padding: 0; font-size: 13px; font-weight: 600; color: var(--cs-black-soft); }
.cs-lt-input { display: block; width: 100%; height: 44px; padding: 0 14px; border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white); font-family: var(--cs-font-body); font-size: 15px; color: var(--cs-body); }
.cs-lt-fonts { display: grid; gap: 6px; }
.cs-lt-font { display: block; width: 100%; padding: 8px 12px; border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white); color: var(--cs-black-soft); text-align: left; cursor: pointer; }
.cs-lt-font.is-selected { border-color: var(--cs-coral); box-shadow: inset 0 0 0 1px var(--cs-coral); }
.cs-lt-font__name { display: block; font-size: 22px; line-height: 1.3; overflow-wrap: anywhere; }
.cs-lt-font__meta { display: block; font-family: var(--cs-font-body); font-size: 11.5px; line-height: 1.4; color: var(--cs-muted); }
.cs-lt-slider { display: flex; align-items: center; gap: 10px; }
.cs-lt-range { --cs-lt-fill: 0%; flex: 1 1 auto; min-width: 0; height: 18px; margin: 0; background: none; cursor: pointer; -webkit-appearance: none; appearance: none; }
.cs-lt-range::-webkit-slider-runnable-track { height: 6px; border-radius: var(--cs-radius-pill); background: linear-gradient(to right, var(--cs-coral) var(--cs-lt-fill), #E4DED6 var(--cs-lt-fill)); }
.cs-lt-range::-moz-range-track { height: 6px; border-radius: var(--cs-radius-pill); background: #E4DED6; }
.cs-lt-range::-moz-range-progress { height: 6px; border-radius: var(--cs-radius-pill); background: var(--cs-coral); }
.cs-lt-range::-webkit-slider-thumb { width: 18px; height: 18px; margin-top: -6px; border: 0; border-radius: 50%; background: var(--cs-white); box-shadow: 0 1px 4px rgba(13, 13, 13, .3); -webkit-appearance: none; appearance: none; }
.cs-lt-range::-moz-range-thumb { width: 18px; height: 18px; border: 0; border-radius: 50%; background: var(--cs-white); box-shadow: 0 1px 4px rgba(13, 13, 13, .3); }
.cs-lt-out { flex: none; min-width: 48px; font-size: 13px; font-weight: 700; color: var(--cs-black-soft); text-align: right; font-variant-numeric: tabular-nums; }
.cs-lt-cases { display: flex; flex-wrap: wrap; gap: 6px; }
.cs-lt-case { flex: 0 1 auto; height: 40px; padding: 0 14px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill); background: var(--cs-white); font-family: var(--cs-font-body); font-size: 14px; font-weight: 600; color: var(--cs-black-soft); cursor: pointer; }
.cs-lt-case.is-selected { border-color: var(--cs-coral); background: var(--cs-coral-light); color: var(--cs-coral-dark); }
.cs-lt-swatches { display: flex; flex-wrap: wrap; gap: 10px; }
.cs-lt-swatch { width: 34px; height: 34px; padding: 0; border: 1px solid var(--cs-border); border-radius: 10px; cursor: pointer; }
.cs-lt-swatch.is-selected { box-shadow: 0 0 0 2px var(--cs-white), 0 0 0 4px var(--cs-coral); }

.cs-lt-preview { position: sticky; top: 24px; min-width: 0; }
body.admin-bar .cs-lt-preview { top: 56px; }
/* Logged in only: a sticky box is pushed up once it no longer fits in LT-1, which took the lettermark under the admin bar
   while the panel was still in view. A short sticky box stays stuck to the end of LT-1; its content runs on below it and
   the next sections, opaque and above it, cover that part as they scroll in. */
@media (min-width: 901px) {
  body.admin-bar .cs-lt-preview { height: 48px; }
  body.admin-bar #cs-lt-tester ~ .cs-lt-sec { position: relative; z-index: 1; background: var(--cs-white); }
}
.cs-lt-canvas { display: flex; align-items: center; justify-content: center; min-height: 340px; padding: 48px 30px; border: 1px solid #E4DED6; border-radius: var(--cs-radius); background: var(--cs-white); text-align: center; }
.cs-lt-stage { display: flex; flex-direction: column; align-items: center; width: 100%; min-width: 0; }
.cs-lt-stage[data-align="left"] { align-items: flex-start; text-align: left; }
.cs-lt-stage[data-align="right"] { align-items: flex-end; text-align: right; }
.cs-lt-stage [hidden], .cs-lt-lockup [hidden] { display: none; }
.cs-lt-canvas.is-loading .cs-lt-stage { visibility: hidden; }
.cs-lt-canvas.is-failed .cs-lt-stage, .cs-lt-canvas.is-empty .cs-lt-stage { display: none; }
.cs-lt-mark, .cs-lt-name, .cs-lt-tagline { display: block; max-width: 100%; font-weight: 400; line-height: 1.15; overflow-wrap: anywhere; }
.cs-lt-line, .cs-lt-lockup__line { display: block; flex: none; max-width: 100%; background: currentColor; }
.cs-lt-mark--circle, .cs-lt-mark--square { display: flex; align-items: center; justify-content: center; flex: none; width: 1.5em; height: 1.5em; border: 2px solid currentColor; box-sizing: border-box; line-height: 1; }
.cs-lt-mark--circle { border-radius: 50%; }
.cs-lt-msg { margin: 0; color: var(--cs-black-soft); }
.cs-lt-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.cs-lt-btn { gap: 8px; }
.cs-lt-status { margin: 12px 0 0; font-size: 14px; color: var(--cs-coral-dark); }
.cs-lt-note { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: var(--cs-muted); }

/* LT-1 groups */
.cs-lt-group { padding: 20px; border: 1px solid #E4DED6; border-radius: var(--cs-radius); background: var(--cs-white); }
.cs-lt-group__title { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--cs-black-soft); }
.cs-lt-group__num { display: flex; align-items: center; justify-content: center; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--cs-coral); color: var(--cs-white); font-size: 12px; font-weight: 700; }
.cs-lt-toggle { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--cs-black-soft); cursor: pointer; }
.cs-lt-toggle input { width: 16px; height: 16px; margin: 0; accent-color: var(--cs-coral); }
.cs-lt-linebox { margin-top: 16px; padding: 14px; border: 1px solid #E4DED6; border-radius: 12px; }
.cs-lt-linebox .cs-lt-toggle { margin-top: 0; }
.cs-lt-field--slider input:disabled, .cs-lt-field--slider input:disabled + .cs-lt-out { opacity: .4; }
.cs-lt-hint { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: var(--cs-muted); }
.cs-lt-link { display: inline-block; margin: 8px 0 0; padding: 0; border: 0; background: none; font-family: var(--cs-font-body); font-size: 13px; font-weight: 600; color: var(--cs-black-soft); text-decoration: underline; cursor: pointer; }
#cs-lt-cat-search { margin-top: 12px; }
.cs-lt-cat__filters { margin-top: 10px; }
.cs-lt-cat { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 360px; margin: 10px 0 0; padding: 2px; overflow-y: auto; }
.cs-lt-cat li[hidden] { display: none; }
.cs-lt-cat__card { display: block; width: 100%; height: 100%; padding: 8px 10px; border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white); color: var(--cs-black-soft); text-align: left; cursor: pointer; }
.cs-lt-cat__card.is-selected { border-color: var(--cs-coral); box-shadow: inset 0 0 0 1px var(--cs-coral); }
.cs-lt-cat__name { display: block; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
.cs-lt-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.cs-lt-samples { margin-top: 16px; padding: 16px; border: 1px solid #E4DED6; border-radius: var(--cs-radius); background: var(--cs-white); }
.cs-lt-samples__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cs-lt-sample { display: block; min-width: 0; padding: 10px 12px; border: 1px solid var(--cs-border); border-radius: 12px; background: var(--cs-white); text-align: left; cursor: pointer; }
.cs-lt-sample.is-selected { border-color: var(--cs-coral); box-shadow: inset 0 0 0 1px var(--cs-coral); }
.cs-lt-sample__name { display: block; font-family: var(--cs-font-body); font-size: 14px; font-weight: 700; color: var(--cs-black-soft); overflow-wrap: anywhere; }
.cs-lt-sample__tag { display: block; margin-top: 2px; font-family: var(--cs-font-body); font-size: 11px; letter-spacing: .04em; color: var(--cs-muted); overflow-wrap: anywhere; }
.cs-lt-chip { padding: 2px 10px; border-radius: var(--cs-radius-pill); background: var(--cs-surface); font-size: 12px; line-height: 1.6; color: var(--cs-muted); }

/* Product page: Try as logo */
.cs-ptester__try { display: inline-flex; align-items: center; height: 40px; margin-top: 12px; padding: 0 16px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill); background: var(--cs-white); font-size: 14px; font-weight: 600; color: var(--cs-black); text-decoration: none; }
.cs-ptester__try:hover { background: var(--cs-surface); }

/* LT-2 */
.cs-lt-lockups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #E4DED6; border-radius: var(--cs-radius); overflow: hidden; }
.cs-lt-lockups.is-loading .cs-lt-lockup__art { visibility: hidden; }
.cs-lt-lockups.is-failed .cs-lt-lockup__art { visibility: hidden; }
.cs-lt-lockup { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; padding: 20px 14px; text-align: center; }
.cs-lt-lockup + .cs-lt-lockup { border-left: 1px solid #E4DED6; }
.cs-lt-lockup__art { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-width: 0; max-width: 100%; }
.cs-lt-lockup--horizontal .cs-lt-lockup__art { flex-direction: row; gap: 10px; }
.cs-lt-lockup__mark { font-size: 34px; line-height: 1.15; }
.cs-lt-lockup__mark.cs-lt-mark--circle, .cs-lt-lockup__mark.cs-lt-mark--square { border-width: 1.5px; line-height: 1; }
.cs-lt-lockup__sub { font-size: 12px; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; overflow-wrap: anywhere; }
.cs-lt-lockup__word { font-size: 21px; line-height: 1.2; overflow-wrap: anywhere; min-width: 0; }
.cs-lt-lockup__label { margin: 0; font-size: 11px; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; }

/* LT-3 */
.cs-lt-shortlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.cs-lt-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 20px; border: 1px solid #E4DED6; border-radius: 14px; background: var(--cs-white); }
.cs-lt-card__name { margin: 0; font-family: inherit; font-size: 27px; font-weight: 400; line-height: 1.2; color: var(--cs-black-soft); overflow-wrap: anywhere; }
.cs-lt-card__tag { margin: 8px 0 0; font-size: 13px; color: var(--cs-muted); }
.cs-lt-card__price { margin: 4px 0 16px; font-size: 14px; font-weight: 600; }
.cs-lt-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: auto; }
.cs-lt-card__view { font-size: 14px; font-weight: 600; color: var(--cs-black-soft); }
.cs-lt-card--browse { border-color: var(--cs-black-soft); background: var(--cs-black-soft); color: var(--cs-white); }
.cs-lt-browse__title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--cs-white); }
.cs-lt-browse__text { margin: 8px 0 16px; font-size: 14px; line-height: 1.6; }
.cs-lt-browse__link { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; font-size: 14px; font-weight: 600; color: var(--cs-white); }

/* LT-4 */
.cs-lt-how { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cs-lt-how__card { min-width: 0; padding: 24px; border: 1px solid #E4DED6; border-radius: var(--cs-radius); background: var(--cs-white); }
.cs-lt-how__icon { display: block; height: 24px; color: var(--cs-coral); }
.cs-lt-how__title { margin: 12px 0 0; font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--cs-black-soft); }
.cs-lt-how__text { margin: 8px 0 0; font-size: 14px; line-height: 1.65; }

/* LT-5 */
.cs-lt-band { padding: 40px; border-radius: 18px; background: #17140F; color: var(--cs-white); text-align: center; }
.cs-lt-band__title { margin: -2px 0 0; font-size: 32px; font-weight: 800; line-height: 1; color: var(--cs-white); }
.cs-lt-band__copy { max-width: 720px; margin: 12px auto 24px; line-height: 1.65; }
.cs-lt-band__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

@media (max-width: 1024px) {
  .cs-lt-shortlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .cs-lt-workspace { grid-template-columns: minmax(0, 1fr); }
  .cs-lt-preview { position: static; }
}
@media (max-width: 767px) {
  .cs-lt-sec { padding: 42px 20px; }
  .cs-lt-head__title { font-size: 31px; }
  .cs-lt-sec__title, .cs-lt-band__title { font-size: 24px; }
  .cs-lt-lockups, .cs-lt-shortlist, .cs-lt-how { grid-template-columns: minmax(0, 1fr); }
  .cs-lt-lockup + .cs-lt-lockup { border-left: 0; border-top: 1px solid #E4DED6; }
}

/* =====================================================================
   1.9.0 — Fase I simple pages: My Account, Contact, About, FAQ, legal
   ===================================================================== */
.cs-sp { max-width: 1312px; margin: 0 auto; color: var(--cs-body); } /* 1.9.6: 1232px of content + 2 x 40px, the same content width as the site container */
.cs-sp-sec { padding: 56px 40px; }
.cs-sp-head + .cs-sp-sec { padding-top: 0; }
.cs-sp-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; font-size: 13px; color: var(--cs-muted); }
.cs-sp-crumbs a { color: var(--cs-muted); text-decoration: none; }
.cs-sp-crumbs a:hover { color: var(--cs-coral); }
.cs-sp-kicker { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cs-coral); }
.cs-sp-title { margin: 0; font-family: var(--cs-font-heading); font-size: 44px; font-weight: 800; line-height: 1.08; letter-spacing: -.01em; color: var(--cs-black-soft); }
.cs-sp-lead { max-width: 720px; margin: 16px 0 0; font-size: 17px; line-height: 1.65; color: var(--cs-muted); }
.cs-sp-h2 { margin: 0; font-family: var(--cs-font-heading); font-size: 30px; font-weight: 800; line-height: 1.15; color: var(--cs-black-soft); }
.cs-sp-sublead { max-width: 640px; margin: 12px 0 0; font-size: 16px; line-height: 1.65; color: var(--cs-muted); }
.cs-sp-icon { flex: none; }
.cs-sp-panel { padding: 28px; border: 1px solid var(--cs-surface-alt); border-radius: 16px; background: var(--cs-white); }

/* Buttons */
.cs-sp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 22px; border: 0; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font-family: var(--cs-font-body); font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background-color .2s ease; }
.cs-sp-btn:hover { background: var(--cs-coral-dark); color: var(--cs-white); }
.cs-sp-btn--ghost { background: transparent; color: var(--cs-black-soft); box-shadow: inset 0 0 0 1.5px var(--cs-black-soft); }
.cs-sp-btn--ghost:hover { background: var(--cs-black-soft); color: var(--cs-white); }
.cs-sp-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 14px; font-weight: 600; color: var(--cs-coral); text-decoration: none; }
.cs-sp-link:hover { color: var(--cs-coral-dark); }

/* Cards (3-card pattern) */
.cs-sp-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cs-sp-card { padding: 24px; border: 1px solid var(--cs-surface-alt); border-radius: 16px; background: var(--cs-white); }
.cs-sp-card > .cs-sp-icon { display: block; color: var(--cs-coral); }
.cs-sp-card__title { margin: 14px 0 0; font-family: var(--cs-font-heading); font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--cs-black-soft); }
.cs-sp-card__body { margin: 8px 0 0; font-size: 14px; line-height: 1.65; color: var(--cs-muted); }
.cs-sp-card__body a { color: var(--cs-coral); }

/* Support strip */
.cs-sp-strip { display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-radius: 16px; background: var(--cs-surface); }
.cs-sp-strip > .cs-sp-icon { color: var(--cs-coral); }
.cs-sp-strip__text { flex: 1 1 280px; margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--cs-body); }
.cs-sp-strip__text strong { color: var(--cs-black-soft); }
.cs-sp-strip__ctas { display: flex; flex-wrap: wrap; gap: 12px; }

/* Closing block */
.cs-sp-close { max-width: 820px; margin: 0 auto; text-align: center; }
.cs-sp-close > .cs-sp-icon { display: block; margin: 0 auto 14px; color: var(--cs-coral); }
.cs-sp-close__copy { margin: 14px auto 0; font-size: 16px; line-height: 1.65; color: var(--cs-muted); }
.cs-sp-close__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }

/* Forms */
.cs-sp-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cs-sp-field { display: flex; flex-direction: column; gap: 8px; margin: 0 0 18px; }
.cs-sp-field label, .cs-acc .woocommerce form .form-row label { font-size: 12.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cs-black-soft); }
.cs-sp-field__opt { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--cs-muted); }
.cs-sp-field input, .cs-sp-field select, .cs-sp-field textarea,
.cs-acc .woocommerce form .form-row .input-text, .cs-acc .woocommerce form .form-row select, .cs-acc .woocommerce form .form-row textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--cs-border); border-radius: 10px; background: var(--cs-white); color: var(--cs-black-soft); font-family: var(--cs-font-body); font-size: 15px; line-height: 1.4;
}
.cs-sp-field textarea { min-height: 160px; resize: vertical; }
.cs-sp-field input:focus, .cs-sp-field select:focus, .cs-sp-field textarea:focus,
.cs-acc .woocommerce form .form-row .input-text:focus, .cs-acc .woocommerce form .form-row select:focus, .cs-acc .woocommerce form .form-row textarea:focus {
  outline: none; border-color: var(--cs-coral); box-shadow: 0 0 0 3px rgba(255, 87, 87, .25);
}
.cs-sp-field.is-invalid input, .cs-sp-field.is-invalid select, .cs-sp-field.is-invalid textarea { border-color: var(--cs-coral-dark); }
.cs-sp-field__err { font-size: 13px; color: var(--cs-coral-dark); }
.cs-sp-select { position: relative; display: block; }
.cs-sp-select select { appearance: none; -webkit-appearance: none; padding-right: 40px; }
.cs-sp-select .cs-sp-icon { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); pointer-events: none; color: var(--cs-muted); }
.cs-sp-btn--submit { margin-top: 4px; }
.cs-sp-notice { margin: 0 0 20px; padding: 12px 16px; border-radius: 10px; font-size: 14.5px; line-height: 1.5; }
.cs-sp-notice--ok { background: #E8F5EC; color: #1C6B39; }
.cs-sp-notice--err { background: var(--cs-coral-light); color: #B42D2D; }

/* Contact */
.cs-con-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; }
.cs-con-rail { display: flex; flex-direction: column; gap: 14px; }
.cs-con-info .cs-sp-card__title { margin-top: 12px; }
.cs-con-info .cs-sp-card__body a { color: var(--cs-black-soft); font-weight: 600; }

/* About */
.cs-abt-visual { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; margin: 0; padding: 40px; border-radius: 18px; background: var(--cs-surface); }
.cs-abt-visual__letters { margin: 0; font-family: var(--cs-font-heading); font-size: clamp(56px, 11vw, 140px); line-height: 1.1; text-align: center; color: var(--cs-black-soft); overflow-wrap: anywhere; }
.cs-abt-visual__cap { margin-top: 16px; font-size: 13px; color: var(--cs-muted); }
.cs-abt-visual__cap a { color: var(--cs-black-soft); font-weight: 600; }
.cs-abt-steps { max-width: 860px; margin: 0 auto; }
.cs-abt-timeline { position: relative; margin: 32px 0 0; padding: 0 0 0 32px; list-style: none; }
.cs-abt-timeline::before { content: ""; position: absolute; top: 6px; bottom: 6px; left: 5px; width: 2px; background: #E4DED6; }
.cs-abt-step { position: relative; padding: 0 0 28px; }
.cs-abt-step:last-child { padding-bottom: 0; }
.cs-abt-step::before { content: ""; position: absolute; top: 4px; left: -32px; width: 12px; height: 12px; border-radius: 50%; background: var(--cs-coral); }
.cs-abt-step__label { font-size: 12px; font-weight: 800; letter-spacing: .08em; color: var(--cs-coral); }
.cs-abt-step__title { margin: 6px 0 0; font-family: var(--cs-font-heading); font-size: 16.5px; font-weight: 700; color: var(--cs-black-soft); }
.cs-abt-step__body { max-width: 640px; margin: 6px 0 0; font-size: 14.5px; line-height: 1.65; color: var(--cs-muted); }
.cs-abt-band { padding: 40px; border-radius: 18px; background: #17140F; color: var(--cs-white); text-align: center; }
.cs-abt-band__title { margin: 0; font-family: var(--cs-font-heading); font-size: 32px; font-weight: 800; line-height: 1.1; color: var(--cs-white); }
.cs-abt-band__copy { max-width: 640px; margin: 12px auto 24px; line-height: 1.65; color: #E5E5E5; }
.cs-abt-band__form { max-width: 640px; margin: 0 auto; text-align: left; }
.cs-abt-band__form label { color: var(--cs-white); }
.cs-abt-cta { max-width: 760px; }

/* FAQ */
/* 1.9.15: FAQ header centered — FAQ only; other simple pages stay left-aligned. */
.cs-faq .cs-sp-head { text-align: center; }
.cs-faq .cs-sp-crumbs { justify-content: center; }
.cs-faq .cs-sp-lead { margin: 16px auto 0; }
.cs-faq-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; max-width: 920px; margin: 0 auto 24px; }
.cs-faq-toolbar[hidden] { display: none; }
.cs-faq-search { position: relative; display: flex; flex: 1 1 280px; align-items: center; }
.cs-faq-search .cs-sp-icon { position: absolute; left: 16px; color: var(--cs-muted); pointer-events: none; }
.cs-faq-search input { width: 100%; height: 46px; padding: 0 18px 0 40px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill); font-family: var(--cs-font-body); font-size: 15px; }
.cs-faq-search input:focus { outline: none; border-color: var(--cs-coral); box-shadow: 0 0 0 3px rgba(255, 87, 87, .25); }
.cs-faq-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-faq-cat { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius-pill); background: var(--cs-white); color: var(--cs-black-soft); font-family: var(--cs-font-body); font-size: 13.5px; font-weight: 600; cursor: pointer; }
.cs-faq-cat:hover { border-color: var(--cs-black-soft); }
.cs-faq-cat[aria-pressed="true"] { border-color: var(--cs-black-soft); background: var(--cs-black-soft); color: var(--cs-white); }
.cs-faq-cat__n { font-size: 12px; font-weight: 700; opacity: .7; }
.cs-faq-list { max-width: 920px; margin: 0 auto; border-top: 1px solid var(--cs-surface-alt); }
.cs-faq-item { border-bottom: 1px solid var(--cs-surface-alt); }
.cs-faq-item[hidden] { display: none; }
.cs-faq-item__h { margin: 0; }
.cs-faq-q { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 18px 20px; border: 0; background: transparent; color: var(--cs-black-soft); font-family: var(--cs-font-heading); font-size: 16px; font-weight: 700; line-height: 1.4; text-align: left; cursor: pointer; }
.cs-faq-q:hover { color: var(--cs-coral-dark); }
.cs-faq-q .cs-sp-icon { color: var(--cs-coral); transition: transform .2s ease; }
.cs-faq-item.is-open .cs-faq-q .cs-sp-icon { transform: rotate(45deg); }
.cs-faq-a { padding: 0 20px 18px; }
.cs-faq-a[hidden] { display: none; }
.cs-faq-a p { max-width: 820px; margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--cs-muted); }
.cs-faq-empty { max-width: 920px; margin: 0 auto; padding: 24px 20px; font-size: 14.5px; line-height: 1.6; color: var(--cs-muted); }
.cs-faq-empty[hidden] { display: none; }
.cs-faq-empty a { color: var(--cs-coral); }
.cs-faq-main .cs-sp-strip { max-width: 920px; margin: 32px auto 0; }

/* Legal */
.cs-legal-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.cs-legal-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--cs-radius-pill); background: var(--cs-surface); font-size: 13px; color: var(--cs-body); }
.cs-legal-chip .cs-sp-icon { color: var(--cs-coral); }
.cs-legal-grid { display: grid; grid-template-columns: minmax(0, 250fr) minmax(0, 760fr); gap: 36px; align-items: start; } /* 1.9.6: TOC and text widen together in the 250:760 ratio */
.cs-legal-toc { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; padding: 16px; border: 1px solid var(--cs-surface-alt); border-radius: 16px; }
body.admin-bar .cs-legal-toc { top: 56px; max-height: calc(100vh - 80px); }
.cs-legal-toc__title { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--cs-black-soft); }
.cs-legal-toc__title .cs-sp-icon { color: var(--cs-coral); }
.cs-legal-toc__list { margin: 0; padding: 0; list-style: none; }
.cs-legal-toc__list a { display: block; padding: 7px 10px; border-radius: 8px; font-size: 13.5px; line-height: 1.4; color: var(--cs-body); text-decoration: none; }
.cs-legal-toc__list a:hover { color: var(--cs-coral-dark); }
.cs-legal-toc__list a.is-active { background: var(--cs-coral-light); color: var(--cs-coral-dark); font-weight: 600; }
.cs-legal-article { padding: 36px 40px; font-size: 16px; line-height: 1.7; }
.cs-legal-article h2, .cs-legal-article h3, .cs-legal-article h4 { margin: 32px 0 12px; font-family: var(--cs-font-heading); font-size: 19px; font-weight: 700; line-height: 1.35; color: var(--cs-black-soft); scroll-margin-top: 24px; }
body.admin-bar .cs-legal-article :is(h2, h3, h4) { scroll-margin-top: 56px; }
.cs-legal-article > :first-child { margin-top: 0; }
.cs-legal-article p, .cs-legal-article ul, .cs-legal-article ol { margin: 0 0 16px; }
.cs-legal-article a { color: var(--cs-coral-dark); overflow-wrap: anywhere; }
.cs-legal-foot { margin-top: 24px; }
.cs-legal-foot__links { display: flex; flex-wrap: wrap; gap: 12px; }
.cs-legal-foot__mail { margin: 16px 0 0; font-size: 14px; color: var(--cs-muted); }
.cs-legal-foot__mail a { color: var(--cs-black-soft); font-weight: 600; }

/* My Account: native WooCommerce markup, restyled */
.cs-acc .woocommerce { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 24px; align-items: start; }
.cs-acc .woocommerce::before, .cs-acc .woocommerce::after { display: none; } /* WooCommerce's clearfix would become a grid item */
.cs-acc .woocommerce > :not(.cs-acc-side):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
.cs-acc .woocommerce .cs-acc-side { position: sticky; top: 16px; }
body.admin-bar .cs-acc .woocommerce .cs-acc-side { top: 48px; }
.cs-acc .woocommerce .woocommerce-MyAccount-navigation, .cs-acc .woocommerce .woocommerce-MyAccount-content { float: none; width: auto; }
.cs-acc-user { display: flex; align-items: center; gap: 12px; padding: 0 4px 16px; }
.cs-acc-user__avatar { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--cs-coral); color: var(--cs-white); font-size: 15px; font-weight: 700; }
.cs-acc-user__text { display: flex; flex-direction: column; min-width: 0; }
.cs-acc-user__name { overflow: hidden; font-size: 14.5px; font-weight: 700; color: var(--cs-black-soft); text-overflow: ellipsis; white-space: nowrap; }
.cs-acc-user__email { overflow: hidden; font-size: 12.5px; color: var(--cs-muted); text-overflow: ellipsis; white-space: nowrap; }
.cs-acc .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.cs-acc .woocommerce-MyAccount-navigation li { margin: 0 0 2px; }
.cs-acc .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 10px; color: var(--cs-black-soft); font-size: 14px; font-weight: 500; text-decoration: none; }
.cs-acc .woocommerce-MyAccount-navigation li a:hover { background: var(--cs-surface); }
.cs-acc .woocommerce-MyAccount-navigation li.is-active a { background: var(--cs-black-soft); color: var(--cs-white); }
.cs-acc-side .woocommerce-MyAccount-navigation-link a::before { content: ""; flex: none; width: 18px; height: 18px; background: currentColor; -webkit-mask: no-repeat center / contain; mask: no-repeat center / contain; }
.cs-acc-side .woocommerce-MyAccount-navigation-link--orders a::after, .cs-acc-side .woocommerce-MyAccount-navigation-link--downloads a::after { margin-left: auto; padding: 2px 8px; border-radius: var(--cs-radius-pill); background: var(--cs-coral-light); color: var(--cs-coral-dark); font-size: 12px; font-weight: 700; }
.cs-acc .woocommerce .woocommerce-MyAccount-content { padding: 28px; border: 1px solid var(--cs-surface-alt); border-radius: 16px; background: var(--cs-white); }
.cs-acc-h { margin: 0; font-family: var(--cs-font-heading); font-size: 22px; font-weight: 800; color: var(--cs-black-soft); }
.cs-acc-lead { margin: 8px 0 24px; font-size: 14.5px; line-height: 1.6; color: var(--cs-muted); }
.cs-acc-sub { margin: 28px 0 12px; font-size: 15px; font-weight: 700; color: var(--cs-black-soft); }
.cs-acc-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.cs-acc-stat { padding: 16px; border-radius: 12px; background: var(--cs-surface); }
.cs-acc-stat dt { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; color: var(--cs-muted); }
.cs-acc-stat dd { margin: 6px 0 0; font-size: 22px; font-weight: 800; line-height: 1.2; color: var(--cs-black-soft); overflow-wrap: anywhere; }
.cs-acc-table, .cs-acc .woocommerce table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-radius: 0; font-size: 14px; }
.cs-acc-table th, .cs-acc-table td, .cs-acc .woocommerce table.shop_table th, .cs-acc .woocommerce table.shop_table td { padding: 13px 12px; border: 0; border-bottom: 1px solid var(--cs-surface-alt); text-align: left; vertical-align: middle; }
.cs-acc-table th, .cs-acc .woocommerce table.shop_table thead th { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--cs-muted); }
.cs-acc-table a, .cs-acc .woocommerce table.shop_table a:not(.button) { color: var(--cs-black-soft); font-weight: 600; }
.cs-acc-status { display: inline-block; padding: 3px 10px; border-radius: var(--cs-radius-pill); background: var(--cs-surface); color: var(--cs-muted); font-size: 12.5px; font-weight: 700; }
.cs-acc-status--completed { background: #E8F5EC; color: #1C6B39; }
.cs-acc-status--processing, .cs-acc-status--on-hold { background: #FFF3DC; color: #8A5300; }
.cs-acc .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: #1C6B39; font-weight: 700; }
.cs-acc .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status { color: #8A5300; font-weight: 700; }
.cs-acc .woocommerce a.button, .cs-acc .woocommerce button.button, .cs-acc .woocommerce input.button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 16px; border: 0; border-radius: var(--cs-radius-pill); background: var(--cs-coral); color: var(--cs-white); font-family: var(--cs-font-body); font-size: 13px; font-weight: 600; line-height: 1; text-decoration: none; }
.cs-acc .woocommerce a.button:hover, .cs-acc .woocommerce button.button:hover, .cs-acc .woocommerce input.button:hover { background: var(--cs-coral-dark); color: var(--cs-white); }
.cs-acc .woocommerce .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cs-acc .woocommerce .woocommerce-Addresses::before, .cs-acc .woocommerce .woocommerce-Addresses::after, .cs-acc .woocommerce .col2-set::before, .cs-acc .woocommerce .col2-set::after { display: none; }
.cs-acc .woocommerce .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; padding: 20px; border: 1px solid var(--cs-surface-alt); border-radius: 12px; }
.cs-acc .woocommerce .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.cs-acc .woocommerce .woocommerce-Address-title h2 { margin: 0; font-size: 17px; }
.cs-acc .woocommerce .woocommerce-Address address { margin-top: 10px; font-style: normal; line-height: 1.6; }
.cs-acc .woocommerce form .form-row { padding: 0; margin: 0 0 16px; }
.cs-acc .woocommerce fieldset { margin: 24px 0 0; padding: 20px; border: 1px solid var(--cs-surface-alt); border-radius: 12px; }
.cs-acc .woocommerce-message, .cs-acc .woocommerce-info, .cs-acc .woocommerce-error { border-radius: 10px; }
/* Logged out: login + register, centred */
.cs-acc--guest .woocommerce { display: block; max-width: 760px; margin: 0 auto; }
.cs-acc--guest .woocommerce .u-columns.col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; width: auto; }
.cs-acc--guest .woocommerce .col2-set .col-1, .cs-acc--guest .woocommerce .col2-set .col-2 { float: none; width: auto; padding: 26px; border: 1px solid var(--cs-surface-alt); border-radius: 16px; }
.cs-acc--guest .woocommerce .col2-set h2 { margin: 0 0 16px; font-size: 22px; }
.cs-acc--guest .woocommerce form.login, .cs-acc--guest .woocommerce form.register { margin: 0; padding: 0; border: 0; border-radius: 0; }
.cs-acc--guest .woocommerce .woocommerce-form-login__submit, .cs-acc--guest .woocommerce .woocommerce-form-register__submit { float: none; width: 100%; min-height: 46px; margin: 8px 0 0; font-size: 14px; }
.cs-acc--guest .woocommerce button.woocommerce-form-register__submit { background: var(--cs-black-soft); }
.cs-acc--guest .woocommerce button.woocommerce-form-register__submit:hover { background: var(--cs-black); }
.cs-acc--guest .woocommerce .woocommerce-form-login__rememberme { display: block; margin: 0 0 4px; }
.cs-acc--guest .woocommerce .lost_password { margin: 14px 0 0; font-size: 14px; }
.cs-acc--guest .woocommerce .lost_password a { color: var(--cs-coral-dark); }
.cs-acc .woocommerce form .form-row label.woocommerce-form__label-for-checkbox { font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.cs-acc-note { margin: 0 0 12px; font-size: 14px; line-height: 1.6; color: var(--cs-muted); }
.cs-acc-side .woocommerce-MyAccount-navigation-link--dashboard a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1' /%3E%3Crect width='7' height='5' x='14' y='3' rx='1' /%3E%3Crect width='7' height='9' x='14' y='12' rx='1' /%3E%3Crect width='7' height='5' x='3' y='16' rx='1' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1' /%3E%3Crect width='7' height='5' x='14' y='3' rx='1' /%3E%3Crect width='7' height='9' x='14' y='12' rx='1' /%3E%3Crect width='7' height='5' x='3' y='16' rx='1' /%3E%3C/svg%3E"); }
.cs-acc-side .woocommerce-MyAccount-navigation-link--orders a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z' /%3E%3Cpath d='M12 22V12' /%3E%3Cpath d='m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7' /%3E%3Cpath d='m7.5 4.27 9 5.15' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z' /%3E%3Cpath d='M12 22V12' /%3E%3Cpath d='m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7' /%3E%3Cpath d='m7.5 4.27 9 5.15' /%3E%3C/svg%3E"); }
.cs-acc-side .woocommerce-MyAccount-navigation-link--downloads a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4' /%3E%3Cpolyline points='7 10 12 15 17 10' /%3E%3Cline x1='12' x2='12' y1='15' y2='3' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4' /%3E%3Cpolyline points='7 10 12 15 17 10' /%3E%3Cline x1='12' x2='12' y1='15' y2='3' /%3E%3C/svg%3E"); }
.cs-acc-side .woocommerce-MyAccount-navigation-link--edit-address a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0' /%3E%3Ccircle cx='12' cy='10' r='3' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0' /%3E%3Ccircle cx='12' cy='10' r='3' /%3E%3C/svg%3E"); }
.cs-acc-side .woocommerce-MyAccount-navigation-link--edit-account a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2' /%3E%3Ccircle cx='12' cy='7' r='4' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2' /%3E%3Ccircle cx='12' cy='7' r='4' /%3E%3C/svg%3E"); }
.cs-acc-side .woocommerce-MyAccount-navigation-link--payment-methods a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2' /%3E%3Cline x1='2' x2='22' y1='10' y2='10' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2' /%3E%3Cline x1='2' x2='22' y1='10' y2='10' /%3E%3C/svg%3E"); }
.cs-acc-side .woocommerce-MyAccount-navigation-link--customer-logout a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4' /%3E%3Cpolyline points='16 17 21 12 16 7' /%3E%3Cline x1='21' x2='9' y1='12' y2='12' /%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4' /%3E%3Cpolyline points='16 17 21 12 16 7' /%3E%3Cline x1='21' x2='9' y1='12' y2='12' /%3E%3C/svg%3E"); }

@media (min-width: 601px) {
  .cs-sp-sec { padding-left: clamp(24px, calc((100% - 1232px) / 2), 40px); padding-right: clamp(24px, calc((100% - 1232px) / 2), 40px); } /* 1.9.6: 40px where the page is wide enough, otherwise the site container's 24px, so the content edges match the header's */
}
@media (max-width: 900px) {
  .cs-sp-cards, .cs-con-grid, .cs-legal-grid { grid-template-columns: minmax(0, 1fr); }
  .cs-legal-toc { position: static; max-height: none; }
  .cs-acc .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .cs-acc .woocommerce .cs-acc-side { position: static; padding: 20px; border: 1px solid var(--cs-surface-alt); border-radius: 16px; }
  .cs-acc .woocommerce .woocommerce-Addresses, .cs-acc--guest .woocommerce .u-columns.col2-set { grid-template-columns: minmax(0, 1fr); }
  .cs-acc-table__date, .cs-acc .woocommerce .woocommerce-orders-table__header-order-date, .cs-acc .woocommerce .woocommerce-orders-table__cell-order-date { display: none; }
}
@media (max-width: 600px) {
  .cs-sp-sec { padding: 42px 20px; }
  .cs-sp-title { font-size: 31px; }
  .cs-sp-h2, .cs-abt-band__title { font-size: 24px; }
  .cs-sp-form__row, .cs-acc-stats { grid-template-columns: minmax(0, 1fr); }
  .cs-sp-panel, .cs-acc .woocommerce .woocommerce-MyAccount-content { padding: 20px; }
  .cs-legal-article { padding: 24px 20px; }
  .cs-abt-band { padding: 28px 20px; }
  .cs-sp-strip { flex-wrap: wrap; }
}
@media print {
  .cs-header, .cs-footer, #wpadminbar, .creacy-brevo-band, .cs-legal-toc, .cs-legal-foot__links, .cs-sp-crumbs { display: none; }
  .cs-legal .cs-sp-sec { padding: 0; }
  .cs-legal-grid { display: block; }
  .cs-legal-article { padding: 0; border: 0; font-size: 11pt; }
}

/* 1.9.12 — General License Terms */
.cs-lterms { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.cs-lterm { display: flex; gap: 16px; padding: 20px; border: 1px solid var(--cs-border); border-radius: var(--cs-radius); background: var(--cs-white); }
.cs-lterm__num { flex: none; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--cs-coral); color: var(--cs-white); font-size: 14px; font-weight: 700; }
.cs-lterm__body { min-width: 0; }
.cs-lterm__title { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.4; }
.cs-lterm__text { margin: 8px 0 0; font-size: 14px; line-height: 1.7; }
