/* Familia side cart, cart page and checkout: restyle only. Fields, shipping and payment keep their markup and scripts. */
:root{--fc-ink:#2b1747;--fc-purple:#5B2A86;--fc-soft:#F3EEFA;--fc-line:#E4DAF2;--fc-sun:#FFC82E;--fc-muted:#6b6680;--fc-green:#0F7F50}

/* ================= side cart ================= */
html body #pf-fc-launch{background:var(--fc-purple)!important;color:#fff!important;border:0!important;border-radius:99px!important;box-shadow:0 12px 28px #5b2a8659!important;font-weight:800!important;gap:8px;transition:transform .15s,background .15s}
html body #pf-fc-launch:hover{background:var(--fc-ink)!important;transform:translateY(-2px)}
html body #pf-floating-cart-count{background:var(--fc-sun)!important;color:var(--fc-ink)!important;font-weight:900!important;border-radius:99px!important;min-width:22px;height:22px;line-height:22px!important;padding:0 6px!important;text-align:center}
html body #pf-fc-dialog{width:min(440px,100vw)!important;border:0!important;border-radius:28px 0 0 28px!important;box-shadow:-20px 0 60px #2b174740!important;padding:0!important;background:#fff!important;color:var(--fc-ink)}
html body #pf-fc-dialog::backdrop{background:#1a0f2e73;backdrop-filter:blur(2px)}
html body #pf-fc-dialog .pf-fc-header{display:flex!important;align-items:center;justify-content:space-between;padding:22px 24px 16px!important;border-bottom:1px solid var(--fc-line)!important;background:linear-gradient(180deg,#F3EEFA,#fff)}
html body #pf-fc-dialog #pf-fc-title{margin:0!important;font-size:21px!important;font-weight:800!important;color:var(--fc-ink)!important}
html body #pf-fc-dialog #pf-fc-close{width:38px!important;height:38px!important;border-radius:50%!important;border:0!important;background:#fff!important;color:var(--fc-ink)!important;font-size:22px!important;line-height:1!important;box-shadow:0 4px 12px #2b17471f!important;cursor:pointer;padding:0!important;display:grid;place-items:center;transition:background .15s}
html body #pf-fc-dialog #pf-fc-close:hover{background:var(--fc-soft)!important}
html body #pf-fc-dialog #pf-fc-status:empty{display:none}
html body #pf-fc-dialog #pf-floating-cart-content{padding:8px 20px!important}
html body #pf-fc-dialog .pf-fc-items{margin:0!important;padding:0!important;list-style:none}
html body #pf-fc-dialog .pf-fc-item{display:flex!important;align-items:flex-start;gap:14px!important;padding:16px!important;margin:10px 0!important;border:1.5px solid var(--fc-line)!important;border-radius:20px;background:#fff;position:relative}
html body #pf-fc-dialog .pf-fc-item img{width:78px!important;height:78px!important;border-radius:16px!important;object-fit:cover;background:var(--fc-soft);flex:none}
html body #pf-fc-dialog .pf-fc-item > div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
html body #pf-fc-dialog .pf-fc-item strong{font-size:16px!important;font-weight:800!important;color:var(--fc-ink)!important;line-height:1.3;padding-left:52px}
html body #pf-fc-dialog .pf-fc-item > div > span:not(.pf-fc-price){align-self:flex-start;background:var(--fc-soft);color:var(--fc-purple);font-weight:800;font-size:12px;border-radius:99px;padding:3px 10px}
html body #pf-fc-dialog .pf-fc-details dl.variation{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:4px 0 0!important;font-size:13px;color:var(--fc-muted)}
html body #pf-fc-dialog .pf-fc-details dt{font-weight:700;margin:0!important;color:var(--fc-ink)}
html body #pf-fc-dialog .pf-fc-details dd{margin:0!important}
html body #pf-fc-dialog .pf-fc-details dd p{margin:0!important}
html body #pf-fc-dialog .pf-fc-price{font-size:19px!important;font-weight:800!important;color:var(--fc-purple)!important;margin-top:4px}
html body #pf-fc-dialog .pf-fc-remove{position:absolute;top:12px;left:12px;background:none!important;border:0!important;color:#a0405a!important;font-size:12px!important;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:4px!important;cursor:pointer;box-shadow:none!important;min-height:0}
html body #pf-fc-dialog .pf-fc-help{background:#FFF8E1;border-radius:14px;padding:10px 14px!important;font-size:13px!important;color:var(--fc-ink)!important;margin:6px 0 12px!important}
html body #pf-fc-dialog .pf-fc-footer{display:grid!important;gap:10px!important;padding:16px 20px 22px!important;border-top:1px solid var(--fc-line);background:#fff;box-shadow:0 -10px 24px #2b17470d}
html body #pf-fc-dialog .pf-fc-checkout{display:block;text-align:center;background:var(--fc-purple)!important;color:#fff!important;border:0!important;border-radius:99px!important;padding:15px 20px!important;font-size:17px!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 12px 26px #5b2a8644!important;transition:background .15s}
html body #pf-fc-dialog .pf-fc-checkout:hover{background:var(--fc-ink)!important}
html body #pf-fc-dialog #pf-fc-continue{background:#fff!important;color:var(--fc-ink)!important;border:1.5px solid var(--fc-line)!important;border-radius:99px!important;padding:12px 20px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important}
html body #pf-fc-dialog #pf-fc-continue:hover{border-color:var(--fc-purple)!important;color:var(--fc-purple)!important}
@media (max-width:480px){html body #pf-fc-dialog{border-radius:0!important}}

/* ================= shared: steps + secure line ================= */
.fb-steps{display:flex;justify-content:center;gap:0;list-style:none;margin:8px auto 30px!important;padding:0!important;max-width:620px;counter-reset:none}
.fb-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#9a95ad;position:relative;text-align:center;margin:0!important}
.fb-steps li span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--fc-line);color:#9a95ad;font-weight:800;position:relative;z-index:1}
.fb-steps li::before{content:"";position:absolute;top:19px;right:50%;width:100%;height:2px;background:var(--fc-line)}
.fb-steps li:first-child::before{display:none}
.fb-steps li.is-done,.fb-steps li.is-current{color:var(--fc-ink)}
.fb-steps li.is-done span{background:var(--fc-soft);border-color:var(--fc-purple);color:var(--fc-purple)}
.fb-steps li.is-current span{background:var(--fc-purple);border-color:var(--fc-purple);color:#fff;box-shadow:0 0 0 6px #5b2a861f}
.fb-steps li.is-done::before,.fb-steps li.is-current::before{background:var(--fc-purple)}
.fb-secure{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px!important;color:var(--fc-muted)!important;margin:12px 0 0!important;text-align:center}
.fb-secure::before{content:"";width:14px;height:14px;background:var(--fc-green);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a5 5 0 0 0-5 5v3H5v14h14V9h-2V6a5 5 0 0 0-5-5zm-3 8V6a3 3 0 0 1 6 0v3z'/%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'%3E%3Cpath d='M12 1a5 5 0 0 0-5 5v3H5v14h14V9h-2V6a5 5 0 0 0-5-5zm-3 8V6a3 3 0 0 1 6 0v3z'/%3E%3C/svg%3E") center/contain no-repeat}

/* shared form controls on cart + checkout */
.woocommerce-cart .woocommerce input.input-text,.woocommerce-checkout .woocommerce input.input-text,.woocommerce-checkout .woocommerce textarea,.woocommerce-checkout .woocommerce select{border:1.5px solid var(--fc-line)!important;border-radius:14px!important;background:#fff!important;padding:12px 14px!important;font-size:15px!important;color:var(--fc-ink)!important;box-shadow:none!important;min-height:48px;transition:border-color .15s,box-shadow .15s}
.woocommerce-cart .woocommerce input.input-text:focus,.woocommerce-checkout .woocommerce input.input-text:focus,.woocommerce-checkout .woocommerce textarea:focus{border-color:var(--fc-purple)!important;box-shadow:0 0 0 4px #5b2a861f!important;outline:0}
.woocommerce-checkout .select2-container .select2-selection--single{border:1.5px solid var(--fc-line)!important;border-radius:14px!important;height:48px!important;display:flex;align-items:center}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:46px!important}

/* shipping methods as selectable cards (cart + checkout) */
.woocommerce ul#shipping_method{margin:0!important;padding:0!important;list-style:none;display:flex;flex-direction:column;gap:8px}
.woocommerce ul#shipping_method li{margin:0!important;padding:12px 14px!important;border:1.5px solid var(--fc-line);border-radius:14px;background:#fff;display:flex!important;align-items:flex-start;gap:10px;text-align:right;line-height:1.5;cursor:pointer;transition:border-color .15s,background .15s}
.woocommerce ul#shipping_method li:hover{border-color:#cdb6ea}
.woocommerce ul#shipping_method li:has(input:checked){border-color:var(--fc-purple);background:var(--fc-soft);box-shadow:inset 0 0 0 1px var(--fc-purple)}
.woocommerce ul#shipping_method li input{margin:4px 0 0!important;accent-color:var(--fc-purple);flex:none;width:18px;height:18px}
.woocommerce ul#shipping_method li label{margin:0!important;font-size:14px;color:var(--fc-ink);cursor:pointer;font-weight:600}
.woocommerce ul#shipping_method li label .amount{display:block;color:var(--fc-purple);font-weight:800;font-size:15px;margin-top:2px}
.woocommerce .woocommerce-shipping-destination,.woocommerce .woocommerce-shipping-calculator{font-size:13px;color:var(--fc-muted)}

/* ================= cart page ================= */
.woocommerce-cart :is(.woocommerce,.woocommerce > code):has(> form.woocommerce-cart-form){display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start;font-family:inherit;white-space:normal}
.woocommerce-cart :is(.woocommerce,.woocommerce > code):has(> form.woocommerce-cart-form) > :not(form):not(.cart-collaterals){grid-column:1 / -1}
.woocommerce-cart .woocommerce .text-above-cart-content p{font-size:clamp(24px,2.6vw,32px)!important;font-weight:800!important;color:var(--fc-ink)!important;margin:0 0 14px!important;text-align:right}
.woocommerce-cart table.shop_table.cart{border:0!important;border-radius:24px!important;background:#fff;box-shadow:0 2px 0 #2b17470d,0 12px 30px #2b174716;overflow:hidden;border-collapse:separate!important}
.woocommerce-cart table.shop_table.cart thead th{background:var(--fc-soft)!important;color:var(--fc-ink)!important;font-weight:800!important;font-size:14px!important;border:0!important;padding:14px 12px!important}
.woocommerce-cart table.shop_table.cart td{border:0!important;border-top:1px solid var(--fc-line)!important;padding:18px 12px!important;vertical-align:middle}
.woocommerce-cart table.shop_table.cart td.product-thumbnail img{width:90px!important;border-radius:16px!important;background:var(--fc-soft)}
.woocommerce-cart table.shop_table.cart td.product-name > a{font-size:17px;font-weight:800;color:var(--fc-ink)!important}
.woocommerce-cart table.shop_table.cart td.product-name > a:hover{color:var(--fc-purple)!important}
.woocommerce-cart table.shop_table.cart dl.variation{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:8px 0 0!important;font-size:13px;color:var(--fc-muted)}
.woocommerce-cart table.shop_table.cart dl.variation dt{font-weight:700;color:var(--fc-ink);margin:0!important}
.woocommerce-cart table.shop_table.cart dl.variation dd,.woocommerce-cart table.shop_table.cart dl.variation dd p{margin:0!important}
.woocommerce-cart table.shop_table.cart td.product-price,.woocommerce-cart table.shop_table.cart td.product-subtotal{font-weight:800;color:var(--fc-ink)}
.woocommerce-cart table.shop_table.cart td.product-subtotal .amount{color:var(--fc-purple);font-size:18px}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove{width:34px!important;height:34px!important;line-height:32px!important;border-radius:50%!important;border:1.5px solid var(--fc-line)!important;color:#a0405a!important;background:#fff!important;font-size:20px!important;display:inline-grid!important;place-items:center;transition:background .15s}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover{background:#FDECEF!important}
.woocommerce-cart table.shop_table.cart .quantity{display:inline-flex!important;align-items:center;background:var(--fc-soft);border-radius:99px;padding:4px;gap:2px;border:0!important}
.woocommerce-cart table.shop_table.cart .quantity .minus,.woocommerce-cart table.shop_table.cart .quantity .plus{width:34px!important;height:34px!important;border-radius:50%!important;background:#fff!important;color:var(--fc-purple)!important;border:0!important;display:grid!important;place-items:center;font-weight:800;font-size:18px;line-height:1!important;box-shadow:0 2px 6px #2b174714;text-decoration:none!important}
.woocommerce-cart table.shop_table.cart .quantity .qty{width:52px!important;height:34px!important;min-height:0!important;border:0!important;background:transparent!important;font-weight:800!important;color:var(--fc-ink)!important;text-align:center;padding:0!important;box-shadow:none!important}
.woocommerce-cart table.shop_table.cart td.actions{background:#FBF8FF;padding:14px 16px!important}
.woocommerce-cart table.shop_table.cart td.actions .coupon{display:flex!important;gap:8px;align-items:center}
.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text{width:180px!important;min-height:44px}
.woocommerce-cart table.shop_table.cart td.actions .button{border-radius:99px!important;padding:11px 20px!important;font-weight:800!important;min-height:44px}
.woocommerce-cart table.shop_table.cart td.actions .coupon .button{background:var(--fc-ink)!important;color:#fff!important;border:0!important}
.woocommerce-cart table.shop_table.cart td.actions > .button[name="update_cart"]{background:#fff!important;color:var(--fc-purple)!important;border:1.5px solid var(--fc-purple)!important}
.woocommerce-cart table.shop_table.cart td.actions > .button[name="update_cart"]:disabled{opacity:.45}
.woocommerce-cart .cart-collaterals{width:auto!important;margin:0!important;position:sticky;top:120px}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%!important;float:none!important;background:#fff;border-radius:24px;padding:22px!important;box-shadow:0 2px 0 #2b17470d,0 12px 30px #2b174716}
.woocommerce-cart .cart-collaterals .cart_totals h2{font-size:20px!important;font-weight:800!important;color:var(--fc-ink)!important;margin:0 0 12px!important;text-align:right}
.woocommerce-cart .cart-collaterals .cart_totals table{border:0!important;width:100%}
.woocommerce-cart .cart-collaterals .cart_totals th,.woocommerce-cart .cart-collaterals .cart_totals td{border:0!important;border-bottom:1px solid var(--fc-line)!important;padding:12px 0!important;background:none!important;vertical-align:top}
.woocommerce-cart .cart-collaterals .cart_totals tr.shipping th,.woocommerce-cart .cart-collaterals .cart_totals tr.shipping td{display:block;width:100%!important;text-align:right}
.woocommerce-cart .cart-collaterals .cart_totals tr.shipping th{border-bottom:0!important;padding-bottom:4px!important;font-weight:800;color:var(--fc-ink)}
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total th,.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td{border-bottom:0!important;font-size:18px;font-weight:800;color:var(--fc-ink)}
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total .amount{font-size:26px;color:var(--fc-purple)}
.woocommerce-cart .wc-proceed-to-checkout{padding:14px 0 0!important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--fc-purple)!important;color:#fff!important;border-radius:99px!important;padding:17px 20px!important;font-size:18px!important;font-weight:800!important;box-shadow:0 14px 28px #5b2a8648!important;margin:0!important;transition:background .15s,transform .15s}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--fc-ink)!important;transform:translateY(-2px)}
@media (max-width:1024px){
  .woocommerce-cart :is(.woocommerce,.woocommerce > code):has(> form.woocommerce-cart-form){grid-template-columns:1fr}
  .woocommerce-cart .cart-collaterals{position:static}
}
@media (max-width:768px){
  .woocommerce-cart table.shop_table_responsive.cart{background:none;box-shadow:none;border-radius:0!important}
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item{display:block;background:#fff;border-radius:20px;box-shadow:0 8px 22px #2b174714;margin-bottom:14px;padding:6px 4px;position:relative}
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item td{border-top:0!important;padding:8px 14px!important}
  .woocommerce-cart table.shop_table.cart td.actions{border-radius:18px}
  .woocommerce-cart table.shop_table.cart td.actions .coupon{flex-wrap:wrap}
  .woocommerce-cart table.shop_table.cart td.actions .coupon .input-text{flex:1;width:auto!important}
}

/* ================= checkout ================= */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{background:var(--fc-soft)!important;border:0!important;border-radius:16px!important;color:var(--fc-ink)!important;padding:14px 18px!important;font-size:14px}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{color:var(--fc-purple)!important}
.woocommerce-checkout .woocommerce-form-coupon-toggle a{color:var(--fc-purple)!important;font-weight:800}
.woocommerce-checkout form.checkout_coupon{border:1.5px dashed #cdb6ea!important;border-radius:18px!important;padding:16px!important;background:#FBF8FF}
.woocommerce-checkout form.checkout_coupon .button{border-radius:99px!important;background:var(--fc-ink)!important;color:#fff!important;font-weight:800!important;min-height:48px}
.woocommerce-checkout form.woocommerce-checkout{display:grid!important;grid-template-columns:minmax(0,1fr) 440px;grid-template-areas:"notice notice" "details head" "details review";grid-template-rows:auto auto 1fr;column-gap:28px;align-items:start}
.woocommerce-checkout form.woocommerce-checkout > *{float:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}
.woocommerce-checkout form.woocommerce-checkout > .woocommerce-NoticeGroup{grid-area:notice}
.woocommerce-checkout form.woocommerce-checkout > #customer_details{grid-area:details}
.woocommerce-checkout form.woocommerce-checkout > #order_review_heading{grid-area:head;margin:0!important;padding:22px 22px 10px!important;background:#fff;border-radius:24px 24px 0 0;font-size:20px!important;font-weight:800!important;color:var(--fc-ink)!important;box-shadow:0 -6px 20px #2b17470a}
.woocommerce-checkout form.woocommerce-checkout > #order_review{grid-area:review;background:#fff;border-radius:0 0 24px 24px;padding:0 22px 22px!important;box-shadow:0 14px 30px #2b174716;position:sticky;top:120px}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none!important;width:100%!important;max-width:none!important}
.woocommerce-checkout #customer_details .woocommerce-billing-fields,.woocommerce-checkout #customer_details .woocommerce-shipping-fields,.woocommerce-checkout #customer_details .woocommerce-additional-fields{background:#fff;border-radius:24px;padding:22px 24px 10px!important;box-shadow:0 2px 0 #2b17470d,0 12px 30px #2b174716;margin-bottom:18px}
.woocommerce-checkout #customer_details .woocommerce-shipping-fields{padding-bottom:20px!important}
.woocommerce-checkout #customer_details h3{font-size:20px!important;font-weight:800!important;color:var(--fc-ink)!important;margin:0 0 14px!important;padding:0!important;border:0!important}
.woocommerce-checkout #customer_details h3#ship-to-different-address{font-size:16px!important;margin:0!important}
.woocommerce-checkout #customer_details h3#ship-to-different-address input{accent-color:var(--fc-purple);width:18px;height:18px;margin-left:8px}
.woocommerce-checkout #customer_details .form-row{margin-bottom:14px!important}
.woocommerce-checkout #customer_details .form-row label{font-weight:700;font-size:14px;color:var(--fc-ink);margin-bottom:6px!important}
.woocommerce-checkout #customer_details .form-row label .required{color:#c0304a;text-decoration:none}
.woocommerce-checkout #customer_details .form-row.woocommerce-invalid input.input-text{border-color:#e0607a!important}
.woocommerce-checkout #customer_details .pf-address-type .radio-items-wrap{display:flex!important;flex-wrap:wrap;gap:8px}
.woocommerce-checkout #customer_details .pf-address-type .radio-items-wrap > span{display:inline-flex!important;align-items:center;gap:8px;border:1.5px solid var(--fc-line);border-radius:99px;padding:8px 16px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.woocommerce-checkout #customer_details .pf-address-type .radio-items-wrap > span:has(input:checked){border-color:var(--fc-purple);background:var(--fc-soft)}
.woocommerce-checkout #customer_details .pf-address-type .radio-items-wrap > span label{margin:0!important;font-weight:700;cursor:pointer}
.woocommerce-checkout #customer_details .pf-address-type .radio-items-wrap > span:has(input:checked) label{color:var(--fc-purple)}
.woocommerce-checkout #customer_details .pf-address-type input{accent-color:var(--fc-purple);margin:0!important;width:17px;height:17px}
.woocommerce-checkout #order_review table.shop_table{border:0!important;margin:0 0 14px!important;width:100%}
.woocommerce-checkout #order_review table.shop_table th,.woocommerce-checkout #order_review table.shop_table td{border:0!important;border-bottom:1px solid var(--fc-line)!important;padding:12px 0!important;background:none!important;vertical-align:top}
.woocommerce-checkout #order_review table.shop_table thead th{font-size:13px;color:var(--fc-muted);font-weight:700}
.woocommerce-checkout #order_review td.product-name{font-weight:800;color:var(--fc-ink);font-size:15px;width:65%}
.woocommerce-checkout #order_review td.product-name .product-quantity{color:var(--fc-purple)}
.woocommerce-checkout #order_review td.product-name dl.variation{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:6px 0 0!important;font-size:13px;font-weight:500;color:var(--fc-muted)}
.woocommerce-checkout #order_review td.product-name dl.variation dt{font-weight:700;color:var(--fc-ink);margin:0!important}
.woocommerce-checkout #order_review td.product-name dl.variation dd,.woocommerce-checkout #order_review td.product-name dl.variation dd p{margin:0!important}
.woocommerce-checkout #order_review td.product-total{font-weight:800;color:var(--fc-ink);text-align:left}
.woocommerce-checkout #order_review tr.shipping th,.woocommerce-checkout #order_review tr.shipping td{display:block;width:100%!important;text-align:right}
.woocommerce-checkout #order_review tr.shipping th{border-bottom:0!important;padding-bottom:4px!important;font-weight:800;color:var(--fc-ink)}
.woocommerce-checkout #order_review tr.order-total th,.woocommerce-checkout #order_review tr.order-total td{border-bottom:0!important;font-size:18px;font-weight:800;color:var(--fc-ink)}
.woocommerce-checkout #order_review tr.order-total .amount{font-size:26px;color:var(--fc-purple)}
.woocommerce-checkout #payment{background:none!important;border-radius:0!important}
.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:0!important;margin:0 0 6px!important;display:flex;flex-direction:column;gap:8px}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{border:1.5px solid var(--fc-line);border-radius:16px;padding:12px 14px!important;margin:0!important;background:#fff;transition:border-color .15s,background .15s;list-style:none}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(> input:checked){border-color:var(--fc-purple);background:var(--fc-soft);box-shadow:inset 0 0 0 1px var(--fc-purple)}
.woocommerce-checkout #payment ul.payment_methods li > input{accent-color:var(--fc-purple);width:18px;height:18px;vertical-align:middle;margin:0 0 0 8px!important}
.woocommerce-checkout #payment ul.payment_methods li > label{font-weight:800;color:var(--fc-ink);cursor:pointer;display:inline-flex!important;align-items:center;gap:10px;margin:0!important}
.woocommerce-checkout #payment ul.payment_methods li > label img{max-height:26px;width:auto}
.woocommerce-checkout #payment div.payment_box{background:#fff!important;border-radius:12px!important;color:var(--fc-muted)!important;font-size:13px;margin:10px 0 0!important;padding:10px 12px!important}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}
.woocommerce-checkout #payment .place-order{padding:10px 0 0!important;margin:0!important;background:none!important}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--fc-muted)}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a{color:var(--fc-purple)!important;font-weight:700}
.woocommerce-checkout #payment #place_order{width:100%;background:var(--fc-purple)!important;color:#fff!important;border:0!important;border-radius:99px!important;padding:17px 20px!important;font-size:18px!important;font-weight:800!important;box-shadow:0 14px 28px #5b2a8648!important;transition:background .15s,transform .15s;float:none!important}
.woocommerce-checkout #payment #place_order:hover{background:var(--fc-ink)!important;transform:translateY(-2px)}
@media (max-width:1024px){
  .woocommerce-checkout form.woocommerce-checkout{grid-template-columns:1fr;grid-template-areas:"notice" "details" "head" "review"}
  .woocommerce-checkout form.woocommerce-checkout > #order_review{position:static}
}
@media (max-width:640px){
  .woocommerce-checkout #customer_details .woocommerce-billing-fields,.woocommerce-checkout #customer_details .woocommerce-shipping-fields,.woocommerce-checkout #customer_details .woocommerce-additional-fields{padding:18px 16px 6px!important;border-radius:20px}
  .woocommerce-checkout form.woocommerce-checkout > #order_review_heading{padding:18px 16px 8px!important}
  .woocommerce-checkout form.woocommerce-checkout > #order_review{padding:0 16px 18px!important}
  .fb-steps li{font-size:12px}
}

/* totals tables (cart sidebar + checkout summary): the theme keeps a narrow table layout, so rows become flex lines */
.woocommerce .cart_totals table.shop_table,.woocommerce .cart_totals table.shop_table tbody,.woocommerce-checkout #order_review table.shop_table tfoot{display:block!important;width:100%!important}
.woocommerce .cart_totals table.shop_table tr,.woocommerce-checkout #order_review table.shop_table tfoot tr{display:flex!important;justify-content:space-between;align-items:baseline;gap:12px;width:100%;border-bottom:1px solid var(--fc-line)}
.woocommerce .cart_totals table.shop_table tr th,.woocommerce .cart_totals table.shop_table tr td,.woocommerce-checkout #order_review table.shop_table tfoot th,.woocommerce-checkout #order_review table.shop_table tfoot td{display:block!important;border:0!important;width:auto!important;padding:12px 0!important}
.woocommerce .cart_totals table.shop_table tr.shipping,.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping{display:block!important}
.woocommerce .cart_totals table.shop_table tr.shipping th,.woocommerce .cart_totals table.shop_table tr.shipping td,.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping th,.woocommerce-checkout #order_review table.shop_table tfoot tr.shipping td{width:100%!important}
.woocommerce .cart_totals table.shop_table tr.shipping td::before{display:none!important}
.woocommerce .cart_totals table.shop_table tr.order-total,.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total{border-bottom:0}
.woocommerce .cart_totals table.shop_table tr.order-total .amount,.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total .amount{font-size:26px!important}
.woocommerce-cart .cart-collaterals .cart_totals h2{background:none!important;border:0!important;padding:0!important}
.woocommerce-cart .woocommerce .amount,.woocommerce-checkout .woocommerce .amount{color:var(--fc-purple)!important}
.woocommerce ul#shipping_method li label{flex:1}
.woocommerce ul#shipping_method li label .amount{display:block!important;float:none!important;margin:4px 0 0!important}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{display:flex;flex-wrap:wrap;align-items:center}
.woocommerce-checkout #payment ul.payment_methods li > label{flex:1;justify-content:space-between}
.woocommerce-checkout #payment ul.payment_methods li > div.payment_box{flex:1 1 100%}
html body #pf-fc-dialog .pf-fc-price .amount,html body #pf-fc-dialog .pf-fc-price bdi{color:var(--fc-purple)!important}
/* checkout summary: the whole table as blocks, so the footer rows get the full card width */
.woocommerce-checkout #order_review table.shop_table,.woocommerce-checkout #order_review table.shop_table thead,.woocommerce-checkout #order_review table.shop_table tbody{display:block!important;width:100%!important}
.woocommerce-checkout #order_review table.shop_table thead tr,.woocommerce-checkout #order_review table.shop_table tbody tr{display:flex!important;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;border-bottom:1px solid var(--fc-line)}
.woocommerce-checkout #order_review table.shop_table thead th,.woocommerce-checkout #order_review table.shop_table tbody td{display:block!important;border:0!important}
.woocommerce-checkout #order_review table.shop_table tbody td.product-name{flex:1;width:auto!important}
.woocommerce-checkout #order_review table.shop_table tbody td.product-total{width:auto!important;white-space:nowrap}
.woocommerce-checkout #payment ul.payment_methods li > label img{max-width:110px!important;height:auto!important;max-height:none!important;flex:none}
/* mobile: WooCommerce repeats each totals label before the value; the row label is already shown */
.woocommerce .cart_totals table.shop_table td::before,.woocommerce-checkout #order_review table.shop_table tfoot td::before{display:none!important}
@media (max-width:640px){.woocommerce-checkout #payment ul.payment_methods li > label{flex-wrap:wrap;justify-content:flex-start}}

/* My account: login / register cards, account menu as a side card */
body.woocommerce-account .woocommerce{max-width:1100px;margin:0 auto 60px}
body.woocommerce-account #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:24px}
body.woocommerce-account #customer_login > div{float:none!important;width:auto!important;padding:0!important}
body.woocommerce-account #customer_login h2,body.woocommerce-account .woocommerce > h2{font-size:24px;font-weight:900;color:#2b1747;margin:0 0 14px}
body.woocommerce-account form.woocommerce-form-login,body.woocommerce-account form.woocommerce-form-register,body.woocommerce-account form.lost_reset_password{background:#fff;border:1px solid #E4DAF2!important;border-radius:20px!important;padding:26px!important;margin:0!important;box-shadow:0 12px 30px #2b17470f}
body.woocommerce-account .woocommerce form .form-row label{font-weight:700;color:#2b1747;font-size:14px}
body.woocommerce-account .woocommerce form .input-text{border:1.5px solid #E4DAF2!important;border-radius:12px!important;min-height:46px;padding:10px 14px!important;background:#FBF8FF!important}
body.woocommerce-account .woocommerce form .input-text:focus{border-color:#5B2A86!important;background:#fff!important;box-shadow:0 0 0 4px #5b2a861f;outline:0}
body.woocommerce-account .woocommerce button.button{background:#5B2A86!important;color:#fff!important;border:0!important;border-radius:99px!important;padding:13px 30px!important;font-weight:800!important;font-size:16px!important;box-shadow:0 10px 22px #5B2A8633}
body.woocommerce-account .woocommerce button.button:hover{background:#43196a!important}
body.woocommerce-account .woocommerce-LostPassword a,body.woocommerce-account .woocommerce-privacy-policy-text a{color:#5B2A86;font-weight:700}
body.woocommerce-account .woocommerce-MyAccount-navigation{background:#F3EEFA;border-radius:20px;padding:14px}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
body.woocommerce-account .woocommerce-MyAccount-navigation li{border:0!important;margin:0}
body.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:11px 16px;border-radius:12px;color:#2b1747!important;font-weight:700;text-decoration:none!important}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#fff}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:#5B2A86;color:#fff!important}
body.woocommerce-account .woocommerce-MyAccount-content{background:#fff;border:1px solid #E4DAF2;border-radius:20px;padding:26px}
body.woocommerce-account .woocommerce-MyAccount-content a{color:#5B2A86;font-weight:700}
body.woocommerce-account table.shop_table{border-radius:14px;overflow:hidden;border-color:#E4DAF2!important}
@media (max-width:767px){
  body.woocommerce-account #customer_login{grid-template-columns:1fr}
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{flex-direction:row;overflow-x:auto;scrollbar-width:none}
  body.woocommerce-account .woocommerce-MyAccount-navigation li a{white-space:nowrap}
  body.woocommerce-account .woocommerce-MyAccount-content{padding:18px}
}
/* signed in: menu and content side by side, full width of the page */
@media (min-width:768px){
  body.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
  body.woocommerce-account.logged-in .woocommerce > *{grid-column:1/-1}
  body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-tabs,body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation{grid-column:1;float:none!important;width:auto!important;margin:0!important;position:sticky;top:120px}
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content{grid-column:2;float:none!important;width:auto!important;min-height:280px}
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child{font-size:18px;color:#2b1747}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message{background:#F3EEFA!important;border:0!important;border-radius:14px!important;color:#2b1747!important}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button{background:#5B2A86!important;color:#fff!important;border-radius:99px!important;padding:10px 22px!important;font-weight:800!important}
body.woocommerce-account .woocommerce-MyAccount-content a.button,body.woocommerce-account .woocommerce-orders-table .button{background:#F3EEFA!important;color:#5B2A86!important;border:0!important;border-radius:99px!important;padding:8px 18px!important;font-weight:800!important}
body.woocommerce-account .woocommerce-MyAccount-content a.button:hover,body.woocommerce-account .woocommerce-orders-table .button:hover{background:#5B2A86!important;color:#fff!important}

/* theme buttons still in the old teal: file upload labels, the individual order form, contact form 7 submits, add-to-cart popup */
html body:not(#fb-x) label.pf-file-label{display:inline-flex!important;align-items:center;gap:8px;background:#F3EEFA!important;color:#5B2A86!important;border:1.5px dashed #b99ad8!important;border-radius:99px!important;padding:11px 22px!important;font-weight:800!important;font-size:15px!important;cursor:pointer;transition:background .15s,border-color .15s}
html body:not(#fb-x) label.pf-file-label:hover{background:#EADFF7!important;border-color:#5B2A86!important}
html body:not(#fb-x) label.pf-file-label svg{width:16px!important;height:16px!important;fill:#5B2A86!important}
html body:not(#fb-x) label.pf-file-label svg path{fill:#5B2A86!important}
html body:not(#fb-x) #photo-confirm-order-btn,html body:not(#fb-x) .pf-individual-checkout .archive-btn{background:#5B2A86!important;color:#fff!important;border:0!important;border-radius:99px!important;padding:16px 40px!important;font-weight:800!important;font-size:18px!important;box-shadow:0 12px 26px #5B2A8638!important;transition:background .15s,transform .15s;min-width:240px}
html body:not(#fb-x) #photo-confirm-order-btn:hover,html body:not(#fb-x) .pf-individual-checkout .archive-btn:hover{background:#43196a!important;transform:translateY(-2px)}
html body:not(#fb-x) input.wpcf7-submit,html body:not(#fb-x) #popup-add-to-cart{background:#5B2A86!important;color:#fff!important;border:0!important;border-radius:99px!important;padding:13px 30px!important;font-weight:800!important;font-size:16px!important;box-shadow:0 10px 22px #5B2A8633!important;cursor:pointer}
html body:not(#fb-x) input.wpcf7-submit:hover,html body:not(#fb-x) #popup-add-to-cart:hover{background:#43196a!important}
html body:not(#fb-x) #popup-cancel-adding-to-cart{background:#fff!important;color:#5B2A86!important;border:1.5px solid #E4DAF2!important;border-radius:99px!important;padding:12px 26px!important;font-weight:800!important}
html body:not(#fb-x) #popup-cancel-adding-to-cart:hover{border-color:#5B2A86!important}
/* individual order form fields */
html body:not(#fb-x) .pf-individual-checkout-page .cart-input-wrap input[type=text],html body:not(#fb-x) .pf-individual-checkout-page .cart-input-wrap input[type=email],html body:not(#fb-x) .pf-individual-checkout-page .cart-input-wrap input[type=tel],html body:not(#fb-x) .pf-individual-checkout-page .cart-input-wrap textarea,html body:not(#fb-x) .pf-individual-checkout-page .cart-input-wrap select{border:1.5px solid #E4DAF2!important;border-radius:12px!important;background:#FBF8FF!important;min-height:46px;padding:10px 14px!important}
html body:not(#fb-x) .pf-individual-checkout-page .cart-input-wrap input:focus,html body:not(#fb-x) .pf-individual-checkout-page .cart-input-wrap textarea:focus{border-color:#5B2A86!important;background:#fff!important;box-shadow:0 0 0 4px #5b2a861f;outline:0}
html body:not(#fb-x) .pf-individual-checkout-page .cart-input-label{font-weight:800!important;color:#2b1747!important}
html body:not(#fb-x) .pf-individual-checkout-page input[type=radio]{accent-color:#5B2A86}
