/* Balena Pink interactive controls — single final cascade layer.
   This file is deliberately loaded after editorial, commerce and navigation
   refinements so legacy page-specific rules cannot change CTA thickness,
   typography, light sweep or movement. Functional controls (quantity,
   carousel arrows, menu toggles) keep their own compact geometry. */
html body.wp-child-theme-balena-pink-child,
html body.login {
  --bp-control-height:52px;
  --bp-control-border:1px;
  --bp-control-radius:0px;
  --bp-control-pad-y:13px;
  --bp-control-pad-x:22px;
  --bp-control-font:.92rem;
  --bp-control-gold:#c9ad76;
  --bp-control-pink:#e53986;
  --bp-control-navy:#101638;
  --bp-control-ivory:#fffaf5;
  --bp-control-shadow:0 7px 18px rgba(4,6,22,.18),inset 0 1px 0 rgba(255,250,245,.42);
  --bp-control-shadow-hover:0 14px 28px rgba(4,6,22,.28),0 0 17px rgba(201,173,118,.22),inset 0 1px 0 rgba(255,250,245,.48);
  --bp-control-sweep:linear-gradient(112deg,transparent 0 36%,rgba(201,173,118,.16) 40%,rgba(255,250,245,.92) 47%,rgba(229,57,134,.28) 52%,transparent 61%);
}

/* Every textual action shares the same box model and type. */
html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
  .wp-block-button__link,
  a.button,
  button.button,
  input.button,
  .btn,
  .wpcf7-submit,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .wc-block-components-button:not(.wc-block-components-quantity-selector__button),
  .wc-block-components-product-button__button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button,
  button[type="submit"]:not(.wp-hide-pw):not(.wc-block-components-quantity-selector__button),
  input[type="submit"],
  .cmplz-btn
){
  position:relative!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:var(--bp-control-height)!important;
  height:auto!important;
  padding:var(--bp-control-pad-y) var(--bp-control-pad-x)!important;
  overflow:hidden!important;
  border:var(--bp-control-border) solid var(--bp-control-gold)!important;
  border-radius:var(--bp-control-radius)!important;
  background-color:var(--bp-control-gold)!important;
  background-image:var(--bp-control-sweep)!important;
  background-size:260% 100%!important;
  background-position:54% 0!important;
  color:var(--bp-control-navy)!important;
  -webkit-text-fill-color:var(--bp-control-navy)!important;
  box-shadow:var(--bp-control-shadow)!important;
  font:800 var(--bp-control-font)/1.3 Manrope,Arial,sans-serif!important;
  letter-spacing:.02em!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:none!important;
  text-transform:none!important;
  white-space:normal!important;
  transform:translateY(0)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease,background-position .55s ease!important;
}

/* In a button group the first action is primary. Every following action is
   secondary, but keeps exactly the same height, 1 px edge and light sweep. */
html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
  .wp-block-buttons .wp-block-button:not(:first-child) .wp-block-button__link,
  .button.alt,
  .btn-secondary,
  .btn.alt
){
  border-color:rgba(201,173,118,.82)!important;
  background-color:transparent!important;
  background-image:var(--bp-control-sweep)!important;
  color:var(--bp-control-ivory)!important;
  -webkit-text-fill-color:var(--bp-control-ivory)!important;
  box-shadow:var(--bp-control-shadow)!important;
}

html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
  .bp-cream-panel,
  .summary,
  .woocommerce-tabs,
  .woocommerce-cart-form,
  .cart_totals,
  .wc-block-cart__main,
  .wc-block-cart__sidebar,
  .wc-block-checkout__main,
  .wc-block-checkout__sidebar,
  .woocommerce-MyAccount-content,
  .woocommerce-form-login,
  .woocommerce-form-register,
  .lost_reset_password
) :is(.wp-block-buttons .wp-block-button:not(:first-child) .wp-block-button__link,.button.alt,.btn-secondary,.btn.alt){
  border-color:rgba(16,22,56,.38)!important;
  color:var(--bp-control-navy)!important;
  -webkit-text-fill-color:var(--bp-control-navy)!important;
}

