/*
Theme Name: GeekShop Online
Theme URI: https://geekshoponline.com/
Description: Custom Astra child theme for GeekShop Online.
Author: GeekShop Online
Author URI: https://geekshoponline.com/
Template: astra
Version: 1.0.0
Text Domain: geekshoponline
*/

/* =========================================================
   GEEKSHOP ONLINE
   GLOBAL CHILD THEME STYLES
========================================================= */

:root{
  --gso-bg:#ffffff;
  --gso-text:#171717;
  --gso-muted:#6b7280;
  --gso-border:#e7e7e7;
  --gso-dark:#111111;
  --gso-soft:#f6f7f8;
  --gso-accent:#5f45ff;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  color:var(--gso-text);
  background:var(--gso-bg);
  -webkit-font-smoothing:antialiased;
}

*,*::before,*::after{
  box-sizing:border-box;
}

img{
  max-width:100%;
  height:auto;
}

/* =========================================================
   GSO NATIVE CHECKOUT DESIGN V1
   Astra + WooCommerce native checkout
   Visual styling only
========================================================= */

body.woocommerce-checkout{
  background:#f7f7fa;
}

body.woocommerce-checkout .site-content{
  background:#f7f7fa;
}

body.woocommerce-checkout .ast-container{
  max-width:1180px;
}

body.woocommerce-checkout .entry-content{
  margin-top:0;
}

body.woocommerce-checkout form.checkout{
  width:100%;
}

/* ---------------------------------------------------------
   COUPON / NOTICE
--------------------------------------------------------- */

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message{
  margin:0 0 22px;
  padding:16px 18px 16px 48px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e3e4ea;
  box-shadow:none;
  font-size:14px;
  line-height:1.5;
}

body.woocommerce-checkout .woocommerce-form-coupon{
  margin:0 0 26px;
  padding:18px;
  border:1px solid #e3e4ea;
  border-radius:14px;
  background:#fff;
}

/* ---------------------------------------------------------
   MAIN CHECKOUT LAYOUT
--------------------------------------------------------- */

body.woocommerce-checkout #customer_details{
  margin-bottom:28px;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  padding:26px;
  border:1px solid #e1e2e8;
  border-radius:18px;
  background:#fff;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #order_review_heading{
  margin:0 0 22px;
  color:#161b27;
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.025em;
}

/* ---------------------------------------------------------
   FIELDS
--------------------------------------------------------- */

body.woocommerce-checkout .form-row{
  margin-bottom:16px;
}

body.woocommerce-checkout .form-row label{
  margin-bottom:7px;
  color:#252b36;
  font-size:13px;
  line-height:1.3;
  font-weight:700;
}

body.woocommerce-checkout .form-row label .required{
  color:#d52b2b;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single{
  width:100%;
  min-height:48px;
  border:1px solid #d8dbe3;
  border-radius:10px;
  background:#fff;
  box-shadow:none;
  color:#171b24;
  font-size:15px;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea{
  padding:11px 13px;
}

body.woocommerce-checkout textarea{
  min-height:110px;
  resize:vertical;
}

body.woocommerce-checkout .select2-container .select2-selection--single{
  display:flex;
  align-items:center;
}

body.woocommerce-checkout
.select2-container
.select2-selection--single
.select2-selection__rendered{
  padding-left:13px;
  padding-right:34px;
  line-height:46px;
}

body.woocommerce-checkout
.select2-container
.select2-selection--single
.select2-selection__arrow{
  height:46px;
  right:8px;
}

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus{
  border-color:#654cff;
  outline:none;
  box-shadow:0 0 0 3px rgba(101,76,255,.10);
}

/* ---------------------------------------------------------
   ORDER REVIEW
--------------------------------------------------------- */

body.woocommerce-checkout #order_review{
  padding:26px;
  border:1px solid #e1e2e8;
  border-radius:18px;
  background:#fff;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table{
  margin:0 0 22px;
  border:none;
  border-collapse:collapse;
}

