/* =========================================================
   CHECKOUT AIRSOFT YECLA - MOBILE FIRST PRO
   Prestashop / Warehouse / Checkout nativo
   ========================================================= */

/* BASE */
body#checkout {
  background: #f4f4f4 !important;
}

body#checkout #wrapper {
  background: linear-gradient(180deg, #f7f7f7 0%, #eeeeee 100%) !important;
  padding-top: 18px !important;
}

body#checkout #inner-wrapper {
  max-width: 1320px !important;
}

body#checkout #main > .page-title {
  display: none !important;
}

body#checkout #notifications {
  margin-bottom: 0 !important;
}

/* LAYOUT */
body#checkout #main > .row {
  align-items: flex-start !important;
}

body#checkout .col-md-8 {
  padding-right: 18px !important;
}

body#checkout .cart-grid-right {
  position: sticky !important;
  top: 18px !important;
}

/* PASOS */
body#checkout .checkout-step {
  background: #fff !important;
  border: 1px solid #e3e3e3 !important;
  border-radius: 18px !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.07) !important;
}

body#checkout .checkout-step.-current {
  border-color: rgba(243,146,0,.45) !important;
  box-shadow: 0 10px 34px rgba(243,146,0,.13) !important;
}

body#checkout .checkout-step .step-title {
  position: relative !important;
  background: #111 !important;
  color: #fff !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  border-bottom: 4px solid #f39200 !important;
  letter-spacing: -.3px !important;
}

body#checkout .checkout-step .step-number {
  background: #f39200 !important;
  color: #111 !important;
  width: 34px !important;
  height: 34px !important;
  line-height: 34px !important;
  display: inline-block !important;
  text-align: center !important;
  border-radius: 50% !important;
  margin-right: 10px !important;
  font-weight: 900 !important;
  font-size: 16px !important;
}

body#checkout .checkout-step .content {
  padding: 14px !important;
}

body#checkout .checkout-step .done {
  color: #50c878 !important;
  margin-left: 8px !important;
}

body#checkout .step-edit {
  float: right !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #f39200 !important;
  margin-top: 6px !important;
}

/* PASOS BLOQUEADOS */
body#checkout .checkout-step.-unreachable {
  opacity: .85 !important;
  box-shadow: none !important;
}

body#checkout .checkout-step.-unreachable .step-title {
  background: #fff !important;
  color: #9a9a9a !important;
  border-bottom: 1px solid #eeeeee !important;
}

body#checkout .checkout-step.-unreachable .step-number {
  background: #e7e7e7 !important;
  color: #777 !important;
}

/* LOGIN / GOOGLE */
body#checkout #checkout-personal-information-step .content > p:first-child {
  background: #fff7ec !important;
  border: 1px solid rgba(243,146,0,.35) !important;
  color: #222 !important;
  border-radius: 12px !important;
  padding: 13px 15px !important;
  margin-bottom: 16px !important;
  font-weight: 700 !important;
}

body#checkout #checkout-personal-information-step .content > p:first-child a {
  color: #d97700 !important;
  font-weight: 900 !important;
}

body#checkout .iqitsociallogin {
  background: #f8f8f8 !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 14px !important;
  padding: 14px !important;
  margin-bottom: 20px !important;
}

body#checkout .iqitsociallogin .text-muted {
  display: block !important;
  color: #555 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

body#checkout .btn-iqitsociallogin,
body#checkout .btn-google {
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #222 !important;
  border: 1px solid #dcdcdc !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.05) !important;
}

body#checkout .btn-google:hover {
  border-color: #f39200 !important;
}

/* FORMULARIOS */
body#checkout .form-group {
  margin-bottom: 12px !important;
}

body#checkout .form-group.row {
  align-items: flex-start !important;
}

body#checkout .col-form-label {
  font-weight: 800 !important;
  color: #202020 !important;
  font-size: 14px !important;
  padding-top: 12px !important;
  margin-bottom: 4px !important;
}

body#checkout .col-form-label.required:after {
  content: " *" !important;
  color: #f39200 !important;
  font-weight: 900 !important;
}

body#checkout .form-control {
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  border-radius: 11px !important;
  border: 1px solid #d2d2d2 !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 11px 14px !important;
  box-shadow: none !important;
}

body#checkout textarea.form-control {
  height: auto !important;
  min-height: 96px !important;
}

body#checkout .form-control:focus {
  border-color: #f39200 !important;
  box-shadow: 0 0 0 3px rgba(243,146,0,.18) !important;
}

body#checkout .form-control::placeholder {
  color: #999 !important;
}

body#checkout .form-control-comment,
body#checkout .js-input-column .form-control-comment {
  display: block !important;
  color: #8a8a8a !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  margin-top: 5px !important;
}

/* PASSWORD */
body#checkout .input-group .form-control {
  border-radius: 11px 0 0 11px !important;
}

body#checkout .input-group-append .btn,
body#checkout button[data-action="show-password"] {
  min-height: 46px !important;
  border-radius: 0 11px 11px 0 !important;
  border-color: #d2d2d2 !important;
  background: #f7f7f7 !important;
  color: #333 !important;
}

/* RADIOS / CHECKBOXES */
body#checkout .radio-inline {
  margin-right: 18px !important;
  font-weight: 700 !important;
  color: #333 !important;
}

body#checkout .custom-radio {
  transform: scale(1.15) !important;
}

