.rich-copy { overflow-wrap: anywhere; line-height: 1.7; }
.rich-copy p { margin: 0 0 1em; white-space: normal; }
.rich-copy ul, .rich-copy ol { padding-inline-start: 1.5em; margin-block: 1em; }
.rich-copy ul { list-style: disc; }
.rich-copy ol { list-style: decimal; }
.rich-copy blockquote { border-inline-start: 3px solid #607b66; padding-inline-start: 1em; margin-inline: 0; }
.rich-copy a { text-decoration: underline; }
.rich-editor { min-width: 0; }
.rich-editor .ql-container { font: inherit; }
.rich-editor .ql-editor { min-height: 160px; overflow-wrap: anywhere; }
.rich-editor .ql-toolbar { border-radius: 8px 8px 0 0; background: #f6f8f5; }
.rich-editor-source { min-height: 200px; font-family: monospace !important; }
.rich-editor [hidden] { display: none !important; }
.rich-editor > button { margin-block: 8px; padding: 8px 12px; border: 1px solid #cbd7cd; border-radius: 8px; background: #edf3ee; color: #24412f; font: inherit; font-size: .875rem; cursor: pointer; }
.rich-editor > button:focus-visible { outline: 2px solid #607b66; outline-offset: 2px; }
.product-media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin-block: 18px; }
.product-media-tile { min-width: 0; border: 1px solid #dce3dd; border-radius: 12px; padding: 12px; overflow-wrap: anywhere; }
.product-media-tile img { width: 100%; height: 160px; object-fit: contain; background: #f6f8f5; }
.product-media-tile form { margin-block: 8px; }
.product-media-tile button { padding: 6px 9px; }
.product-media-tile .checkbox label { display: inline-flex; align-items: center; gap: 7px; }
[data-media-status].is-error { color: #9e2d22; }
.catalog-card__visual { position: relative; }
.catalog-card__hover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .2s; pointer-events: none; }
.catalog-card__visual:hover .catalog-card__hover, .catalog-card__visual:focus-visible .catalog-card__hover { opacity: 1; }
.catalog-detail-hero--background { position: relative; isolation: isolate; }
.catalog-detail-hero__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .16; z-index: -1; }
@media (max-width: 480px) { .product-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .catalog-card__hover { transition: none; } }