html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
  .wp-block-button__link,a.button,button.button,input.button,.btn,.wpcf7-submit,
  .woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
  .wc-block-components-button:not(.wc-block-components-quantity-selector__button),
  .wc-block-components-product-button__button,.wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button,
  button[type="submit"]:not(.wp-hide-pw):not(.wc-block-components-quantity-selector__button),
  input[type="submit"],.cmplz-btn
) :is(strong,em,span){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit!important;
}

html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
  .wp-block-button__link,a.button,button.button,input.button,.btn,.wpcf7-submit,
  .woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
  .wc-block-components-button:not(.wc-block-components-quantity-selector__button),
  .wc-block-components-product-button__button,.wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button,
  button[type="submit"]:not(.wp-hide-pw):not(.wc-block-components-quantity-selector__button),
  input[type="submit"],#place_order,.cmplz-btn,#cmplz-datarequest-submit
):focus-visible{
  outline:3px solid rgba(229,57,134,.78)!important;
  outline-offset:4px!important;
}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
    .wp-block-button__link,a.button,button.button,input.button,.btn,.wpcf7-submit,
    .woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
    .wc-block-components-button:not(.wc-block-components-quantity-selector__button),
    .wc-block-components-product-button__button,.wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button,
    button[type="submit"]:not(.wp-hide-pw):not(.wc-block-components-quantity-selector__button),
    input[type="submit"],.cmplz-btn
  ):hover:not(:disabled):not([aria-disabled="true"]){
    transform:translateY(-3px)!important;
    background-position:15% 0!important;
    box-shadow:var(--bp-control-shadow-hover)!important;
  }
}

