.lls-configurator {
  --lls-ink: #171a1f;
  --lls-muted: #716c64;
  --lls-ivory: #fbf7ef;
  --lls-paper: #fffdf8;
  --lls-gold: #b18a39;
  --lls-gold-soft: rgba(177, 138, 57, .12);
  --lls-blue: #315b68;
  --lls-line: #e4d7bf;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 2rem 0;
  padding: clamp(1.15rem, 3vw, 2.25rem);
  border: 1px solid var(--lls-line);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 100% 0, rgba(177, 138, 57, .08), transparent 34%),
    var(--lls-paper);
  box-shadow: 0 24px 70px rgba(65, 51, 28, .10);
  color: var(--lls-ink);
  container-type: inline-size;
  overflow: hidden;
}

.lls-configurator,
.lls-configurator * { box-sizing: border-box; }

.lls-step,
.lls-choices,
.lls-choice,
.lls-choice-copy { min-width: 0; }

.lls-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--lls-line);
}

.lls-kicker {
  margin: 0;
  color: var(--lls-gold);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.lls-brand-row > span {
  color: var(--lls-muted);
  font-size: .69rem;
  font-weight: 700;
}

.lls-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: end;
  margin-bottom: 1.65rem;
}

.lls-intro h2 {
  margin: 0 0 .45rem !important;
  color: var(--lls-ink);
  font-family: inherit;
  font-size: clamp(1.85rem, 4vw, 3rem) !important;
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.02;
}

.lls-intro p {
  max-width: 42rem;
  margin: 0;
  color: var(--lls-muted);
  font-size: .92rem;
  line-height: 1.55;
}

.lls-live-total {
  min-width: 150px;
  padding: .75rem 1rem;
  border: 1px solid var(--lls-line);
  border-radius: .9rem;
  background: rgba(255, 255, 255, .72);
  text-align: right;
}

.lls-live-total span,
.lls-live-total small,
.lls-live-total strong {
  display: block;
}

.lls-live-total span {
  color: var(--lls-muted);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.lls-live-total strong {
  margin: .15rem 0;
  color: var(--lls-ink);
  font-size: 1.18rem;
}

.lls-live-total small {
  color: var(--lls-muted);
  font-size: .62rem;
}

.lls-progress {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: .3rem;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
}

.lls-progress li {
  position: relative;
  color: #8a847b;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
}

.lls-progress li::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: .82rem;
  left: -50%;
  width: 100%;
  height: 1px;
  background: var(--lls-line);
}

.lls-progress li:first-child::before { display: none; }

.lls-progress span {
  position: relative;
  z-index: 1;
  width: 1.68rem;
  height: 1.68rem;
  margin: 0 auto .42rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--lls-line);
  border-radius: 50%;
  background: var(--lls-paper);
  font-size: .68rem;
  font-weight: 800;
}

.lls-progress li.is-active,
.lls-progress li.is-complete { color: var(--lls-ink); }

.lls-progress li.is-active span {
  color: #fff;
  border-color: var(--lls-ink);
  background: var(--lls-ink);
  box-shadow: 0 0 0 4px rgba(23, 26, 31, .08);
}

.lls-progress li.is-complete span {
  color: #fff;
  border-color: var(--lls-gold);
  background: var(--lls-gold);
}

.lls-progress li.is-complete::before,
.lls-progress li.is-active::before { background: var(--lls-gold); }

.lls-step[hidden],
.lls-rx-panel[hidden],
.lls-height[hidden] { display: none !important; }

.lls-step.is-active { animation: lls-fade-in .24s ease both; }

@keyframes lls-fade-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

.lls-step-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem;
  margin-bottom: 1.3rem;
  align-items: start;
}

.lls-step-heading > span {
  padding-top: .04rem;
  color: var(--lls-gold);
  font-family: Georgia, serif;
  font-size: 1.45rem;
}

.lls-step-heading h3 {
  margin: 0 0 .35rem !important;
  color: var(--lls-ink);
  font-size: 1.28rem !important;
  font-weight: 650;
}

.lls-step-heading p {
  margin: 0;
  color: var(--lls-muted);
  font-size: .88rem;
  line-height: 1.48;
}

.lls-choices {
  display: grid;
  gap: .7rem;
}

