/* Shared readable option controls, preserving the existing visual language. */
.option-list label,.toggle-grid label,.font-chips label,.switch-row,.offer-toggle{display:flex!important;align-items:flex-start!important;gap:10px!important;min-width:0;min-height:44px;height:auto!important;padding:12px!important;white-space:normal!important;overflow:visible!important;line-height:1.6}
.option-list label input,.toggle-grid label input,.font-chips label input,.switch-row input,.offer-toggle input{flex:0 0 auto;width:18px!important;height:18px!important;margin:3px 0 0!important;position:static!important}
.option-list label span,.toggle-grid label span,.font-chips label span,.switch-row span,.offer-toggle span{min-width:0;overflow-wrap:anywhere;white-space:normal!important;text-overflow:clip!important;overflow:visible!important}
.option-list b,.option-list small{display:block;white-space:normal;line-height:1.6}
.font-preview-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:6px!important;max-height:260px;overflow:auto}
.font-preview-option{padding:7px 9px!important;min-height:58px!important;height:auto!important;min-width:0;text-align:start}
.font-preview-option .font-sample,.font-current-preview .font-sample,.font-chips .font-sample{font-size:17px!important;line-height:1.5!important;margin:0!important}
.font-current-preview{padding:5px!important;min-height:0!important}
.font-chips{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:7px}
.font-chips label{flex-wrap:wrap;align-content:center;padding:8px!important;font-size:11px!important}
.font-chips .font-sample{flex-basis:100%}
.customer-size-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-block:10px}
.customer-size-control input{flex:1;min-width:90px;width:auto;accent-color:var(--red,#ac0d1b)}
.customer-size-control button{padding:6px 12px;border:1px solid #ded5ce;border-radius:999px;background:transparent;font:inherit;font-size:12px}
.customer-render-field{overflow:hidden;overflow-wrap:anywhere}
.visual-field.selected{outline:1px dashed #ac0d1b;background:rgba(172,13,27,.04)}
.visual-field.field-safe{outline:1px dashed #ac0d1b80}
.visual-field{overflow:hidden;white-space:normal}
.ai-color-lab[hidden],.form-section[hidden]{display:none!important}
.cv-manager{padding:20px;margin-block:16px;border:1px solid #e5dcd5;border-radius:18px;background:#fffdfa}
.cv-manager form,.cv-manager .manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cv-manager label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px}
.cv-manager input,.cv-manager select,.cv-manager textarea{width:100%;max-width:100%;padding:10px;border:1px solid #ded5ce;border-radius:10px;background:white;font:inherit;box-sizing:border-box}
.cv-manager select[multiple]{height:130px}
.cv-manager .full{grid-column:1/-1}.cv-manager button{border-radius:999px;padding:9px 16px;border:1px solid #d9cec8;background:#faf6f2;font:inherit;cursor:pointer}
.cv-manager button:disabled{opacity:.5;cursor:wait}.cv-manager .manager-row{padding:14px 0;border-top:1px solid #e5dcd5;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cv-manager .manager-row p{margin:0;flex:1;min-width:160px}.cv-manager small{display:block;overflow-wrap:anywhere}.cv-manager [role=status]{min-height:24px}.cv-manager .manager-actions{display:flex;gap:8px;flex-wrap:wrap;margin-block:12px}
.cv-manager .font-demo{font-size:22px;line-height:1.6}.cv-manager h3{margin-bottom:12px}
@media(max-width:600px){.cv-manager form,.cv-manager .manager-grid{grid-template-columns:1fr}.cv-manager{padding:14px}.font-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.font-chips{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.category-chip,.filter-chip,.shop-category,.category-link,[data-category]{transition:color 300ms ease,background-color 300ms ease,border-color 300ms ease,box-shadow 300ms ease}
@keyframes cv-content-enter{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.cv-content-enter{animation:cv-content-enter 300ms cubic-bezier(.2,.6,.2,1)}
@media(prefers-reduced-motion:reduce){.cv-content-enter{animation:none!important}.category-chip,.filter-chip,.shop-category,.category-link,[data-category]{transition:none!important}}

.customer-watermarks,.cv-preview-watermark{position:absolute!important;inset:0!important;transform:none!important;opacity:1!important;z-index:8;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22155%22%20height%3D%22105%22%3E%3Cg%20transform%3D%22translate%2812%2C73%29%20rotate%28-30%29%22%3E%3Ctext%20fill%3D%22white%22%20fill-opacity%3D%22.48%22%20stroke%3D%22%23181818%22%20stroke-opacity%3D%22.7%22%20stroke-width%3D%221.2%22%20paint-order%3D%22stroke%22%20font-family%3D%22Arial%2Csans-serif%22%20font-weight%3D%22bold%22%20font-size%3D%2222%22%3ECardvity%3C/text%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat;background-size:155px 105px;border-radius:inherit}
.customer-watermarks span{display:none!important}
.cv-preview-protected{position:relative;overflow:hidden}

.cv-manager [hidden],#marketing article[hidden]{display:none!important}
#chips .chip{position:relative;transition:color 300ms ease,background-color 300ms ease,border-color 300ms ease}
#chips .chip::after{content:'';position:absolute;bottom:3px;inset-inline:22%;height:2px;background:currentColor;transform:scaleX(0);transition:transform 300ms ease}
#chips .chip.active::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){#chips .chip,#chips .chip::after{transition:none!important}}

.customer-watermarks[hidden]{display:none!important}
.privacy-copy{max-width:850px;margin:2rem auto;line-height:2.1}.privacy-copy p{margin-block:1rem}.footer-links{flex-wrap:wrap}.support-email{direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere}
/* Editorial category navigation and compact curation controls. */
.category-icon,.cv-cat-icon,.cv-cat-link>svg,.category-icon-editor{display:none!important}
.cv-cat-link{gap:0}.chip{transition:color .28s ease,background-color .28s ease,border-color .28s ease}.chip.active{background:var(--red,#970c28);color:#fff}
.category-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.category-checkboxes label,.featured-row label{display:flex;align-items:center;gap:8px}.featured-manager{padding:20px;margin-block:20px;border:1px solid #e8e1dc}.featured-row{display:flex;align-items:center;gap:10px;padding-block:10px}.featured-row label{flex:1}.featured-row button{padding:5px 10px}.featured-manager>button{margin-top:12px}
.home-page #homeFeaturedProducts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.home-page #homeFeaturedProducts .product{padding:0;border:0;box-shadow:none;background:transparent;transition:transform .3s ease}.home-page #homeFeaturedProducts .home-product-art{height:auto;aspect-ratio:3/4;border-radius:6px;overflow:hidden}.home-page #homeFeaturedProducts .home-product-art img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.home-page #homeFeaturedProducts .product-meta{padding:12px 0 4px;gap:8px}.home-page #homeFeaturedProducts .product-meta h3{font-size:16px}.home-page #homeFeaturedProducts .product-meta p{font-size:12px;margin-top:5px}.home-page #homeFeaturedProducts .product-meta strong{font-size:14px}.home-page #homeFeaturedProducts .product-cta{padding:6px 0;background:none;border:0;font-size:14px}
@media(hover:hover){.home-page #homeFeaturedProducts .product:hover{transform:translateY(-3px)}.home-page #homeFeaturedProducts .product:hover img{transform:scale(1.02)}}
@media(max-width:900px){.home-page #homeFeaturedProducts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:430px){.home-page #homeFeaturedProducts{grid-template-columns:1fr;max-width:340px;margin-inline:auto}}
@keyframes boutique-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.hero-reference .hero-brand{animation:boutique-enter .5s cubic-bezier(.2,.7,.2,1) both}.hero-reference #heroTitle{animation:boutique-enter .5s .12s cubic-bezier(.2,.7,.2,1) both}.hero-reference #heroText{animation:boutique-enter .5s .24s cubic-bezier(.2,.7,.2,1) both}.hero-reference #heroActions{animation:boutique-enter .5s .36s cubic-bezier(.2,.7,.2,1) both}
.privacy-copy h2{font-size:19px;margin-block:28px 10px}.privacy-copy p{font-size:16px}.cv-simple-page .container{max-width:740px}.cv-simple-page{padding-block:75px!important}.cv-simple-page p{line-height:1.9}.cart-item{box-shadow:none!important;border-color:#e8e1dc!important}.cart-item img{object-fit:contain}.cart-summary,.checkout-summary{box-shadow:none!important}.checkout-grid{gap:32px}.checkout-card{margin-bottom:22px}
@media(prefers-reduced-motion:reduce){.hero-reference .hero-brand,.hero-reference #heroTitle,.hero-reference #heroText,.hero-reference #heroActions{animation:none!important}.home-page #homeFeaturedProducts .product,.home-page #homeFeaturedProducts img,.chip{transition:none!important}}

@keyframes boutique-logo{from{opacity:0}to{opacity:1}}.hero-reference .hero-brand{animation-name:boutique-logo}

/* Hold the entrance until published dimensions and fonts have settled. */
html:not(.hero-ready) .hero-reference :is(.hero-brand,#heroTitle,#heroText,#heroActions){opacity:0!important;animation:none!important}
.hero-reference :is(.hero-brand,#heroTitle,#heroText,#heroActions){scale:none;transition:none}