html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(button,.button,input[type="submit"]):is(:disabled,[aria-disabled="true"]){
  opacity:.48!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Social destinations use the identical light, shadow and movement tokens.
   Their larger square footprint remains intentional so the real platform
   symbols stay comfortably touchable. */
html body.wp-child-theme-balena-pink-child :is(main,.bp-footer) :is(.bp-contact-social-links,.bp-footer__social,.social-links)>a{
  background-image:var(--bp-control-sweep)!important;
  background-size:260% 100%!important;
  background-position:54% 0!important;
  border-width:var(--bp-control-border)!important;
  border-radius:var(--bp-control-radius)!important;
  box-shadow:var(--bp-control-shadow)!important;
  transform:translateY(0)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease,background-position .55s ease!important;
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html body.wp-child-theme-balena-pink-child :is(main,.bp-footer) :is(.bp-contact-social-links,.bp-footer__social,.social-links)>a:hover{
    transform:translateY(-3px)!important;
    background-position:15% 0!important;
    box-shadow:var(--bp-control-shadow-hover)!important;
  }
}

/* WooCommerce previously imposed a 46 px/no-lift variant with selectors more
   specific than the generic theme layer. Match that runtime scope explicitly
   so cart, checkout and account cannot fall back to the old treatment. */
html body.wp-child-theme-balena-pink-child:not(#wpadminbar):is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) :is(main#wp--skip-link--target,main) :is(
  .woocommerce-cart-form button[name="apply_coupon"],
  .woocommerce-cart-form button[name="update_cart"],
  .cart_totals .checkout-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button,
  .wc-block-components-totals-coupon__button,
  #place_order,
  .woocommerce-form-login__submit,
  .woocommerce-form-register__submit,
  .lost_reset_password button[type="submit"],
  .woocommerce-MyAccount-content .button
){
  min-height:var(--bp-control-height)!important;
  padding:var(--bp-control-pad-y) var(--bp-control-pad-x)!important;
  border:var(--bp-control-border) solid var(--bp-control-gold)!important;
  border-radius:0!important;
  background-color:var(--bp-control-gold)!important;
  background-image:var(--bp-control-sweep)!important;
  background-size:260% 100%!important;
  background-position:54% 0!important;
  color:var(--bp-control-navy)!important;
  -webkit-text-fill-color:var(--bp-control-navy)!important;
  box-shadow:var(--bp-control-shadow)!important;
  font:800 var(--bp-control-font)/1.3 Manrope,Arial,sans-serif!important;
  letter-spacing:.02em!important;
  transform:translateY(0)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease,background-position .55s ease!important;
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html body.wp-child-theme-balena-pink-child:not(#wpadminbar):is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) :is(main#wp--skip-link--target,main) :is(
    .woocommerce-cart-form button[name="apply_coupon"],
    .woocommerce-cart-form button[name="update_cart"],
    .cart_totals .checkout-button,
    .wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button,
    .wc-block-components-totals-coupon__button,
    #place_order,
    .woocommerce-form-login__submit,
    .woocommerce-form-register__submit,
    .lost_reset_password button[type="submit"],
    .woocommerce-MyAccount-content .button
  ):hover:not(:disabled):not([aria-disabled="true"]){
    border-color:var(--bp-control-gold)!important;
    background-color:var(--bp-control-gold)!important;
    background-image:var(--bp-control-sweep)!important;
    background-position:15% 0!important;
    color:var(--bp-control-navy)!important;
    -webkit-text-fill-color:var(--bp-control-navy)!important;
    transform:translateY(-3px)!important;
    box-shadow:var(--bp-control-shadow-hover)!important;
  }
}

/* Compact functional controls are related, not counterfeit CTAs. */
html body.wp-child-theme-balena-pink-child:not(#wpadminbar) main :is(
  .quantity button.plus,.quantity button.minus,.quantity input.plus,.quantity input.minus,
  .wc-block-components-quantity-selector__button,
  .bp-focus-control,.bp-carousel-button,
  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close
){
  border-width:1px!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Age gate lives outside main, but its confirmation follows the same primary
   action tokens. No settings or consent behaviour are changed. */
html body.wp-child-theme-balena-pink-child .age-gate :is(button,.button,.age-gate__button){
  box-sizing:border-box!important;min-height:var(--bp-control-height)!important;
  padding:var(--bp-control-pad-y) var(--bp-control-pad-x)!important;
  border:var(--bp-control-border) solid var(--bp-control-gold)!important;border-radius:0!important;
  background-color:var(--bp-control-gold)!important;background-image:var(--bp-control-sweep)!important;
  background-size:260% 100%!important;background-position:54% 0!important;
  color:var(--bp-control-navy)!important;-webkit-text-fill-color:var(--bp-control-navy)!important;
  box-shadow:var(--bp-control-shadow)!important;font:800 var(--bp-control-font)/1.3 Manrope,Arial,sans-serif!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease,background-position .55s ease!important;
}

@media(max-width:600px){
  html body.wp-child-theme-balena-pink-child:not(#wpadminbar) main .wp-block-buttons .wp-block-button,
  html body.wp-child-theme-balena-pink-child:not(#wpadminbar) main .wp-block-buttons .wp-block-button__link{
    width:100%!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
    .wp-block-button__link,a.button,button.button,input.button,.btn,.wpcf7-submit,
    .woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
    .wc-block-components-button,.wc-block-components-product-button__button,
    button[type="submit"]:not(.wp-hide-pw),input[type="submit"],#place_order,.cmplz-btn
  ),
  html body.wp-child-theme-balena-pink-child .age-gate :is(button,.button,.age-gate__button){
    transition:none!important;
    transform:none!important;
  }
}

/* Solo per la matrice locale di revisione: mantiene leggibili le note sui pannelli crema. */
html body main .control-wrap:not(#bp-a#bp-b#bp-c#bp-d#bp-e) .control-panel.cream :is(h2,p){
  color:#101638!important;
  -webkit-text-fill-color:#101638!important;
}

/* Final runtime contract for every textual CTA.  WooCommerce, Contact Form 7
   and legacy block styles use selectors that can otherwise out-rank the base
   control layer.  The light lives on the element itself so every technology
   gets the same 52 px geometry, shadow and hover travel. */
html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
  .btn,
  .wp-block-button__link,
  .wpcf7-submit,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .wc-block-components-button:not(.wc-block-components-quantity-selector__button),
  .wc-block-components-product-button__button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button,
  button[type="submit"]:not(.wp-hide-pw):not(.wc-block-components-quantity-selector__button),
  input[type="submit"],
  #place_order,
  .cmplz-btn
){
  box-sizing:border-box!important;
  min-height:var(--bp-control-height)!important;
  height:auto!important;
  padding:var(--bp-control-pad-y) var(--bp-control-pad-x)!important;
  border:var(--bp-control-border) solid var(--bp-control-gold)!important;
  border-radius:var(--bp-control-radius)!important;
  background-color:var(--bp-control-gold)!important;
  background-image:var(--bp-control-sweep)!important;
  background-size:260% 100%!important;
  background-position:54% 0!important;
  color:var(--bp-control-navy)!important;
  -webkit-text-fill-color:var(--bp-control-navy)!important;
  box-shadow:var(--bp-control-shadow)!important;
  font:800 var(--bp-control-font)/1.3 Manrope,Arial,sans-serif!important;
  transform:translateY(0)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease,background-position .55s ease!important;
}

/* Older commerce rules drew a second light with a pseudo-element.  Removing
   only that decorative layer avoids a doubled flash while preserving labels. */
html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
  .wp-block-button__link,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .wc-block-components-button:not(.wc-block-components-quantity-selector__button),
  .wc-block-components-product-button__button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button,
  #place_order
)::after{content:none!important;display:none!important}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html body.wp-child-theme-balena-pink-child:not(#wpadminbar) :is(main,.bp-footer) :is(
    .btn,.wp-block-button__link,.wpcf7-submit,
    .woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
    .wc-block-components-button:not(.wc-block-components-quantity-selector__button),
    .wc-block-components-product-button__button,.wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button,
    button[type="submit"]:not(.wp-hide-pw):not(.wc-block-components-quantity-selector__button),
    input[type="submit"],#place_order,.cmplz-btn
  ):hover:not(:disabled):not([aria-disabled="true"]){
    background-color:var(--bp-control-gold)!important;
    background-image:var(--bp-control-sweep)!important;
    background-position:15% 0!important;
    color:var(--bp-control-navy)!important;
    -webkit-text-fill-color:var(--bp-control-navy)!important;
    transform:translateY(-3px)!important;
    box-shadow:var(--bp-control-shadow-hover)!important;
  }
}

