/* ====================================================================
   Feeling Yachty — cart & checkout skin (WooCommerce Blocks + classic)
   Neon brand treatment: rounded everything, gradient CTAs, pro summary.
   ==================================================================== */

/* ---- Shared palette ------------------------------------------------ */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  --fy-ink:#172033;
  --fy-muted:#526079;
  --fy-pink:#E45C9C;
  --fy-pink-deep:#C94386;
  --fy-purple:#7C3AED;
  --fy-purple-deep:#5B21B6;
  --fy-blue:#2563EB;
  --fy-border:#E6EAF3;
}

/* ---- Headings ------------------------------------------------------ */
.wp-block-woocommerce-checkout .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title,
.wp-block-woocommerce-cart h2,
.wc-block-components-order-summary .wc-block-components-panel__button{
  font-weight:900!important;
  letter-spacing:-.02em;
  color:var(--fy-ink)!important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title{
  font-size:18px!important;
}

/* ---- Inputs: rounded, comfortable, branded focus ------------------- */
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wp-block-woocommerce-checkout select,
.woocommerce-checkout .input-text,
.woocommerce-cart .input-text{
  border:1.5px solid var(--fy-border)!important;
  border-radius:13px!important;
  min-height:50px;
  font-size:15px!important;
  box-shadow:0 3px 10px rgba(23,32,51,.04)!important;
}
.wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout select:focus,
.woocommerce-checkout .input-text:focus{
  border-color:var(--fy-purple)!important;
  outline:3px solid rgba(124,58,237,.16)!important;
  box-shadow:none!important;
}
.wc-block-components-text-input label{
  font-weight:600;
}

/* Checkboxes & radios in brand pink */
.wp-block-woocommerce-checkout input[type=checkbox],
.wp-block-woocommerce-cart input[type=checkbox],
.woocommerce-checkout input[type=checkbox],
.wc-block-components-radio-control__input{
  accent-color:var(--fy-pink-deep);
  width:20px;height:20px;
}

/* ---- Express payment (Amazon/Apple/GPay/Link/PayPal) ---------------
   The inner branding is rendered by Stripe/PayPal in iframes (Apple &
   Google mandate their look), but the containers can be rounded and
   spaced so the row stops looking like square bricks.                 */
.wc-block-components-express-payment{
  border:1px solid rgba(124,58,237,.16)!important;
  border-radius:18px!important;
  background:linear-gradient(160deg,#fff,#FFF9FC)!important;
  box-shadow:0 8px 22px rgba(23,32,51,.06);
  padding:6px 10px 10px;
}
.wc-block-components-express-payment__title{
  font-weight:900!important;color:var(--fy-purple-deep)!important;
  text-transform:uppercase;font-size:11px!important;letter-spacing:.06em;
}
.wc-block-components-express-payment__event-buttons{gap:10px!important}
.wc-block-components-express-payment__event-buttons > li,
.wc-block-components-express-payment__event-buttons > li > *{
  border-radius:14px!important;
  overflow:hidden!important;
}
.wc-block-components-express-payment-continue-rule{
  color:var(--fy-muted);font-weight:700;
}

/* ---- Primary buttons: the neon gradient ---------------------------- */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order{
  background:linear-gradient(105deg,var(--fy-pink-deep) 0%,#B83280 48%,var(--fy-purple) 100%)!important;
  border:0!important;
  border-radius:15px!important;
  min-height:58px;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:.01em;
  color:#fff!important;
  box-shadow:0 10px 26px rgba(184,50,128,.30)!important;
  transition:filter .15s ease, transform .1s ease;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce-cart .checkout-button:hover,
.woocommerce-checkout #place_order:hover{
  filter:saturate(1.08) brightness(1.05);
  transform:translateY(-1px);
}

/* Secondary buttons (e.g. agreement/review buttons from other tools) */
.wp-block-woocommerce-checkout .button:not(#place_order),
.woocommerce-checkout .button:not(#place_order):not(.checkout-button){
  border-radius:13px!important;
  font-weight:800!important;
}

/* ---- Order summary: the pro card ----------------------------------- */
.wc-block-components-sidebar .wc-block-components-order-summary,
.wc-block-components-sidebar-layout .wc-block-components-sidebar > .wc-block-components-panel,
.wc-block-components-sidebar{
  border-radius:20px;
}
.wc-block-components-sidebar{
  background:linear-gradient(165deg,#fff,#FFF5FA 60%,#F6F0FF)!important;
  border:1px solid rgba(124,58,237,.18)!important;
  box-shadow:0 14px 34px rgba(91,33,182,.10)!important;
  padding:22px!important;
}
.wc-block-components-order-summary-item{
  padding:14px 0!important;
}
.wc-block-components-order-summary-item__image img{
  border-radius:12px!important;
  border:1px solid rgba(37,99,235,.14);
}
/* Bigger, bolder product name */
.wc-block-components-order-summary-item__description .wc-block-components-product-name,
.wc-block-components-order-summary-item__description > span:first-child{
  font-size:15.5px!important;
  font-weight:900!important;
  line-height:1.3!important;
  color:var(--fy-ink)!important;
}
.wc-block-components-order-summary-item__total-price{
  font-size:16px!important;
  font-weight:950!important;
  color:var(--fy-pink-deep)!important;
}
/* Booking meta lines: readable chips instead of grey mush */
.wc-block-components-product-details{
  margin-top:8px!important;
  display:flex;flex-wrap:wrap;gap:6px;
}
.wc-block-components-product-details li{
  margin:0!important;
  padding:5px 10px;
  border:1px solid rgba(37,99,235,.16);
  border-radius:9px;
  background:#fff;
  font-size:12px!important;
  line-height:1.35;
  color:var(--fy-ink)!important;
}
.wc-block-components-product-details__name{
  font-weight:800!important;
  color:var(--fy-blue)!important;
  text-transform:none!important;
}
.wc-block-components-product-details__value{
  font-weight:700!important;
}

/* Totals rows */
.wc-block-components-totals-item{
  font-size:14px!important;
}
.wc-block-components-totals-item__label{font-weight:700;color:var(--fy-muted)}
.wc-block-components-totals-item__value{font-weight:800;color:var(--fy-ink)}
/* The big final total */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-size:16px!important;font-weight:900!important;color:var(--fy-ink);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:26px!important;
  font-weight:950!important;
  letter-spacing:-.02em;
  background:linear-gradient(90deg,var(--fy-pink-deep),var(--fy-purple));
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}
/* Coupon link */
.wc-block-components-totals-coupon-link{
  color:var(--fy-pink-deep)!important;font-weight:800!important;
}

/* Payment method accordion */
.wc-block-components-radio-control-accordion-option,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option{
  border-radius:13px!important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option-checked{
  border:1.5px solid rgba(124,58,237,.35)!important;
  background:linear-gradient(160deg,#fff,#F6F0FF)!important;
}

/* ---- Classic cart/checkout fallback -------------------------------- */
.woocommerce-cart table.cart,
.woocommerce-checkout #order_review{
  border:1px solid rgba(124,58,237,.18)!important;
  border-radius:18px!important;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(23,32,51,.07);
}
.woocommerce-checkout #order_review{
  background:linear-gradient(165deg,#fff,#FFF5FA 60%,#F6F0FF);
  padding:20px;
}
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading{
  font-weight:900;letter-spacing:-.02em;
}
.woocommerce table.shop_table td.product-name{
  font-weight:800;font-size:15px;
}
.woocommerce-cart .order-total .amount,
.woocommerce-checkout .order-total .amount{
  font-size:22px;font-weight:950;color:var(--fy-pink-deep)!important;
}

/* Mobile comfort */
@media (max-width:640px){
  .wc-block-components-sidebar{padding:16px!important}
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button{min-height:62px}
}

/* ---- Off-centre cart/checkout on phones & tablets ------------------
   The theme renders these blocks with .alignwide, which it implements as
   margin:0 -80px. On a wide desktop that simply lets the block outdent
   past the text column; on a narrow screen there is nothing to outdent
   into, so the whole block is dragged ~80px off the left edge and the
   page looks slanted with "Coupons"/"Estimated total" cut off. Below
   1100px the outdent can never be safe, so it is neutralised and the
   block is centred normally. Desktop keeps the theme's intended look. */
@media (max-width:1100px){
  .wp-block-woocommerce-cart.alignwide,
  .wp-block-woocommerce-checkout.alignwide,
  .wp-block-woocommerce-cart.alignfull,
  .wp-block-woocommerce-checkout.alignfull,
  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-checkout .wp-block-woocommerce-checkout{
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:100%!important;
  }
  /* Negative gutter on the "new in store" grid of an empty cart. */
  .wp-block-woocommerce-cart .wc-block-grid__products{
    margin-left:0!important;
    margin-right:0!important;
  }
  /* Nothing inside these blocks may exceed the screen. */
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout,
  .wp-block-woocommerce-cart *,
  .wp-block-woocommerce-checkout *{
    max-width:100%;
  }
}