/*
 * LISCANO EDITORIAL LAB — Design System 0.9.38
 * Visual-only layer; WP frontend, both storefronts. No template / cart logic.
 * System: controls 12px, cards 18px, panels 24px, chips 9px.
 */
:root {
  --lsc-radius-control: 12px;
  --lsc-radius-card: 18px;
  --lsc-radius-panel: 24px;
  --lsc-radius-chip: 9px;
  --lsc-radius-round: 999px;
  --lsc-radius-media: 14px;
  --lsc-focus: #be1a34;
}

/* Native controls and WooCommerce standard buttons. Keep browser focus rings. */
body:not(.wp-admin) :is(
  button:not(.components-button),
  input[type="submit"], input[type="button"], input[type="reset"],
  .button, a.button, a.added_to_cart, .btn, .elementor-button,
  .wp-block-button__link, .wp-element-button,
  .woocommerce a.button, .woocommerce button.button,
  .woocommerce input.button, .woocommerce #respond input#submit,
  .single_add_to_cart_button, .checkout-button,
  .lp-add-gift, .lp-show-more, .lp-toggle-gifts, .lp-remove-gift,
  .lp-continue-shopping-primary, .lp-continue-shopping-secondary,
  .lp-ticket-booster__button, .lp-ticket-booster__action,
  .lp-product-recommendations__button,
  .lp-price-filter__carousel-nav,
  .lco-hybrid-store-switch, .lco-wm-switch-store,
  .lco-hybrid-search-dialog .lco-search-submit,
  .lco-wm-search-fields button,
  .lco-hybrid-drawer-bottom a,
  .lco-entry-options a
) {
  border-radius: var(--lsc-radius-control) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-color: transparent !important;
  background-clip: padding-box;
}

/* Specific link-as-button elements (theme / Elementor / cross-sell / gift).
   Do not modify editorial text links, nav active indicators or legal links. */
body:not(.wp-admin) :is(
  a.button, a.btn, a[class*="_button"], a[class*="-button"],
  a.elementor-button, a.wp-block-button__link, a.wp-element-button,
  a.added_to_cart, a.checkout-button,
  a.lp-continue-shopping-primary, a.lp-continue-shopping-secondary,
  a.lp-product-recommendations__button,
  a.lp-ticket-booster__button, a.lp-ticket-booster__action,
  a.lco-hybrid-store-switch, a.lco-wm-switch-store
),
body:not(.wp-admin) :is(
  a.button, a.btn, a[class*="_button"], a[class*="-button"],
  a.elementor-button, a.wp-block-button__link, a.wp-element-button,
  a.added_to_cart, a.checkout-button,
  a.lp-continue-shopping-primary, a.lp-continue-shopping-secondary,
  a.lp-product-recommendations__button,
  a.lp-ticket-booster__button, a.lp-ticket-booster__action,
  a.lco-hybrid-store-switch, a.lco-wm-switch-store
):is(:hover, :focus, :focus-visible, :active),
body:not(.wp-admin) .woocommerce :is(a.button, a.added_to_cart, .checkout-button):is(:hover, :focus, :focus-visible, :active) {
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration-line: none !important;
}