body#checkout .custom-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  background: #fafafa !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 12px !important;
  padding: 12px !important;
  margin-bottom: 8px !important;
}

body#checkout .custom-checkbox label {
  color: #333 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

body#checkout .custom-checkbox label em {
  color: #777 !important;
  font-size: 12px !important;
}

/* CREAR CUENTA */
body#checkout .js-customer-form p {
  background: #f7f7f7 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  color: #333 !important;
  margin-bottom: 16px !important;
}

/* BOTONES */
body#checkout .btn-primary,
body#checkout .continue,
body#checkout button[name="continue"],
body#checkout .form-footer .btn {
  width: 100% !important;
  min-height: 54px !important;
  background: linear-gradient(180deg, #ffae22 0%, #f39200 100%) !important;
  border: 0 !important;
  color: #111 !important;
  font-weight: 950 !important;
  border-radius: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .2px !important;
  box-shadow: 0 8px 20px rgba(243,146,0,.32) !important;
}

body#checkout .btn-primary:hover,
body#checkout .continue:hover,
body#checkout button[name="continue"]:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.03) !important;
}

body#checkout .form-footer {
  padding-top: 8px !important;
}

/* DIRECCIONES */
body#checkout .ay-checkout-address-info {
  background: #fff7ec !important;
  border: 1px solid rgba(243,146,0,.35) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  color: #222 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

body#checkout .ay-checkout-subtitle {
  font-size: 24px !important;
  font-weight: 900 !important;
  color: #111 !important;
  margin-bottom: 18px !important;
  letter-spacing: -.4px !important;
}

body#checkout .address-item {
  padding: 12px !important;
  border-radius: 14px !important;
}

body#checkout .address-item .address {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #222 !important;
  font-weight: 600 !important;
}

body#checkout .address-item .h4,
body#checkout .address-item h4,
body#checkout .address-item .address-alias {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #111 !important;
  margin-bottom: 12px !important;
}

body#checkout .address-footer {
  margin-top: 8px !important;
  font-size: 14px !important;
}

body#checkout .address-footer a {
  color: #f39200 !important;
  font-weight: 800 !important;
}

/* RESUMEN PEDIDO */
body#checkout #js-checkout-summary {
  background: #fff !important;
  border-radius: 18px !important;
  border: 1px solid #dedede !important;
  overflow: hidden !important;
  box-shadow: 0 10px 32px rgba(0,0,0,.10) !important;
}

body#checkout #js-checkout-summary:before {
  content: "Resumen de tu pedido";
  display: block;
  background: #111;
  color: #fff;
  font-size: 20px;
  font-weight: 950;
  padding: 16px 20px;
  border-bottom: 4px solid #f39200;
}

body#checkout #js-checkout-summary .card-body,
body#checkout #js-checkout-summary .card-block {
  padding: 14px !important;
}

body#checkout #js-checkout-summary hr {
  margin: 0 !important;
  border-color: #ededed !important;
}

body#checkout .cart-summary-products {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #222 !important;
}

body#checkout .cart-summary-products a {
  color: #f39200 !important;
  font-weight: 800 !important;
}

body#checkout .cart-summary-product {
  padding: 12px 0 !important;
}

body#checkout .cart-summary-product img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  border: 1px solid #e7e7e7 !important;
  background: #fff !important;
}

body#checkout .cart-summary-product .product-name {
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #222 !important;
  font-weight: 800 !important;
}

body#checkout .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  font-size: 14px !important;
  color: #333 !important;
  margin-bottom: 9px !important;
}

body#checkout .cart-summary-line .label {
  font-weight: 700 !important;
}

body#checkout .cart-summary-line .value {
  font-weight: 900 !important;
}

body#checkout .cart-total {
  background: #fff7ec !important;
  border: 1px solid rgba(243,146,0,.35) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  margin-bottom: 10px !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  color: #111 !important;
}

body#checkout .cart-total .value {
  color: #f39200 !important;
  font-size: 23px !important;
}

/* ENVÍO GRATIS */
body#checkout .iqitfreedeliverycount {
  background: #eaf8ff !important;
  border: 1px solid #8ed9f5 !important;
  color: #00475d !important;
  border-radius: 13px !important;
  padding: 12px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body#checkout .iqitfreedeliverycount-title strong {
  font-weight: 900 !important;
}

/* CUPÓN */
body#checkout .block-promo {
  padding: 14px !important;
}

body#checkout .promo-code .input-group {
  border-radius: 13px !important;
  overflow: hidden !important;
  border: 1px solid #ddd !important;
  background: #fff !important;
}

body#checkout .promo-code .voucher-icon {
  background: #f7f7f7 !important;
  color: #f39200 !important;
  border: 0 !important;
}

body#checkout .promo-code input.form-control {
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 48px !important;
}

body#checkout .promo-code .btn-secondary {
  background: #111 !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 900 !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* MÓVIL */