/* The Home Limited source already contains the complete cardboard box.  This
   equal-specificity final guard prevents any earlier media-frame rule from
   drawing a second rectangle around it. */
html body.wp-child-theme-balena-pink-child:not(#wpadminbar).home main
.bp-editorial[data-page="home"] .limited .media{
  padding:0!important;border:0!important;outline:0!important;
  background:transparent!important;box-shadow:none!important;overflow:hidden!important;
}
html body.wp-child-theme-balena-pink-child:not(#wpadminbar).home main
.bp-editorial[data-page="home"] .limited .media img{
  inset:auto!important;top:50%!important;left:50%!important;
  width:170%!important;height:auto!important;
  max-width:none!important;max-height:none!important;border:0!important;
  object-fit:contain!important;transform:translate(-50%,-50%)!important;
}

/* WooCommerce Product Collection assigns a 62 px minimum to its card
   buttons after the theme stylesheet.  The label is always one line in the
   verified grid, so pin only this card CTA to the canonical 52 px token. */
html body.wp-child-theme-balena-pink-child:not(#wpadminbar).woocommerce-shop
:is(main#wp--skip-link--target,main) .wc-block-product
.wc-block-components-product-button__button{
  height:var(--bp-control-height)!important;
  min-height:var(--bp-control-height)!important;
  max-height:var(--bp-control-height)!important;
}

