.casamar-product-field { min-width: 0; }
.casamar-product-field img { max-width: 100%; }
.casamar-product-template > .wp-block-group { box-sizing: border-box; }
.casamar-product-editor-preview { pointer-events: none; }
.casamar-product-editor-preview .woocommerce-product-gallery { opacity: 1 !important; }

/* Properties are only activated by explicit settings; old models retain their defaults. */
.has-casamar-text-align, .has-casamar-text-align :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb) { text-align: var(--casamar-text-align) !important; }
.has-casamar-font-family, .has-casamar-font-family :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.woocommerce-review-link,.woocommerce-Tabs-panel,.tabs a,.tabs span) { font-family: var(--casamar-font-family) !important; }
.has-casamar-font-size, .has-casamar-font-size :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.woocommerce-review-link,.woocommerce-Tabs-panel,.tabs a,.tabs span) { font-size: var(--casamar-font-size) !important; }
.has-casamar-font-weight, .has-casamar-font-weight :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.woocommerce-review-link,.tabs a,.tabs span) { font-weight: var(--casamar-font-weight) !important; }
.has-casamar-font-style, .has-casamar-font-style :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.tabs a,.tabs span) { font-style: var(--casamar-font-style) !important; }
.has-casamar-line-height, .has-casamar-line-height :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.tabs a,.tabs span) { line-height: var(--casamar-line-height) !important; }
.has-casamar-letter-spacing, .has-casamar-letter-spacing :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.tabs a,.tabs span) { letter-spacing: var(--casamar-letter-spacing) !important; }
.has-casamar-text-transform, .has-casamar-text-transform :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.tabs a,.tabs span) { text-transform: var(--casamar-text-transform) !important; }
.has-casamar-text-decoration, .has-casamar-text-decoration :where(h1,h2,h3,h4,h5,h6,p,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.tabs a,.tabs span) { text-decoration: var(--casamar-text-decoration) !important; }
.has-casamar-text-color, .has-casamar-text-color :where(h1,h2,h3,h4,h5,h6,p,a,.price,.sku_wrapper,.posted_in,.woocommerce-breadcrumb,.tabs span) { color: var(--casamar-text-color) !important; }
.has-casamar-max-width { max-width: min(100%, var(--casamar-max-width)) !important; }
.has-casamar-border-color { border-color: var(--casamar-border-color) !important; border-style: solid; }
.has-casamar-border-width { border-width: var(--casamar-border-width) !important; border-style: solid; }
.has-casamar-border-radius { border-radius: var(--casamar-border-radius) !important; }

.casamar-product-field--gallery .woocommerce-product-gallery { float: none; width: 100%; }
.casamar-product-field--gallery.has-casamar-image-width .woocommerce-product-gallery { width: var(--casamar-image-width) !important; margin-inline: auto; }
.casamar-product-field--gallery.has-casamar-image-height .woocommerce-product-gallery__image img:not(.zoomImg), .casamar-product-field--related.has-casamar-image-height ul.products li.product img { height: var(--casamar-image-height) !important; width: 100%; }
.has-casamar-image-ratio .woocommerce-product-gallery__image img:not(.zoomImg), .casamar-category-image.has-casamar-image-ratio { aspect-ratio: var(--casamar-image-ratio); }
.has-casamar-image-fit .woocommerce-product-gallery__image img:not(.zoomImg), .casamar-product-field--related.has-casamar-image-fit ul.products img, .casamar-category-image.has-casamar-image-fit { object-fit: var(--casamar-image-fit) !important; }
.has-casamar-image-position .woocommerce-product-gallery__image img:not(.zoomImg), .casamar-category-image.has-casamar-image-position { object-position: var(--casamar-image-position); }
.has-casamar-image-radius .woocommerce-product-gallery__image img:not(.zoomImg), .casamar-category-image.has-casamar-image-radius { border-radius: var(--casamar-image-radius); }
.casamar-product-field--gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(var(--casamar-thumbnail-columns,4), minmax(0,1fr)); gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.casamar-product-field--gallery .flex-control-thumbs li { float: none !important; width: auto !important; margin: 0 !important; }
.casamar-product-field--gallery .flex-control-thumbs img { width: 100%; height: auto; }
.casamar-hide-showthumbnails .flex-control-thumbs, .casamar-hide-showsale .onsale, .casamar-hide-showcount .woocommerce-review-link, .casamar-hide-showcount .wc-block-components-product-rating__reviews_count { display: none !important; }
.has-casamar-rating-size :where(.star-rating,.wc-block-components-product-rating__stars) { font-size: var(--casamar-rating-size) !important; }
.has-casamar-rating-color :where(.star-rating,.wc-block-components-product-rating__stars) span::before { color: var(--casamar-rating-color) !important; }
.has-casamar-regular-color del, .has-casamar-regular-color del .amount { color: var(--casamar-regular-color) !important; }
.has-casamar-sale-color ins, .has-casamar-sale-color ins .amount { color: var(--casamar-sale-color) !important; }

