/* v1.4.0. Classes are attached only on the Optizona 3 product template.
   Keep native visibility, AJAX forms, prices, phone masks and event handlers. */
.oz3-modal.ui-dialog, .oz3-notice.notification-content-extended {
  --oz3-popup-ink: #0b192b; --oz3-popup-muted: #65798a; --oz3-popup-line: #d9e1e8;
  position: fixed !important; inset: auto !important; top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%); width: 600px !important;
  max-width: calc(100vw - 32px) !important; height: auto !important;
  max-height: calc(100vh - 32px) !important; max-height: calc(100dvh - 32px) !important;
  margin: 0 !important; padding: 0 !important; border: 1px solid var(--oz3-popup-line);
  border-radius: 4px; background: #fff; color: var(--oz3-popup-ink);
  box-shadow: 0 20px 70px #0b192b33; box-sizing: border-box;
  font: 400 14px/1.5 'Optizona3 Manrope', sans-serif;
  display: flex; flex-direction: column; overflow: hidden;
}
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] { width: 520px !important; }
.oz3-notice.notification-content-extended.oz3-notice--cart { width: 880px !important; }
.oz3-modal.ui-dialog *, .oz3-notice.notification-content-extended * { box-sizing: border-box; }
.oz3-modal.ui-dialog .ui-dialog-titlebar, .oz3-notice.notification-content-extended > h1 {
  position: relative; flex: 0 0 auto; display: block !important;
  width: 100% !important; min-height: 72px !important; height: auto !important;
  margin: 0 !important; padding: 22px 64px 22px 24px !important;
  border: 0 !important; border-bottom: 1px solid var(--oz3-popup-line) !important;
  border-radius: 0; background: #fff !important; color: var(--oz3-popup-ink) !important;
  font: 500 22px/1.3 'Optizona3 Manrope', sans-serif !important;
  letter-spacing: -.02em; text-transform: none;
}
.oz3-modal.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
  float: none !important; display: block !important; width: auto !important;
  margin: 0 !important; padding: 0 !important; white-space: normal !important;
  color: inherit !important; font: inherit !important; text-transform: none !important;
}
.oz3-modal.ui-dialog .ui-dialog-titlebar-close,
.oz3-notice.notification-content-extended > h1 .cm-notification-close {
  position: absolute !important; top: 14px !important; right: 10px !important;
  width: 44px !important; height: 44px !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 2px; background: transparent !important;
  color: var(--oz3-popup-ink) !important; cursor: pointer;
}
.oz3-modal.ui-dialog .ui-dialog-titlebar-close:hover,
.oz3-notice.notification-content-extended > h1 .cm-notification-close:hover { background: #f3f4f5 !important; }
/* Consistent close glyph without relying on an icon font or sprite. */
.oz3-modal.ui-dialog .ui-dialog-titlebar-close { font-size: 0 !important; }
.oz3-modal.ui-dialog .ui-dialog-titlebar-close > span { display: none !important; }
.oz3-modal.ui-dialog .ui-dialog-titlebar-close::before,
.oz3-modal.ui-dialog .ui-dialog-titlebar-close::after,
.oz3-notice.notification-content-extended > h1 .cm-notification-close::before,
.oz3-notice.notification-content-extended > h1 .cm-notification-close::after {
  content: '' !important; position: absolute; top: 21px; left: 13px;
  width: 18px; height: 2px; background: currentColor; transform: rotate(45deg);
}
.oz3-modal.ui-dialog .ui-dialog-titlebar-close::after,
.oz3-notice.notification-content-extended > h1 .cm-notification-close::after { transform: rotate(-45deg); }
.oz3-modal.ui-dialog .ui-dialog-content {
  flex: 1 1 auto; min-height: 0 !important; max-height: none !important; height: auto !important;
  width: 100% !important; margin: 0 !important; padding: 24px !important;
  overflow: auto !important; overscroll-behavior: contain; background: #fff;
}
.oz3-modal.ui-dialog .object-container {
  width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important;
  margin: 0 !important; padding: 0 !important; overflow: visible !important;
}
.oz3-modal.ui-dialog .buttons-container-picker {
  position: static !important; width: 100% !important; height: auto !important;
  margin: 20px 0 0 !important; padding: 0 !important; border: 0; background: transparent;
}
.oz3-modal.ui-dialog .ty-btn, .oz3-notice.notification-content-extended .ty-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; margin: 0; padding: 12px 18px; border: 1px solid #cbd6df;
  border-radius: 2px; box-shadow: none; background: #fff; color: var(--oz3-popup-ink);
  font: 500 14px/1.4 'Optizona3 Manrope', sans-serif; text-transform: none; text-decoration: none;
  white-space: normal; text-align: center; cursor: pointer;
}
.oz3-modal.ui-dialog .ty-btn__primary, .oz3-notice.notification-content-extended .ty-btn__primary {
  color: #fff !important; background: #0050f2 !important; border-color: #0050f2 !important;
}
.oz3-modal.ui-dialog .ty-btn__primary:hover, .oz3-notice.notification-content-extended .ty-btn__primary:hover { background: #003fc4 !important; }
.oz3-modal.ui-dialog :is(button, a, input, textarea):focus-visible,
.oz3-notice.notification-content-extended :is(button, a, input, [role="button"]):focus-visible { outline: 2px solid #0050f2; outline-offset: 2px; }
/* One-click: keep the native form, including phone OR email validation. */
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] form { margin: 0; padding: 0; width: 100%; }
.oz3-modal.ui-dialog .ty-cr-product-info-container {
  display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 16px;
  margin: 0 0 20px; padding: 16px; background: #f3f4f5;
}
.oz3-modal.ui-dialog .ty-cr-product-info-image, .oz3-modal.ui-dialog .ty-cr-product-info-header {
  float: none; width: auto; min-width: 0; margin: 0; padding: 0;
}
.oz3-modal.ui-dialog .ty-cr-product-info-image img { width: 72px; height: 72px; object-fit: contain; mix-blend-mode: multiply; }
.oz3-modal.ui-dialog .ty-cr-product-info-header .ty-product-block-title {
  margin: 0; padding: 0; color: var(--oz3-popup-ink); font: 500 14px/1.5 'Optizona3 Manrope', sans-serif;
}
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] .ty-control-group { margin: 0 0 16px; padding: 0; width: 100%; }
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] .ty-control-group__title {
  display: block; margin: 0 0 6px; padding: 0; color: var(--oz3-popup-ink);
  font: 500 13px/1.5 'Optizona3 Manrope', sans-serif;
}
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] :is(.controls, .ty-field-phone-container) { width: 100%; max-width: none; }
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] :is(input[type="text"], input[type="tel"], input[type="email"]) {
  display: block; width: 100% !important; max-width: none !important; height: 48px;
  margin: 0; padding: 11px 12px; border: 1px solid #bfcfdb; border-radius: 2px;
  background: #fff; color: var(--oz3-popup-ink); box-shadow: none;
  font: 400 16px/1.5 'Optizona3 Manrope', sans-serif;
}
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] .ty-cr-or {
  margin: -4px 0 12px; padding: 0; text-align: center;
  color: var(--oz3-popup-muted); font: 400 12px/1.5 'Optizona3 Manrope', sans-serif;
}
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] .cr-popup-error-box { min-height: 0; margin: 0; }
.oz3-modal.ui-dialog[data-oz3-modal-kind="oneclick"] .buttons-container .ty-btn { width: 100%; }
/* Notifications have one scroll area; checkout actions stay outside it. */
.oz3-notice.notification-content-extended .notification-body-extended {
  display: flex; flex-direction: column; min-height: 0; width: 100%;
  margin: 0 !important; padding: 0 !important; overflow: auto;
}
.oz3-notice.notification-content-extended #ecl_cart_update { display: flex; flex-direction: column; min-height: 0; }
.oz3-notice.notification-content-extended .ty-product-notification__body {
  flex: 1 1 auto; min-height: 0; max-height: none !important;
  margin: 0 !important; padding: 24px !important; overflow: auto; overscroll-behavior: contain;
}
.oz3-notice.notification-content-extended .ty-product-notification__item {
  display: grid !important; grid-template-columns: 88px minmax(0, 1fr) 32px;
  align-items: center; gap: 16px; width: 100%; margin: 0 0 20px !important; padding: 0 !important;
}
.oz3-notice.notification-content-extended .ty-product-notification__item:last-child { margin-bottom: 0 !important; }
.oz3-notice.notification-content-extended .ty-product-notification__item::after,
.oz3-notice.notification-content-extended .ty-product-notification__content::after { display: none; }
.oz3-notice.notification-content-extended .ty-product-notification__image {
  grid-column: 1; grid-row: 1; width: 88px !important; height: 88px !important;
  margin: 0 !important; padding: 6px; border: 1px solid var(--oz3-popup-line);
  border-radius: 2px; object-fit: contain; float: none;
}
.oz3-notice.notification-content-extended .ty-product-notification__content {
  grid-column: 2; grid-row: 1; display: block; float: none; width: 100%; min-width: 0; margin: 0 !important; padding: 0 !important;
}
.oz3-notice.notification-content-extended .ty-product-notification__item-delete {
  grid-column: 3; grid-row: 1; align-self: start; margin: 0 !important; padding: 0 !important;
}
.oz3-notice.notification-content-extended .ty-product-notification__item-delete a { display: flex; align-items: center; justify-content: center; width: 32px; min-height: 44px; color: var(--oz3-popup-muted); }
.oz3-notice.notification-content-extended .ty-product-notification__product-name {
  display: block; margin: 0 0 8px; padding: 0; color: var(--oz3-popup-ink);
  font: 500 15px/1.5 'Optizona3 Manrope', sans-serif; overflow-wrap: anywhere;
}
.oz3-notice.notification-content-extended .ty-product-notification__price-line {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0;
}
.oz3-notice.notification-content-extended .ty-product-notification__price { margin: 0; padding: 0; color: var(--oz3-popup-ink); font: 600 17px/1.4 'Optizona3 Manrope', sans-serif; }
/* The native total already shows old/new price. Suppress only its duplicated unit price. */
.oz3-notice.notification-content-extended .ty-product-notification__price-line:has(.ecl-product-notification) > .ty-product-notification__price { display: none; }
.oz3-notice.notification-content-extended .ecl-product-notification { margin: 0; padding: 0; text-align: right; }
.oz3-notice.notification-content-extended .ecl-product-notification__old-price, .oz3-notice.notification-content-extended .ecl-original-subtotal {
  margin: 0 0 3px; padding: 0; color: var(--oz3-popup-muted); font: 400 12px/1.5 'Optizona3 Manrope', sans-serif; text-decoration: line-through;
}
.oz3-notice.notification-content-extended .ecl-product-notification__discounted-price { font: 600 20px/1.4 'Optizona3 Manrope', sans-serif; color: var(--oz3-popup-ink); }
.oz3-notice.notification-content-extended .ecl-amount-popup-product { float: none; width: auto; margin: 0; padding: 0; }
.oz3-notice.notification-content-extended .ecl-amount-popup-product > label { display: none; }
.oz3-notice.notification-content-extended .ty-value-changer { display: inline-flex; width: auto; height: auto; margin: 0; padding: 0; border: 1px solid var(--oz3-popup-line); border-radius: 2px; overflow: hidden; }
.oz3-notice.notification-content-extended .ty-value-changer :is(a, input) {
  position: static; display: flex; align-items: center; justify-content: center; float: none;
  width: 44px !important; min-width: 0; height: 44px !important; margin: 0 !important; padding: 0 !important;
  border: 0; border-radius: 0; box-shadow: none; background: #fff; color: var(--oz3-popup-ink);
  text-align: center; font: 400 16px/44px 'Optizona3 Manrope', sans-serif;
}
.oz3-notice.notification-content-extended .ty-value-changer .cm-decrease { order: 0; }
.oz3-notice.notification-content-extended .ty-value-changer input { order: 1; border-inline: 1px solid var(--oz3-popup-line); }
.oz3-notice.notification-content-extended .ty-value-changer .cm-increase { order: 2; }
.oz3-notice.notification-content-extended .ty-product-notification__total-info {
  margin: 20px 0 0 !important; padding: 16px 0 0 !important; border-top: 1px solid var(--oz3-popup-line);
}
.oz3-notice.notification-content-extended .ty-product-notification__subtotal { margin: 0 !important; padding: 0 !important; font: 500 17px/1.5 'Optizona3 Manrope', sans-serif; }
.oz3-notice.notification-content-extended .ty-product-notification__buttons {
  flex: 0 0 auto; display: flex; justify-content: space-between; gap: 12px;
  margin: 0 !important; padding: 16px 24px !important; border-top: 1px solid var(--oz3-popup-line); background: #fff;
}
.oz3-notice.notification-content-extended .ty-product-notification__buttons::after { display: none; }
.oz3-notice.notification-content-extended .ty-product-notification__buttons > div { float: none; margin: 0; min-width: 0; }
.oz3-notice.notification-content-extended .ty-product-notification__buttons .ty-btn__secondary {
  min-height: 48px; padding: 12px 16px; border: 1px solid #cbd6df; color: var(--oz3-popup-ink); background: #fff;
}
.oz3-notice.notification-content-extended .ty-product-notification__buttons .ty-btn__primary { min-height: 48px; padding: 12px 20px; }
/* Native recommendations, with existing tabs and add-to-cart forms. */
.oz3-notice.notification-content-extended .ty-ab__ia_joins { margin: 20px 0 0; padding: 20px 0 0; border-top: 1px solid var(--oz3-popup-line); }
.oz3-notice.notification-content-extended .ty-ab__ia_joins > span { display: block; margin: 0 0 16px; font: 500 17px/1.4 'Optizona3 Manrope', sans-serif; color: var(--oz3-popup-ink); }
.oz3-notice.notification-content-extended .ty-tabs { margin: 0 0 12px; padding: 0; border: 0; }
.oz3-notice.notification-content-extended .ty-tabs__list { display: flex; gap: 8px; margin: 0; overflow-x: auto; }
.oz3-notice.notification-content-extended .ty-ab__ia_joins .ty-tabs__item.abt__ut2_grid_tabs { float: none; flex: 0 0 auto; width: auto; max-width: none; margin: 0; padding: 0; border: 1px solid var(--oz3-popup-line); border-radius: 2px; background: #fff; }
.oz3-notice.notification-content-extended .ty-ab__ia_joins .ty-tabs__item.abt__ut2_grid_tabs > :is(span, a) { display: block; margin: 0; padding: 10px 12px; font: 500 12px/1.5 'Optizona3 Manrope', sans-serif; color: var(--oz3-popup-ink); }
.oz3-notice.notification-content-extended .ty-ab__ia_joins .ty-tabs__item.abt__ut2_grid_tabs.active { background: #edf3ff; border-color: #0050f2; }
.oz3-notice.notification-content-extended .ty-tabs__content { padding: 0; margin: 0; }
.oz3-notice.notification-content-extended .ty-compact-list__item { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--oz3-popup-line); }
.oz3-notice.notification-content-extended .ty-compact-list__content { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 14px; }
.oz3-notice.notification-content-extended .ty-compact-list__content::after { display: none; }
.oz3-notice.notification-content-extended :is(.ty-compact-list__image, .ty-compact-list__title, .ty-compact-list__controls) { float: none; width: auto; min-width: 0; margin: 0; padding: 0; }
.oz3-notice.notification-content-extended .ty-compact-list__image img { width: 64px; height: 64px; object-fit: contain; border-radius: 2px; }
.oz3-notice.notification-content-extended .ty-compact-list__title .product-title { color: var(--oz3-popup-ink); font: 400 14px/1.5 'Optizona3 Manrope', sans-serif; }
.oz3-notice.notification-content-extended .ty-sku-item { margin: 0 0 4px; font-size: 12px; color: var(--oz3-popup-muted); }
.oz3-notice.notification-content-extended .ty-compact-list__controls { text-align: right; }
.oz3-notice.notification-content-extended .ty-compact-list__price { margin: 0 0 8px; padding: 0; }
.oz3-notice.notification-content-extended .ty-compact-list__price .ty-price-num { font: 600 15px/1.5 'Optizona3 Manrope', sans-serif; }
.oz3-notice.notification-content-extended .ty-compact-list__controls .ty-btn { min-height: 44px; padding: 9px 12px; font-size: 13px; }
@media (max-width: 600px) {
  .oz3-modal.ui-dialog, .oz3-notice.notification-content-extended {
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important; max-height: calc(100dvh - 24px) !important;
  }
  .oz3-modal.ui-dialog .ui-dialog-titlebar, .oz3-notice.notification-content-extended > h1 {
    min-height: 64px !important; padding: 18px 58px 18px 16px !important; font-size: 20px !important;
  }
  .oz3-modal.ui-dialog .ui-dialog-titlebar-close, .oz3-notice.notification-content-extended > h1 .cm-notification-close { top: 10px !important; right: 6px !important; }
  .oz3-modal.ui-dialog .ui-dialog-content { padding: 16px !important; }
  .oz3-notice.notification-content-extended .ty-product-notification__body { padding: 16px !important; }
  .oz3-notice.notification-content-extended .ty-product-notification__item { grid-template-columns: 64px minmax(0, 1fr) 28px; gap: 10px; }
  .oz3-notice.notification-content-extended .ty-product-notification__image { width: 64px !important; height: 64px !important; align-self: start; }
  .oz3-notice.notification-content-extended .ty-product-notification__item-delete a { width: 28px; }
  .oz3-notice.notification-content-extended .ty-product-notification__product-name { font-size: 14px; }
  .oz3-notice.notification-content-extended .ty-product-notification__price-line { flex-direction: column; align-items: flex-start; gap: 10px; }
  .oz3-notice.notification-content-extended .ecl-product-notification { text-align: left; }
  .oz3-notice.notification-content-extended .ecl-product-notification__discounted-price { font-size: 18px; }
  .oz3-notice.notification-content-extended .ty-product-notification__buttons { flex-direction: column; padding: 14px 16px !important; gap: 8px; }
  .oz3-notice.notification-content-extended .ty-product-notification__buttons .ty-float-right { order: -1; }
  .oz3-notice.notification-content-extended .ty-product-notification__buttons .ty-btn { width: 100%; }
  .oz3-notice.notification-content-extended .ty-compact-list__content { grid-template-columns: 56px minmax(0, 1fr); gap: 10px; }
  .oz3-notice.notification-content-extended .ty-compact-list__image img { width: 56px; height: 56px; }
  .oz3-notice.notification-content-extended .ty-compact-list__controls { grid-column: 2; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; text-align: left; }
  .oz3-notice.notification-content-extended .ty-compact-list__price { margin: 0; }
  .oz3-modal.ui-dialog .ty-cr-product-info-container { grid-template-columns: 60px minmax(0, 1fr); padding: 12px; gap: 12px; }
  .oz3-modal.ui-dialog .ty-cr-product-info-image img { width: 60px; height: 60px; }
}

/* Neutralize remaining legacy text sizes without changing icon fonts. */
.oz3-notice.notification-content-extended .ty-sku-item .ty-control-group__item { font: inherit; color: inherit; }
.oz3-notice.notification-content-extended .ty-compact-list .ty-compact-list__controls .ty-price-num { font: 600 15px/1.5 'Optizona3 Manrope', sans-serif; }
.oz3-modal.ui-dialog .ty-btn bdi, .oz3-notice.notification-content-extended .ty-btn bdi { font: inherit; color: inherit; }
.oz3-modal.ui-dialog .oz3-form-field :is(input, textarea) { min-height: 48px; }
.oz3-modal.ui-dialog .oz3-form-actions button { min-height: 48px; }