@media (max-width: 768px) {

  body#checkout #wrapper {
    padding-top: 8px !important;
  }

  body#checkout #inner-wrapper {
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body#checkout #main > .row {
    display: flex !important;
    flex-direction: column !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body#checkout .col-md-8,
  body#checkout .cart-grid-right {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body#checkout .cart-grid-right {
    position: static !important;
    order: 2 !important;
    margin-top: 14px !important;
    margin-bottom: 14px !important;
  }

  body#checkout #js-checkout-summary {
    border-radius: 16px !important;
    box-shadow: 0 6px 22px rgba(0,0,0,.08) !important;
  }

  body#checkout #js-checkout-summary:before {
    font-size: 20px !important;
    padding: 14px 16px !important;
  }

  body#checkout #js-checkout-summary .card-body,
  body#checkout #js-checkout-summary .card-block {
    padding: 12px !important;
  }

  body#checkout .block-promo {
    padding: 12px !important;
  }

  body#checkout .cart-total {
    font-size: 20px !important;
    padding: 13px !important;
  }

  body#checkout .cart-total .value {
    font-size: 21px !important;
  }

  body#checkout .checkout-step {
    border-radius: 16px !important;
    margin-bottom: 14px !important;
  }

  body#checkout .checkout-step .step-title {
    font-size: 24px !important;
    padding: 11px 13px !important;
  }

  body#checkout .checkout-step .step-number {
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    font-size: 16px !important;
    margin-right: 7px !important;
  }

  body#checkout .checkout-step .content {
    padding: 12px !important;
  }

  body#checkout .step-edit {
    float: none !important;
    display: block !important;
    margin-top: 8px !important;
  }

  body#checkout .form-group.row {
    display: block !important;
    margin-bottom: 10px !important;
  }

  body#checkout .col-form-label,
  body#checkout .js-input-column,
  body#checkout .form-control-comment {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body#checkout .col-form-label {
    display: block !important;
    padding-top: 0 !important;
    margin-bottom: 7px !important;
    font-size: 13px !important;
  }

  body#checkout .form-control {
    min-height: 52px !important;
    height: 52px !important;
    font-size: 16px !important;
    border-radius: 12px !important;
  }

  body#checkout .input-group .form-control {
    border-radius: 12px 0 0 12px !important;
  }

  body#checkout .input-group-append .btn,
  body#checkout button[data-action="show-password"] {
    min-height: 52px !important;
    border-radius: 0 12px 12px 0 !important;
  }

  body#checkout .form-control-comment,
  body#checkout .js-input-column .form-control-comment {
    font-size: 11px !important;
  }

  body#checkout .custom-checkbox {
    padding: 11px !important;
    border-radius: 12px !important;
  }

  body#checkout .custom-checkbox label {
    font-size: 12.5px !important;
  }

  body#checkout .btn-primary,
  body#checkout .continue,
  body#checkout button[name="continue"],
  body#checkout .form-footer .btn {
    min-height: 56px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
  }

  body#checkout .iqitsociallogin {
    padding: 12px !important;
  }

  body#checkout .btn-iqitsociallogin,
  body#checkout .btn-google {
    min-height: 50px !important;
  }

  body#checkout .address-item {
    padding: 10px !important;
  }

  body#checkout .address-item .address {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body#checkout .address-item .h4,
  body#checkout .address-item h4,
  body#checkout .address-item .address-alias {
    font-size: 17px !important;
  }

  body#checkout .address-footer {
    font-size: 15px !important;
    margin-top: 8px !important;
  }

  body#checkout .ay-checkout-address-info {
    font-size: 14px !important;
    padding: 8px !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
  }

  body#checkout .ay-checkout-subtitle {
    font-size: 21px !important;
    margin-bottom: 12px !important;
  }
}

/* EXTRA PEQUEÑO */
@media (max-width: 420px) {

  body#checkout #inner-wrapper {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body#checkout .checkout-step .step-title {
    font-size: 16px !important;
  }

  body#checkout .cart-summary-line {
    font-size: 13px !important;
  }

  body#checkout .promo-code .btn-secondary {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* =========================================================
   STEP EDIT INLINE
   ========================================================= */

body#checkout .checkout-step .step-title {

  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;

}

/* "Modificar" */
body#checkout .checkout-step .step-edit {

  margin-left: auto !important;

  margin-top: 0 !important;

  float: none !important;

  display: flex !important;
  align-items: center !important;

  font-size: 13px !important;

  line-height: 1 !important;

}

/* Check verde */
body#checkout .checkout-step .done {

  margin-left: 8px !important;
  margin-right: 8px !important;

}

/* Móvil */
@media (max-width: 768px) {

  body#checkout .checkout-step .step-title {

    gap: 6px !important;

  }

  body#checkout .checkout-step .step-edit {

    font-size: 12px !important;

  }

}

/* =========================================================
   CHECKOUT - BOTONES DIRECCIÓN PRO
   ========================================================= */

/* Añadir nueva dirección */
body#checkout .add-address {
  margin: 12px 0 8px 0 !important;
}

body#checkout .add-address a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;

  background: #fff7ec !important;
  border: 1px solid #f39200 !important;
  border-radius: 10px !important;

  padding: 9px 13px !important;

  color: #111 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body#checkout .add-address a:hover {
  background: #f39200 !important;
  color: #111 !important;
}

/* Dirección facturación diferente */
body#checkout a[data-link-action="different-invoice-address"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #f6f6f6 !important;
  border: 1px solid #e1e1e1 !important;
  border-radius: 10px !important;

  padding: 9px 13px !important;
  margin: 0 0 12px 0 !important;

  color: #333 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body#checkout a[data-link-action="different-invoice-address"]:before {
  content: "🧾";
  margin-right: 6px;
}

body#checkout a[data-link-action="different-invoice-address"]:hover {
  background: #fff7ec !important;
  border-color: #f39200 !important;
  color: #111 !important;
}

