/* Product editorial content: one scoped system for classic and Hestia-era markup. */
.lo-product-page .lo-description { color:var(--d1-ink); font-size:16px; line-height:1.75; overflow-wrap:anywhere; }
.lo-product-page .lo-description > :first-child { margin-top:0; }
.lo-product-page .lo-description h2 { font-size:24px; margin:0 0 24px; }
.lo-product-page .lo-description h3 { max-width:75ch; margin:32px 0 12px; font-size:20px; font-weight:600; line-height:1.35; color:var(--d1-green); }
.lo-product-page .lo-description h3 :is(strong,b) { font-weight:inherit; }
.lo-product-page .lo-description :is(p,ul,ol,blockquote) { max-width:75ch; margin:0 0 20px; }
.lo-product-page .lo-description :is(ul,ol) { padding-left:24px; }
.lo-product-page .lo-description li { margin:6px 0; }
.lo-product-page .lo-description li :is(ul,ol) { margin:8px 0; }
.lo-product-page .lo-description a { color:var(--d1-green); text-decoration:underline; text-underline-offset:3px; }
.lo-product-page .lo-description a:hover { color:var(--d1-orange); }
.lo-product-page .lo-description blockquote { border-left:3px solid var(--d1-orange); background:var(--d1-warm); padding:16px 20px; }
.lo-product-page .lo-description img { max-width:100%; height:auto; }
.lo-product-page .lo-description :is(.wp-caption,figure) { max-width:100%; margin:24px 0; }
.lo-product-page .lo-description .wp-caption { width:100% !important; max-width:800px; }
.lo-product-page .lo-description .wp-caption img { display:block; width:auto; max-width:100%; margin:auto; }
.lo-product-page .lo-description :is(figcaption,.wp-caption-text) { max-width:none; margin:0; padding:12px; color:var(--d1-muted); font-size:14px; line-height:1.5; }
.lo-product-page .lo-description .lo-description-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:32px 0; clear:both; }
.lo-product-page .lo-description .gallery-item { display:flex; flex-direction:column; min-width:0; width:auto; margin:0; border:1px solid var(--d1-border); border-radius:8px; overflow:hidden; background:var(--lo-color-paper); }
.lo-product-page .lo-description .gallery-icon { display:flex; align-items:center; justify-content:center; background:var(--d1-warm); }
.lo-product-page .lo-description .gallery-icon a { display:block; width:100%; }
.lo-product-page .lo-description .gallery-icon img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.lo-product-page .lo-description .lo-description-gallery--single { grid-template-columns:minmax(0,1fr); }
.lo-product-page .lo-description .lo-description-gallery--single img { aspect-ratio:var(--lo-image-ratio,auto); max-height:650px; }
.lo-product-page .lo-description [data-lo-description-image] { cursor:zoom-in; }
.lo-product-page .lo-description .lo-description-table { max-width:100%; overflow:auto; margin:24px 0; border:1px solid var(--d1-border); border-radius:8px; }
.lo-product-page .lo-description table { width:100%; border:0; border-collapse:collapse; margin:0; font-size:15px; line-height:1.5; }
.lo-product-page .lo-description :is(th,td) { padding:12px 16px; border:0; border-bottom:1px solid var(--d1-border); text-align:left; vertical-align:top; min-width:90px; }
.lo-product-page .lo-description th { background:var(--d1-warm); color:var(--d1-green); font-weight:600; }
.lo-product-page .lo-description tr:last-child > * { border-bottom:0; }
.lo-product-page .lo-description tbody tr:nth-child(even) td { background:var(--d1-warm); }
.lo-product-page .lo-description .lo-description-document { display:inline-flex; gap:10px; align-items:center; max-width:100%; min-height:44px; padding:10px 14px; margin:4px 0; border:1px solid var(--d1-border); border-radius:4px; font-size:15px; font-weight:600; }
.lo-description-document::before { content:'↓'; font-size:22px; text-decoration:none; }
.lo-product-page .lo-description .komp-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:760px; }
.lo-product-page .lo-description .komp-video-wrap iframe { display:block; width:100%; height:auto; aspect-ratio:9/16; border:0; border-radius:8px; }
.lo-description-viewer { box-sizing:border-box; width:calc(100% - 24px); max-width:1120px; max-height:calc(100dvh - 24px); padding:16px; border:0; border-radius:8px; background:var(--lo-color-paper); color:var(--d1-ink); overflow:auto; }
.lo-description-viewer::backdrop { background:rgb(10 25 23 / .88); }
.lo-description-viewer header { display:flex; gap:12px; justify-content:space-between; align-items:center; margin-bottom:12px; }
.lo-description-viewer header h2 { margin:0; font-size:18px; }
.lo-description-viewer button { min-width:44px; min-height:44px; padding:8px 12px; background:var(--d1-warm); border:1px solid var(--d1-border); border-radius:4px; color:var(--d1-ink); font:inherit; cursor:pointer; }
.lo-description-viewer figure { margin:0; }
.lo-description-viewer img { display:block; max-width:100%; width:100%; height:60dvh; object-fit:contain; }
.lo-description-viewer figcaption { margin:12px 0; font-size:14px; line-height:1.5; }
.lo-description-viewer nav { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.lo-description-viewer nav span { font-size:14px; }
.lo-description-viewer a { display:inline-block; min-height:44px; padding:10px 0; color:var(--d1-green); }
.lo-description-viewer button:disabled { opacity:.45; cursor:default; }
.lo-description-viewer [hidden] { display:none; }
@media (min-width:768px) {
 .lo-product-page .lo-description .lo-description-gallery:not(.lo-description-gallery--single) { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
 .lo-product-page .lo-description h2 { font-size:28px; }
 .lo-description-viewer { padding:24px; }
}
@media (prefers-reduced-motion:reduce) { .lo-description-viewer * { scroll-behavior:auto; } }
