/* =====================================================================
   WooCommerce: product, cart, checkout, my-account, login/register
   ===================================================================== */
.bdi{unicode-bidi:plaintext}

/* ---------- Product single ---------- */
.product-wrap{display:flex;flex-direction:column;gap:24px;padding:6px 0 10px}
.product-summary{display:flex;flex-direction:column;gap:0}
.product-summary__title{font-size:24px;line-height:1.35;margin-bottom:0}

/* --- Rating (stars) --- */
.product-summary__rating{display:flex;align-items:center;gap:10px;margin-top:10px}
.product-summary__rating .star-rating{display:inline-flex;align-items:center;gap:2px;font-size:0;direction:ltr}
.product-summary__rating .star-rating .star{width:18px;height:18px;color:var(--fl-warning)}
.product-summary__rating .star-rating .star--empty,.star-rating .star--empty{fill:none;stroke:var(--fl-border-2);stroke-width:2;color:transparent}
.product-summary__rating .star-rating-num{font-size:14px;font-weight:800;color:var(--fl-text);margin-inline-start:4px}
.product-summary__rating .rating-count{font-size:13px;color:var(--fl-muted);font-weight:700}

/* --- Price --- */
.product-summary__price .price,.woocommerce div.product p.price,.woocommerce div.product span.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;color:var(--fl-text);font-size:34px;font-weight:900;line-height:1;margin:14px 0 0}
.product-summary__price .price .price-tag,.woocommerce div.product p.price .price-tag,.woocommerce div.product span.price .price-tag{color:var(--fl-text);display:inline-flex;align-items:baseline;gap:3px}
.product-summary__price .price .price-tag .amount,.woocommerce div.product p.price .price-tag .amount,.woocommerce div.product span.price .price-tag .amount{font-size:34px}
.product-summary__price .price .price-tag .woocommerce-Price-currencySymbol,.woocommerce div.product p.price .price-tag .woocommerce-Price-currencySymbol,.woocommerce div.product span.price .price-tag .woocommerce-Price-currencySymbol{font-size:20px;font-weight:800}
.product-summary__price .price del,.woocommerce div.product p.price del,.woocommerce div.product span.price del{order:2;color:var(--fl-muted-2);font-size:16px;font-weight:600;text-decoration:line-through;text-decoration-thickness:1.5px;opacity:.85}
.product-summary__price .price del .amount,.woocommerce div.product p.price del .amount,.woocommerce div.product span.price del .amount{font-size:16px}
.product-summary__price .price ins,.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{order:1;text-decoration:none;color:var(--fl-text)}
.product-summary__price .price .fl-price-off,.woocommerce div.product p.price .fl-price-off,.woocommerce div.product span.price .fl-price-off{order:3;display:inline-flex;align-items:center;font-size:13px;font-weight:800;color:#fff;background:var(--fl-danger);padding:4px 10px;border-radius:var(--fl-radius-pill);line-height:1}

/* --- Short description --- */
.product-summary__desc{color:var(--fl-muted);font-size:14px;line-height:1.9;margin-top:16px;padding:14px;background:var(--fl-surface-2);border-radius:var(--fl-radius-sm);border:1px solid var(--fl-border-2)}

/* --- Product buy section --- */
.product-buy{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.product-buy--oos{margin-top:14px}
.oos-badge{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border-radius:var(--fl-radius-sm);background:color-mix(in srgb,var(--fl-danger) 9%,transparent);border:1px solid color-mix(in srgb,var(--fl-danger) 28%,transparent);color:var(--fl-danger);font-weight:800;font-size:13.5px}
.oos-badge .i{width:18px;height:18px}
.product-buy__cart{flex:1;min-height:48px;display:inline-flex;align-items:center;gap:8px}
.product-buy__cart.is-loading{opacity:.65;pointer-events:none}
.product-buy__cart.is-loading .i{animation:fl-spin .8s linear infinite}
.product-buy__cart.is-added{background:var(--fl-success)!important;box-shadow:0 10px 22px -10px var(--fl-success)!important}
.product-buy__cart.is-disabled{opacity:.55;pointer-events:none;cursor:not-allowed;filter:saturate(.6)}
.fl-add-msg{flex-basis:100%;margin:0;font-size:13px;font-weight:700}
.fl-add-msg--ok{color:var(--fl-success)}
.fl-add-msg--error{color:var(--fl-danger);background:color-mix(in srgb,var(--fl-danger) 9%,transparent);border:1px solid color-mix(in srgb,var(--fl-danger) 28%,transparent);padding:9px 14px;border-radius:var(--fl-radius-sm)}
@keyframes fl-spin{to{transform:rotate(360deg)}}

/* --- Add to cart form --- */
.woocommerce div.product form.cart{display:flex;align-items:stretch;gap:10px;margin-top:20px;flex-wrap:wrap}
.quantity,.woocommerce .quantity{display:inline-flex;align-items:center;border:1px solid var(--fl-border-2);border-radius:var(--fl-radius-sm);overflow:hidden;background:var(--fl-surface);flex:none}
.quantity .qty,.woocommerce .quantity .qty{width:58px;height:48px;border:none;text-align:center;font-weight:800;font-size:16px;-moz-appearance:textfield;background:none;color:var(--fl-text);box-shadow:none}
.quantity .qty::-webkit-outer-spin-button,.quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.single_add_to_cart_button.button.alt,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--fl-grad)!important;color:#fff!important;border-radius:var(--fl-radius-sm)!important;padding:14px 22px!important;font-weight:800!important;box-shadow:0 10px 22px -10px var(--fl-primary)!important}
.single_add_to_cart_button{flex:1;min-height:48px}

/* --- Product meta (professional) --- */
.product-meta{margin-top:20px;display:flex;flex-direction:column;gap:0;font-size:13px;background:var(--fl-surface);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);overflow:hidden}
.product-meta__row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--fl-border-2)}
.product-meta__row:last-child{border-bottom:none}
.product-meta__label{font-weight:800;color:var(--fl-text);flex:none;min-width:80px;display:flex;align-items:center;gap:6px}
.product-meta__label .i{width:16px;height:16px;color:var(--fl-primary)}
.product-meta a{color:var(--fl-primary);font-weight:700}
.product-meta a:hover{text-decoration:underline}
.product-meta .product_meta__sku{font-family:monospace;font-size:12px;background:var(--fl-surface-2);padding:2px 8px;border-radius:6px}
.product-meta .stock{display:inline-flex;align-items:center;gap:5px;font-weight:800;padding:3px 10px;border-radius:var(--fl-radius-pill);font-size:12px}
.product-meta .stock.in-stock{background:color-mix(in srgb,var(--fl-success) 12%,transparent);color:var(--fl-success)}
.product-meta .stock.out-of-stock{background:color-mix(in srgb,var(--fl-danger) 12%,transparent);color:var(--fl-danger)}

