/* SK Law Books: component-scoped policy layout. No site-wide selectors. */
.sklb-policy-root {
  --sklb-ink:#1b3330; --sklb-muted:#516762; --sklb-line:#cfddd7;
  --sklb-paper:#fff; --sklb-ground:#f2f6f3; --sklb-accent:#176456;
  --sklb-soft:#e6f0e9; --sklb-warm:#fff5d9;
  display:block; position:relative; float:none; box-sizing:border-box;
  width:100%; max-width:100%; min-width:0; height:auto; max-height:none;
  margin:0; padding:0; overflow:visible; isolation:isolate;
  color:var(--sklb-ink); background:transparent;
  font:400 16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-align:left; text-transform:none; letter-spacing:normal;
  white-space:normal; overflow-wrap:anywhere; word-break:normal;
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
}
.sklb-policy-root *, .sklb-policy-root *::before, .sklb-policy-root *::after {box-sizing:border-box;}
.sklb-policy-root.sklb-document {min-height:100vh; background:var(--sklb-ground);}
.sklb-policy-root :where(header,main,article,section,nav,footer) {
  display:block; position:static; float:none; inset:auto; width:auto;
  min-width:0; max-width:100%; height:auto; min-height:0; max-height:none;
  overflow:visible; white-space:normal;
}
.sklb-policy-root :where(h1,h2,h3,p,address,li,a,span,th,td,label) {
  min-width:0; max-width:100%; white-space:normal;
  overflow-wrap:anywhere; word-break:normal; text-overflow:clip;
}
.sklb-policy-root a {color:var(--sklb-accent); text-decoration:underline; text-underline-offset:3px;}
.sklb-policy-root a:focus-visible {outline:2px solid var(--sklb-accent); outline-offset:3px; border-radius:2px;}
.sklb-policy-root .sklb-shell {width:100%; max-width:1140px; margin:0 auto; padding:32px clamp(16px,3.5vw,32px) 48px;}
.sklb-policy-root .sklb-page-header {margin:0 0 24px; padding:8px 0 24px; border:0; border-bottom:1px solid var(--sklb-line); background:transparent;}
.sklb-policy-root h1, .sklb-policy-root h2, .sklb-policy-root h3 {
  display:block; position:static; float:none; width:auto; height:auto; max-height:none;
  padding:0; overflow:visible; text-transform:none; text-indent:0;
  -webkit-line-clamp:unset; line-clamp:unset; -webkit-box-orient:initial;
  color:var(--sklb-ink); font-weight:700;
}
.sklb-policy-root h1 {font:700 clamp(30px,4.6vw,52px)/1.2 Georgia,serif; letter-spacing:-.02em; margin:10px 0 16px;}
.sklb-policy-root h2 {font:700 clamp(23px,3vw,29px)/1.3 Georgia,serif; letter-spacing:normal; margin:28px 0 12px;}
.sklb-policy-root h3 {font:700 19px/1.4 system-ui,sans-serif; margin:24px 0 10px;}
.sklb-policy-root p {height:auto; max-height:none; overflow:visible; margin:0 0 16px; padding:0; line-height:1.65;}
.sklb-policy-root address {font-style:normal; line-height:1.65;}
.sklb-policy-root .sklb-eyebrow {font-size:11px; line-height:1.65; letter-spacing:.12em; font-weight:750; text-transform:uppercase; color:var(--sklb-muted); margin:0 0 12px;}
.sklb-policy-root .sklb-lead {font-size:clamp(17px,2.2vw,20px); line-height:1.65; color:var(--sklb-muted); max-width:780px;}
.sklb-policy-root .sklb-status {border-left:3px solid #a77513; background:var(--sklb-warm); padding:16px 18px; margin:24px 0;}
.sklb-policy-root .sklb-card, .sklb-policy-root .sklb-policy {
  display:block; width:100%; min-width:0; height:auto; max-height:none; overflow:visible;
  background:var(--sklb-paper); border:1px solid var(--sklb-line); border-radius:10px;
  padding:clamp(18px,3vw,32px); margin:24px 0 0; box-shadow:none;
}
.sklb-policy-root .sklb-policy {scroll-margin-top:24px;}
.sklb-policy-root .sklb-card > :first-child, .sklb-policy-root .sklb-policy > :first-child {margin-top:0;}
.sklb-policy-root .sklb-card > :last-child, .sklb-policy-root .sklb-policy > :last-child {margin-bottom:0;}
.sklb-policy-root .sklb-policy > h1 {font-size:clamp(28px,4vw,38px);}
.sklb-policy-root .sklb-small, .sklb-policy-root .sklb-meta {font-size:14px; line-height:1.65; color:var(--sklb-muted);}
.sklb-policy-root .sklb-nav {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px;
  list-style:none; width:100%; height:auto; max-height:none; overflow:visible;
  padding:0; margin:16px 0;
}
.sklb-policy-root .sklb-nav li {display:block; float:none; min-width:0; height:auto; max-height:none; overflow:visible; margin:0; padding:0; list-style:none;}
.sklb-policy-root .sklb-nav li::before, .sklb-policy-root .sklb-nav li::after {content:none;}
.sklb-policy-root .sklb-nav a {display:block; width:100%; min-height:44px; height:auto; padding:10px 0; font-size:15px; line-height:1.6; white-space:normal;}
.sklb-policy-root .sklb-tag {display:inline-block; background:var(--sklb-soft); padding:5px 12px; border-radius:20px; font-size:12px; line-height:1.5; font-weight:700;}
.sklb-policy-root .sklb-back {border-top:1px solid var(--sklb-line); padding-top:20px; margin-top:28px; font-size:14px;}
.sklb-policy-root .sklb-policy-code {color:var(--sklb-muted); font:12px/1.6 ui-monospace,monospace;}
.sklb-policy-root .sklb-checkbox-demo {display:flex; gap:12px; align-items:flex-start; padding:16px; background:var(--sklb-ground); border:1px solid var(--sklb-line); border-radius:7px;}
.sklb-policy-root .sklb-checkbox-demo input {position:static; appearance:auto; margin:4px 0 0; width:18px; height:18px; min-width:18px; flex:0 0 18px;}
.sklb-policy-root .sklb-checkbox-demo label {display:block; flex:1 1 0%; width:auto; min-width:0; font-size:16px; line-height:1.65;}
.sklb-policy-root table {display:table; border-collapse:collapse; table-layout:fixed; width:100%; max-width:100%; margin:0; font-size:15px;}
.sklb-policy-root th, .sklb-policy-root td {border:0; border-bottom:1px solid var(--sklb-line); padding:12px; text-align:left; vertical-align:top; line-height:1.65;}
.sklb-policy-root th {color:var(--sklb-muted); font-size:12px; text-transform:uppercase; letter-spacing:.06em;}
.sklb-policy-root .sklb-pillrow {display:flex; gap:8px; flex-wrap:wrap;}
.sklb-policy-root .sklb-brandlink {display:inline-block; min-height:44px; padding:10px 0; text-decoration:none; font-weight:750; letter-spacing:.05em; font-size:13px;}
.sklb-policy-root .sklb-sources p {font-size:14px;}
.sklb-policy-root .sklb-no-margin {margin:0;}
.sklb-policy-root.sklb-embedded-policy {max-width:900px; margin:0 auto; padding:clamp(16px,3vw,28px);}
@media(max-width:600px) {
  .sklb-policy-root .sklb-shell {padding:20px 16px 32px;}
  .sklb-policy-root .sklb-card, .sklb-policy-root .sklb-policy {padding:18px; margin-top:20px;}
  .sklb-policy-root .sklb-nav {grid-template-columns:minmax(0,1fr); gap:2px;}
  .sklb-policy-root .sklb-status {padding:14px 16px;}
  .sklb-policy-root .sklb-page-header {padding-top:0; padding-bottom:20px;}
}
@media(max-width:480px) {
  .sklb-policy-root .sklb-summary-table,
  .sklb-policy-root .sklb-summary-table tbody,
  .sklb-policy-root .sklb-summary-table tr,
  .sklb-policy-root .sklb-summary-table td,
  .sklb-policy-root .sklb-summary-table th {display:block; width:100%;}
  .sklb-policy-root .sklb-summary-table thead {display:none;}
  .sklb-policy-root .sklb-summary-table tr {border-bottom:1px solid var(--sklb-line); padding:12px 0;}
  .sklb-policy-root .sklb-summary-table td {padding:0; border:0;}
  .sklb-policy-root .sklb-summary-table td:first-child {font-weight:700; margin-bottom:4px;}
}
@media print {
  .sklb-policy-root {background:#fff; font-size:11pt;}
  .sklb-policy-root .sklb-shell {max-width:none; padding:0;}
  .sklb-policy-root .sklb-card, .sklb-policy-root .sklb-policy {border:0; padding:12px 0;}
  .sklb-policy-root .sklb-policy {break-before:page;}
  .sklb-policy-root .sklb-back {display:none;}
  .sklb-policy-root h1, .sklb-policy-root h2 {break-after:avoid;}
}

/* Compact storefront footer. Policy links stay secondary to the site content. */
#skl-policy-footer.site-footer {
  --sklb-footer-ink:#b8c4d3;
  --sklb-footer-muted:#a6b4c6;
  --sklb-footer-line:rgba(255,255,255,.13);
  display:block; position:relative; inset:auto; float:none; clear:both;
  box-sizing:border-box; isolation:isolate;
  width:100%; max-width:100%; min-width:0; height:auto; min-height:0; max-height:none;
  margin:0; padding:32px 0 22px; border:0; border-radius:0;
  overflow:visible; white-space:normal; text-align:left; text-transform:none;
  background:linear-gradient(165deg,var(--navy-2,#153057) 0%,var(--navy,#0A2342) 42%,var(--navy-deep,#04101F) 100%);
  color:var(--sklb-footer-ink);
  font:400 13px/1.6 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:normal; overflow-wrap:anywhere; word-break:normal;
}
#skl-policy-footer.site-footer::before {height:1px; background:var(--sklb-footer-line);}
#skl-policy-footer *, #skl-policy-footer *::before, #skl-policy-footer *::after {box-sizing:border-box;}
#skl-policy-footer .sklb-footer-inner {
  display:block; position:relative; z-index:2; width:100%; max-width:1240px; min-width:0;
  height:auto; max-height:none; overflow:visible; margin:0 auto;
  padding:0 clamp(1.25rem,4vw,2.5rem);
}
#skl-policy-footer .sklb-footer-layout {
  display:grid; grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));
  gap:20px 32px; align-items:start; width:100%; margin:0; padding:0;
}
#skl-policy-footer .sklb-footer-brand,
#skl-policy-footer .sklb-footer-nav,
#skl-policy-footer .sklb-footer-policies {
  display:block; position:static; inset:auto; float:none; width:100%; min-width:0;
  max-width:100%; height:auto; min-height:0; max-height:none; overflow:visible;
  margin:0; padding:0; border:0; background:transparent; white-space:normal;
}
#skl-policy-footer p {margin:0; padding:0; color:inherit; font:inherit; text-align:left; white-space:normal;}
#skl-policy-footer a {
  color:var(--sklb-footer-ink); text-decoration:none; text-underline-offset:3px;
  font:inherit; white-space:normal; overflow-wrap:anywhere; word-break:normal;
}
#skl-policy-footer a:hover {color:#fff; text-decoration:underline;}
#skl-policy-footer a:focus-visible {color:#fff; text-decoration:underline; outline:2px solid #b8c4d3; outline-offset:3px; border-radius:2px;}
#skl-policy-footer .sklb-footer-logo {display:block; width:max-content; max-width:100%; margin:0; padding:0;}
#skl-policy-footer .sklb-footer-logo img {display:block; width:auto; max-width:100%; height:48px; object-fit:contain; object-position:left center;}
#skl-policy-footer .sklb-footer-heading {
  margin:0 0 7px; color:#d1dae5; font-size:12px; line-height:1.6;
  font-weight:600; letter-spacing:.06em; text-transform:uppercase;
}
#skl-policy-footer .sklb-footer-links,
#skl-policy-footer .sklb-footer-policy-links {list-style:none; margin:0; padding:0; border:0; min-width:0; max-width:100%;}
#skl-policy-footer .sklb-footer-links {display:grid; grid-template-columns:minmax(0,1fr); gap:0;}
#skl-policy-footer .sklb-footer-links li,
#skl-policy-footer .sklb-footer-policy-links li {display:block; float:none; width:auto; min-width:0; margin:0; padding:0; list-style:none;}
#skl-policy-footer .sklb-footer-links li::before,
#skl-policy-footer .sklb-footer-links li::after,
#skl-policy-footer .sklb-footer-policy-links li::before,
#skl-policy-footer .sklb-footer-policy-links li::after {content:none;}
#skl-policy-footer .sklb-footer-links a {display:inline-block; max-width:100%; padding:3px 0; font-size:13px; line-height:20px;}
#skl-policy-footer .sklb-footer-policies {margin-top:20px; padding-top:12px; border-top:1px solid var(--sklb-footer-line);}
#skl-policy-footer .sklb-footer-policy-links {display:flex; flex-wrap:wrap; gap:0 20px; align-items:center;}
#skl-policy-footer .sklb-footer-policy-links a {display:inline-block; max-width:100%; padding:5px 0; color:var(--sklb-footer-muted); font-size:13px; font-weight:400; line-height:20px;}
#skl-policy-footer .sklb-footer-policy-links a:hover,
#skl-policy-footer .sklb-footer-policy-links a:focus-visible {color:#fff;}
#skl-policy-footer .sklb-footer-fineprint {margin:10px 0 0; padding:0; border:0; color:var(--sklb-footer-muted); font-size:12px; line-height:1.65;}
@media(max-width:600px) {
  #skl-policy-footer.site-footer {padding:26px 0 20px;}
  #skl-policy-footer .sklb-footer-layout {grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px;}
  #skl-policy-footer .sklb-footer-brand {grid-column:1 / -1;}
  #skl-policy-footer .sklb-footer-logo img {height:44px;}
  #skl-policy-footer .sklb-footer-links a {padding:5px 0;}
  #skl-policy-footer .sklb-footer-policy-links {gap:0 18px;}
}
@media print {
  #skl-policy-footer.site-footer {--sklb-footer-ink:#334155; --sklb-footer-muted:#475569; --sklb-footer-line:#cbd5e1; background:#fff;}
  #skl-policy-footer.site-footer::before,
  #skl-policy-footer.site-footer::after,
  #skl-policy-footer .sklb-footer-logo {display:none;}
  #skl-policy-footer .sklb-footer-heading {color:#334155;}
}