/* Móvil */
@media (max-width: 768px) {

  body#checkout .add-address a,
  body#checkout a[data-link-action="different-invoice-address"] {
    width: 100% !important;
    min-height: 42px !important;
    font-size: 13px !important;
    border-radius: 11px !important;
  }

}

/* =========================================================
   CHECKOUT - LOGOS TRANSPORTISTAS
   ========================================================= */

body#checkout .delivery-options img,
body#checkout .delivery-option img,
body#checkout .carrier-hasLogo img {
    width: auto !important;
    max-width: 90px !important;
    height: auto !important;
    max-height: 42px !important;
    object-fit: contain !important;
}

/* Caja del logo */
body#checkout .carrier-hasLogo,
body#checkout .delivery-option .col-sm-5,
body#checkout .delivery-option .col-xs-12 {
    overflow: hidden !important;
}

/* Móvil */
@media (max-width: 768px) {
    body#checkout .delivery-options img,
    body#checkout .delivery-option img,
    body#checkout .carrier-hasLogo img {
        max-width: 80px !important;
        max-height: 36px !important;
    }
}

/* =========================================================
   CHECKOUT - PAGO Y ENVÍO MISMO DISEÑO
   ========================================================= */

/* Contenedores */
body#checkout .payment-options,
body#checkout .delivery-options,
body#checkout .delivery-options-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-top: 10px !important;
}

/* Tarjetas */
body#checkout .payment-option,
body#checkout .delivery-option {
    position: relative !important;
    background: #ffffff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 14px !important;
    overflow: hidden !important;

    transition:
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease !important;
}

/* Hover */
body#checkout .payment-option:hover,
body#checkout .delivery-option:hover {
    border-color: #f39200 !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.08) !important;
    transform: translateY(-2px) !important;
}

/* Interior pago */
body#checkout .payment-option label {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 18px 20px !important;
    margin: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
}

/* Interior envío */
body#checkout .delivery-option > .row {
    display: grid !important;
    grid-template-columns: 28px 90px 1fr auto !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 18px 20px !important;
    margin: 0 !important;
}

/* Radios */
body#checkout .payment-option input[type="radio"],
body#checkout .delivery-option input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    accent-color: #f39200 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

/* Logos */
body#checkout .payment-option img,
body#checkout .delivery-option img {
    width: auto !important;
    max-width: 90px !important;
    max-height: 34px !important;
    object-fit: contain !important;
}

/* Texto */
body#checkout .payment-option span,
body#checkout .payment-option label,
body#checkout .delivery-option,
body#checkout .delivery-option span,
body#checkout .delivery-option label,
body#checkout .delivery-option strong,
body#checkout .delivery-option .carrier-name {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
}

/* Descripción envío */
body#checkout .delivery-option .carrier-extra-content,
body#checkout .delivery-option .carriere-extra-content {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #555555 !important;
    line-height: 1.35 !important;
}

/* Precio envío */
body#checkout .delivery-option .col-sm-3,
body#checkout .delivery-option .price,
body#checkout .delivery-option .carrier-price {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #f39200 !important;
    white-space: nowrap !important;
    text-align: right !important;
}

/* Seleccionados */
body#checkout .payment-option:has(input[type="radio"]:checked),
body#checkout .delivery-option:has(input[type="radio"]:checked) {
    border-color: #f39200 !important;
    box-shadow:
        0 0 0 2px rgba(243,146,0,.15),
        0 12px 28px rgba(243,146,0,.12) !important;
    background: #ffffff !important;
}

/* Texto seleccionado */
body#checkout .payment-option input[type="radio"]:checked + span,
body#checkout .payment-option input[type="radio"]:checked ~ span {
    color: #f39200 !important;
}

/* PayPal */
body#checkout .payment-option img[alt*="PayPal"] {
    max-height: 28px !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    body#checkout .payment-options,
    body#checkout .delivery-options,
    body#checkout .delivery-options-list {
        gap: 6px !important;
    }

    body#checkout .payment-option label {
        padding: 16px !important;
        gap: 10px !important;
    }

    body#checkout .delivery-option > .row {
        grid-template-columns: 22px 70px 1fr !important;
        grid-template-areas:
            "radio logo info"
            "radio logo price" !important;
        gap: 6px 10px !important;
        padding: 14px !important;
    }

    body#checkout .delivery-option > .row > div:first-child {
        grid-area: radio !important;
        padding: 0 !important;
    }

    body#checkout .delivery-option .carrier-hasLogo,
    body#checkout .delivery-option .col-sm-5 {
        grid-area: logo !important;
        padding: 0 !important;
        width: 70px !important;
        max-width: 70px !important;
    }

    body#checkout .delivery-option .carrier-extra-content,
    body#checkout .delivery-option .carriere-extra-content,
    body#checkout .delivery-option .col-sm-4 {
        grid-area: info !important;
        padding: 0 !important;
    }

    body#checkout .delivery-option .col-sm-3,
    body#checkout .delivery-option .price,
    body#checkout .delivery-option .carrier-price {
        grid-area: price !important;
        padding: 0 !important;
        margin-top: 3px !important;
        text-align: left !important;
        font-size: 13px !important;
        white-space: normal !important;
    }

    body#checkout .payment-option span,
    body#checkout .payment-option label,
    body#checkout .delivery-option,
    body#checkout .delivery-option span,
    body#checkout .delivery-option label,
    body#checkout .delivery-option strong,
    body#checkout .delivery-option .carrier-name {
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    body#checkout .delivery-option .carrier-extra-content,
    body#checkout .delivery-option .carriere-extra-content {
        font-size: 12px !important;
    }

    body#checkout .payment-option img,
    body#checkout .delivery-option img {
        max-width: 58px !important;
        max-height: 28px !important;
    }

    body#checkout .payment-option input[type="radio"],
    body#checkout .delivery-option input[type="radio"] {
        width: 16px !important;
        height: 16px !important;
    }
}