/* Star rating */
.star-rating,.woocommerce .star-rating{display:inline-flex;color:var(--fl-warning);font-size:15px;direction:ltr}

/* Custom star rating (replaces default "X من 5 نجوم") */
.fl-star-rating{display:inline-flex;align-items:center;gap:2px;direction:ltr}
.fl-star-rating .star{width:16px;height:16px;color:var(--fl-warning)}
.fl-star-rating .star--empty{fill:none;stroke:var(--fl-border-2);stroke-width:2;color:transparent}
.fl-rating-count{margin-inline-start:4px;font-size:12px;font-weight:700;color:var(--fl-muted)}

/* ---------- Tabs (product) - fixed ---------- */
.woocommerce-tabs{margin-top:30px;margin-bottom:80px}
.woocommerce-tabs ul.tabs{display:flex;gap:8px;list-style:none;overflow-x:auto;padding-bottom:2px;margin:0 0 0;-webkit-overflow-scrolling:touch}
.woocommerce-tabs ul.tabs li{white-space:nowrap;flex:none;margin:0}
.woocommerce-tabs ul.tabs li a{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--fl-radius-pill);background:var(--fl-surface);border:1px solid var(--fl-border-2);font-weight:800;font-size:13.5px;color:var(--fl-muted);transition:all .2s}
.woocommerce-tabs ul.tabs li a:hover{color:var(--fl-primary);border-color:var(--fl-primary-ring)}
.woocommerce-tabs ul.tabs li.active a{background:var(--fl-grad);color:#fff;border-color:transparent}
.woocommerce-tabs ul.tabs li a .count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--fl-radius-pill);background:rgba(255,255,255,.2);font-size:11px;font-weight:800}
.woocommerce-tabs ul.tabs li.active a .count{background:rgba(255,255,255,.3)}
.woocommerce-tabs .panel{border:1px solid var(--fl-border-2);border-radius:0 0 var(--fl-radius) var(--fl-radius);padding:24px;background:var(--fl-surface);margin-top:16px}
.woocommerce-tabs .panel[style*="display: none"],
.woocommerce-tabs .panel[style*="display:none"]{display:none!important}
.woocommerce-tabs .panel[style*="display: block"],
.woocommerce-tabs .panel[style*="display:block"]{display:block!important}
.woocommerce-tabs .panel h2{font-size:19px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--fl-border-2)}
.woocommerce-tabs .panel>h2:first-child{visibility:hidden;height:0;margin:0;padding:0;border:none;overflow:hidden}
.woocommerce-tabs .panel p{margin:0 0 1em;line-height:2;color:var(--fl-muted)}
.woocommerce-tabs .panel ul{list-style:none;padding:0;margin:0 0 1em}
.woocommerce-tabs .panel ul li{padding:8px 0;border-bottom:1px solid var(--fl-border);display:flex;align-items:center;gap:8px}
.woocommerce-tabs .panel ul li:last-child{border-bottom:none}