.lls-choices--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.lls-choice {
  position: relative;
  min-height: 88px;
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  border: 1px solid var(--lls-line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 8px 22px rgba(75, 56, 26, .04);
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.lls-choice:hover {
  transform: translateY(-1px);
  border-color: rgba(177, 138, 57, .65);
  box-shadow: 0 12px 28px rgba(75, 56, 26, .08);
}

.lls-choice:has(input:focus-visible) {
  outline: 3px solid rgba(49, 91, 104, .22);
  outline-offset: 2px;
}

.lls-choice:has(input:checked) {
  border-color: var(--lls-gold);
  background: linear-gradient(135deg, rgba(255,255,255,.98), var(--lls-gold-soft));
  box-shadow: 0 0 0 2px rgba(177, 138, 57, .13);
}

.lls-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.lls-check {
  width: 1.3rem;
  height: 1.3rem;
  display: block;
  border: 1px solid #aaa197;
  border-radius: 50%;
  background: #fff;
}

input[type="checkbox"] + .lls-check { border-radius: .32rem; }

.lls-choice input:checked + .lls-check {
  border: 4px solid var(--lls-gold);
  background: #fff;
}

.lls-choice-copy { min-width: 0; }
.lls-choice-copy strong,
.lls-choice-copy small { display: block; }
.lls-choice-copy strong { color: var(--lls-ink); font-size: .94rem; font-weight: 750; }
.lls-choice-copy small { margin-top: .22rem; color: var(--lls-muted); font-size: .76rem; line-height: 1.4; }
.lls-price-tag { color: var(--lls-gold); font-size: .74rem; font-weight: 850; white-space: nowrap; }

.lls-choice.is-recommended {
  margin-top: .35rem;
  border-color: var(--lls-blue);
}

.lls-choice.is-recommended::after {
  content: attr(data-recommendation);
  position: absolute;
  top: -.68rem;
  right: .75rem;
  padding: .24rem .58rem;
  border-radius: 999px;
  color: #fff;
  background: var(--lls-blue);
  box-shadow: 0 5px 14px rgba(49, 91, 104, .18);
  font-size: .6rem;
  font-weight: 850;
  letter-spacing: .02em;
}

.lls-recommendation,
.lls-treatment-tip {
  margin-bottom: 1.15rem;
  padding: 1rem 1.05rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: .8rem;
  border: 1px solid rgba(177, 138, 57, .35);
  border-radius: 1rem;
  background: var(--lls-gold-soft);
}

.lls-recommendation::before,
.lls-treatment-tip::before {
  content: "✓";
  grid-row: 1 / 4;
  width: 1.85rem;
  height: 1.85rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--lls-gold);
  font-size: .8rem;
  font-weight: 900;
}

.lls-recommendation > span,
.lls-treatment-tip > span {
  color: var(--lls-gold);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.lls-recommendation strong,
.lls-treatment-tip strong {
  margin-top: .1rem;
  color: var(--lls-ink);
  font-size: .95rem;
}

.lls-recommendation p,
.lls-treatment-tip p {
  margin: .18rem 0 0;
  color: var(--lls-muted);
  font-size: .78rem;
  line-height: 1.42;
}

.lls-thickness {
  height: 90px;
  margin-bottom: 1.1rem;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: .4rem;
  align-items: end;
  border-bottom: 1px solid var(--lls-line);
}

.lls-thickness div {
  display: grid;
  place-items: end center;
  border: 1px solid rgba(49, 91, 104, .13);
  border-bottom: 0;
  border-radius: 50% 50% 0 0;
  background: linear-gradient(180deg, rgba(49, 91, 104, .25), rgba(49, 91, 104, .05));
}

.lls-thickness div:nth-child(1) { height: 76px; }
.lls-thickness div:nth-child(2) { height: 68px; }
.lls-thickness div:nth-child(3) { height: 60px; }
.lls-thickness div:nth-child(4) { height: 51px; }
.lls-thickness div:nth-child(5) { height: 42px; }
.lls-thickness div:nth-child(6) { height: 34px; }
.lls-thickness span { padding-bottom: .28rem; color: var(--lls-ink); font-size: .66rem; font-weight: 850; }

.lls-rx-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-bottom: 1rem;
}

.lls-rx-modes label { position: relative; }
.lls-rx-modes input { position: absolute; opacity: 0; }

.lls-rx-modes span {
  min-height: 78px;
  display: grid;
  place-content: center;
  gap: .16rem;
  padding: .7rem;
  border: 1px solid var(--lls-line);
  border-radius: .9rem;
  background: #fff;
  cursor: pointer;
  text-align: center;
  transition: .18s ease;
}

.lls-rx-modes strong { color: var(--lls-ink); font-size: .8rem; }
.lls-rx-modes small { color: var(--lls-muted); font-size: .66rem; font-weight: 600; }
.lls-rx-modes input:checked + span { color: #fff; border-color: var(--lls-ink); background: var(--lls-ink); }
.lls-rx-modes input:checked + span strong,
.lls-rx-modes input:checked + span small { color: #fff; }
.lls-rx-modes input:focus-visible + span { outline: 3px solid rgba(49, 91, 104, .22); outline-offset: 2px; }

.lls-rx-panel {
  padding: 1.05rem;
  border: 1px solid var(--lls-line);
  border-radius: 1rem;
  background: rgba(251, 247, 239, .82);
}

.lls-rx-guide {
  margin-bottom: .85rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--lls-line);
}

.lls-rx-guide strong,
.lls-rx-guide span { display: block; }
.lls-rx-guide strong { font-size: .82rem; }
.lls-rx-guide span { margin-top: .2rem; color: var(--lls-muted); font-size: .68rem; line-height: 1.45; }

.lls-rx-grid {
  display: grid;
  grid-template-columns: 34px repeat(4, minmax(0, 1fr));
  gap: .45rem;
  align-items: center;
  margin-bottom: .5rem;
}

.lls-rx-head { color: var(--lls-muted); font-size: .64rem; font-weight: 850; text-align: center; }
.lls-rx-grid > strong { color: var(--lls-gold); font-size: .75rem; }

.lls-rx-grid input,
.lls-measures input {
  width: 100%;
  min-width: 0;
  height: 43px;
  padding: .56rem;
  border: 1px solid #d8c9ae;
  border-radius: .58rem;
  background: #fff;
  color: var(--lls-ink);
}

.lls-rx-grid input:focus,
.lls-measures input:focus {
  outline: 3px solid rgba(49, 91, 104, .14);
  border-color: var(--lls-blue);
}

.lls-measures {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .68rem;
  margin-top: 1rem;
}

.lls-measures label {
  color: var(--lls-ink);
  font-size: .7rem;
  font-weight: 800;
}

.lls-measures label small {
  display: block;
  margin-top: .08rem;
  color: var(--lls-muted);
  font-size: .6rem;
  font-weight: 600;
}

.lls-measures input { display: block; margin-top: .3rem; }

.lls-measure-help {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
  margin-top: .85rem;
}

.lls-measure-help > div {
  padding: .65rem;
  border-radius: .65rem;
  background: #fff;
}

.lls-measure-help strong,
.lls-measure-help span { display: block; }
.lls-measure-help strong { color: var(--lls-gold); font-size: .68rem; }
.lls-measure-help span { margin-top: .15rem; color: var(--lls-muted); font-size: .66rem; line-height: 1.4; }

.lls-file {
  min-height: 130px;
  display: grid;
  place-items: center;
  gap: .6rem;
  padding: 1rem;
  border: 1px dashed var(--lls-gold);
  border-radius: .85rem;
  background: #fff;
  text-align: center;
  cursor: pointer;
}

.lls-file input { max-width: 100%; }
.lls-file span strong,
.lls-file span small { display: block; }
.lls-file span strong { color: var(--lls-ink); font-size: .82rem; }
.lls-file span small { margin-top: .15rem; color: var(--lls-muted); font-size: .67rem; }
.lls-callout,
.lls-note { margin: 0; color: var(--lls-muted); font-size: .82rem; line-height: 1.5; }

.lls-summary-list {
  display: grid;
  gap: 0;
  border-block: 1px solid var(--lls-line);
}

.lls-summary-row {
  padding: .72rem 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--lls-line);
  font-size: .82rem;
}

.lls-summary-row:last-child { border-bottom: 0; }
.lls-summary-row span { color: var(--lls-muted); }
.lls-summary-row strong { max-width: 65%; text-align: right; }

.lls-total {
  margin-top: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
}

.lls-total span { color: var(--lls-muted); font-size: .82rem; }
.lls-total strong { color: var(--lls-ink); font-size: 1.5rem; }

.lls-professional-review {
  margin-top: 1rem;
  padding: .85rem;
  display: grid;
  border-left: 3px solid var(--lls-gold);
  border-radius: 0 .65rem .65rem 0;
  background: var(--lls-gold-soft);
}

.lls-professional-review strong { font-size: .76rem; }
.lls-professional-review span { margin-top: .2rem; color: var(--lls-muted); font-size: .69rem; line-height: 1.45; }

.lls-confirm {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .65rem;
  align-items: start;
  color: var(--lls-muted);
  font-size: .77rem;
  line-height: 1.45;
  cursor: pointer;
}

.lls-confirm input { margin-top: .18rem; accent-color: var(--lls-gold); }

.lls-error {
  margin-top: 1rem;
  padding: .8rem;
  border: 1px solid #efc7bf;
  border-radius: .65rem;
  color: #862d25;
  background: #fdf0ed;
  font-size: .8rem;
  font-weight: 750;
}

.lls-navigation {
  margin-top: 1.3rem;
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}

.lls-navigation-note {
  flex: 1;
  color: var(--lls-muted);
  font-size: .66rem;
  text-align: center;
}

.lls-navigation button {
  min-height: 46px;
  padding: .72rem 1.25rem;
  border: 1px solid var(--lls-ink);
  border-radius: 999px;
  font-weight: 800;
  transition: transform .18s ease, background .18s ease;
}

.lls-navigation button:hover { transform: translateY(-1px); }
.lls-back { color: var(--lls-ink); background: transparent; }
.lls-next { color: #fff; background: var(--lls-ink); }

form.cart.lls-configurable-form .single_add_to_cart_button { display: none !important; }

form.cart.lls-configurable-form.lls-ready .single_add_to_cart_button {
  width: 100%;
  min-height: 52px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-top: .8rem;
  border-radius: 999px;
  color: #fff;
  background: var(--lls-ink);
}

form.cart.lls-configurable-form.lls-ready .lls-navigation { display: none; }



form.cart.lls-configurable-form.lls-ready .single_add_to_cart_button.lls-needs-attention {
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer;
  box-shadow: 0 0 0 2px rgba(177, 95, 66, .28);
}

form.cart.lls-configurable-form.lls-ready .single_add_to_cart_button.lls-adding {
  opacity: .68 !important;
  pointer-events: none !important;
  cursor: wait;
}
@media (max-width: 720px) {
  .lls-configurator { padding: 1rem; border-radius: 1rem; }
  .lls-brand-row { align-items: flex-start; }
  .lls-brand-row > span { max-width: 9rem; text-align: right; }
  .lls-intro-grid { grid-template-columns: 1fr; }
  .lls-live-total { display: flex; justify-content: space-between; align-items: center; text-align: left; }
  .lls-live-total small { display: none; }
  .lls-progress li { font-size: 0; }
  .lls-progress span { font-size: .66rem; }
  .lls-choices--two,
  .lls-rx-modes { grid-template-columns: 1fr; }
  .lls-rx-modes span { min-height: 62px; }
  .lls-rx-grid { grid-template-columns: 26px repeat(4, minmax(45px, 1fr)); gap: .25rem; }
  .lls-rx-grid input { padding: .35rem; font-size: .74rem; }
  .lls-measures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lls-measure-help { grid-template-columns: 1fr; }
  .lls-navigation { flex-wrap: wrap; }
  .lls-navigation-note { order: 3; flex-basis: 100%; }
  .lls-summary-row { display: grid; gap: .22rem; }
  .lls-summary-row strong { max-width: none; text-align: left; }
}

/* El configurador vive dentro de la columna de resumen de WooCommerce.
   Las container queries responden a ese ancho real, no solo al viewport. */
@container (max-width: 620px) {
  .lls-choices--two,
  .lls-rx-modes { grid-template-columns: 1fr; }

  .lls-choice {
    min-height: 0;
    grid-template-columns: 1.3rem minmax(0, 1fr);
    gap: .7rem;
    padding: .95rem;
    align-items: start;
  }

  .lls-check { margin-top: .12rem; }
  .lls-price-tag {
    grid-column: 2;
    white-space: normal;
  }

  .lls-intro-grid { grid-template-columns: 1fr; }
  .lls-live-total {
    min-width: 0;
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    text-align: left;
  }
  .lls-live-total small { display: none; }

  .lls-rx-grid {
    grid-template-columns: 24px repeat(4, minmax(42px, 1fr));
    gap: .22rem;
  }
  .lls-rx-grid input { padding: .35rem; font-size: .72rem; }
}

@container (max-width: 430px) {
  .lls-configurator { padding: .85rem; border-radius: .85rem; }
  .lls-brand-row { display: grid; }
  .lls-brand-row > span { max-width: none; text-align: left; }
  .lls-step-heading { grid-template-columns: 1fr; gap: .25rem; }
  .lls-step-heading > span { font-size: .9rem; }
  .lls-measures { grid-template-columns: 1fr; }
  .lls-navigation { display: grid; grid-template-columns: 1fr; }
  .lls-navigation button { width: 100%; }
  .lls-navigation-note { order: 3; }
}


/* Flujo de compra en 4 etapas, inspirado en la claridad de las ópticas internacionales. */
.lls-configurator {
  margin: 0;
  padding: clamp(1rem, 2vw, 1.6rem);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.lls-intro-grid { margin-bottom: 1rem; }
.lls-intro h2 { font-size: clamp(1.65rem, 2.8vw, 2.35rem) !important; }
.lls-progress {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 0 1.35rem;
  padding: 0;
}
.lls-progress li { min-width: 0; font-size: .72rem; }
.lls-progress li::before { left: calc(-50% + .55rem); width: calc(100% - 1.1rem); }
.lls-progress li:first-child::before { display: none; }
.lls-step { min-height: 0; }
.lls-step-heading { margin-bottom: 1rem; }
.lls-step-heading h3 { font-size: clamp(1.3rem, 2.2vw, 1.75rem) !important; }
.lls-choice { border-radius: 3px; padding: .85rem; }
.lls-navigation { position: sticky; bottom: 0; z-index: 4; margin: 1.2rem -1.6rem -1.6rem; padding: .85rem 1.6rem; background: rgba(255,255,255,.96); border-top: 1px solid #ddd; }
.lls-next { border-radius: 999px !important; background: #1f1f1f !important; }
@media (max-width: 680px) {
  .lls-configurator { padding: 1rem; }
  .lls-progress li { font-size: .62rem; }
  .lls-navigation { margin: 1rem -1rem -1rem; padding: .8rem 1rem; }
}


/* Variantes y selección fotocromática del recorrido Providencia. */
.lls-rx-modes--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lls-choices--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lls-variant-choice-set { display: contents; }
.lls-variant-choice-set[hidden],
.lls-photo-colors[hidden] { display: none !important; }
.lls-photo-colors { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--lls-line); }
.lls-photo-colors h4 { margin: 0 0 .7rem; color: var(--lls-ink); font-size: .9rem; }
.lls-progress li[hidden] { display: none !important; }
@media (max-width: 720px) {
  .lls-rx-modes--four,
  .lls-choices--three { grid-template-columns: 1fr; }
}


/* Selector de ancho de montura propio de Óptica Providencia. */
.lls-progress { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }


@media (max-width: 720px) { .lls-navigation { margin-left: 0; margin-right: 0; } }


/* Escala compacta de compra: producto y configurador visibles en la misma zona. */
@media (min-width: 981px) {
  .single-product .site-main,
  .single-product .content-area { padding-top: 18px !important; padding-bottom: 18px !important; }
  .single-product div.product { grid-template-columns: minmax(0, 55%) minmax(0, 45%) !important; column-gap: 0 !important; align-items: start !important; }
  .single-product .woocommerce-product-gallery { top: 0 !important; bottom: auto !important; min-height: 0 !important; height: clamp(430px, calc(100vh - 300px), 560px) !important; margin: 0 !important; padding: 18px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  .single-product .woocommerce-product-gallery__wrapper { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  .single-product .woocommerce-product-gallery__image { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  .single-product .woocommerce-product-gallery img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; }
  .single-product .summary { padding: 16px 24px !important; margin-bottom: 0 !important; }
  .single-product .lls-configurator { margin: 10px -24px -16px !important; padding: 16px 24px !important; }
  .single-product .lls-intro-grid { grid-template-columns: minmax(0, 1fr) auto !important; gap: 14px !important; margin-bottom: 14px !important; align-items: center !important; }
  .single-product .lls-intro h2 { max-width: 100% !important; white-space: normal !important; font-size: clamp(30px, 2.4vw, 38px) !important; line-height: 1.05 !important; }
  .single-product .lls-intro p { max-width: 34rem !important; font-size: 14px !important; line-height: 1.4 !important; }
  .single-product .lls-live-total { min-width: 150px !important; padding: 10px 12px !important; }
  .single-product .lls-live-total span { font-size: 10px !important; }
  .single-product .lls-live-total strong { font-size: 18px !important; }
  .single-product .lls-live-total small { font-size: 10px !important; }
  .single-product .lls-progress { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 3px !important; margin-bottom: 16px !important; }
  .single-product .lls-progress li { font-size: 11px !important; line-height: 1.2 !important; }
  .single-product .lls-progress span { width: 1.4rem !important; height: 1.4rem !important; margin-bottom: .25rem !important; }
  .single-product .lls-step-heading { margin-bottom: 12px !important; }
  .single-product .lls-step-heading h3 { font-size: 24px !important; line-height: 1.2 !important; }
  .single-product .lls-step-heading p { font-size: 14px !important; line-height: 1.4 !important; }
  .single-product .lls-choice { min-height: 76px !important; padding: 12px !important; border-radius: 6px !important; }
  .single-product .lls-choice-copy strong { font-size: 14px !important; }
  .single-product .lls-choice-copy small { font-size: 12px !important; }
.single-product .lls-navigation { margin-top: 12px !important; padding: 10px 24px !important; }
}

@media (max-width: 980px) {
  .single-product .site-main,
  .single-product .content-area { padding-top: 16px !important; padding-bottom: 16px !important; }
  .single-product .woocommerce-product-gallery { top: 0 !important; bottom: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 10px !important; }
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image { height: auto !important; }
  .single-product .woocommerce-product-gallery img { width: auto !important; max-width: 100% !important; max-height: 280px !important; object-fit: contain !important; }
  .single-product .summary { padding: 14px 0 !important; }
  .single-product .lls-configurator { margin: 10px 0 0 !important; padding: 14px 0 !important; }
  .single-product .lls-intro-grid { grid-template-columns: minmax(0, 1fr) auto !important; gap: 10px !important; margin-bottom: 12px !important; }
  .single-product .lls-intro h2 { max-width: 100% !important; white-space: normal !important; font-size: 30px !important; line-height: 1.05 !important; }
  .single-product .lls-intro p { display: block !important; font-size: 14px !important; line-height: 1.4 !important; }
  .single-product .lls-live-total { min-width: 120px !important; padding: 8px 10px !important; align-self: start !important; }
  .single-product .lls-live-total small { display: none !important; }
  .single-product .lls-live-total span { font-size: 9px !important; }
  .single-product .lls-live-total strong { font-size: 16px !important; }
  .single-product .lls-progress { display: flex !important; grid-template-columns: none !important; overflow-x: auto !important; gap: 12px !important; margin-bottom: 16px !important; padding-bottom: 5px !important; scrollbar-width: thin !important; }
  .single-product .lls-progress li { flex: 0 0 auto !important; min-width: 42px !important; font-size: 11px !important; white-space: nowrap !important; }
  .single-product .lls-progress li::before { display: none !important; }
  .single-product .lls-progress span { width: 25px !important; height: 25px !important; margin-bottom: .25rem !important; font-size: 11px !important; }
  .single-product .lls-step-heading { margin-bottom: 12px !important; }
  .single-product .lls-step-heading h3 { font-size: 22px !important; line-height: 1.2 !important; }
  .single-product .lls-step-heading p { font-size: 14px !important; line-height: 1.4 !important; }
  .single-product .lls-choice { min-height: 68px !important; padding: 14px 16px !important; }
  .single-product .lls-choice-copy strong { font-size: 16px !important; }
  .single-product .lls-choice-copy small { font-size: 13px !important; }

.single-product .lls-navigation { margin-left: 0 !important; margin-right: 0 !important; padding: 10px 0 !important; }
}

@media (max-width: 480px) {
  .single-product .lls-intro h2 { font-size: 28px !important; }
}


/* Prioridad final frente a estilos del tema en la ficha de producto. */
@media (min-width: 981px) {
  body.single-product div.product .woocommerce-product-gallery { top: 0 !important; bottom: auto !important; height: clamp(430px, calc(100vh - 300px), 560px) !important; min-height: 0 !important; margin: 0 !important; padding: 18px !important; }
  body.single-product div.product .woocommerce-product-gallery__wrapper { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  body.single-product div.product .woocommerce-product-gallery__image { display: none !important; width: 100% !important; height: 100% !important; align-items: center !important; justify-content: center !important; }
  body.single-product div.product .woocommerce-product-gallery__image.flex-active-slide { display: flex !important; }
  body.single-product div.product .woocommerce-product-gallery__wrapper:not(:has(.woocommerce-product-gallery__image.flex-active-slide)) > .woocommerce-product-gallery__image:first-child { display: flex !important; }
  body.single-product div.product .woocommerce-product-gallery__image img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; }
  body.single-product div.product .summary.entry-summary { padding: 16px 24px !important; margin-bottom: 0 !important; }
  body.single-product div.product .summary.entry-summary .lls-configurator { margin: 10px -24px -16px !important; padding: 16px 24px !important; }
  body.single-product div.product .summary.entry-summary .lls-intro h2 { max-width: 100% !important; white-space: normal !important; font-size: clamp(30px, 2.4vw, 38px) !important; line-height: 1.05 !important; }
  body.single-product div.product .summary.entry-summary .lls-intro p { font-size: 14px !important; line-height: 1.4 !important; }
  body.single-product div.product .summary.entry-summary .lls-live-total { min-width: 150px !important; padding: 10px 12px !important; }
  body.single-product div.product .summary.entry-summary .lls-progress { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 3px !important; margin-bottom: 16px !important; }
  body.single-product div.product .summary.entry-summary .lls-progress li { font-size: 11px !important; line-height: 1.2 !important; }
  body.single-product div.product .summary.entry-summary .lls-step-heading h3 { font-size: 24px !important; line-height: 1.2 !important; }
  body.single-product div.product .summary.entry-summary .lls-step-heading p { font-size: 14px !important; line-height: 1.4 !important; }
  body.single-product div.product .summary.entry-summary .lls-choice { min-height: 76px !important; padding: 12px !important; }
  body.single-product div.product .summary.entry-summary .lls-choice-copy strong { font-size: 14px !important; }
  body.single-product div.product .summary.entry-summary .lls-choice-copy small { font-size: 12px !important; }
}
@media (max-width: 980px) {
  body.single-product div.product .woocommerce-product-gallery { top: 0 !important; bottom: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 10px !important; }
  body.single-product div.product .woocommerce-product-gallery__wrapper { height: auto !important; display: block !important; }
  body.single-product div.product .woocommerce-product-gallery__image { display: none !important; width: 100% !important; height: auto !important; }
  body.single-product div.product .woocommerce-product-gallery__image.flex-active-slide { display: block !important; }
  body.single-product div.product .woocommerce-product-gallery__wrapper:not(:has(.woocommerce-product-gallery__image.flex-active-slide)) > .woocommerce-product-gallery__image:first-child { display: block !important; }
  body.single-product div.product .woocommerce-product-gallery__image img { width: auto !important; max-width: 100% !important; max-height: 280px !important; object-fit: contain !important; }
  body.single-product div.product .summary.entry-summary { padding: 14px 0 !important; }
  body.single-product div.product .summary.entry-summary .lls-configurator { margin: 10px 0 0 !important; padding: 14px 0 !important; }
  body.single-product div.product .summary.entry-summary .lls-intro h2 { max-width: 100% !important; white-space: normal !important; font-size: 30px !important; line-height: 1.05 !important; }
  body.single-product div.product .summary.entry-summary .lls-intro p { display: block !important; font-size: 14px !important; line-height: 1.4 !important; }
  body.single-product div.product .summary.entry-summary .lls-live-total { min-width: 120px !important; padding: 8px 10px !important; }
  body.single-product div.product .summary.entry-summary .lls-progress { display: flex !important; grid-template-columns: none !important; overflow-x: auto !important; gap: 12px !important; margin-bottom: 16px !important; }
  body.single-product div.product .summary.entry-summary .lls-progress li { flex: 0 0 auto !important; min-width: 42px !important; font-size: 11px !important; white-space: nowrap !important; }
  body.single-product div.product .summary.entry-summary .lls-step-heading h3 { font-size: 22px !important; line-height: 1.2 !important; }
  body.single-product div.product .summary.entry-summary .lls-step-heading p { font-size: 14px !important; line-height: 1.4 !important; }
  body.single-product div.product .summary.entry-summary .lls-choice { min-height: 68px !important; padding: 14px 16px !important; }
  body.single-product div.product .summary.entry-summary .lls-choice-copy strong { font-size: 16px !important; }
  body.single-product div.product .summary.entry-summary .lls-choice-copy small { font-size: 13px !important; }
}
@media (max-width: 480px) {
  body.single-product div.product .summary.entry-summary .lls-intro h2 { font-size: 28px !important; }
}


@media (min-width: 981px) {
  body.single-product div.product .summary.entry-summary .lls-intro h2 { font-size: 30px !important; }
  body.single-product div.product .woocommerce-product-gallery__image img { transform: none !important; }
}


body.single-product div.product .summary.entry-summary .op-original-color { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }


@media (max-width: 980px) {
  body.single-product div.product .woocommerce-product-gallery__wrapper { width: 100% !important; max-width: 100% !important; height: 280px !important; }
  body.single-product div.product .woocommerce-product-gallery__image,
  body.single-product div.product .woocommerce-product-gallery__image > a { width: 100% !important; max-width: 100% !important; height: 280px !important; }
  body.single-product div.product .woocommerce-product-gallery__image img { width: auto !important; max-width: 100% !important; max-height: 280px !important; margin: auto !important; transform: none !important; }
  body.single-product div.product .summary.entry-summary .lls-intro-grid { grid-template-columns: 1fr !important; }
  body.single-product div.product .summary.entry-summary .lls-live-total { width: 100% !important; min-width: 0 !important; }
}


@media (max-width: 480px) {
  body.single-product div.product .woocommerce-product-gallery { height: 240px !important; }
  body.single-product div.product .woocommerce-product-gallery__wrapper,
  body.single-product div.product .woocommerce-product-gallery__image,
  body.single-product div.product .woocommerce-product-gallery__image > a { height: 220px !important; }
  body.single-product div.product .woocommerce-product-gallery__image img { max-height: 220px !important; }
}


/* Corrige el ancho heredado del select nativo oculto de variaciones. */
body.single-product div.product .summary.entry-summary .op-original-color {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}


.lls-configurator .lls-variation-error {
  margin: .65rem 0 0;
  padding: .55rem .7rem;
  border: 1px solid #efc7bf;
  border-radius: .55rem;
  color: #862d25;
  background: #fdf0ed;
  font-size: .78rem;
  font-weight: 750;
  line-height: 1.4;
}

.lls-configurator .lls-variation-error[hidden] { display: none !important; }
.lls-configurator .lls-attribute-needs-attention .op-color-swatch { box-shadow: 0 0 0 2px rgba(134, 45, 37, .3); }


form.cart.lls-configurable-form .lls-actions {
  display: none;
  width: 100%;
  margin-top: .8rem;
  gap: .55rem;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: wrap;
}

form.cart.lls-configurable-form.lls-ready .lls-actions { display: flex; }
form.cart.lls-configurable-form.lls-ready .lls-actions .single_add_to_cart_button { margin-top: 0; }
form.cart.lls-configurable-form.lls-ready .lls-actions .single_add_to_cart_button:not(.lls-continue-shopping) { order: 0; }
form.cart.lls-configurable-form.lls-ready .lls-actions .lls-continue-shopping {
  order: 1;
  min-height: 42px;
  padding: .62rem 1rem;
  border: 1px solid var(--lls-ink);
  border-radius: 999px;
  color: var(--lls-ink);
  background: transparent;
  font-size: .82rem;
  line-height: 1.2;
}
form.cart.lls-configurable-form.lls-ready .lls-actions button:disabled {
  cursor: not-allowed;
}


form.cart.lls-configurable-form .lls-entry-actions {
  display: flex;
  width: 100%;
  margin: 1rem 0 1.25rem;
  gap: .65rem;
  align-items: stretch;
}
form.cart.lls-configurable-form .lls-entry-actions button {
  min-height: 50px;
  padding: .75rem 1.1rem;
  border: 1px solid #171a1f;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
}
form.cart.lls-configurable-form .lls-entry-primary {
  flex: 1.2 1 0;
  color: #fff;
  background: #171a1f;
}
form.cart.lls-configurable-form .lls-entry-secondary {
  flex: 1 1 0;
  color: #171a1f;
  background: transparent;
}
form.cart.lls-configurable-form .lls-entry-actions button.lls-adding {
  opacity: .68;
  pointer-events: none;
  cursor: wait;
}
form.cart.lls-configurable-form .lls-entry-actions[hidden],
form.cart.lls-configurable-form .lls-configurator[hidden] { display: none !important; }
.lls-entry-error {
  flex-basis: 100%;
  margin: 0;
  padding: .65rem .75rem;
  border: 1px solid #efc7bf;
  border-radius: .6rem;
  color: #862d25;
  background: #fdf0ed;
  font-size: .8rem;
  font-weight: 750;
}
.lls-entry-error[hidden] { display: none !important; }
@media (max-width: 720px) {
  form.cart.lls-configurable-form .lls-entry-actions { flex-direction: column; }
  form.cart.lls-configurable-form .lls-entry-actions button { width: 100%; }
}

/* LLS owns the purchase actions on configurable product pages. Keep form data inputs intact. */
body.lls-has-lens-studio .lls-native-hidden,
body.lls-has-lens-studio .op-lens-launch,
body.lls-has-lens-studio button.single_add_to_cart_button:not([data-lls-action]),
body.lls-has-lens-studio button[name="add-to-cart"],
body.lls-has-lens-studio input[type="submit"][name="add-to-cart"],
body.lls-has-lens-studio .woocommerce-variation-add-to-cart:not(:has(.lls-configurator)) {
  display: none !important;
}
body.lls-has-lens-studio .lls-neutral-product-link {
  white-space: nowrap;
}

body.lls-has-lens-studio a.button.product_type_variable.add_to_cart_button,
body.lls-has-lens-studio a.add_to_cart_button {
  display: none !important;
}
body.lls-has-lens-studio a.lls-neutral-product-link {
  display: inline-flex !important;
}

/* The final LLS actions replace the native confirmation and quantity controls. */
body.lls-has-lens-studio form.cart.lls-configurable-form .lls-confirm,
body.lls-has-lens-studio form.cart.lls-configurable-form .quantity,
body.lls-has-lens-studio form.cart.lls-configurable-form.lls-ready .lls-navigation {
  display: none !important;
}


/* Lens Studio Express 0.8.0: ilustraciones por opción, selectores de receta y grosor a escala. */
.lls-choice.has-art { grid-template-columns: 84px minmax(0, 1fr) auto; }
.lls-choice.has-art .lls-check { display: none; }
.lls-art { width: 84px; height: 56px; display: grid; place-items: center; }
.lls-art svg { width: 100%; height: 100%; display: block; }
.lls-rx-modes .lls-art { width: 72px; height: 48px; margin: 0 auto .35rem; }
.lls-rx-modes:not(.lls-rx-modes--four) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lls-thin-note { display: block; margin-top: .25rem; color: var(--lls-blue); font-size: .72rem; font-weight: 750; }
.lls-thin-hint { margin: 0 0 .9rem; color: var(--lls-muted); font-size: .8rem; line-height: 1.45; }
.lls-rx-grid select,
.lls-measures select {
	width: 100%;
	min-width: 0;
	height: 43px;
	padding: 0 .4rem;
	border: 1px solid #d8c9ae;
	border-radius: .58rem;
	background: #fff;
	color: var(--lls-ink);
	font-variant-numeric: tabular-nums;
}
.lls-measures select { display: block; margin-top: .3rem; }
.lls-rx-grid select:focus,
.lls-measures select:focus { outline: 3px solid rgba(49, 91, 104, .14); border-color: var(--lls-blue); }
.lls-rx-grid [hidden], .lls-measures [hidden] { display: none !important; }
.lls-rx-toggle { display: flex; gap: .5rem; align-items: center; margin: .35rem 0 .6rem; color: var(--lls-ink); font-size: .8rem; font-weight: 650; cursor: pointer; }
.lls-rx-toggle input { width: 1.05rem; height: 1.05rem; }
.lls-choice[hidden] { display: none !important; }
@container (max-width: 620px) {
	.lls-choice.has-art { grid-template-columns: 68px minmax(0, 1fr); }
	.lls-choice.has-art .lls-art { width: 68px; height: 46px; grid-row: span 2; }
	.lls-rx-modes:not(.lls-rx-modes--four) { grid-template-columns: 1fr; }
	.lls-rx-modes .lls-art { margin: 0 auto .2rem; }
}
@media (max-width: 720px) {
	.lls-rx-modes:not(.lls-rx-modes--four) { grid-template-columns: 1fr; }
	.lls-choice.has-art { grid-template-columns: 68px minmax(0, 1fr) !important; }
	.lls-choice.has-art .lls-art { width: 68px; height: 46px; grid-row: span 2; }
	.lls-choice.has-art .lls-price-tag { grid-column: 2; }
}


/* 0.9: ayuda "?" y resumen con alternativas */
.lls-help { display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; margin-left: .4rem; padding: 0; border: 1px solid var(--lls-blue); border-radius: 50%; background: #fff; color: var(--lls-blue); font-size: .72rem; font-weight: 850; line-height: 1; vertical-align: .08rem; cursor: pointer; }
.lls-help:hover, .lls-help:focus-visible { background: var(--lls-blue); color: #fff; outline: none; }
.lls-help-panel { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 16px; }
.lls-help-panel[hidden] { display: none !important; }
.lls-help-backdrop { position: absolute; inset: 0; background: rgba(20, 17, 12, .45); }
.lls-help-card { position: relative; width: min(440px, 100%); max-height: 90vh; overflow: auto; padding: 1.4rem 1.3rem 1.2rem; border-radius: 1rem; background: #fff; color: var(--lls-ink, #1f1b16); box-shadow: 0 24px 60px rgba(0, 0, 0, .25); }
.lls-help-card h4 { margin: 0 2rem .8rem 0; font-size: 1.1rem; }
.lls-help-art { display: flex; gap: .5rem; justify-content: center; margin-bottom: .8rem; padding: .7rem; border-radius: .8rem; background: #f6f2ea; }
.lls-help-art svg { width: 100%; max-width: 340px; height: auto; max-height: 150px; }
.lls-help-art:empty { display: none; }
.lls-help-text { margin: 0 0 1rem; font-size: .9rem; line-height: 1.5; color: #4a453e; }
.lls-help-close { position: absolute; top: .6rem; right: .7rem; width: 2rem; height: 2rem; border: 0; border-radius: 50%; background: #f1ece3; color: #1f1b16; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.lls-help-ok { width: 100%; padding: .8rem; border: 0; border-radius: .7rem; background: #1f1b16; color: #fff; font-weight: 750; cursor: pointer; }
.lls-summary-row.is-editable { cursor: pointer; flex-wrap: wrap; }
.lls-summary-row.is-editable:hover strong, .lls-summary-row.is-editable:focus-visible strong { color: var(--lls-blue); }
.lls-summary-change { display: block; width: 100%; margin-top: .15rem; color: var(--lls-blue); font-size: .7rem; font-style: normal; font-weight: 750; text-align: right; }
.lls-summary-row[aria-expanded="true"] .lls-summary-change { opacity: .5; }
.lls-summary-alts { display: grid; gap: .45rem; margin: .1rem 0 .8rem; padding: .6rem; border: 1px solid var(--lls-line); border-radius: .8rem; background: #fbf9f5; }
.lls-summary-alts[hidden] { display: none !important; }
.lls-summary-alt { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: .6rem; align-items: center; width: 100%; padding: .45rem .6rem; border: 1px solid var(--lls-line); border-radius: .6rem; background: #fff; color: var(--lls-ink); text-align: left; cursor: pointer; }
.lls-summary-alt:hover { border-color: var(--lls-gold); }
.lls-summary-alt.is-current { border-color: var(--lls-gold); background: var(--lls-gold-soft); }
.lls-alt-art { width: 54px; height: 36px; display: grid; place-items: center; }
.lls-alt-art svg { width: 100%; height: 100%; }
.lls-alt-name { font-size: .82rem; font-weight: 750; }
.lls-alt-price { color: var(--lls-gold); font-size: .74rem; font-weight: 850; white-space: nowrap; }
.lls-summary-alt:not(:has(.lls-alt-art)) { grid-template-columns: minmax(0, 1fr) auto; }

.lls-summary-row.is-editable strong { color: var(--lls-blue); text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
.lls-summary-row.is-editable strong::after { content: " ▾"; font-size: .8em; }
.lls-summary-row.is-editable[aria-expanded="true"] strong::after { content: " ▴"; }
.lls-summary-row.is-editable[data-goto] strong::after { content: " ›"; }


/* 0.9.2: vistas del armazón visibles y color único como texto */
body.lls-show-views .woocommerce-product-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, minmax(0, 88px)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
body.lls-show-views .woocommerce-product-gallery .flex-control-thumbs li { position: relative; width: auto !important; margin: 0 !important; padding: 0 0 18px; list-style: none; cursor: pointer; }
body.lls-show-views .woocommerce-product-gallery .flex-control-thumbs img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; border: 1px solid #e3ddd2; border-radius: 8px; background: #fff; opacity: .75; transition: opacity .2s, border-color .2s; }
body.lls-show-views .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.lls-show-views .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: #1f1b16; }
body.lls-show-views .woocommerce-product-gallery .flex-control-thumbs li::after { content: attr(data-view); position: absolute; left: 0; right: 0; bottom: 0; text-align: center; font-size: 11px; font-weight: 650; color: #5f5a52; }
.lls-single-option { display: none !important; }
.lls-single-option-note { margin: .2rem 0 .8rem; color: #1f1b16; font-size: .9rem; font-weight: 650; }

body.lls-show-views .woocommerce-product-gallery { flex-wrap: nowrap !important; flex-direction: column !important; align-items: stretch !important; height: auto !important; max-height: none !important; }
body.lls-show-views .woocommerce-product-gallery .flex-viewport { width: 100% !important; }
body.lls-show-views .woocommerce-product-gallery .flex-control-thumbs { width: 100% !important; justify-content: center; }


/* 1.0: ficha de producto estilo Lenskart (tarjetas, galería vertical, columna de compra) */
body.lls-pdp { background: #f3f4f7; }
body.lls-pdp div.product { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important; gap: 24px !important; align-items: start; margin-top: 24px; }
body.lls-pdp div.product > .woocommerce-product-gallery,
body.lls-pdp div.product > .summary.entry-summary { width: auto !important; float: none !important; margin: 0 !important; background: #fff; border-radius: 16px; box-shadow: 0 1px 2px rgba(16, 22, 58, .04); }
body.lls-pdp div.product > .woocommerce-product-gallery { position: relative; display: grid !important; grid-template-columns: 88px minmax(0, 1fr); grid-template-rows: auto auto; gap: 16px 20px; padding: 24px !important; flex-direction: initial !important; }
body.lls-pdp .woocommerce-product-gallery .flex-viewport { grid-column: 2; grid-row: 1; width: auto !important; border-radius: 12px; }
body.lls-pdp .woocommerce-product-gallery .flex-control-thumbs { grid-column: 1; grid-row: 1; display: grid !important; grid-template-columns: 1fr !important; grid-auto-rows: min-content; gap: 12px !important; width: auto !important; margin: 0 !important; max-height: 480px; overflow-y: auto; align-content: start; }
body.lls-pdp .woocommerce-product-gallery .flex-control-thumbs li { padding-bottom: 18px !important; }
body.lls-pdp .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 10px !important; border: 1px solid #e3e5ec !important; background: #fff; }
body.lls-pdp .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border: 2px solid #10163a !important; background: #f3f4f7; }
body.lls-pdp .woocommerce-product-gallery__trigger { z-index: 5; }
body.lls-pdp .lls-gallery-tools { grid-column: 1 / -1; grid-row: 2; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
body.lls-pdp .lls-gallery-chip { display: inline-flex; align-items: center; padding: 10px 16px; border: 1px solid #10163a; border-radius: 10px; color: #10163a; font-size: 14px; font-weight: 700; text-decoration: none; }
body.lls-pdp .lls-gallery-chip:hover { background: #10163a; color: #fff; }
body.lls-pdp .lls-gallery-arrows { display: flex; gap: 10px; }
body.lls-pdp .lls-gallery-arrows button { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #eceef4; color: #10163a; font-size: 24px; line-height: 1; cursor: pointer; }
body.lls-pdp .lls-gallery-arrows button:hover { background: #10163a; color: #fff; }
body.lls-pdp div.product > .summary.entry-summary { padding: 28px !important; }
body.lls-pdp .summary .product_title { margin: 0 0 4px; color: #10163a; font-size: 28px; font-weight: 800; line-height: 1.15; letter-spacing: -.01em; }
body.lls-pdp .summary .woocommerce-product-details__short-description { color: #6b6f80; font-size: 15px; margin-bottom: 4px; }
body.lls-pdp .summary .woocommerce-product-details__short-description p { margin: 0; }
body.lls-pdp .summary p.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; order: 0; margin: 10px 0 12px !important; color: #10163a !important; font-size: 26px !important; font-weight: 800; }
body.lls-pdp .lls-price-note { color: #8a8ea0; font-size: 14px; font-weight: 500; }
body.lls-pdp .lls-pdp-badges { display: grid; gap: 12px; margin-bottom: 16px; }
body.lls-pdp .lls-pdp-pill { justify-self: start; padding: 7px 14px; border-radius: 999px; background: #e6f6ee; color: #1d7a52; font-size: 14px; font-weight: 700; font-style: italic; }
body.lls-pdp .lls-pdp-promo { overflow: hidden; border-radius: 12px; background: #fdf3e7; }
body.lls-pdp .lls-pdp-promo strong { display: block; padding: 12px 16px; background: #10163a; color: #fff; font-size: 17px; }
body.lls-pdp .lls-pdp-promo span { display: block; padding: 10px 16px; color: #2c3fbf; font-size: 14px; font-weight: 700; }
body.lls-pdp .lls-pdp-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 16px; }
body.lls-pdp .lls-pdp-chip { padding: 10px 14px; border: 1px solid #e3e5ec; border-radius: 12px; background: #fafbfd; }
body.lls-pdp .lls-pdp-chip small { display: block; color: #8a8ea0; font-size: 12px; }
body.lls-pdp .lls-pdp-chip strong { color: #10163a; font-size: 15px; }
body.lls-pdp .lls-entry-actions { display: grid !important; gap: 10px; }
body.lls-pdp .lls-entry-primary { width: 100% !important; min-height: 58px; border: 0 !important; border-radius: 12px !important; background: #10163a !important; color: #fff !important; font-size: 19px !important; font-weight: 800 !important; }
body.lls-pdp .lls-entry-primary:hover { background: #222c6b !important; }
body.lls-pdp .lls-entry-secondary { width: 100% !important; min-height: 50px; border: 1.5px solid #10163a !important; border-radius: 12px !important; background: #fff !important; color: #10163a !important; font-size: 16px !important; font-weight: 700 !important; }
body.lls-pdp .summary .stock { margin: 0 0 10px; font-size: 13px; }
body.lls-pdp .summary .product_meta { margin-top: 18px; padding-top: 14px; border-top: 1px solid #eceef4; color: #9a9db0; font-size: 12.5px; }
body.lls-pdp div.product > .woocommerce-tabs,
body.lls-pdp div.product > .related { grid-column: 1 / -1; padding: 24px 28px; border-radius: 16px; background: #fff; }
@media (max-width: 900px) {
	body.lls-pdp div.product { grid-template-columns: 1fr !important; gap: 14px !important; margin-top: 10px; }
	body.lls-pdp div.product > .woocommerce-product-gallery { grid-template-columns: 1fr; padding: 14px !important; }
	body.lls-pdp .woocommerce-product-gallery .flex-viewport { grid-column: 1; grid-row: 1; }
	body.lls-pdp .woocommerce-product-gallery .flex-control-thumbs { grid-column: 1; grid-row: 2; grid-template-columns: repeat(4, minmax(0, 72px)) !important; max-height: none; overflow: visible; }
	body.lls-pdp .lls-gallery-tools { grid-row: 3; }
	body.lls-pdp div.product > .summary.entry-summary { padding: 20px !important; }
	body.lls-pdp .summary .product_title { font-size: 24px; }
}

body.lls-pdp.single-product div.product > .summary.entry-summary { padding: 28px 30px !important; box-sizing: border-box; }
body.lls-pdp .summary .woocommerce-product-details__short-description { margin: 0 0 6px !important; }
@media (max-width: 900px) { body.lls-pdp.single-product div.product > .summary.entry-summary { padding: 20px !important; } }

/* 1.1.0: galería con una sola foto ocupa todo el ancho */
body.lls-pdp div.product > .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns: minmax(0, 1fr); }
body.lls-pdp div.product > .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { grid-column: 1 / -1; width: 100% !important; }
body.lls-pdp div.product > .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) > * { grid-column: 1 / -1; }
.lls-gallery-tools { flex-wrap: wrap; gap: 8px; }

/* 1.2.0: galería en celular sin recortes + ficha más liviana */
@media (max-width: 860px) {
  html body.single-product div.product > div.woocommerce-product-gallery { display: flex !important; flex-direction: column !important; height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important; padding: 12px !important; gap: 10px !important; position: relative !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .flex-viewport { order: 1; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; border-radius: 12px; }
  html body.single-product div.product > div.woocommerce-product-gallery .woocommerce-product-gallery__wrapper, html body.single-product div.product > div.woocommerce-product-gallery .woocommerce-product-gallery__image { height: 100% !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain !important; }
  html body.single-product div.product > div.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { aspect-ratio: 4 / 3; }
  html body.single-product div.product > div.woocommerce-product-gallery .flex-control-thumbs { order: 2; display: flex !important; gap: 8px !important; overflow-x: auto !important; overflow-y: visible !important; max-height: none !important; height: auto !important; margin: 0 !important; padding: 0 0 18px !important; grid-template-columns: none !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 64px !important; width: 64px !important; margin: 0 !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .lls-gallery-tools { order: 3; margin-top: 0 !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .woocommerce-product-gallery__trigger { z-index: 5; }
  html body.single-product .lls-pdp-promo { display: none !important; }
}

/* 1.2.1: presentación estilo Lenskart en computador */
@media (min-width: 861px) {
  html body.single-product div.product > div.woocommerce-product-gallery { display: grid !important; grid-template-columns: 124px minmax(0, 1fr) !important; grid-template-rows: auto auto; gap: 18px 28px !important; padding: 24px !important; height: auto !important; max-height: none !important; overflow: visible !important; align-items: start; }
  html body.single-product div.product > div.woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns: minmax(0, 1fr) !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .flex-viewport, html body.single-product div.product > div.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { grid-column: 2 / -1 !important; grid-row: 1 !important; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; border-radius: 14px; background: #fff; }
  html body.single-product div.product > div.woocommerce-product-gallery:not(:has(.flex-control-thumbs)) > .woocommerce-product-gallery__wrapper { grid-column: 1 / -1 !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .woocommerce-product-gallery__wrapper, html body.single-product div.product > div.woocommerce-product-gallery .woocommerce-product-gallery__image { height: 100% !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .woocommerce-product-gallery__image a { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; }
  html body.single-product div.product > div.woocommerce-product-gallery .woocommerce-product-gallery__image img { width: 86% !important; height: 100% !important; max-width: none !important; max-height: none !important; margin: 0 auto !important; object-fit: contain !important; transform: none !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .flex-control-thumbs { grid-column: 1 !important; grid-row: 1 !important; display: flex !important; flex-direction: column; gap: 14px !important; max-height: 520px !important; overflow-y: auto !important; overflow-x: hidden !important; padding: 2px 8px 2px 2px !important; margin: 0 !important; scrollbar-width: thin; scrollbar-color: #6b7088 #eef0f5; }
  html body.single-product div.product > div.woocommerce-product-gallery .flex-control-thumbs li { width: 112px !important; flex: none !important; margin: 0 !important; }
  html body.single-product div.product > div.woocommerce-product-gallery .flex-control-thumbs li img { width: 112px !important; height: 112px !important; object-fit: contain; padding: 8px; background: #fff; border: 1px solid #e3e5ee !important; border-radius: 12px; opacity: 1 !important; transition: border-color .15s, background .15s; }
  html body.single-product div.product > div.woocommerce-product-gallery .flex-control-thumbs li img.flex-active, html body.single-product div.product > div.woocommerce-product-gallery .flex-control-thumbs li img:hover { border: 1.5px solid #10163a !important; background: #eceef3; }
  html body.single-product div.product > div.woocommerce-product-gallery .lls-gallery-tools { grid-column: 1 / -1 !important; grid-row: 2 !important; }
  html body.single-product .lls-pdp-promo { display: none !important; }
}

@media (min-width: 861px) {
  html body.single-product div.product > div.woocommerce-product-gallery .flex-control-thumbs { align-self: stretch !important; height: 0 !important; min-height: 100% !important; max-height: none !important; }
}

/* 1.3.0: ayuda por WhatsApp en cada paso */
.lls-wa-help { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding: 10px 12px; border-radius: 12px; background: #f1faf4; border: 1px solid #cfeedd; font-size: 14px; color: #1f3a2b; }
.lls-wa-help span { font-weight: 600; }
.lls-wa-help a { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none !important; }
.lls-wa-btn { background: #25d366; color: #fff !important; margin-left: auto; }
.lls-wa-btn svg { width: 18px; height: 18px; }
.lls-wa-contact { background: #fff; color: #10163a !important; border: 1.5px solid #10163a; }

/* 1.4.6 galería: el carrusel de WooCommerce no debe desplazar la imagen activa (se mostraba en blanco al tocar "Lateral") */
@media (min-width: 981px) {
  body.single-product div.product .woocommerce-product-gallery__wrapper { transform: none !important; transition: none !important; }
}


/* 1.5.0: configurador a pantalla completa, limpio */
.lls-stage, .lls-topbar { display: none; }
body.lls-modal-on { overflow: hidden !important; }
body.lls-modal-on .lls-stage {
  display: flex; position: fixed; top: 0; bottom: 0; left: 0; right: 480px; z-index: 100000;
  background: #fff; align-items: center; justify-content: center;
}
.lls-stage-inner { width: min(760px, 84%); text-align: center; }
.lls-stage-img { display: block; width: 100%; max-height: 58vh; object-fit: contain; margin: 0 auto; }
.lls-stage-views { display: flex; gap: 10px; justify-content: center; margin-top: 28px; }
.lls-stage-views button { width: 76px; height: 52px; padding: 4px; border: 1px solid #e6e8ec; border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s; }
.lls-stage-views button.is-on, .lls-stage-views button:hover { border-color: #0f172a; }
.lls-stage-views img { width: 100%; height: 100%; object-fit: contain; }
.lls-stage-name { margin: 18px 0 0; font-size: 15px; font-weight: 600; color: #0f172a; letter-spacing: .01em; }

body.lls-modal-on #op-lens-configurator {
  position: fixed !important; top: 0; right: 0; bottom: 0; left: auto; width: 480px; max-width: 100%;
  z-index: 100001; margin: 0 !important; padding: 0 28px !important; border-radius: 0 !important;
  background: #fff !important; overflow-y: auto; border-left: 1px solid #eef0f3; box-shadow: -16px 0 40px rgba(15, 23, 42, .06);
}
body.lls-modal-on .lls-topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  position: sticky; top: 0; z-index: 5; margin: 0 -28px 8px; padding: 14px 20px; background: #fff; border-bottom: 1px solid #f1f2f4;
}
.lls-topbar button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; font-size: 19px; line-height: 1; color: #0f172a; cursor: pointer; }
.lls-topbar button:hover { background: #f3f4f6; }
.lls-top-title { flex: 1; text-align: center; font-size: 13px; font-weight: 600; color: #475569; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* menos texto, más aire */
body.lls-modal-on #op-lens-configurator .op-lens-close,
body.lls-modal-on #op-lens-configurator .lls-brand-row,
body.lls-modal-on #op-lens-configurator .lls-intro,
body.lls-modal-on #op-lens-configurator .lls-step-heading > span,
body.lls-modal-on #op-lens-configurator .lls-navigation-note { display: none !important; }
body.lls-modal-on #op-lens-configurator .lls-intro-grid { display: block; margin: 0; }
body.lls-modal-on #op-lens-configurator .lls-progress { margin: 6px 0 22px; }
body.lls-modal-on #op-lens-configurator .lls-step-heading h3 { font-size: 22px; line-height: 1.25; margin: 0 0 4px; }
body.lls-modal-on #op-lens-configurator .lls-step-heading p { font-size: 14px; color: #64748b; margin: 0 0 16px; }
body.lls-modal-on #op-lens-configurator .lls-wa-help { margin-top: 18px; font-size: 13px; opacity: .9; }

/* barra inferior fija: total + continuar */
body.lls-modal-on #op-lens-configurator .lls-navigation {
  position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; gap: 12px;
  margin: 28px -28px 0; padding: 14px 24px calc(14px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eef0f3;
}
body.lls-modal-on #op-lens-configurator .lls-navigation .lls-live-total {
  display: flex; flex-direction: column; margin: 0 auto 0 0; padding: 0; border: 0; background: none; box-shadow: none; min-width: 0;
}
body.lls-modal-on #op-lens-configurator .lls-navigation .lls-live-total span { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
body.lls-modal-on #op-lens-configurator .lls-navigation .lls-live-total strong { font-size: 19px; color: #0f172a; }
body.lls-modal-on #op-lens-configurator .lls-navigation .lls-live-total small { display: none; }
body.lls-modal-on #op-lens-configurator .lls-navigation .lls-back { display: none !important; }
body.lls-modal-on #op-lens-configurator .lls-navigation .lls-next { min-width: 150px; }

@media (max-width: 900px) {
  body.lls-modal-on .lls-stage { right: 0; bottom: auto; height: 30vh; border-bottom: 1px solid #eef0f3; }
  .lls-stage-inner { width: 78%; }
  .lls-stage-img { max-height: 18vh; }
  .lls-stage-views { margin-top: 10px; }
  .lls-stage-views button { width: 54px; height: 38px; }
  .lls-stage-name { display: none; }
  body.lls-modal-on #op-lens-configurator { top: 30vh; width: 100%; border-left: 0; box-shadow: none; padding: 0 18px !important; }
  body.lls-modal-on .lls-topbar { margin: 0 -18px 6px; padding: 8px 10px; }
  body.lls-modal-on #op-lens-configurator .lls-navigation { margin: 22px -18px 0; padding-left: 18px; padding-right: 18px; }
  body.lls-modal-on #op-lens-configurator .lls-step-heading h3 { font-size: 19px; }
  body.lls-modal-on #op-lens-configurator .lls-navigation .lls-next { min-width: 0; flex: 0 0 auto; }
}
body.lls-modal-on #op-lens-configurator .lls-navigation { position: sticky !important; bottom: 0 !important; margin: 28px -28px 0 !important; padding: 14px 24px !important; background: #fff !important; border-top: 1px solid #eef0f3 !important; border-radius: 0 !important; box-shadow: 0 -8px 20px rgba(15, 23, 42, .04) !important; }
body.lls-modal-on #op-lens-configurator .lls-navigation .lls-live-total { align-items: flex-start; text-align: left; }
@media (max-width: 900px) { body.lls-modal-on #op-lens-configurator .lls-navigation { margin: 22px -18px 0 !important; padding: 12px 18px !important; } }


/* 1.5.2: interruptor interior/exterior del fotocromático */
.lls-pv-toggle { display: inline-flex; gap: 0; margin: 22px auto 0; padding: 4px; border-radius: 999px; background: #f1f3f6; }
.lls-pv-toggle[hidden] { display: none; }
.lls-pv-toggle button { border: 0; background: transparent; padding: 8px 18px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #475569; cursor: pointer; }
.lls-pv-toggle button.is-on { background: #fff; color: #0f172a; box-shadow: 0 1px 4px rgba(15, 23, 42, .12); }

/* 1.5.4: el panel del configurador debe poder desplazarse */
body.lls-modal-on #op-lens-configurator { overflow-y: auto !important; overflow-x: hidden !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }


/* 1.5.5: botones de compra dentro del panel */
.lls-modal-cta[hidden] { display: none !important; }
body.lls-modal-on #op-lens-configurator .lls-modal-cta { position: sticky; bottom: 0; z-index: 6; display: flex; flex-direction: column; gap: 10px; margin: 24px -28px 0; padding: 14px 24px calc(14px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eef0f3; box-shadow: 0 -8px 20px rgba(15, 23, 42, .04); }
body.lls-modal-on #op-lens-configurator .lls-modal-cta .single_add_to_cart_button { width: 100% !important; margin: 0 !important; float: none !important; }
body.lls-modal-on #op-lens-configurator .lls-modal-cta .lls-continue-shopping { background: #fff !important; color: #0f172a !important; border: 1px solid #0f172a !important; }
@media (max-width: 900px) { body.lls-modal-on #op-lens-configurator .lls-modal-cta { margin: 22px -18px 0; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); } }


/* 1.6.1: solo cristales */
body.lls-lens-only .lls-entry-secondary{display:none!important}

/* Fotografías en las opciones y ayudas del configurador */
.lls-art .lls-photo-art{display:block;width:100%;height:100%;object-fit:cover;border-radius:9px;background:#f7f5f0}
.lls-art:has(.lls-photo-art){width:104px;height:76px;overflow:hidden;border-radius:9px}
.lls-art img[data-lls-sample]{object-fit:contain;background:#fff;padding:3px;box-sizing:border-box}
.lls-rx-modes .lls-art:has(.lls-photo-art){width:100%;max-width:150px;height:85px}
.lls-help-art .lls-photo-art{display:block;width:100%;max-width:420px;max-height:230px;object-fit:cover;border-radius:10px}
.lls-help-art img[data-lls-sample]{object-fit:contain;background:#fff}
@media(max-width:680px){.lls-choice.has-art .lls-art:has(.lls-photo-art){width:78px;height:62px}.lls-rx-modes .lls-art:has(.lls-photo-art){height:64px}}

/* 2.0.5: foto de uso y fotografía del cristal, en mitades iguales. */
.lls-configurator .lls-choice.has-art:has(.lls-photo-pair){display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;padding:12px!important}
.lls-configurator .lls-choice.has-art .lls-art:has(.lls-photo-pair){grid-column:1/-1!important;grid-row:1!important;width:100%!important;height:138px!important;display:block!important;border-radius:9px;overflow:hidden}
.lls-choice:has(.lls-photo-pair) .lls-choice-copy{grid-column:1/-1!important;grid-row:2!important;min-width:0}
.lls-choice:has(.lls-photo-pair) .lls-price-tag{grid-column:1/-1!important;grid-row:3!important;text-align:left}
.lls-photo-pair{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%;height:100%;gap:0;overflow:hidden;border-radius:9px;background:#f5f1e9}
.lls-photo-half{position:relative;display:block;min-width:0;height:100%;overflow:hidden}
.lls-photo-pair .lls-photo-art{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;border-radius:0!important}
.lls-crystal-half{border-left:2px solid #fff}
.lls-half-caption{position:absolute;bottom:0;left:0;right:0;padding:4px 5px;background:rgba(255,255,255,.91);color:#3d494b;font:650 10px/1.3 system-ui,sans-serif;text-align:center}
.lls-zone-tags{position:absolute;top:20%;bottom:22%;left:38%;right:8%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:3px;pointer-events:none}
.lls-zone-tags>span{padding:2px 5px;border-radius:4px;background:rgba(255,255,255,.91);box-shadow:0 1px 5px #152d3d16;color:#26454b;font:750 10px/1.2 system-ui,sans-serif;white-space:nowrap}
.lls-zone-count-1{justify-content:center}
.lls-help-art:has(.lls-photo-pair){padding:0;background:none}
.lls-help-art>.lls-photo-pair{height:185px}
.lls-help-text p{margin:0 0 10px}.lls-help-text ul{padding-left:20px;margin:0 0 12px}.lls-help-text li{margin:4px 0}
.lls-summary-alt .lls-photo-pair,.lls-alt-art .lls-photo-pair{height:40px}
.lls-alt-art .lls-half-caption,.lls-alt-art .lls-zone-tags{display:none}
@media(max-width:720px){.lls-configurator .lls-choice.has-art .lls-art:has(.lls-photo-pair){height:128px!important}.lls-help-art>.lls-photo-pair{height:160px}}

/* Ayuda por encima del configurador de pantalla completa. */
body .lls-help-panel{z-index:100010!important}

/* Comparación de perfiles del proveedor, sin el bloque superior de tratamientos. */
.lls-profiles-figure{margin:14px 0 18px;padding:10px;border:1px solid #e3e6e5;border-radius:10px;background:#fff}
.lls-profiles-crop{position:relative;width:100%;aspect-ratio:750/334;overflow:hidden;background:#fff}
.lls-profiles-crop>img{position:absolute;top:-80.24%;left:0;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;display:block}
.lls-profiles-figure figcaption{font-size:11px;line-height:1.45;color:#687172;margin-top:9px}
.lls-help-art>.lls-profiles-figure{width:100%;margin:0}