body.woocommerce-checkout
.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout
.woocommerce-checkout-review-order-table td{
  padding:13px 8px;
  border-bottom:1px solid #ececf1;
  font-size:14px;
}

body.woocommerce-checkout
.woocommerce-checkout-review-order-table
.order-total th,
body.woocommerce-checkout
.woocommerce-checkout-review-order-table
.order-total td{
  padding-top:17px;
  color:#11141a;
  font-size:17px;
  font-weight:800;
}

/* ---------------------------------------------------------
   PAYMENT
--------------------------------------------------------- */

body.woocommerce-checkout #payment{
  margin-top:16px;
  border-radius:14px;
  background:#f7f7fa;
}

body.woocommerce-checkout #payment ul.payment_methods{
  padding:16px;
  border-bottom:1px solid #e2e3e8;
}

body.woocommerce-checkout #payment ul.payment_methods li{
  margin:0;
}

body.woocommerce-checkout
#payment
.payment_box{
  margin:14px 0 0;
  padding:16px;
  border-radius:10px;
  background:#fff;
}

body.woocommerce-checkout
#payment
.payment_box::before{
  display:none;
}

/* ---------------------------------------------------------
   PRIVACY + TERMS
--------------------------------------------------------- */

body.woocommerce-checkout
#payment
.woocommerce-terms-and-conditions-wrapper{
  margin:0 0 14px;
}

body.woocommerce-checkout
#payment
.woocommerce-privacy-policy-text{
  margin:0 0 13px;
}

body.woocommerce-checkout
#payment
.woocommerce-privacy-policy-text p{
  margin:0;
  color:#686d78;
  font-size:12.5px;
  line-height:1.55;
}

body.woocommerce-checkout
#payment
.woocommerce-privacy-policy-text a,
body.woocommerce-checkout
#payment
.woocommerce-terms-and-conditions-checkbox-text a{
  color:#4f46e5;
  text-decoration:underline;
  text-underline-offset:2px;
}

body.woocommerce-checkout
#payment
.woocommerce-terms-and-conditions-wrapper
p.form-row{
  margin:0;
  padding:0;
}

body.woocommerce-checkout
#payment
label.woocommerce-form__label-for-checkbox{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0;
  color:#2f333b;
  font-size:13px;
  line-height:1.45;
  cursor:pointer;
}

body.woocommerce-checkout
#payment
#terms{
  flex:0 0 16px;
  width:16px;
  height:16px;
  margin:2px 0 0;
}

body.woocommerce-checkout
#payment
.woocommerce-terms-and-conditions-checkbox-text{
  flex:1 1 auto;
  min-width:0;
}

body.woocommerce-checkout
#payment
label.woocommerce-form__label-for-checkbox
abbr.required{
  flex:0 0 auto;
  margin-left:-5px;
  text-decoration:none;
}

/* ---------------------------------------------------------
   PLACE ORDER
--------------------------------------------------------- */

body.woocommerce-checkout #payment .place-order{
  padding:16px;
}

body.woocommerce-checkout #place_order{
  width:100%;
  min-height:54px;
  margin:0;
  padding:0 22px;
  border:0;
  border-radius:12px;
  background:#111216;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:none;
}

body.woocommerce-checkout #place_order:hover{
  background:#654cff;
}

/* ---------------------------------------------------------
   SHIPPING
--------------------------------------------------------- */

body.woocommerce-checkout
#shipping_method{
  margin:0;
}

body.woocommerce-checkout
#shipping_method li{
  margin:7px 0;
  line-height:1.45;
}

