.product-option-message {
    display:none;
}

.product-option-appended-message {
    border:1px solid #777;
    color:#777;
    padding:10px;
    width:100%;
    margin:5px;
    overflow:auto;
}

.product-option-appended-message img {
    float:left;
    margin-right:10px;
    max-width:70px !important;
}

.required-error, .numeric-error, .max-checkboxes-error, .min-checkboxes-error {
    color:#f00;
    display:inline-block;
}

.product-option input[type=radio] {
    margin: 0 20px 0 5px;
    float: none !important;
}

.product-option input[type=radio].radio-image-radio, .product-option input[type=checkbox].radio-image-radio {
    display: none;
}

.radio-image-label {
    text-align:center;
    display:inline-block;
    margin:10px;
    max-width:300px;
    vertical-align:top;
}

.radio-image-label img, .radio-image-label img.radio-image-image {
    max-width:70px;
    opacity:0.9;
    border:1px solid #000;
}

.radio-image-label img:hover {
    opacity:1.0;
    border:1px solid #ccc;
}

.radio-image-label.selected-radio-image img.radio-image-image, .radio-image-label.selected-radio-image img.radio-image-image:hover {
    opacity:1.0;
    border:1px solid black;
    cursor:pointer;
}
.radio-image-label:hover {
    cursor:pointer;
}

.radio-image-label .radio-image-option {
    color:#000;
    text-align:center;
}

.datepicker-icon {
    cursor:pointer;
}

.datepicker-icon img {
    width: 100px;
}

.datepicker-value {
    display:none;
}

.number-as-text-error {
    color:red;
}

.range-value {
    display: block;
    width: 100%;
    text-align: center;
}

/* ==== L10C Base: Option Hover UI & Modal ==== */
.product-option { position: relative; }
.l10c-option-media-wrap { position: relative; display: inline-block; }
.l10c-option-media-wrap .option-hover-ui {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: rgba(0,0,0,.45);
  opacity: 0;
  pointer-events: auto;
  transition: opacity .18s ease-in-out;
  padding: 16px;
  text-align: center;
  z-index: 30;
}
.l10c-option-media-wrap:hover .option-hover-ui,
.l10c-option-media-wrap:focus-within .option-hover-ui { opacity: 1; }

.l10c-btn {
  font: inherit;
  line-height: 1;
  padding: 10px 14px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  background: #ffffff;
  color: #111;
  box-shadow: 0 6px 20px rgba(0,0,0,.16);
  transition: transform .08s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.l10c-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.2); }
.l10c-btn:active { transform: translateY(0); }
.l10c-btn--primary { background: #2ecc71; color: #fff; }
.l10c-btn--primary:hover { background: #29c36a; }

/* Modal */
.l10c-modal-open { overflow: hidden; }
.l10c-modal { position: fixed; inset: 0; z-index: 999999; display: none; }
.l10c-modal.is-open { display: block; }
.l10c-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.8); }
.l10c-modal__dialog { position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; }
.l10c-modal__img {
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 48px);
  width: auto;
  height: auto;
  object-fit: contain;
  background: #000;
  border-radius: 12px;
}
.l10c-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 44px; height: 44px;
  border: none; border-radius: 999px;
  background: rgba(255,255,255,.9); color: #111;
  font-size: 26px; line-height: 1; cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
}
.l10c-modal__close:hover { background: #fff; }

/* Kill any legacy full-card overlays */
.product-option > .option-hover-ui { display:none !important; opacity:0 !important; pointer-events:none !important; }

/* Radio-image-label specific */
.product-option .radio-image-label .l10c-option-media-wrap{ display: inline-block; }
.product-option .radio-image-label .l10c-option-media-wrap .option-hover-ui{ padding:12px; gap:10px; }


/* Disable overlay & modal under 1260px */
@media (max-width: 1259.98px){
  .l10c-option-media-wrap .option-hover-ui{
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .l10c-modal { display: none !important; }
  body.l10c-modal-open { overflow: auto; }
}

/* Gallery nav */
.l10c-modal__nav{position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.5); color:#fff; border:none; width:44px; height:44px; border-radius:50%; cursor:pointer; font-size:26px; line-height:44px; text-align:center; z-index:3;}
.l10c-modal__prev{left:12px;}
.l10c-modal__next{right:12px;}
.l10c-modal__nav:hover{background:rgba(0,0,0,.7);}

/* Modal thumbnails */
#optionImageModal .l10c-modal__thumbs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:10px 12px}
#optionImageModal .l10c-modal__thumb{border:1px solid #ddd;width:56px;height:56px;overflow:hidden;border-radius:6px;cursor:pointer;background:#fff}
#optionImageModal .l10c-modal__thumb img{width:100%;height:100%;object-fit:cover;display:block}
#optionImageModal .l10c-modal__thumb--active{outline:2px solid #fff;box-shadow:0 0 0 2px #0073aa}
/* Hide arrows unless multiple */
#optionImageModal .l10c-modal__nav{display:none}
#optionImageModal.has-multi .l10c-modal__nav{display:block}


/* Out-of-stock option: visually disabled and non-interactive */
.radio-image-label.out-of-stock,
.product-options .radio-image-label.out-of-stock {
    pointer-events: none;
    opacity: 0.5;
    filter: grayscale(100%);
    position: relative;
}
.radio-image-label.out-of-stock::after {
    content: "Out Of Stock";
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px;
    background: #ccc;
}