/* Mobile: extra bottom padding for sticky-buy */
@media (max-width:991px){
  .woocommerce-tabs{margin-bottom:100px}
}

/* --- Reviews section --- */
.woocommerce-Reviews{padding:0}
#reviews #comments{margin:0 0 20px}
#reviews #comments h2{font-size:18px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--fl-border-2)}
.woocommerce .commentlist{list-style:none;padding:0;margin:0}
.woocommerce .commentlist .comment{padding:18px;background:var(--fl-surface-2);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius-sm);margin-bottom:12px}
.woocommerce .commentlist .comment .comment-text{border:none;padding:0;margin:0}
.woocommerce .commentlist .comment .star-rating{margin-bottom:6px}
.woocommerce .commentlist .comment .fl-star-rating .star{width:14px;height:14px}
.woocommerce .commentlist .comment .fl-rating-count{font-size:11px}
.woocommerce .commentlist .comment .description{font-size:14px;line-height:1.8;color:var(--fl-muted);margin-top:8px}
.woocommerce .commentlist .comment .comment-meta{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.woocommerce .commentlist .comment .comment-meta img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.woocommerce .commentlist .comment .comment-meta .comment-author{font-weight:800;font-size:14px;color:var(--fl-text)}
.woocommerce .commentlist .comment .comment-meta .comment-metadata{font-size:12px;color:var(--fl-muted-2)}
.woocommerce .commentlist .comment .comment-meta .comment-metadata a{text-decoration:none;color:var(--fl-muted)}
/* Review form */
#review_form{margin-top:20px;padding-top:20px;border-top:1px solid var(--fl-border-2)}
#review_form #respond h3{font-size:16px;margin:0 0 14px}
.comment-form-rating{margin-bottom:14px}
.comment-form-rating #comment-form-rating-label{display:block;font-weight:700;font-size:13px;margin-bottom:8px;color:var(--fl-text)}
.fl-stars{display:inline-flex;flex-direction:row-reverse;gap:4px;direction:ltr;justify-content:flex-start}
.fl-stars input{position:absolute;opacity:0;pointer-events:none}
.fl-stars label{cursor:pointer;display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;color:var(--fl-border-2);transition:transform .15s,color .15s,background .15s,filter .15s}
.fl-stars .fl-stars__svg{width:26px;height:26px;display:block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}
.fl-stars label:hover{transform:translateY(-2px) scale(1.05)}
.fl-stars label:hover~label,.fl-stars label:hover,
.fl-stars input:checked~label{color:var(--fl-warning)}
.fl-stars label:hover,.fl-stars input:checked~label{background:color-mix(in srgb,var(--fl-warning) 12%,transparent)}
.fl-stars input:focus-visible+label{outline:2px solid var(--fl-primary);outline-offset:2px}
/* Submit button (themed) */
#review_form #respond .form-submit{margin:0;padding-top:4px}
#review_form #respond .form-submit .submit{border-radius:var(--fl-radius-pill);padding:13px 26px;min-width:170px}
#review_form #respond .form-submit .submit:hover{transform:translateY(-1px)}
/* Already reviewed notice */
.fl-already-reviewed{display:flex;align-items:center;gap:10px;padding:16px 18px;border-radius:var(--fl-radius-sm);background:color-mix(in srgb,var(--fl-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--fl-success) 30%,transparent);color:var(--fl-success);font-weight:700;font-size:14px}
.fl-already-reviewed .i{flex:none;width:22px;height:22px}
.fl-stars input:disabled~label{opacity:.55;cursor:not-allowed}

/* ---------- Related (use product-card) ---------- */
.related.products{margin-top:24px}
.related.products>h2{font-size:20px;margin-bottom:16px}

/* Desktop two column */
@media (min-width:992px){
  .product-wrap{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding-top:12px}
  .product-summary__title{font-size:30px}
}

/* =====================================================================
   Cart
   ===================================================================== */
.woocommerce-cart-form{background:var(--fl-surface);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:6px;margin-top:14px;overflow-x:auto}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;font-size:14px}
.woocommerce table.shop_table th{background:var(--fl-surface-2);padding:13px 14px;text-align:right;font-weight:800;font-size:12.5px;color:var(--fl-muted)}
.woocommerce table.shop_table td{padding:14px;border-bottom:1px solid var(--fl-border-2);vertical-align:middle}
.woocommerce table.shop_table tr:last-child td{border-bottom:none}
.woocommerce-cart-form .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:12px;border:1px solid var(--fl-border-2)}
.woocommerce-cart-form .product-name a{font-weight:800;color:var(--fl-text)}
.woocommerce-cart-form .product-name a:hover{color:var(--fl-primary)}
.woocommerce-cart-form .product-remove a{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--fl-surface-2);color:var(--fl-danger);font-weight:800;font-size:16px}
.woocommerce-cart-form .product-remove a:hover{background:var(--fl-danger);color:#fff}
.woocommerce-cart-form .actions{display:flex;flex-direction:column;gap:12px;padding:16px!important;background:var(--fl-surface-2);border-top:1px solid var(--fl-border-2)!important}
.woocommerce .coupon{display:flex;gap:8px;flex:1}
.woocommerce .coupon input{flex:1;min-width:0}
.woocommerce .coupon .button,.woocommerce-cart-form .actions .button{border-radius:var(--fl-radius-sm);background:var(--fl-primary);color:#fff;padding:12px 18px;font-weight:800}

/* Cart totals */
.cart_totals{background:var(--fl-surface);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:22px;margin-top:18px}
.cart_totals>h2{font-size:17px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--fl-border-2)}
.cart_totals table{width:100%;font-size:14px;border-collapse:collapse}
.cart_totals th{padding:10px 0;text-align:right;font-weight:700;color:var(--fl-muted)}
.cart_totals td{padding:10px 0;text-align:left;font-weight:700}
.cart_totals .order-total th,.cart_totals .order-total td{font-size:18px;font-weight:900;color:var(--fl-text);border-top:1px solid var(--fl-border-2);padding-top:14px;margin-top:8px}
.woocommerce a.checkout-button.button{display:flex;justify-content:center;align-items:center;background:var(--fl-grad);color:#fff;border-radius:var(--fl-radius-sm);padding:16px;font-weight:800;font-size:16px;width:100%;margin-top:18px;box-shadow:0 10px 22px -10px var(--fl-primary)}
.woocommerce a.checkout-button.button:hover{transform:translateY(-1px)}
@media (min-width:992px){
  .woocommerce .cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start}
}

/* =====================================================================
   Checkout
   ===================================================================== */
.woocommerce-checkout{display:flex!important;flex-direction:column!important;gap:20px!important}
.woocommerce form.checkout{border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:22px;background:var(--fl-surface);margin:0}
.woocommerce form.checkout>h3,.woocommerce form.checkout #order_review_heading{font-size:16px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--fl-border-2)}
.woocommerce form .form-row{margin-bottom:14px;display:block}
.woocommerce form .form-row label{font-weight:700;font-size:13px;margin-bottom:6px;display:block;color:var(--fl-text)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce form .form-row .select2-selection{width:100%;border:1px solid var(--fl-border-2);border-radius:var(--fl-radius-sm);padding:12px 14px;background:var(--fl-surface);color:var(--fl-text)}
.woocommerce form .form-row input.input-text:focus{box-shadow:0 0 0 3px var(--fl-primary-ring)}
@media (min-width:768px){
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48%!important}
  .woocommerce form .form-row-first{float:right}
  .woocommerce form .form-row-last{float:left}
}
.woocommerce form .form-row-wide{clear:both}
.woocommerce-checkout-review-order{border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:22px;background:var(--fl-surface)}
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;font-size:13.5px}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:11px 0;border-bottom:1px solid var(--fl-border-2)}
.woocommerce-checkout-review-order-table .order-total td,.woocommerce-checkout-review-order-table .order-total th{font-size:17px;font-weight:900;color:var(--fl-text);border-bottom:none}
.woocommerce-checkout-review-order-table .cart_item .product-quantity{color:var(--fl-muted)}
#payment{background:none}
#payment .payment_methods{list-style:none;margin:0}
#payment .payment_methods>li{border:1px solid var(--fl-border-2);border-radius:var(--fl-radius-sm);padding:14px;margin-bottom:10px;background:var(--fl-surface-2)}
#payment .payment_methods>li label{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:8px}
#payment .payment_box{background:var(--fl-surface-3);border-radius:var(--fl-radius-sm);padding:14px;margin:12px 0 0;font-size:13px;color:var(--fl-text)}
#payment .payment_box label{display:block;margin-bottom:4px}
.woocommerce #place_order{height:54px;width:100%;border-radius:var(--fl-radius-sm);background:var(--fl-grad);color:#fff;font-weight:800;font-size:16px;margin-top:14px}
@media (min-width:992px){
  .woocommerce-checkout{display:grid!important;grid-template-columns:1.5fr 1fr;align-items:start}
}
.woocommerce form .woocommerce-privacy-policy-text,.woocommerce form .wc-terms-and-conditions{font-size:12.5px;color:var(--fl-muted)}

