/* craft skin: Bag Charm — blush / pearl / gold, chic-cute. Playfair Display italics + Fredoka labels + Nunito body. Soft hairline borders + pillowy static shadows (NOT the hard-offset sticker look of other craft skins). Centred hero with a bead garland. Tokens come from theme_config.tokens. */
.cfs-bag-charm{--bg:#FFF5F2;--bg2:#FCE3E9;--paper:#FFFCFA;--deep:#5B1D3B;--ink:#44212F;--mute:#775463;--line:#EBC2CE;--accent:#D95F85;--accent-ink:#A62E5C;--pop:#C94A78;--pop2:#C9A24B;--pop3:#CDB8E8;--sig-bg:#FADCE5;--gold:#D4A94E;--f-disp:'Playfair Display',Georgia,serif;--f-hand:'Fredoka','Nunito',sans-serif;--rad:26px;--soft:0 18px 34px -18px rgba(166,46,92,.35),0 2px 6px rgba(166,46,92,.08)}
.cfs-bag-charm :is(h1,h2,h3){font-weight:500}
.cfs-bag-charm .cf-h1{font-weight:500;letter-spacing:-.015em;max-width:15ch;margin-inline:auto;line-height:1.04}
.cfs-bag-charm .cf-h2{font-weight:500}
.cfs-bag-charm .cf-ac{font-style:italic;font-weight:400;color:var(--accent-ink);margin-inline:.04em}
.cfs-bag-charm .cf-h1 .cf-ac{color:var(--pop)}
.cfs-bag-charm .cf-ul path{stroke:var(--gold);stroke-width:3}
.cfs-bag-charm .cf-kicker{font:600 13.5px/1.2 var(--f-hand);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);display:inline-flex;align-items:center;gap:10px}
.cfs-bag-charm .cf-kicker::before{content:"";width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#fff 0 18%,#F6C9D6 62%,#E3A3B6);box-shadow:0 0 0 1.5px #E2B85C}
.cfs-bag-charm .cf-btn{background:var(--accent-ink);border:0;font-family:var(--f-hand);font-weight:600;font-size:18px;letter-spacing:.01em;box-shadow:0 10px 20px -8px rgba(166,46,92,.7),inset 0 0 0 2px rgba(255,255,255,.28)}
.cfs-bag-charm .cf-btn:active,.cfs-bag-charm .cf-btn.press{transform:translateY(2px) scale(.98)}
.cfs-bag-charm .cf-btn-ghost{background:var(--paper);color:var(--accent-ink)!important;box-shadow:inset 0 0 0 2px #D9A9BA,0 8px 16px -10px rgba(166,46,92,.4)}
.cfs-bag-charm .cf-btn-sm{box-shadow:0 6px 12px -6px rgba(166,46,92,.7),inset 0 0 0 2px rgba(255,255,255,.28)}
.cfs-bag-charm .cf-head{border-bottom:1.5px solid var(--line);background:var(--paper)}
.cfs-bag-charm .cf-mark{border:1.5px solid var(--gold);font-style:italic;background:linear-gradient(145deg,#E58BA6,#C94A78)}
.cfs-bag-charm .cf-nav a{font:600 14px/1 var(--f-hand);white-space:nowrap;padding:10px 9px}
.cfs-bag-charm .cf-sticker{border:1.5px solid var(--gold);background:var(--paper);color:var(--accent-ink);font:600 13.5px/1.2 var(--f-hand);letter-spacing:.2em;border-radius:999px;transform:none;padding:8px 20px 8px 16px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 8px 16px -10px rgba(166,46,92,.5)}
.cfs-bag-charm .cf-sticker::before{content:"";width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#fff 0 18%,#F6C9D6 62%,#E3A3B6);box-shadow:0 0 0 1.5px #E2B85C}
.cfs-bag-charm .cf-chip{border:1.5px solid var(--line);background:var(--paper);font:600 13.5px/1.3 var(--f-hand);letter-spacing:.01em;box-shadow:none}
.cfs-bag-charm .cf-badge{border:1.5px solid var(--gold);background:#FFF1D6;font-family:var(--f-hand)}
.cfs-bag-charm .cf-tag{font-family:var(--f-hand);font-weight:600;letter-spacing:.14em;border-width:1.5px;color:var(--accent-ink)}
/* hero: centred, bead garland across the top, a dome-framed photo with two round "charm" medallions */
.cfs-bag-charm .cf-hero{background:linear-gradient(180deg,#FFE4EB 0,#FFF0F2 52%,var(--bg) 100%);padding:clamp(84px,11vw,118px) 0 clamp(70px,9vw,120px)}
.cfs-bag-charm .cf-hero::before{content:"";position:absolute;z-index:0;left:0;right:0;top:0;height:92px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22260%22 height=%2280%22 viewBox=%220 0 260 80%22%3E%3Cpath d=%22M0 8Q130 86 260 8%22 fill=%22none%22 stroke=%22%23C9A24B%22 stroke-width=%221.6%22/%3E%3Ccircle cx=%2216.2%22 cy=%2217.1%22 r=%227%22 fill=%22%23F4A6B7%22 stroke=%22rgba%28120%2C60%2C80%2C.25%29%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%2214.2%22 cy=%2214.7%22 r=%221.8%22 fill=%22%23fff%22 opacity=%22.7%22/%3E%3Ccircle cx=%2248.8%22 cy=%2231.8%22 r=%225%22 fill=%22%23FFF6EE%22 stroke=%22rgba%28120%2C60%2C80%2C.25%29%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%2247.2%22 cy=%2230.0%22 r=%221.2%22 fill=%22%23fff%22 opacity=%22.7%22/%3E%3Ccircle cx=%2281.2%22 cy=%2241.5%22 r=%226%22 fill=%22%23CDB8E8%22 stroke=%22rgba%28120%2C60%2C80%2C.25%29%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%2279.5%22 cy=%2239.4%22 r=%221.5%22 fill=%22%23fff%22 opacity=%22.7%22/%3E%3Ccircle cx=%22113.8%22 cy=%2246.4%22 r=%225%22 fill=%22%23E8C77A%22 stroke=%22rgba%28120%2C60%2C80%2C.25%29%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%22112.2%22 cy=%2244.6%22 r=%221.2%22 fill=%22%23fff%22 opacity=%22.7%22/%3E%3Ccircle cx=%22146.2%22 cy=%2246.4%22 r=%227%22 fill=%22%23F4A6B7%22 stroke=%22rgba%28120%2C60%2C80%2C.25%29%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%22144.2%22 cy=%2243.9%22 r=%221.8%22 fill=%22%23fff%22 opacity=%22.7%22/%3E%3Ccircle cx=%22178.8%22 cy=%2241.5%22 r=%225%22 fill=%22%23FFF6EE%22 stroke=%22rgba%28120%2C60%2C80%2C.25%29%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%22177.2%22 cy=%2239.8%22 r=%221.2%22 fill=%22%23fff%22 opacity=%22.7%22/%3E%3Ccircle cx=%22211.2%22 cy=%2231.8%22 r=%226%22 fill=%22%23CDB8E8%22 stroke=%22rgba%28120%2C60%2C80%2C.25%29%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%22209.4%22 cy=%2229.7%22 r=%221.5%22 fill=%22%23fff%22 opacity=%22.7%22/%3E%3Ccircle cx=%22243.8%22 cy=%2217.1%22 r=%225%22 fill=%22%23E8C77A%22 stroke=%22rgba%28120%2C60%2C80%2C.25%29%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%22242.2%22 cy=%2215.4%22 r=%221.2%22 fill=%22%23fff%22 opacity=%22.7%22/%3E%3C/svg%3E") -14px 0/260px 80px repeat-x;pointer-events:none}
.cfs-bag-charm .cf-hero::after{content:"";position:absolute;z-index:-1;width:min(60vw,520px);aspect-ratio:1;left:50%;bottom:-18%;margin-left:-30vw;border-radius:50%;background:#FADCE5;opacity:.7}
@media (min-width:900px){.cfs-bag-charm .cf-hero::after{margin-left:-260px}}
.cfs-bag-charm .cf-hero-in{grid-template-columns:1fr;justify-items:center;text-align:center;gap:48px}
.cfs-bag-charm .cf-hero-copy{display:flex;flex-direction:column;align-items:center;max-width:780px}
.cfs-bag-charm .cf-sub{margin-inline:auto;max-width:52ch}
.cfs-bag-charm .cf-chips,.cfs-bag-charm .cf-cta{justify-content:center}
.cfs-bag-charm .cf-collage{width:min(100%,980px);aspect-ratio:4/5;margin-bottom:34px}
@media (min-width:700px){.cfs-bag-charm .cf-collage{aspect-ratio:16/9}}
.cfs-bag-charm .cf-collage figure{border:6px solid #fff;box-shadow:var(--soft)}
.cfs-bag-charm .cf-c1{left:0;top:0;width:100%;height:100%;aspect-ratio:auto;border-radius:36px 36px 28px 28px}
@media (min-width:700px){.cfs-bag-charm .cf-c1{border-radius:260px 260px 28px 28px}}
.cfs-bag-charm .cf-c1 img{object-position:50% 38%}
.cfs-bag-charm .cf-c2,.cfs-bag-charm .cf-c3{width:clamp(110px,24%,210px);aspect-ratio:1;border-radius:50%}
.cfs-bag-charm .cf-c2{left:-2%;bottom:-8%;right:auto;transform:none;--rr:0deg}
.cfs-bag-charm .cf-c3{right:-2%;bottom:-8%;transform:none;--rr:0deg}
.cfs-bag-charm .cf-ill{bottom:-64px}
.cfs-bag-charm .cf-dec{width:clamp(30px,5vw,46px)}
.cfs-bag-charm .cf-dec svg{--m3:var(--gold);--mi:#B8892F}
.cfs-bag-charm .cf-dec1{right:8%;top:-2%}.cfs-bag-charm .cf-dec2{left:6%;top:6%}.cfs-bag-charm .cf-dec3{right:22%;bottom:10%;left:auto;top:auto}
@keyframes bc-twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.28) rotate(14deg)}}
.cfs-bag-charm .cf-hero[data-live].on .cf-dec{animation:bc-twinkle 3.6s ease-in-out infinite}
.cfs-bag-charm .cf-hero[data-live].on .cf-dec2{animation-delay:-1.2s}.cfs-bag-charm .cf-hero[data-live].on .cf-dec3{animation-delay:-2.3s}
/* section edges: a row of pearls on a gold thread, stitched along the top of every section */
.cfs-bag-charm .cf-sec::before{content:"";position:absolute;left:0;right:0;top:0;height:16px;pointer-events:none;background:radial-gradient(circle at 50% 50%,#fff 0 3.6px,#E5B5C4 4.4px 5.2px,transparent 5.8px) 0 50%/24px 16px repeat-x,linear-gradient(#E5C98E,#E5C98E) 0 50%/100% 1.5px no-repeat}
.cfs-bag-charm .cf-sec{padding-top:calc(clamp(56px,8vw,104px) + 10px)}
.cfs-bag-charm .cf-bg-pop{background:#8E2F55}
.cfs-bag-charm .cf-bg-pop :is(h2,.cf-kicker,.cf-lead,.cf-note,p,li,legend,label){color:#fff}
.cfs-bag-charm .cf-bg-pop .cf-ac{color:#F8D8A2}
.cfs-bag-charm .cf-bg-pop .cf-kicker::before{box-shadow:0 0 0 1.5px #F8D8A2}
.cfs-bag-charm .cf-bg-pop .cf-formcard :is(p,li,legend,label,span){color:var(--ink)}
.cfs-bag-charm .cf-bg-pop .cf-formcard .cf-consent,.cfs-bag-charm .cf-bg-pop .cf-formcard .cf-msg{color:var(--mute)!important}
.cfs-bag-charm .cf-bg-pop .cf-formcard .cf-msg.err{color:var(--err)!important}
.cfs-bag-charm .cf-bg-pop .cf-facts li,.cfs-bag-charm .cf-bg-pop .cf-contact{color:#fff}
.cfs-bag-charm .cf-bg-pop .cf-ul path{stroke:#F8D8A2}
.cfs-bag-charm .cf-bg-pop .cf-formcard .cf-btn,.cfs-bag-charm .cf-bg-pop .cf-formcard .cf-btn span{color:#fff!important}
.cfs-bag-charm .cf-bg-deep{background:var(--deep)}
.cfs-bag-charm .cf-bg-deep :is(h2,h3){color:#fff}
.cfs-bag-charm .cf-bg-deep .cf-kicker{color:#F8C9D8}
.cfs-bag-charm .cf-bg-deep .cf-ac{color:#F8D8A2}
.cfs-bag-charm .cf-bg-deep .cf-ul path{stroke:#F8D8A2}
.cfs-bag-charm .cf-bg-deep .cf-badge{color:var(--ink)}
.cfs-bag-charm .cf-bg-deep .cf-lead,.cfs-bag-charm .cf-bg-deep .cf-aibadge{color:#F6DCE4}
/* what you could make: arch-photo cards */
.cfs-bag-charm .cf-cards{gap:26px}
@media (min-width:640px){.cfs-bag-charm .cf-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.cfs-bag-charm .cf-cards{grid-template-columns:repeat(3,1fr);gap:30px}}
@media (min-width:1100px){.cfs-bag-charm .cf-cards{grid-template-columns:repeat(3,1fr)}}
.cfs-bag-charm .cf-card{border:1.5px solid var(--line);border-radius:30px;box-shadow:var(--soft);padding:12px 12px 0;background:var(--paper)}
.cfs-bag-charm .cf-card-img{border:0;border-radius:180px 180px 20px 20px;aspect-ratio:1/1}
.cfs-bag-charm .cf-card-b{padding:18px 10px 24px;text-align:center}
.cfs-bag-charm .cf-card h3{font-size:25px}
.cfs-bag-charm .cf-tag{color:var(--accent-ink)}
/* signature stage */
.cfs-bag-charm .cf-sigsec{overflow:hidden}
/* story */
.cfs-bag-charm .cf-media figure{border:6px solid #fff;box-shadow:var(--soft);border-radius:200px 200px 28px 28px}
.cfs-bag-charm .cf-media .cf-m2{border-radius:28px 28px 200px 200px;margin-top:-6px}
.cfs-bag-charm .cf-media figcaption{background:#fff;text-align:center;font-family:var(--f-hand);letter-spacing:.14em}
.cfs-bag-charm .cf-pull{border-left:0;padding:22px 0 0;border-top:1.5px solid var(--gold);font:italic 400 clamp(22px,2.8vw,30px)/1.35 var(--f-disp);color:var(--accent-ink)}
/* steps */
.cfs-bag-charm .cf-step{border:1.5px solid var(--line);border-radius:28px;box-shadow:var(--soft)}
.cfs-bag-charm .cf-no{background:radial-gradient(circle at 34% 28%,#fff 0 14%,#FBDDE5 60%,#EDB3C4);border:2px solid var(--gold);color:var(--accent-ink);font-style:italic}
.cfs-bag-charm .cf-step-img{border:0;border-radius:90px 90px 18px 18px}
.cfs-bag-charm .cf-rail{border-bottom-color:var(--line)}
.cfs-bag-charm .cf-rail a{font-family:var(--f-hand);font-weight:500}
.cfs-bag-charm .cf-rail a[aria-current=step] b{background:var(--accent-ink);border-color:var(--accent-ink)}
/* materials: pearl-bulleted pills */
.cfs-bag-charm .cf-mat{border:1.5px solid var(--line);border-radius:22px;box-shadow:var(--soft);padding:16px 20px}
.cfs-bag-charm .cf-mat::before{content:"";flex:none;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff 0 16%,#FAD3DD 58%,#E6A6B9);box-shadow:0 0 0 2px #E8C57E,0 4px 8px -3px rgba(166,46,92,.4)}
.cfs-bag-charm .cf-mat:nth-child(3n+2)::before{background:radial-gradient(circle at 34% 28%,#fff 0 16%,#E2D4F5 58%,#B9A0DE)}
.cfs-bag-charm .cf-mat:nth-child(3n)::before{background:radial-gradient(circle at 34% 28%,#fff 0 16%,#FBE6B4 58%,#E0B65A)}
.cfs-bag-charm .cf-mat b{font-family:var(--f-hand);font-weight:600}
/* gallery: hanging polaroids on gold thread, gentle sway while on screen (<=12 cells, transform only) */
.cfs-bag-charm .cf-gal{padding-top:92px;padding-bottom:30px;background:linear-gradient(#E8C57E,#E8C57E) 0 30px/100% 1.5px no-repeat}
.cfs-bag-charm .cf-cell{position:relative;border:0;border-radius:8px;box-shadow:0 18px 30px -14px rgba(0,0,0,.45);padding:12px 12px 8px;transform-origin:50% -62px}
.cfs-bag-charm .cf-cell img{border-radius:4px}
.cfs-bag-charm .cf-cell figcaption{font:600 17px/1.2 var(--f-hand);text-align:center;color:var(--accent-ink)}
.cfs-bag-charm .cf-cell::before{content:"";position:absolute;left:50%;top:-62px;width:1.5px;height:62px;background:#E8C57E}
.cfs-bag-charm .cf-cell::after{content:"";position:absolute;left:50%;top:-4px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff 0 14%,#F4DC9E 55%,#CFA23F);box-shadow:0 2px 4px rgba(0,0,0,.25)}
@keyframes bc-sway{0%,100%{transform:rotate(-1.8deg)}50%{transform:rotate(1.8deg)}}
.cfs-bag-charm .bc-live .cf-cell:nth-child(-n+12){animation:bc-sway 5.6s ease-in-out infinite}
.cfs-bag-charm .bc-live .cf-cell:nth-child(2n){animation-duration:6.6s;animation-delay:-2.1s}
.cfs-bag-charm .bc-live .cf-cell:nth-child(3n){animation-duration:5.2s;animation-delay:-3.4s}
.cfs-bag-charm .cf-gal{scrollbar-color:#E8C57E transparent}
/* faq / form */
.cfs-bag-charm details.cf-acc{border:1.5px solid var(--line);border-radius:22px;box-shadow:0 10px 20px -16px rgba(166,46,92,.5)}
.cfs-bag-charm .cf-acc summary{font-family:var(--f-hand);font-weight:500;font-size:18px}
.cfs-bag-charm .cf-formcard{border:1.5px solid var(--gold);border-radius:34px;box-shadow:0 30px 50px -26px rgba(0,0,0,.5)}
.cfs-bag-charm .cf-fld input,.cfs-bag-charm .cf-opt span{border:1.5px solid #B27088}
.cfs-bag-charm .cf-fld label,.cfs-bag-charm .cf-fs legend{font-family:var(--f-hand);font-weight:600;letter-spacing:.01em}
.cfs-bag-charm .cf-opt span{font-family:var(--f-hand);font-weight:500}
.cfs-bag-charm .cf-opt input:checked+span{background:#FBDCE5;box-shadow:inset 0 0 0 1.5px var(--accent-ink);border-color:var(--accent-ink)}
.cfs-bag-charm .cf-done-c{fill:#FBDCE5;stroke:var(--gold)}
.cfs-bag-charm .cf-share a{border:1.5px solid var(--line);font-family:var(--f-hand)}
.cfs-bag-charm .cf-bar{border-top:1.5px solid var(--line)}
.cfs-bag-charm .cf-end{background:var(--bg2)}
@media (prefers-reduced-motion:reduce){.cfs-bag-charm .cf-hero[data-live].on .cf-dec,.cfs-bag-charm .bc-live .cf-cell{animation:none!important}}