/* =========================================================
   MOBILE - COMENTARIO PEDIDO MÁS COMPACTO
   ========================================================= */

@media (max-width: 768px) {

    body#checkout textarea#delivery_message,
    body#checkout #delivery_message {
        min-height: 56px !important;
        height: 56px !important;

        padding: 12px !important;

        font-size: 13px !important;

        border-radius: 12px !important;

        resize: vertical !important;
    }
}

/* =========================================================
   CHECKBOX TÉRMINOS - SOLO AGRANDAR
   ========================================================= */

body#checkout .js-conditions-to-approve {
    margin-top: 14px !important;
}

body#checkout .js-conditions-to-approve input[type="checkbox"] {
    width: 22px !important;
    height: 22px !important;

    min-width: 22px !important;

    accent-color: #f39200 !important;

    cursor: pointer !important;

    transform: translateY(1px) !important;
}

body#checkout .js-conditions-to-approve label {
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

@media (max-width: 768px) {

    body#checkout .js-conditions-to-approve input[type="checkbox"] {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
    }

    body#checkout .js-conditions-to-approve label {
        font-size: 12px !important;
        line-height: 18px !important;
    }
}

/* Checkbox */
body#checkout .custom-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;

    accent-color: #f39200 !important;
    cursor: pointer !important;
}

/* Texto */
body#checkout .custom-checkbox label,
body#checkout .custom-checkbox span {
    font-size: 14px !important;
    line-height: 1.35 !important;
    color: #333333 !important;
}

/* Enlace términos */
body#checkout .custom-checkbox a {
    color: #e66900 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* Móvil */
@media (max-width: 768px) {
    body#checkout .custom-checkbox {
        padding: 11px 12px !important;
        font-size: 12px !important;
        gap: 8px !important;
    }

    body#checkout .custom-checkbox label,
    body#checkout .custom-checkbox span,
    body#checkout .custom-checkbox a {
        font-size: 12px !important;
    }
}

/* =========================================================
   CHECKOUT - MODAL TÉRMINOS CORREGIDO
   ========================================================= */

body#checkout .modal {
    z-index: 999999 !important;
}

body#checkout .modal-backdrop {
    z-index: 999998 !important;
    background: rgba(0,0,0,.45) !important;
}

body#checkout .modal-dialog {
    max-width: 760px !important;
    margin: 40px auto !important;
}

body#checkout .modal-content {
    border-radius: 16px !important;
    overflow: hidden !important;
}

body#checkout .modal-header {
    background: #111111 !important;
    color: #ffffff !important;
    border-bottom: 4px solid #f39200 !important;
}

body#checkout .modal-header .close {
    color: #ffffff !important;
    opacity: 1 !important;
    font-size: 28px !important;
}

body#checkout .modal-body {
    max-height: 70vh !important;
    overflow-y: auto !important;
    padding: 22px !important;
}

/* =========================================================
   MOBILE - TEXTO INICIE SESIÓN
   ========================================================= */

@media (max-width: 768px) {

    body#checkout #checkout-personal-information-step .content p,
    body#checkout #checkout-personal-information-step .content p a {
        font-size: 18px !important;
        line-height: 1.4 !important;
    }

    body#checkout #checkout-personal-information-step .content p a {
        font-weight: 700 !important;
    }
}

/* =========================================================
   CHECKOUT - BOTÓN GOOGLE LOGIN
   ========================================================= */

body#checkout a.btn-iqitsociallogin.btn-google,
body#checkout .iqitsociallogin-checkout a.btn-google {

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 10px !important;

    width: 100% !important;
    min-height: 52px !important;

    padding: 14px 18px !important;

    border-radius: 12px !important;
    border: 1px solid #e2e2e2 !important;

    background: #ffffff !important;
    color: #111111 !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    text-align: center !important;

    box-shadow:
        0 6px 18px rgba(0,0,0,.06) !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease !important;
}

/* Hover */
body#checkout a.btn-iqitsociallogin.btn-google:hover,
body#checkout .iqitsociallogin-checkout a.btn-google:hover {

    border-color: #f39200 !important;

    box-shadow:
        0 8px 22px rgba(243,146,0,.14) !important;

    transform: translateY(-1px) !important;
}

/* Icono */
body#checkout a.btn-iqitsociallogin.btn-google i,
body#checkout a.btn-iqitsociallogin.btn-google img,
body#checkout a.btn-iqitsociallogin.btn-google svg {

    flex: 0 0 auto !important;

    margin: 0 !important;
}

/* Texto */
body#checkout a.btn-iqitsociallogin.btn-google *,
body#checkout .iqitsociallogin-checkout a.btn-google * {

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    body#checkout a.btn-iqitsociallogin.btn-google,
    body#checkout .iqitsociallogin-checkout a.btn-google {

        min-height: 50px !important;

        padding: 12px 16px !important;

        font-size: 14px !important;
    }

    body#checkout a.btn-iqitsociallogin.btn-google *,
    body#checkout .iqitsociallogin-checkout a.btn-google * {

        font-size: 14px !important;
    }
}

