/* Rich-text formatting for product descriptions and store pages (shared by dashboard editor and storefronts).
   Fonts are Google Fonts served from this server (no requests to Google). */
@font-face { font-family: "Inter"; src: url("../fonts/rt/inter.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("../fonts/rt/playfair.woff2") format("woff2"); font-weight: 400 900; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/rt/montserrat.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Lora"; src: url("../fonts/rt/lora.woff2") format("woff2"); font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/rt/poppins-400.woff2") format("woff2"); font-weight: 300 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/rt/poppins-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/rt/poppins-700.woff2") format("woff2"); font-weight: 700 900; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("../fonts/rt/cormorant.woff2") format("woff2"); font-weight: 300 700; font-display: swap; }
@font-face { font-family: "DM Serif Display"; src: url("../fonts/rt/dmserif.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Oswald"; src: url("../fonts/rt/oswald.woff2") format("woff2"); font-weight: 200 700; font-display: swap; }
.ff-inter { font-family: "Inter", system-ui, sans-serif; }
.ff-playfair { font-family: "Playfair Display", Georgia, serif; }
.ff-montserrat { font-family: "Montserrat", system-ui, sans-serif; }
.ff-lora { font-family: "Lora", Georgia, serif; }
.ff-poppins { font-family: "Poppins", system-ui, sans-serif; }
.ff-cormorant { font-family: "Cormorant Garamond", Georgia, serif; }
.ff-dmserif { font-family: "DM Serif Display", Georgia, serif; }
.ff-oswald { font-family: "Oswald", "Arial Narrow", sans-serif; }
.fs-sm { font-size: .875em; } .fs-md { font-size: 1em; } .fs-lg { font-size: 1.25em; } .fs-xl { font-size: 1.6em; line-height: 1.3; } .fs-xxl { font-size: 2.2em; line-height: 1.2; }
.fw-300 { font-weight: 300; } .fw-400 { font-weight: 400; } .fw-500 { font-weight: 500; } .fw-600 { font-weight: 600; } .fw-700 { font-weight: 700; } .fw-800 { font-weight: 800; }
.fc-ink { color: #1d1f1e; } .fc-muted { color: #6a6e69; } .fc-navy { color: #101820; } .fc-forest { color: #18352b; } .fc-gold { color: #9a7d45; } .fc-red { color: #a02d22; } .fc-blue { color: #24496b; } .fc-green { color: #2f6b45; }
.ta-left { text-align: left; } .ta-center { text-align: center; } .ta-right { text-align: right; }
.rich > * + * { margin-top: .85em; }
.rich h2 { font-size: 1.45em; line-height: 1.25; } .rich h3 { font-size: 1.2em; } .rich h4 { font-size: 1.05em; }
.rich ul, .rich ol { padding-left: 1.3em; } .rich ul { list-style: disc; } .rich ol { list-style: decimal; } .rich li + li { margin-top: .3em; }
.rich blockquote { border-left: 3px solid currentColor; opacity: .85; padding-left: 1em; font-style: italic; }
.rich a { text-decoration: underline; }
.rich hr { border: 0; border-top: 1px solid rgba(0,0,0,.15); margin: 1.5em 0; }
/* Editor */
.rte { border: 1px solid var(--field-border, #d3ccbd); border-radius: 6px; background: var(--surface, #fff); }
.rte-bar { display: flex; flex-wrap: wrap; gap: .3rem; padding: .45rem; border-bottom: 1px solid var(--line, #e4dfd4); background: var(--surface-2, #faf9f6); border-radius: 6px 6px 0 0; }
.rte-bar button, .rte-bar select { font: 500 13px/1 inherit; font-family: inherit; min-height: 32px !important; padding: .3rem .55rem !important; border: 1px solid var(--field-border, #d3ccbd); background: var(--surface, #fff); border-radius: 4px; cursor: pointer; width: auto !important; color: var(--text, #252725); }
.rte-bar button:hover { border-color: #8a7246; }
.rte-bar .sep { width: 1px; background: var(--line, #e4dfd4); margin: 0 .15rem; }
.rte-area { min-height: 220px; padding: .9rem 1rem; outline: none; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.rte-area:focus { box-shadow: inset 0 0 0 2px rgba(180,154,103,.35); }
.rte-area:empty::before { content: attr(data-placeholder); color: #8b8f88; }
.rte-source { display: none; }