.has-casamar-button-color :where(.single_add_to_cart_button,ul.products .button), .has-casamar-button-color :where(.single_add_to_cart_button,ul.products .button):hover { color: var(--casamar-button-color) !important; }
.has-casamar-button-background :where(.single_add_to_cart_button,ul.products .button) { background: var(--casamar-button-background) !important; }
.has-casamar-button-hover .single_add_to_cart_button:hover { background: var(--casamar-button-hover) !important; }
.has-casamar-button-font-size .single_add_to_cart_button { font-size: var(--casamar-button-font-size) !important; }
.has-casamar-button-radius .single_add_to_cart_button { border-radius: var(--casamar-button-radius) !important; }
.has-casamar-button-padding .single_add_to_cart_button { padding: var(--casamar-button-padding) !important; }
.casamar-button-full .single_add_to_cart_button { display: block; width: 100%; }
.casamar-product-field--cart form.cart { flex-wrap: wrap; }
.casamar-product-field--cart .casamar-personalization { flex-basis: 100%; }
.has-casamar-input-color :where(input,select,textarea,.casamar-preview-menu) { color: var(--casamar-input-color) !important; }
.has-casamar-input-background :where(input,select,textarea,.casamar-preview-menu) { background: var(--casamar-input-background) !important; }
.has-casamar-input-border :where(input,select,textarea,.wp-editor-container,.casamar-preview-menu) { border-color: var(--casamar-input-border) !important; }
.has-casamar-input-font-size :where(input,select,textarea,.casamar-preview-menu) { font-size: var(--casamar-input-font-size) !important; }
.has-casamar-input-radius :where(input,select,textarea,.wp-editor-container,.casamar-preview-menu) { border-radius: var(--casamar-input-radius) !important; }
.has-casamar-field-gap .casamar-custom-field { margin-bottom: var(--casamar-field-gap) !important; }
.has-casamar-label-color :where(label,.variations th) { color: var(--casamar-label-color) !important; }
.has-casamar-label-size :where(label,.variations th) { font-size: var(--casamar-label-size) !important; }
.has-casamar-help-color .casamar-field-help { color: var(--casamar-help-color) !important; }
.has-casamar-help-size .casamar-field-help { font-size: var(--casamar-help-size) !important; }

.has-casamar-tab-color .wc-tabs li :where(a,span) { color: var(--casamar-tab-color) !important; }
.has-casamar-tab-background .wc-tabs li { background: var(--casamar-tab-background) !important; }
.has-casamar-tab-active-color .wc-tabs li.active a { color: var(--casamar-tab-active-color) !important; }
.has-casamar-tab-active-background .wc-tabs li.active { background: var(--casamar-tab-active-background) !important; }
.has-casamar-tab-border .wc-tabs, .has-casamar-tab-border .wc-tabs li { border-color: var(--casamar-tab-border) !important; }
.has-casamar-tab-gap .wc-tabs { display: flex; flex-wrap: wrap; gap: var(--casamar-tab-gap); }
.has-casamar-success-color .woocommerce-message { color: var(--casamar-success-color) !important; }
.has-casamar-error-color .woocommerce-error { color: var(--casamar-error-color) !important; }
.has-casamar-info-color .woocommerce-info { color: var(--casamar-info-color) !important; }
.has-casamar-notice-background :where(.woocommerce-message,.woocommerce-error,.woocommerce-info) { background: var(--casamar-notice-background) !important; }

.casamar-related-configured ul.products { display: grid !important; grid-template-columns: repeat(var(--casamar-related-columns,4), minmax(0,1fr)); gap: var(--casamar-card-gap,24px); padding: 0; list-style: none; }
.casamar-related-configured ul.products::before, .casamar-related-configured ul.products::after { display: none !important; }
.casamar-related-configured ul.products li.product { float: none !important; width: auto !important; min-width: 0; margin: 0 !important; }
.has-casamar-card-background ul.products li.product { background: var(--casamar-card-background); }
.has-casamar-card-padding ul.products li.product { padding: var(--casamar-card-padding); box-sizing: border-box; }
.has-casamar-card-title-size ul.products .woocommerce-loop-product__title { font-size: var(--casamar-card-title-size) !important; }
.has-casamar-card-title-color ul.products .woocommerce-loop-product__title { color: var(--casamar-card-title-color) !important; }
.has-casamar-card-price-size ul.products .price { font-size: var(--casamar-card-price-size) !important; }
.has-casamar-card-price-color ul.products .price, .has-casamar-card-price-color ul.products .price .amount { color: var(--casamar-card-price-color) !important; }
.casamar-hide-showprice ul.products .price, .casamar-hide-showbutton ul.products .button { display: none !important; }
@media (max-width:600px) { .casamar-related-configured ul.products { grid-template-columns: repeat(var(--casamar-related-mobile,2), minmax(0,1fr)); } }

.casamar-gallery-preview .woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; }
.casamar-tabs-preview .wc-tabs { display: flex; flex-wrap: wrap; gap: var(--casamar-tab-gap,12px); list-style: none; padding: 0; }
.casamar-tabs-preview .wc-tabs li { padding: 8px 12px; }
.casamar-tabs-preview .wc-tabs li:first-child { color: var(--casamar-tab-active-color,inherit); background: var(--casamar-tab-active-background,transparent); }
.casamar-tabs-preview .woocommerce-Tabs-panel { display: block !important; margin-top: 20px; }
.casamar-cart-preview :where(input,select) { box-sizing: border-box; max-width: 100%; border: 1px solid #b58a90; padding: 10px; border-radius: 4px; }
.casamar-cart-preview select { display: block; width: 100%; }
.casamar-preview-purchase { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.casamar-preview-purchase input { width: 70px; }
.casamar-preview-toolbar { display: flex; gap: 14px; padding: 8px 12px; border: 1px solid #b58a90; background: #fffbf3; }
.casamar-preview-menu { min-height: 140px; padding: 12px; border: 1px solid #b58a90; background: white; }
.casamar-personalization-editor { margin-block: 20px; }
.casamar-personalization-editor .casamar-custom-field { margin-bottom: 24px; }
.casamar-personalization-editor label { display: block; font-size: 20px; font-weight: 600; margin-bottom: 6px; }
.casamar-personalization-editor .casamar-field-help { font-size: 16px; margin: 0 0 10px; }
.casamar-personalization-editor input { width: 100%; }
.casamar-personalization-editor .casamar-field-count { font-size: 14px; text-align: right; }