/* =========================================================
   CHECKOUT - TEXTO GOOGLE LOGIN
   ========================================================= */

/* Desktop */
body#checkout .iqitsociallogin-checkout .text-muted {
    display: block !important;

    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;

    letter-spacing: -.2px !important;

    color: #111111 !important;

    margin-bottom: 10px !important;
}

/* Mobile */
@media (max-width: 768px) {

    body#checkout .iqitsociallogin-checkout .text-muted {

        font-size: 18px !important;
        font-weight: 800 !important;
        line-height: 1.35 !important;

        letter-spacing: -.2px !important;

        margin-bottom: 8px !important;
    }
}

/* =========================================================
   CHECKOUT - TEXTO BOTÓN GOOGLE
   ========================================================= */

/* Desktop */
body#checkout a.btn-iqitsociallogin.btn-google,
body#checkout a.btn-iqitsociallogin.btn-google * {

    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    letter-spacing: -.2px !important;
}

/* Mobile */
@media (max-width: 768px) {

    body#checkout a.btn-iqitsociallogin.btn-google,
    body#checkout a.btn-iqitsociallogin.btn-google * {

        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;

        letter-spacing: -.2px !important;
    }
}

/* =========================================================
   CHECKOUT - CONTINUAR SIN CREAR CUENTA
   ========================================================= */

body#checkout #customer-form::before {

    content: "Continuar sin crear cuenta:";

    display: block;

    font-size: 18px;
    font-weight: 800;

    color: #111111;

    margin: 26px 0 18px 0;

    padding-top: 18px;

    border-top: 1px solid #ececec;

    letter-spacing: -.2px;
}

/* Mobile */
@media (max-width: 768px) {

    body#checkout #customer-form::before {

        font-size: 18px;

        margin: 22px 0 16px 0;

        padding-top: 16px;
    }
}

/* =========================================================
   CHECKOUT - OJO CONTRASEÑA DENTRO DEL INPUT
   ========================================================= */

body#checkout .input-group.js-parent-focus {
    position: relative !important;
    display: block !important;
}

body#checkout .input-group.js-parent-focus input[type="password"],
body#checkout .input-group.js-parent-focus input.js-visible-password {
    width: 100% !important;
    padding-right: 52px !important;
}

/* Botón ojo */
body#checkout .input-group.js-parent-focus .input-group-append {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    height: 38px !important;
    width: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    z-index: 5 !important;

    margin: 0 !important;
}

/* Icono / botón interior */
body#checkout .input-group.js-parent-focus .input-group-append button,
body#checkout .input-group.js-parent-focus .input-group-append .btn {
    width: 38px !important;
    height: 38px !important;

    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;

    color: #777777 !important;
}

/* Evitar que se baje debajo */
body#checkout .input-group.js-parent-focus .input-group-append,
body#checkout .input-group.js-parent-focus .input-group-text {
    flex: none !important;
}

/* =========================================================
   CHECKOUT - OCULTAR CAMPOS EXTRA
   Mantener crear cuenta opcional
   ========================================================= */

body#checkout #field-birthday,
body#checkout .form-group:has(#field-birthday),
body#checkout .form-group:has(input[name="birthday"]),
body#checkout .form-group:has(input[name="optin"]),
body#checkout .form-group:has(input[name="newsletter"]),
body#checkout .form-group:has(input[name="customer_privacy"]) {
    display: none !important;
}

/* =========================================================
   CHECKOUT - OCULTAR CAMPOS DIRECCIÓN
   ========================================================= */

/* Empresa */
body#checkout #field-company,
body#checkout .form-group:has(#field-company),
body#checkout .form-group:has(input[name="company"]) {
    display: none !important;
}

/* Número IVA */
body#checkout #field-vat_number,
body#checkout .form-group:has(#field-vat_number),
body#checkout .form-group:has(input[name="vat_number"]) {
    display: none !important;
}

/* Dirección complementaria */
body#checkout #field-address2,
body#checkout .form-group:has(#field-address2),
body#checkout .form-group:has(input[name="address2"]) {
    display: none !important;
}

/* Teléfono fijo */
body#checkout #field-phone,
body#checkout .form-group:has(#field-phone),
body#checkout .form-group:has(input[name="phone"]) {
    display: none !important;
}

/* =========================================================
   CHECKOUT - ESTADO -> PROVINCIA
   ========================================================= */

body#checkout label[for="field-id_state"] {

    position: relative !important;

    color: transparent !important;

    font-size: 0 !important;
}

/* Texto */
body#checkout label[for="field-id_state"]::before {

    content: "Provincia";

    color: #111111 !important;

    font-size: 14px !important;

    font-weight: 800 !important;

    line-height: 1.3 !important;
}

/* Asterisco */
body#checkout label[for="field-id_state"]::after {

    content: " *";

    color: #f39200 !important;

    font-size: 14px !important;

    font-weight: 900 !important;
}

body#checkout label[for="field-phone_mobile"]::after {
    content: " *";
    color: #f39200 !important;
    font-weight: 900 !important;
}

/* =========================================================
   CHECKOUT - OCULTAR TEXTO OPCIONAL
   ========================================================= */

body#checkout .form-control-comment {
    display: none !important;
}

/* =========================================================
   CHECKOUT - CUPÓN SIMPLE
   ========================================================= */

body#checkout .cart-voucher .input-group,
body#checkout .block-promo .input-group {
    position: relative !important;
    display: block !important;
}