/* =====================================================================
   My Account
   ===================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation{background:var(--fl-surface);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:10px;margin-bottom:20px}
.woocommerce-MyAccount-navigation ul{list-style:none}
.woocommerce-MyAccount-navigation li a{display:flex;padding:12px 14px;border-radius:12px;font-weight:700;font-size:14px;color:var(--fl-muted)}
.woocommerce-MyAccount-navigation li a:hover{background:var(--fl-surface-2);color:var(--fl-text)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--fl-primary-soft);color:var(--fl-primary)}
.woocommerce-MyAccount-content{background:var(--fl-surface);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:24px}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-size:17px;margin:0 0 14px}
.woocommerce-MyAccount-content p{color:var(--fl-muted);margin-bottom:12px}
.woocommerce-MyAccount-content table{width:100%;border-collapse:collapse;font-size:13.5px}
.woocommerce-MyAccount-content th,.woocommerce-MyAccount-content td{padding:12px;border-bottom:1px solid var(--fl-border-2);text-align:right}
.woocommerce-MyAccount-content .button{background:var(--fl-primary);color:#fff;border-radius:10px;padding:10px 16px;font-weight:800}
.woocommerce-MyAccount-content .addresses .address{border:1px solid var(--fl-border-2);border-radius:var(--fl-radius-sm);padding:16px;margin-top:10px}
.woocommerce-MyAccount-content .addresses .address .title h3{font-size:15px}
.woocommerce-MyAccount-content .addresses .address address{font-style:normal;color:var(--fl-muted);font-size:13.5px;margin-top:6px}
.woocommerce-account form.woocommerce-form{border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:22px;background:var(--fl-surface);max-width:520px}
.woocommerce-account form.woocommerce-form input[type=email],.woocommerce-account form.woocommerce-form input[type=password],.woocommerce-account form.woocommerce-form input[type=text]{width:100%}
.woocommerce-form__label{display:flex;align-items:center;gap:8px}
.woocommerce-form__label .woocommerce-form__input-checkbox{width:18px;height:18px}

/* =====================================================================
   WooCommerce Blocks: cart & checkout (responsive, themed)
   ===================================================================== */
