/*
Theme Name: Letras del Camino
Theme URI: https://letrasdelcamino.com/
Author: Letras del Camino
Description: Tema propio de Letras del Camino: diseño editorial, ligero y accesible, coherente con la identidad visual de la app.
Version: 2.3.88
Text Domain: ldc-app
*/

:root {
  --ldc-bg: #faf8f4;
  --ldc-surface: #ffffff;
  --ldc-surface-soft: #eee8df;
  --ldc-surface-warm: #f1ece4;
  --ldc-text: #292824;
  --ldc-muted: #69645d;
  --ldc-accent: #ae803b;
  --ldc-accent-dark: #946a2f;
  --ldc-line: #e5ddd2;
  --ldc-dark: #302d29;
  --ldc-shadow: 0 18px 46px rgba(61, 51, 40, .075);
  --ldc-shadow-small: 0 8px 24px rgba(61, 51, 40, .055);
  --ldc-radius-xl: 34px;
  --ldc-radius-lg: 28px;
  --ldc-radius-md: 20px;
  --ldc-radius-sm: 14px;
  --ldc-title: 'Cinzel', Georgia, serif;
  --ldc-body: 'Cardo', Georgia, serif;
  --ldc-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 14% 8%, rgba(174,128,59,.055), transparent 23rem),
    var(--ldc-bg);
  color: var(--ldc-text);
  font-family: var(--ldc-body);
  font-size: 18px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--ldc-accent-dark); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: rgba(174,128,59,.2); }

/* Production polish: prevent long content from breaking narrow layouts and
   keep anchored headings visible below the sticky header. */
.entry-content, .ldc-card, .ldc-journal-card { overflow-wrap: anywhere; }
:target { scroll-margin-top: 110px; }

