/* ===== rich.css · styles for the product description (shop page AND the admin editor preview) =====
   Boxes, premium boxes, rows & columns, buttons, video, images and animations. */
.rich{font-size:17px;line-height:1.85;color:var(--muted)}
.rich h2,.rich h3,.rich h4{color:var(--text);margin:1.4em 0 .5em}.rich p{margin:0 0 1em}
.rich a:not(.rb){text-decoration:underline;text-underline-offset:3px}
.rich img{max-width:100%;height:auto}.rich img.rimg{max-width:100%;height:auto;border-radius:18px;box-shadow:0 14px 40px -18px rgba(219,80,21,.4)}
.rich hr{border:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary-2),transparent);margin:2em 0}
.rich blockquote{margin:1.2em 0;padding:14px 22px;border-left:4px solid var(--primary);background:var(--soft);border-radius:0 14px 14px 0;color:var(--text)}
.rich ul,.rich ol{padding-left:1.4em}

/* buttons */
.rb{display:inline-block;padding:14px 28px;border-radius:14px;font-weight:700;font-size:16px;line-height:1.3;text-decoration:none!important;transition:transform .3s cubic-bezier(.2,.9,.3,1.3),box-shadow .3s}
.rb-primary{background:var(--grad);color:#fff!important}.rb-outline{border:2px solid var(--primary);color:var(--primary)!important}.rb-light{background:#fff;color:#3a2a20!important;border:1px solid var(--border)}
.rb.is-hov{transform:translateY(-4px) scale(1.04);box-shadow:var(--glow)}

/* boxes */
.rbox{margin:1.2em 0;padding:22px 26px;border-radius:20px;border:1px solid;position:relative}
.rbox>:first-child{margin-top:0}.rbox p:last-child,.rbox ul:last-child,.rbox ol:last-child{margin-bottom:0}
.rbox-title{margin:0 0 .5em!important;font-size:1.18em;font-weight:800;color:inherit}
.rbox-info{background:rgba(219,80,21,.08);border-color:rgba(219,80,21,.35);color:var(--text)}
.rbox-success{background:rgba(18,165,107,.1);border-color:rgba(18,165,107,.4);color:var(--text)}
.rbox-warn{background:rgba(230,154,11,.12);border-color:rgba(230,154,11,.45);color:var(--text)}
.rbox-dark{background:#2b1f18;border-color:#2b1f18;color:#f4ebe4}
/* premium boxes */
.rbox-neon{background:radial-gradient(120% 150% at 0% 0%,#3a2a20 0%,#2b1f18 62%);border-color:rgba(219,80,21,.65);color:#f4ebe4;box-shadow:0 0 0 1px rgba(219,80,21,.22),0 22px 54px -22px rgba(219,80,21,.8)}
.rbox-gold{background:linear-gradient(135deg,#fffaf0,#ffeec4);border-color:#e6b53c;color:#4a3300;box-shadow:0 18px 44px -24px rgba(214,150,10,.7)}
.rbox-grad{background:linear-gradient(120deg,#3a2a20,#DB5015 60%,#EE7041);border-color:transparent;color:#fff;box-shadow:0 24px 56px -26px rgba(219,80,21,.85)}
.rbox-glass{background:linear-gradient(135deg,rgba(219,80,21,.16),rgba(255,255,255,.04));border-color:rgba(219,80,21,.4);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rbox-glow{background:var(--surface);border:2px solid var(--primary);color:var(--text);box-shadow:0 0 0 4px rgba(219,80,21,.12),0 0 30px rgba(219,80,21,.35)}
.rich .rbox-neon h2,.rich .rbox-neon h3,.rich .rbox-neon h4,.rich .rbox-grad h2,.rich .rbox-grad h3,.rich .rbox-grad h4,.rich .rbox-dark h2,.rich .rbox-dark h3,.rich .rbox-dark h4{color:#fff}
.rich .rbox-gold h2,.rich .rbox-gold h3,.rich .rbox-gold h4{color:#3a2700}
.rich .rbox-glass h2,.rich .rbox-glass h3,.rich .rbox-glass h4,.rich .rbox-glow h2,.rich .rbox-glow h3,.rich .rbox-glow h4{color:var(--text)}
.rich .rbox-grad a:not(.rb),.rich .rbox-neon a:not(.rb){color:#fff}
.rich .rbox-gold a:not(.rb){color:#7a4f00}

/* rows & columns: one grid, any number of columns and rows */
.rgrid{display:grid;gap:22px;margin:1.4em 0}
.rg-c1{grid-template-columns:minmax(0,1fr)}.rg-c2{grid-template-columns:repeat(2,minmax(0,1fr))}.rg-c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rg-c4{grid-template-columns:repeat(4,minmax(0,1fr))}.rg-c5{grid-template-columns:repeat(5,minmax(0,1fr))}.rg-c6{grid-template-columns:repeat(6,minmax(0,1fr))}
.rgrid .rcol{margin:0}
.rcol{padding:18px 20px;border-radius:16px;background:var(--soft);border:1px solid var(--border);min-width:0}.rcol p:last-child{margin:0}
.rcol>:first-child{margin-top:0}
.rcol-line{padding:2px 0 2px 20px;background:none;border:0;border-left:3px solid var(--primary-2);border-radius:0}
.rcol-card{padding:20px 22px;background:var(--soft);border:1px solid var(--border);border-radius:16px}
.rcol-plain{padding:0;background:none;border:0;border-radius:0}
.rcols{display:grid;gap:20px;margin:1.2em 0}.rcols-2{grid-template-columns:1fr 1fr}.rcols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:820px){.rg-c3,.rg-c4,.rg-c5,.rg-c6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rgrid{gap:18px}.rg-c2,.rg-c3,.rg-c4,.rg-c5,.rg-c6,.rcols-2,.rcols-3{grid-template-columns:minmax(0,1fr)}.rbox{padding:18px 18px}}

/* video */
.rvideo{position:relative;margin:1.2em 0;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#000;box-shadow:0 20px 50px -24px rgba(219,80,21,.6)}
.rvideo iframe,.rvideo video{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- animations ---------- */
@keyframes rFade{from{opacity:0}to{opacity:1}}
@keyframes rUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes rLeft{from{opacity:0;transform:translateX(-44px)}to{opacity:1;transform:none}}
@keyframes rRight{from{opacity:0;transform:translateX(44px)}to{opacity:1;transform:none}}
@keyframes rZoom{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
@keyframes rFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes rPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes rGlow{0%,100%{filter:drop-shadow(0 0 3px rgba(219,80,21,.35))}50%{filter:drop-shadow(0 0 18px rgba(219,80,21,.95))}}
@keyframes rShine{0%{transform:translateX(-130%)}55%,100%{transform:translateX(130%)}}
@keyframes rTxt{to{background-position:-250% 0}}
.anim-float{animation:rFloat 3.2s ease-in-out infinite}
.anim-pulse{animation:rPulse 2.2s ease-in-out infinite}
.anim-glow{animation:rGlow 2.4s ease-in-out infinite}
.anim-shine{position:relative;overflow:hidden}
.anim-shine::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.55) 50%,transparent 68%);transform:translateX(-130%);animation:rShine 3s ease-in-out infinite;pointer-events:none}
.rich .txt-shine{background:linear-gradient(90deg,var(--text) 0%,var(--primary) 25%,var(--neon) 50%,var(--primary) 75%,var(--text) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rTxt 5s linear infinite}
@media (prefers-reduced-motion:reduce){.rich [class*="anim-"],.rich .txt-shine{animation:none!important;opacity:1!important;transform:none!important}.anim-shine::after{display:none}}
/* @@REVEAL (shop page only: things that slide in while scrolling start hidden; product.js adds .anim-in) */
.js .pd-text .anim-fade,.js .pd-text .anim-up,.js .pd-text .anim-left,.js .pd-text .anim-right,.js .pd-text .anim-zoom{opacity:0}
.js .pd-text .anim-fade.anim-in{animation:rFade .8s ease both}
.js .pd-text .anim-up.anim-in{animation:rUp .8s cubic-bezier(.2,.8,.2,1) both}
.js .pd-text .anim-left.anim-in{animation:rLeft .8s cubic-bezier(.2,.8,.2,1) both}
.js .pd-text .anim-right.anim-in{animation:rRight .8s cubic-bezier(.2,.8,.2,1) both}
.js .pd-text .anim-zoom.anim-in{animation:rZoom .7s cubic-bezier(.2,1.1,.3,1) both}
.pd-text.rich{white-space:normal}

.rich span.atext{display:inline-block}