.woo-page{max-width:100%}
.woo-page>.wp-block-woocommerce-checkout,.woo-page>.wp-block-woocommerce-cart,.woo-page>.woocommerce{width:100%}

/* Block components buttons & links */
:root :where(.wc-block-components-button,.wc-block-button__link,.wp-element-button,.wp-block-button__link),
.wc-block-components-button,button.wp-block-button__link,button.wp-element-button,
.wc-block-button,button.wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--fl-grad-btn,#fff);color:#fff;border:none;
  border-radius:var(--fl-radius-sm);padding:12px 18px;font-weight:800;font-size:14.5px;
  text-decoration:none;line-height:1;cursor:pointer;box-shadow:0 8px 18px -10px var(--fl-primary);
  transition:transform .12s,box-shadow .18s,filter .18s,background .18s;text-shadow:none;
}
:root :where(.wc-block-components-button,.wc-block-button__link,.wp-element-button,.wp-block-button__link):hover,
.wc-block-components-button:hover,.wc-block-button__link:hover,.wp-element-button:hover,.wp-block-button__link:hover{
  filter:brightness(1.05);transform:translateY(-1px);color:#fff;box-shadow:0 12px 24px -10px var(--fl-primary);text-decoration:none;
}
:root :where(.wc-block-components-button.is-style-outline,.wc-block-button__link.is-style-outline){
  background:transparent;color:var(--fl-primary);border:1.5px solid var(--fl-primary);box-shadow:none}