body.woocommerce-checkout
#shipping_method label{
  font-size:13px;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767px){

  body.woocommerce-checkout .ast-container{
    padding-left:14px;
    padding-right:14px;
  }

  body.woocommerce-checkout .entry-header{
    margin-bottom:22px;
  }

  body.woocommerce-checkout .entry-title{
    font-size:38px;
    line-height:1.05;
    letter-spacing:-.04em;
  }

  body.woocommerce-checkout .woocommerce-info,
  body.woocommerce-checkout .woocommerce-error,
  body.woocommerce-checkout .woocommerce-message{
    margin-bottom:16px;
    padding:14px 14px 14px 42px;
    border-radius:10px;
    font-size:13px;
  }

  body.woocommerce-checkout .woocommerce-form-coupon{
    padding:14px;
    margin-bottom:20px;
  }

  body.woocommerce-checkout
  .woocommerce-billing-fields,
  body.woocommerce-checkout
  .woocommerce-shipping-fields,
  body.woocommerce-checkout
  .woocommerce-additional-fields,
  body.woocommerce-checkout
  #order_review{
    padding:18px 15px;
    border-radius:14px;
  }

  body.woocommerce-checkout
  .woocommerce-billing-fields > h3,
  body.woocommerce-checkout
  .woocommerce-shipping-fields > h3,
  body.woocommerce-checkout
  .woocommerce-additional-fields > h3,
  body.woocommerce-checkout
  #order_review_heading{
    margin-bottom:17px;
    font-size:21px;
  }

  /* one field per row on phones */
  body.woocommerce-checkout
  .woocommerce-billing-fields__field-wrapper
  .form-row-first,
  body.woocommerce-checkout
  .woocommerce-billing-fields__field-wrapper
  .form-row-last,
  body.woocommerce-checkout
  .woocommerce-shipping-fields__field-wrapper
  .form-row-first,
  body.woocommerce-checkout
  .woocommerce-shipping-fields__field-wrapper
  .form-row-last{
    float:none;
    width:100%;
  }

  body.woocommerce-checkout .form-row{
    margin-bottom:13px;
  }

  body.woocommerce-checkout .form-row label{
    margin-bottom:6px;
    font-size:12px;
  }

  body.woocommerce-checkout input.input-text,
  body.woocommerce-checkout textarea,
  body.woocommerce-checkout select,
  body.woocommerce-checkout
  .select2-container
  .select2-selection--single{
    min-height:46px;
    font-size:14px;
  }

  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table td{
    padding:11px 5px;
    font-size:12px;
  }

  body.woocommerce-checkout
  #payment ul.payment_methods{
    padding:12px;
  }

  body.woocommerce-checkout
  #payment
  .payment_box{
    padding:12px;
  }

  body.woocommerce-checkout
  #payment
  .place-order{
    padding:12px;
  }

  body.woocommerce-checkout #place_order{
    min-height:52px;
    font-size:14px;
  }

  body.woocommerce-checkout
  #payment
  .woocommerce-terms-and-conditions-wrapper{
    margin-bottom:12px;
  }

  body.woocommerce-checkout
  #payment
  .woocommerce-privacy-policy-text{
    margin-bottom:11px;
  }

  body.woocommerce-checkout
  #payment
  .woocommerce-privacy-policy-text p{
    font-size:12px;
    line-height:1.5;
  }

  body.woocommerce-checkout
  #payment
  label.woocommerce-form__label-for-checkbox{
    gap:8px;
    font-size:12.5px;
    line-height:1.45;
  }
}


/* =========================================================
   GSO CHECKOUT MOBILE SHIPPING LAYOUT V2
   Visual only — WooCommerce shipping logic remains native
========================================================= */