/* Input */
body#checkout .cart-voucher input,
body#checkout .block-promo input {

    width: 100% !important;

    height: 50px !important;

    padding: 0 90px 0 16px !important;

    border-radius: 12px !important;
    border: 1px solid #dddddd !important;

    font-size: 14px !important;
    font-weight: 600 !important;
}

/* Focus */
body#checkout .cart-voucher input:focus,
body#checkout .block-promo input:focus {

    border-color: #f39200 !important;

    box-shadow:
        0 0 0 4px rgba(243,146,0,.10) !important;
}

/* Botón dentro */
body#checkout .cart-voucher .btn,
body#checkout .block-promo .btn,
body#checkout .cart-voucher button,
body#checkout .block-promo button {

    position: absolute !important;

    right: 6px !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    height: 38px !important;

    padding: 0 14px !important;

    border-radius: 9px !important;
    border: 0 !important;

    background: #111111 !important;
    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 800 !important;
}

/* Hover */
body#checkout .cart-voucher .btn:hover,
body#checkout .block-promo .btn:hover,
body#checkout .cart-voucher button:hover,
body#checkout .block-promo button:hover {

    background: #f39200 !important;
    color: #111111 !important;
}

/* =========================================================
   CHECKOUT - PRODUCTOS RESUMEN MÁS VISIBLES
   ========================================================= */

/* Producto */
body#checkout li.media.cart-summary-product {
    padding: 14px !important;

    border-radius: 14px !important;

    background: #ffffff !important;

    border: 1px solid #eeeeee !important;

    margin-bottom: 12px !important;

    align-items: center !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

/* Hover */
body#checkout li.media.cart-summary-product:hover {
    transform: translateY(-1px) !important;

    box-shadow:
        0 8px 22px rgba(0,0,0,.08) !important;
}

/* Imagen */
body#checkout li.media.cart-summary-product img {
    width: 72px !important;
    height: 72px !important;

    object-fit: contain !important;

    border-radius: 10px !important;

    background: #ffffff !important;
}

/* Espaciado */
body#checkout li.media.cart-summary-product .media-left {
    margin-right: 14px !important;
}

/* Nombre producto */
body#checkout li.media.cart-summary-product .product-name {

    font-size: 14px !important;
    font-weight: 800 !important;

    line-height: 1.35 !important;

    color: #111111 !important;

    display: block !important;
}

/* Precio */
body#checkout li.media.cart-summary-product .pull-right {

    margin-top: 8px !important;

    font-size: 15px !important;
    font-weight: 900 !important;

    color: #f39200 !important;
}

/* Cantidad */
body#checkout li.media.cart-summary-product .product-quantity {
    color: #666666 !important;
    font-weight: 700 !important;
}

/* Mobile */
@media (max-width: 768px) {

    body#checkout li.media.cart-summary-product {
        padding: 12px !important;
    }

    body#checkout li.media.cart-summary-product img {
        width: 64px !important;
        height: 64px !important;
    }

    body#checkout li.media.cart-summary-product .product-name {
        font-size: 13px !important;
        line-height: 1.3 !important;
    }

    body#checkout li.media.cart-summary-product .pull-right {
        font-size: 14px !important;
    }
}

/* =========================================================
   CHECKOUT - PRODUCTOS RESUMEN MOBILE PREMIUM
   ========================================================= */

@media (max-width: 768px) {

    /* Tarjeta */
    body#checkout li.media.cart-summary-product {

        display: flex !important;
        align-items: center !important;

        padding: 10px !important;

        border-radius: 12px !important;

        background: #ffffff !important;

        border: 1px solid #eeeeee !important;

        margin-bottom: 10px !important;

        box-shadow:
            0 4px 14px rgba(0,0,0,.04) !important;
    }

    /* Imagen */
    body#checkout li.media.cart-summary-product img {

        width: 58px !important;
        height: 58px !important;

        min-width: 58px !important;

        object-fit: contain !important;

        border-radius: 8px !important;

        background: #ffffff !important;
    }

    /* Separación */
    body#checkout li.media.cart-summary-product .media-left {

        margin-right: 10px !important;
    }

    /* Contenido */
    body#checkout li.media.cart-summary-product .media-body {

        display: flex !important;

        flex-direction: column !important;

        justify-content: center !important;

        min-width: 0 !important;
    }

    /* Nombre */
    body#checkout li.media.cart-summary-product .product-name {

        font-size: 12px !important;

        font-weight: 800 !important;

        line-height: 1.3 !important;

        color: #111111 !important;

        margin-bottom: 4px !important;

        display: -webkit-box !important;

        -webkit-line-clamp: 2 !important;

        -webkit-box-orient: vertical !important;

        overflow: hidden !important;
    }

    /* Precio */
    body#checkout li.media.cart-summary-product .pull-right {

        margin-top: 2px !important;

        font-size: 14px !important;

        font-weight: 900 !important;

        color: #f39200 !important;

        line-height: 1.2 !important;
    }

    /* Cantidad */
    body#checkout li.media.cart-summary-product .product-quantity {

        color: #666666 !important;

        font-size: 12px !important;

        font-weight: 700 !important;
    }

    /* Hover suave */
    body#checkout li.media.cart-summary-product:hover {

        transform: none !important;

        box-shadow:
            0 6px 18px rgba(0,0,0,.06) !important;
    }
}

