/* Compra YLK: blanco, azul, líneas finas y tipografía contenida. */
.ylk-cart-toggle { position: fixed; z-index: 90; right: 0; top: 50%; display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 15px 20px; border: 1px solid var(--studio-blue); background: #fff; color: var(--studio-blue); font-size: 13px; text-decoration: none; transform: translateY(-50%); }
.ylk-cart-toggle:hover { background: var(--studio-blue); color: #fff; }
.studio-commerce .ylk-cart-toggle { display: none !important; }
html.ylk-cart-open { overflow: hidden; }
body.ylk-cart-open { position: fixed; inset: var(--cart-scroll-top) 0 auto; overflow: hidden; }
.ylk-cart-drawer { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; overflow: clip; border: 0; background: transparent; color: #222; }
.ylk-cart-drawer::backdrop { background: #07133466; backdrop-filter: blur(3px); }
.ylk-cart-drawer[open] { display: block; }
.ylk-cart-drawer__panel { position: absolute; inset: 0 0 0 auto; display: flex; flex-direction: column; width: min(480px, 100%); height: 100%; padding: 30px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; background: #fff; transform: translateX(0); }
.ylk-cart-drawer[open] .ylk-cart-drawer__panel { animation: ylk-cart-enter 300ms ease-out both; }
.ylk-cart-drawer__header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 25px; border-bottom: 1px solid #ddd; }
.ylk-cart-drawer__header h2 { margin: 0; color: var(--studio-blue); font-size: 23px; font-weight: 400; letter-spacing: .04em; }
.ylk-cart-close { width: 44px; height: 44px; padding: 0; border: 0; background: #fff; color: var(--studio-blue); font-size: 30px; font-weight: 400; }
.ylk-cart-close:hover { background: #f3f3ef; color: var(--studio-blue); }
.ylk-cart-drawer .widget_shopping_cart { flex: 1; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart li { position: relative; min-height: 150px; margin: 0; padding: 28px 26px 28px 112px; border-bottom: 1px solid #e5e5e5; font-size: 14px; line-height: 1.6; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart li a:not(.remove) { color: var(--studio-blue); font-weight: 400; text-decoration: none; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart li img { position: absolute; top: 28px; left: 0; float: none; width: 88px; height: 110px; margin: 0; object-fit: cover; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart li a.remove { position: absolute; top: 22px; right: -8px; left: auto; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 0; color: #777 !important; font-size: 23px; font-weight: 400; text-decoration: none; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart li a.remove:hover { background: #f3f3ef; color: #222 !important; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart dl { margin: 8px 0; padding: 0; border: 0; color: #777; font-size: 12px; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart dl dt { float: left; margin-right: 5px; font-weight: 400; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart dl dd { margin: 0; }
.ylk-cart-drawer .widget_shopping_cart ul.woocommerce-mini-cart dl p { margin: 0; }
.ylk-cart-drawer .quantity { display: block; margin-top: 8px; color: #555; font-size: 13px; }
.ylk-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; gap: 20px; margin: 32px 0 24px; padding: 0; border: 0; color: var(--studio-blue); font-size: 17px; }
.ylk-cart-drawer .woocommerce-mini-cart__total strong { font-weight: 400; }
.ylk-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.ylk-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__buttons.buttons a { display: block; width: 100%; margin: 0; padding: 16px; border: 1px solid var(--studio-blue); border-radius: 0; background: #fff; color: var(--studio-blue); font-size: 12px; font-weight: 400; letter-spacing: .07em; text-align: center; text-decoration: none; }
.ylk-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__buttons.buttons a.checkout { background: var(--studio-blue); color: #fff; }
.ylk-cart-continue { align-self: flex-start; margin-top: 32px; padding: 12px 0; border: 0; background: transparent; color: var(--studio-blue); font-size: 12px; font-weight: 400; }
.ylk-cart-continue:hover { background: transparent; color: #333; }
.ylk-cart-drawer .woocommerce-mini-cart__empty-message { padding: 42px 0; color: #777; font-size: 15px; }
.ylk-cart-error { margin-top: 15px; color: #9d3025; font-size: 13px; }
.ylk-cart-error:empty { display: none; }
.studio-commerce { background: #fff; }
.commerce-page { flex: 1; width: 100%; padding: calc(var(--studio-header-height) + 40px) var(--studio-gutter) clamp(140px, 13vw, 260px); }
.commerce-back { color: #777; font-size: 12px; text-decoration: none; }
.commerce-heading { display: flex; align-items: baseline; gap: 24px; margin: 60px 0; color: var(--studio-blue); }
.commerce-heading > span { font-size: 11px; }
.commerce-heading h1 { margin: 0; font-size: clamp(26px, 2.3vw, 40px); font-weight: 400; letter-spacing: .04em; }
.woocommerce-checkout:not(.woocommerce-order-received) .commerce-heading h1 { font-size: clamp(20px, 1.5vw, 25px); }
.studio-commerce .woocommerce h2, .studio-commerce .woocommerce h3 { color: var(--studio-blue); font-size: 20px; font-weight: 400; line-height: 1.4; }
.ylk-cart-layout, .ylk-checkout-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; gap: clamp(40px, 6vw, 120px); }
.studio-commerce .woocommerce-cart-form { min-width: 0; }
.studio-commerce .woocommerce .cart-collaterals { width: 100%; }
.studio-commerce .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
.studio-commerce .cart-collaterals, .ylk-checkout-summary { padding: 30px; background: #f7f7f5; }
.studio-commerce .woocommerce table.shop_table { width: 100%; margin: 0 0 24px; border: 0; border-collapse: collapse; border-radius: 0; font-size: 13px; }
.studio-commerce .woocommerce table.shop_table th, .studio-commerce .woocommerce table.shop_table td { border: 0; }
.studio-commerce .woocommerce table.shop_table th { padding: 15px 8px; color: #777; font-size: 11px; font-weight: 400; }
.studio-commerce .woocommerce table.shop_table td { padding: 20px 8px; border-top: 1px solid #ddd; }
.studio-commerce .woocommerce table.shop_table td.product-thumbnail { width: 88px; }
.studio-commerce .woocommerce table.shop_table td.product-thumbnail img { width: 72px; height: 96px; object-fit: cover; }
.studio-commerce .woocommerce table.shop_table .product-name a { color: var(--studio-blue); text-decoration: none; }
.studio-commerce .woocommerce table.shop_table dl.variation { margin-top: 8px; color: #777; font-size: 11px; }
.studio-commerce .woocommerce table.shop_table .quantity input.qty { width: 58px; min-width: 0; padding: 10px 4px; border: 1px solid #ccc; font-size: 13px; }
.studio-commerce .woocommerce a.remove { border-radius: 0; color: #777 !important; font-weight: 400; }
.studio-commerce .woocommerce a.remove:hover { background: #f3f3ef; color: #222 !important; }
.studio-commerce .woocommerce .button, .studio-commerce .woocommerce button.button, .studio-commerce .woocommerce input.button, .studio-commerce .woocommerce a.button { padding: 15px 20px; border: 1px solid var(--studio-blue); border-radius: 0; background: #fff; color: var(--studio-blue); font-size: 12px; font-weight: 400; line-height: 1.4; letter-spacing: .05em; }
.studio-commerce .woocommerce a.checkout-button, .studio-commerce .woocommerce #payment #place_order { width: 100%; border-color: var(--studio-blue); background: var(--studio-blue); color: #fff; text-align: center; }
.studio-commerce .woocommerce .button:hover { background: #edf0f8; color: var(--studio-blue); }
.studio-commerce .woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.studio-commerce .woocommerce .wc-proceed-to-checkout a.checkout-button:focus-visible,
.studio-commerce .woocommerce #payment #place_order:hover,
.studio-commerce .woocommerce #payment #place_order:focus-visible { border-color: #163d98; background: #163d98; color: #fff; }
.studio-commerce .studio-footer { padding-top: 0; }
.studio-commerce .studio-footer__bottom { flex-wrap: wrap; }
.studio-commerce .footer-legal { flex-wrap: wrap; }
.studio-commerce .woocommerce .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.studio-commerce .woocommerce .coupon #coupon_code { width: 140px; margin: 0; padding: 12px; border: 1px solid #ccc; font-size: 12px; }
.studio-commerce .woocommerce table.cart td.actions { padding-inline: 0; }
.studio-commerce .woocommerce table.cart td.actions > button { margin-top: 12px; }
.studio-commerce .woocommerce .cart_totals h2 { margin-bottom: 25px; }
.studio-commerce .woocommerce .cart_totals table th, .studio-commerce .woocommerce .cart_totals table td { padding: 18px 0; }
.studio-commerce .woocommerce .cart_totals .order-total th, .studio-commerce .woocommerce .cart_totals .order-total td { color: var(--studio-blue); font-size: 17px; }
.studio-commerce .woocommerce .cart_totals .order-total strong { font-weight: 400; }
.studio-commerce .woocommerce .wc-proceed-to-checkout { padding-bottom: 0; }
.studio-commerce .woocommerce .col2-set, .studio-commerce .woocommerce .col2-set .col-1, .studio-commerce .woocommerce .col2-set .col-2 { float: none; width: 100%; }
.studio-commerce .woocommerce .col2-set .col-2 { margin-top: 40px; }
.studio-commerce .woocommerce form .form-row { margin: 0 0 24px; padding: 0; }
.studio-commerce .woocommerce form .form-row label { margin-bottom: 8px; color: #555; font-size: 12px; font-weight: 400; line-height: 1.5; }
.studio-commerce .woocommerce form .form-row input.input-text, .studio-commerce .woocommerce form .form-row textarea, .studio-commerce .woocommerce form .form-row select { width: 100%; min-height: 46px; padding: 12px; border: 1px solid #ccc; border-radius: 0; background: #fff; color: #222; font-size: 14px; box-shadow: none; }
.studio-commerce .woocommerce form .form-row select { height: 46px; padding: 0 12px; line-height: normal; }
.studio-commerce .select2-container .select2-selection--single { display: flex; align-items: center; height: 46px; padding: 0; border: 1px solid #ccc; border-radius: 0; }
.studio-commerce .select2-container .select2-selection--single .select2-selection__rendered { width: 100%; padding: 0 34px 0 12px; font-size: 14px; line-height: normal; }
.studio-commerce .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; right: 8px; height: 20px; transform: translateY(-50%); }
.studio-commerce .woocommerce #ship-to-different-address { margin-bottom: 25px; font-size: 15px; }
.studio-commerce .woocommerce #payment { border-radius: 0; background: transparent; }
.studio-commerce .woocommerce #payment ul.payment_methods { padding: 20px 0; border-bottom: 1px solid #ddd; font-size: 13px; }
.studio-commerce .woocommerce #payment div.form-row { padding: 20px 0 0; }
.studio-commerce .woocommerce #payment div.payment_box { background: #ecece8; font-size: 12px; }
.studio-commerce .woocommerce #payment div.payment_box::before { border-bottom-color: #ecece8; }
.studio-commerce .woocommerce-privacy-policy-text, .studio-commerce .woocommerce-terms-and-conditions-wrapper { color: #777; font-size: 11px; line-height: 1.7; }
.studio-commerce .woocommerce-checkout-review-order-table .product-name { width: 65%; }
.studio-commerce .woocommerce .woocommerce-info, .studio-commerce .woocommerce .woocommerce-message, .studio-commerce .woocommerce .woocommerce-error { margin-bottom: 25px; border-top-width: 1px; background: #f7f7f5; font-size: 13px; }
.studio-commerce .woocommerce .woocommerce-info, .studio-commerce .woocommerce .woocommerce-message { border-top-color: var(--studio-blue); }
.studio-commerce .woocommerce .woocommerce-info::before, .studio-commerce .woocommerce .woocommerce-message::before { color: var(--studio-blue); }
@keyframes ylk-cart-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (max-width: 1000px) {
  .ylk-cart-layout, .ylk-checkout-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 700px) {
  .ylk-cart-toggle { min-height: 48px; gap: 8px; padding: 12px; }
  .ylk-cart-drawer__panel { padding: 22px; }
  .commerce-page { padding-top: calc(var(--studio-header-height) + 28px); }
  .commerce-heading { margin: 40px 0; gap: 16px; }
  .studio-commerce .cart-collaterals, .ylk-checkout-summary { padding: 22px; }
  .studio-commerce .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background: transparent; }
  .studio-commerce .woocommerce table.shop_table_responsive tr td { padding: 14px 0; }
  .studio-commerce .woocommerce table.shop_table_responsive tr td.product-thumbnail { display: block; width: 100%; border: 0; text-align: left !important; }
  .studio-commerce .woocommerce table.shop_table_responsive tr td.product-thumbnail::before { display: none; }
  .studio-commerce .woocommerce table.shop_table_responsive tr td.product-thumbnail img { width: 100px; height: 130px; }
  .studio-commerce .woocommerce .coupon { float: none; width: 100%; }
  .studio-commerce .woocommerce .coupon #coupon_code { flex: 1; width: 0; }
  .studio-commerce .woocommerce table.cart td.actions > button { width: 100%; }
  .studio-commerce .woocommerce form .form-row-first, .studio-commerce .woocommerce form .form-row-last { float: none; width: 100%; }
}
