/* PS Booking — La bolsa y el pago con el estilo de la agenda (beta55, PSB_Shop_Look).
   Pedido del 8 oct: «tampoco me gusta la página de compra ni cómo se ve la tarjeta del Club PS en la página del carrito».
   Viste las páginas del tema Cherie (plantillas del tema, sin cambiarlas): fondo crema, tarjetas #fffdfa con esquinas
   suaves y líneas finas, títulos en la letra de los títulos, campos iguales con margen, botones redondos negros.
   Lo del tema va bajo body.psb-shop (se apaga en PS Booking → Mi cuenta → Ingreso); los recuadros del Club PS
   (.psb-shopclub) van siempre. Colores y letras: --psb-a-* de PS Booking → Catálogo (PSB_Login::vars_css).
   El tema usa selectores muy largos: por eso tanto !important. Algunas reglas del sitio llevan un id dentro de :is()
   (botones en letra normal, campos de la gift card); para ganarles se agrega :not(#psb-0), que no excluye nada. */

/* ── Recuadros del Club PS (bolsa y pago) ─────────────────────────────── */
.psb-shopclub {
    position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 14px; box-sizing: border-box; margin: 0 0 18px; padding: 18px;
    border-radius: 22px; background: linear-gradient(120deg, #fbf7f2 0%, #efe4d8 48%, #f8f1e9 100%);
    box-shadow: 0 18px 38px -24px rgba(143, 127, 114, .65), inset 0 0 0 1px rgba(191, 174, 158, .85);
    font-family: var(--psb-a-text, inherit); color: var(--psb-a-ink, #141210);
}
.psb-shopclub *, .psb-shopclub *::before, .psb-shopclub *::after { box-sizing: border-box; }
.psb-shopclub::after {
    content: ""; position: absolute; top: -40%; left: 0; width: 26%; height: 180%; pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .75), rgba(255, 255, 255, 0));
    animation: psbShopShine 6s ease-in-out infinite;
}
@keyframes psbShopShine { 0% { transform: translateX(-160%) rotate(18deg); } 55%, 100% { transform: translateX(380%) rotate(18deg); } }
@media (prefers-reduced-motion: reduce) { .psb-shopclub::after { display: none; } }
.psb-shopclub > * { position: relative; z-index: 1; }
.psb-shopclub__head { display: flex; align-items: center; gap: 14px; }
.psb-shopclub__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.psb-shopclub p { margin: 0 !important; padding: 0; }
.psb-shopclub .psb-shopclub__title:not(#psb-0) { font-family: var(--psb-a-title, Georgia, serif) !important; font-size: 24px; font-weight: 400 !important; line-height: 1.15; letter-spacing: 0; text-transform: none; color: var(--psb-a-ink, #141210); }
.psb-shopclub .psb-shopclub__sub { font-size: 14px; line-height: 1.5; color: #4a4038; }
.psb-shopclub__sub strong { font-weight: 700; color: var(--psb-a-ink, #141210); }
.psb-shopclub__sub .amount { font-weight: 600; }

/* La tarjeta chica: greige como la Lover; negra espejo con letras de metal si es Member */
.psb-shopclub__card {
    flex: none; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; width: 86px; height: 54px; padding: 7px 9px;
    border-radius: 8px; background: linear-gradient(135deg, #ebe3db 0%, #d3c7bb 42%, #bfae9e 100%); color: #000;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45), 0 12px 22px -12px rgba(60, 45, 30, .6);
}
.psb-shopclub__card::after { content: ""; position: absolute; inset: 3px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 6px; }
.psb-shopclub__card-k { font-size: 7px; font-weight: 700; letter-spacing: .2em; line-height: 1; }
.psb-shopclub__card-n { align-self: flex-end; font-family: var(--psb-a-title, Georgia, serif); font-size: 21px; line-height: 1; }
.psb-shopclub__card.is-member { justify-content: flex-end; background: radial-gradient(130% 110% at 0% 0%, #3d3731 0%, #17140f 40%, #050404 100%); box-shadow: inset 0 0 0 1px rgba(211, 199, 187, .4), 0 12px 22px -12px rgba(0, 0, 0, .7); }
.psb-shopclub__card.is-member::after { border-color: rgba(211, 199, 187, .3); }
.psb-shopclub__card.is-member .psb-shopclub__card-k,
.psb-shopclub__card.is-member .psb-shopclub__card-n {
    background: linear-gradient(100deg, #a39285 0%, #f6efe7 30%, #d3c7bb 48%, #8f7f72 66%, #efe6dc 84%, #a39285 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
.psb-shopclub__card.is-member .psb-shopclub__card-n { position: absolute; top: 8px; right: 9px; }

/* Botón negro redondo; «Quitar» como enlace */
.psb-shopclub a.psb-shopclub__btn, .psb-shopclub button.psb-shopclub__btn {
    display: inline-flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 52px; margin: 0 !important; padding: 0 22px !important;
    border: 0 !important; border-radius: 999px !important; background: var(--psb-a-ink, #141210) !important; color: var(--psb-a-crema, #f9f4f0) !important;
    font-family: var(--psb-a-text, inherit) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: 0 !important;
    text-transform: none !important; text-decoration: none !important; box-shadow: none !important; cursor: pointer; transition: background-color .15s, color .15s;
}
.psb-shopclub a.psb-shopclub__btn:hover, .psb-shopclub button.psb-shopclub__btn:hover { background: #fffdfa !important; color: var(--psb-a-ink, #141210) !important; box-shadow: inset 0 0 0 1px var(--psb-a-ink, #141210) !important; }
.psb-shopclub button.psb-shopclub__btn[disabled] { opacity: .6; cursor: progress; }
.psb-shopclub button.psb-shopclub__link {
    min-height: 40px; margin: 0; padding: 0 4px; border: 0; background: none !important; color: var(--psb-a-ink, #141210) !important; box-shadow: none !important;
    font-family: var(--psb-a-text, inherit); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}

/* Canje de puntos en el pago */
.psb-shopclub__row { display: flex; gap: 10px; }
.psb-shopclub .psb-shopclub__row .psb-shopclub__btn { flex: 1 1 auto; width: auto !important; }
.psb-shopclub input.psb-shopclub__input {
    flex: 0 0 120px; width: 120px !important; min-height: 52px; margin: 0; padding: 0 14px !important; border: 1px solid #d9cfc5 !important; border-radius: 14px !important;
    background: #fff !important; color: var(--psb-a-ink, #141210) !important; font-family: var(--psb-a-text, inherit); font-size: 17px !important; font-weight: 600; text-align: center; box-shadow: none !important;
    -moz-appearance: textfield;
}
.psb-shopclub input.psb-shopclub__input::-webkit-outer-spin-button, .psb-shopclub input.psb-shopclub__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.psb-shopclub input.psb-shopclub__input:focus { border-color: var(--psb-a-ink, #141210) !important; outline: none; box-shadow: 0 0 0 3px rgba(211, 199, 187, .5) !important; }
.psb-shopclub .psb-shopclub__hint { margin-top: 8px !important; font-size: 13px; line-height: 1.5; color: #4a4038; }
.psb-shopclub .psb-shopclub__note { margin-top: 10px !important; padding: 10px 12px; border-radius: 12px; background: #fffdfa; font-size: 13px; line-height: 1.55; color: #3d3833; }
.psb-shopclub__applied { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 6px 8px 6px 16px; border-radius: 14px; background: #fffdfa; box-shadow: inset 0 0 0 1px var(--psb-a-ink, #141210); font-size: 15px; }
.psb-shopclub__applied strong { font-weight: 700; }
@media (min-width: 640px) {
    .psb-shopclub .psb-shopclub__row .psb-shopclub__btn { flex: 0 0 auto; min-width: 200px; }
    .psb-shopclub--join, .psb-shopclub--member { flex-direction: row; align-items: center; gap: 18px; }
    .psb-shopclub--join .psb-shopclub__head, .psb-shopclub--member .psb-shopclub__head { flex: 1; }
    .psb-shopclub--join a.psb-shopclub__btn, .psb-shopclub--member a.psb-shopclub__btn { width: auto !important; flex: none; }
}

/* ── Página (bolsa y pago): fondo crema y título ──────────────────────── */
body.psb-shop { background: var(--psb-a-bg, #f9f4f0) !important; }
body.psb-shop .art-main-container, body.psb-shop .art-content-wrapper, body.psb-shop .art-page-content { background: transparent !important; }
body.psb-shop .art-page-content { padding-left: 16px !important; padding-right: 16px !important; }
@media (max-width: 991px) { body.psb-shop .art-content-wrapper { padding-top: 112px !important; } }
body.psb-shop h1.art-page-title {
    margin: 8px 0 22px !important; font-family: var(--psb-a-title) !important; font-size: 44px !important; font-weight: 400 !important; line-height: 1.05 !important;
    letter-spacing: 0 !important; text-transform: none !important; text-align: center; color: var(--psb-a-ink) !important;
}
body.psb-shop .woocommerce { font-family: var(--psb-a-text); color: var(--psb-a-ink); }

/* Avisos de WooCommerce (agregado a la bolsa, ¿ya eres cliente?, cupón, gift card): filas claras y finas */
body.psb-shop .woocommerce-message,
body.psb-shop .woocommerce-info,
body.psb-shop .woocommerce-error {
    display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 12px !important; padding: 14px 16px 14px 48px !important;
    border: 1px solid var(--psb-a-line, #e6dacb) !important; border-radius: 18px !important; background: #fffdfa !important; box-shadow: none !important;
    font-family: var(--psb-a-text) !important; font-size: 15px !important; line-height: 1.45 !important; letter-spacing: 0 !important; color: var(--psb-a-body) !important;
}
body.psb-shop .woocommerce-message::before,
body.psb-shop .woocommerce-info::before,
body.psb-shop .woocommerce-error::before { left: 16px !important; top: 50% !important; transform: translateY(-50%); color: var(--psb-a-ink) !important; font-size: 18px !important; }
body.psb-shop .woocommerce-error { flex-direction: column; align-items: flex-start !important; border-color: #d9a69a !important; background: #fdf5f2 !important; }
body.psb-shop .woocommerce-error::before { top: 24px !important; transform: none; }
body.psb-shop .woocommerce-message a, body.psb-shop .woocommerce-info a, body.psb-shop .woocommerce-error a {
    width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
    color: var(--psb-a-ink) !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important;
    text-decoration: underline !important; text-underline-offset: 3px; box-shadow: none !important;
}
body.psb-shop .woocommerce-message a.button { order: 2; margin-left: auto !important; }

/* Campos: todos iguales (texto, correo, teléfono, listas y los de select2), con margen y esquinas suaves */
body.psb-shop .woocommerce form .input-text,
body.psb-shop .woocommerce form input[type="text"],
body.psb-shop .woocommerce form input[type="email"],
body.psb-shop .woocommerce form input[type="tel"],
body.psb-shop .woocommerce form input[type="number"],
body.psb-shop .woocommerce form input[type="password"],
body.psb-shop .woocommerce form select:not(.select2-hidden-accessible),
body.psb-shop .woocommerce form textarea,
body.psb-shop .art-input-text-coupon,
body.psb-shop .ps-gc-carrito-input,
body.psb-shop .select2-container--default .select2-selection--single {
    box-sizing: border-box !important; width: 100% !important; min-height: 54px !important; height: auto !important; margin: 0 !important; padding: 0 16px !important;
    border: 1px solid #d9cfc5 !important; border-radius: 14px !important; background-color: #fff !important; box-shadow: none !important;
    font-family: var(--psb-a-text) !important; font-size: 16px !important; font-weight: 400 !important; line-height: 52px !important; letter-spacing: 0 !important;
    text-transform: none !important; color: var(--psb-a-ink) !important;
}
body.psb-shop .woocommerce form textarea { min-height: 110px !important; padding: 14px 16px !important; line-height: 1.5 !important; }
body.psb-shop .woocommerce form select:not(.select2-hidden-accessible) {
    -webkit-appearance: none; appearance: none; padding-right: 44px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23141210' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: right 16px center !important; background-size: 16px !important;
}
body.psb-shop .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 28px 0 0 !important; line-height: 52px !important; color: var(--psb-a-ink) !important; }
body.psb-shop .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0 !important; right: 12px !important; height: 52px !important; }
body.psb-shop .woocommerce form .input-text:focus,
body.psb-shop .woocommerce form input:focus,
body.psb-shop .woocommerce form select:focus,
body.psb-shop .woocommerce form textarea:focus,
body.psb-shop .select2-container--open .select2-selection--single { border-color: var(--psb-a-ink) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(211, 199, 187, .5) !important; }
body.psb-shop .woocommerce form ::placeholder { color: #8a8076 !important; opacity: 1; }
body.psb-shop .select2-dropdown { border-color: #d9cfc5 !important; border-radius: 14px !important; overflow: hidden; }

/* Casillas y opciones de la bolsa y el pago: el tema las dibuja (una X negra para «sí», un círculo lleno); aquí, con visto y
   punto. Solo dentro de .woocommerce: las del encabezado, el aviso de cookies o un popup quedan como estaban. */
body.psb-shop .woocommerce input[type="radio"], body.psb-shop .woocommerce input[type="checkbox"] { position: relative !important; flex: none; width: 20px !important; height: 20px !important; opacity: 1 !important; }
body.psb-shop .woocommerce input[type="radio"]::before, body.psb-shop .woocommerce input[type="checkbox"]::before {
    box-sizing: border-box; width: 20px !important; height: 20px !important; border: 1.5px solid #8a8076 !important; background: #fff !important;
}
body.psb-shop .woocommerce input[type="checkbox"]::before { border-radius: 6px; }
body.psb-shop .woocommerce input[type="radio"]:checked::before, body.psb-shop .woocommerce input[type="checkbox"]:checked::before { border-color: var(--psb-a-ink) !important; }
body.psb-shop .woocommerce input[type="radio"]:checked::after {
    content: "" !important; position: absolute !important; top: 5px !important; left: 5px !important; width: 10px !important; height: 10px !important;
    border-radius: 50%; background: var(--psb-a-ink) !important; transform: none !important;
}
body.psb-shop .woocommerce input[type="checkbox"]:checked::before {
    background: var(--psb-a-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat !important;
}

/* Botones de la página: negros y redondos (los de PS Booking → Mi cuenta → Ingreso ya lo son); los secundarios, claros */
body.psb-shop .woocommerce a.art-checkout,
body.psb-shop .woocommerce .wc-proceed-to-checkout a.checkout-button,
body.psb-shop .woocommerce #place_order {
    /* Sin display: PayPal y otras pasarelas esconden «Realizar el pedido» con style="display:none" y debe seguir escondido */
    width: 100% !important; text-align: center; min-height: 58px !important; margin: 0 !important; padding: 0 24px !important;
    border: 0 !important; border-radius: 999px !important; background: var(--psb-a-ink) !important; color: var(--psb-a-crema) !important; box-shadow: none !important;
    font-family: var(--psb-a-text) !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: 0 !important;
    text-transform: none !important; text-decoration: none !important; transition: background-color .15s, color .15s;
}
/* «PAGAR PEDIDO» viene escrito en mayúsculas en el tema: en minúscula con la primera letra grande */
body.psb-shop .woocommerce a.art-checkout:not(#psb-0) { display: block !important; line-height: 58px !important; text-align: center; text-transform: lowercase !important; font-weight: 600 !important; }
body.psb-shop .woocommerce a.art-checkout::first-letter { text-transform: uppercase; }
body.psb-shop .woocommerce a.art-checkout:hover,
body.psb-shop .woocommerce #place_order:hover { background: var(--psb-a-greige) !important; color: var(--psb-a-ink) !important; }
body.psb-shop .woocommerce .art-apply-coupon,
body.psb-shop .woocommerce .ps-gc-carrito-boton,
body.psb-shop .woocommerce .art-update-cart,
body.psb-shop .woocommerce .art-update-shipping .button,
body.psb-shop .woocommerce .checkout_coupon .button,
body.psb-shop .woocommerce .ps-gc-checkout-fila .button {
    min-height: 54px !important; padding: 0 20px !important; border: 1px solid var(--psb-a-ink) !important; border-radius: 999px !important;
    background: #fffdfa !important; color: var(--psb-a-ink) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important;
    text-transform: none !important; box-shadow: none !important;
}
body.psb-shop .woocommerce .art-apply-coupon:hover,
body.psb-shop .woocommerce .ps-gc-carrito-boton:hover,
body.psb-shop .woocommerce .art-update-cart:hover:not([disabled]),
body.psb-shop .woocommerce .art-update-shipping .button:hover,
body.psb-shop .woocommerce .checkout_coupon .button:hover,
body.psb-shop .woocommerce .ps-gc-checkout-fila .button:hover { background: var(--psb-a-greige) !important; color: var(--psb-a-ink) !important; }
body.psb-shop .woocommerce .art-update-cart[disabled] { opacity: .45 !important; }

/* Los «clearfix» de WooCommerce y del tema (::before y ::after con un espacio) se vuelven una celda más en las filas y
   grillas de abajo y corren todo unos píxeles: fuera */
body.psb-shop table.cart td.actions::before, body.psb-shop table.cart td.actions::after,
body.psb-shop table.cart td.actions .coupon::before, body.psb-shop table.cart td.actions .coupon::after,
body.psb-shop .ps-gc-carrito-wrap::before, body.psb-shop .ps-gc-carrito-wrap::after,
body.psb-shop .woocommerce-billing-fields__field-wrapper::before, body.psb-shop .woocommerce-billing-fields__field-wrapper::after,
body.psb-shop .woocommerce-shipping-fields__field-wrapper::before, body.psb-shop .woocommerce-shipping-fields__field-wrapper::after,
body.psb-shop .woocommerce-additional-fields__field-wrapper::before, body.psb-shop .woocommerce-additional-fields__field-wrapper::after,
body.psb-shop ul#shipping_method::before, body.psb-shop ul#shipping_method::after,
body.psb-shop #payment ul.payment_methods::before, body.psb-shop #payment ul.payment_methods::after,
body.psb-shop .wc-proceed-to-checkout::before, body.psb-shop .wc-proceed-to-checkout::after,
body.psb-shop form.checkout_coupon::before, body.psb-shop form.checkout_coupon::after,
body.psb-shop .woocommerce-checkout .woocommerce-account-fields::before, body.psb-shop .woocommerce-checkout .woocommerce-account-fields::after { display: none !important; content: none !important; }

/* ── La bolsa ─────────────────────────────────────────────────────────── */
/* Cada producto, una tarjeta: foto, nombre, precio, cantidad y total (la tabla del tema pasa a tarjetas) */
body.psb-shop table.cart, body.psb-shop table.cart tbody { display: block !important; width: 100% !important; margin: 0 !important; border: 0 !important; background: none !important; }
body.psb-shop table.cart thead { display: none !important; }
body.psb-shop table.cart tr.cart_item {
    position: relative; display: grid !important; grid-template-columns: 88px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img price price" "img qty total";
    align-items: center; gap: 6px 14px; margin: 0 0 12px !important; padding: 14px 16px 14px 14px !important; border: 1px solid var(--psb-a-line, #e6dacb) !important;
    border-radius: 22px !important; background: #fffdfa !important; box-shadow: 0 18px 38px -32px rgba(60, 45, 30, .5);
}
body.psb-shop table.cart tr.cart_item td {
    display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important;
}
body.psb-shop table.cart tr.cart_item td::before { display: none !important; content: none !important; }
body.psb-shop table.cart td.product-thumbnail { grid-area: img; align-self: start; }
body.psb-shop table.cart td.product-thumbnail img { display: block; width: 88px !important; height: 110px !important; max-width: none !important; object-fit: cover; border-radius: 14px; }
body.psb-shop table.cart td.product-name { grid-area: name; padding-right: 34px !important; }
body.psb-shop table.cart td.product-name a { font-family: var(--psb-a-title) !important; font-size: 21px !important; font-weight: 400 !important; line-height: 1.15 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-ink) !important; text-decoration: none !important; }
body.psb-shop table.cart td.product-name dl.variation, body.psb-shop table.cart td.product-name .wc-item-meta { margin: 6px 0 0 !important; font-size: 13px; color: var(--psb-a-mute); }
body.psb-shop table.cart td.product-price { grid-area: price; font-size: 14px !important; color: var(--psb-a-mute) !important; }
body.psb-shop table.cart td.product-quantity { grid-area: qty; }
body.psb-shop table.cart td.product-subtotal { grid-area: total; justify-self: end; font-size: 17px !important; font-weight: 600 !important; color: var(--psb-a-ink) !important; }
body.psb-shop table.cart td.product-remove { position: absolute !important; top: 10px; right: 10px; }
body.psb-shop table.cart td.product-remove a.remove {
    display: flex !important; align-items: center; justify-content: center; width: 34px !important; height: 34px !important; border-radius: 50% !important;
    background: var(--psb-a-crema) !important; color: var(--psb-a-ink) !important; font-size: 12px !important; line-height: 1 !important; text-decoration: none !important;
}
body.psb-shop table.cart td.product-remove a.remove:hover { background: var(--psb-a-greige) !important; }
/* Cantidad: [ − 1 + ] en una pastilla */
body.psb-shop table.cart .quantity { display: inline-flex !important; align-items: center; height: 40px; margin: 0 !important; padding: 0 4px; border: 1px solid #d9cfc5; border-radius: 999px; background: #fff; }
body.psb-shop table.cart .quantity input.qty {
    width: 40px !important; min-height: 0 !important; height: 38px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
    font-size: 15px !important; font-weight: 600; line-height: 38px !important; text-align: center; box-shadow: none !important; -moz-appearance: textfield;
}
body.psb-shop table.cart .quantity input.qty::-webkit-outer-spin-button, body.psb-shop table.cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.psb-shop table.cart .quantity input.minus:not(#psb-0), body.psb-shop table.cart .quantity input.plus:not(#psb-0) {
    position: static !important; font-family: "cherie-font" !important; font-size: 15px !important; line-height: 1 !important; text-align: center; width: 34px !important; height: 32px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background-color: transparent !important; box-shadow: none !important;
}
body.psb-shop table.cart .quantity input.minus:hover, body.psb-shop table.cart .quantity input.plus:hover { background-color: var(--psb-a-crema) !important; }

/* Cupón, gift card y «Actualizar bolsa»: una tarjeta, cada campo con su botón al lado */
body.psb-shop table.cart tr:not(.cart_item) { display: block !important; }
body.psb-shop table.cart td.actions {
    display: flex !important; flex-direction: column; gap: 12px; padding: 18px !important; border: 1px solid var(--psb-a-line, #e6dacb) !important; border-radius: 22px !important;
    background: #fffdfa !important; text-align: left !important;
}
/* Con el plugin de gift cards, su grilla (cupón a la izquierda y gift card a la derecha; una debajo de la otra en el
   teléfono) se mantiene: aquí solo cambian los campos y los botones. Sin el plugin, campo y botón en una fila. */
body.psb-shop table.cart td.actions .coupon { float: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.psb-shop table.cart td.actions .coupon:not(:has(.ps-gc-carrito-wrap)) { display: flex !important; flex-wrap: wrap; gap: 10px; width: 100% !important; }
body.psb-shop .woocommerce-cart-form table.cart td.actions input.input-text:not(#psb-0),
body.psb-shop .woocommerce-cart-form table.cart td.actions input.art-input-text-coupon:not(#psb-0) { height: auto !important; border: 1px solid #d9cfc5 !important; border-radius: 14px !important; background-color: #fff !important; }
body.psb-shop table.cart td.actions .coupon > label { display: none !important; } /* el «%» del tema; el campo ya dice qué va */
body.psb-shop table.cart td.actions .coupon:not(:has(.ps-gc-carrito-wrap)) .art-input-text-coupon { flex: 1 1 180px; width: auto !important; }
body.psb-shop table.cart td.actions .coupon:not(:has(.ps-gc-carrito-wrap)) .art-apply-coupon { flex: 1 0 auto; width: auto !important; }
body.psb-shop table.cart td.actions .ps-gc-carrito-nota { flex-basis: 100%; margin: 0 !important; font-size: 13px !important; color: var(--psb-a-mute) !important; }
body.psb-shop table.cart td.actions .art-update-cart { width: 100% !important; float: none !important; margin: 0 !important; }

/* El total: una tarjeta */
body.psb-shop .art-cart-page-right .cart-collaterals { width: 100% !important; margin: 0 !important; padding: 0 !important; background: none !important; }
/* «Calcular envío»: el tema deja el país y la región siempre abiertos; se abren al tocarlo (PSB_Shop_Look::cart_script) */
body.psb-shop .cart_totals form.woocommerce-shipping-calculator { margin: 0 !important; }
body.psb-shop .art-cart-page-wrapper .art-cart-page-right .cart-collaterals .cart_totals .art-shipping-wrapper form.woocommerce-shipping-calculator section.art-shipping-calculator-form { display: none !important; margin: 4px 0 8px !important; }
body.psb-shop .art-cart-page-wrapper .art-cart-page-right .cart-collaterals .cart_totals .art-shipping-wrapper form.woocommerce-shipping-calculator.is-open section.art-shipping-calculator-form { display: block !important; }
body.psb-shop .cart_totals section.art-shipping-calculator-form .select2-container, body.psb-shop .cart_totals section.art-shipping-calculator-form .input-text { margin: 0 !important; }
body.psb-shop .cart_totals section.art-shipping-calculator-form p.art-update-shipping { margin: 0 !important; text-align: left !important; }
body.psb-shop .cart_totals section.art-shipping-calculator-form p.art-update-shipping .button { width: 100% !important; }
body.psb-shop .art-cart-page-right .cart_totals {
    width: 100% !important; margin: 0 !important; padding: 22px !important; border: 1px solid var(--psb-a-line, #e6dacb) !important; border-radius: 24px !important;
    background: #fffdfa !important; box-shadow: 0 22px 44px -34px rgba(60, 45, 30, .5);
}
body.psb-shop .cart_totals > h6, body.psb-shop .cart_totals > h2 {
    margin: 0 0 14px !important; font-family: var(--psb-a-title) !important; font-size: 28px !important; font-weight: 400 !important; line-height: 1.1 !important;
    letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-ink) !important;
}
body.psb-shop .cart_totals .art-shipping-calculator-button { display: inline-flex !important; min-height: 40px; margin: 0 !important; align-items: center; font-family: var(--psb-a-text) !important; font-size: 15px !important; font-weight: 600 !important; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; color: var(--psb-a-ink) !important; }
body.psb-shop .cart_totals section.art-shipping-calculator-form p.form-row { margin: 0 0 10px !important; }
body.psb-shop .cart_totals .woocommerce-shipping-destination { margin: 6px 0 10px !important; font-size: 14px !important; color: var(--psb-a-mute) !important; }

/* Formas de envío (bolsa y pago): opciones como tarjetas chicas */
body.psb-shop ul#shipping_method { display: flex !important; flex-direction: column; gap: 8px; margin: 0 0 14px !important; padding: 0 !important; list-style: none !important; }
body.psb-shop ul#shipping_method li {
    position: relative; display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 12px 14px !important; border: 1px solid #e3d8cc;
    border-radius: 14px; background: #fff; text-align: left !important;
}
body.psb-shop ul#shipping_method li:has(input:checked) { border-color: var(--psb-a-ink); box-shadow: inset 0 0 0 1px var(--psb-a-ink); }
body.psb-shop ul#shipping_method li input { margin: 0 !important; }
body.psb-shop ul#shipping_method li::before, body.psb-shop ul#shipping_method li::after, body.psb-shop #payment ul.payment_methods li::before, body.psb-shop #payment ul.payment_methods li::after { display: none !important; }
body.psb-shop ul#shipping_method li label {
    display: block !important; margin: 0 !important; padding: 0 !important; font-family: var(--psb-a-text) !important; font-size: 15px !important; line-height: 1.4 !important;
    letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-ink) !important; cursor: pointer;
}
body.psb-shop ul#shipping_method li label::before, body.psb-shop ul#shipping_method li label::after { display: none !important; }

/* Filas del total */
body.psb-shop .cart_totals table.shop_table, body.psb-shop .woocommerce-checkout-review-order-table { width: 100% !important; margin: 0 0 16px !important; border: 0 !important; border-collapse: collapse !important; background: none !important; }
body.psb-shop .cart_totals table.shop_table tr, body.psb-shop .cart_totals table.shop_table tbody { display: table-row; }
body.psb-shop .cart_totals table.shop_table tbody { display: table-row-group !important; }
body.psb-shop .cart_totals table.shop_table tr { display: table-row !important; }
body.psb-shop .cart_totals table.shop_table th, body.psb-shop .cart_totals table.shop_table td {
    display: table-cell !important; padding: 12px 0 !important; border: 0 !important; border-top: 1px solid #efe7de !important; background: none !important;
    font-family: var(--psb-a-text) !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-body) !important;
}
body.psb-shop .cart_totals table.shop_table td { text-align: right !important; }
body.psb-shop .cart_totals table.shop_table td::before { display: none !important; }
body.psb-shop .cart_totals table.shop_table tr.order-total th, body.psb-shop .cart_totals table.shop_table tr.order-total td { padding-top: 14px !important; font-size: 18px !important; font-weight: 600 !important; color: var(--psb-a-ink) !important; }
body.psb-shop .cart_totals table.shop_table tr.order-total td strong { font-weight: 700; }
body.psb-shop .cart_totals table.shop_table tr.order-total small, body.psb-shop .woocommerce-checkout-review-order-table tr.order-total small { display: block; font-size: 12px !important; font-weight: 400 !important; color: var(--psb-a-mute) !important; }
body.psb-shop .wc-proceed-to-checkout { display: flex !important; flex-direction: column; gap: 6px; margin: 0 !important; padding: 0 !important; }
body.psb-shop .wc-proceed-to-checkout .art-button-link-line {
    align-self: center; display: inline-flex !important; align-items: center; min-height: 44px; margin: 0 !important; padding: 0 !important; border: 0 !important;
    font-family: var(--psb-a-text) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important;
    color: var(--psb-a-ink) !important; text-decoration: underline !important; text-underline-offset: 3px;
}
body.psb-shop .wc-proceed-to-checkout .art-button-link-line::before, body.psb-shop .wc-proceed-to-checkout .art-button-link-line::after { display: none !important; }
@media (min-width: 992px) {
    body.psb-shop .art-cart-page-right .cart_totals { position: sticky; top: 110px; }
}

/* ── El pago ──────────────────────────────────────────────────────────── */
body.psb-shop .woocommerce-form-login-toggle, body.psb-shop .woocommerce-form-coupon-toggle, body.psb-shop .ps-gc-checkout-wrap { margin: 0 !important; }
body.psb-shop form.woocommerce-form-login, body.psb-shop form.checkout_coupon, body.psb-shop .ps-gc-checkout-form {
    margin: 0 0 14px !important; padding: 18px !important; border: 1px solid var(--psb-a-line, #e6dacb) !important; border-radius: 20px !important; background: #fffdfa !important;
}
body.psb-shop form.checkout_coupon .form-row, body.psb-shop .ps-gc-checkout-fila { display: flex; gap: 10px; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.psb-shop form.checkout_coupon .form-row-first { flex: 1; }
body.psb-shop form.checkout_coupon .form-row-last { flex: none; width: auto !important; }
body.psb-shop .ps-gc-checkout-fila .input-text { flex: 1; }
body.psb-shop .ps-gc-checkout-fila .button { flex: none; width: auto !important; }

body.psb-shop form.woocommerce-checkout { margin-top: 18px !important; }
body.psb-shop .art-woo-checkout-page { margin-left: 0 !important; margin-right: 0 !important; }
body.psb-shop .art-woo-checkout-page > [class*="col-"] { padding-left: 0 !important; padding-right: 0 !important; }
@media (min-width: 992px) {
    body.psb-shop .art-woo-checkout-page { flex-wrap: nowrap; gap: 28px; }
    body.psb-shop .art-woo-checkout-page > .art-checkout-left { flex: 1 1 auto; max-width: none; }
    body.psb-shop .art-woo-checkout-page > .art-checkout-right { flex: 0 0 400px; max-width: 400px; }
}

/* Cada sección del formulario, una tarjeta */
body.psb-shop .woocommerce-billing-fields,
body.psb-shop .woocommerce-shipping-fields,
body.psb-shop .woocommerce-additional-fields,
body.psb-shop .woocommerce-checkout .woocommerce-account-fields {
    box-sizing: border-box; margin: 0 0 14px !important; padding: 22px 18px !important; border: 1px solid var(--psb-a-line, #e6dacb) !important; border-radius: 24px !important;
    background: #fffdfa !important; box-shadow: 0 22px 44px -36px rgba(60, 45, 30, .45);
}
body.psb-shop #customer_details, body.psb-shop #customer_details > div, body.psb-shop .art-shipping-checkout-wrapper { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.psb-shop .woocommerce-billing-fields h3.art-billing-details-title,
body.psb-shop .woocommerce-shipping-fields h6.art-shipping-address-title,
body.psb-shop .art-checkout-right h3#order_review_heading {
    margin: 0 0 16px !important; padding: 0 !important; font-family: var(--psb-a-title) !important; font-size: 28px !important; font-weight: 400 !important; line-height: 1.1 !important;
    letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-ink) !important;
}
body.psb-shop .woocommerce-shipping-fields h6.art-shipping-address-title { margin-top: 18px !important; font-size: 24px !important; }
/* Los campos en una grilla: Nombres y Apellidos lado a lado; lo demás a lo ancho */
body.psb-shop .woocommerce-billing-fields__field-wrapper,
body.psb-shop .woocommerce-shipping-fields__field-wrapper,
body.psb-shop .woocommerce-additional-fields__field-wrapper { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
body.psb-shop .woocommerce-billing-fields__field-wrapper > *,
body.psb-shop .woocommerce-shipping-fields__field-wrapper > *,
body.psb-shop .woocommerce-additional-fields__field-wrapper > * { grid-column: 1 / -1; }
body.psb-shop .woocommerce-checkout .form-row { display: block; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.psb-shop .art-woo-checkout-page .art-checkout-left .woocommerce-billing-fields__field-wrapper,
body.psb-shop .art-woo-checkout-page .art-checkout-left .woocommerce-shipping-fields__field-wrapper { margin: 0 !important; }
body.psb-shop .art-woo-checkout-page .art-checkout-left .woocommerce-billing-fields__field-wrapper > p > span,
body.psb-shop .art-woo-checkout-page .art-checkout-left .woocommerce-shipping-fields__field-wrapper > p > span { padding: 0 !important; }
body.psb-shop .woocommerce-billing-fields__field-wrapper > .form-row-first, body.psb-shop .woocommerce-shipping-fields__field-wrapper > .form-row-first { grid-column: 1; }
body.psb-shop .woocommerce-billing-fields__field-wrapper > .form-row-last, body.psb-shop .woocommerce-shipping-fields__field-wrapper > .form-row-last { grid-column: 2; }
body.psb-shop .woocommerce-checkout .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
body.psb-shop .woocommerce-checkout .form-row label:not(.checkbox):not(.screen-reader-text) { margin: 0 0 6px !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-ink) !important; }
/* «Quiero enterarme…», «Crear mi cuenta»: casilla y texto alineados, sin el espacio enorme del tema */
body.psb-shop .woocommerce-checkout label.checkbox, body.psb-shop .woocommerce-checkout .woocommerce-form__label-for-checkbox {
    display: flex !important; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 0 !important; font-family: var(--psb-a-text) !important;
    font-size: 15px !important; font-weight: 400 !important; line-height: 1.45 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-body) !important; cursor: pointer;
}
body.psb-shop .woocommerce-checkout label.checkbox input[type="checkbox"], body.psb-shop .woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"] { margin: 1px 0 0 !important; }
body.psb-shop #omnisend_newsletter_checkbox_field { margin-top: 14px !important; }
/* Enviar a otra dirección: una fila con su casilla (el tema la dejaba enorme y encima del texto) */
body.psb-shop .woocommerce-shipping-fields h3#ship-to-different-address {
    margin: 0 !important; padding: 0 !important; font-family: var(--psb-a-text) !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.4 !important;
    letter-spacing: 0 !important; text-transform: none !important;
}
body.psb-shop .woocommerce-shipping-fields h3#ship-to-different-address label { font-size: 16px !important; font-weight: 600 !important; color: var(--psb-a-ink) !important; }
body.psb-shop .woocommerce-shipping-fields h3#ship-to-different-address label span { position: static !important; }
body.psb-shop .woocommerce-shipping-fields h3#ship-to-different-address label::before,
body.psb-shop .woocommerce-shipping-fields h3#ship-to-different-address label::after { display: none !important; }
/* El recuadro «Crea tu cuenta» (PS Booking) */
body.psb-shop .woocommerce-checkout .woocommerce-account-fields { gap: 12px; }
body.psb-shop .woocommerce-account-fields .psb-acct__title:not(#psb-0) { font-family: var(--psb-a-title) !important; font-size: 26px !important; font-weight: 400 !important; line-height: 1.15 !important; }

/* El resumen: una tarjeta (el tema lo dejaba en un gris plano) */
body.psb-shop .art-checkout-right .art-checkout-right-wrapper {
    margin: 0 !important; padding: 22px 18px !important; border: 1px solid var(--psb-a-line, #e6dacb) !important; border-radius: 24px !important; background: #fffdfa !important;
    box-shadow: 0 22px 44px -34px rgba(60, 45, 30, .5);
}
body.psb-shop .woocommerce-checkout-review-order-table,
body.psb-shop .woocommerce-checkout-review-order-table tbody,
body.psb-shop .woocommerce-checkout-review-order-table tfoot { display: block !important; width: 100% !important; background: none !important; }
body.psb-shop .woocommerce-checkout-review-order-table tr.cart_item { display: flex !important; align-items: center; gap: 14px; width: 100%; padding: 0 0 14px !important; border: 0 !important; border-bottom: 1px solid #efe7de !important; }
body.psb-shop .woocommerce-checkout-review-order-table tr.cart_item td.product-name { flex: 1; min-width: 0; }
body.psb-shop .woocommerce-checkout-review-order-table tr.cart_item + tr.cart_item { padding-top: 14px !important; }
body.psb-shop .woocommerce-checkout-review-order-table tr.cart_item td { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.psb-shop .woocommerce-checkout-review-order-table td.product-image:not(#psb-0) { flex: none; width: 64px !important; max-width: 64px !important; overflow: hidden; }
body.psb-shop .woocommerce-checkout-review-order-table td.product-image img:not(#psb-0) { display: block; width: 64px !important; height: 80px !important; max-width: none !important; margin: 0 !important; object-fit: cover; border-radius: 12px; }
body.psb-shop .woocommerce-checkout-review-order-table .product-name-data { display: flex !important; flex-direction: column; gap: 2px; }
body.psb-shop .woocommerce-checkout-review-order-table .product-item-title:not(#psb-0) { font-family: var(--psb-a-title) !important; font-size: 19px !important; font-weight: 400 !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-ink) !important; }
body.psb-shop .woocommerce-checkout-review-order-table .product-item-price { font-size: 15px !important; font-weight: 600 !important; color: var(--psb-a-ink) !important; }
body.psb-shop .woocommerce-checkout-review-order-table .product-item-quantity { font-size: 13px !important; color: var(--psb-a-mute) !important; }
body.psb-shop .woocommerce-checkout-review-order-table tfoot tr { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 1px solid #efe7de; }
body.psb-shop .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal { border-top: 0; }
body.psb-shop .woocommerce-checkout-review-order-table tfoot td .amount { white-space: nowrap; }
body.psb-shop .woocommerce-checkout-review-order-table tfoot th, body.psb-shop .woocommerce-checkout-review-order-table tfoot td {
    display: block !important; padding: 12px 0 !important; border: 0 !important; background: none !important;
    font-family: var(--psb-a-text) !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--psb-a-body) !important;
}
body.psb-shop .woocommerce-checkout-review-order-table tfoot th span, body.psb-shop .woocommerce-checkout-review-order-table tfoot td span { font: inherit !important; color: inherit !important; letter-spacing: 0 !important; text-transform: none !important; }
body.psb-shop .woocommerce-checkout-review-order-table tfoot td { text-align: right !important; }
body.psb-shop .woocommerce-checkout-review-order-table tfoot td.art-shipping-methods-row { flex: 1; padding-bottom: 0 !important; text-align: left !important; }
body.psb-shop .woocommerce-checkout-review-order-table tfoot tr.order-total th, body.psb-shop .woocommerce-checkout-review-order-table tfoot tr.order-total td { font-size: 18px !important; font-weight: 600 !important; color: var(--psb-a-ink) !important; }
body.psb-shop .woocommerce-checkout-review-order-table tfoot tr.order-total td strong { font-weight: 700 !important; }

/* «Compra segura» y las formas de pago: tarjetas para elegir */
body.psb-shop #woocommerce_review_order_before_payment h6, body.psb-shop #payment > h6 {
    margin: 4px 0 10px !important; font-family: var(--psb-a-text) !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.3 !important;
    letter-spacing: .12em !important; text-transform: uppercase !important; color: #6b5d52 !important;
}
body.psb-shop #woocommerce_review_order_before_payment h6 { display: flex; align-items: center; gap: 8px; margin-bottom: 0 !important; }
body.psb-shop #woocommerce_review_order_before_payment h6::before {
    content: ""; width: 14px; height: 14px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.psb-shop #payment { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; }
body.psb-shop #payment ul.payment_methods { display: flex !important; flex-direction: column; gap: 8px; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; list-style: none !important; }
body.psb-shop #payment ul.payment_methods li {
    display: flex !important; flex-wrap: wrap; align-items: center; margin: 0 !important; padding: 14px !important; border: 1px solid #e3d8cc !important; border-radius: 16px !important; background: #fff !important; list-style: none !important;
}
body.psb-shop #payment ul.payment_methods li:has(> input:checked) { border-color: var(--psb-a-ink) !important; box-shadow: inset 0 0 0 1px var(--psb-a-ink); }
body.psb-shop #payment ul.payment_methods li > input { margin: 0 10px 0 0 !important; vertical-align: middle; } /* con una sola forma de pago WooCommerce esconde el círculo: se respeta */
body.psb-shop #payment ul.payment_methods li > label {
    display: flex !important; flex: 1 1 0; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; margin: 0 !important; padding: 0 !important;
    font-family: var(--psb-a-text) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.35 !important; letter-spacing: 0 !important; text-transform: none !important;
    color: var(--psb-a-ink) !important; cursor: pointer;
}
body.psb-shop #payment ul.payment_methods li > label::before, body.psb-shop #payment ul.payment_methods li > label::after { display: none !important; }
body.psb-shop #payment ul.payment_methods li > label img { max-height: 26px !important; height: auto !important; width: auto; margin: 0 !important; }
body.psb-shop #payment .payment_box {
    flex-basis: 100%; margin: 12px 0 0 !important; padding: 12px 14px !important; border-radius: 12px !important; background: var(--psb-a-crema) !important; box-shadow: none !important;
    font-size: 14px !important; line-height: 1.55 !important; color: var(--psb-a-body) !important;
}
body.psb-shop #payment .payment_box::before { display: none !important; }
body.psb-shop #payment .payment_box p { margin: 0 !important; font-size: 14px !important; line-height: 1.55 !important; }
body.psb-shop #payment .place-order { margin: 0 !important; padding: 0 !important; }
body.psb-shop .woocommerce-privacy-policy-text p, body.psb-shop .woocommerce-terms-and-conditions-wrapper p { margin: 0 0 12px !important; font-size: 13px !important; line-height: 1.55 !important; color: var(--psb-a-mute) !important; }
body.psb-shop .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0 0 16px !important; }
body.psb-shop .woocommerce-terms-and-conditions-wrapper label.checkbox span { font-size: 15px !important; line-height: 1.45 !important; }
@media (min-width: 992px) {
    body.psb-shop .art-checkout-right .art-checkout-right-wrapper { position: sticky; top: 110px; }
}
@media (max-width: 480px) {
    body.psb-shop h1.art-page-title { font-size: 38px !important; }
    body.psb-shop .woocommerce-billing-fields__field-wrapper,
    body.psb-shop .woocommerce-shipping-fields__field-wrapper { gap: 10px; }
}