/* =========================================================
   MOBILE - MOSTRAR DETALLES
   ========================================================= */

@media (max-width: 768px) {

    body#checkout a.text-muted.pull-right.collapsed,
    body#checkout a.text-muted.pull-right {

        font-size: 16px !important;

        font-weight: 800 !important;

        color: #f39200 !important;

        line-height: 1.2 !important;

        letter-spacing: -.2px !important;
    }
}
/* =========================================================
   CHECKOUT - PRODUCTOS MISMO ANCHO
   ========================================================= */

@media (max-width: 768px) {

    body#checkout li.media.cart-summary-product {

        width: 100% !important;

        min-width: 100% !important;

        max-width: 100% !important;

        box-sizing: border-box !important;
    }

    /* Contenido interior */
    body#checkout li.media.cart-summary-product .media-body {

        width: 100% !important;

        min-width: 0 !important;
    }

    /* Nombre */
    body#checkout li.media.cart-summary-product .product-name {

        width: 100% !important;

        display: -webkit-box !important;

        -webkit-line-clamp: 2 !important;

        -webkit-box-orient: vertical !important;

        overflow: hidden !important;
    }
}

/* =========================================================
   MOBILE - BOTÓN RESUMEN + MODAL PEDIDO
   ========================================================= */

@media (max-width: 768px) {

  body#checkout .ay-summary-modal-trigger {
    width: 100% !important;
    margin: 10px 0 16px 0 !important;
    padding: 12px 14px !important;

    border: 1px solid #e5e5e5 !important;
    border-radius: 12px !important;
    background: #ffffff !important;

    box-shadow: 0 4px 14px rgba(0,0,0,.06) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    color: #111111 !important;
  }

  body#checkout .ay-summary-modal-trigger strong {
    font-size: 17px !important;
    font-weight: 900 !important;
    color: #e66900 !important;
    white-space: nowrap !important;
  }

  body#checkout .ay-summary-modal-overlay {
    display: none !important;
  }

  body#checkout.ay-summary-modal-open .ay-summary-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;

    background: rgba(0,0,0,.45) !important;
    padding: 12px !important;
  }

  body#checkout .ay-summary-modal-header {
    display: none !important;
  }

  body#checkout.ay-summary-modal-open .ay-summary-modal-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #ffffff !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 14px 14px 10px 14px !important;

    border-bottom: 1px solid #eeeeee !important;
  }

  body#checkout .ay-summary-modal-header strong {
    font-size: 15px !important;
    font-weight: 900 !important;
    color: #111111 !important;
  }

  body#checkout .ay-summary-modal-close {
    border: 0 !important;
    background: #111111 !important;
    color: #ffffff !important;

    border-radius: 999px !important;
    padding: 7px 12px !important;

    font-size: 12px !important;
    font-weight: 800 !important;
  }

  body#checkout #js-checkout-summary,
  body#checkout .cart-summary {
    display: none !important;
  }

  body#checkout.ay-summary-modal-open #js-checkout-summary,
  body#checkout.ay-summary-modal-open .cart-summary {
    display: block !important;

    width: 100% !important;
    max-height: 75vh !important;
    overflow-y: auto !important;

    background: #ffffff !important;
    border-radius: 0 0 16px 16px !important;
    padding: 12px !important;

    box-shadow: 0 -8px 30px rgba(0,0,0,.18) !important;
  }

  body#checkout.ay-summary-modal-open {
    overflow: hidden !important;
  }
}

/* =========================================================
   CHECKBOX TÉRMINOS - ÁREA CLICABLE MÁS GRANDE
   ========================================================= */

body#checkout .js-conditions-to-approve .custom-checkbox {
    padding: 10px !important;
    border-radius: 12px !important;
    cursor: pointer !important;

    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;

    transition: background .2s ease !important;
}

body#checkout .js-conditions-to-approve .custom-checkbox:hover {
    background: rgba(243,146,0,.06) !important;
}

/* Hace clicable toda la línea */
body#checkout .js-conditions-to-approve label {
    cursor: pointer !important;
    flex: 1 !important;
}

/* Móvil */
@media (max-width: 768px) {

    body#checkout .js-conditions-to-approve .custom-checkbox {
        padding: 12px !important;
        gap: 12px !important;
    }
}

/* =========================================================
   CHECKOUT - BOTÓN CONTINUAR COMPRANDO PRO
   ========================================================= */

body#checkout #checkout-header a.text-muted,
body#checkout .checkout-header a.text-muted,
body#checkout a.text-muted.mt-2.mb-2.d-inline-block {
    
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 10px 16px !important;

    background: #111111 !important;
    color: #ffffff !important;

    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease !important;

    box-shadow: 0 4px 14px rgba(0,0,0,.12) !important;
}

/* Hover */
body#checkout #checkout-header a.text-muted:hover,
body#checkout .checkout-header a.text-muted:hover,
body#checkout a.text-muted.mt-2.mb-2.d-inline-block:hover {

    background: #e66900 !important;

    color: #ffffff !important;

    transform: translateY(-1px) !important;
}

/* Móvil */
@media (max-width: 768px) {

    body#checkout #checkout-header a.text-muted,
    body#checkout .checkout-header a.text-muted,
    body#checkout a.text-muted.mt-2.mb-2.d-inline-block {

        width: auto !important;

        min-height: 42px !important;

        padding: 12px 18px !important;

        font-size: 14px !important;

        margin: 10px 0 4px 0 !important;
    }
}