:root :where(.wc-block-components-button.is-style-outline):hover{background:var(--fl-primary);color:#fff}
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-text-input input,
.wc-block-components-totals-item__value input,
.wc-block-components-coupon-form input[type=email],
.wc-block-components-coupon-form input[type=text],
.wc-block-components-totals-coupon__input,
.editor-styles-wrapper .wc-block-components-text-input input{
  background:var(--fl-surface);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius-sm);
  color:var(--fl-text);padding:12px 14px;font-size:14.5px;line-height:1.4;
}
.wc-block-components-text-input input:focus{
  border-color:var(--fl-primary);outline:none;box-shadow:0 0 0 3px var(--fl-primary-ring);
}
.wc-block-components-input input:focus{outline:none;box-shadow:none}
input[type=email],input[type=text],input[type=password]{transition:border-color .15s,box-shadow .15s,background .2s}

/* Responsive cart/checkout grids */
.wc-block-cart__layout,.wc-block-checkout__layout{display:grid!important;grid-template-columns:1fr;gap:24px;align-items:start}
@media (min-width:782px){
  .wc-block-cart__layout,.wc-block-checkout__layout{grid-template-columns:1.5fr 1fr}
}
.wc-block-checkout__sidebar,.wc-block-cart__sidebar,.wc-block-checkout__summary{
  background:var(--fl-surface);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:22px;
}
.wc-block-components-totals-wrapper>div,.wc-block-components-totals-item{
  border-top:1px solid var(--fl-border-2);padding:10px 0;
}
.wc-block-components-totals-item__label,.wc-block-components-totals-coupon,.wc-block-components-totals-item__value{color:var(--fl-text)}
.wc-block-components-totals-coupon__form,.wc-block-components-coupon-form__content{display:flex;gap:8px}
.wc-block-components-totals-coupon__input{flex:1;min-width:0}
.wc-block-components-product-name,.wc-block-cart-item__product a{color:var(--fl-text);font-weight:800;text-decoration:none}
.wc-block-components-quantity-selector__button{
  background:var(--fl-surface-2);color:var(--fl-text);border-radius:8px;
}
.wc-block-components-quantity-selector__input[type=number]{
  background:var(--fl-surface);color:var(--fl-text);border:1px solid var(--fl-border-2);border-radius:8px;
}
.wc-block-cart-item__remove-link{color:var(--fl-danger);text-decoration:none;font-weight:700}
.wc-block-components-panel__button{
  border:1px solid var(--fl-border-2);border-radius:var(--fl-radius-sm);background:var(--fl-surface);
  color:var(--fl-text);padding:12px 16px;font-weight:700;
}
.wc-block-components-checkout-step__title,.wc-block-components-title{color:var(--fl-text)}

/* =====================================================================
   Classic My Account / login polish
   ===================================================================== */
.woocommerce-account .woocommerce{max-width:100%}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:782px){.woocommerce-account .u-columns{grid-template-columns:1fr 1fr}}
.woocommerce-account .u-columns .col-1,.woocommerce-account .u-columns .col-2{
  background:var(--fl-surface);border:1px solid var(--fl-border-2);border-radius:var(--fl-radius);padding:22px;
}
.woocommerce-account .u-columns h2{font-size:18px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--fl-border-2)}