/* Order-policy acknowledgement only; not server-side enforcement. */
#sklb-order-policy-acceptance, #sklb-order-policy-acceptance * {box-sizing:border-box;}
#sklb-order-policy-acceptance {display:block; width:100%; min-width:0; max-width:100%; height:auto; max-height:none; overflow:visible; margin:20px 0; padding:16px; border:1px solid #cfddd7; border-radius:6px; font:400 16px/1.65 system-ui,sans-serif; white-space:normal; color:inherit;}
#sklb-order-policy-acceptance legend {float:none; width:auto; max-width:100%; padding:0 6px; font:700 16px/1.5 system-ui,sans-serif; white-space:normal; overflow-wrap:anywhere;}
#sklb-order-policy-acceptance label {display:flex; gap:12px; align-items:flex-start; width:100%; min-width:0; height:auto; max-height:none; margin:0; padding:0; white-space:normal; font:inherit;}
#sklb-order-policy-acceptance input {position:static; appearance:auto; float:none; flex:0 0 18px; width:18px; min-width:18px; height:18px; margin:4px 0 0;}
#sklb-order-policy-acceptance .sklb-acceptance-text {display:block; flex:1 1 0%; min-width:0; white-space:normal; overflow-wrap:anywhere;}
#sklb-order-policy-acceptance p {margin:12px 0 0; font:inherit; font-size:14px; white-space:normal; overflow-wrap:anywhere;}
#sklb-order-policy-acceptance a {color:inherit; text-decoration:underline; white-space:normal; overflow-wrap:anywhere;}

