/* Sanitary only: established panel material, plain native choices without sliding selector. */
.cg-sanitary-panel { min-width: 0; display: grid; gap: 20px; }
.cg-sanitary-panel .cg-sanitary-state { margin: 10px 0 18px; color: #525b55; font-size: 14px; }
.cg-sanitary-panel fieldset { padding: 0; margin: 0 0 22px; border: 0; min-width: 0; }
.cg-sanitary-panel legend { font-size: 14px; margin-bottom: 10px; font-weight: 500; }
.cg-sanitary-panel .cg-sanitary-options { display: flex; flex-wrap: wrap; gap: 8px 18px; width: 100%; }

.cg-sanitary-panel [hidden],.cg-sanitary-panel .button[hidden] { display: none !important; }
.cg-sanitary-panel .cg-sanitary-includes { list-style: none; padding: 0; margin: 0 0 18px; }
.cg-sanitary-panel .cg-sanitary-includes li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid rgba(36, 44, 39, .1); font-size: 14px; }
.cg-sanitary-panel .cg-sanitary-includes small { display: block; font-size: 13px; color: #626b65; margin-top: 3px; }
.cg-sanitary-panel .cg-sanitary-note { font-size: 13px; line-height: 1.5; color: #5a645d; margin: 12px 0; }
.cg-sanitary-panel .cg-sanitary-feedback { font-size: 13px; color: #763c25; margin: 8px 0; }
.cg-sanitary-panel .cg-sanitary-feedback:empty { display: none; }
.cg-sanitary-panel .cg-sanitary-alerts summary { padding: 8px 0; min-height: 44px; display: flex; align-items: center; font-size: 13px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.cg-sanitary-panel .cg-sanitary-alerts .cg-workspace-stock { display: block; margin: 4px 0 12px; }
body.cg-sanitary-product .summary .cg-workspace-stock:not([data-cg-sanitary-alert]) { display: none !important; }
body.cg-sanitary-product .woocommerce-product-gallery[data-cg-sanitary-media="tank"] { aspect-ratio: auto; min-height: 0; height: auto; align-self: start; display: grid; align-items: center; justify-items: center; }
body.cg-sanitary-product .woocommerce-product-gallery[data-cg-sanitary-media="tank"] > :not([data-cg-sanitary-no-photo]) { display: none !important; }
body.cg-sanitary-product .cg-sanitary-no-photo { padding: 32px; color: #4b554e; font-size: 17px; text-align: center; max-width: 300px; line-height: 1.6; }
.cg-sanitary-panel :is(input,select,button,a,summary):focus-visible { outline: 2px solid #235a39; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .cg-sanitary-panel * { scroll-behavior: auto; } }

.cg-sanitary-card-entry { display: block; }
.cg-sanitary-card-entry small { display: block; font-size: 13px; font-weight: 400; line-height: 1.45; margin-top: 4px; }

body.cg-sanitary-product .woocommerce-product-gallery[data-cg-sanitary-media="tank"] { max-height: none; padding: 20px; }
body.cg-sanitary-product .cg-sanitary-no-photo { margin: 0; padding: 12px; font-size: 15px; }
.cg-sanitary-panel .cg-sanitary-financing { margin: 10px 0; }
.cg-sanitary-panel .cg-sanitary-piece-link { font-size: 14px; line-height: 1.5; }
.cg-sanitary-panel .cg-sanitary-piece-link a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
body.cg-sanitary-product [data-cg-sanitary-source-hidden] { display: none !important; }



/* Preserve the established page material and complete real assembly photo.
   No shared selector hooks or moving layers in this control. */
body.cg-sanitary-product .woocommerce-product-gallery [data-cg-sanitary-assembly] img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: contain; }
/* Visible native radio + text; no pill track, lens, deformation or transition. */
.cg-sanitary-panel .cg-sanitary-options > label[data-cg-sanitary-choice] { display: inline-flex; align-items: center; gap: 8px; min-width: 0; min-height: 44px; padding: 4px 0; margin: 0; color: #424842; font-size: 14px; line-height: 1.4; cursor: pointer; }
.cg-sanitary-panel .cg-sanitary-options input[type="radio"] { appearance: auto; position: static; width: 18px; height: 18px; flex: 0 0 18px; margin: 0; padding: 0; accent-color: #171717; }
.cg-sanitary-panel .cg-sanitary-options label:has(input:checked) { color: #171717; font-weight: 600; }
.cg-sanitary-panel .cg-sanitary-options label:focus-within { outline: 2px solid #171717; outline-offset: 3px; border-radius: 4px; }
@media (max-width: 480px) { .cg-sanitary-panel .cg-sanitary-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; } }
.cg-sanitary-panel .cg-sanitary-options, .cg-sanitary-panel .cg-sanitary-options * { transition: none; animation: none; }

.cg-sanitary-panel .cg-sanitary-alerts { margin: 16px 0 12px; }
.cg-sanitary-panel .cg-sanitary-alerts .cg-workspace-form { display: grid; gap: 10px; }
.cg-sanitary-panel .cg-sanitary-alerts .cg-workspace-action { justify-self: start; min-height: 44px; }
.cg-sanitary-panel .cg-sanitary-consent { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; line-height: 1.45; }
.cg-sanitary-panel .cg-sanitary-consent input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }

.cg-sanitary-panel details.cg-sanitary-alerts { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cg-sanitary-panel .cg-sanitary-alerts summary { list-style: none; }
.cg-sanitary-panel .cg-sanitary-alerts summary::-webkit-details-marker { display: none; }
.cg-sanitary-panel .cg-sanitary-alerts summary:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
/* Keep the shared form's column/field styles off this checkbox label only. */
.cg-sanitary-panel .cg-sanitary-alerts .cg-workspace-form label.cg-sanitary-consent { flex-direction: row; align-items: flex-start; color: #424842 !important; min-height: 44px; }
.cg-sanitary-panel .cg-sanitary-alerts .cg-workspace-form .cg-sanitary-consent input[type="checkbox"] { width: 18px; min-width: 18px; height: 18px !important; min-height: 18px !important; flex: 0 0 18px; align-self: flex-start; margin: 2px 0 0; padding: 0; }
.cg-sanitary-panel .cg-sanitary-alerts .cg-workspace-form .cg-sanitary-consent input[type="checkbox"]:focus-visible { outline: 2px solid #424842 !important; outline-offset: 3px !important; }

/* Canonical action styles force display:flex; preserve the kit's availability toggle. */
body.single-product.cg-casagres-product .cg-sanitary-panel .cg-native-calculator-panel .cg-actions [data-cg-sanitary-add][hidden] { display: none !important; }

/* Sanitary photos only. The slide/viewport is square, never the full multi-slide track.
   Override Woo FlexSlider's inline height and canonical natural-height photo rule.
   Missing individual tank photos retain the existing compact text state; dots unchanged. */
body.single-product.cg-casagres-product.cg-sanitary-square-gallery div.product .woocommerce-product-gallery :is(.flex-viewport,.woocommerce-product-gallery__image,[data-cg-sanitary-assembly]) {
 aspect-ratio: 1 / 1 !important; height: auto !important; min-height: 0 !important;
}
body.single-product.cg-casagres-product.cg-sanitary-square-gallery div.product .woocommerce-product-gallery :is(.woocommerce-product-gallery__image > a,[data-cg-sanitary-assembly]) {
 display: block; position: relative; width: 100%; aspect-ratio: 1 / 1 !important; height: auto !important; background: #fff;
}
body.single-product.cg-casagres-product.cg-sanitary-square-gallery div.product .woocommerce-product-gallery :is(.woocommerce-product-gallery__image > a,[data-cg-sanitary-assembly]) > img {
 position: absolute; inset: 0; display: block !important; width: 100% !important; height: 100% !important;
 min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important; object-fit: contain !important; object-position: center; background: #fff !important;
}

/* Optional bidet follows canonical fields/actions; independent count, never a moving selector. */
.cg-sanitary-panel .cg-sanitary-cross { margin: 12px 0 20px; }
.cg-sanitary-panel .cg-sanitary-cross-toggle { display: flex; align-items: center; gap: 10px; min-height: 44px; color: #424842; font-size: 14px; }
.cg-sanitary-panel .cg-sanitary-cross-toggle input { appearance: auto; width: 18px; height: 18px; min-height: 18px; margin: 0; flex: 0 0 18px; accent-color: #171717; }
.cg-sanitary-panel [data-cg-sanitary-bidet-fields] { display: grid; gap: 10px; margin-top: 10px; }
.cg-sanitary-panel [data-cg-sanitary-bidet-fields] p { margin: 0; font-size: 14px; }
.cg-sanitary-panel .cg-sanitary-cross-total { font-weight: 600; }
/* One separator at the transition to native price rows, not a doubled rule. */
.cg-sanitary-panel .cg-sanitary-includes li:last-child { border-bottom: 0; }

/* Real SKU photo beside each native choice; no carousel or extra panel. */
.cg-sanitary-panel .cg-sanitary-options > label.cg-sanitary-bidet-choice { display: flex; width: 100%; gap: 12px; min-height: 64px; }
.cg-sanitary-panel .cg-sanitary-bidet-choice > span { min-width: 0; flex: 1; }
.cg-sanitary-panel .cg-sanitary-bidet-choice > img.cg-sanitary-bidet-thumb { display: block; flex: 0 0 64px; width: 64px !important; height: 64px !important; min-height: 0; max-width: 64px; object-fit: contain !important; object-position: center; background: #fff !important; padding: 0; border: 0; }
/* Shop/category/related toilet and bidet cards only: extend original white photographic canvas.
   BCH19/BCH20 basin gray photographic backgrounds and all scene assets stay untouched.
   Keep complete uncropped source, existing square geometry and all other categories. */
.products li.product.product_cat-sanitarios:is(.product_cat-inodoros,.product_cat-bides) .woocommerce-LoopProduct-link > img {
 background: #fff !important; object-fit: contain !important; object-position: center;
}