body:not(.wp-admin) :is(
  .wp-block-button__link, .elementor-button,
  .woocommerce a.button, .woocommerce button.button,
  .lp-add-gift, .lp-show-more, .lp-toggle-gifts,
  .lp-continue-shopping-primary, .lp-continue-shopping-secondary,
  .lp-product-recommendations__button,
  .lp-ticket-booster__button, .lp-ticket-booster__action
) :is(span, strong, b, small) {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Form fields, quantity controls and select2 (cart, checkout, single product). */
body:not(.wp-admin) :is(
  input[type="text"], input[type="email"], input[type="tel"],
  input[type="number"], input[type="password"], input[type="search"],
  input[type="url"], input[type="date"], textarea, select,
  .input-text, .select2-selection, .select2-container--default .select2-selection--single,
  .quantity, .qty,
  .woocommerce .quantity .qty,
  .lp-gift-toolbar input, .lp-gift-toolbar select,
  .lp-gift-attributes select
) {
  border-radius: var(--lsc-radius-control) !important;
}

/* Commercial modules: card corners independent of plugin-specific styles. */
body:not(.wp-admin) :is(
  .lp-product-recommendations__item,
  .lp-product-recommendations--cart,
  .lp-ticket-booster,
  .lp-ticket-booster__item,
  .lp-gift-card,
  .lp-gift-picker,
  .lp-selected-gifts,
  .lp-progress-card,
  .lp-gift-progress,
  .lp-gift-success,
  .lp-unlock-card,
  .lp-continue-shopping-card,
  .lp-marca-card,
  .lp-price-filter__image-card,
  .woocommerce ul.products li.product,
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error,
  .woocommerce .shop_table,
  .woocommerce .cart_totals,
  .woocommerce .woocommerce-cart-form,
  .woocommerce .woocommerce-checkout-review-order,
  .woocommerce .woocommerce-checkout-payment,
  .woocommerce .woocommerce-MyAccount-content,
  .woocommerce .woocommerce-MyAccount-navigation,
  .woocommerce .product .woocommerce-product-gallery,
  .woocommerce .woocommerce-product-gallery__wrapper,
  .lco-hybrid-search-dialog,
  .lco-wm-search-panel,
  .lco-entry-options > a,
  .lco-entry-fallback,
  .lco-entry-page,
  .lp-entry-portal
) {
  border-radius: var(--lsc-radius-card) !important;
}

/* Large primary surfaces. Avoid clipping sticky checkout columns. */
body:not(.wp-admin) :is(
  .cart-collaterals .cart_totals,
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #order_review,
  .lp-gift-location-sidebar .lp-progress-card,
  .lp-gift-location-mobile .lp-progress-card,
  .lp-product-recommendations__section,
  .lp-product-recommendations__wrap
) {
  border-radius: var(--lsc-radius-panel) !important;
}

/* Image corners are slightly tighter than their parent cards. */
body:not(.wp-admin) :is(
  .lp-product-recommendations__image,
  .lp-product-recommendations__photo,
  .lp-gift-image,
  .lp-gift-image img,
  .lp-ticket-booster__image,
  .lp-marca-card-image,
  .lp-marca-logo-wrap,
  .lp-price-filter__image-card img,
  .woocommerce ul.products li.product img
) {
  border-radius: var(--lsc-radius-media) !important;
}

/* Header dropdowns, mobile menu, search surfaces. Preserve slide/drawer position. */
body:not(.wp-admin) :is(
  .lco-hybrid-nav-items .sub-menu,
  .lco-wm-menu .sub-menu,
  .lco-hybrid-search-panel .lco-hybrid-search-dialog,
  .lco-hybrid-search-dialog .lco-search-form,
  .lco-wm-search-fields
) {
  border-radius: var(--lsc-radius-card) !important;
}
body:not(.wp-admin) :is(
  .lco-hybrid-mobile-nav,
  .lco-wm-mobile-nav
) {
  border-radius: 0 var(--lsc-radius-panel) var(--lsc-radius-panel) 0 !important;
}
body:not(.wp-admin) :is(
  .lco-hybrid-nav-items .sub-menu a,
  .lco-hybrid-mobile-menu .sub-menu a,
  .lco-wm-menu .sub-menu a,
  .lco-hybrid-suggestion,
  .lco-hybrid-search-categories a
) {
  border-radius: var(--lsc-radius-chip) !important;
}

/* Badges, step progress indicators and little controls remain distinct. */
body:not(.wp-admin) :is(
  .lp-gift-badge, .lp-gift-counter,
  .lco-hybrid-announcement a,
  .lp-gift-progress .lp-ticket-icon,
  .lp-progress-segments > span,
  .lp-gift-progress .lp-progress-track,
  .lp-progress-track,
  .lp-continue-shopping-card .lp-shoe-icon
) {
  border-radius: var(--lsc-radius-chip) !important;
}
body:not(.wp-admin) :is(
  .lp-progress-gift-icon,
  .lp-gift-counter,
  .lp-gift-picker .lp-gift-toolbar,
  .lp-gift-message
) {
  border-radius: var(--lsc-radius-control) !important;
}
body:not(.wp-admin) :is(
  .lco-hybrid-cart .lco-bag-count,
  .lco-wm-action .lco-bag-count,
  .lp-price-filter__carousel-dot,
  .lp-product-recommendations__external,
  .lp-product-recommendations__arrow
) {
  border-radius: var(--lsc-radius-round) !important;
}

/* The hover/focus text stays clean but keyboard focus is never hidden. */
body:not(.wp-admin) :is(
  a.button, button, input[type="submit"],
  .elementor-button, .wp-block-button__link,
  .lp-continue-shopping-primary, .lp-continue-shopping-secondary,
  .lp-ticket-booster__button, .lp-product-recommendations__button,
  .lp-add-gift, .lp-toggle-gifts, .lp-show-more
):focus-visible {
  outline: 2px solid var(--lsc-focus) !important;
  outline-offset: 3px !important;
}

/* Dropdown and alert children should not cut off their own focus outlines. */
body:not(.wp-admin) .lp-product-recommendations__item,
body:not(.wp-admin) .lp-gift-card,
body:not(.wp-admin) .lp-ticket-booster__item {
  overflow: clip;
}

@media (max-width:767px) {
  :root {
    --lsc-radius-card: 16px;
    --lsc-radius-panel: 18px;
    --lsc-radius-control: 11px;
  }
}

/* Editorial Lab first-party components from PHP templates. */
body:not(.wp-admin) :is(
  .lco-btn, .lco-btn-red, .lco-btn-light,
  .lco-icon-button, .lco-search-submit,
  .lco-drawer-cta, .lco-drawer-close,
  .lco-coupon-action, .lco-filter-open, .lco-filter-apply,
  .lco-filter-close, .lco-filter-option,
  .lco-catalog-filter-trigger, .lco-catalog-tool,
  .lco-catalog-sort, .lco-catalog-orderby,
  .lco-view-button, .lco-category-circle,
  .lco-campaign-close, .lco-campaign-next, .lco-campaign-prev,
  .lco-card-discover, .lco-search-close,
  .lco-back-link
) {
  border-radius: var(--lsc-radius-control) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}
body:not(.wp-admin) :is(
  a.lco-btn, a.lco-drawer-cta, a.lco-coupon-action,
  a.lco-filter-apply, a.lco-card-discover,
  a.lco-back-link, a.lco-catalog-tool
):is(:hover, :focus, :focus-visible, :active),
body:not(.wp-admin) :is(
  a.lco-btn, a.lco-drawer-cta, a.lco-coupon-action,
  a.lco-filter-apply, a.lco-card-discover,
  a.lco-back-link, a.lco-catalog-tool
) :is(span, strong, b) {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

body:not(.wp-admin) :is(
  .lco-card, .lco-product-card,
  .lco-editorial-panel, .lco-cart-hero,
  .lco-cart-checkout-note, .lco-pdp-assurance,
  .lco-payment-preference, .lco-checkout-flow,
  .lco-checkout-intro, .lco-method-placeholder,
  .lco-filter-panel, .lco-filter-group,
  .lco-catalog-filters, .lco-addi-teaser,
  .lco-global-offer--campaign,
  .lco-search-dialog, .lco-welcome
) {
  border-radius: var(--lsc-radius-card) !important;
}
body:not(.wp-admin) :is(
  .lco-cart-hero, .lco-editorial-panel,
  .lco-checkout-flow, .lco-method-cards > *,
  .lco-payment-first-flow
) {
  border-radius: var(--lsc-radius-panel) !important;
}
body:not(.wp-admin) :is(
  .lco-card-media, .lco-card-img,
  .lco-product-card img, .lco-pdp-picture,
  .lco-category-circle img
) {
  border-radius: var(--lsc-radius-media) !important;
}
body:not(.wp-admin) :is(
  .lco-category-pill, .lco-active-filter-chips > *,
  .lco-filter-count, .lco-sale-badge,
  .lco-card-badge, .lco-cart-hero-count,
  .lco-bag-count, .lco-hero-index
) {
  border-radius: var(--lsc-radius-chip) !important;
}
body:not(.wp-admin) :is(
  .lco-drawer-scroll, .lco-mobile-nav,
  .lco-filter-drawer
) {
  border-radius: 0 var(--lsc-radius-panel) var(--lsc-radius-panel) 0 !important;
}

/* Restored/individual promo and cart UI. */
body:not(.wp-admin) :is(
  .lco-pdp .single_add_to_cart_button,
  .lco-pdp .variations select,
  .lco-coupon-action, .lco-filter-form input,
  .lp-continue-shopping-secondary,
  .lp-product-recommendations__item a.button,
  .woocommerce-cart .cart_totals .checkout-button
) {
  border-radius: var(--lsc-radius-control) !important;
}

/* Keyboard-visible outline for the Theme's own anchor-like buttons. */
body:not(.wp-admin) :is(
  .lco-btn, .lco-drawer-cta, .lco-coupon-action,
  .lco-filter-open, .lco-filter-apply,
  .lco-catalog-filter-trigger, .lco-card-discover
):focus-visible {
  outline: 2px solid var(--lsc-focus) !important;
  outline-offset: 3px !important;
}
