/* Scoped to products enabled in this module. Original DP fields remain the source of truth. */
#product.ffral-enabled .ffral-picker, #product.ffral-enabled .ffral-picker * { box-sizing: border-box; }
#product.ffral-enabled .ffral-profile .dp_input_container { display: flex !important; flex-wrap: wrap; gap: 8px; width: 100% !important; }
#product.ffral-enabled .ffral-profile .dp-radio-option { display: flex !important; align-items: center; flex: 1 1 150px; min-height: 48px; margin: 0; padding: 12px; border: 1px solid #ccdce2; border-radius: 7px; background: #fff; cursor: pointer; font-size: 14px; line-height: 1.4; }
#product.ffral-enabled .ffral-profile .dp-radio-option input { flex: 0 0 auto; margin: 0 8px 0 0; }
#product.ffral-enabled .ffral-profile .ffral-profile-selected { border-color: #0a8094; background: #edf9fb; }
#product.ffral-enabled .ffral-group { width: 100% !important; min-width: 0 !important; }
#product.ffral-enabled .ffral-group > .content { width: 100% !important; min-width: 0 !important; display: block !important; }
#product.ffral-enabled .ffral-field { width: 100% !important; min-width: 0 !important; }
#product.ffral-enabled .ffral-field.ffral-active,
#product.ffral-enabled .ffral-group.ffral-active { display: block !important; visibility: visible !important; opacity: 1 !important; height: auto !important; max-height: none !important; overflow: visible !important; }
#product.ffral-enabled .ffral-field:not(.ffral-active),
#product.ffral-enabled .ffral-group:not(.ffral-active) { display: none !important; }
#product.ffral-enabled .ffral-field > .attribute_label,
#product.ffral-enabled .ffral-field > [slot="tooltip"],
#product.ffral-enabled .ffral-native { display: none !important; }
#product.ffral-enabled .ffral-picker { display: block !important; width: 100%; box-sizing: border-box; background: white; border: 1px solid #d7e5ea; border-radius: 10px; overflow: hidden; }
#product.ffral-enabled .ffral-title { margin: 0; padding: 16px; background: #edf8fa; border-left: 4px solid #1bb5cb; color: #233d4a; font-size: 17px; line-height: 1.4; text-transform: none; }
#product.ffral-enabled .ffral-help, #product.ffral-enabled .ffral-status { margin: 14px 16px 0; font-size: 14px; line-height: 1.5; color: #4b626e; }
#product.ffral-enabled .ffral-status { font-weight: bold; color: #116a7a; }
#product.ffral-enabled .ffral-grid { display: flex; flex-wrap: wrap; padding: 10px; }
#product.ffral-enabled .ffral-color { position: relative; display: flex; flex-direction: column; align-items: stretch; flex: 0 0 calc(25% - 12px); width: calc(25% - 12px); min-width: 0; margin: 6px; padding: 7px; border: 2px solid #d6e1e6; border-radius: 8px; background: #fff; color: #263e4b; cursor: pointer; touch-action: manipulation; }
#product.ffral-enabled .ffral-swatch { display: block; width: 100% !important; height: 46px !important; object-fit: cover; border: 1px solid #c9d3d8; opacity: 1 !important; border-radius: 3px; }
#product.ffral-enabled .ffral-label { display: block; padding-top: 8px; font-size: 13px; line-height: 1.4; text-align: center; }
#product.ffral-enabled .ffral-check { display: none; position: absolute; right: 3px; top: 3px; width: 23px; height: 23px; line-height: 23px; border-radius: 50%; background: #087d91; color: #fff; text-align: center; font-weight: bold; }
#product.ffral-enabled .ffral-color.is-selected { border-color: #087d91; background: #edf9fb; }
#product.ffral-enabled .ffral-color.is-selected .ffral-check { display: block; }
#product.ffral-enabled .ffral-color:focus { outline: 3px solid #087d91; outline-offset: 2px; }
#product.ffral-enabled .ffral-color:disabled { opacity: .5; cursor: not-allowed; }
#product.ffral-enabled .ffral-note { margin: 0; padding: 0 16px 16px; color: #627783; font-size: 12px; line-height: 1.5; }
#product.ffral-enabled .images-container { width: 100%; max-width: 100%; min-width: 0; min-height: 0 !important; }
#product.ffral-enabled .images-container .dp-layers { max-width: 100% !important; width: 100% !important; }
#product.ffral-enabled .images-container .dp-layers img { max-width: 100% !important; height: auto !important; }
#product.ffral-enabled #ral-image-preview { left: 0 !important; top: 0 !important; width: 100% !important; max-width: 100% !important; height: 100% !important; }
@media (max-width: 767px) {
  #product.ffral-enabled .ffral-color { flex-basis: calc(33.333% - 12px); width: calc(33.333% - 12px); }
  #product.ffral-enabled .ffral-profile .dp-radio-option { flex-basis: 100%; }
  #product.ffral-enabled .product-cover { min-height: 0 !important; }
}
@media (max-width: 359px) {
  #product.ffral-enabled .ffral-color { flex-basis: calc(50% - 12px); width: calc(50% - 12px); }
}
