#optifull-configurator{border:1px solid #dbe3e8;border-radius:14px;padding:22px;margin:20px 0;color:#0f3854;background:#fff;font-family:Quicksand,Arial,sans-serif}#optifull-configurator h3,#optifull-configurator h4{color:#0f3854;margin:0 0 12px}#optifull-configurator p{margin:10px 0 16px}#optifull-configurator button{cursor:pointer;font-family:inherit}#optifull-configurator .ofc-progress{font-size:13px;font-weight:700;color:#4d4d4d;margin:18px 0 12px}.ofc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ofc-choice,.ofc-lens{border:2px solid #dce5ea;border-radius:12px;background:#fff;padding:17px;text-align:left;color:#0f3854;display:flex;flex-direction:column;gap:7px;min-height:100px}.ofc-choice strong{font-size:16px}.ofc-choice small,.ofc-lens small{font-size:12px;color:#4d4d4d}.ofc-choice span{font-size:12px;font-weight:700}.ofc-choice.selected,.ofc-lens.selected{border-color:#0f3854;background:#f0f6f8}.ofc-recipe{display:grid;grid-template-columns:50px repeat(3,minmax(0,1fr));align-items:center;gap:8px}.ofc-head{font-size:12px;font-weight:700}.ofc-eye{font-weight:700}.ofc-recipe input,.ofc-dp input{min-width:0;width:100%;border:1px solid #c7d3db;border-radius:7px;padding:10px;font-size:15px}.ofc-dp{display:block;margin:18px 0;font-weight:700}.ofc-dp input{display:block;max-width:180px;margin-top:8px}.ofc-help{font-size:12px;color:#5e6b72}.ofc-warning{background:#fff7df;padding:12px;border-left:3px solid #f6de6d;border-radius:4px}.ofc-lenses{display:grid;gap:9px}.ofc-lens{flex-direction:row;justify-content:space-between;align-items:center;min-height:70px;gap:14px}.ofc-lens span{display:flex;flex-direction:column;gap:5px}.ofc-lens b{white-space:nowrap}.ofc-nav{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.ofc-next,.ofc-back{border:0;border-radius:9px;padding:11px 20px;font-weight:700}.ofc-next{background:#0f3854;color:#fff}.ofc-back{background:#ededed;color:#0f3854}.ofc-summary{background:#f4f7f8;border-radius:12px;padding:16px}.ofc-summary h3{margin-top:18px!important}@media(max-width:540px){#optifull-configurator{padding:14px}.ofc-grid{gap:8px}.ofc-choice{padding:11px;min-height:100px}.ofc-choice strong{font-size:14px}.ofc-lens{flex-wrap:wrap}.ofc-recipe{grid-template-columns:34px repeat(3,minmax(0,1fr));gap:5px}.ofc-recipe input{padding:8px 3px;font-size:13px}}