/* Use the storefront palette and its existing page gutters for CMS articles. */
.sklb-policy-root.sklb-embedded-policy {
  --sklb-ink:var(--navy,#0A2342);
  --sklb-muted:var(--body,#4A5568);
  --sklb-line:var(--line,#E8EAEF);
  --sklb-paper:#fff;
  --sklb-ground:var(--cream,#F8FAFC);
  --sklb-accent:var(--navy,#0A2342);
  --sklb-soft:#F6F1E6;
  max-width:900px;
  margin:0 auto;
  padding:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.sklb-policy-root.sklb-embedded-policy .sklb-policy {
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.sklb-policy-root.sklb-embedded-policy h1,
.sklb-policy-root.sklb-embedded-policy h2 {
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600;
  letter-spacing:0;
}
.sklb-policy-root.sklb-embedded-policy h3 {
  font-family:Inter,system-ui,sans-serif;
}
.sklb-policy-root.sklb-embedded-policy a {
  color:var(--sklb-accent);
}

/* Match the existing checkout palette without changing acknowledgement behavior. */
#sklb-order-policy-acceptance {
  border-color:var(--line,#E8EAEF);
  background:var(--cream,#F8FAFC);
  font-family:Inter,system-ui,sans-serif;
}
#sklb-order-policy-acceptance a {
  color:var(--navy,#0A2342);
}

/* Linked policy references beside the native WooCommerce acceptance control. */
.sklb-policy-links {
  margin:.5rem 0 1.5rem;
  font-size:.875rem;
  line-height:1.65;
  overflow-wrap:anywhere;
}
.sklb-policy-links a,
.sklb-classic-policy-label a {
  color:var(--gold-d,#9A7B3E);
  text-decoration:underline;
  text-underline-offset:3px;
}
.sklb-classic-policy-label {
  white-space:normal;
  overflow-wrap:anywhere;
}