.ldc-wrap { width: min(calc(100% - 40px), var(--ldc-width)); margin-inline: auto; }
.ldc-narrow { width: min(calc(100% - 40px), 780px); margin-inline: auto; }
.ldc-kicker {
  margin: 0 0 10px;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ldc-section { padding: 82px 0; }
.ldc-section--soft {
  background: rgba(238,232,223,.64);
  border-block: 1px solid rgba(229,221,210,.88);
}
.ldc-section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:34px; }
.ldc-section-head--center { display:block; max-width:790px; margin:0 auto 38px; text-align:center; }
.ldc-section-head h2, .ldc-title, h1, h2, h3, h4, h5, h6 {
  font-family: var(--ldc-title);
  font-weight: 600;
  line-height: 1.23;
  letter-spacing: -.02em;
}
.ldc-section-head h2 { margin:0; font-size:clamp(2rem, 4vw, 3.15rem); }
.ldc-section-intro { max-width: 590px; margin: 8px 0 0; color: var(--ldc-muted); }
.ldc-section-action { display:flex; justify-content:center; margin-top:34px; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250,248,244,.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(229,221,210,.82);
}
body.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
.ldc-header-inner { min-height: 82px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.site-branding { display:flex; align-items:center; gap:13px; min-width:0; }
.site-branding .custom-logo-link { display:flex; }
.site-branding .custom-logo { max-height:48px; width:auto; }
.site-branding-copy { min-width:0; }
.site-title { margin:0; font-family:var(--ldc-title); font-size:1.15rem; letter-spacing:.055em; font-weight:600; line-height:1.2; }
.site-title a { text-decoration:none; }
.site-description { margin:4px 0 0; color:var(--ldc-muted); font-size:.76rem; line-height:1.2; }
.ldc-header-actions { display:flex; align-items:center; gap:22px; }
.primary-nav ul { list-style:none; display:flex; gap:25px; margin:0; padding:0; align-items:center; }
.primary-nav a { position:relative; text-decoration:none; font-family:var(--ldc-title); font-size:.72rem; font-weight:600; letter-spacing:.055em; }
.primary-nav a:after { content:''; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--ldc-accent); transition:right .2s ease; }
.primary-nav a:hover:after, .primary-nav .current-menu-item > a:after, .primary-nav .current_page_item > a:after { right:0; }
.ldc-header-app {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 17px;
  border-radius:999px;
  background:var(--ldc-accent-dark);
  color:#fff;
  text-decoration:none;
  font-family:var(--ldc-title);
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.055em;
  box-shadow:0 7px 18px rgba(174,128,59,.14);
}
.ldc-header-app:hover { color:#fff; background:var(--ldc-accent-dark); }
.menu-toggle { display:none; align-items:center; gap:8px; border:1px solid var(--ldc-line); background:var(--ldc-surface); border-radius:999px; padding:9px 13px; color:var(--ldc-text); cursor:pointer; }
.menu-toggle-lines { width:17px; display:grid; gap:4px; }
.menu-toggle-lines span { display:block; height:1px; background:currentColor; transition:.2s ease; }
.menu-toggle-label { font-family:var(--ldc-title); font-size:.65rem; font-weight:700; letter-spacing:.05em; }

/* Hero */
.ldc-hero { padding: 86px 0 82px; overflow:hidden; }
.ldc-hero-grid { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(340px, .78fr); gap:72px; align-items:center; }
.ldc-hero-copybox { position:relative; z-index:1; }
.ldc-hero h1 { margin:0; font-size:clamp(3rem, 6.4vw, 5.35rem); max-width:880px; }
.ldc-hero-copy { margin:22px 0 0; max-width:650px; color:#514d47; font-size:clamp(1.08rem, 2vw, 1.28rem); }
.ldc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.ldc-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:49px;
  padding:12px 21px;
  border-radius:999px;
  text-decoration:none;
  border:1px solid var(--ldc-accent-dark);
  background:var(--ldc-accent-dark);
  color:#fff;
  font-family:var(--ldc-title);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.ldc-button:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(174,128,59,.2); color:#fff; background:var(--ldc-accent-dark); border-color:var(--ldc-accent-dark); }
.ldc-button--ghost { background:rgba(255,255,255,.3); color:var(--ldc-text); border-color:#cfc2b1; }
.ldc-button--ghost:hover { color:var(--ldc-text); background:#fff; border-color:#fff; }

.ldc-app-preview {
  position:relative;
  min-height:485px;
  padding:24px;
  border-radius:40px;
  background:linear-gradient(165deg,#fff 0%,#faf8f4 50%,#eee8df 100%);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 28px 75px rgba(61,51,40,.11);
}
.ldc-app-preview:before {
  content:'';
  position:absolute;
  inset:11px;
  border:1px solid rgba(229,221,210,.76);
  border-radius:31px;
  pointer-events:none;
}
.ldc-preview-top { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; padding:6px 7px 19px; }
.ldc-preview-brand { font-family:var(--ldc-title); font-size:.72rem; font-weight:700; letter-spacing:.08em; }
.ldc-preview-dot { width:9px; height:9px; border-radius:50%; background:var(--ldc-accent); box-shadow:0 0 0 6px rgba(174,128,59,.09); }
.ldc-preview-question {
  position:relative;
  z-index:1;
  min-height:195px;
  padding:28px 28px 30px;
  border-radius:28px;
  background:var(--ldc-dark);
  color:#f8f3eb;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 16px 34px rgba(48,45,41,.16);
}
.ldc-preview-question:after { content:'“'; position:absolute; right:20px; top:-4px; font-family:var(--ldc-title); font-size:6.2rem; line-height:1; color:rgba(255,255,255,.055); }
.ldc-preview-label { font-family:var(--ldc-title); font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#d9c19d; }
.ldc-preview-question p { position:relative; z-index:1; margin:24px 0 0; font-size:1.15rem; line-height:1.48; }
.ldc-preview-menu { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:11px; }
.ldc-preview-menu > span { min-height:125px; padding:16px 10px 13px; border-radius:20px; background:#fff; border:1px solid var(--ldc-line); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; box-shadow:var(--ldc-shadow-small); }
.ldc-preview-menu b { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--ldc-surface-soft); color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.58rem; margin-bottom:9px; }
.ldc-preview-menu em { font-style:normal; font-family:var(--ldc-title); font-size:.58rem; font-weight:600; line-height:1.45; letter-spacing:.02em; }

/* 1-2-3 path cards */
.ldc-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ldc-path-card { min-height:300px; padding:31px 28px 27px; border-radius:var(--ldc-radius-lg); background:var(--ldc-surface); border:1px solid var(--ldc-line); box-shadow:var(--ldc-shadow-small); display:flex; flex-direction:column; align-items:center; text-align:center; text-decoration:none; transition:.2s ease; }
.ldc-path-card:hover { color:var(--ldc-text); transform:translateY(-4px); box-shadow:var(--ldc-shadow); }
.ldc-number { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; background:var(--ldc-surface-soft); color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-weight:700; font-size:.78rem; }
.ldc-path-card h3 { margin:9px 0 9px; font-size:1.28rem; }
.ldc-path-card p { margin:0; color:var(--ldc-muted); font-size:.96rem; line-height:1.58; }
.ldc-text-link { margin-top:auto; padding-top:21px; color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.67rem; font-weight:700; letter-spacing:.045em; }

/* Content cards */
.ldc-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }
.ldc-card { background:var(--ldc-surface); border:1px solid var(--ldc-line); border-radius:var(--ldc-radius-lg); overflow:hidden; box-shadow:var(--ldc-shadow-small); transition:transform .2s ease, box-shadow .2s ease; }
.ldc-card:hover { transform:translateY(-4px); box-shadow:var(--ldc-shadow); }
.ldc-card-media { display:block; aspect-ratio: 4/3; overflow:hidden; background:var(--ldc-surface-soft); }
.ldc-card-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.ldc-card:hover .ldc-card-media img { transform:scale(1.025); }
.ldc-card-media--empty { display:grid; place-items:center; background:radial-gradient(circle at 50% 20%,#faf7f1 0,#eee8df 70%); text-decoration:none; }
.ldc-card-media--empty span { width:78px; height:78px; border-radius:50%; display:grid; place-items:center; border:1px solid #d5c7b5; color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.72rem; letter-spacing:.08em; }
.ldc-card-body { padding:23px 23px 21px; }
.ldc-card-type { display:block; color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.6rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.ldc-card h3 { margin:8px 0 10px; font-size:1.15rem; }
.ldc-card h3 a { text-decoration:none; }
.ldc-card p { color:var(--ldc-muted); margin:0; font-size:.95rem; line-height:1.57; }
.ldc-card-foot { display:flex; justify-content:space-between; gap:14px; align-items:center; margin-top:18px; padding-top:15px; border-top:1px solid #eee8df; color:var(--ldc-muted); font-size:.77rem; }
.ldc-card-foot a { margin-left:auto; color:var(--ldc-accent-dark); text-decoration:none; font-family:var(--ldc-title); font-size:.62rem; font-weight:700; letter-spacing:.045em; }
.ldc-card--placeholder { min-height:250px; display:flex; align-items:center; }

/* Format cards */
.ldc-method-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.ldc-method { min-height:355px; padding:31px; border-radius:var(--ldc-radius-xl); border:1px solid var(--ldc-line); background:var(--ldc-surface); display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; text-decoration:none; box-shadow:var(--ldc-shadow-small); transition:.2s ease; }
.ldc-method:before { content:''; width:260px; height:260px; border-radius:50%; position:absolute; right:-98px; top:-98px; background:rgba(174,128,59,.075); }
.ldc-method:hover { color:var(--ldc-text); transform:translateY(-3px); box-shadow:var(--ldc-shadow); }
.ldc-method--gold { background:linear-gradient(145deg,#fff 0%,#f4eee4 100%); }
.ldc-method-tag { position:relative; z-index:1; width:58px; height:58px; border-radius:18px; background:var(--ldc-surface-soft); display:grid; place-items:center; font-family:var(--ldc-title); font-weight:700; color:var(--ldc-accent-dark); font-size:.72rem; letter-spacing:.04em; }
.ldc-method-copy { position:relative; z-index:1; max-width:530px; }
.ldc-method h3 { margin:8px 0 8px; font-size:1.78rem; }
.ldc-method p { margin:0; color:var(--ldc-muted); }
.ldc-method-arrow { position:absolute; z-index:1; right:28px; bottom:27px; width:42px; height:42px; border:1px solid #d7cbbc; border-radius:50%; display:grid; place-items:center; color:var(--ldc-accent-dark); }

/* App CTA / dark question style */
.ldc-app-cta { padding:43px; border-radius:var(--ldc-radius-xl); background:var(--ldc-dark); color:#f9f5ef; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(250px,.55fr); gap:52px; align-items:center; box-shadow:0 20px 50px rgba(48,45,41,.13); position:relative; overflow:hidden; }
.ldc-app-cta:after { content:'“'; position:absolute; right:25px; top:-34px; font-family:var(--ldc-title); font-size:13rem; line-height:1; color:rgba(255,255,255,.035); }
.ldc-app-cta-copy { position:relative; z-index:1; }
.ldc-app-cta .ldc-kicker { color:#d8b779; }
.ldc-app-cta h2 { margin:0 0 12px; font-size:clamp(2rem,4vw,3.05rem); }
.ldc-app-cta p { margin:0; color:#d9d1c7; max-width:700px; }
.ldc-app-cta-actions { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ldc-mini-pill { display:inline-flex; padding:7px 11px; border:1px solid #645d55; border-radius:999px; color:#ddd4ca; font-family:var(--ldc-title); font-size:.57rem; letter-spacing:.045em; }
.ldc-app-cta-actions .ldc-button { flex-basis:100%; margin-top:8px; }

/* Blog list */
.ldc-blog-list { display:grid; gap:11px; }
.ldc-blog-row { display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:20px; align-items:center; background:var(--ldc-surface); border:1px solid var(--ldc-line); border-radius:20px; padding:12px 17px 12px 12px; text-decoration:none; box-shadow:0 4px 14px rgba(61,51,40,.025); transition:.2s ease; }
.ldc-blog-row:hover { color:var(--ldc-text); transform:translateX(3px); box-shadow:var(--ldc-shadow-small); }
.ldc-blog-thumb { width:88px; aspect-ratio:1; border-radius:15px; overflow:hidden; background:var(--ldc-surface-soft); display:grid; place-items:center; }
.ldc-blog-thumb img { width:100%; height:100%; object-fit:cover; }
.ldc-thumb-letter { font-family:var(--ldc-title); color:var(--ldc-accent-dark); font-size:1.4rem; }
.ldc-blog-copy { min-width:0; }
.ldc-blog-date { color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.56rem; letter-spacing:.08em; text-transform:uppercase; }
.ldc-blog-row h3 { margin:3px 0 3px; font-size:1.04rem; }
.ldc-blog-row p { margin:0; color:var(--ldc-muted); font-size:.89rem; line-height:1.45; }
.ldc-blog-arrow { width:35px; height:35px; border-radius:50%; border:1px solid var(--ldc-line); display:grid; place-items:center; font-size:1rem; color:var(--ldc-accent-dark); }

/* Generic content */
.site-main { min-height:60vh; }
.ldc-content-shell { padding:72px 0 94px; }
.entry-header { margin-bottom:34px; }
.entry-title { margin:0 0 16px; font-size:clamp(2.45rem,6vw,4.55rem); }
.entry-meta { color:var(--ldc-muted); font-size:.86rem; }
.entry-content > * { max-width:780px; margin-left:auto; margin-right:auto; }
.entry-content > .alignwide { max-width:1080px; }
.entry-content > .alignfull { max-width:none; }
.entry-content p, .entry-content li, .ldc-product-collection-description { font-size:1.07rem; }
.entry-content h2, .ldc-product-collection-title { margin-top:2.35em; font-size:2rem; }
.entry-content h3 { margin-top:2em; font-size:1.43rem; }
.entry-content blockquote { border-left:3px solid var(--ldc-accent); margin-block:2rem; padding:8px 0 8px 24px; color:#59534b; font-size:1.18rem; }
.entry-content img { border-radius:18px; }
.post-navigation, .comments-area { width:min(calc(100% - 40px), 780px); margin:50px auto; }
.nav-links { display:flex; justify-content:space-between; gap:25px; }
.nav-links a { text-decoration:none; }

/* Search/forms */
input[type='search'], input[type='text'], input[type='email'], input[type='url'], textarea { width:100%; border:1px solid var(--ldc-line); background:#fff; color:var(--ldc-text); border-radius:14px; padding:13px 15px; }
input:focus, textarea:focus, button:focus-visible, a:focus-visible { outline:2px solid rgba(174,128,59,.45); outline-offset:3px; }

/* Footer */
.site-footer { border-top:1px solid var(--ldc-line); padding:58px 0 32px; background:#eee8df; }
.ldc-footer-grid { display:grid; grid-template-columns:1.45fr .8fr .8fr; gap:56px; }
.ldc-footer-brand h2 { font-size:1.75rem; max-width:480px; margin:0 0 11px; }
.ldc-footer-brand p:last-child { color:var(--ldc-muted); max-width:550px; }
.site-footer h3 { margin:0 0 13px; font-size:.92rem; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer li + li { margin-top:7px; }
.site-footer a { text-decoration:none; }
.ldc-footer-note { margin-top:43px; padding-top:19px; border-top:1px solid #d9d0c4; color:var(--ldc-muted); font-size:.78rem; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }

.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { position:fixed!important; z-index:99999; top:10px; left:10px; width:auto; height:auto; margin:0; clip:auto; background:#fff; padding:10px 14px; border-radius:8px; }

@media (max-width: 1000px) {
  .ldc-header-actions { gap:12px; }
  .ldc-header-app { display:none; }
  .ldc-hero-grid { grid-template-columns:minmax(0,1fr) 360px; gap:38px; }
  .ldc-hero h1 { font-size:clamp(2.8rem,7vw,4.5rem); }
  .ldc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  body { font-size:17px; }
  .ldc-wrap, .ldc-narrow { width:min(calc(100% - 30px), var(--ldc-width)); }
  .ldc-header-inner { min-height:72px; }
  .site-branding .custom-logo { max-height:42px; }
  .site-description { display:none; }
  .js .menu-toggle { display:flex; position:relative; z-index:52; }
  .js .primary-nav { display:none; position:absolute; top:calc(100% + 1px); left:0; right:0; padding:12px 15px 18px; background:rgba(250,248,244,.98); border-bottom:1px solid var(--ldc-line); box-shadow:0 18px 28px rgba(61,51,40,.08); }
  .js .primary-nav.is-open { display:block; }
  .primary-nav ul { display:grid; gap:7px; }
  .primary-nav li { margin:0; }
  .primary-nav a { display:block; padding:12px 14px; border-radius:13px; background:rgba(255,255,255,.6); font-size:.7rem; }
  .primary-nav a:after { display:none; }
  .menu-toggle[aria-expanded='true'] .menu-toggle-lines span:first-child { transform:translateY(2.5px) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] .menu-toggle-lines span:last-child { transform:translateY(-2.5px) rotate(-45deg); }
  .ldc-hero { padding:58px 0 62px; }
  .ldc-hero-grid { grid-template-columns:1fr; gap:34px; }
  .ldc-hero-copybox { text-align:center; }
  .ldc-hero-copy { margin-left:auto; margin-right:auto; }
  .ldc-actions { justify-content:center; }
  .ldc-app-preview { max-width:520px; width:100%; margin-inline:auto; min-height:auto; }
  .ldc-section { padding:64px 0; }
  .ldc-section-head { display:block; }
  .ldc-section-intro { margin-top:13px; }
  .ldc-path-grid { grid-template-columns:1fr; }
  .ldc-path-card { min-height:250px; }
  .ldc-method-grid { grid-template-columns:1fr; }
  .ldc-app-cta { grid-template-columns:1fr; gap:30px; padding:35px; }
  .ldc-footer-grid { grid-template-columns:1.4fr 1fr 1fr; gap:30px; }
}

@media (max-width: 620px) {
  body { font-size:16.5px; }
  .ldc-wrap, .ldc-narrow { width:min(calc(100% - 24px), var(--ldc-width)); }
  .site-title { font-size:.94rem; }
  .site-branding { gap:8px; }
  .site-branding .custom-logo { max-height:37px; max-width:145px; }
  .menu-toggle-label { display:none; }
  .menu-toggle { width:41px; height:41px; justify-content:center; padding:0; }
  .ldc-hero { padding-top:45px; }
  .ldc-hero h1 { font-size:clamp(2.5rem,13vw,3.75rem); }
  .ldc-hero-copy { font-size:1.06rem; }
  .ldc-actions { display:grid; grid-template-columns:1fr; }
  .ldc-button { width:100%; }
  .ldc-app-preview { padding:18px; border-radius:31px; }
  .ldc-app-preview:before { inset:8px; border-radius:24px; }
  .ldc-preview-question { min-height:170px; padding:23px; border-radius:22px; }
  .ldc-preview-question p { font-size:1.05rem; }
  .ldc-preview-menu { grid-template-columns:1fr; }
  .ldc-preview-menu > span { min-height:72px; padding:11px 14px; flex-direction:row; justify-content:flex-start; text-align:left; gap:11px; }
  .ldc-preview-menu b { margin:0; flex:0 0 34px; }
  .ldc-grid { grid-template-columns:1fr; }
  .ldc-card-media { aspect-ratio:16/10; }
  .ldc-section-head h2 { font-size:2rem; }
  .ldc-method { min-height:320px; padding:26px; }
  .ldc-method h3 { font-size:1.55rem; }
  .ldc-app-cta { padding:29px 23px; border-radius:27px; }
  .ldc-app-cta-actions { display:grid; grid-template-columns:1fr; }
  .ldc-mini-pill { justify-content:center; }
  .ldc-blog-row { grid-template-columns:68px minmax(0,1fr) 30px; gap:13px; padding:10px; }
  .ldc-blog-thumb { width:68px; }
  .ldc-blog-row p { display:none; }
  .ldc-blog-arrow { width:30px; height:30px; }
  .ldc-footer-grid { grid-template-columns:1fr; gap:28px; }
  .ldc-footer-note { display:block; }
  .ldc-footer-note span { display:block; }
  .ldc-footer-note span + span { margin-top:5px; }
  .entry-title { font-size:2.35rem; }
}

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

/* v0.3 — editorial system */
.ldc-blog-hero {
  padding: 76px 0 56px;
  border-bottom: 1px solid rgba(229,221,210,.9);
  background:
    radial-gradient(circle at 85% 25%, rgba(174,128,59,.09), transparent 21rem),
    linear-gradient(180deg, rgba(255,255,255,.35), rgba(250,248,244,.2));
}
.ldc-blog-hero--compact { padding: 58px 0 44px; }
.ldc-blog-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:55px; align-items:end; }
.ldc-blog-hero .entry-title { margin-bottom:14px; }
.ldc-blog-hero-copy { max-width:720px; color:var(--ldc-muted); font-size:1.14rem; }
.ldc-blog-hero-copy p { margin:0; }
.ldc-blog-hero-note { min-width:240px; min-height:126px; padding:22px 26px; border-radius:26px; background:var(--ldc-dark); color:#eee6dc; display:flex; align-items:center; justify-content:center; gap:12px; box-shadow:0 16px 36px rgba(48,45,41,.12); font-family:var(--ldc-title); font-size:.63rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.ldc-blog-hero-note b { color:#d6b375; font-weight:400; }
.ldc-blog-index { padding:42px 0 92px; }
.ldc-topic-nav { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 30px; }
.ldc-topic-nav a { display:inline-flex; min-height:37px; align-items:center; padding:7px 13px; border:1px solid var(--ldc-line); border-radius:999px; background:rgba(255,255,255,.52); text-decoration:none; color:var(--ldc-muted); font-family:var(--ldc-title); font-size:.6rem; font-weight:700; letter-spacing:.035em; }
.ldc-topic-nav a:hover { background:rgba(174,128,59,.09); border-color:rgba(174,128,59,.48); color:var(--ldc-accent-dark); }
.ldc-topic-nav a.is-current { background:rgba(174,128,59,.16); border-color:rgba(174,128,59,.65); color:var(--ldc-accent-dark); }
.ldc-topic-nav a:focus-visible { outline:2px solid var(--ldc-accent); outline-offset:3px; }
.ldc-topic-nav .ldc-topic-nav-parent { font-weight:800; color:var(--ldc-text); border-color:rgba(174,128,59,.3); }
.ldc-grid--blog { align-items:stretch; }
.ldc-grid--blog .ldc-card { height:100%; display:flex; flex-direction:column; }
.ldc-grid--blog .ldc-card-body { flex:1; display:flex; flex-direction:column; }
.ldc-grid--blog .ldc-card-foot { margin-top:auto; }
.ldc-card-reading { position:relative; padding-left:12px; }
.ldc-card-reading:before { content:'·'; position:absolute; left:2px; color:#b7aa99; }
.ldc-pagination { margin-top:42px; }
.ldc-pagination .nav-links { justify-content:center; align-items:center; gap:7px; }
.ldc-pagination .page-numbers { min-width:40px; height:40px; padding:0 10px; border:1px solid var(--ldc-line); border-radius:999px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; background:rgba(255,255,255,.52); color:var(--ldc-muted); font-family:var(--ldc-title); font-size:.65rem; font-weight:700; transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; }
.ldc-pagination .page-numbers.current, .ldc-pagination a.page-numbers:hover, .ldc-pagination a.page-numbers:focus-visible { background:rgba(174,128,59,.16); border-color:rgba(174,128,59,.65); color:var(--ldc-accent-dark); }
.ldc-empty-state { grid-column:1/-1; min-height:310px; padding:48px 28px; border:1px dashed #d7ccbd; border-radius:var(--ldc-radius-lg); text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; background:rgba(255,255,255,.35); }
.ldc-empty-state h2 { margin:14px 0 7px; font-size:1.6rem; }
.ldc-empty-state p { max-width:520px; margin:0; color:var(--ldc-muted); }
.ldc-empty-state--wide { max-width:720px; margin:10px auto 0; }
.ldc-empty-state .search-form { width:min(100%,520px); margin-top:22px; display:flex; gap:8px; }
.ldc-empty-state .search-submit { border:0; border-radius:999px; padding:10px 18px; background:var(--ldc-accent); color:#fff; font-family:var(--ldc-title); font-size:.65rem; font-weight:700; }

/* Article */
.ldc-article { padding-top:78px; }
.ldc-article-header { text-align:center; }
.ldc-article-eyebrow { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:18px; color:var(--ldc-muted); font-family:var(--ldc-title); font-size:.62rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.ldc-article-eyebrow a { color:var(--ldc-accent-dark); text-decoration:none; }
.ldc-article-header .entry-title { margin:0 auto; max-width:860px; font-size:clamp(2.55rem,6vw,5.1rem); }
.ldc-article-deck, .ldc-page-deck { max-width:720px; margin:20px auto 0; color:#5f5a53; font-size:1.2rem; line-height:1.62; }
.ldc-article-cover, .ldc-page-cover { margin-top:46px; margin-bottom:50px; }
.ldc-article-cover img, .ldc-page-cover img { display:block; width:100%; max-height:680px; object-fit:cover; border-radius:34px; border:1px solid rgba(229,221,210,.85); box-shadow:0 22px 54px rgba(61,51,40,.085); }
.ldc-article-content { padding-bottom:16px; }
.ldc-article-content > p:first-child { font-size:1.16rem; }
.ldc-article-content > p:first-child:first-letter { float:left; font-family:var(--ldc-title); font-size:4.15rem; line-height:.78; padding:.14em .12em 0 0; color:var(--ldc-accent-dark); }
.entry-content a { color:var(--ldc-accent-dark); text-decoration-color:rgba(148,106,47,.35); }
.entry-content a:hover { text-decoration-color:currentColor; }
.entry-content ul, .entry-content ol { padding-left:1.3em; }
.entry-content li + li { margin-top:.45em; }
.entry-content hr { max-width:200px; border:0; border-top:1px solid #cfc3b3; margin:3rem auto; }
.entry-content .wp-block-quote, .entry-content blockquote { position:relative; border:0; background:#fff; border-radius:24px; margin-block:2.5rem; padding:29px 31px 29px 38px; box-shadow:var(--ldc-shadow-small); color:#504a43; }
.entry-content .wp-block-quote:before, .entry-content blockquote:before { content:'“'; position:absolute; left:13px; top:8px; color:#d2b787; font-family:var(--ldc-title); font-size:2.7rem; line-height:1; }
.entry-content .wp-block-quote p:last-child, .entry-content blockquote p:last-child { margin-bottom:0; }
.entry-content .wp-block-pullquote { border-block:1px solid #d8cdbf; padding:2rem 0; }
.entry-content .wp-block-button__link { border-radius:999px; background:var(--ldc-accent); font-family:var(--ldc-title); font-size:.7rem; font-weight:700; letter-spacing:.045em; }
.entry-content figure figcaption { color:var(--ldc-muted); font-size:.78rem; text-align:center; }
.ldc-article-footer { padding:18px 0 56px; }
.ldc-article-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; align-items:center; }
.ldc-article-tags > span { margin-right:4px; color:var(--ldc-muted); font-family:var(--ldc-title); font-size:.58rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.ldc-article-tags a { display:inline-flex; padding:6px 10px; border:1px solid var(--ldc-line); border-radius:999px; text-decoration:none; background:#fff; font-size:.82rem; }
.ldc-article-endmark { display:flex; align-items:center; justify-content:center; gap:13px; margin-top:42px; color:#b39a74; }
.ldc-article-endmark span { width:62px; height:1px; background:#d8cdbf; }
.ldc-article-endmark b { font-family:var(--ldc-title); font-size:.58rem; letter-spacing:.13em; }
.ldc-post-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-bottom:84px; }
.ldc-post-nav-card { min-height:150px; padding:24px 26px; border-radius:25px; border:1px solid var(--ldc-line); background:#fff; text-decoration:none; display:flex; flex-direction:column; justify-content:center; box-shadow:var(--ldc-shadow-small); }
.ldc-post-nav-card:hover { color:var(--ldc-text); transform:translateY(-2px); box-shadow:var(--ldc-shadow); }
.ldc-post-nav-card span { color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.58rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.ldc-post-nav-card strong { margin-top:8px; font-family:var(--ldc-title); font-size:1.04rem; line-height:1.35; font-weight:600; }
.ldc-post-nav-card--next { text-align:right; grid-column:2; }
.ldc-related { margin-top:0; }

/* Pages */
.ldc-page { padding-bottom:90px; }
.ldc-page-header { padding:74px 0 42px; text-align:center; background:linear-gradient(180deg,rgba(255,255,255,.25),transparent); }
.ldc-page-header .entry-title { margin-bottom:0; }
.ldc-page-content { padding-top:8px; }
/* Generic pages can use the same generous editorial canvas as article media.
   Pure reading blocks stay narrower so long text remains comfortable. */
.ldc-page-content > * { max-width:1080px; }
.ldc-page-content > :where(p, ul, ol, h2, h3, h4, h5, h6, blockquote, .wp-block-quote, .wp-block-list) { max-width:780px; }
.ldc-page-content > .wp-block-group.alignwide,
.ldc-page-content > .alignwide { max-width:1080px; }
.ldc-page-content > .alignfull { max-width:none; }

/* 404 */
.ldc-error-page { padding:84px 0 105px; }
.ldc-error-card { position:relative; overflow:hidden; padding:64px 44px; border-radius:36px; background:#fff; border:1px solid var(--ldc-line); box-shadow:var(--ldc-shadow); text-align:center; }
.ldc-error-card:after { content:'404'; position:absolute; right:-25px; bottom:-52px; color:rgba(174,128,59,.055); font-family:var(--ldc-title); font-size:11rem; font-weight:700; line-height:1; pointer-events:none; }
.ldc-error-code { display:inline-flex; margin-bottom:22px; color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.72rem; font-weight:700; letter-spacing:.14em; }
.ldc-error-card h1 { margin:0 auto 17px; max-width:620px; font-size:clamp(2.2rem,6vw,4rem); }
.ldc-error-card > p:not(.ldc-kicker) { max-width:590px; margin:0 auto; color:var(--ldc-muted); }
.ldc-error-card .ldc-actions { justify-content:center; position:relative; z-index:1; }

@media (max-width: 820px) {
  .ldc-blog-hero-inner { grid-template-columns:1fr; gap:25px; }
  .ldc-blog-hero-note { min-width:0; width:100%; min-height:80px; }
  .ldc-article { padding-top:58px; }
  .ldc-article-cover, .ldc-page-cover { margin-top:36px; margin-bottom:38px; }
  .ldc-article-cover img, .ldc-page-cover img { border-radius:27px; }
  .ldc-post-nav { padding-bottom:64px; }
}
@media (max-width: 620px) {
  .ldc-blog-hero { padding:48px 0 36px; }
  .ldc-blog-index { padding:28px 0 65px; }
  .ldc-topic-nav { flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; margin-right:-12px; scrollbar-width:none; }
  .ldc-topic-nav::-webkit-scrollbar { display:none; }
  .ldc-topic-nav a { flex:0 0 auto; }
  .ldc-blog-hero-note { justify-content:flex-start; padding:18px 20px; }
  .ldc-article-header .entry-title { font-size:clamp(2.25rem,11vw,3.4rem); }
  .ldc-article-eyebrow { font-size:.55rem; }
  .ldc-article-deck, .ldc-page-deck { font-size:1.07rem; }
  .ldc-article-cover, .ldc-page-cover { width:calc(100% - 24px); margin-top:29px; margin-bottom:32px; }
  .ldc-article-cover img, .ldc-page-cover img { border-radius:21px; }
  .ldc-article-content > p:first-child:first-letter { font-size:3.55rem; }
  .entry-content .wp-block-quote, .entry-content blockquote { padding:24px 22px 24px 30px; border-radius:20px; }
  .ldc-post-nav { grid-template-columns:1fr; gap:10px; }
  .ldc-post-nav-card--next { grid-column:auto; text-align:left; }
  .ldc-post-nav-card { min-height:125px; padding:21px; }
  .ldc-page-header { padding:52px 0 32px; }
  .ldc-error-page { padding:55px 0 75px; }
  .ldc-error-card { padding:46px 23px; border-radius:28px; }
  .ldc-empty-state .search-form { display:grid; grid-template-columns:1fr; }
}

/* v0.4 — Guided journals / product area */
.ldc-journals-hero {
  position:relative;
  overflow:hidden;
  padding:82px 0 70px;
  background:
    radial-gradient(circle at 88% 18%, rgba(174,128,59,.09), transparent 20rem),
    linear-gradient(180deg, rgba(255,255,255,.38), rgba(250,248,244,0));
}
.ldc-journals-hero:after {
  content:'';
  position:absolute;
  width:420px;
  height:420px;
  border:1px solid rgba(174,128,59,.08);
  border-radius:50%;
  right:-240px;
  bottom:-240px;
  pointer-events:none;
}
.ldc-journals-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr); gap:72px; align-items:center; }
.ldc-journals-hero-copy h1 { max-width:760px; margin:0; font-size:clamp(3rem,6vw,5rem); }
.ldc-journals-hero-copy > p:last-of-type { max-width:700px; margin:22px 0 0; color:#57524b; font-size:1.17rem; line-height:1.64; }
.ldc-journal-formats { display:flex; flex-wrap:wrap; gap:8px; margin-top:27px; }
.ldc-journal-formats span,
.ldc-journal-single-meta {
  display:inline-flex;
  align-items:center;
  min-height:35px;
  padding:7px 12px;
  border:1px solid #d8ccbc;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:var(--ldc-muted);
  font-family:var(--ldc-title);
  font-size:.59rem;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.ldc-journals-note {
  position:relative;
  min-height:300px;
  padding:36px 34px 31px;
  border-radius:34px;
  background:var(--ldc-dark);
  color:#f5eee5;
  box-shadow:0 25px 55px rgba(48,45,41,.13);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.ldc-journals-note:before { content:'“'; position:absolute; top:8px; right:20px; font-family:var(--ldc-title); font-size:7.5rem; line-height:1; color:rgba(255,255,255,.045); }
.ldc-journals-note-mark { position:absolute; top:27px; left:30px; width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:#453f39; color:#d9bd92; font-family:var(--ldc-title); font-size:.62rem; font-weight:700; letter-spacing:.04em; }
.ldc-journals-note p { position:relative; z-index:1; margin:0; font-size:1.22rem; line-height:1.55; }
.ldc-journals-note small { margin-top:21px; color:#cbbba8; font-family:var(--ldc-title); font-size:.56rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.ldc-journals-page-content { padding:0 0 52px; }
.ldc-journals-page-content .entry-content { padding:27px 31px; border:1px solid var(--ldc-line); border-radius:24px; background:rgba(255,255,255,.48); }
.ldc-journal-catalog { padding:62px 0 94px; }
.ldc-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.ldc-journal-grid--cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ldc-journal-grid--cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.ldc-journal-card { min-width:0; height:100%; overflow:hidden; border:1px solid var(--ldc-line); border-radius:28px; background:#fff; box-shadow:var(--ldc-shadow-small); display:flex; flex-direction:column; transition:transform .22s ease, box-shadow .22s ease; }
.ldc-journal-card:hover { transform:translateY(-4px); box-shadow:var(--ldc-shadow); }
.ldc-journal-cover { position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:linear-gradient(145deg,#eee6dc,#f9f6f1); text-decoration:none; }
.ldc-journal-cover img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.ldc-journal-card:hover .ldc-journal-cover img { transform:scale(1.025); }
.ldc-journal-cover:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(38,34,30,.18)); pointer-events:none; }
.ldc-journal-cover-badge { position:absolute; left:14px; top:14px; z-index:2; display:inline-flex; align-items:center; min-height:30px; padding:6px 10px; border-radius:999px; background:rgba(250,248,244,.93); color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.54rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; box-shadow:0 5px 15px rgba(48,45,41,.07); }
.ldc-journal-cover-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--ldc-accent-dark); }
.ldc-journal-cover-placeholder:before { content:''; position:absolute; width:64%; aspect-ratio:1; border:1px solid rgba(174,128,59,.21); border-radius:50%; }
.ldc-journal-cover-placeholder b { position:relative; z-index:1; font-family:var(--ldc-title); font-size:1.55rem; letter-spacing:.12em; }
.ldc-journal-cover-placeholder i { position:relative; z-index:1; margin-top:7px; font-style:normal; color:var(--ldc-muted); font-family:var(--ldc-title); font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.ldc-journal-body { flex:1; padding:22px 22px 21px; display:flex; flex-direction:column; }
.ldc-journal-meta { min-height:20px; margin-bottom:5px; color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.55rem; font-weight:700; letter-spacing:.085em; text-transform:uppercase; }
.ldc-journal-body h2 { margin:5px 0 9px; font-size:1.18rem; line-height:1.3; }
.ldc-journal-body h2 a { text-decoration:none; }
.ldc-journal-body p { margin:0; color:var(--ldc-muted); font-size:.93rem; line-height:1.55; }
.ldc-journal-link { margin-top:auto; padding-top:19px; color:var(--ldc-accent-dark); text-decoration:none; font-family:var(--ldc-title); font-size:.62rem; font-weight:700; letter-spacing:.05em; }
.ldc-journal-link span { display:inline-block; margin-left:2px; transition:transform .2s ease; }
.ldc-journal-link:hover span { transform:translateX(3px); }
.ldc-journals-app-bridge { padding:0 0 92px; }
.ldc-journals-app-card { min-height:250px; padding:42px 44px; border-radius:32px; background:linear-gradient(135deg,#eee8df,#f8f5f0); border:1px solid #dfd4c6; display:flex; justify-content:space-between; align-items:center; gap:48px; }
.ldc-journals-app-card > div { max-width:760px; }
.ldc-journals-app-card h2 { margin:0; font-size:clamp(2rem,4vw,3rem); }
.ldc-journals-app-card p:not(.ldc-kicker) { margin:16px 0 0; color:var(--ldc-muted); }
.ldc-journals-app-card .ldc-button { flex:0 0 auto; }

/* Single item fallback. The existing PHP redirect can continue to override this. */
.ldc-journal-single { padding:78px 0 94px; }
.ldc-journal-single-grid { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1fr); gap:72px; align-items:center; }
.ldc-journal-single-cover { max-width:520px; justify-self:center; width:100%; }
.ldc-journal-single-cover img,
.ldc-journal-single-placeholder { width:100%; aspect-ratio:4/5; object-fit:cover; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:32px; border:1px solid var(--ldc-line); background:linear-gradient(145deg,#eee7dc,#faf8f4); box-shadow:0 24px 58px rgba(61,51,40,.1); }
.ldc-journal-single-placeholder span { font-family:var(--ldc-title); font-size:2rem; color:var(--ldc-accent-dark); letter-spacing:.12em; }
.ldc-journal-single-placeholder small { margin-top:7px; color:var(--ldc-muted); font-family:var(--ldc-title); letter-spacing:.08em; text-transform:uppercase; }
.ldc-journal-single-copy h1 { margin:0; max-width:720px; font-size:clamp(2.8rem,5.5vw,4.8rem); }
.ldc-journal-single-deck { max-width:680px; margin:20px 0 0; color:var(--ldc-muted); font-size:1.18rem; }
.ldc-journal-single-meta { margin-top:22px; }
.ldc-journal-single-content { padding-top:66px; }

@media (max-width: 920px) {
  .ldc-journals-hero-grid,
  .ldc-journal-single-grid { grid-template-columns:1fr; gap:36px; }
  .ldc-journals-note { min-height:220px; }
  .ldc-journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ldc-journal-single-cover { max-width:430px; }
  .ldc-journal-single-copy { text-align:center; }
  .ldc-journal-single-deck { margin-inline:auto; }
  .ldc-journal-single-meta { margin-inline:auto; }
  .ldc-journal-single-copy .ldc-actions { justify-content:center; }
}
@media (max-width: 680px) {
  .ldc-journals-hero { padding:52px 0 46px; }
  .ldc-journals-hero-copy h1 { font-size:clamp(2.6rem,12vw,3.65rem); }
  .ldc-journals-hero-copy > p:last-of-type { font-size:1.04rem; }
  .ldc-journals-note { min-height:210px; padding:31px 24px 25px; border-radius:26px; }
  .ldc-journals-note p { font-size:1.08rem; }
  .ldc-journal-catalog { padding:42px 0 68px; }
  .ldc-journal-grid { grid-template-columns:1fr; gap:16px; }
  .ldc-journal-grid--home { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ldc-journal-grid--home .ldc-journal-body p { display:none; }
  .ldc-journal-grid--home .ldc-journal-body { padding:16px; }
  .ldc-journal-grid--home .ldc-journal-body h2 { font-size:.93rem; }
  .ldc-journal-grid--home .ldc-journal-link { padding-top:12px; font-size:.55rem; }
  .ldc-journal-grid--home .ldc-journal-cover-badge { font-size:.48rem; left:9px; top:9px; padding:5px 8px; }
  .ldc-journals-app-card { padding:31px 24px; border-radius:26px; align-items:flex-start; flex-direction:column; gap:24px; }
  .ldc-journals-app-card .ldc-button { width:100%; }
  .ldc-journal-single { padding:52px 0 72px; }
  .ldc-journal-single-grid { gap:31px; }
  .ldc-journal-single-cover { max-width:320px; }
  .ldc-journal-single-cover img,
  .ldc-journal-single-placeholder { border-radius:24px; }
  .ldc-journal-single-copy h1 { font-size:clamp(2.3rem,11vw,3.25rem); }
  .ldc-journal-single-content { padding-top:45px; }
}

/* v0.5 — App page, resources and navigation polish */
.ldc-brand-mark {
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border:1px solid #d8ccbc;
  border-radius:50%;
  background:#fff;
  color:var(--ldc-accent-dark);
  text-decoration:none;
  font-family:var(--ldc-title);
  font-size:1rem;
  font-weight:700;
  box-shadow:var(--ldc-shadow-small);
}
.ldc-mobile-nav-brand,
.ldc-mobile-app-link { display:none; }
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a,
.primary-nav .current-menu-ancestor > a { color:var(--ldc-accent-dark); }

.primary-nav li { position:relative; }
.primary-nav .menu-item-has-children > a { padding-right:16px; }
.primary-nav .menu-item-has-children > a::before {
  content:"";
  position:absolute;
  right:1px;
  top:50%;
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-62%) rotate(45deg);
  opacity:.72;
  pointer-events:none;
}
.primary-nav .sub-menu {
  list-style:none;
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  min-width:250px;
  display:block;
  margin:0;
  padding:10px;
  border:1px solid #e7ddd1;
  border-radius:18px;
  background:rgba(250,248,244,.98);
  box-shadow:0 18px 38px rgba(61,51,40,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:40;
}
.primary-nav .sub-menu li { margin:0; }
.primary-nav .sub-menu a {
  display:block;
  padding:10px 12px;
  border-radius:12px;
  font-size:.68rem;
  line-height:1.45;
  letter-spacing:.045em;
  background:transparent;
  white-space:normal;
}
.primary-nav .sub-menu a::after { display:none; }
.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu .current-menu-item > a,
.primary-nav .sub-menu .current_page_item > a {
  background:rgba(176,132,67,.10);
}
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* Shared app/product hero */
.ldc-product-hero { position:relative; overflow:hidden; padding:84px 0 88px; }
.ldc-product-hero:before { content:''; position:absolute; width:480px; height:480px; border-radius:50%; border:1px solid rgba(174,128,59,.09); left:-290px; top:-250px; pointer-events:none; }
.ldc-product-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.68fr); align-items:center; gap:78px; }
.ldc-product-hero-copy h1 { max-width:800px; margin:0; font-size:clamp(3rem,6.1vw,5.2rem); }
.ldc-product-hero-copy > p:last-of-type { max-width:710px; margin:22px 0 0; color:#57524b; font-size:1.18rem; line-height:1.66; }
.ldc-app-page-content { padding:0 0 44px; }
.ldc-app-page-content .ldc-page-content { padding-top:0; }

/* App phone illustration */
.ldc-phone-mock { position:relative; justify-self:center; width:min(100%,360px); padding:12px; border-radius:46px; background:#292824; box-shadow:0 30px 72px rgba(48,45,41,.18); transform:rotate(1.5deg); }
.ldc-phone-speaker { position:absolute; z-index:3; width:68px; height:5px; border-radius:999px; background:#514d47; top:18px; left:50%; transform:translateX(-50%); }
.ldc-phone-screen { min-height:590px; padding:31px 18px 18px; overflow:hidden; border-radius:36px; background:linear-gradient(180deg,#f9f6f1 0%,#f1ebe3 100%); border:1px solid #413d38; }
.ldc-phone-head { display:flex; justify-content:space-between; align-items:center; min-height:38px; padding:0 6px; font-family:var(--ldc-title); font-size:.62rem; font-weight:700; letter-spacing:.06em; }
.ldc-phone-head b { color:var(--ldc-muted); letter-spacing:.12em; }
.ldc-phone-date { margin:18px 3px 8px; color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.55rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.ldc-phone-entry { min-height:238px; padding:25px 23px; border-radius:25px; background:var(--ldc-dark); color:#f5eee5; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 15px 30px rgba(48,45,41,.15); }
.ldc-phone-entry small { color:#d8bc91; font-family:var(--ldc-title); font-size:.54rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.ldc-phone-entry p { margin:30px 0 0; font-size:1.1rem; line-height:1.48; }
.ldc-phone-tools { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
.ldc-phone-tools span { min-height:112px; padding:12px 7px; border:1px solid var(--ldc-line); border-radius:19px; background:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; font-family:var(--ldc-title); font-size:.51rem; font-weight:600; line-height:1.4; }
.ldc-phone-tools b { width:31px; height:31px; margin-bottom:8px; display:grid; place-items:center; border-radius:50%; background:var(--ldc-surface-soft); color:var(--ldc-accent-dark); font-size:.52rem; }

/* App feature cards */
.ldc-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ldc-feature-card { min-height:305px; padding:30px 28px; border:1px solid var(--ldc-line); border-radius:var(--ldc-radius-lg); background:#fff; box-shadow:var(--ldc-shadow-small); display:flex; flex-direction:column; align-items:flex-start; }
.ldc-feature-card h3 { margin:18px 0 9px; font-size:1.3rem; }
.ldc-feature-card p { margin:0; color:var(--ldc-muted); font-size:.97rem; line-height:1.62; }
.ldc-feature-card .ldc-number { margin-bottom:auto; }
.ldc-app-flow { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.76fr); align-items:center; gap:70px; }
.ldc-app-flow-copy h2 { margin:0; font-size:clamp(2.2rem,4.5vw,3.6rem); max-width:720px; }
.ldc-app-flow-copy > p:last-child { max-width:690px; margin:20px 0 0; color:var(--ldc-muted); font-size:1.08rem; }
.ldc-entry-sample { min-height:390px; padding:31px; border-radius:32px; background:#fff; border:1px solid var(--ldc-line); box-shadow:var(--ldc-shadow); }
.ldc-entry-sample-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:21px; border-bottom:1px solid #eee8df; font-family:var(--ldc-title); }
.ldc-entry-sample-top span { color:var(--ldc-muted); font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.ldc-entry-sample-top b { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--ldc-surface-soft); color:var(--ldc-accent-dark); font-size:.68rem; }
.ldc-entry-sample h3 { margin:26px 0 10px; font-size:1.55rem; }
.ldc-entry-sample > p { margin:0; color:#5f5a53; }
.ldc-entry-module { margin-top:28px; padding:17px 18px; border-radius:17px; background:#f5f1eb; border:1px solid #e8dfd4; display:flex; flex-direction:column; gap:3px; }
.ldc-entry-module small { color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.54rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.ldc-entry-module span { font-size:.94rem; }
.ldc-resources-teaser { min-height:235px; padding:40px 43px; border-radius:32px; background:linear-gradient(135deg,#fff,#f2ece3); border:1px solid #dfd4c6; display:flex; align-items:center; justify-content:space-between; gap:45px; }
.ldc-resources-teaser > div { max-width:780px; }
.ldc-resources-teaser h2 { margin:0; font-size:clamp(2rem,4vw,3rem); }
.ldc-resources-teaser p:not(.ldc-kicker) { margin:15px 0 0; color:var(--ldc-muted); }
.ldc-resources-teaser .ldc-button { flex:0 0 auto; }

/* Resources page */
.ldc-resources-hero { padding:78px 0 65px; border-bottom:1px solid rgba(229,221,210,.9); background:linear-gradient(180deg,rgba(255,255,255,.33),rgba(250,248,244,0)); }
.ldc-resources-hero-inner { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.ldc-resources-hero-inner > div { max-width:820px; }
.ldc-resources-hero h1 { margin:0; font-size:clamp(3rem,6vw,5rem); }
.ldc-resources-hero p:not(.ldc-kicker) { margin:20px 0 0; max-width:710px; color:var(--ldc-muted); font-size:1.16rem; }
.ldc-status-pill { display:inline-flex; flex:0 0 auto; align-items:center; min-height:39px; padding:8px 14px; border-radius:999px; background:var(--ldc-dark); color:#fff; font-family:var(--ldc-title); font-size:.58rem; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
.ldc-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ldc-resource-slot { position:relative; overflow:hidden; min-height:340px; padding:31px 28px; border-radius:var(--ldc-radius-lg); border:1px dashed #cfc2b2; background:rgba(255,255,255,.56); }
.ldc-resource-slot:after { content:''; position:absolute; width:170px; height:170px; border:1px solid rgba(174,128,59,.09); border-radius:50%; right:-70px; bottom:-72px; }
.ldc-resource-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; background:var(--ldc-surface-soft); color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.64rem; font-weight:700; }
.ldc-resource-slot small { display:block; margin-top:46px; color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.54rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.ldc-resource-slot h3 { margin:8px 0 9px; font-size:1.45rem; }
.ldc-resource-slot p { margin:0; color:var(--ldc-muted); font-size:.96rem; line-height:1.58; }
.ldc-dark-note { min-height:275px; padding:42px; border-radius:34px; background:var(--ldc-dark); color:#f5eee5; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:32px; box-shadow:0 24px 56px rgba(48,45,41,.14); }
.ldc-dark-note-number { width:72px; height:72px; display:grid; place-items:center; border-radius:50%; background:#45403a; color:#d9bd92; font-family:var(--ldc-title); font-size:1.35rem; }
.ldc-dark-note .ldc-kicker { color:#d6b375; }
.ldc-dark-note h2 { margin:0; font-size:clamp(2rem,4vw,3.1rem); }
.ldc-dark-note p:not(.ldc-kicker) { max-width:760px; margin:14px 0 0; color:#cfc2b2; }

@media (max-width: 920px) {
  .ldc-product-hero-grid,
  .ldc-app-flow { grid-template-columns:1fr; gap:42px; }
  .ldc-product-hero-copy { text-align:center; }
  .ldc-product-hero-copy > p:last-of-type { margin-inline:auto; }
  .ldc-product-hero-copy .ldc-actions { justify-content:center; }
  .ldc-phone-mock { width:min(100%,345px); transform:none; }
  .ldc-app-flow-copy { text-align:center; }
  .ldc-app-flow-copy h2,
  .ldc-app-flow-copy > p:last-child { margin-left:auto; margin-right:auto; }
  .ldc-entry-sample { width:min(100%,570px); justify-self:center; }
  .ldc-resources-hero-inner { align-items:flex-start; flex-direction:column; gap:24px; }
}

@media (max-width: 820px) {
  body.ldc-menu-open { overflow:hidden; }
  .ldc-header-inner { position:relative; }
  .js .primary-nav {
    position:fixed;
    display:block;
    visibility:hidden;
    opacity:0;
    transform:translateY(-8px);
    top:73px;
    left:12px;
    right:12px;
    max-height:calc(100vh - 86px);
    overflow:auto;
    padding:18px;
    border:1px solid var(--ldc-line);
    border-radius:24px;
    background:rgba(250,247,242,.985);
    box-shadow:0 24px 62px rgba(48,45,41,.16);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  .js .primary-nav.is-open { visibility:visible; opacity:1; transform:none; }
  .primary-nav ul { gap:7px; }
  .primary-nav a { padding:13px 14px; background:#fff; border:1px solid #ebe3d8; font-size:.68rem; }
  .primary-nav .menu-item-has-children > a { padding-right:32px; }
  .primary-nav .menu-item-has-children > a::before { right:15px; }
  .primary-nav .sub-menu {
    position:static;
    min-width:0;
    margin:7px 0 0;
    padding:4px 0 0 12px;
    border:0;
    border-left:1px solid #e7ddd1;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .primary-nav .sub-menu a {
    padding:10px 12px;
    background:rgba(255,255,255,.72);
    border:1px solid #ebe3d8;
    font-size:.66rem;
  }
  .primary-nav .current-menu-item > a,
  .primary-nav .current_page_item > a { background:var(--ldc-dark); border-color:var(--ldc-dark); color:#fff; }
  .js .ldc-mobile-nav-brand { display:flex; align-items:center; gap:10px; padding:2px 3px 15px; margin-bottom:10px; border-bottom:1px solid var(--ldc-line); }
  .ldc-mobile-nav-brand span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--ldc-surface-soft); color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.7rem; }
  .ldc-mobile-nav-brand b { font-family:var(--ldc-title); font-size:.66rem; letter-spacing:.06em; }
  .js .ldc-mobile-app-link { margin-top:11px; min-height:49px; padding:12px 15px!important; border:0!important; border-radius:15px!important; background:var(--ldc-accent)!important; color:#fff!important; display:flex!important; align-items:center; justify-content:space-between; }
  .ldc-mobile-app-link span { font-family:var(--ldc-title); font-size:.66rem; font-weight:700; letter-spacing:.05em; }
  .ldc-mobile-app-link b { font-size:1rem; }
  .ldc-feature-grid { grid-template-columns:1fr; }
  .ldc-feature-card { min-height:240px; }
  .ldc-resources-teaser { align-items:flex-start; flex-direction:column; gap:24px; }
  .ldc-resources-teaser .ldc-button { width:100%; }
  .ldc-resource-grid { grid-template-columns:1fr; }
  .ldc-resource-slot { min-height:270px; }
}

@media (max-width: 820px) {
  body.admin-bar .js .primary-nav {
    top:105px;
    max-height:calc(100vh - 118px);
  }
}
@media screen and (max-width: 782px) {
  body.admin-bar .js .primary-nav {
    top:119px;
    max-height:calc(100vh - 132px);
  }
}

@media (max-width: 620px) {
  .ldc-brand-mark { width:38px; height:38px; flex-basis:38px; }
  .ldc-product-hero { padding:52px 0 58px; }
  .ldc-product-hero-copy h1 { font-size:clamp(2.55rem,12.5vw,3.7rem); }
  .ldc-product-hero-copy > p:last-of-type { font-size:1.04rem; }
  .ldc-phone-mock { width:min(100%,315px); border-radius:39px; }
  .ldc-phone-screen { min-height:525px; border-radius:30px; }
  .ldc-phone-entry { min-height:205px; }
  .ldc-phone-tools span { min-height:94px; font-size:.47rem; }
  .ldc-feature-card { min-height:0; padding:25px 22px; }
  .ldc-feature-card .ldc-number { margin-bottom:4px; }
  .ldc-entry-sample { min-height:0; padding:25px 22px; border-radius:25px; }
  .ldc-resources-teaser { padding:30px 23px; border-radius:26px; }
  .ldc-resources-hero { padding:52px 0 43px; }
  .ldc-resources-hero h1 { font-size:clamp(2.6rem,12vw,3.7rem); }
  .ldc-resources-hero p:not(.ldc-kicker) { font-size:1.03rem; }
  .ldc-resource-slot { min-height:245px; padding:25px 22px; }
  .ldc-resource-slot small { margin-top:30px; }
  .ldc-dark-note { grid-template-columns:1fr; padding:30px 24px; border-radius:27px; gap:22px; }
  .ldc-dark-note-number { width:56px; height:56px; }
}
.ldc-mini-pill { text-decoration:none; transition:background .18s ease, border-color .18s ease, color .18s ease; }
a.ldc-mini-pill:hover { color:#fff; border-color:#8a8075; background:#3c3833; }

/* v0.6 — brand finishing, forms and quiet interactions */

/* Forms: native WordPress + common form plugins inherit the same visual language. */
.ldc-search-form { display:flex; gap:9px; width:min(100%,620px); margin-top:24px; }
.ldc-search-form .ldc-search-field { flex:1 1 auto; margin:0; }
.ldc-search-submit,
.entry-content input[type='submit'],
.entry-content button[type='submit'],
.wpcf7 input[type='submit'],
.wpforms-container button[type='submit'] {
  appearance:none;
  border:1px solid var(--ldc-accent);
  border-radius:999px;
  background:var(--ldc-accent);
  color:#fff;
  min-height:48px;
  padding:11px 20px;
  cursor:pointer;
  font-family:var(--ldc-title);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.055em;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ldc-search-submit:hover,
.entry-content input[type='submit']:hover,
.entry-content button[type='submit']:hover,
.wpcf7 input[type='submit']:hover,
.wpforms-container button[type='submit']:hover {
  background:var(--ldc-accent-dark);
  border-color:var(--ldc-accent-dark);
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(174,128,59,.18);
}
.entry-content form:not(.ldc-search-form),
.wpcf7 form,
.wpforms-container form {
  margin:28px 0;
}
.entry-content form p,
.wpcf7 form p { margin-bottom:18px; }
.entry-content label,
.wpcf7 label,
.wpforms-container label {
  display:block;
  margin-bottom:7px;
  color:var(--ldc-text);
  font-family:var(--ldc-title);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.045em;
}
.entry-content input[type='text'],
.entry-content input[type='email'],
.entry-content input[type='tel'],
.entry-content input[type='url'],
.entry-content input[type='search'],
.entry-content input[type='number'],
.entry-content select,
.entry-content textarea,
.wpcf7 input:not([type='submit']):not([type='checkbox']):not([type='radio']),
.wpcf7 select,
.wpcf7 textarea,
.wpforms-container input:not([type='submit']):not([type='checkbox']):not([type='radio']),
.wpforms-container select,
.wpforms-container textarea {
  width:100%;
  border:1px solid #ddd3c6;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  color:var(--ldc-text);
  padding:13px 15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.entry-content textarea,
.wpcf7 textarea,
.wpforms-container textarea { min-height:170px; resize:vertical; }
.entry-content select { min-height:49px; }
.entry-content input:focus,
.entry-content select:focus,
.entry-content textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpforms-container input:focus,
.wpforms-container textarea:focus {
  border-color:#c3a06b;
  outline:3px solid rgba(174,128,59,.12);
  outline-offset:0;
}
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpforms-confirmation-container-full {
  margin:22px 0;
  padding:16px 18px;
  border:1px solid var(--ldc-line)!important;
  border-radius:16px;
  background:#fff;
}

/* About */
.ldc-about-hero { padding:82px 0 66px; border-bottom:1px solid var(--ldc-line); background:radial-gradient(circle at 82% 24%,rgba(174,128,59,.085),transparent 22rem); }
.ldc-about-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:end; gap:70px; }
.ldc-about-copy h1 { margin:0; font-size:clamp(3.2rem,7vw,5.6rem); }
.ldc-about-deck { max-width:720px; margin:20px 0 0; color:var(--ldc-muted); font-size:1.18rem; }
.ldc-about-mark { min-height:225px; padding:28px; border-radius:32px; background:var(--ldc-dark); color:#eee6dc; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 22px 50px rgba(48,45,41,.13); }
.ldc-about-mark span { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#45403a; color:#d9bd92; font-family:var(--ldc-title); font-size:1.2rem; }
.ldc-about-mark p { margin:0; font-family:var(--ldc-title); font-size:.65rem; letter-spacing:.075em; text-transform:uppercase; }
.ldc-about-body { padding:70px 0 90px; }
.ldc-about-body-grid { display:grid; grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr); gap:65px; align-items:start; }
.ldc-about-photo { margin:0; position:sticky; top:110px; }
.ldc-about-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:30px; box-shadow:var(--ldc-shadow); }
.ldc-about-content > * { max-width:760px; margin-left:0; margin-right:0; }
.ldc-about-content > :first-child { margin-top:0; }

/* Contact */
.ldc-contact-hero { padding:78px 0 58px; border-bottom:1px solid var(--ldc-line); background:linear-gradient(180deg,rgba(255,255,255,.36),transparent); }
.ldc-contact-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.42fr); gap:60px; align-items:end; }
.ldc-contact-hero h1 { margin:0; font-size:clamp(3rem,6vw,5rem); }
.ldc-contact-deck { max-width:710px; margin:18px 0 0; color:var(--ldc-muted); font-size:1.14rem; }
.ldc-contact-note { min-height:180px; padding:25px; border:1px solid var(--ldc-line); border-radius:27px; background:#fff; box-shadow:var(--ldc-shadow-small); }
.ldc-contact-note span { color:var(--ldc-accent); font-size:1.4rem; }
.ldc-contact-note p { margin:24px 0 0; color:#5f5a53; line-height:1.55; }
.ldc-contact-body { padding:56px 0 96px; }
.ldc-contact-content { padding:33px; border:1px solid var(--ldc-line); border-radius:30px; background:rgba(255,255,255,.72); box-shadow:var(--ldc-shadow-small); }
.ldc-contact-content > :first-child { margin-top:0; }
.ldc-contact-content > :last-child { margin-bottom:0; }

/* Reusable quiet CTA */
.ldc-quiet-cta { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:38px 42px; border:1px solid #ddd2c4; border-radius:32px; background:rgba(255,255,255,.66); }
.ldc-quiet-cta h2 { margin:0; font-size:clamp(1.8rem,3.6vw,2.65rem); }
.ldc-quiet-cta p:not(.ldc-kicker) { margin:12px 0 0; color:var(--ldc-muted); }
.ldc-quiet-cta-actions { display:flex; gap:10px; flex:0 0 auto; }

/* Empty states */
.ldc-empty-state { grid-column:1/-1; width:100%; min-height:320px; padding:44px; border:1px dashed #ccbda9; border-radius:30px; background:rgba(255,255,255,.48); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.ldc-empty-state--wide { max-width:820px; margin:25px auto; }
.ldc-empty-state h2 { margin:13px 0 8px; font-size:1.7rem; }
.ldc-empty-state p { max-width:570px; margin:0; color:var(--ldc-muted); }
.ldc-empty-state .ldc-search-form { margin-left:auto; margin-right:auto; }

/* Footer v0.6 */
.site-footer { padding:0 0 30px; background:#eae3d9; }
.ldc-footer-top { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr); gap:76px; padding:64px 0 48px; }
.ldc-footer-brandline { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.ldc-footer-brandline .ldc-kicker { margin:0; }
.ldc-footer-monogram { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--ldc-dark); color:#d9bd92; font-family:var(--ldc-title); font-size:.72rem; }
.ldc-footer-brand h2 { margin:0 0 12px; max-width:560px; font-size:clamp(1.8rem,3.4vw,2.65rem); }
.ldc-footer-brand > p { max-width:590px; margin:0; color:var(--ldc-muted); }
.ldc-footer-app { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; min-width:210px; margin-top:24px; padding:11px 15px 11px 17px; border-radius:999px; background:var(--ldc-dark); color:#fff; text-decoration:none; font-family:var(--ldc-title); font-size:.64rem; font-weight:700; letter-spacing:.045em; }
.ldc-footer-app b { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; background:#48433e; color:#d8bd95; font-size:.9rem; }
.ldc-footer-app:hover { color:#fff; background:#24221f; }
.ldc-footer-navs { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-content:start; }
.ldc-footer-navs h3 { margin-top:5px; }
.ldc-footer-navs a { color:#4f4a44; }
.ldc-footer-navs a:hover { color:var(--ldc-accent-dark); }
.ldc-footer-note { margin-top:0; }

/* Very light reveal — progressive enhancement only. */
.js .ldc-reveal { opacity:0; transform:translateY(9px); transition:opacity .5s ease, transform .5s ease; }
.js .ldc-reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 920px) {
  .ldc-about-grid,
  .ldc-contact-hero-grid { grid-template-columns:1fr; gap:34px; }
  .ldc-about-mark { min-height:165px; max-width:430px; }
  .ldc-about-body-grid { grid-template-columns:1fr; gap:38px; }
  .ldc-about-photo { position:static; width:min(100%,460px); }
  .ldc-footer-top { grid-template-columns:1fr; gap:40px; }
  .ldc-quiet-cta { align-items:flex-start; flex-direction:column; gap:25px; }
}

@media (max-width: 620px) {
  .ldc-search-form { display:grid; grid-template-columns:1fr; }
  .ldc-search-submit { width:100%; }
  .ldc-about-hero,
  .ldc-contact-hero { padding:52px 0 43px; }
  .ldc-about-copy h1,
  .ldc-contact-hero h1 { font-size:clamp(2.55rem,12vw,3.7rem); }
  .ldc-about-mark { min-height:145px; padding:22px; border-radius:25px; }
  .ldc-about-body { padding:44px 0 66px; }
  .ldc-about-photo img { border-radius:24px; }
  .ldc-contact-body { padding:38px 0 70px; }
  .ldc-contact-content { padding:24px 20px; border-radius:24px; }
  .ldc-quiet-cta { padding:29px 23px; border-radius:25px; }
  .ldc-quiet-cta-actions { display:grid; width:100%; grid-template-columns:1fr; }
  .ldc-empty-state { min-height:260px; padding:31px 22px; border-radius:25px; }
  .ldc-footer-top { padding:48px 0 38px; }
  .ldc-footer-navs { grid-template-columns:1fr 1fr; gap:24px; }
  .ldc-footer-app { width:100%; }
}

/* v0.7 — homepage hierarchy and web/app continuity */
.site-header {
  box-shadow:0 1px 0 rgba(229,221,210,.6);
}
.ldc-hero--v07 {
  position:relative;
  padding-top:94px;
  padding-bottom:92px;
}
.ldc-hero--v07:before {
  content:'';
  position:absolute;
  width:560px;
  height:560px;
  right:-190px;
  top:-175px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(174,128,59,.09) 0,rgba(174,128,59,.02) 48%,transparent 70%);
  pointer-events:none;
}
.ldc-hero--v07 .ldc-hero-grid { grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr); gap:78px; }
.ldc-hero--v07 .ldc-hero-copy { max-width:670px; }
.ldc-hero-notes {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:29px;
  color:#777068;
  font-family:var(--ldc-title);
  font-size:.57rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ldc-hero-notes span { display:inline-flex; align-items:center; gap:9px; }
.ldc-hero-notes span:before { content:''; width:5px; height:5px; border-radius:50%; background:var(--ldc-accent); }

.ldc-app-preview { transition:transform .28s ease, box-shadow .28s ease; }
.ldc-app-preview:hover { transform:translateY(-3px); box-shadow:0 34px 88px rgba(61,51,40,.135); }
.ldc-preview-menu > a {
  min-height:125px;
  padding:16px 10px 13px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--ldc-line);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  color:var(--ldc-text);
  box-shadow:var(--ldc-shadow-small);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ldc-preview-menu > a:hover { color:var(--ldc-text); transform:translateY(-2px); border-color:#d6c7b4; box-shadow:0 12px 28px rgba(61,51,40,.08); }
.ldc-preview-menu i { display:none; font-style:normal; margin-left:auto; color:var(--ldc-accent-dark); }

.ldc-section--paths { border-top:1px solid rgba(229,221,210,.75); }
.ldc-path-card { position:relative; overflow:hidden; }
.ldc-path-card:after {
  content:'';
  position:absolute;
  width:125px;
  height:125px;
  right:-60px;
  bottom:-62px;
  border-radius:50%;
  background:rgba(174,128,59,.05);
  transition:transform .25s ease;
}
.ldc-path-card:hover:after { transform:scale(1.25); }

.ldc-manifesto-wrap { padding:26px 0 18px; background:var(--ldc-bg); }
.ldc-manifesto {
  position:relative;
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  min-height:265px;
  padding:39px 42px;
  overflow:hidden;
  border-radius:34px;
  background:var(--ldc-dark);
  color:#f7f2eb;
  box-shadow:0 24px 58px rgba(48,45,41,.12);
}
.ldc-manifesto:after {
  content:'';
  position:absolute;
  width:300px;
  height:300px;
  right:-150px;
  top:-150px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 45px rgba(255,255,255,.018),0 0 0 90px rgba(255,255,255,.012);
}
.ldc-manifesto-mark {
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  align-self:start;
  border-radius:50%;
  background:#45403a;
  color:#d9bd92;
  font-family:var(--ldc-title);
  font-size:3rem;
  line-height:1;
}
.ldc-manifesto-copy { position:relative; z-index:1; max-width:760px; }
.ldc-manifesto .ldc-kicker { color:#d8b779; margin-bottom:11px; }
.ldc-manifesto h2 { margin:0 0 13px; font-size:clamp(1.85rem,3.4vw,2.8rem); line-height:1.19; }
.ldc-manifesto-copy > p:last-child { margin:0; color:#d7cfc5; max-width:710px; }
.ldc-manifesto-link {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  padding:12px 17px;
  border:1px solid #665f57;
  border-radius:999px;
  color:#efe8df;
  text-decoration:none;
  font-family:var(--ldc-title);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.05em;
}
.ldc-manifesto-link:hover { color:#fff; border-color:#8c8074; background:#3a3632; }

.ldc-section--appbridge { padding-top:72px; padding-bottom:72px; }
.ldc-app-cta--v07 { grid-template-columns:minmax(0,1.15fr) minmax(280px,.62fr); padding:48px; }
.ldc-app-cta--v07 .ldc-app-cta-actions { display:block; }
.ldc-app-cta-pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:15px; }
.ldc-app-cta--v07 .ldc-button { width:100%; margin-top:0; }

.ldc-home-blog-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); gap:24px; align-items:stretch; }
.ldc-blog-feature {
  min-height:100%;
  display:grid;
  grid-template-rows:minmax(245px,1fr) auto;
  overflow:hidden;
  border:1px solid var(--ldc-line);
  border-radius:30px;
  background:#fff;
  color:var(--ldc-text);
  text-decoration:none;
  box-shadow:var(--ldc-shadow-small);
  transition:transform .2s ease,box-shadow .2s ease;
}
.ldc-blog-feature:hover { color:var(--ldc-text); transform:translateY(-3px); box-shadow:var(--ldc-shadow); }
.ldc-blog-feature-media { min-height:245px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#eee8df,#faf7f2); }
.ldc-blog-feature-media img { width:100%; height:100%; min-height:245px; object-fit:cover; transition:transform .35s ease; }
.ldc-blog-feature:hover .ldc-blog-feature-media img { transform:scale(1.025); }
.ldc-blog-feature-media .ldc-thumb-letter { font-size:3rem; }
.ldc-blog-feature-copy { display:block; padding:27px 29px 29px; }
.ldc-blog-feature h3 { margin:7px 0 10px; font-size:clamp(1.45rem,2.5vw,2rem); }
.ldc-blog-feature p { margin:0; color:var(--ldc-muted); font-size:.98rem; line-height:1.58; }
.ldc-blog-feature .ldc-text-link { display:inline-flex; padding-top:20px; }
.ldc-home-blog-list { display:grid; gap:11px; }
.ldc-home-blog-list .ldc-blog-row { min-height:0; height:100%; }
.ldc-home-blog .ldc-section-action { margin-top:30px; }

/* Keep typography and interaction coherent between the homepage and inner screens. */
.ldc-journal-card,
.ldc-method,
.ldc-path-card,
.ldc-blog-feature,
.ldc-blog-row { will-change:transform; }
.ldc-journal-link span,
.ldc-text-link span,
.ldc-manifesto-link span,
.ldc-blog-arrow,
.ldc-method-arrow { transition:transform .18s ease; }
.ldc-journal-link:hover span,
.ldc-path-card:hover .ldc-text-link span,
.ldc-blog-feature:hover .ldc-text-link span,
.ldc-manifesto-link:hover span,
.ldc-blog-row:hover .ldc-blog-arrow,
.ldc-method:hover .ldc-method-arrow { transform:translateX(3px); }

@media (max-width: 1040px) {
  .ldc-hero--v07 .ldc-hero-grid { grid-template-columns:minmax(0,1fr) 360px; gap:42px; }
  .ldc-manifesto { grid-template-columns:72px minmax(0,1fr); }
  .ldc-manifesto-link { grid-column:2; justify-self:start; }
  .ldc-home-blog-grid { grid-template-columns:1fr; }
  .ldc-blog-feature { grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); grid-template-rows:none; }
  .ldc-blog-feature-media { min-height:330px; }
}

@media (max-width: 820px) {
  .ldc-hero--v07 { padding-top:64px; padding-bottom:65px; }
  .ldc-hero--v07 .ldc-hero-grid { grid-template-columns:1fr; gap:38px; }
  .ldc-hero-notes { margin-top:24px; }
  .ldc-manifesto { grid-template-columns:1fr; gap:20px; padding:35px 30px; }
  .ldc-manifesto-mark { width:60px; height:60px; font-size:2.5rem; }
  .ldc-manifesto-link { grid-column:auto; }
  .ldc-app-cta--v07 { grid-template-columns:1fr; padding:38px 34px; }
}

@media (max-width: 620px) {
  .ldc-hero--v07 { padding-top:50px; padding-bottom:54px; }
  .ldc-hero--v07 h1 { font-size:clamp(2.6rem,13vw,3.8rem); }
  .ldc-hero-notes { gap:8px 13px; font-size:.51rem; }
  .ldc-app-preview { min-height:0; padding:18px; border-radius:31px; }
  .ldc-preview-question { min-height:175px; padding:24px; border-radius:23px; }
  .ldc-preview-menu { grid-template-columns:1fr; }
  .ldc-preview-menu > a { min-height:66px; padding:10px 13px; flex-direction:row; justify-content:flex-start; text-align:left; gap:11px; }
  .ldc-preview-menu b { margin:0; flex:0 0 34px; }
  .ldc-preview-menu em { font-size:.6rem; }
  .ldc-preview-menu i { display:block; }
  .ldc-manifesto-wrap { padding:14px 0 4px; }
  .ldc-manifesto { min-height:0; padding:30px 23px; border-radius:27px; }
  .ldc-manifesto h2 { font-size:1.72rem; }
  .ldc-manifesto-link { width:100%; justify-content:space-between; }
  .ldc-section--appbridge { padding-top:56px; padding-bottom:56px; }
  .ldc-app-cta--v07 { padding:30px 23px; border-radius:27px; }
  .ldc-app-cta-pills { display:grid; grid-template-columns:1fr; }
  .ldc-mini-pill { justify-content:center; }
  .ldc-blog-feature { grid-template-columns:1fr; grid-template-rows:auto auto; border-radius:25px; }
  .ldc-blog-feature-media { min-height:215px; }
  .ldc-blog-feature-media img { min-height:215px; }
  .ldc-blog-feature-copy { padding:23px 22px 25px; }
  .ldc-home-blog-list .ldc-blog-row { min-height:88px; }
}

@media (prefers-reduced-motion: reduce) {
  .ldc-app-preview,
  .ldc-preview-menu > a,
  .ldc-path-card:after,
  .ldc-blog-feature,
  .ldc-journal-link span,
  .ldc-text-link span,
  .ldc-manifesto-link span,
  .ldc-blog-arrow,
  .ldc-method-arrow { transition:none!important; }
}


/* v0.8 — production hardening: accessibility, Gutenberg and resilient interaction */
html { scroll-padding-top: 104px; }
:target { scroll-margin-top: 104px; }

/* Keyboard focus is deliberately visible without changing mouse/touch states. */
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid rgba(174,128,59,.52);
  outline-offset: 4px;
}
.ldc-button:focus-visible,
.ldc-header-app:focus-visible,
.ldc-mobile-app-link:focus-visible {
  outline-color: #7f5924;
  box-shadow: 0 0 0 5px rgba(174,128,59,.17);
}

/* Gutenberg blocks that commonly appear in long-form articles. */
.entry-content .wp-block-separator {
  width: min(180px, 45%);
  margin: 3rem auto;
  border: 0;
  border-top: 1px solid #cfbea8;
  opacity: 1;
}
.entry-content .wp-block-table {
  margin-block: 2rem;
  overflow-x: auto;
}
.entry-content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--ldc-line);
  border-radius: 18px;
  overflow: hidden;
}
.entry-content .wp-block-table th,
.entry-content .wp-block-table td {
  padding: 13px 15px;
  border: 1px solid var(--ldc-line);
  text-align: left;
  vertical-align: top;
}
.entry-content .wp-block-table th {
  background: var(--ldc-surface-soft);
  font-family: var(--ldc-title);
  font-size: .72rem;
  letter-spacing: .035em;
}
.entry-content .wp-block-details {
  margin-block: 1.6rem;
  padding: 18px 20px;
  border: 1px solid var(--ldc-line);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
}
.entry-content .wp-block-details summary {
  cursor: pointer;
  font-family: var(--ldc-title);
  font-size: .78rem;
  font-weight: 700;
}
.entry-content .wp-block-columns { gap: clamp(22px, 4vw, 42px); }
.entry-content .wp-block-cover { border-radius: 26px; overflow: hidden; }
.entry-content .wp-block-image img { border-radius: 18px; }
.entry-content .wp-block-image.alignwide img,
.entry-content .wp-block-image.alignfull img { border-radius: 0; }

/* Comments only appear when WordPress has them enabled. */
.ldc-comments { padding: 18px 0 82px; }
.ldc-comments-inner {
  width: min(calc(100% - 40px), 780px);
  margin-inline: auto;
  padding-top: 34px;
  border-top: 1px solid var(--ldc-line);
}
.ldc-comments-title { margin: 0 0 22px; font-size: 1.55rem; }
.ldc-comment-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ldc-comment-list .comment-body {
  padding: 20px 22px;
  border: 1px solid var(--ldc-line);
  border-radius: 20px;
  background: #fff;
}
.ldc-comment-list .comment-meta { font-size: .82rem; color: var(--ldc-muted); }
.ldc-comment-list .comment-author { font-family: var(--ldc-title); font-size: .72rem; }
.ldc-comment-list .children { list-style: none; margin: 12px 0 0 24px; padding: 0; display: grid; gap: 12px; }
.comment-respond { margin-top: 30px; }
.comment-reply-title { font-size: 1.35rem; }
.comment-form label { display: block; margin-bottom: 6px; font-family: var(--ldc-title); font-size: .65rem; font-weight: 700; letter-spacing: .04em; }
.comment-form input:not([type='submit']):not([type='checkbox']),
.comment-form textarea { width: 100%; }
.comment-form-cookies-consent { display: flex; gap: 9px; align-items: flex-start; }
.comment-form-cookies-consent label { font-family: var(--ldc-body); font-size: .9rem; font-weight: 400; letter-spacing: 0; }

/* More resilient sticky header when backdrop-filter is unavailable. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header { background: rgba(250,248,244,.985); }
}

@media (max-width: 820px) {
  /* Without JS the full navigation remains visible and operable. */
  html:not(.js) .primary-nav { display: block; position: static; }
  html:not(.js) .primary-nav ul { display: grid; gap: 6px; }
  html:not(.js) .primary-nav .sub-menu {
    position: static;
    min-width: 0;
    margin: 6px 0 0 12px;
    padding: 0 0 0 10px;
    border: 0;
    border-left: 1px solid #e7ddd1;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  html:not(.js) .primary-nav a { min-height: 44px; display: flex; align-items: center; }
  html:not(.js) .ldc-header-inner { align-items: flex-start; padding-block: 14px; }
  html:not(.js) .ldc-header-actions { width: min(58%, 360px); }
  html:not(.js) .primary-nav { width: 100%; }
  .js .primary-nav a,
  .js .ldc-mobile-app-link,
  .js .menu-toggle { min-height: 44px; }
}

@media (max-width: 620px) {
  .ldc-comments-inner { width: min(calc(100% - 24px), 780px); }
  .ldc-comment-list .children { margin-left: 10px; }
  html:not(.js) .ldc-header-actions { width: 62%; }
}

@media print {
  .site-header,
  .site-footer,
  .ldc-post-nav,
  .ldc-related,
  .ldc-comments,
  .ldc-actions { display: none !important; }
  body { background: #fff; color: #111; font-size: 12pt; }
  .ldc-article-header,
  .ldc-article-content { width: 100%; max-width: none; }
  .ldc-article { padding-top: 0; }
  a { color: #111; text-decoration: none; }
}


/* v0.10 — production polish: truthful resources + accessible pagination */
.ldc-page-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 2.4rem 0 0;
  padding-top: 1.4rem;
  border-top: 1px solid var(--ldc-line);
}
.ldc-page-links-label {
  margin-right: 3px;
  color: var(--ldc-muted);
  font-family: var(--ldc-title);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.ldc-page-links .post-page-numbers,
.ldc-page-links .ldc-page-link {
  min-width: 40px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border: 1px solid var(--ldc-line);
  border-radius: 999px;
  background: rgba(255,255,255,.52);
  color: var(--ldc-muted);
  text-decoration: none;
  font-family: var(--ldc-title);
  font-size: .68rem;
  font-weight: 700;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.ldc-page-links > a { text-decoration: none; }
.ldc-page-links .post-page-numbers.current,
.ldc-page-links > .ldc-page-link,
.ldc-page-links > a:hover .ldc-page-link,
.ldc-page-links > a:focus-visible .ldc-page-link {
  background: rgba(174,128,59,.16);
  border-color: rgba(174,128,59,.65);
  color: var(--ldc-accent-dark);
}
.ldc-pagination .prev,
.ldc-pagination .next { padding-inline: 14px; }
.ldc-pagination .page-numbers:focus-visible,
.ldc-page-links > a:focus-visible { outline: 2px solid rgba(174,128,59,.5); outline-offset: 3px; }
.ldc-resources-content {
  width: min(100%, 920px);
  margin-inline: auto;
  padding-top: 0;
}
.ldc-resources-empty { margin-top: 8px; }

@media (max-width: 620px) {
  .ldc-pagination .nav-links { gap: 5px; }
  .ldc-pagination .page-numbers { min-width: 38px; height: 38px; padding-inline: 9px; }
  .ldc-pagination .prev,
  .ldc-pagination .next { font-size: .58rem; }
}


/* v0.11 — WooCommerce presentation layer
   WooCommerce keeps ownership of commerce markup, data and behaviour. */
.woocommerce .ldc-woocommerce,
.woocommerce-page .ldc-woocommerce {
  padding-top: clamp(52px, 7vw, 82px);
  padding-bottom: clamp(70px, 9vw, 108px);
}
.ldc-woocommerce .woocommerce-breadcrumb {
  margin: 0 0 24px;
  color: var(--ldc-muted);
  font-size: .82rem;
}
.ldc-woocommerce .woocommerce-breadcrumb a { color: var(--ldc-accent-dark); }
.ldc-woocommerce .woocommerce-products-header { margin-bottom: 34px; }
.ldc-woocommerce .woocommerce-products-header__title,
.ldc-woocommerce .product_title,
.ldc-woocommerce .woocommerce-order-details__title,
.ldc-woocommerce .woocommerce-customer-details h2 {
  margin-top: 0;
  font-family: var(--ldc-title);
  color: var(--ldc-text);
}
.ldc-woocommerce .woocommerce-products-header__title {
  font-size: clamp(2.45rem, 5vw, 4rem);
}
.ldc-woocommerce .woocommerce-result-count,
.ldc-woocommerce .woocommerce-ordering { margin-bottom: 28px; }
.ldc-woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  min-height: 46px;
  border: 1px solid var(--ldc-line);
  border-radius: 14px;
  background: #fff;
  color: var(--ldc-text);
  padding: 9px 12px;
  box-shadow: none;
}
.woocommerce form .form-row textarea { min-height: 130px; }

/* Product archive: editorial cards without replacing WooCommerce templates. */
.woocommerce ul.products { margin-bottom: 38px; }
.woocommerce ul.products li.product {
  padding: 0 0 22px;
  overflow: hidden;
  border: 1px solid var(--ldc-line);
  border-radius: var(--ldc-radius-lg);
  background: var(--ldc-surface);
  box-shadow: var(--ldc-shadow-small);
  transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--ldc-shadow);
}
.woocommerce ul.products li.product a img {
  width: 100%;
  margin: 0 0 18px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  background: var(--ldc-surface-soft);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .star-rating {
  margin-left: 20px;
  margin-right: 20px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0;
  font-family: var(--ldc-title);
  font-size: 1rem;
  line-height: 1.35;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-weight: 700;
}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  min-width: 0;
  min-height: 0;
  line-height: 1;
  margin: 13px !important;
  padding: 9px 11px;
  border-radius: 999px;
  background: var(--ldc-dark);
  color: #fff;
  font-family: var(--ldc-title);
  font-size: .6rem;
  letter-spacing: .04em;
}

/* Buttons intentionally follow the same pill language as the rest of LDC. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button:not(.is-link) {
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid var(--ldc-accent);
  border-radius: 999px;
  background: var(--ldc-accent);
  color: #fff;
  font-family: var(--ldc-title);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wc-block-components-button:not(.is-link):hover {
  background: var(--ldc-accent-dark);
  border-color: var(--ldc-accent-dark);
  color: #fff;
}
.woocommerce a.added_to_cart {
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: .65rem;
  font-weight: 700;
}

/* Single product. */
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images img {
  border-radius: var(--ldc-radius-lg);
  background: var(--ldc-surface-soft);
}
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 12px; }
.woocommerce div.product .product_title { font-size: clamp(2.2rem, 4.4vw, 3.7rem); }
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--ldc-muted);
  font-size: 1.05rem;
}
.woocommerce div.product form.cart { margin-top: 28px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  border-bottom: 1px solid var(--ldc-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: var(--ldc-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 6px 0 0;
  border: 0;
  border-radius: 999px 999px 0 0;
  background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--ldc-surface-soft);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--ldc-title);
  font-size: .67rem;
  letter-spacing: .035em;
}
.woocommerce div.product .woocommerce-tabs .panel { padding-top: 14px; }
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products { clear: both; padding-top: 44px; }

/* Notices, account, cart and checkout — both classic and block-based surfaces. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  margin-bottom: 28px;
  border: 1px solid var(--ldc-line) !important;
  border-top: 1px solid var(--ldc-line) !important;
  border-radius: 18px;
  background: #fff !important;
  color: var(--ldc-text) !important;
  box-shadow: var(--ldc-shadow-small);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--ldc-accent-dark); }
.woocommerce-error::before { color: #8b3f3f; }
.woocommerce table.shop_table {
  overflow: hidden;
  border: 1px solid var(--ldc-line);
  border-radius: 18px;
  background: #fff;
}
.woocommerce table.shop_table th {
  font-family: var(--ldc-title);
  font-size: .68rem;
  letter-spacing: .03em;
}
.woocommerce .cart_totals,
.woocommerce .woocommerce-checkout-review-order,
.woocommerce .woocommerce-MyAccount-content,
.wc-block-cart,
.wc-block-checkout {
  color: var(--ldc-text);
}
.wc-block-cart,
.wc-block-checkout { margin-block: 1.5rem 3rem; }
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar {
  min-width: 0;
}
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-checkout__order-notes,
.wc-block-components-address-form {
  border-color: var(--ldc-line) !important;
}

@media (max-width: 620px) {
  .woocommerce .ldc-woocommerce,
  .woocommerce-page .ldc-woocommerce { padding-top: 42px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .added_to_cart,
  .woocommerce ul.products li.product .star-rating {
    margin-left: 14px;
    margin-right: 14px;
  }
  .woocommerce div.product .product_title { font-size: clamp(2rem, 10vw, 2.8rem); }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product { transition: none; }
}

/* v0.12 — responsive consistency and resilient content */
/* Grid/flex children are allowed to shrink even when editors add long words,
   URLs or controls. This prevents accidental horizontal scrolling. */
.ldc-hero-grid > *,
.ldc-product-hero-grid > *,
.ldc-journals-hero-grid > *,
.ldc-journal-single-grid > *,
.ldc-app-flow > *,
.ldc-section-head > *,
.ldc-journals-app-card > *,
.ldc-resources-teaser > *,
.ldc-about-grid > *,
.ldc-about-body-grid > *,
.ldc-contact-hero-grid > *,
.ldc-footer-top > *,
.ldc-footer-navs > *,
.ldc-home-blog-grid > *,
.ldc-app-cta > * { min-width: 0; }

/* Long-form content remains inside the reading column. */
.entry-content iframe,
.entry-content video,
.entry-content embed,
.entry-content object,
.entry-content canvas { max-width: 100%; }
.entry-content video { height: auto; }
.entry-content pre,
.entry-content .wp-block-code {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.entry-content pre { padding: 16px 18px; border: 1px solid var(--ldc-line); border-radius: 16px; background: #fff; }
.entry-content .wp-block-buttons { flex-wrap: wrap; }
.entry-content .wp-block-group,
.entry-content .wp-block-media-text,
.entry-content .wp-block-columns { min-width: 0; }

/* Native fields that were not covered by the first form pass. */
.entry-content input[type='password'],
.entry-content input[type='date'],
.entry-content input[type='time'],
.entry-content input[type='datetime-local'] {
  width: 100%;
  min-height: 49px;
  border: 1px solid #ddd3c6;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  color: var(--ldc-text);
  padding: 13px 15px;
}
:where(input[type='checkbox'], input[type='radio']) { accent-color: var(--ldc-accent-dark); }

/* Interactive pills keep comfortable touch targets without changing the visual language. */
.ldc-topic-nav a,
.ldc-pagination .page-numbers,
.ldc-article-tags a { min-height: 44px; }
.ldc-pagination .page-numbers { height: auto; }

/* WooCommerce tabs can contain translated/long labels without pushing the page wider. */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { float: none; margin-right: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { white-space: normal; }

@media (max-width: 620px) {
  /* Archive controls stay readable instead of fighting for the same line. */
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering {
    float: none;
    width: 100%;
  }
  .ldc-woocommerce .woocommerce-ordering select { width: 100%; }

  .entry-content pre { padding: 14px; border-radius: 14px; font-size: .88rem; }
}

@media (max-width: 430px) {
  /* Two portrait covers become too narrow on small phones; use one calm column. */
  .ldc-journal-grid--home { grid-template-columns: 1fr; }
  .ldc-journal-grid--home .ldc-journal-body p { display: block; }
  .ldc-journal-grid--home .ldc-journal-body { padding: 19px; }
  .ldc-journal-grid--home .ldc-journal-body h2 { font-size: 1.08rem; }

  .ldc-footer-navs { grid-template-columns: 1fr; }

  /* WooCommerce's default mobile two-column catalogue is cramped for vertical covers. */
  .woocommerce ul.products[class*='columns-'] li.product,
  .woocommerce-page ul.products[class*='columns-'] li.product {
    float: none;
    width: 100%;
    margin-right: 0;
  }
}


/* v1.1 — editable theme controls, article image hero and shop visual test */

/* Article hero: featured image becomes the title background. */
.ldc-article { padding-top: 0; }
.ldc-article-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 50px;
}
.ldc-article-hero--image {
  min-height: clamp(360px, 40vw, 520px);
  padding: clamp(72px, 9vw, 118px) 0;
  background: var(--ldc-dark);
  color: #fff;
}
.ldc-article-hero--plain {
  padding: 78px 0 0;
  margin-bottom: 46px;
}
.ldc-article-hero-media {
  position: absolute;
  z-index: -2;
  inset: -9% 0;
  width: 100%;
  height: 118%;
  object-fit: cover;
  object-position: center;
  transform: translate3d(0, var(--ldc-parallax-offset, 0px), 0) scale(1.06);
  will-change: transform;
}
.ldc-article-hero--image::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(24,22,20,.48), rgba(24,22,20,.62)),
    linear-gradient(90deg, rgba(24,22,20,.18), rgba(24,22,20,.02) 48%, rgba(24,22,20,.18));
}
.ldc-article-hero .ldc-article-header { position: relative; z-index: 1; text-align: center; }
.ldc-article-hero--image .ldc-article-header { width: min(calc(100% - 40px), 980px); }
.ldc-article-hero--image .ldc-article-eyebrow { color: rgba(255,255,255,.82); }
.ldc-article-hero--image .ldc-article-eyebrow a { color: #e1bb7b; }
.ldc-article-hero--image .entry-title {
  max-width: 940px;
  color: #fff;
  text-shadow: 0 3px 24px rgba(0,0,0,.22);
}
.ldc-article-hero--image .ldc-article-deck {
  color: rgba(255,255,255,.9);
  text-shadow: 0 2px 14px rgba(0,0,0,.18);
}

/* WooCommerce archive and related products: image-only cards with price badge. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  position: relative;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: var(--ldc-radius-lg);
  background: transparent;
  box-shadow: none;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: none;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
  position: relative;
  text-decoration: none;
}
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  display: block;
  width: 100%;
  margin: 0;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--ldc-radius-lg);
  background: transparent;
  box-shadow: var(--ldc-shadow-small);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating {
  display: none !important;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  position: absolute;
  z-index: 5;
  top: 12px;
  right: 12px;
  width: 62px;
  min-width: 62px;
  min-height: 62px;
  margin: 0 !important;
  padding: 8px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  color: var(--ldc-text);
  text-align: center;
  font-family: var(--ldc-title);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.08;
  box-shadow: 0 7px 20px rgba(44,39,34,.13);
}
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del { display: none; }
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
  top: 12px;
  right: auto;
  left: 12px;
  margin: 0 !important;
}

/* Single product: calmer title and no visual product meta. Data stays in WooCommerce. */
.woocommerce div.product .product_title {
  max-width: 760px;
  font-size: clamp(1.8rem, 3.25vw, 2.75rem);
  line-height: 1.28;
}
.woocommerce div.product .product_meta { display: none !important; }
.woocommerce div.product .related.products ul.products li.product,
.woocommerce div.product .upsells.products ul.products li.product { background: transparent; }

@media (max-width: 620px) {
  .ldc-article-hero--image {
    min-height: 360px;
    padding: 64px 0;
  }
  .ldc-article-hero--plain { padding-top: 58px; margin-bottom: 34px; }
  .ldc-article-hero--image .ldc-article-header { width: min(calc(100% - 28px), 980px); }
  .woocommerce div.product .product_title { font-size: clamp(1.72rem, 8.4vw, 2.3rem); }
  .woocommerce ul.products li.product .price,
  .woocommerce-page ul.products li.product .price {
    top: 9px;
    right: 9px;
    width: 58px;
    min-width: 58px;
    min-height: 58px;
    font-size: .68rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ldc-article-hero-media { transform: scale(1.03); will-change: auto; }
}

@media print {
  .ldc-article-hero { display: block; min-height: 0; padding: 0; margin-bottom: 22px; background: transparent; color: #111; }
  .ldc-article-hero-media { display: none !important; }
  .ldc-article-hero--image::after { display: none; }
  .ldc-article-hero--image .entry-title,
  .ldc-article-hero--image .ldc-article-deck,
  .ldc-article-hero--image .ldc-article-eyebrow,
  .ldc-article-hero--image .ldc-article-eyebrow a { color: #111; text-shadow: none; }
}


/* v1.8 — Home guided journals match the WooCommerce image-only catalogue. */
.ldc-journal-grid--home .ldc-journal-card--home-shop {
  position: relative;
  height: auto;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: var(--ldc-radius-lg);
  background: transparent;
  box-shadow: none;
}
.ldc-journal-grid--home .ldc-journal-card--home-shop:hover {
  transform: translateY(-3px);
  box-shadow: none;
}
.ldc-journal-grid--home .ldc-journal-card--home-shop .ldc-journal-cover {
  position: relative;
  display: block;
  overflow: visible;
  aspect-ratio: 3 / 4;
  border-radius: var(--ldc-radius-lg);
  background: transparent;
  box-shadow: var(--ldc-shadow-small);
}
.ldc-journal-grid--home .ldc-journal-card--home-shop .ldc-journal-cover::after {
  display: none;
}
.ldc-journal-grid--home .ldc-journal-card--home-shop .ldc-journal-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--ldc-radius-lg);
}
.ldc-journal-grid--home .ldc-journal-card--home-shop:hover .ldc-journal-cover img {
  transform: scale(1.01);
}
.ldc-journal-grid--home .ldc-journal-price-badge {
  position: absolute;
  z-index: 5;
  top: 12px;
  right: 12px;
  width: 62px;
  min-width: 62px;
  min-height: 62px;
  margin: 0;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  color: var(--ldc-text);
  text-align: center;
  font-family: var(--ldc-title);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.08;
  box-shadow: 0 7px 20px rgba(44,39,34,.13);
  pointer-events: none;
}
.ldc-journal-grid--home .ldc-journal-price-badge del { display: none; }
.ldc-journal-grid--home .ldc-journal-price-badge ins { text-decoration: none; }

@media (max-width: 620px) {
  .ldc-journal-grid--home .ldc-journal-price-badge {
    top: 9px;
    right: 9px;
    width: 58px;
    min-width: 58px;
    min-height: 58px;
  }
}


/* v1.9 — homepage aligned with the business ecosystem */
.ldc-path-card:not(a),
.ldc-method:not(a) { cursor: default; }
.ldc-path-card:not(a):hover,
.ldc-method:not(a):hover { transform: none; box-shadow: var(--ldc-shadow-small); }
.ldc-path-card:not(a):hover:after { transform: none; }

.ldc-app-cta-buttons { display:grid; gap:10px; }
.ldc-button--on-dark { background:transparent; color:#f9f5ef; border-color:#766e65; }
.ldc-button--on-dark:hover { color:#fff; background:#3d3934; border-color:#8c8277; }

.ldc-section--subscription { padding-top:64px; padding-bottom:64px; }
.ldc-subscription-card {
  padding:42px 46px;
  border:1px solid var(--ldc-line);
  border-radius:var(--ldc-radius-xl);
  background:linear-gradient(145deg,#fff 0%,#f2ece3 100%);
  box-shadow:var(--ldc-shadow-small);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:38px;
  align-items:center;
  overflow:hidden;
  position:relative;
}
.ldc-subscription-card:after {
  content:'';
  position:absolute;
  width:230px;
  height:230px;
  border-radius:50%;
  right:-95px;
  top:-110px;
  background:rgba(174,128,59,.07);
}
.ldc-subscription-copy { position:relative; z-index:1; max-width:790px; }
.ldc-subscription-copy h2 { margin:0 0 12px; font-size:clamp(1.9rem,3.6vw,2.8rem); }
.ldc-subscription-copy p:last-child { margin:0; color:var(--ldc-muted); max-width:720px; }
.ldc-subscription-action { position:relative; z-index:1; }

@media (max-width: 760px) {
  .ldc-section--subscription { padding-top:40px; padding-bottom:40px; }
  .ldc-subscription-card { grid-template-columns:1fr; padding:32px 27px; gap:24px; }
  .ldc-subscription-action .ldc-button { width:100%; }
  .ldc-app-cta-buttons { grid-template-columns:1fr; }
}

/* ==============================
   v2.0.0 — homepage panorama refresh
   ============================== */
.ldc-button--light {
  background: rgba(255,255,255,.1);
  color: #fff;
  border-color: rgba(255,255,255,.34);
}
.ldc-button--light:hover {
  background: #fff;
  color: var(--ldc-text);
  border-color: #fff;
}

.ldc-hero--panorama {
  position: relative;
  padding: 92px 0 90px;
  min-height: 520px;
  overflow: hidden;
  background: var(--ldc-dark);
}
.ldc-hero--panorama::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(36,33,29,.64) 0%, rgba(36,33,29,.45) 33%, rgba(36,33,29,.18) 62%, rgba(36,33,29,.08) 100%);
  pointer-events: none;
}
.ldc-hero-panorama-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ldc-hero--panorama .ldc-wrap {
  position: relative;
  z-index: 1;
}
.ldc-hero-panorama-copy {
  max-width: 820px;
  color: #fff;
}
/* Other-language homepage headlines need a little more room on desktop.
   Spanish and mobile remain at their original widths and typography. */
@media (min-width: 1025px) {
  .ldc-hero--panorama.ldc-hero--wide-title .ldc-hero-panorama-copy {
    max-width: 940px;
  }
}
.ldc-hero--panorama .ldc-kicker {
  margin-bottom: 18px;
  color: #e9d4ab;
}
.ldc-hero--panorama h1 {
  margin: 0 0 20px;
  max-width: 940px;
  color: #fff;
  font-size: clamp(2.7rem, 5.5vw, 4.9rem);
  line-height: .98;
}
.ldc-hero--panorama .ldc-hero-copy {
  margin: 0;
  max-width: 700px;
  color: rgba(255,255,255,.9);
  font-size: clamp(1rem, 1.4vw, 1.16rem);
}
.ldc-hero--panorama .ldc-actions {
  margin-top: 30px;
}
.ldc-hero--panorama .ldc-hero-notes {
  margin-top: 26px;
  color: rgba(255,255,255,.9);
}
.ldc-hero--panorama .ldc-hero-notes span:before {
  background: #e1bb73;
}

.ldc-section--formats-home .ldc-section-head {
  align-items: end;
}
.ldc-section--formats-home .ldc-method {
  min-height: 330px;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
  padding-bottom: 92px;
}
.ldc-section--formats-home .ldc-method-copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: none;
  padding-right: 72px;
}
.ldc-section--formats-home .ldc-method .ldc-card-type,
.ldc-section--formats-home .ldc-method h3,
.ldc-section--formats-home .ldc-method p {
  margin: 0;
}
.ldc-section--formats-home .ldc-method h3 {
  max-width: 460px;
}
.ldc-section--formats-home .ldc-method p {
  max-width: 460px;
  padding-right: 2px;
}
.ldc-section--formats-home .ldc-method-arrow {
  right: 24px;
  bottom: 24px;
}

@media (max-width: 1024px) {
  .ldc-hero--panorama {
    min-height: 470px;
    padding: 78px 0 76px;
  }
}

@media (max-width: 760px) {
  .ldc-hero--panorama {
    min-height: 0;
    padding: 66px 0 62px;
  }
  .ldc-hero-panorama-media {
    object-position: 60% center;
  }
  .ldc-hero--panorama h1 {
    font-size: clamp(2.35rem, 12vw, 3.8rem);
  }
  .ldc-hero--panorama .ldc-hero-copy {
    font-size: 1rem;
  }
  .ldc-section--formats-home .ldc-method {
    min-height: 0;
    gap: 18px;
    padding-bottom: 26px;
  }
  .ldc-section--formats-home .ldc-method-copy {
    padding-right: 0;
  }
  .ldc-section--formats-home .ldc-method-arrow {
    position: static;
    margin-top: auto;
  }
}


/* ==============================
   v2.0.1 — page width, mobile breathing room and footer polish
   ============================== */
/* Pages only: a slightly wider editorial canvas than posts. */
.ldc-page-header .ldc-narrow {
  width: min(calc(100% - 40px), 900px);
}
.ldc-page-content > * {
  max-width: 1180px;
}
.ldc-page-content > :where(p, ul, ol, h2, h3, h4, h5, h6, blockquote, .wp-block-quote, .wp-block-list) {
  max-width: 880px;
}
.ldc-page-content > .wp-block-group.alignwide,
.ldc-page-content > .alignwide {
  max-width: 1180px;
}

@media (max-width: 620px) {
  /* Keep a very small visual gutter on mobile for reading and product screens. */
  .ldc-article-content > *,
  .ldc-page-content > * {
    width: calc(100% - 20px);
    margin-left: auto;
    margin-right: auto;
  }

  .ldc-article-content > .alignfull,
  .ldc-page-content > .alignfull {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
  }

  .woocommerce .ldc-woocommerce,
  .woocommerce-page .ldc-woocommerce {
    width: calc(100% - 20px);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ==============================
   v2.0.2 — real page canvas width
   ============================== */
/* Gutenberg can keep nested page blocks on the global 780px contentSize.
   Override that only inside standard pages; posts keep the editorial width. */
.ldc-page-content {
  width: min(calc(100% - 40px), 1180px);
  margin-left: auto;
  margin-right: auto;
}

.ldc-page-content > * {
  width: 100%;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.ldc-page-content > :where(p, ul, ol, h2, h3, h4, h5, h6, blockquote, .wp-block-quote, .wp-block-list) {
  max-width: 960px;
}

/* Neutralise Gutenberg's global constrained width inside pages only. */
.ldc-page-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 960px;
}

/* Visual/content blocks should be able to use the full page canvas. */
.ldc-page-content > :where(
  .wp-block-group,
  .wp-block-image,
  .wp-block-cover,
  .wp-block-columns,
  .wp-block-media-text,
  .wp-block-gallery,
  .wp-block-html,
  .wp-block-shortcode,
  figure
) {
  max-width: 1180px;
}

.ldc-page-content > .wp-block-group.is-layout-constrained {
  max-width: 1180px;
}

.ldc-page-content > .wp-block-image img,
.ldc-page-content > figure.wp-block-image img {
  width: 100%;
  height: auto;
}

@media (max-width: 620px) {
  .ldc-page-content {
    width: calc(100% - 20px);
  }

  .ldc-page-content > * {
    width: 100%;
  }
}

/* v2.0.3 — elegant product-only header search */
.ldc-product-search {
  position: relative;
  flex: 0 0 auto;
}
.ldc-product-search summary {
  list-style: none;
}
.ldc-product-search summary::-webkit-details-marker {
  display: none;
}
.ldc-product-search-toggle {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(174,128,59,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.38);
  color: var(--ldc-text);
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ldc-product-search-toggle:hover,
.ldc-product-search[open] .ldc-product-search-toggle {
  background: #fff;
  border-color: rgba(174,128,59,.5);
  color: var(--ldc-accent-dark);
  box-shadow: 0 7px 18px rgba(61,51,40,.07);
}
.ldc-product-search-toggle:hover {
  transform: translateY(-1px);
}
.ldc-product-search-toggle svg,
.ldc-product-search-submit svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ldc-product-search-panel {
  position: absolute;
  z-index: 80;
  top: calc(100% + 14px);
  right: 0;
  width: min(430px, calc(100vw - 30px));
  padding: 14px;
  border: 1px solid var(--ldc-line);
  border-radius: 20px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 22px 55px rgba(61,51,40,.14);
  transform-origin: top right;
  animation: ldcSearchIn .16s ease-out;
}
.ldc-product-search-panel:before {
  content: '';
  position: absolute;
  top: -6px;
  right: 14px;
  width: 11px;
  height: 11px;
  background: #fff;
  border-top: 1px solid var(--ldc-line);
  border-left: 1px solid var(--ldc-line);
  transform: rotate(45deg);
}
.ldc-product-search-form {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ldc-product-search-field[type='search'] {
  min-height: 48px;
  margin: 0;
  padding: 12px 52px 12px 16px;
  border-radius: 14px;
  background: var(--ldc-bg);
  border-color: #ddd3c6;
  font-family: var(--ldc-body);
  font-size: 1rem;
  -webkit-appearance: none;
}
.ldc-product-search-field::-webkit-search-cancel-button {
  cursor: pointer;
}
.ldc-product-search-submit {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 11px;
  background: var(--ldc-accent);
  color: #fff;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
}
.ldc-product-search-submit:hover {
  background: var(--ldc-accent-dark);
  transform: translateY(-1px);
}
@keyframes ldcSearchIn {
  from { opacity: 0; transform: translateY(-5px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .ldc-product-search-panel { animation: none; }
  .ldc-product-search-toggle,
  .ldc-product-search-submit { transition: none; }
}
@media (max-width: 1000px) {
  .ldc-product-search-toggle { width: 41px; height: 41px; }
}
@media (max-width: 620px) {
  .ldc-header-actions { gap: 8px; }
  .ldc-product-search-panel {
    position: fixed;
    top: calc(72px + env(safe-area-inset-top));
    right: 12px;
    left: 12px;
    width: auto;
  }
  body.admin-bar .ldc-product-search-panel {
    top: calc(118px + env(safe-area-inset-top));
  }
  .ldc-product-search-panel:before { right: 61px; }
}


/* v2.0.4 — live product suggestions in header search */
.ldc-product-live-results {
  margin-top: 10px;
  max-height: min(430px, 58vh);
  overflow-y: auto;
  border-top: 1px solid var(--ldc-line);
  padding-top: 8px;
  scrollbar-width: thin;
  scrollbar-color: #d8c9b6 transparent;
}
.ldc-product-live-results[hidden] { display: none; }
.ldc-product-live-item {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  padding: 9px;
  border-radius: 13px;
  color: var(--ldc-text);
  text-decoration: none;
  transition: background .16s ease, transform .16s ease;
}
.ldc-product-live-item + .ldc-product-live-item { margin-top: 2px; }
.ldc-product-live-item:hover,
.ldc-product-live-item:focus-visible {
  background: var(--ldc-bg);
  color: var(--ldc-text);
  transform: translateX(2px);
  outline: none;
}
.ldc-product-live-thumb {
  width: 58px;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 10px;
  background: var(--ldc-surface-soft);
}
.ldc-product-live-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ldc-product-live-thumb--empty {
  font-family: var(--ldc-title);
  color: var(--ldc-accent-dark);
}
.ldc-product-live-copy { min-width: 0; display: grid; gap: 4px; }
.ldc-product-live-title {
  font-family: var(--ldc-title);
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.3;
}
.ldc-product-live-price {
  color: var(--ldc-accent-dark);
  font-size: .86rem;
  line-height: 1.2;
}
.ldc-product-live-price del { color: var(--ldc-muted); opacity: .7; margin-right: 4px; }
.ldc-product-live-price ins { text-decoration: none; }
.ldc-product-live-empty {
  margin: 0;
  padding: 14px 10px 9px;
  color: var(--ldc-muted);
  font-size: .86rem;
  text-align: center;
}
.ldc-product-live-results.is-loading {
  min-height: 54px;
  display: grid;
  place-items: center;
}
.ldc-product-live-loader {
  width: 18px;
  height: 18px;
  border: 2px solid #dfd4c5;
  border-top-color: var(--ldc-accent);
  border-radius: 50%;
  animation: ldcProductSearchSpin .7s linear infinite;
}
@keyframes ldcProductSearchSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .ldc-product-live-item { transition: none; }
  .ldc-product-live-loader { animation: none; border-top-color: #dfd4c5; }
}
@media (max-width: 620px) {
  .ldc-product-live-results { max-height: min(54vh, 420px); }
  .ldc-product-live-item { grid-template-columns: 52px minmax(0,1fr); }
  .ldc-product-live-thumb { width: 52px; }
}


/* ==============================
   v2.0.6 — consistent page text width
   ============================== */
/* Some Gutenberg constrained blocks were still inheriting the old 780px
   content width. Keep this override scoped to pages only; posts are untouched. */
.ldc-page-content > :where(
  p,
  ul,
  ol,
  h2,
  h3,
  h4,
  h5,
  h6,
  blockquote,
  .wp-block-quote,
  .wp-block-list
) {
  width: 100%;
  max-width: 1080px !important;
  margin-left: auto;
  margin-right: auto;
}

.ldc-page-content .is-layout-constrained > :where(
  p,
  ul,
  ol,
  h2,
  h3,
  h4,
  h5,
  h6,
  blockquote,
  .wp-block-quote,
  .wp-block-list,
  .wp-block-group
) {
  width: 100%;
  max-width: 1080px !important;
}

.ldc-page-content > .wp-block-group,
.ldc-page-content > .wp-block-columns,
.ldc-page-content > .wp-block-media-text,
.ldc-page-content > .wp-block-cover,
.ldc-page-content > .wp-block-html,
.ldc-page-content > .wp-block-shortcode {
  width: 100%;
  max-width: 1180px !important;
}

/* Preserve intentional column layouts, but do not let an inner constrained
   wrapper shrink the whole following section back to the legacy width. */
.ldc-page-content .wp-block-group__inner-container,
.ldc-page-content .wp-block-group.is-layout-constrained {
  width: 100%;
}

@media (max-width: 620px) {
  .ldc-page-content > :where(
    p,
    ul,
    ol,
    h2,
    h3,
    h4,
    h5,
    h6,
    blockquote,
    .wp-block-quote,
    .wp-block-list
  ),
  .ldc-page-content .is-layout-constrained > :where(
    p,
    ul,
    ol,
    h2,
    h3,
    h4,
    h5,
    h6,
    blockquote,
    .wp-block-quote,
    .wp-block-list,
    .wp-block-group
  ) {
    width: 100%;
    max-width: none !important;
  }
}


/* ==========================================================
   v2.1.0 — Editorial article component system
   Reusable Gutenberg classes for indexed blog content.
   ========================================================== */

/* Width helpers: ordinary prose keeps the calm reading width, visual components may breathe wider. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-wide,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-index,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-important,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-grid-2,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-grid-3,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-steps,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-table,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-cta {
  width: min(1080px, calc(100% - 40px));
  max-width: 1080px;
}

:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-kicker,
.ldc-product-collection .ldc-article-kicker {
  margin: 0 0 8px;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: .71rem;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.45;
  text-transform: uppercase;
}

:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-intro {
  margin-block: 2rem 2.35rem;
  padding: clamp(24px, 4vw, 36px);
  border: 1px solid var(--ldc-line);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(238,232,223,.72), rgba(255,255,255,.92));
  box-shadow: var(--ldc-shadow-small);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-intro > :first-child { margin-top: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-intro > :last-child { margin-bottom: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-intro p { font-size: 1.13rem; }

/* On-page index. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index {
  margin-block: 2.4rem;
  padding: 25px 27px;
  border: 1px solid var(--ldc-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--ldc-shadow-small);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index > :first-child { margin-top: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index > :last-child { margin-bottom: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index strong { font-family: var(--ldc-title); }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index-links a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid var(--ldc-line);
  border-radius: 999px;
  background: var(--ldc-bg);
  color: var(--ldc-text);
  font-family: var(--ldc-title);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index-links a:hover {
  background: var(--ldc-surface-soft);
  color: var(--ldc-accent-dark);
}

/* Highlight / important block from the method page. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-important {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 18px;
  align-items: start;
  margin-block: 2.2rem;
  padding: 24px 26px;
  border: 1px solid rgba(174,128,59,.24);
  border-radius: 20px;
  background: #fffaf1;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-important-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  background: #f1e4cc;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-weight: 700;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-important h2,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-important h3 { margin: 0 0 6px; font-size: 1.23rem; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-important p { margin: 0; color: var(--ldc-muted); }

/* Notes / tips / warnings. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-note,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-tip,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-warning {
  margin-block: 2rem;
  padding: 20px 23px;
  border-radius: 16px;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-note {
  border-left: 4px solid var(--ldc-accent);
  background: var(--ldc-bg);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-tip {
  border-left: 4px solid #65745f;
  background: #f3f6f1;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-warning {
  border-left: 4px solid #c9873e;
  background: #fff6ec;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-note > :first-child,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-tip > :first-child,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-warning > :first-child { margin-top: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-note > :last-child,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-tip > :last-child,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-warning > :last-child { margin-bottom: 0; }

/* Dark central reflection. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-manifesto {
  margin-block: 2.8rem;
  padding: clamp(38px, 6vw, 64px) clamp(25px, 6vw, 60px);
  border-radius: 26px;
  background: var(--ldc-dark);
  color: #fff;
  text-align: center;
  box-shadow: var(--ldc-shadow);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-manifesto p {
  max-width: 760px;
  margin: 0 auto;
  color: #fff;
  font-family: var(--ldc-title);
  font-size: clamp(1.42rem, 3vw, 2rem);
  line-height: 1.45;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-manifesto small,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-manifesto .ldc-article-caption {
  display: block;
  margin: 17px auto 0;
  color: rgba(255,255,255,.68);
  font-size: .84rem;
}

/* Cards and editorial grids. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-grid-2,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-grid-3 {
  display: grid;
  gap: 18px;
  margin-block: 2.15rem;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-card {
  min-width: 0;
  padding: 25px;
  border: 1px solid var(--ldc-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--ldc-shadow-small);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-card > :first-child { margin-top: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-card > :last-child { margin-bottom: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-card h3 { margin-top: 0; font-size: 1.15rem; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-card p { color: var(--ldc-muted); }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-card-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  margin-bottom: 15px;
  border-radius: 13px;
  background: var(--ldc-surface-soft);
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: .82rem;
  font-weight: 700;
}

/* Steps. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-steps {
  display: grid;
  gap: 14px;
  margin-block: 2.2rem;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-step {
  display: grid;
  grid-template-columns: 50px minmax(0,1fr);
  gap: 17px;
  align-items: start;
  padding: 22px 23px;
  border: 1px solid var(--ldc-line);
  border-radius: 18px;
  background: #fff;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: var(--ldc-surface-soft);
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-weight: 700;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-step h3 { margin: 0 0 6px; font-size: 1.15rem; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-step p { margin: 0; color: var(--ldc-muted); }

/* Checklist. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) ul.ldc-article-checklist {
  margin-block: 1.8rem;
  padding: 0;
  list-style: none;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) ul.ldc-article-checklist li {
  position: relative;
  margin: 0;
  padding: 11px 0 11px 34px;
  border-bottom: 1px solid rgba(229,221,210,.8);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) ul.ldc-article-checklist li:before {
  content: '✓';
  position: absolute;
  left: 4px;
  top: 10px;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-weight: 700;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) ul.ldc-article-checklist li:last-child { border-bottom: 0; }

/* Responsive table wrapper. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-table {
  overflow-x: auto;
  margin-block: 2.3rem;
  border: 1px solid var(--ldc-line);
  border-radius: 18px;
  background: #fff;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-table .wp-block-table { margin: 0; max-width: none; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-table table { min-width: 660px; margin: 0; border: 0; }

/* FAQ: native Gutenberg details blocks inside a container. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq {
  display: grid;
  gap: 11px;
  margin-block: 2.2rem;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq .wp-block-details,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq details {
  max-width: none;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--ldc-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq summary {
  position: relative;
  cursor: pointer;
  padding: 18px 54px 18px 20px;
  font-family: var(--ldc-title);
  font-weight: 700;
  list-style: none;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq summary::-webkit-details-marker { display: none; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq summary:before,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq summary:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 21px;
  width: 13px;
  height: 2px;
  background: var(--ldc-text);
  transform: translateY(-50%);
  transition: opacity .2s ease, transform .2s ease;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq summary:after { transform: translateY(-50%) rotate(90deg); }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq details[open] summary:after { opacity: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq details > :not(summary) { margin-left: 20px; margin-right: 20px; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-faq details > :last-child { margin-bottom: 20px; }

/* New: writing prompt, designed for journaling articles. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-prompt {
  position: relative;
  margin-block: 2.4rem;
  padding: 28px 30px 28px 34px;
  overflow: hidden;
  border: 1px solid rgba(174,128,59,.28);
  border-radius: 22px;
  background: linear-gradient(135deg,#fffaf1,#f5ede2);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-prompt:after {
  content: '?';
  position: absolute;
  right: 18px;
  top: -22px;
  color: rgba(174,128,59,.08);
  font-family: var(--ldc-title);
  font-size: 8rem;
  line-height: 1;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-prompt > * { position: relative; z-index: 1; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-prompt .ldc-article-kicker { margin-bottom: 7px; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-prompt h3 { margin: 0 0 8px; font-size: 1.35rem; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-prompt p:last-child { margin-bottom: 0; }

/* New: short summary / key takeaways. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-keypoints {
  margin-block: 2.35rem;
  padding: 27px 29px;
  border: 1px solid var(--ldc-line);
  border-radius: 22px;
  background: var(--ldc-surface-soft);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-keypoints h2,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-keypoints h3 { margin-top: 0; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-keypoints ul { margin-bottom: 0; }

/* New: calm editorial CTA for the end or a natural transition. */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-cta {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 26px;
  align-items: center;
  margin-block: 3rem;
  padding: clamp(27px,4vw,38px);
  border: 1px solid var(--ldc-line);
  border-radius: 26px;
  background: linear-gradient(135deg,#f1e9de,#faf7f2);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-cta h2,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-cta h3 { margin: 0 0 8px; }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-cta p { margin: 0; color: var(--ldc-muted); }
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-cta .wp-block-buttons { margin: 0; flex-wrap: nowrap; }

@media (max-width: 820px) {
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-wide,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-index,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-important,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-grid-2,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-grid-3,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-steps,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-table,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) > .ldc-article-cta {
    width: calc(100% - 20px);
  }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-grid-2,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-grid-3 { grid-template-columns: 1fr; }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-cta { grid-template-columns: 1fr; }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-cta .wp-block-buttons { flex-wrap: wrap; }
}

@media (max-width: 520px) {
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-important { grid-template-columns: 1fr; }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-step { grid-template-columns: 38px minmax(0,1fr); gap: 13px; padding: 18px; }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-step-number { width: 36px; height: 36px; }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index { padding: 21px; }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index-links { display: grid; grid-template-columns: 1fr; }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-index-links a { justify-content: center; }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer [data-ldc-sv-form].ldc-article-content) .ldc-article-prompt { padding: 24px 22px; }
}

/* ==============================
   v2.2.1 — editorial product embed by SKU
   ============================== */
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed {
  display: block;
  width: min(100%, 320px);
  margin: 2.7rem auto;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-media-link {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 19px;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-media-link:focus-visible,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-cta:focus-visible {
  outline: 3px solid rgba(174,128,59,.34);
  outline-offset: 4px;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 19px;
  background: var(--ldc-surface-soft);
  box-shadow: var(--ldc-shadow-small);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-image {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform .28s ease;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-media-link:hover .ldc-product-embed-image {
  transform: scale(1.025);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-price {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  min-height: 64px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  color: var(--ldc-text);
  font-family: var(--ldc-title);
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
  box-shadow: 0 7px 20px rgba(42,35,28,.12);
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-price del {
  display: none;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-price ins {
  text-decoration: none;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-cta {
  display: flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  gap: 7px;
  margin: 11px 2px 0 auto;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-cta:hover {
  color: var(--ldc-accent-dark);
  text-decoration: underline;
  text-underline-offset: 4px;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-cta span {
  transition: transform .18s ease;
}
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-cta:hover span {
  transform: translateX(3px);
}

@media (max-width: 700px) {
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed {
    width: min(calc(100% - 20px), 320px);
  }
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-price {
    min-width: 58px;
    min-height: 58px;
    font-size: .82rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-image,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed-cta span {
    transition: none;
  }
}

/* v2.2.2 — more panoramic article hero with calmer title scale */
.single-post .ldc-article-hero--image {
  min-height: clamp(320px, 31vw, 430px);
  padding: clamp(54px, 6.5vw, 84px) 0;
}
.single-post .ldc-article-hero--image .ldc-article-header {
  width: min(calc(100% - 40px), 1120px);
}
.single-post .ldc-article-hero .entry-title {
  max-width: 1100px;
  font-size: clamp(2.35rem, 4vw, 3.8rem);
  line-height: 1.08;
  letter-spacing: -0.018em;
  text-wrap: balance;
}
.single-post .ldc-article-hero .ldc-article-deck {
  max-width: 800px;
  margin-top: 16px;
  font-size: clamp(1.02rem, 1.35vw, 1.14rem);
  line-height: 1.55;
}
.single-post .ldc-article-hero .ldc-article-eyebrow {
  margin-bottom: 15px;
}

@media (max-width: 820px) {
  .single-post .ldc-article-hero--image {
    min-height: 320px;
    padding: 50px 0;
  }
  .single-post .ldc-article-hero .entry-title {
    max-width: 760px;
    font-size: clamp(2.05rem, 7.2vw, 3rem);
    line-height: 1.08;
  }
}

@media (max-width: 620px) {
  .single-post .ldc-article-hero--image {
    min-height: 285px;
    padding: 42px 0 44px;
  }
  .single-post .ldc-article-hero--image .ldc-article-header {
    width: min(calc(100% - 28px), 1120px);
  }
  .single-post .ldc-article-hero .entry-title {
    max-width: 100%;
    font-size: clamp(1.9rem, 8.6vw, 2.55rem);
    line-height: 1.1;
    letter-spacing: -0.012em;
  }
  .single-post .ldc-article-hero .ldc-article-deck {
    margin-top: 14px;
    font-size: 1rem;
    line-height: 1.5;
  }
  .single-post .ldc-article-hero .ldc-article-eyebrow {
    margin-bottom: 12px;
  }
}


/* v2.2.3 — clearer global page layers: warmer header, lighter reading canvas */
.site-header {
  background: rgba(234,227,217,.96);
  border-bottom-color: rgba(207,194,177,.88);
  box-shadow: 0 2px 16px rgba(61,51,40,.045);
}

/* The content canvas is deliberately a little lighter than the original cream.
   Cards stay white and the footer keeps its existing warmer tone. */
body {
  background:
    radial-gradient(circle at 14% 8%, rgba(174,128,59,.035), transparent 23rem),
    var(--ldc-bg);
}

@media (max-width: 760px) {
  .js .primary-nav {
    background: rgba(234,227,217,.99);
    border-bottom-color: rgba(207,194,177,.9);
  }
  .menu-toggle {
    background: rgba(255,255,255,.62);
    border-color: rgba(207,194,177,.95);
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header { background: rgba(234,227,217,.99); }
}

/* ==========================================================================
   v2.3.1 — product viewer based on the default immersive article template
   from the supplied photography theme, rebuilt for Letras del Camino.
   ========================================================================== */

body.single-product.ldc-product-viewer-body {
  overflow: hidden;
  background: var(--ldc-dark);
}
body.single-product.ldc-product-viewer-body .site-footer { display: none !important; }
body.single-product.ldc-product-viewer-body .ldc-items-floating-shop { display: none !important; }

.single-product .ldc-product-viewer-page {
  height: calc(100svh - 82px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 2.4vw, 38px) clamp(18px, 3vw, 46px);
  background:
    radial-gradient(circle at 18% 10%, rgba(174,128,59,.10), transparent 28rem),
    #292824;
}
body.admin-bar.single-product .ldc-product-viewer-page {
  height: calc(100svh - 114px);
}

.single-product .ldc-product-modal-shell {
  position: relative;
  width: min(96vw, 1510px);
  height: min(calc(100% - 4px), 900px);
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(355px, 420px);
  overflow: hidden;
  border: 1px solid rgba(174,128,59,.22);
  border-radius: 28px;
  background: var(--ldc-surface-warm);
  box-shadow: 0 32px 110px rgba(0,0,0,.30);
  animation: ldcProductShellIn .2s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes ldcProductShellIn {
  from { opacity: 0; transform: translateY(8px) scale(.994); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.single-product .ldc-product-close {
  position: absolute;
  z-index: 12;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(41,40,36,.14);
  border-radius: 999px;
  color: var(--ldc-text);
  background: rgba(250,248,244,.86);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-size: 1.45rem;
  font-weight: 300;
  line-height: 1;
  text-decoration: none;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.single-product .ldc-product-close:hover,
.single-product .ldc-product-close:focus-visible {
  color: #fff;
  background: var(--ldc-accent-dark);
  border-color: var(--ldc-accent-dark);
}

/* Left stage: one image at a time, swipe/scroll horizontally through the gallery. */
.single-product .ldc-product-stage {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,255,255,.75), transparent 34%),
    linear-gradient(145deg, #e8ded0 0%, #f5f0e9 55%, #e8ddce 100%);
}
.single-product .ldc-product-gallery-track {
  width: 100%;
  height: 100%;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.single-product .ldc-product-gallery-track::-webkit-scrollbar { display: none; }
.single-product .ldc-product-gallery-track:focus-visible {
  outline: 2px solid var(--ldc-accent);
  outline-offset: -4px;
}
.single-product .ldc-product-gallery-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: clamp(16px, 2vw, 28px);
  display: flex;
  align-items: center;
  justify-content: center;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}
.single-product .ldc-product-gallery-image {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  margin: 0 !important;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(61,51,40,.18);
}
.single-product .ldc-product-gallery-slide--empty {
  color: var(--ldc-muted);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.single-product .ldc-product-gallery-controls {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(148,106,47,.18);
  border-radius: 999px;
  background: rgba(250,248,244,.92);
  box-shadow: 0 8px 26px rgba(61,51,40,.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.single-product .ldc-product-gallery-arrow {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(148,106,47,.22);
  border-radius: 50%;
  color: var(--ldc-text);
  background: rgba(255,255,255,.88);
  cursor: pointer;
  font-size: .95rem;
  line-height: 1;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.single-product .ldc-product-gallery-arrow:hover:not(:disabled) {
  color: #fff;
  background: var(--ldc-accent-dark);
  border-color: var(--ldc-accent-dark);
}
.single-product .ldc-product-gallery-arrow:disabled { opacity: .34; cursor: default; }
.single-product .ldc-product-gallery-count {
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--ldc-muted);
  font-family: var(--ldc-title);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.single-product .ldc-product-gallery-count b { color: var(--ldc-text); }

/* Right panel: same role as the photo story panel, with its own scrollbar. */
.single-product .ldc-product-panel {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--ldc-text);
  background: #fffdf9;
  border-left: 1px solid rgba(207,194,177,.9);
}
.single-product .ldc-product-panel-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 24px 22px 30px;
  scrollbar-width: thin;
  scrollbar-color: rgba(174,128,59,.58) rgba(229,221,210,.28);
}
.single-product .ldc-product-panel-scroll::-webkit-scrollbar { width: 7px; }
.single-product .ldc-product-panel-scroll::-webkit-scrollbar-track { background: rgba(229,221,210,.25); }
.single-product .ldc-product-panel-scroll::-webkit-scrollbar-thumb {
  border: 2px solid #fffdf9;
  border-radius: 999px;
  background: rgba(174,128,59,.55);
}
.single-product .ldc-product-panel-scroll::-webkit-scrollbar-thumb:hover { background: rgba(148,106,47,.78); }

.single-product .ldc-product-brandline {
  display: flex;
  align-items: center;
  gap: 11px;
  padding-right: 44px;
  margin-bottom: 26px;
  user-select: none;
}
.single-product .ldc-product-brand-avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(174,128,59,.22);
  border-radius: 50%;
  background: #fff;
}
.single-product .ldc-product-brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: scale(1.25);
}
.single-product .ldc-product-brand-letter {
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: 1rem;
  font-weight: 700;
}
.single-product .ldc-product-brand-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.single-product .ldc-product-brand-copy strong {
  color: var(--ldc-text);
  font-family: var(--ldc-title);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .045em;
}
.single-product .ldc-product-brand-copy span {
  margin-top: 3px;
  color: var(--ldc-muted);
  font-size: .68rem;
}

.single-product .ldc-product-story h1 {
  margin: 0 0 10px;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: clamp(1.08rem, 1.35vw, 1.32rem);
  font-weight: 700;
  letter-spacing: -.018em;
  line-height: 1.28;
}
.single-product .ldc-product-price {
  margin: 0 0 14px;
  color: var(--ldc-text);
  font-family: var(--ldc-title);
  font-size: .95rem;
  font-weight: 700;
}
/* Quiet full-width separation between product title and description. */
.single-product .ldc-product-story-divider {
  width: 100%;
  height: 1px;
  margin: 0 0 14px;
  background: #ddd1c0;
}
.single-product .ldc-product-price del { color: var(--ldc-muted); opacity: .62; font-size: .82em; }
.single-product .ldc-product-price ins { text-decoration: none; }
.single-product .ldc-product-lead,
.single-product .ldc-product-long-description {
  color: #3a3833;
  font-size: .91rem;
  line-height: 1.55;
}
.single-product .ldc-product-lead { margin-bottom: 18px; }
.single-product .ldc-product-section-divider {
  width: 100%;
  height: 1px;
  margin: 0 0 18px;
  background: linear-gradient(90deg, rgba(184, 154, 106, .12) 0%, rgba(184, 154, 106, .55) 18%, rgba(184, 154, 106, .72) 50%, rgba(184, 154, 106, .55) 82%, rgba(184, 154, 106, .12) 100%);
}
.single-product .ldc-product-lead > *:first-child,
.single-product .ldc-product-long-description > *:first-child { margin-top: 0; }
.single-product .ldc-product-lead > *:last-child,
.single-product .ldc-product-long-description > *:last-child { margin-bottom: 0; }
.single-product .ldc-product-lead p,
.single-product .ldc-product-long-description p { margin: 0 0 .82em; }
.single-product .ldc-product-long-description h2 {
  margin: 27px 0 9px;
  color: var(--ldc-text);
  font-size: 1.18rem;
  line-height: 1.28;
}
.single-product .ldc-product-long-description h3 {
  margin: 22px 0 8px;
  color: var(--ldc-text);
  font-size: .98rem;
  line-height: 1.3;
}
.single-product .ldc-product-long-description ul,
.single-product .ldc-product-long-description ol { margin: 10px 0 17px; padding-left: 1.22em; }
.single-product .ldc-product-long-description li { margin: 6px 0; }
.single-product .ldc-product-long-description img {
  border-radius: 10px;
  box-shadow: var(--ldc-shadow-small);
}

/* Product-content components remain usable inside the story panel. */
.single-product .ldc-product-highlight,
.single-product .ldc-product-card {
  margin: 17px 0;
  padding: 16px;
  border: 1px solid var(--ldc-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(61,51,40,.045);
}
.single-product .ldc-product-highlight {
  border-color: rgba(174,128,59,.24);
  background: #fff9ef;
}
.single-product .ldc-product-checks {
  margin: 17px 0;
  padding: 16px;
  border-radius: 14px;
  background: var(--ldc-surface-warm);
}
.single-product .ldc-product-checks ul { margin: 0; padding: 0; list-style: none; }
.single-product .ldc-product-checks li {
  position: relative;
  margin: 0;
  padding: 7px 0 7px 25px;
  border-bottom: 1px solid rgba(207,194,177,.62);
}
.single-product .ldc-product-checks li:last-child { border-bottom: 0; }
.single-product .ldc-product-checks li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--ldc-accent-dark);
  font-weight: 700;
}
.single-product .ldc-product-steps { margin: 17px 0; counter-reset: ldc-product-step; }
.single-product .ldc-product-steps > * {
  position: relative;
  margin: 0 0 9px;
  padding: 13px 13px 13px 45px;
  border: 1px solid var(--ldc-line);
  border-radius: 13px;
  background: #fff;
  counter-increment: ldc-product-step;
}
.single-product .ldc-product-steps > *::before {
  content: counter(ldc-product-step);
  position: absolute;
  left: 12px;
  top: 12px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--ldc-accent-dark);
  font-size: .68rem;
  font-weight: 700;
}
.single-product .ldc-product-quote,
.single-product .ldc-product-long-description blockquote {
  margin: 20px 0;
  padding: 19px 18px;
  border: 0;
  border-radius: 15px;
  background: var(--ldc-dark);
  color: #fff;
  font-family: var(--ldc-title);
  font-size: .98rem;
  line-height: 1.5;
  text-align: center;
}
.single-product .ldc-product-faq details,
.single-product .ldc-product-long-description details {
  margin: 9px 0;
  overflow: hidden;
  border: 1px solid var(--ldc-line);
  border-radius: 12px;
  background: #fff;
}
.single-product .ldc-product-faq summary,
.single-product .ldc-product-long-description details > summary {
  cursor: pointer;
  padding: 13px 14px;
  color: var(--ldc-text);
  font-family: var(--ldc-title);
  font-size: .78rem;
  font-weight: 700;
}

/* Reviews live in the scrollable story; the compact summary stays in the dock. */
.single-product .ldc-product-reviews-section {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--ldc-line);
}
.single-product .ldc-product-reviews-section .woocommerce-Reviews-title,
.single-product .ldc-product-reviews-section .comment-reply-title { font-size: 1rem; }
.single-product .ldc-product-reviews-section #comments ol.commentlist { padding: 0; }
.single-product .ldc-product-reviews-section #comments ol.commentlist li .comment-text {
  margin-left: 0;
  padding: 13px;
  border: 1px solid var(--ldc-line);
  border-radius: 12px;
  background: #fff;
}
.single-product .ldc-product-reviews-section #comments ol.commentlist li img.avatar { display: none; }

/* Bottom dock: same position and weight as the reference, adapted to LDC. */
.single-product .ldc-product-panel-actions {
  flex: 0 0 auto;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 18px;
  border-top: 1px solid rgba(207,194,177,.88);
  background: rgba(250,248,244,.97);
}
.single-product .ldc-product-shop-button {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 9px 13px;
  border: 1px solid rgba(148,106,47,.72);
  border-radius: 4px;
  color: #91662c !important;
  background: rgba(174,128,59,.055);
  font-family: var(--ldc-title);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.single-product .ldc-product-shop-button:hover,
.single-product .ldc-product-shop-button:focus-visible {
  color: #fff !important;
  background: var(--ldc-accent-dark);
  border-color: var(--ldc-accent-dark);
}
.single-product .ldc-product-shop-button.is-disabled { opacity: .45; pointer-events: none; }
.single-product .ldc-product-rating-summary {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 2px;
  color: var(--ldc-text);
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
}
.single-product .ldc-product-rating-summary svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.single-product .ldc-product-rating-summary small { color: var(--ldc-muted); font-weight: 400; }
.single-product .ldc-product-rating-summary:hover { color: var(--ldc-accent-dark); }

@media (max-width: 1100px) and (min-width: 761px) {
  .single-product .ldc-product-modal-shell {
    grid-template-columns: minmax(0,1fr) 360px;
    width: min(97vw, 1280px);
  }
}

@media (max-width: 760px) {
  body.single-product.ldc-product-viewer-body { overflow: hidden; }
  .single-product .ldc-product-viewer-page {
    height: calc(100svh - 72px);
    padding: 0;
    background: #292824;
  }
  body.admin-bar.single-product .ldc-product-viewer-page {
    height: calc(100svh - 118px);
  }
  .single-product .ldc-product-modal-shell {
    width: 100%;
    height: 100%;
    max-height: none;
    grid-template-columns: 1fr;
    grid-template-rows: 46svh minmax(0, 1fr);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .single-product .ldc-product-stage {
    grid-row: 1;
    border-bottom: 1px solid rgba(207,194,177,.85);
  }
  .single-product .ldc-product-gallery-slide { padding: 12px 12px 34px; }
  .single-product .ldc-product-gallery-image {
    border-radius: 4px;
    box-shadow: 0 10px 34px rgba(61,51,40,.15);
  }
  .single-product .ldc-product-gallery-controls {
    bottom: 7px;
    padding: 4px;
  }
  .single-product .ldc-product-gallery-arrow { width: 32px; height: 32px; }
  .single-product .ldc-product-close {
    top: 9px;
    right: 9px;
    width: 36px;
    height: 36px;
  }
  .single-product .ldc-product-panel {
    grid-row: 2;
    border-left: 0;
    border-top: 0;
  }
  .single-product .ldc-product-panel-scroll { padding: 15px 16px 22px; }
  .single-product .ldc-product-brandline {
    gap: 10px;
    margin: 0 0 14px;
    padding-right: 0;
    min-height: 38px;
  }
  .single-product .ldc-product-brand-avatar {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    padding: 0;
  }
  .single-product .ldc-product-brand-copy strong { font-size: .84rem; }
  .single-product .ldc-product-brand-copy span { font-size: .66rem; }
  .single-product .ldc-product-story h1 { font-size: 1.08rem; }
  .single-product .ldc-product-lead,
  .single-product .ldc-product-long-description { font-size: .88rem; }
  .single-product .ldc-product-panel-actions {
    min-height: 62px;
    gap: 10px;
    padding: 9px 12px max(9px, env(safe-area-inset-bottom));
  }
  .single-product .ldc-product-shop-button {
    flex: 1 1 auto;
    min-height: 42px;
    padding-inline: 12px;
    font-size: .61rem;
  }
  .single-product .ldc-product-rating-summary { gap: 4px; font-size: .7rem; }
}

@media (max-width: 430px) {
  .single-product .ldc-product-modal-shell { grid-template-rows: 43svh minmax(0,1fr); }
  .single-product .ldc-product-panel-scroll { padding-inline: 14px; }
  .single-product .ldc-product-panel-actions { gap: 8px; }
  .single-product .ldc-product-shop-button { font-size: .58rem; letter-spacing: .025em; }
}

@media (prefers-reduced-motion: reduce) {
  .single-product .ldc-product-modal-shell { animation: none; }
  .single-product .ldc-product-gallery-track { scroll-behavior: auto; }
  .single-product .ldc-product-close,
  .single-product .ldc-product-gallery-arrow,
  .single-product .ldc-product-shop-button { transition: none; }
}


/* ==========================================================================\n   v2.3.2 — refined product viewer proportions and true mobile document flow.\n   Desktop keeps the immersive fixed viewer. Mobile becomes a normal vertical\n   page with a panoramic gallery and a fixed purchase/review dock.\n   ========================================================================== */

@media (min-width: 761px) {
  body.single-product.ldc-product-viewer-body {
    overflow: hidden;
  }

  .single-product .ldc-product-viewer-page {
    height: calc(100svh - 82px);
    padding: 18px clamp(18px, 2.6vw, 42px) 20px;
  }

  body.admin-bar.single-product .ldc-product-viewer-page {
    height: calc(100svh - 114px);
  }

  .single-product .ldc-product-modal-shell {
    width: min(92vw, 1380px);
    height: min(84svh, 820px);
    max-height: calc(100% - 8px);
    min-height: 560px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 400px);
    border-radius: 24px;
  }

  .single-product .ldc-product-gallery-slide {
    padding: clamp(18px, 2vw, 26px) clamp(18px, 2.1vw, 30px) 54px;
  }

  .single-product .ldc-product-gallery-controls {
    bottom: 14px;
  }

  .single-product .ldc-product-panel-scroll {
    scrollbar-gutter: stable;
    padding: 22px 20px 30px 22px;
  }

  .single-product .ldc-product-panel-scroll::-webkit-scrollbar {
    width: 6px;
  }

  .single-product .ldc-product-panel-scroll::-webkit-scrollbar-track {
    background: transparent;
  }

  .single-product .ldc-product-panel-scroll::-webkit-scrollbar-thumb {
    border: 1px solid transparent;
    background-clip: padding-box;
    background: rgba(174,128,59,.58);
  }

  .single-product .ldc-product-panel-scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(148,106,47,.86);
  }
}

@media (max-width: 760px) {
  /* Mobile is intentionally NOT a locked modal: the document scrolls normally. */
  body.single-product.ldc-product-viewer-body {
    overflow-x: hidden;
    overflow-y: auto;
    background: #292824;
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }

  .single-product .ldc-product-viewer-page,
  body.admin-bar.single-product .ldc-product-viewer-page {
    height: auto;
    min-height: calc(100svh - 72px);
    display: block;
    padding: 10px 8px 24px;
    background:
      radial-gradient(circle at 18% 5%, rgba(174,128,59,.09), transparent 24rem),
      #292824;
  }

  body.admin-bar.single-product .ldc-product-viewer-page {
    min-height: calc(100svh - 118px);
  }

  .single-product .ldc-product-modal-shell {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    border: 1px solid rgba(174,128,59,.22);
    border-radius: 19px;
    background: #fffdf9;
    box-shadow: 0 18px 50px rgba(0,0,0,.22);
    animation: none;
    transform: none;
  }

  .single-product .ldc-product-stage {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    min-height: 0;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    border-bottom: 1px solid rgba(207,194,177,.85);
  }

  .single-product .ldc-product-gallery-track {
    height: 100%;
  }

  .single-product .ldc-product-gallery-slide {
    height: 100%;
    padding: 10px 10px 44px;
  }

  .single-product .ldc-product-gallery-image {
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 5px;
    box-shadow: 0 8px 26px rgba(61,51,40,.14);
  }

  /* The page navigator stays centred on top of the gallery image. */
  .single-product .ldc-product-gallery-controls {
    left: 50%;
    right: auto;
    bottom: 8px;
    transform: translateX(-50%);
    z-index: 10;
    padding: 4px;
    background: rgba(250,248,244,.94);
    box-shadow: 0 5px 20px rgba(61,51,40,.13);
  }

  .single-product .ldc-product-gallery-arrow {
    width: 31px;
    height: 31px;
  }

  .single-product .ldc-product-close {
    top: 8px;
    right: 8px;
    width: 35px;
    height: 35px;
  }

  .single-product .ldc-product-panel {
    display: block;
    overflow: visible;
    border: 0;
    border-radius: 0 0 18px 18px;
    background: #fffdf9;
  }

  .single-product .ldc-product-panel-scroll {
    display: block;
    min-height: 0;
    max-height: none;
    overflow: visible;
    padding: 18px 17px 42px;
    scrollbar-width: auto;
  }

  .single-product .ldc-product-panel-scroll::-webkit-scrollbar {
    display: none;
  }

  .single-product .ldc-product-brandline {
    margin-bottom: 16px;
  }

  .single-product .ldc-product-story h1 {
    font-size: clamp(1.08rem, 5.2vw, 1.34rem);
    line-height: 1.25;
  }

  .single-product .ldc-product-lead,
  .single-product .ldc-product-long-description {
    font-size: .94rem;
    line-height: 1.58;
  }

  /* Fixed mobile dock: purchase CTA on the left, reviews on the right. */
  .single-product .ldc-product-panel-actions {
    position: fixed;
    z-index: 90;
    left: 10px;
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px;
    border: 1px solid rgba(207,194,177,.92);
    border-radius: 15px;
    background: rgba(250,248,244,.97);
    box-shadow: 0 10px 34px rgba(0,0,0,.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .single-product .ldc-product-shop-button {
    flex: 1 1 auto;
    min-height: 42px;
    justify-content: center;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: .63rem;
  }

  .single-product .ldc-product-rating-summary {
    flex: 0 0 auto;
    min-width: 64px;
    min-height: 42px;
    justify-content: center;
    padding: 8px 7px;
    border-left: 1px solid rgba(207,194,177,.75);
    font-size: .72rem;
  }
}

@media (max-width: 430px) {
  .single-product .ldc-product-viewer-page,
  body.admin-bar.single-product .ldc-product-viewer-page {
    padding-inline: 5px;
  }

  .single-product .ldc-product-stage {
    aspect-ratio: 16 / 10.4;
  }

  .single-product .ldc-product-panel-scroll {
    padding-inline: 15px;
  }

  .single-product .ldc-product-panel-actions {
    left: 7px;
    right: 7px;
  }

  .single-product .ldc-product-shop-button {
    font-size: .59rem;
    letter-spacing: .025em;
  }
}


/* ==========================================================================\n   v2.3.3 — product gallery scale and site-wide review summary.\n   Keeps the v2.3.2 viewer structure intact.\n   ========================================================================== */

.single-product .ldc-product-rating-stars {
  color: var(--ldc-accent);
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-.02em);
}

.single-product .ldc-product-rating-summary {
  white-space: nowrap;
}

@media (min-width: 761px) {
  /* Keep the right panel exactly as before; only make the gallery artwork
     smaller and vertically centred so its top/bottom are always visible. */
  .single-product .ldc-product-gallery-slide {
    padding: 16px;
  }

  .single-product .ldc-product-gallery-image {
    max-width: 90% !important;
    max-height: 84% !important;
  }

  .single-product .ldc-product-panel-actions {
    gap: 12px;
  }

  .single-product .ldc-product-shop-button {
    min-height: 36px;
    padding: 8px 11px;
    font-size: .62rem;
    letter-spacing: .04em;
  }

  .single-product .ldc-product-rating-summary {
    gap: 5px;
    padding: 7px 0;
    font-size: .72rem;
  }
}

@media (max-width: 760px) {
  /* Give the gallery most of the first mobile viewport while preserving a
     small frame around the image and room for the overlaid navigator. */
  .single-product .ldc-product-stage {
    height: clamp(390px, 62svh, 620px);
    aspect-ratio: auto;
  }

  .single-product .ldc-product-gallery-slide {
    padding: 8px 8px 44px;
  }

  .single-product .ldc-product-gallery-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
    object-position: center;
  }

  .single-product .ldc-product-panel-actions {
    gap: 7px;
  }

  .single-product .ldc-product-shop-button {
    min-width: 0;
    min-height: 40px;
    padding: 9px 10px;
    font-size: .60rem;
  }

  .single-product .ldc-product-rating-summary {
    min-width: auto;
    min-height: 40px;
    gap: 4px;
    padding: 7px 6px;
    font-size: .68rem;
  }

  .single-product .ldc-product-rating-stars {
    font-size: .94rem;
  }
}

@media (max-width: 430px) {
  .single-product .ldc-product-stage {
    height: clamp(380px, 60svh, 560px);
    aspect-ratio: auto;
  }

  .single-product .ldc-product-shop-button {
    font-size: .57rem;
  }

  .single-product .ldc-product-rating-summary {
    font-size: .65rem;
  }
}

/* ==========================================================================
   v2.3.4 — square product gallery, safer desktop centring and on-demand reviews.
   ========================================================================== */

/* The detailed review area is deliberately absent from the story until the
   compact rating control in the lower dock is activated. */
.single-product .ldc-product-reviews-section[hidden] {
  display: none !important;
}

.single-product button.ldc-product-rating-summary {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  font-family: inherit;
  line-height: inherit;
  cursor: pointer;
}
.single-product .ldc-product-rating-summary.is-static { cursor: default; }
.single-product button.ldc-product-rating-summary:focus-visible {
  outline: 2px solid rgba(174,128,59,.58);
  outline-offset: 3px;
  border-radius: 7px;
}

@media (min-width: 761px) {
  /* Fit the complete viewer inside the usable viewport below the site header.
     The right information panel keeps its established 400px width; only the
     gallery side is tightened so the square artwork has an even frame. */
  .single-product .ldc-product-viewer-page,
  body.admin-bar.single-product .ldc-product-viewer-page {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .single-product .ldc-product-modal-shell {
    width: min(92vw, calc(min(72svh, 700px) + 400px));
    height: min(72svh, 700px);
    min-height: 520px;
    max-height: calc(100% - 48px);
    grid-template-columns: minmax(0, 1fr) 400px;
    margin: auto;
  }

  /* Because the first grid column is sized from the same value as the shell
     height, the gallery cell is square on normal desktop widths. The margin is
     identical on all four sides and the image itself fills that square. */
  .single-product .ldc-product-stage {
    align-self: stretch;
    justify-self: stretch;
    min-width: 0;
    min-height: 0;
    margin: 14px;
    border-radius: 13px;
    background: transparent;
  }

  .single-product .ldc-product-gallery-slide {
    padding: 0;
  }

  .single-product .ldc-product-gallery-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: center;
    border-radius: 9px;
    background: transparent;
    box-shadow: none;
  }

  /* Controls sit on the artwork instead of reserving extra white space. */
  .single-product .ldc-product-gallery-controls {
    bottom: 12px;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .single-product .ldc-product-modal-shell {
    width: min(94vw, calc(min(70svh, 650px) + 360px));
    height: min(70svh, 650px);
    grid-template-columns: minmax(0, 1fr) 360px;
  }
}

@media (max-width: 760px) {
  /* Mobile keeps the existing vertical document flow, but the gallery itself
     is now a true square that nearly fills the viewer width. */
  .single-product .ldc-product-stage {
    width: calc(100% - 16px);
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 8px auto;
    border: 0;
    border-radius: 12px;
    background: transparent;
  }

  .single-product .ldc-product-gallery-track,
  .single-product .ldc-product-gallery-slide {
    height: 100%;
  }

  .single-product .ldc-product-gallery-slide {
    padding: 0;
  }

  .single-product .ldc-product-gallery-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: center;
    border-radius: 9px;
    background: transparent;
    box-shadow: none;
  }

  .single-product .ldc-product-gallery-controls {
    bottom: 10px;
  }
}


/* ==========================================================================
   v2.3.5 — immersive desktop product viewer matched to the photography viewer.
   Desktop only: the viewer becomes a near-full-screen overlay independent of
   the theme header/footer. Mobile remains exactly as in v2.3.4.
   ========================================================================== */

@media (min-width: 761px) {
  /* Treat the product as an immersive viewer, not as content constrained by
     the site header. The WordPress admin bar remains above it when logged in. */
  .single-product .ldc-product-viewer-page,
  body.admin-bar.single-product .ldc-product-viewer-page {
    position: fixed;
    z-index: 5000;
    inset: 0;
    width: 100%;
    height: auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 2.6vw, 44px);
    background:
      radial-gradient(circle at 18% 10%, rgba(174,128,59,.10), transparent 28rem),
      #292824;
  }

  body.admin-bar.single-product .ldc-product-viewer-page {
    top: 32px;
  }

  /* Same near-full-screen proportions as the supplied photography viewer.
     The information panel stays at 400px; only the gallery area expands. */
  .single-product .ldc-product-modal-shell {
    width: min(96vw, 1510px);
    height: min(88svh, 930px);
    min-height: 590px;
    max-height: none;
    grid-template-columns: minmax(0, 1fr) 400px;
    margin: 0;
    border-radius: 28px;
  }

  /* Restore a true photographic stage. Square product images are centred at
     the largest size allowed by the stage height instead of forcing the stage
     itself to become square. */
  .single-product .ldc-product-stage {
    align-self: stretch;
    justify-self: stretch;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background:
      radial-gradient(circle at 15% 10%, rgba(255,255,255,.72), transparent 34%),
      linear-gradient(145deg, #e8ded0 0%, #f5f0e9 55%, #e8ddce 100%);
  }

  .single-product .ldc-product-gallery-slide {
    padding: clamp(16px, 2vw, 28px);
  }

  .single-product .ldc-product-gallery-image {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: center;
    border-radius: 9px;
    background: transparent;
    box-shadow: 0 18px 48px rgba(61,51,40,.16);
  }

  /* Navigator floats over the artwork, as in the photography viewer. */
  .single-product .ldc-product-gallery-controls {
    bottom: clamp(24px, 3vw, 38px);
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .single-product .ldc-product-modal-shell {
    width: min(96vw, 1120px);
    height: min(86svh, 820px);
    min-height: 560px;
    grid-template-columns: minmax(0, 1fr) 360px;
  }
}

/* ==========================================================================
   v2.3.6 — compact footer navigation inside the immersive product viewer.
   The normal site footer stays hidden; legal/navigation links and available
   translations remain reachable from a collapsed drawer at the end of copy.
   ========================================================================== */

.single-product .ldc-product-aux-links {
  margin: 34px 0 8px;
  border-top: 1px solid rgba(148, 106, 47, .22);
  border-bottom: 1px solid rgba(148, 106, 47, .18);
}

.single-product .ldc-product-aux-links > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 48px;
  padding: 11px 2px;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}

.single-product .ldc-product-aux-links > summary::-webkit-details-marker {
  display: none;
}

.single-product .ldc-product-aux-chevron {
  flex: 0 0 auto;
  font-family: var(--ldc-body);
  font-size: 20px;
  line-height: 1;
  transform-origin: center;
  transition: transform .2s ease;
}

.single-product .ldc-product-aux-links[open] .ldc-product-aux-chevron {
  transform: rotate(180deg);
}

.single-product .ldc-product-aux-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 28px;
  padding: 4px 0 20px;
}

.single-product .ldc-product-aux-column h2 {
  margin: 0 0 10px;
  color: var(--ldc-text);
  font-family: var(--ldc-title);
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.single-product .ldc-product-aux-column ul,
.single-product .ldc-product-aux-column > ul,
.single-product .ldc-product-aux-menu {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product .ldc-product-aux-column li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product .ldc-product-aux-column a {
  color: var(--ldc-muted);
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}

.single-product .ldc-product-aux-column a:hover,
.single-product .ldc-product-aux-column a:focus-visible {
  color: var(--ldc-accent-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.single-product .ldc-product-language-switcher {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(41, 40, 36, .09);
}

.single-product .ldc-product-language-switcher > span {
  color: var(--ldc-muted);
  font-size: 13px;
}

.single-product .ldc-product-language-switcher > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.single-product .ldc-product-language-switcher a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid rgba(148, 106, 47, .28);
  border-radius: 999px;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
}

.single-product .ldc-product-language-switcher a[aria-current="page"] {
  background: var(--ldc-accent-dark);
  border-color: var(--ldc-accent-dark);
  color: #fff;
}

@media (max-width: 760px) {
  .single-product .ldc-product-aux-links {
    margin-top: 28px;
  }

  .single-product .ldc-product-aux-content {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-bottom: 18px;
  }

  .single-product .ldc-product-language-switcher {
    grid-column: auto;
  }
}

/* v2.3.7 — compact language switcher below the two footer menus. */
.ldc-footer-language-switcher {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid rgba(41, 40, 36, .09);
}

.ldc-footer-language-switcher > span {
  color: var(--ldc-muted);
  font-size: 13px;
}

.ldc-footer-language-switcher > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.ldc-footer-language-switcher a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid rgba(148, 106, 47, .28);
  border-radius: 999px;
  color: var(--ldc-accent-dark);
  font-family: var(--ldc-title);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
}

.ldc-footer-language-switcher a:hover,
.ldc-footer-language-switcher a:focus-visible {
  color: var(--ldc-accent-dark);
  border-color: rgba(148, 106, 47, .55);
  background: rgba(255, 255, 255, .34);
  text-decoration: none;
}

.ldc-footer-language-switcher a[aria-current="page"] {
  background: var(--ldc-accent-dark);
  border-color: var(--ldc-accent-dark);
  color: #fff;
}

@media (max-width: 620px) {
  .ldc-footer-language-switcher {
    gap: 12px;
  }

  .ldc-footer-language-switcher > div {
    gap: 6px;
  }
}

/* v2.3.13 — embedded product collections reuse the homepage product cards. */
.ldc-product-collection {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: min(calc(100vw - 40px), var(--ldc-width));
  max-width: none !important;
  padding: 18px 0 8px;
  margin: 2.8rem 0;
  box-sizing: border-box;
}
/* A Gutenberg Shortcode block is normally constrained to the article's text width. */
.entry-content > .wp-block-shortcode:has(.ldc-product-collection) { max-width: none; width: 100%; }

/* v2.3.15 — The shortcode is Gutenberg content; the Shortcode block can
   supply a monospace font. Reset it explicitly to the site's Cardo font,
   without touching the shared journal-card markup or its own styles. */
.ldc-product-collection {
  font-family: var(--ldc-body);
}
/* Match the collection header to the full width of the product grid. */
.ldc-product-collection .ldc-product-collection-heading {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 0 30px;
  text-align: left;
}
.ldc-product-collection .ldc-product-collection-title {
  /* Inherits global H2 font, color and scale; only resets the article's top margin. */
  margin: 0;
}
.ldc-product-collection .ldc-product-collection-description {
  /* Explicitly use ordinary article paragraph typography. The shortcode block
     may otherwise make this text monospaced, even though body uses Cardo. */
  display: block;
  width: 100%;
  max-width: none;
  margin: 10px 0 0;
  font-family: var(--ldc-body);
  font-size: 1.07rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.72;
  letter-spacing: normal;
  word-spacing: normal;
  color: var(--ldc-text);
  text-align: left;
}
.entry-content .ldc-product-collection .ldc-section-action { margin-top: 30px; }
.entry-content .ldc-product-collection .ldc-journal-grid { margin: 0; }
.entry-content .ldc-product-collection .ldc-journal-card { margin: 0; }
@media (max-width: 680px) {
  .ldc-product-collection { padding: 8px 0; margin: 2rem 0; }
  .ldc-product-collection .ldc-product-collection-heading { margin-bottom: 22px; }
}


/* ================================================================
   v2.3.16 — Galería horizontal para artículos (estilo Gutenberg).
   Se aplica SOLO si se elige «Carrusel de imágenes LDC».
   Sin dependencias externas, scroll táctil nativo, 2 / 3 / 4 fotos.
   ================================================================ */
.entry-content .wp-block-gallery.is-style-ldc-carrusel {
  --ldc-gallery-count: 4;
  --ldc-gallery-gap: 10px;
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--ldc-gallery-count) - 1) * var(--ldc-gallery-gap)) / var(--ldc-gallery-count));
  grid-template-columns: none !important;
  align-items: stretch;
  gap: var(--ldc-gallery-gap) !important;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 4px 0 10px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #c7b69e transparent;
}
.entry-content .wp-block-gallery.is-style-ldc-carrusel > figure.wp-block-image:not(#individual-image),
.entry-content .wp-block-gallery.is-style-ldc-carrusel > .wp-block-image {
  position: relative;
  display: block !important;
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: 2 / 3;
  border-radius: 12px;
  overflow: hidden;
  background: var(--ldc-surface-soft);
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}
.entry-content .wp-block-gallery.is-style-ldc-carrusel > figure.wp-block-image > a,
.entry-content .wp-block-gallery.is-style-ldc-carrusel > figure.wp-block-image > div:not(.components-resizable-box__container) {
  display: block;
  width: 100%;
  height: 100%;
}
.entry-content .wp-block-gallery.is-style-ldc-carrusel > figure.wp-block-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  aspect-ratio: 2 / 3;
  object-fit: contain !important;
  border-radius: 12px !important;
}
.entry-content .wp-block-gallery.is-style-ldc-carrusel > figure.wp-block-image figcaption {
  position: absolute;
  inset: auto 0 0;
  box-sizing: border-box;
  margin: 0;
  padding: 16px 5px 7px;
  color: #fff;
  background: linear-gradient(transparent, rgba(0, 0, 0, .67));
  font-family: var(--ldc-body);
  font-size: .68rem;
  line-height: 1.35;
  text-align: center;
  pointer-events: none;
}
/* La envoltura la añade JS; sin JS las imágenes siguen siendo desplazables. */
.entry-content > .ldc-article-gallery {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 2rem auto;
  min-width: 0;
}
.ldc-article-gallery.is-ready > .wp-block-gallery.is-style-ldc-carrusel {
  scrollbar-width: none;
}
.ldc-article-gallery.is-ready > .wp-block-gallery.is-style-ldc-carrusel::-webkit-scrollbar {
  display: none;
}
.ldc-article-gallery-controls {
  display: contents;
}
.ldc-article-gallery-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 34px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid rgba(174, 128, 59, .28);
  border-radius: 999px;
  background: rgba(250, 248, 244, .93);
  color: var(--ldc-accent-dark);
  box-shadow: 0 3px 14px rgba(0, 0, 0, .09);
  cursor: pointer;
  font-family: Georgia, serif;
  font-size: 29px;
  line-height: 1;
  transition: background-color .15s ease, box-shadow .15s ease;
}
.ldc-article-gallery-arrow:hover,
.ldc-article-gallery-arrow:focus-visible {
  background: #fff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .17);
}
.ldc-article-gallery-arrow[disabled],
.ldc-article-gallery:not(.has-overflow) .ldc-article-gallery-arrow {
  display: none;
}
.ldc-article-gallery-arrow--prev { left: 7px; }
.ldc-article-gallery-arrow--next { right: 7px; }
.ldc-article-gallery > .blocks-gallery-caption,
.ldc-article-gallery > figcaption {
  display: block;
  margin: 8px 0 0;
  color: var(--ldc-muted);
  font-family: var(--ldc-body);
  font-size: .79rem;
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 641px) and (max-width: 1024px) {
  .entry-content .wp-block-gallery.is-style-ldc-carrusel { --ldc-gallery-count: 3; }
}
@media (max-width: 640px) {
  .entry-content .wp-block-gallery.is-style-ldc-carrusel {
    --ldc-gallery-count: 2;
    --ldc-gallery-gap: 8px;
  }
  .ldc-article-gallery-arrow {
    width: 28px;
    height: 37px;
    font-size: 25px;
  }
  .ldc-article-gallery-arrow--prev { left: 3px; }
  .ldc-article-gallery-arrow--next { right: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .entry-content .wp-block-gallery.is-style-ldc-carrusel { scroll-behavior: auto; }
  .ldc-article-gallery-arrow { transition: none; }
}
@media print {
  .entry-content .wp-block-gallery.is-style-ldc-carrusel {
    display: flex !important;
    flex-wrap: wrap;
    overflow: visible;
    scroll-snap-type: none;
  }
  .entry-content .wp-block-gallery.is-style-ldc-carrusel > figure.wp-block-image { width: 18% !important; }
  .ldc-article-gallery-controls { display: none; }
}


/* v2.3.19 — Proporción real 2:3 (sin recortes), para las imágenes
   verticales editoriales de Letras del Camino. */
/* v2.3.17 — Carrusel editorial: anchura correcta también dentro de grupos,
   desplazamiento sin barra, visor propio de imagen a tamaño completo. */
.entry-content .ldc-article-gallery {
  position: relative;
  width: min(100%, 780px);
  max-width: 780px;
  min-width: 0;
  margin: 2rem auto;
}
.entry-content .wp-block-gallery.is-style-ldc-carrusel {
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: pan-x pan-y;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.entry-content .wp-block-gallery.is-style-ldc-carrusel::-webkit-scrollbar { display: none; }
.entry-content .wp-block-gallery.is-style-ldc-carrusel.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
}
.entry-content .wp-block-gallery.is-style-ldc-carrusel > figure.wp-block-image {
  cursor: zoom-in;
}
.entry-content .wp-block-gallery.is-style-ldc-carrusel > figure.wp-block-image:focus-visible {
  outline: 3px solid var(--ldc-accent);
  outline-offset: 2px;
}
.ldc-article-gallery .ldc-article-gallery-arrow {
  z-index: 4;
  opacity: .96;
  touch-action: manipulation;
}
.ldc-article-gallery .ldc-article-gallery-arrow:focus-visible {
  outline: 2px solid var(--ldc-accent-dark);
  outline-offset: 3px;
}
/* v2.3.18 — En escritorio la galería usa el ancho editorial amplio (1080px),
   incluso si Gutenberg la coloca dentro de un Grupo limitado a 780px.
   Se centra sobre ese grupo sin alterar la anchura del texto, del resto de
   galerías o del propio grupo. Móvil conserva íntegramente su maquetación. */
@media (min-width: 1025px) {
  .single-post .entry-content .ldc-article-gallery {
    width: min(1080px, calc(100vw - 40px));
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
/* Visor propio, aislado de la lightbox de WooCommerce y de otras galerías. */
body.ldc-article-lightbox-open { overflow: hidden; }
.ldc-article-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 62px 65px 50px;
  background: rgba(19, 18, 17, .96);
  color: #fff;
  box-sizing: border-box;
}
.ldc-article-lightbox[hidden] { display: none !important; }
.ldc-article-lightbox .ldc-article-lightbox-image {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 1500px);
  max-height: calc(100dvh - 155px);
  object-fit: contain;
  border-radius: 4px;
  background: transparent;
  box-shadow: 0 12px 65px rgba(0, 0, 0, .28);
}
.ldc-article-lightbox .ldc-article-lightbox-close,
.ldc-article-lightbox .ldc-article-lightbox-prev,
.ldc-article-lightbox .ldc-article-lightbox-next {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  padding: 0;
  width: 42px;
  height: 42px;
  background: rgba(50, 47, 43, .85);
  color: white;
  cursor: pointer;
  font-family: system-ui, sans-serif;
  font-weight: 400;
  line-height: 1;
}
.ldc-article-lightbox button:hover,
.ldc-article-lightbox button:focus-visible {
  background: #fff;
  color: #292824;
  outline-offset: 3px;
}
.ldc-article-lightbox-close { top: 14px; right: 18px; font-size: 29px; }
.ldc-article-lightbox-prev { left: 12px; top: 50%; transform: translateY(-50%); font-size: 31px; }
.ldc-article-lightbox-next { right: 12px; top: 50%; transform: translateY(-50%); font-size: 31px; }
.ldc-article-lightbox-caption {
  max-width: min(90vw, 850px);
  text-align: center;
  font-family: var(--ldc-body);
  font-size: .95rem;
  line-height: 1.4;
  margin-top: 15px;
  color: rgba(255,255,255,.9);
}
.ldc-article-lightbox-count {
  margin-top: 7px;
  font: 13px/1.2 system-ui, sans-serif;
  color: rgba(255,255,255,.66);
  font-variant-numeric: tabular-nums;
}
@media (max-width: 640px) {
  .ldc-article-lightbox { padding: 65px 12px 90px; }
  .ldc-article-lightbox .ldc-article-lightbox-image { max-height: calc(100dvh - 180px); }
  .ldc-article-lightbox-close { top: 11px; right: 13px; }
  .ldc-article-lightbox-prev,
  .ldc-article-lightbox-next { top: auto; bottom: 20px; transform: none; }
  .ldc-article-lightbox-prev { left: calc(50% - 102px); }
  .ldc-article-lightbox-next { right: calc(50% - 102px); }
}

/* v2.3.20 — Purchase choices powered by LDC Product Routing 0.7.0. */
@media (min-width: 761px) {
  .single-product .ldc-product-panel-actions { position: relative; z-index: 8; overflow: visible; }
}
.single-product .ldc-purchase-picker { position: relative; flex: 1 1 auto; min-width: 0; max-width: 280px; }
.single-product .ldc-purchase-picker > summary { list-style: none; cursor: pointer; user-select: none; width: max-content; max-width: 100%; }
.single-product .ldc-purchase-picker > summary::-webkit-details-marker { display: none; }
.single-product .ldc-purchase-picker > summary .ldc-purchase-chevron { display: block; flex: 0 0 14px; width: 14px; height: 14px; align-self: center; transform: rotate(0deg); transform-origin: 50% 50%; transition: transform .18s ease; }
.single-product .ldc-purchase-picker[open] > summary .ldc-purchase-chevron { transform: rotate(180deg); }
.single-product .ldc-purchase-picker > summary:focus-visible { outline: 2px solid #91662c; outline-offset: 3px; }
.single-product .ldc-purchase-options {
  position: absolute; z-index: 30; left: 0; bottom: calc(100% + 19px);
  width: min(344px, calc(100vw - 36px)); max-height: min(58vh, 340px);
  overflow-y: auto; overscroll-behavior: contain; padding: 12px;
  border: 1px solid #d8cabb; border-radius: 15px; background: #fcfaf7;
  box-shadow: 0 15px 48px rgba(49,35,20,.22);
}
.single-product .ldc-purchase-options-heading {
  font: 700 .8rem/1.35 var(--ldc-title); color: #745126; margin: 2px 5px 12px;
}
.single-product a.ldc-purchase-option {
  display: flex; align-items: center; gap: 12px; text-decoration: none;
  padding: 11px 9px; border-radius: 10px; color: var(--ldc-text);
  border: 1px solid transparent; transition: background .15s ease, border-color .15s ease;
}
.single-product a.ldc-purchase-option + a.ldc-purchase-option { border-top: 1px solid #e8dfd4; border-top-left-radius: 0; border-top-right-radius: 0; }
.single-product a.ldc-purchase-option:hover, .single-product a.ldc-purchase-option:focus-visible {
  background: #f2eade; border-color: #ddcbb0; outline: none;
}
.single-product .ldc-purchase-option-icon {
  width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center;
  border-radius: 10px; border: 1px solid #e5d9c8; background: #f5efe6;
  color: #8d632d; font: 700 .68rem/1 var(--ldc-title);
}
.single-product .ldc-purchase-option-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.single-product .ldc-purchase-option-copy strong { font: 700 .82rem/1.3 var(--ldc-title); color: #684a2b; }
.single-product .ldc-purchase-option-copy small { font-size: .73rem; color: #756c62; }
.single-product .ldc-purchase-option-arrow { margin-left: auto; color: #956e37; }
.single-product .ldc-purchase-option-price { white-space: nowrap; font-size: .96em; font-variant-numeric: tabular-nums; color: #73634f; }
@media (max-width: 760px) {
  .single-product .ldc-purchase-picker { max-width: min(75vw, 300px); }
  .single-product .ldc-purchase-options { width: min(344px, calc(100vw - 40px)); bottom: calc(100% + 17px); }
}
@media (prefers-reduced-motion: reduce) {
  .single-product .ldc-purchase-picker > summary .ldc-purchase-chevron,
  .single-product a.ldc-purchase-option { transition: none; }
}

/* The popover must not be clipped by the desktop scroll panel. */
@media (min-width: 761px) {
  .single-product .ldc-product-panel { overflow: visible; }
}
/* The mobile summary lives inside a fixed dock, not a separate fixed button. */
@media (max-width: 760px) {
  .single-product .ldc-purchase-picker > summary.ldc-product-shop-button { display: inline-flex; }
}

@media (max-width: 760px) {
  .single-product .ldc-product-panel-actions { position: fixed; z-index: 90; overflow: visible; }
}


/* v2.3.22 — Compact product cards: active formats and lowest buyable price.
   This affects WooCommerce loops, editorial collections, and article embeds. */
.woocommerce ul.products li.product .ldc-card-formats,
.woocommerce-page ul.products li.product .ldc-card-formats,
.ldc-journal-card--home-shop .ldc-card-formats,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-formats {
  position: absolute;
  z-index: 6;
  top: 13px;
  left: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  pointer-events: none;
}
.woocommerce ul.products li.product .ldc-card-format,
.woocommerce-page ul.products li.product .ldc-card-format,
.ldc-journal-card--home-shop .ldc-card-format,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-format {
  display: block;
  width: max-content;
  max-width: 100%;
  padding: 5px 9px 4px;
  border: 1px solid rgba(218, 204, 183, .82);
  border-radius: 8px;
  background: rgba(252, 250, 246, .96);
  box-shadow: 0 2px 8px rgba(53, 44, 36, .09);
  color: #795a35;
  font-family: var(--ldc-title);
  font-size: .61rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .03em;
  white-space: nowrap;
}
/* Preserve the original badge positioning, but give the two lines breathing room. */
.woocommerce ul.products li.product .ldc-card-price-badge,
.woocommerce-page ul.products li.product .ldc-card-price-badge,
.ldc-journal-grid--home .ldc-journal-price-badge,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-product-embed-price {
  width: 73px;
  min-width: 73px;
  height: 73px;
  min-height: 73px;
  padding: 8px 5px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3px;
  text-align: center;
  line-height: 1.1;
  pointer-events: none;
}
.woocommerce ul.products li.product .ldc-card-price-from,
.woocommerce-page ul.products li.product .ldc-card-price-from,
.ldc-journal-card--home-shop .ldc-card-price-from,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-price-from {
  display: block;
  color: #856b4e;
  font: 700 .61rem/1.15 var(--ldc-body);
  letter-spacing: .015em;
}
.woocommerce ul.products li.product .ldc-card-price-amount,
.woocommerce-page ul.products li.product .ldc-card-price-amount,
.ldc-journal-card--home-shop .ldc-card-price-amount,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-price-amount {
  display: block;
  color: var(--ldc-text);
  font: 700 .72rem/1.1 var(--ldc-title);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
/* Sale flashes should not sit on top of the left-side format labels. */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
  top: auto !important;
  bottom: 12px;
}
@media (max-width: 620px) {
  .woocommerce ul.products li.product .ldc-card-formats,
  .woocommerce-page ul.products li.product .ldc-card-formats,
  .ldc-journal-card--home-shop .ldc-card-formats,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-formats {
    top: 9px;
    left: 9px;
    gap: 4px;
  }
  .woocommerce ul.products li.product .ldc-card-format,
  .woocommerce-page ul.products li.product .ldc-card-format,
  .ldc-journal-card--home-shop .ldc-card-format,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-format {
    padding: 4px 7px 3px;
    font-size: .56rem;
    border-radius: 7px;
  }
  .woocommerce ul.products li.product .ldc-card-price-badge,
  .woocommerce-page ul.products li.product .ldc-card-price-badge,
  .ldc-journal-grid--home .ldc-journal-price-badge,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-product-embed-price {
    top: 9px;
    right: 9px;
    width: 68px;
    min-width: 68px;
    height: 68px;
    min-height: 68px;
    padding: 6px 4px;
    gap: 2px;
  }
  .woocommerce ul.products li.product .ldc-card-price-amount,
  .woocommerce-page ul.products li.product .ldc-card-price-amount,
  .ldc-journal-card--home-shop .ldc-card-price-amount,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-price-amount {
    font-size: .67rem;
  }
}


/* v2.3.24 — Softer, compact "Desde / From / Dès / Ab" badges.
   Use exactly the paper/beige colors of the format labels while keeping
   the existing type sizes. Works for shop cards, homepage and article embeds. */
.woocommerce ul.products li.product .ldc-card-price-badge,
.woocommerce-page ul.products li.product .ldc-card-price-badge,
.ldc-journal-grid--home .ldc-journal-price-badge,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-product-embed-price {
  background: rgba(252, 250, 246, .96);
  border: 1px solid rgba(218, 204, 183, .82);
  box-shadow: 0 2px 8px rgba(53, 44, 36, .09);
  color: #795a35;
}
.woocommerce ul.products li.product .ldc-card-price-from,
.woocommerce-page ul.products li.product .ldc-card-price-from,
.ldc-journal-card--home-shop .ldc-card-price-from,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-price-from,
.woocommerce ul.products li.product .ldc-card-price-amount,
.woocommerce-page ul.products li.product .ldc-card-price-amount,
.ldc-journal-card--home-shop .ldc-card-price-amount,
:is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-card-price-amount {
  color: #795a35;
}
@media (max-width: 620px) {
  .woocommerce ul.products li.product .ldc-card-price-badge,
  .woocommerce-page ul.products li.product .ldc-card-price-badge,
  .ldc-journal-grid--home .ldc-journal-price-badge,
  :is(.single-post .ldc-article-content, body.ldc-book-viewer .ldc-sv-slide.ldc-article-content, body.ldc-book-viewer .ldc-sv-form-panel, .ldc-product-collection) .ldc-product-embed .ldc-product-embed-price {
    width: 54px;
    min-width: 54px;
    max-width: 54px;
    height: 54px;
    min-height: 54px;
    max-height: 54px;
    padding: 4px 2px;
    gap: 1px;
  }
}

/* v2.3.27 — Four formats: fixed spacing and localized info-page links. */
.ldc-section--formats-home .ldc-method-tag { width: 62px; min-width: 62px; }
.ldc-section--formats-home .ldc-method { min-width: 0; }
@media (max-width: 760px) {
  .ldc-section--formats-home .ldc-method { min-height: 0; }
}

/* v2.3.29 — Spanish writing categories beneath the complete Escritura catalogue. */
.ldc-section--writing-types { padding-top: 50px; background: rgba(238,232,223,.64); border-block: 1px solid rgba(229,221,210,.88); }
.ldc-writing-types-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.ldc-writing-type-card { display:flex; align-items:flex-start; gap:22px; min-height:246px; padding:30px; position:relative; overflow:hidden; border:1px solid var(--ldc-line); border-radius:var(--ldc-radius-lg); background:#fff; box-shadow:var(--ldc-shadow-small); text-decoration:none; color:var(--ldc-text); transition:transform .2s ease,box-shadow .2s ease; }
.ldc-writing-type-card::after { content:''; position:absolute; width:190px; height:190px; border-radius:50%; background:rgba(174,128,59,.055); right:-85px; top:-85px; pointer-events:none; }
.ldc-writing-type-card--warm { background:linear-gradient(145deg,#fff,#f4eee4); }
.ldc-writing-type-card:hover { color:var(--ldc-text); transform:translateY(-3px); box-shadow:var(--ldc-shadow); }
.ldc-writing-type-badge { display:grid; place-items:center; width:48px; height:48px; min-width:48px; border-radius:15px; color:var(--ldc-accent-dark); background:var(--ldc-surface-soft); font:700 .8rem var(--ldc-title); }
.ldc-writing-type-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; gap:13px; position:relative; z-index:1; }
.ldc-writing-type-title { font:600 clamp(1.5rem,2.5vw,2.05rem)/1.2 var(--ldc-title); }
.ldc-writing-type-description { color:var(--ldc-muted); line-height:1.58; }
.ldc-writing-type-link { color:var(--ldc-accent-dark); font-family:var(--ldc-title); font-size:.7rem; font-weight:700; margin-top:auto; padding-top:12px; }
.ldc-writing-type-link span { margin-left:8px; }
@media(max-width:760px) { .ldc-writing-types-grid { grid-template-columns:1fr; } .ldc-section--writing-types { padding-top:30px; } }
@media(max-width:480px) { .ldc-writing-type-card { min-height:0; padding:25px 21px; gap:14px; } .ldc-writing-type-badge { width:40px; height:40px; min-width:40px; } }
@media(prefers-reduced-motion:reduce) { .ldc-writing-type-card { transition:none; } }

/* v2.3.35 — Mobile submenu chevron: transparent, accessible tap area, aligned to parent link. */
.primary-nav .ldc-submenu-toggle { display: none; }
@media (max-width: 820px) {
  .js .primary-nav { background: #faf7f2; }
  /* The parent link and its arrow share grid row 1; opening children adds row 2,
     so the arrow never shifts downward as the submenu grows. */
  .js .primary-nav li.menu-item-has-children {
    display: grid;
    grid-template-columns: minmax(0,1fr) 44px;
    align-items: center;
  }
  .js .primary-nav li.menu-item-has-children > a {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    padding-right: 54px;
  }
  .js .primary-nav li.menu-item-has-children > a::before { display: none; }
  .js .primary-nav .ldc-submenu-toggle {
    position: relative;
    z-index: 2;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    top: auto;
    right: auto;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ldc-accent-dark);
    cursor: pointer;
    transform: none;
  }
  .js .primary-nav .ldc-submenu-toggle::after {
    content: '';
    width: 7px;
    height: 7px;
    border-right: 1.6px solid currentColor;
    border-bottom: 1.6px solid currentColor;
    transform: rotate(45deg);
    transition: transform .15s ease;
  }
  .js .primary-nav li.is-submenu-open > .ldc-submenu-toggle::after {
    transform: rotate(225deg);
  }
  .js .primary-nav li.menu-item-has-children > .sub-menu {
    grid-column: 1 / -1;
    grid-row: 2;
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: none;
  }
  .js .primary-nav li.menu-item-has-children.is-submenu-open > .sub-menu {
    display: grid;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    gap: 6px;
    margin: 8px 0 4px 10px;
  }
  .js .primary-nav .ldc-submenu-toggle:focus-visible {
    outline: 2px solid rgba(174,128,59,.42);
    outline-offset: 3px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .primary-nav .ldc-submenu-toggle::after { transition: none !important; }
}

/* v2.3.36 — Logo: 80% of the existing header height, no header enlargement. */
.ldc-header-inner { height: 82px; min-height: 82px; }
.site-branding { flex: 0 1 auto; min-width: 0; }
.site-branding .custom-logo-link { max-width: 100%; min-width: 0; align-items: center; }
.site-branding .custom-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: 65.6px; /* 80% of 82px */
  max-width: 100%;
  object-fit: contain;
}
.ldc-header-actions { flex-shrink: 0; }
@media (max-width: 820px) {
  .ldc-header-inner { height: 72px; min-height: 72px; }
  .site-branding .custom-logo { max-height: 57.6px; /* 80% of 72px */ }
}
@media (max-width: 620px) {
  .site-branding .custom-logo { max-height: 57.6px; max-width: 100%; }
}


/* v2.3.41 — Shared Etsy shop metrics and compact product purchase dock. */
.single-product .ldc-product-panel-actions {
  gap: 10px;
}
.single-product .ldc-product-panel-actions > .ldc-product-shop-button,
.single-product .ldc-product-panel-actions > .ldc-purchase-picker {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  max-width: 66%;
}
.single-product .ldc-product-panel-actions > .ldc-purchase-picker > .ldc-product-shop-button,
.single-product .ldc-product-panel-actions > .ldc-product-shop-button {
  width: 100%;
  justify-content: center;
  text-align: center;
}
.single-product .ldc-product-panel-actions .ldc-product-shop-button {
  color: #fff !important;
  background: #a5793a;
  border: 1px solid #a5793a;
  border-radius: 12px;
  box-shadow: 0 3px 9px rgba(78,52,25,.08);
}
.single-product .ldc-product-panel-actions .ldc-product-shop-button:hover,
.single-product .ldc-product-panel-actions .ldc-product-shop-button:focus-visible {
  color: #fff !important;
  background: #855d2c;
  border-color: #855d2c;
}
.single-product .ldc-product-panel-actions .ldc-product-shop-button.is-disabled {
  opacity: .48;
}
.single-product .ldc-product-etsy-metrics {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 98px;
  max-width: 48%;
  gap: 3px;
  padding: 2px 0 2px 10px;
  border-left: 1px solid rgba(207,194,177,.85);
  color: var(--ldc-text);
  font-variant-numeric: tabular-nums;
  line-height: 1.13;
}
.single-product .ldc-product-etsy-source {
  color: var(--ldc-muted);
  font-family: var(--ldc-title);
  font-size: .53rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.single-product .ldc-product-etsy-line {
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  font-size: .71rem;
  font-weight: 500;
}
.single-product .ldc-product-etsy-line strong {
  font-weight: 700;
}
.single-product .ldc-product-etsy-line small { color: var(--ldc-muted); font-size: .87em; }
.single-product .ldc-product-etsy-star { font-size: 1.13em; color: #b0843b; line-height: 1; }
.single-product .ldc-product-etsy-sales { color: var(--ldc-text); }
.single-product .ldc-product-etsy-bars {
  display: inline-flex;
  align-items: end;
  width: 13px;
  height: 12px;
  gap: 2px;
  margin-right: 2px;
}
.single-product .ldc-product-etsy-bars i { width: 3px; background: #b0843b; display: block; }
.single-product .ldc-product-etsy-bars i:nth-child(1) { height: 5px; }
.single-product .ldc-product-etsy-bars i:nth-child(2) { height: 9px; }
.single-product .ldc-product-etsy-bars i:nth-child(3) { height: 12px; }
@media (max-width: 760px) {
  .single-product .ldc-product-panel-scroll { padding-bottom: 108px; }
  .single-product .ldc-product-panel-actions {
    min-height: 70px;
    padding: 9px 11px;
    gap: 10px;
  }
  .single-product .ldc-product-panel-actions > .ldc-product-shop-button,
  .single-product .ldc-product-panel-actions > .ldc-purchase-picker { max-width: none; flex: 1 1 0; }
  .single-product .ldc-product-shop-button { min-height: 45px; padding: 8px 7px; }
  .single-product .ldc-product-etsy-metrics { max-width: 46%; min-width: 106px; }
  .single-product .ldc-product-etsy-line { font-size: .73rem; }
}
@media (max-width: 390px) {
  .single-product .ldc-product-panel-actions { gap: 6px; padding-inline: 7px; }
  .single-product .ldc-product-shop-button { font-size: .56rem; padding-inline: 4px; }
  .single-product .ldc-product-etsy-metrics { min-width: 98px; padding-left: 7px; }
  .single-product .ldc-product-etsy-line { font-size: .65rem; gap: 3px; }
  .single-product .ldc-product-etsy-source { font-size: .48rem; }
}

/* v2.3.42 — A clean, unlabeled compact rating + sales display. */
.single-product .ldc-product-etsy-metrics { gap: 5px; }

/* v2.3.50 — Immersive editorial background shared with book articles/pages.
   The background is decorative only; readability inside the viewer is unchanged. */
body.single-product.ldc-product-viewer-body {
  background-color:#dacebc;
}
body.single-product.ldc-product-viewer-body .ldc-product-viewer-page {
  background-color:#dacebc;
  background-image:
    url('assets/images/ldc-immersive-engraving.svg'),
    radial-gradient(ellipse at 12% 12%,rgba(255,251,243,.87),transparent 43%),
    radial-gradient(ellipse at 88% 85%,rgba(168,128,70,.18),transparent 43%),
    linear-gradient(140deg,#ede4d7,#d9c9b4 67%,#e6d9c6);
  background-size:cover,auto,auto,auto;
  background-position:center;
  background-repeat:no-repeat;
}


/* v2.3.66 — Product recommendations in the same location as related articles.
   Product viewer only; it does not affect the book/article reading panel. */
.single-product .ldc-product-story > .ldc-product-related {
  min-width:0;
  margin:29px 0 0;
  padding:22px 0 0;
  border-top:1px solid rgba(148,106,47,.18);
}
.single-product .ldc-product-related-title {
  margin:0 0 16px;
  color:var(--ldc-accent-dark);
  font-family:var(--ldc-title),Georgia,serif;
  font-size:16px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:-.02em;
}
.single-product .ldc-product-related-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px 13px;
}
.single-product .ldc-product-related-card {
  display:block;
  min-width:0;
  text-decoration:none;
  color:var(--ldc-text);
}
.single-product .ldc-product-related-image {
  display:block;
  overflow:hidden;
  aspect-ratio:1/1;
  border:1px solid rgba(148,106,47,.14);
  border-radius:10px;
  background:linear-gradient(135deg,#eee6da,#e2d5c1);
}
.single-product .ldc-product-related-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transition:transform .2s ease;
}
.single-product .ldc-product-related-card:hover img { transform:scale(1.045); }
.single-product .ldc-product-related-image-fallback {
  display:grid;
  place-items:center;
  height:100%;
  color:#b5915d;
  font-size:23px;
}
.single-product .ldc-product-related-card-title {
  display:block;
  margin:7px 0 0;
  color:var(--ldc-text);
  font-family:var(--ldc-title),Georgia,serif;
  font-size:12px;
  font-weight:600;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.single-product .ldc-product-related-card:hover .ldc-product-related-card-title,
.single-product .ldc-product-related-card:focus-visible .ldc-product-related-card-title {
  color:var(--ldc-accent-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}
.single-product .ldc-product-related-card:focus-visible {
  outline:2px solid var(--ldc-accent-dark);
  outline-offset:4px;
  border-radius:8px;
}
.single-product .ldc-product-related + .ldc-product-aux-links { margin-top:26px; }
@media (prefers-reduced-motion:reduce) {
  .single-product .ldc-product-related-image img { transition:none; }
}


/* ==========================================================================
   v2.3.67 — Show the normal Letras del Camino header above product viewers.
   The desktop gallery used to be a full-viewport fixed layer that covered the
   already-rendered header. Leave the shared header untouched and fit only the
   product viewer into the available space below it, just like book articles.
   Mobile retains its existing document-flow layout and purchase dock.
   ========================================================================== */
@media (min-width: 761px) {
  body.single-product.ldc-product-viewer-body {
    --ldc-product-admin-offset: 0px;
  }
  body.admin-bar.single-product.ldc-product-viewer-body {
    --ldc-product-admin-offset: 32px;
  }
  /* The header's menus and search must be able to open over the gallery. */
  body.single-product.ldc-product-viewer-body .site-header {
    z-index: 5100;
  }
  .single-product .ldc-product-viewer-page,
  body.admin-bar.single-product .ldc-product-viewer-page {
    top: calc(82px + var(--ldc-product-admin-offset));
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 10px;
  }
  /* Keep the viewer at the full available width rather than shrinking to the
     intrinsic width of the product image or the information panel. */
  .single-product .ldc-product-viewer-page > .ldc-product-viewer-article {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .single-product .ldc-product-modal-shell {
    width: min(100%, 1390px);
    height: calc(100% - 2px);
    min-height: 0;
    max-height: 940px;
    margin: auto;
  }
}


/* ============================================================================
   v2.3.68 — Product navigation uses the book reader's bottom navigation bar.
   No changes to WooCommerce, purchase controls, pricing, rating/analytics,
   slides, gallery interactions, or the article/book viewer.
   ============================================================================ */
.single-product .ldc-product-stage {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 66px;
  align-content: stretch;
  min-height: 0;
  perspective: 1400px;
}
/* A single-image product has no navigation controls and uses the full stage. */
.single-product .ldc-product-stage:not(:has(.ldc-product-gallery-controls)) { grid-template-rows:minmax(0,1fr); }
.single-product .ldc-product-gallery-track {
  grid-row: 1;
  grid-column: 1;
  min-height: 0;
  height: 100%;
}
.single-product .ldc-product-gallery-controls {
  position: relative;
  z-index: 10;
  grid-row: 2;
  grid-column: 1;
  left: auto;
  right: auto;
  bottom: auto;
  width: 100%;
  min-height: 66px;
  transform: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 17px;
  margin: 0;
  padding: 9px 22px;
  border: 0;
  border-top: 1px solid #e5ddd2;
  border-radius: 0;
  background: rgba(249,246,240,.97);
  box-shadow: 0 -5px 22px rgba(64,42,19,.04);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.single-product .ldc-product-gallery-arrow {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  min-width: 43px;
  min-height: 43px;
  padding: 0;
  border: 1px solid #dfd1bc;
  border-radius: 50%;
  background: #fff;
  color: #946a2f;
  font-size: inherit;
}
.single-product .ldc-product-gallery-arrow svg {
  display: block;
  width: 19px;
  height: 19px;
}
.single-product .ldc-product-gallery-arrow:hover:not(:disabled) {
  color: #946a2f;
  background: rgba(174,128,59,.13);
  border-color: #ae803b;
}
.single-product .ldc-product-gallery-arrow:disabled { opacity: .35; }
.single-product .ldc-product-gallery-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-width: 73px;
  font: 600 16px/1.2 var(--ldc-title),Georgia,serif;
  letter-spacing: 0;
  color: #4b4238;
  font-variant-numeric: tabular-nums;
}
.single-product .ldc-product-gallery-count > * { padding-inline: 3px; }
.single-product .ldc-product-gallery-count b { color: #4b4238; }

@media (min-width: 761px) {
  .single-product .ldc-product-stage { margin: 0; border-radius: 0; }
  .single-product .ldc-product-gallery-slide { padding: clamp(14px,2vw,25px); }
  .single-product .ldc-product-gallery-controls { bottom: auto; }
}
@media (max-width: 760px) {
  /* Match the book reader's mobile card: fixed-height viewer beneath the
     existing site header, artwork/reader controls, scrollable description,
     then the original purchase CTA with ratings and sales on its right. */
  body.single-product.ldc-product-viewer-body {
    overflow: hidden;
    padding-bottom: 0;
    --ldc-product-header-h: 72px;
    --ldc-product-admin-h: 0px;
  }
  body.admin-bar.single-product.ldc-product-viewer-body { --ldc-product-admin-h: 46px; }
  .single-product .ldc-product-viewer-page,
  body.admin-bar.single-product .ldc-product-viewer-page {
    height: calc(100dvh - var(--ldc-product-header-h) - var(--ldc-product-admin-h));
    min-height: 0;
    padding: 10px 10px 0;
    display: flex;
    align-items: stretch;
    overflow: hidden;
  }
  .single-product .ldc-product-viewer-page > .ldc-product-viewer-article {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
  }
  .single-product .ldc-product-modal-shell {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: minmax(190px, 55%) minmax(0,1fr);
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: 22px 22px 0 0;
  }
  .single-product .ldc-product-stage {
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    margin: 0;
    border-radius: 0;
    border-bottom: 1px solid #e5ddd2;
    grid-template-rows: minmax(0,1fr) 64px;
  }
  .single-product .ldc-product-gallery-slide { padding: 8px; }
  .single-product .ldc-product-gallery-controls {
    bottom: auto;
    min-height: 64px;
    padding: 7px 10px;
    gap: 17px;
    background: rgba(249,246,240,.98);
  }
  .single-product .ldc-product-gallery-arrow {
    width: 43px;
    height: 43px;
    min-width: 43px;
    min-height: 43px;
  }
  .single-product .ldc-product-panel {
    grid-row: 2;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: visible; /* Allow the existing purchase-options popover to open upwards. */
    border-radius: 0;
  }
  .single-product .ldc-product-panel-scroll {
    display: block;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 18px 17px 26px;
    scrollbar-width: thin;
    scrollbar-color: rgba(174,128,59,.65) transparent;
  }
  .single-product .ldc-product-panel-actions {
    position: relative;
    z-index: 12;
    flex: 0 0 auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    min-height: 75px;
    margin: 0;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    border: 0;
    border-top: 1px solid #e5ddd2;
    border-radius: 0;
    background: #faf8f4;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    gap: 10px;
  }
  .single-product .ldc-product-panel-actions > .ldc-product-shop-button,
  .single-product .ldc-product-panel-actions > .ldc-purchase-picker { flex:1 1 0;min-width:0;max-width:none; }
  .single-product .ldc-product-etsy-metrics { flex:0 0 auto;max-width:48%; }
  .single-product .ldc-product-panel-actions .ldc-product-shop-button { border-radius:999px;min-height:46px; }
  .single-product .ldc-product-close { top:12px;right:12px; }
}
@media (max-width:390px) {
  .single-product .ldc-product-viewer-page,
  body.admin-bar.single-product .ldc-product-viewer-page { padding:7px 7px 0; }
  .single-product .ldc-product-modal-shell { grid-template-rows:minmax(165px,52%) minmax(0,1fr); }
  .single-product .ldc-product-gallery-controls { min-height:64px; }
  .single-product .ldc-product-panel-actions { padding:9px 8px calc(9px + env(safe-area-inset-bottom,0px));gap:7px; }
}


/* v2.3.72 — The existing Gutenberg gallery grid stays as designed;
   its photos are focusable and launch the shared enlarged viewer. */
body.ldc-book-viewer .ldc-sv-slide .wp-block-gallery figure.wp-block-image img {
  cursor: zoom-in;
}
body.ldc-book-viewer .ldc-sv-slide .wp-block-gallery figure.wp-block-image:focus-visible {
  outline: 2px solid var(--ldc-accent);
  outline-offset: 3px;
}


/* v2.3.76 — The [ldc_productos] shortcode uses exactly the same
   .ldc-product-embed component as [ldc_product]. No bespoke card CSS:
   this block controls ONLY how many cards fit in the collection. */
.ldc-product-collection .ldc-product-collection-grid {
  display:grid;
  grid-template-columns:repeat(var(--ldc-collection-columns, 1),minmax(0,1fr));
  gap:22px 16px;
  width:100%;
  min-width:0;
  max-width:100%;
  align-items:start;
}
.ldc-product-collection .ldc-product-collection-grid > .ldc-product-embed {
  width:min(100%,320px);
  margin:0 auto!important;
  min-width:0;
}
/* One result receives exactly the natural width of the individual embed. */
.ldc-product-collection .ldc-product-collection-grid[data-items="1"] {
  grid-template-columns:minmax(0,1fr);
}
/* Keep the collection within the Gutenberg book pane; never override a
   product card's image, its format or price badge, or its CTA. */
body.ldc-book-viewer .ldc-sv-form-panel .ldc-product-collection,
body.ldc-book-viewer .ldc-sv-slide .ldc-product-collection {
  position:static!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:14px 0 0!important;
  padding:0!important;
}
body.ldc-book-viewer .ldc-sv-form-panel .ldc-product-collection .ldc-product-collection-heading,
body.ldc-book-viewer .ldc-sv-slide .ldc-product-collection .ldc-product-collection-heading {
  margin:0 0 14px!important;
}
body.ldc-book-viewer .ldc-sv-form-panel .ldc-product-collection .ldc-section-action,
body.ldc-book-viewer .ldc-sv-slide .ldc-product-collection .ldc-section-action {
  margin:18px 0 0!important;
  display:flex;
  justify-content:center;
}


/* v2.3.78 — [ldc_productos] with columnas="1" and multiple products:
   native swipeable one-row collection. Product cards, badges and CTAs stay
   untouched and are rendered by the same [ldc_product] function. */
.ldc-product-collection .ldc-product-collection-grid[data-carousel="true"] {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: max(0px, calc((100% - 320px) / 2));
  padding: 0 max(0px, calc((100% - 320px) / 2)) 8px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}
.ldc-product-collection .ldc-product-collection-grid[data-carousel="true"]::-webkit-scrollbar { display: none; }
.ldc-product-collection .ldc-product-collection-grid[data-carousel="true"] > .ldc-product-embed {
  flex: 0 0 auto;
  /* Width comes from the shared .ldc-product-embed styles, not the carousel. */
  min-width: 0;
  margin: 0 !important;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}
@media (max-width: 700px) {
  .ldc-product-collection .ldc-product-collection-grid[data-carousel="true"] {
    padding-inline: 0;
    scroll-padding-inline: 10px;
  }
  .ldc-product-collection .ldc-product-collection-grid[data-carousel="true"] > .ldc-product-embed {
    /* Same 20px breathing room and width as the standard single card. */
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
}
/* v2.3.79 — One horizontal carousel: navigation floats over the bottom
   of the visible cover image. Positioning is measured from the shared product
   image, so it follows any future changes to the card's proportions or CTA. */
.ldc-product-collection .ldc-product-collection-viewport {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.ldc-product-collection .ldc-product-collection-viewport .ldc-product-collection-controls {
  position: absolute;
  z-index: 5;
  top: var(--ldc-collection-controls-top, 80%);
  left: 50%;
  transform: translate(-50%, -100%);
  width: max-content;
  max-width: calc(100% - 20px);
  margin: 0;
  padding: 5px 7px;
  border: 1px solid rgba(222, 208, 187, .92);
  border-radius: 999px;
  background: rgba(250, 248, 244, .94);
  box-shadow: 0 4px 18px rgba(48, 37, 23, .14);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  opacity: 0;
  pointer-events: none;
}
.ldc-product-collection[data-carousel-ready="1"] .ldc-product-collection-viewport .ldc-product-collection-controls {
  opacity: 1;
  pointer-events: auto;
}
.ldc-product-collection .ldc-product-collection-viewport .ldc-product-collection-arrow {
  width: 33px;
  height: 33px;
  flex-basis: 33px;
  font-size: 19px;
  background: rgba(255, 255, 255, .9);
}
.ldc-product-collection .ldc-product-collection-viewport .ldc-product-collection-counter {
  min-width: 44px;
  font-size: 14px;
}
.ldc-product-collection .ldc-product-collection-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 12px 0 0;
  padding: 0;
  font-family: var(--ldc-body);
}
.ldc-product-collection .ldc-product-collection-arrow {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #dfd1bc;
  border-radius: 50%;
  background: #fffdf9;
  color: var(--ldc-accent-dark);
  font: 21px/1 Arial, sans-serif;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.ldc-product-collection .ldc-product-collection-arrow:hover:not(:disabled),
.ldc-product-collection .ldc-product-collection-arrow:focus-visible {
  background: #f1ece4;
  border-color: var(--ldc-accent);
}
.ldc-product-collection .ldc-product-collection-arrow:focus-visible {
  outline: 2px solid var(--ldc-accent);
  outline-offset: 3px;
}
.ldc-product-collection .ldc-product-collection-arrow:disabled { opacity: .35; cursor: default; }
.ldc-product-collection .ldc-product-collection-counter {
  min-width: 48px;
  text-align: center;
  font: 700 15px/1.2 var(--ldc-body),Georgia,serif;
  color: var(--ldc-text);
  font-variant-numeric: tabular-nums;
}
@media (prefers-reduced-motion: reduce) {
  .ldc-product-collection .ldc-product-collection-arrow { transition: none; }
}