@media (max-width:767px){

  /*
   * Shipping row:
   * stop forcing title + methods into two narrow table columns.
   */
  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  tr.woocommerce-shipping-totals{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }

  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  tr.woocommerce-shipping-totals > th,
  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  tr.woocommerce-shipping-totals > td{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  tr.woocommerce-shipping-totals > th{
    padding:14px 5px 8px !important;
    border-bottom:0 !important;
    text-align:left !important;
    font-size:13px !important;
    font-weight:800 !important;
  }

  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  tr.woocommerce-shipping-totals > td{
    padding:0 5px 14px !important;
    text-align:left !important;
  }

  /*
   * Native WooCommerce shipping list.
   */
  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  #shipping_method{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    gap:7px !important;
  }

  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  #shipping_method li{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    margin:0 !important;
    padding:10px 11px !important;
    border:1px solid #e2e3e8 !important;
    border-radius:10px !important;
    background:#fafafd !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }

  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  #shipping_method input[type="radio"]{
    flex:0 0 auto !important;
    margin:0 9px 0 0 !important;
  }

  body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  #shipping_method label{
    display:flex !important;
    flex:1 1 auto !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    width:auto !important;
    margin:0 !important;
    color:#232834 !important;
    font-size:13px !important;
    line-height:1.3 !important;
    font-weight:650 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  /*
   * Keep $5.99 together.
   */
  body.woocommerce-checkout
  #shipping_method
  .woocommerce-Price-amount{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    font-weight:800 !important;
  }

  /*
   * Shipping destination / calculator text.
   */
  body.woocommerce-checkout
  .woocommerce-shipping-totals
  .woocommerce-shipping-destination{
    margin:9px 0 0 !important;
    font-size:11px !important;
    line-height:1.4 !important;
    text-align:left !important;
  }

  body.woocommerce-checkout
  .woocommerce-shipping-totals
  .shipping-calculator-button{
    display:inline-block !important;
    margin-top:6px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   GSO NATIVE CART MOBILE DESIGN V1
   Astra + WooCommerce native cart
   Visual styling only
========================================================= */

body.woocommerce-cart{
  background:#f7f7fa;
}

body.woocommerce-cart .site-content{
  background:#f7f7fa;
}

@media (max-width:767px){

  body.woocommerce-cart .ast-container{
    padding-left:14px;
    padding-right:14px;
  }

  body.woocommerce-cart .entry-title{
    margin-bottom:20px;
    font-size:34px;
    line-height:1.08;
    letter-spacing:-.035em;
  }

  /* -------------------------------------------------------
     CART FORM
  ------------------------------------------------------- */

  body.woocommerce-cart
  .woocommerce-cart-form
  table.shop_table{
    display:block;
    width:100%;
    border:0;
    background:transparent;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  table.shop_table tbody{
    display:block;
    width:100%;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  tr.cart_item{
    position:relative;
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr);
    grid-template-areas:
      "thumb name"
      "thumb price"
      "qty qty"
      "subtotal subtotal";
    column-gap:14px;
    width:100%;
    margin:0 0 14px;
    padding:14px;
    border:1px solid #e1e2e8;
    border-radius:16px;
    background:#fff;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  tr.cart_item > td{
    display:block !important;
    width:auto !important;
    padding:0 !important;
    border:0 !important;
    text-align:left !important;
  }

  /* remove */

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-remove{
    position:absolute;
    top:10px;
    right:10px;
    z-index:5;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-remove::before{
    display:none !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-remove a.remove{
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border:1px solid #dfe1e6;
    border-radius:50%;
    background:#fff;
    color:#7b8089;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-remove svg{
    width:15px;
    height:15px;
  }

  /* thumbnail */

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-thumbnail{
    grid-area:thumb;
    align-self:start;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-thumbnail::before{
    display:none !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-thumbnail a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:88px;
    height:100px;
    padding:7px;
    border-radius:12px;
    background:#f7f7fa;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-thumbnail img{
    width:74px !important;
    height:86px !important;
    max-width:74px !important;
    object-fit:contain;
    margin:0 !important;
  }

  /* product */

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-name{
    grid-area:name;
    padding-right:32px !important;
    align-self:end;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-name::before{
    display:none !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-name a{
    display:block;
    color:#191d26;
    font-size:15px;
    line-height:1.35;
    font-weight:750;
    text-decoration:none;
  }

  /* price */

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-price{
    grid-area:price;
    margin-top:7px;
    align-self:start;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-price::before{
    display:none !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-price .amount{
    color:#5f6570;
    font-size:14px;
    font-weight:650;
  }

  /* quantity + subtotal */

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-quantity{
    grid-area:qty;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    margin-top:15px;
    padding-top:13px !important;
    border-top:1px solid #ececf1 !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-subtotal{
    grid-area:subtotal;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    margin-top:11px;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-quantity::before,
  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-subtotal::before{
    float:none !important;
    width:auto !important;
    color:#4a4f59;
    font-size:13px;
    font-weight:700;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-quantity .quantity{
    margin:0;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  input.qty{
    width:64px !important;
    min-height:42px;
    padding:6px 8px;
    border:1px solid #d8dbe2;
    border-radius:9px;
    background:#fff;
    text-align:center;
    font-size:15px;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.product-subtotal .amount{
    color:#171a21;
    font-size:15px;
    font-weight:800;
  }

  /* -------------------------------------------------------
     COUPON / UPDATE CART
  ------------------------------------------------------- */

  body.woocommerce-cart
  .woocommerce-cart-form
  td.actions{
    display:block !important;
    width:100% !important;
    margin-top:2px;
    padding:14px !important;
    border:1px solid #e1e2e8 !important;
    border-radius:16px;
    background:#fff;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.actions::before{
    display:none !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  .coupon{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 124px;
    align-items:stretch;
    gap:8px;
    float:none !important;
    clear:both;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  .coupon #coupon_code{
    display:block;
    float:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:46px;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid #d8dbe2;
    border-radius:9px;
    box-sizing:border-box;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  .coupon button[name="apply_coupon"]{
    display:flex !important;
    align-items:center;
    justify-content:center;
    float:none !important;
    position:static !important;
    width:124px !important;
    min-width:124px !important;
    max-width:124px !important;
    min-height:46px;
    margin:0 !important;
    padding:0 10px !important;
    border-radius:9px;
    white-space:nowrap;
    font-size:13px;
    line-height:1;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  button[name="update_cart"]{
    display:flex !important;
    align-items:center;
    justify-content:center;
    float:none !important;
    clear:both;
    width:100% !important;
    max-width:none !important;
    min-height:46px;
    margin:9px 0 0 !important;
    border-radius:9px;
  }

  /* -------------------------------------------------------
     CART TOTALS
  ------------------------------------------------------- */

  body.woocommerce-cart .cart-collaterals{
    margin-top:16px;
  }

  body.woocommerce-cart .cart_totals{
    width:100% !important;
    padding:20px 16px;
    border:1px solid #e1e2e8;
    border-radius:16px;
    background:#fff;
  }

  body.woocommerce-cart .cart_totals h2{
    margin:0 0 15px;
    font-size:24px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.025em;
  }

  body.woocommerce-cart
  .cart_totals
  table.shop_table{
    margin:0 0 18px;
    border:0;
  }

  body.woocommerce-cart
  .cart_totals
  table.shop_table th,
  body.woocommerce-cart
  .cart_totals
  table.shop_table td{
    padding:13px 4px !important;
    border-bottom:1px solid #ececf1;
    font-size:13px;
  }

  body.woocommerce-cart
  .cart_totals
  .cart-subtotal th,
  body.woocommerce-cart
  .cart_totals
  .order-total th{
    font-weight:750;
  }

  body.woocommerce-cart
  .cart_totals
  .cart-subtotal td,
  body.woocommerce-cart
  .cart_totals
  .order-total td{
    text-align:right !important;
  }

  /* shipping */

  body.woocommerce-cart
  .cart_totals
  tr.woocommerce-shipping-totals{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100%;
  }

  body.woocommerce-cart
  .cart_totals
  tr.woocommerce-shipping-totals > th,
  body.woocommerce-cart
  .cart_totals
  tr.woocommerce-shipping-totals > td{
    display:block !important;
    width:100% !important;
    text-align:left !important;
  }

  body.woocommerce-cart
  .cart_totals
  tr.woocommerce-shipping-totals > th{
    padding-bottom:7px !important;
    border-bottom:0;
  }

  body.woocommerce-cart
  .cart_totals
  tr.woocommerce-shipping-totals > td{
    padding-top:0 !important;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method{
    margin:0 0 8px;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method li{
    margin:0;
    padding:11px 12px;
    border:1px solid #e1e2e8;
    border-radius:10px;
    background:#fafafd;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method label{
    display:flex;
    justify-content:space-between;
    gap:10px;
    width:100%;
    font-size:13px;
    font-weight:700;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method .amount{
    white-space:nowrap;
    font-weight:800;
  }

  body.woocommerce-cart
  .woocommerce-shipping-destination{
    margin:8px 0 0;
    color:#6c717b;
    font-size:12px;
    line-height:1.45;
  }

  body.woocommerce-cart
  .shipping-calculator-button{
    display:inline-block;
    margin-top:7px;
    font-size:12px;
  }

  /* total */

  body.woocommerce-cart
  .cart_totals
  .order-total th,
  body.woocommerce-cart
  .cart_totals
  .order-total td{
    padding-top:16px !important;
    padding-bottom:16px !important;
    color:#11141a;
    font-size:16px;
    font-weight:800;
  }

  /* checkout CTA */

  body.woocommerce-cart
  .wc-proceed-to-checkout{
    padding:0;
  }

  body.woocommerce-cart
  .checkout-button{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:54px;
    margin:0 !important;
    border-radius:12px;
    background:#111216 !important;
    color:#fff !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:800 !important;
    box-shadow:none !important;
  }

  body.woocommerce-cart
  .checkout-button:hover{
    background:#654cff !important;
  }
}

/* GSO CART MOBILE CONFLICT FIX V3 START */
/* Astra/WooCommerce responsive CSS conflict overrides only */

@media (max-width:767px){

  /* =====================================================
     COUPON
     Disable Astra clearfix pseudo-elements because they
     become extra grid items inside our coupon grid.
  ===================================================== */

  body.woocommerce-cart
  .woocommerce-cart-form
  .coupon::before,

  body.woocommerce-cart
  .woocommerce-cart-form
  .coupon::after{
    content:none !important;
    display:none !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.actions
  .coupon{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 124px !important;
    align-items:stretch !important;
    gap:8px !important;

    float:none !important;
    clear:both !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.actions
  .coupon
  #coupon_code{
    display:block !important;

    float:none !important;
    position:static !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    height:46px !important;

    margin:0 !important;
    padding:0 12px !important;

    border:1px solid #d8dbe2 !important;
    border-radius:9px !important;

    box-sizing:border-box !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.actions
  .coupon
  button[name="apply_coupon"]{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    float:none !important;
    position:static !important;

    width:124px !important;
    min-width:124px !important;
    max-width:124px !important;

    min-height:46px !important;

    margin:0 !important;
    padding:0 10px !important;

    border-radius:9px !important;

    font-size:13px !important;
    line-height:1 !important;

    white-space:nowrap !important;
  }

  body.woocommerce-cart
  .woocommerce-cart-form
  td.actions
  > button[name="update_cart"]{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    float:none !important;
    clear:both !important;

    width:100% !important;
    max-width:none !important;

    min-height:46px !important;

    margin:9px 0 0 !important;
  }


  /* =====================================================
     SHIPPING
     Keep real TH "Shipment".
     Remove Woo responsive duplicate generated from
     td[data-title]::before.
  ===================================================== */

  body.woocommerce-cart
  .cart_totals
  tr.woocommerce-shipping-totals
  > td::before{
    content:none !important;
    display:none !important;
    float:none !important;
  }

  body.woocommerce-cart
  .cart_totals
  tr.woocommerce-shipping-totals
  > th{
    display:block !important;
    width:100% !important;

    padding:13px 4px 8px !important;

    border-bottom:0 !important;

    color:#252b36;
    font-size:13px;
    font-weight:700;
    text-align:left !important;
  }

  body.woocommerce-cart
  .cart_totals
  tr.woocommerce-shipping-totals
  > td{
    display:block !important;
    width:100% !important;

    padding:0 4px 13px !important;

    text-align:left !important;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method{
    display:grid !important;
    grid-template-columns:1fr;
    gap:8px;

    width:100%;

    margin:0 0 9px !important;
    padding:0 !important;

    list-style:none !important;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method li{
    display:grid !important;
    grid-template-columns:18px minmax(0,1fr);
    align-items:center;

    gap:8px;

    width:100%;

    margin:0 !important;
    padding:11px 12px !important;

    border:1px solid #dfe1e7;
    border-radius:10px;

    background:#fafafd;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method
  li
  input[type="radio"]{
    float:none !important;

    width:16px !important;
    height:16px !important;

    margin:0 !important;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method
  li
  label{
    display:flex !important;
    align-items:center;
    justify-content:space-between;

    gap:10px;

    width:100%;

    margin:0 !important;

    color:#252b36;

    font-size:13px;
    line-height:1.35 !important;
    font-weight:700;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method
  li
  label
  .amount{
    margin-left:auto;

    white-space:nowrap;

    font-weight:800;
  }

  body.woocommerce-cart
  .cart_totals
  .woocommerce-shipping-destination{
    margin:9px 0 0 !important;

    color:#707580;

    font-size:12px;
    line-height:1.4;
  }

  body.woocommerce-cart
  .cart_totals
  .shipping-calculator-button{
    display:inline-block;

    margin-top:7px !important;

    font-size:12px;
  }

}

/* GSO CART MOBILE CONFLICT FIX V3 END */


/* =========================================================
   GSO CART SHIPPING RADIO ALIGN V4
   Mobile visual alignment only
========================================================= */

@media (max-width:767px){

  body.woocommerce-cart
  .cart_totals
  #shipping_method
  li{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method
  li
  input.shipping_method[type="radio"]{
    position:static !important;
    inset:auto !important;
    transform:none !important;

    display:block !important;
    float:none !important;

    flex:0 0 16px !important;

    width:16px !important;
    height:16px !important;

    min-width:16px !important;
    max-width:16px !important;

    margin:0 !important;
    padding:0 !important;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method
  li
  label{
    position:static !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    flex:1 1 auto !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;
  }

  body.woocommerce-cart
  .cart_totals
  #shipping_method
  li
  label
  .amount{
    flex:0 0 auto !important;
    margin-left:auto !important;
  }

}

/* GSO CART SHIPPING TEXT INDENT FIX V5 START */

@media (max-width:767px){

  body.woocommerce-cart
  .cart_totals
  #shipping_method
  li
  label{
    text-indent:0 !important;
  }

}

/* GSO CART SHIPPING TEXT INDENT FIX V5 END */

/* GSO CHECKOUT SHIPPING TEXT INDENT FIX V3 START */

@media (max-width:767px){

  body.woocommerce-checkout
  #shipping_method
  li
  label{
    text-indent:0 !important;
  }

}

/* GSO CHECKOUT SHIPPING TEXT INDENT FIX V3 END */

/* GSO MY ACCOUNT DESIGN V1 START */

/*
 * Visual layer only.
 * WooCommerce keeps all login/account functionality.
 */

body.woocommerce-account:not(.logged-in){
  background:#f6f7f9;
}

body.woocommerce-account:not(.logged-in) #content{
  background:#f6f7f9;
}

body.woocommerce-account:not(.logged-in) .site-content > .ast-container{
  max-width:760px;
}


/* Page title */

body.woocommerce-account:not(.logged-in) .entry-header{
  margin-bottom:10px;
}

body.woocommerce-account:not(.logged-in) .entry-title{
  margin:0;
  color:#172033;
  font-size:38px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.8px;
}


/* Login heading */

body.woocommerce-account:not(.logged-in) .woocommerce h2{
  margin:18px 0 22px;
  color:#172033;
  font-size:24px;
  line-height:1.2;
  font-weight:750;
}


/* Login card */

body.woocommerce-account:not(.logged-in)
form.woocommerce-form-login{
  margin:0 0 54px !important;
  padding:30px !important;

  background:#fff;
  border:1px solid #e1e4e8 !important;
  border-radius:18px;

  box-shadow:
    0 1px 2px rgba(15,23,42,.03),
    0 8px 28px rgba(15,23,42,.04);
}


/* Rows */

body.woocommerce-account:not(.logged-in)
form.woocommerce-form-login
.form-row{
  margin:0 0 20px;
  padding:0;
}


/* Labels */

body.woocommerce-account:not(.logged-in)
form.woocommerce-form-login
label{
  margin:0 0 8px;

  color:#1c2433;
  font-size:15px;
  line-height:1.4;
  font-weight:700;
}

body.woocommerce-account:not(.logged-in)
form.woocommerce-form-login
.required{
  color:#d93025;
}


/* Text fields */

body.woocommerce-account:not(.logged-in)
form.woocommerce-form-login
input.input-text{
  width:100%;
  min-height:54px;

  margin:0;
  padding:12px 15px;

  background:#fff;
  color:#18202f;

  border:1px solid #d5d9df;
  border-radius:10px;

  font-size:16px;
  line-height:1.4;

  box-shadow:none;
  transition:
    border-color .2s ease,
    box-shadow .2s ease;
}

body.woocommerce-account:not(.logged-in)
form.woocommerce-form-login
input.input-text:focus{
  outline:none;
  border-color:#111318;
  box-shadow:0 0 0 3px rgba(17,19,24,.08);
}


/* Remember me */

body.woocommerce-account:not(.logged-in)
.woocommerce-form-login__rememberme{
  display:flex !important;
  align-items:center;
  gap:9px;

  width:max-content;
  margin:2px 0 16px !important;

  cursor:pointer;
}

body.woocommerce-account:not(.logged-in)
.woocommerce-form-login__rememberme
input{
  width:18px !important;
  height:18px !important;
  min-width:18px;

  margin:0 !important;
}

body.woocommerce-account:not(.logged-in)
.woocommerce-form-login__rememberme
span{
  font-size:15px;
  font-weight:650;
  line-height:1.3;
}


/* Login button */

body.woocommerce-account:not(.logged-in)
button.woocommerce-form-login__submit{
  display:block;

  width:100%;
  min-height:54px;

  margin:0 !important;
  padding:13px 20px !important;

  background:#101114 !important;
  color:#fff !important;

  border:1px solid #101114 !important;
  border-radius:12px !important;

  font-size:16px !important;
  line-height:1.2;
  font-weight:750 !important;

  box-shadow:none !important;
}

body.woocommerce-account:not(.logged-in)
button.woocommerce-form-login__submit:hover,
body.woocommerce-account:not(.logged-in)
button.woocommerce-form-login__submit:focus{
  background:#23252a !important;
  border-color:#23252a !important;
  color:#fff !important;
}


/* Lost password */

body.woocommerce-account:not(.logged-in)
.woocommerce-LostPassword{
  margin:17px 0 0 !important;
}

body.woocommerce-account:not(.logged-in)
.woocommerce-LostPassword a{
  color:#4d5968;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
  text-decoration:none;
}

body.woocommerce-account:not(.logged-in)
.woocommerce-LostPassword a:hover{
  color:#111318;
  text-decoration:underline;
}


/* Mobile */

@media (max-width:767px){

  body.woocommerce-account:not(.logged-in)
  .site-content > .ast-container{
    width:100%;
    padding-left:18px;
    padding-right:18px;
  }

  body.woocommerce-account:not(.logged-in)
  .entry-title{
    font-size:34px;
    letter-spacing:-.6px;
  }

  body.woocommerce-account:not(.logged-in)
  .woocommerce h2{
    margin:14px 0 18px;
    font-size:22px;
  }

  body.woocommerce-account:not(.logged-in)
  form.woocommerce-form-login{
    margin-bottom:40px !important;
    padding:22px 18px !important;
    border-radius:16px;
  }

  body.woocommerce-account:not(.logged-in)
  form.woocommerce-form-login
  .form-row{
    margin-bottom:17px;
  }

  body.woocommerce-account:not(.logged-in)
  form.woocommerce-form-login
  input.input-text{
    min-height:52px;
    font-size:16px;
  }

  body.woocommerce-account:not(.logged-in)
  button.woocommerce-form-login__submit{
    min-height:52px;
  }

}

/* GSO MY ACCOUNT DESIGN V1 END */