/* v0.3.0: tarjetas accesibles, incluso cuando Elessi aplica estilos globales a botones */
#optifull-configurator .ofc-choice{background:#ffffff!important;color:#0f3854!important;border:2px solid #cbd9e2!important;letter-spacing:normal!important;text-transform:none!important;line-height:1.35!important;box-shadow:none!important;transition:background .15s,border-color .15s,box-shadow .15s}
#optifull-configurator .ofc-choice strong{display:block;color:#0f3854!important;font-size:16px!important;font-weight:700!important;letter-spacing:normal!important;text-transform:none!important}
#optifull-configurator .ofc-choice small{display:block;color:#4d4d4d!important;font-size:13px!important;font-weight:500!important;letter-spacing:normal!important;text-transform:none!important;opacity:1!important}
#optifull-configurator .ofc-choice span{color:#0f3854!important;font-size:12px!important;letter-spacing:normal!important;text-transform:none!important}
#optifull-configurator .ofc-choice.selected{background:#eaf3f7!important;border-color:#0f3854!important;box-shadow:inset 0 0 0 1px #0f3854!important}
#optifull-configurator .ofc-choice:hover{border-color:#0f3854!important}
#optifull-configurator .ofc-choice:focus-visible{outline:3px solid #f6de6d!important;outline-offset:2px}
@media(max-width:540px){#optifull-configurator .ofc-choice strong{font-size:14px!important}#optifull-configurator .ofc-choice small{font-size:12px!important}}

/* 0.4.0: tarjetas legibles, incluso con estilos del tema Elessi */
#optifull-configurator .ofc-choice,
#optifull-configurator .ofc-lens{background:#fff!important;color:#0f3854!important;border:2px solid #cbd8df!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:none!important;opacity:1!important}
#optifull-configurator .ofc-choice.selected,
#optifull-configurator .ofc-lens.selected{background:#edf5f8!important;color:#0f3854!important;border-color:#0f3854!important;box-shadow:inset 4px 0 0 #0f3854!important}
#optifull-configurator .ofc-choice strong,
#optifull-configurator .ofc-lens strong{color:#0f3854!important;letter-spacing:normal!important;font-weight:700!important;line-height:1.4!important}
#optifull-configurator .ofc-choice small,
#optifull-configurator .ofc-lens small{color:#4d4d4d!important;letter-spacing:normal!important;line-height:1.5!important;opacity:1!important}
#optifull-configurator .ofc-choice span,
#optifull-configurator .ofc-lens b{color:#0f3854!important;letter-spacing:normal!important;opacity:1!important}
#optifull-configurator .ofc-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 8px}
#optifull-configurator .ofc-measure{display:flex;flex-direction:column;gap:7px;color:#0f3854;font-weight:700;font-size:13px;min-width:0}
#optifull-configurator .ofc-measure input{width:100%;min-width:0;max-width:100%;border:1px solid #c7d3db;border-radius:7px;padding:10px;font-size:15px;color:#0f3854;background:#fff}
@media(max-width:540px){#optifull-configurator .ofc-measures{gap:10px}#optifull-configurator .ofc-lens{align-items:flex-start}#optifull-configurator .ofc-lens b{font-size:15px}}

/* 0.5.0: visible placement for Elessi mobile product forms */
#ofc-mobile-anchor:empty{display:none!important}
#ofc-mobile-anchor.ofc-mobile-active{display:block!important;clear:both;width:100%;margin:18px 0 26px}
#ofc-mobile-anchor.ofc-mobile-active form.cart{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important}
@media(max-width:767px){#ofc-mobile-anchor.ofc-mobile-active #optifull-configurator{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;max-width:100%!important}}

/* v0.6.0: muestras circulares de colores fotocromáticos */
#optifull-configurator .ofc-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:12px;margin:14px 0}
#optifull-configurator .ofc-color{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px 8px;min-height:138px;border:2px solid #d2dee5;border-radius:13px;background:#fff!important;color:#0f3854!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important}
#optifull-configurator .ofc-color.selected{border-color:#0f3854;background:#edf5f8!important;box-shadow:inset 0 0 0 1px #0f3854!important}
#optifull-configurator .ofc-color-dot{display:block;width:56px;height:56px;border-radius:50%;background:var(--ofc-color);border:2px solid rgba(15,56,84,.25);box-shadow:inset -9px -8px 15px rgba(0,0,0,.12),inset 8px 7px 12px rgba(255,255,255,.3)}
#optifull-configurator .ofc-color strong{color:#0f3854!important;font-size:14px!important}
#optifull-configurator .ofc-color small{color:#4d4d4d!important;font-size:12px!important}
@media(max-width:540px){#optifull-configurator .ofc-colors{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#optifull-configurator .ofc-color{padding:10px 4px;min-height:122px}#optifull-configurator .ofc-color-dot{width:48px;height:48px}}

/* v0.7.0: muestras circulares de colores fotocromáticos */
#optifull-configurator .ofc-color{align-items:center!important;text-align:center!important;justify-content:center!important;gap:8px!important;min-height:145px!important}
#optifull-configurator .ofc-color-dot{display:block!important;width:58px!important;height:58px!important;border-radius:50%!important;border:3px solid #fff!important;box-shadow:0 0 0 1px #c7d3db!important;flex:none!important}
#optifull-configurator .ofc-color.selected .ofc-color-dot{box-shadow:0 0 0 2px #0f3854!important}

/* v0.8.0: selector circular minimalista, sin tarjetas ni círculos duplicados */
#optifull-configurator .ofc-colors{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:20px 24px!important;margin:18px 0!important}
#optifull-configurator button.ofc-color{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;min-height:0!important;width:82px!important;max-width:82px!important;padding:4px 0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;letter-spacing:normal!important;text-transform:none!important;color:#0f3854!important}
#optifull-configurator button.ofc-color.selected{border:0!important;background:transparent!important;box-shadow:none!important}
#optifull-configurator button.ofc-color .ofc-color-dot{display:block!important;width:58px!important;height:58px!important;box-sizing:border-box!important;flex:none!important;border:3px solid #fff!important;border-radius:50%!important;background:var(--ofc-color)!important;box-shadow:0 0 0 1px #c7d3db!important;transition:box-shadow .15s,transform .15s!important}
#optifull-configurator button.ofc-color.selected .ofc-color-dot{box-shadow:0 0 0 3px #0f3854!important}
#optifull-configurator button.ofc-color:focus-visible .ofc-color-dot{outline:2px solid #0f3854!important;outline-offset:6px!important}
#optifull-configurator button.ofc-color strong{display:block!important;font-size:13px!important;font-weight:600!important;line-height:1.3!important;color:#0f3854!important;text-align:center!important}
@media(max-width:540px){#optifull-configurator .ofc-colors{gap:14px!important}#optifull-configurator button.ofc-color{width:72px!important;max-width:72px!important}#optifull-configurator button.ofc-color .ofc-color-dot{width:52px!important;height:52px!important}}


/* v0.9.0: compact, proportional color swatches and clear navigation spacing */
#optifull-configurator .ofc-colors{
  display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;
  justify-content:flex-start!important;gap:16px 18px!important;
  margin:18px 0 0!important;padding:0 0 8px!important;
}
#optifull-configurator button.ofc-color{
  display:inline-flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:flex-start!important;gap:7px!important;
  flex:0 0 56px!important;width:56px!important;max-width:56px!important;
  min-width:0!important;min-height:0!important;height:auto!important;
  margin:0!important;padding:3px 0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;outline:none!important;
  line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important;
}
#optifull-configurator button.ofc-color .ofc-color-dot{
  display:block!important;box-sizing:border-box!important;
  width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
  border:2px solid #fff!important;border-radius:50%!important;
  background:var(--ofc-color)!important;box-shadow:0 0 0 1px #c7d3db!important;
  flex:0 0 36px!important;
}
#optifull-configurator button.ofc-color.selected .ofc-color-dot{box-shadow:0 0 0 2px #0f3854!important}
#optifull-configurator button.ofc-color strong{
  display:block!important;margin:0!important;padding:0!important;
  font-size:12px!important;line-height:1.4!important;font-weight:600!important;
  color:#0f3854!important;letter-spacing:normal!important;text-transform:none!important;
}
#optifull-configurator .ofc-colors + .ofc-nav{margin-top:28px!important}
#optifull-configurator .ofc-nav{clear:both!important;position:relative!important;z-index:1!important}
@media(max-width:540px){
  #optifull-configurator .ofc-colors{gap:14px 16px!important}
  #optifull-configurator button.ofc-color{flex-basis:52px!important;width:52px!important;max-width:52px!important}
}

/* v1.0.0 - prescription summary, mobile first */
#optifull-configurator .ofc-summary{padding:18px!important;background:#f4f7f8!important;max-width:100%;min-width:0;box-sizing:border-box}
#optifull-configurator .ofc-summary h5{font-size:17px;color:#0f3854;margin:0 0 12px;font-weight:700}
#optifull-configurator .ofc-summary h5:not(:first-child){margin-top:22px}
#optifull-configurator .ofc-summary-details{display:grid;gap:10px}
#optifull-configurator .ofc-summary-details>div{display:grid;grid-template-columns:minmax(75px,105px) minmax(0,1fr);gap:8px;align-items:start;font-size:13px}
#optifull-configurator .ofc-summary-details span,#optifull-configurator .ofc-summary-measures span{color:#536572}
#optifull-configurator .ofc-summary-details strong{color:#0f3854;font-weight:600;overflow-wrap:anywhere}
#optifull-configurator .ofc-prescription-wrap{width:100%;max-width:100%;overflow-x:auto}
#optifull-configurator table.ofc-prescription-table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;background:white!important;margin:0!important;min-width:0!important}
#optifull-configurator .ofc-prescription-table th,#optifull-configurator .ofc-prescription-table td{border:1px solid #d9e3e8!important;padding:10px 5px!important;text-align:center!important;color:#0f3854!important;font-size:14px!important;line-height:1.3!important;white-space:nowrap!important;background:transparent!important}
#optifull-configurator .ofc-prescription-table thead{background:#e7f0f5!important}
#optifull-configurator .ofc-prescription-table th:first-child{width:17%}
#optifull-configurator .ofc-summary-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
#optifull-configurator .ofc-summary-measures>div{display:flex;flex-direction:column;gap:5px;padding:11px;border:1px solid #d9e3e8;border-radius:8px;background:white;font-size:13px;min-width:0}
#optifull-configurator .ofc-summary-measures strong{font-size:15px;color:#0f3854}
#optifull-configurator .ofc-summary-total{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #cddbe3;color:#0f3854}
#optifull-configurator .ofc-summary-total strong{font-size:23px;white-space:nowrap}
#optifull-configurator .ofc-summary-extra{font-size:12px!important;margin:12px 0!important}
#optifull-configurator .ofc-confirm-label{display:flex;align-items:flex-start;gap:10px;margin:18px 0 12px;font-size:14px;line-height:1.5;color:#0f3854;cursor:pointer}
#optifull-configurator .ofc-confirm-label input{width:19px!important;height:19px!important;min-width:19px!important;flex:0 0 19px;margin:2px 0 0!important;accent-color:#0f3854}
@media(max-width:540px){#optifull-configurator .ofc-summary{padding:12px!important}#optifull-configurator .ofc-prescription-table th,#optifull-configurator .ofc-prescription-table td{font-size:12px!important;padding:9px 2px!important}#optifull-configurator .ofc-summary-measures{gap:7px}#optifull-configurator .ofc-summary-measures>div{padding:9px}#optifull-configurator .ofc-summary-total strong{font-size:21px}}

/* v1.1.0: signed prescription entry and checkout CTA */
#optifull-configurator .ofc-number-wrap{display:flex;position:relative;min-width:0;align-items:center}
#optifull-configurator .ofc-number-wrap input{min-width:0;width:100%!important;padding-right:35px!important;box-sizing:border-box!important}
#optifull-configurator button.ofc-sign{position:absolute!important;right:4px!important;top:50%!important;transform:translateY(-50%)!important;border:1px solid #ccd9df!important;border-radius:6px!important;padding:0!important;width:29px!important;height:29px!important;min-width:29px!important;line-height:27px!important;background:#f2f7fa!important;color:#0f3854!important;font-size:15px!important;letter-spacing:normal!important}
#optifull-configurator button.ofc-checkout{background:#0f3854!important;color:white!important;border-radius:25px!important;padding:12px 20px!important;font-size:14px!important;letter-spacing:normal!important}
#optifull-configurator button.ofc-checkout:disabled{opacity:.5!important;cursor:not-allowed!important}
@media(max-width:767px){form.cart.ofc-mobile-relocated{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important}#optifull-configurator .ofc-number-wrap input{padding-left:6px!important;padding-right:31px!important;font-size:15px!important}#optifull-configurator button.ofc-sign{right:2px!important;width:27px!important;min-width:27px!important}}

/* v1.2.0: Elessi mobile placement and usable full-width prescription */
@media(max-width:767px){
 #ofc-mobile-anchor.ofc-mobile-active,#ofc-mobile-placement.ofc-mobile-active{display:block!important;position:relative!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:18px 0 28px!important;box-sizing:border-box!important}
 #ofc-mobile-anchor.ofc-mobile-active>form.cart,#ofc-mobile-placement.ofc-mobile-active>form.cart{display:block!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}
 #optifull-configurator{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0!important;padding:16px!important;overflow:hidden!important}
 #optifull-configurator .ofc-app,#optifull-configurator .ofc-recipe{width:100%!important;min-width:0!important;box-sizing:border-box!important}
 #optifull-configurator .ofc-recipe{grid-template-columns:28px repeat(3,minmax(0,1fr))!important;gap:5px!important}
 #optifull-configurator .ofc-recipe .ofc-number-wrap{width:100%!important;min-width:0!important}
 #optifull-configurator .ofc-recipe .ofc-number-wrap input{width:100%!important;min-width:0!important;min-height:44px!important;padding:8px 29px 8px 5px!important;font-size:16px!important;box-sizing:border-box!important}
 #optifull-configurator .ofc-recipe .ofc-number-wrap:not(:has(.ofc-sign)) input{padding-right:5px!important}
 #optifull-configurator button.ofc-sign{right:2px!important;width:24px!important;min-width:24px!important;height:30px!important;line-height:28px!important}
 #optifull-configurator .ofc-nav{clear:both!important;margin-top:24px!important;flex-wrap:wrap!important}
}

/* v1.3: mode selection and compact prescription dropdowns */
#optifull-configurator .ofc-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
#optifull-configurator button.ofc-mode-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;padding:18px;border:1px solid #c7d3db;border-radius:12px;background:#fff;color:#0f3854;min-width:0;white-space:normal;line-height:1.35}
#optifull-configurator button.ofc-mode-choice.selected{border:2px solid #0f3854;background:#edf5f8}
#optifull-configurator .ofc-mode-choice small{color:#4d4d4d;font-size:13px}
#optifull-configurator .ofc-recipe select,#optifull-configurator .ofc-recipe input{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:44px!important;border:1px solid #c7d3db!important;border-radius:8px!important;background:#fff!important;color:#0f3854!important;font-size:15px!important;padding:8px 5px!important;margin:0!important;letter-spacing:normal!important}
#optifull-configurator .ofc-recipe select{appearance:auto!important;-webkit-appearance:menulist!important;padding-right:0!important}
#optifull-configurator .ofc-mode-back{border:1px solid #ccd9df;border-radius:9px;padding:11px 15px;background:#fff;color:#0f3854}
@media(max-width:540px){#optifull-configurator .ofc-mode-grid{grid-template-columns:1fr}#optifull-configurator .ofc-recipe{grid-template-columns:28px repeat(3,minmax(0,1fr))!important;gap:5px!important}#optifull-configurator .ofc-recipe select,#optifull-configurator .ofc-recipe input{font-size:14px!important;padding:6px 2px!important;min-height:42px!important}}

/* Optifull v1.4 — Quicksand and clean purchase-mode tiles */
#optifull-configurator,
#optifull-configurator :is(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,button,input,select,option,table,th,td){font-family:'Quicksand',sans-serif!important;letter-spacing:normal!important;text-transform:none!important;}
#optifull-configurator{font-weight:400!important;line-height:1.5!important;}
#optifull-configurator h3,#optifull-configurator h4,#optifull-configurator h5{font-weight:600!important;}
#optifull-configurator .ofc-mode-heading{font-size:20px!important;text-align:center!important;margin:4px 0 20px!important;color:#0F3854!important;line-height:1.3!important;}
#optifull-configurator .ofc-mode-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0!important;width:100%!important;}
#optifull-configurator button.ofc-mode-choice{appearance:none!important;-webkit-appearance:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:0!important;width:100%!important;height:auto!important;min-height:142px!important;padding:18px 9px!important;margin:0!important;border:1px solid #D9E0E5!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important;color:#0F3854!important;text-align:center!important;white-space:normal!important;line-height:1.3!important;transition:background .15s,border-color .15s!important;}
#optifull-configurator button.ofc-mode-choice.selected{border:2px solid #0F3854!important;background:#EDF5F8!important;}
#optifull-configurator button.ofc-mode-choice .ofc-mode-icon{font-size:29px!important;line-height:1!important;font-weight:400!important;color:#0F3854!important;}
#optifull-configurator button.ofc-mode-choice strong{display:block!important;font-size:15px!important;font-weight:600!important;color:#0F3854!important;line-height:1.3!important;}
#optifull-configurator button.ofc-mode-choice small{display:block!important;font-size:12px!important;font-weight:400!important;color:#4D4D4D!important;line-height:1.4!important;}
#optifull-configurator .ofc-mode-hint{font-size:12px!important;color:#66727A!important;text-align:center!important;margin:14px 0 0!important;}
#optifull-configurator .ofc-summary-total strong{font-weight:700!important;}
@media(max-width:540px){#optifull-configurator .ofc-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}#optifull-configurator button.ofc-mode-choice{min-height:132px!important;padding:14px 7px!important}#optifull-configurator button.ofc-mode-choice strong{font-size:13px!important}#optifull-configurator button.ofc-mode-choice small{font-size:11px!important}}

/* v1.4.1: use entire product detail width and correct optical icons */
@media(min-width:768px){
 body.single-product form.cart:has(#optifull-configurator){width:100%!important;max-width:100%!important;min-width:0!important;flex:0 0 100%!important;grid-column:1 / -1!important;float:none!important;clear:both!important;display:block!important;}
 body.single-product form.cart:has(#optifull-configurator) #optifull-configurator{width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:16px 0 22px!important;}
}
#optifull-configurator .ofc-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;}
#optifull-configurator button.ofc-mode-choice{min-height:132px!important;gap:7px!important;padding:15px 10px!important;}
#optifull-configurator .ofc-mode-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;}
#optifull-configurator .ofc-mode-icon svg{display:block!important;width:28px!important;height:28px!important;stroke:#0F3854!important;}
#optifull-configurator .ofc-mode-status{display:block!important;width:15px!important;height:15px!important;line-height:15px!important;border:1.5px solid #0F3854!important;border-radius:50%!important;font-size:11px!important;font-weight:700!important;text-align:center!important;color:#0F3854!important;}
#optifull-configurator .ofc-mode-choice.selected .ofc-mode-status{background:#0F3854!important;color:#fff!important;}
@media(max-width:767px){#optifull-configurator .ofc-mode-grid{gap:9px!important}#optifull-configurator button.ofc-mode-choice{min-height:125px!important;padding:12px 6px!important;}body.single-product form.cart:has(#optifull-configurator){max-width:100%!important;min-width:0!important;}}

/* v1.5.0: uniform pill-shaped controls inspired by Elessi Comprar ahora */
#optifull-configurator :is(.ofc-recipe input,.ofc-recipe select,.ofc-measure input){border-radius:999px!important;padding-left:14px!important;padding-right:12px!important;min-height:48px!important;box-shadow:none!important;}
#optifull-configurator :is(.ofc-next,.ofc-back,.ofc-mode-back,.ofc-checkout){border-radius:999px!important;min-height:44px!important;padding:10px 22px!important;border:1px solid #0F3854!important;background:#0F3854!important;color:#fff!important;letter-spacing:normal!important;text-transform:none!important;font-family:Quicksand,sans-serif!important;font-weight:600!important;}
#optifull-configurator :is(.ofc-next,.ofc-back,.ofc-mode-back,.ofc-checkout):focus-visible{outline:3px solid #F6DE6D!important;outline-offset:2px!important;}
#optifull-configurator .ofc-checkout:disabled{opacity:.5!important;cursor:not-allowed!important;}
#optifull-configurator .ofc-recipe select{appearance:auto!important;-webkit-appearance:menulist!important;}
#optifull-configurator .ofc-progress{margin-top:10px!important;}
@media(max-width:540px){#optifull-configurator .ofc-recipe select,#optifull-configurator .ofc-recipe input{min-height:44px!important;padding-left:7px!important;padding-right:2px!important;font-size:13px!important;}#optifull-configurator .ofc-measure input{padding-left:12px!important;}#optifull-configurator .ofc-nav{gap:8px!important;}#optifull-configurator :is(.ofc-next,.ofc-back,.ofc-mode-back,.ofc-checkout){padding:10px 15px!important;font-size:13px!important;}}

/* Optifull 1.5.1: high-specificity Elessi overrides */
#optifull-configurator .ofc-app .ofc-recipe select,
#optifull-configurator .ofc-app .ofc-recipe input,
#optifull-configurator .ofc-app .ofc-measures input {
  -webkit-appearance:none!important;appearance:none!important;
  border-radius:999px!important;min-height:46px!important;
  padding:10px 14px!important;background-color:#fff!important;
  font-family:Quicksand,sans-serif!important;box-sizing:border-box!important;
}
#optifull-configurator .ofc-app .ofc-recipe select{
  -webkit-appearance:auto!important;appearance:auto!important;
  padding-right:6px!important;
}
#optifull-configurator .ofc-app .ofc-nav button{
 border-radius:999px!important;min-height:44px!important;
 padding:10px 20px!important;font-family:Quicksand,sans-serif!important;
 background:#0F3854!important;color:#fff!important;border:0!important;
}
#optifull-configurator .ofc-app .ofc-nav{margin-top:24px!important}
#optifull-configurator .ofc-app .ofc-progress{margin-top:8px!important}

/* 1.6.0: sin receta y tipografía consistente */
#optifull-configurator .ofc-nongrad-grid{margin:16px 0 22px}
#optifull-configurator .ofc-nongrad-grid .ofc-choice{border-radius:16px!important;min-height:95px!important;padding:14px!important;text-align:center!important;justify-content:center!important;align-items:center!important}
#optifull-configurator .ofc-finish{display:flex;gap:10px;margin:12px 0 22px}
#optifull-configurator .ofc-finish button{border:1px solid #c7d3db!important;border-radius:999px!important;background:#fff!important;color:#0f3854!important;padding:9px 18px!important;letter-spacing:normal!important;text-transform:none!important}
#optifull-configurator .ofc-finish button.selected{background:#edf5f8!important;border:2px solid #0f3854!important}
#optifull-configurator .ofc-nongrad-grid strong{font-family:Quicksand,sans-serif!important;font-size:14px!important;letter-spacing:normal!important}
#optifull-configurator .ofc-nongrad-grid small{font-family:Quicksand,sans-serif!important;letter-spacing:normal!important}
#optifull-configurator .ofc-checkout:disabled{opacity:.45!important;cursor:not-allowed!important}

/* 1.7.0: pasos independientes, iconos y selección de dos colores */
#optifull-configurator .ofc-ng-icon{display:flex;justify-content:center;align-items:center;color:#0F3854;margin:0 auto 5px}
#optifull-configurator .ofc-nongrad-grid .ofc-choice{gap:8px!important}
#optifull-configurator .ofc-ng-color-group{margin:18px 0 26px}
#optifull-configurator .ofc-ng-color-group h4{font-size:15px!important;margin-bottom:12px!important}
#optifull-configurator .ofc-ng-color-group .ofc-colors{margin-bottom:14px}
#optifull-configurator .ofc-nav{margin-top:28px}
#optifull-configurator .ofc-ng-next,#optifull-configurator .ofc-ng-back{border-radius:999px!important;padding:12px 20px!important;font-family:Quicksand,sans-serif!important;text-transform:none!important;letter-spacing:normal!important;font-weight:700!important}
#optifull-configurator .ofc-ng-next{background:#0F3854!important;color:white!important}
#optifull-configurator .ofc-ng-back{background:#ededed!important;color:#0F3854!important}
#optifull-configurator .ofc-ng-next:disabled{opacity:.45!important}

/* 1.8.0: tarjetas visuales para el tipo de teñido */
#optifull-configurator .ofc-finish{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 22px}
#optifull-configurator .ofc-finish .ofc-finish-card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:136px!important;border:1.5px solid #c7d3db!important;border-radius:17px!important;background:#fff!important;color:#0F3854!important;padding:15px 9px!important;letter-spacing:normal!important;text-transform:none!important;cursor:pointer}
#optifull-configurator .ofc-finish .ofc-finish-card.selected{background:#edf5f8!important;border:2px solid #0F3854!important;box-shadow:inset 3px 0 0 #0F3854}
#optifull-configurator .ofc-finish-card strong{font-size:15px;line-height:1.25}
#optifull-configurator .ofc-finish-card small{font-size:12px;line-height:1.3;text-align:center;color:#4D4D4D}
#optifull-configurator .ofc-finish-icon{display:flex;align-items:center;justify-content:center;height:50px}

/* 1.9.0: simulación en tiempo real de colores sin receta */
#optifull-configurator .ofc-live-preview{margin:14px 0 22px;padding:15px 12px 12px;background:#f6f9fb;border:1px solid #dce6ec;border-radius:17px;text-align:center;color:#0F3854;font-family:Quicksand,sans-serif!important}
#optifull-configurator .ofc-live-preview-title{font-size:14px;font-weight:700;margin-bottom:4px}
#optifull-configurator .ofc-live-glasses{display:block;width:min(100%,320px);height:auto;margin:0 auto 2px;overflow:visible}
#optifull-configurator .ofc-live-preview-caption{font-size:13px;font-weight:700;line-height:1.45;margin-bottom:3px}
#optifull-configurator .ofc-live-preview small{display:block;font-size:11px;color:#647784;line-height:1.5}
@media(max-width:480px){#optifull-configurator .ofc-live-preview{padding:12px 9px}#optifull-configurator .ofc-live-glasses{width:min(100%,275px)}}

/* v1.12.0 — tarjetas sin receta: distribución móvil sin solapamientos */
#optifull-configurator .ofc-nongrad-grid{align-items:stretch!important;grid-auto-rows:1fr!important;gap:12px!important;}
#optifull-configurator .ofc-nongrad-grid button.ofc-choice{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;min-width:0!important;min-height:174px!important;height:auto!important;
  box-sizing:border-box!important;padding:18px 12px!important;gap:0!important;overflow:hidden!important;
  white-space:normal!important;line-height:1.35!important;
}
#optifull-configurator .ofc-nongrad-grid .ofc-ng-icon{
  display:flex!important;flex:0 0 34px!important;width:34px!important;height:34px!important;
  align-items:center!important;justify-content:center!important;margin:0 auto 12px!important;
  position:static!important;transform:none!important;line-height:1!important;
}
#optifull-configurator .ofc-nongrad-grid .ofc-ng-icon svg{display:block!important;width:30px!important;height:30px!important;max-width:100%!important;max-height:100%!important;flex-shrink:0!important;}
#optifull-configurator .ofc-nongrad-grid button.ofc-choice strong{
  display:block!important;width:100%!important;min-height:38px!important;margin:0 0 7px!important;
  font-size:14px!important;line-height:1.35!important;text-align:center!important;
  overflow-wrap:break-word!important;word-break:normal!important;
}
#optifull-configurator .ofc-nongrad-grid button.ofc-choice small{
  display:block!important;width:100%!important;margin:0!important;padding:0!important;
  font-size:12px!important;line-height:1.4!important;text-align:center!important;
  white-space:normal!important;overflow-wrap:break-word!important;
}
@media(max-width:540px){
 #optifull-configurator .ofc-nongrad-grid{gap:10px!important;}
 #optifull-configurator .ofc-nongrad-grid button.ofc-choice{min-height:186px!important;padding:16px 8px!important;}
 #optifull-configurator .ofc-nongrad-grid button.ofc-choice strong{font-size:13px!important;min-height:36px!important;}
 #optifull-configurator .ofc-nongrad-grid button.ofc-choice small{font-size:11.5px!important;line-height:1.4!important;}
}
@media(max-width:360px){
 #optifull-configurator .ofc-nongrad-grid button.ofc-choice{min-height:205px!important;padding:14px 6px!important;}
 #optifull-configurator .ofc-nongrad-grid button.ofc-choice strong{font-size:12px!important;}
 #optifull-configurator .ofc-nongrad-grid button.ofc-choice small{font-size:11px!important;}
}

/* v1.13: selección de distancia de uso */
#optifull-configurator .ofc-purpose-grid .ofc-mode-choice{min-height:165px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 12px;white-space:normal;text-align:center;}
#optifull-configurator .ofc-purpose-grid .ofc-mode-choice small{line-height:1.45;max-width:200px;}
#optifull-configurator .ofc-purpose-grid .ofc-mode-icon{display:flex;align-items:center;justify-content:center;height:44px;}
@media(max-width:480px){#optifull-configurator .ofc-purpose-grid .ofc-mode-choice{min-height:174px;padding:16px 9px;}#optifull-configurator .ofc-purpose-grid .ofc-mode-choice strong{font-size:15px;}#optifull-configurator .ofc-purpose-grid .ofc-mode-choice small{font-size:12px;}}
