div#maximenuck127.maximenuckh ul.maximenuck li.maximenuck.level1 > a span.titreck, div#maximenuck127.maximenuckh ul.maximenuck li.maximenuck.level1 > span.separator span.titreck, select#maximenuck127.maximenuckh ul.maximenuck {
  font-size: 0.9em;
  font-weight: bold;
}
#maps {max-width: 1200px;margin: 34px auto;float: inherit;}
#accessoires {max-width: 1000px;margin: 0 auto;float: inherit;}
#accessoires .tck-module-title {margin-top: 0 !important; font-weight: bold; font-size: 1.2em;}
#locationsearch {max-width: 900px;margin: 34px auto;float: inherit;}
#locationsearch {color: #fff;}
#locationsearch h3 {font-size: 1.2em;}
.mml-back, .mymap  {color: #fff !important;}
.leaflet-popup-content .mymap  {color: #000 !important;}
#locationsearch .locationaddress {color: #fff;} 
.mymaps {background-color:#000;}
.cmml-toolbar {display: none;}
.route {color: #fff !important;font-size: 0.7em !important;}
.iconesont {max-width: 89px !important;}
.fribourg {
  color: #000;
  background-color: #fff;
}
/* .hikashop_products_pagination_bottom {display: none;} */
.ingredients {
  font-size: 0.7em;
  line-height: 1.6em;
}
.descaccessoires .ingredients {
  font-size: 0.7em;
  line-height: 1.6em;
}
#ID1671787816584, #ID1671788255144 {padding-top:55px;}
.menu-mobile-langue {display:none;}
#maincenter .edli {
  top:-13px;
  position:relative;
}
.alert-message {text-align:center;}
button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled) {font-size: 0.8em;}
.form-check .form-check-input {margin-top: 8px;}
.form-check input {
  width: 18px;
  height: 18px;
}
.hikashop_checkout_payment_images img {max-width: 55px;}
.ingallery-item-stats-caption {
  font-size: 1em!important;
  line-height: 1.1!important;
  font-weight: normal!important;
}
.item250 .titreck-text, .item245 .titreck-text {display:none;}
.acym_form input {
  font-size: 0.8em;
  text-align: center;
  color: #090909;
}
div#maximenuck144 ul.maximenuck {background: none !important;}

/* Hikashop */
#hikashop_checkout h1 {
  font-size: 1.5em;
  font-weight: bold;
}
#data_register_registration_method .btn {background-color:#0069b4;color:#fff;}
#data_register_registration_method .active, #data_register_registration_method .btn:hover {background-color:#c77315!important;color:#fff!important;}
.vex .notifyjs-metro-base,
.vex .notifyjs-metro-base .image,
.vex .notifyjs-metro-base .text-wrapper {
  float: none !important;
  position: static !important;
  margin: 0 !important;
}
.hikashop_checkout_cart .fa {font-size: 0.8em;}
#hikashop_checkout_form label {font-size: 0.8em;}
.hikashop_payment_methods_table label {display: none;}
.hikashop_checkout_login h1 {font-size: 2.2em;}
.hikashop_checkout_login h2 {
  font-size: 1.2em;
  margin-top: 21px;
  margin-bottom: 13px;
}
.hikashop_checkout_address {margin-bottom: 34px;}
.hikashop_cart_product_quantity_value input {
  max-width: inherit;
  width: 40px;
  text-align: center;
}
.hikashop_checkout_billing_address_block .hikabtn, .hikashop_checkout_shipping_address_block .hikabtn {
  font-size: 0.8em;
  margin-top: 13px;
}
#stripe-payment-form {margin: 55px auto;}
.hika_address_element .hika_edit input[type="radio"] {
margin-left: 3px;
margin-top: 9px;
}
.hikashop_checkout_coupon label {
text-align: center;
width: 100%;
}
.hikashop_checkout_coupon .input-append {display: grid;}
.hikashop_checkout_payment, .hikashop_checkout_coupon, .hikashop_checkout_cart, .hikashop_shipping_group {margin-top: 34px;}
.notifyjs-metro-base .text, .notifyjs-metro-lite-base .text {
  font-size: 0.8em;
  line-height: 1.1em;
}
/* ==========================================================================
   VEX DIALOG - Popup ajout panier (Style Apple/iOS)
   ========================================================================== */
.vex.vex-theme-default {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.vex.vex-theme-default .vex-overlay {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.vex.vex-theme-default .vex-content {
  background: #fff;
  border-radius: 16px;
  padding: 0;
  max-width: 320px;
  width: 85%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

.vex.vex-theme-default .vex-dialog-form {
  margin: 0;
  padding: 0;
}

.vex.vex-theme-default .vex-dialog-message {
  padding: 30px 25px 20px;
  margin: 0;
  text-align: center;
}

/* Notification content inside vex */
.vex.vex-theme-default .notifyjs-metro-base {
  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
}

.vex.vex-theme-default .notifyjs-metro-base .image {
  display: none !important;
}

.vex.vex-theme-default .notifyjs-metro-base .text-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
  float: none !important;
}

.vex.vex-theme-default .notifyjs-metro-base .title {
  font-size: 0.85em !important;
  font-weight: 600 !important;
  color: #1d1d1f !important;
  margin-bottom: 5px !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

.vex.vex-theme-default .notifyjs-metro-base .text {
  font-size: 0.75em !important;
  color: #666 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

/* Hidden input */
.vex.vex-theme-default .vex-dialog-input {
  display: none;
}

/* Buttons container */
.vex.vex-theme-default .vex-dialog-buttons {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 10px 25px 25px;
  margin: 0;
}

/* Buttons */
.vex.vex-theme-default .vex-dialog-button {
  width: 100%;
  padding: 12px 20px;
  font-size: 0.9em;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0;
}

.vex.vex-theme-default .vex-dialog-button.vex-first {
  background: #000;
  color: #fff;
  border-radius: 10px;
  margin-bottom: 10px;
}

.vex.vex-theme-default .vex-dialog-button.vex-first:hover {
  background: #333;
}

.vex.vex-theme-default .vex-dialog-button.vex-last {
  background: transparent;
  color: #007aff;
  border-radius: 0;
  padding: 8px;
  font-weight: 400;
}

.vex.vex-theme-default .vex-dialog-button.vex-last:hover {
  color: #0056b3;
  background: transparent;
}

/* Responsive vex */
@media (max-width: 480px) {
  .vex.vex-theme-default .vex-content {
    max-width: 90%;
  }

  .vex.vex-theme-default .vex-dialog-message {
    padding: 25px 20px 15px;
  }

  .vex.vex-theme-default .vex-dialog-buttons {
    padding: 10px 20px 20px;
  }

  .vex.vex-theme-default .notifyjs-metro-base .image img {
    width: 60px;
    height: 60px;
  }

  .vex.vex-theme-default .notifyjs-metro-base .title {
    font-size: 0.9em;
  }
}

#hikashop_dashboard .order-label {
  font-size: 0.8em;
  font-weight: normal;
  padding: 8px;
}
.hk-row-fluid a {color: #0069b4;}
.hk-row-fluid a:hover {color: #9D9D9C;}
#hikashop_product_quantity_main .fa-3x {font-size: 2em;}
.notifyjs-container {min-width: 280px;}

/* ==========================================================================
   NOTIFYJS - Notifications coin (warning, error, success, info)
   ========================================================================== */
.notifyjs-wrapper .notifyjs-metro-base {
  background: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
  padding: 16px 20px !important;
  min-height: auto !important;
}

.notifyjs-wrapper .notifyjs-metro-base .image {
  display: none !important;
}

.notifyjs-wrapper .notifyjs-metro-base .text-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.notifyjs-wrapper .notifyjs-metro-base .title {
  font-size: 0.9em !important;
  font-weight: 600 !important;
  color: #1d1d1f !important;
  margin-bottom: 4px !important;
  line-height: 1.3 !important;
}

.notifyjs-wrapper .notifyjs-metro-base .text {
  font-size: 0.8em !important;
  color: #666 !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Variantes de couleur - barre latérale */
.notifyjs-wrapper .notifyjs-metro-warning {
  border-left: 4px solid #f5a623 !important;
}

.notifyjs-wrapper .notifyjs-metro-error {
  border-left: 4px solid #d93025 !important;
}

.notifyjs-wrapper .notifyjs-metro-success {
  border-left: 4px solid #34a853 !important;
}

.notifyjs-wrapper .notifyjs-metro-info {
  border-left: 4px solid #4285f4 !important;
}

/* Cacher les conteneurs vides sur la page produit */
.hikashop_submodules:empty,
.hikashop_external_comments:empty,
#hikashop_submodules:empty,
#hikashop_external_comments:empty {
  display: none !important;
}

#hikashop_product_price_main .hikashop_product_price_full {font-size: 1.3em;}
.hikashop_product_quantity_change_div_default {padding-top: 5px;}
.hikashop_product_quantity_field {padding: 0px;}
.hikashop_product_quantity_change_div_plus_default, .hikashop_product_quantity_change_div_minus_default {
  height: 21px;
  display: table-cell;
}
.hikashop_product_quantity_change_div_default {
  height: 42px;
  padding-top: 5px;
}
.price_addtocart a {color: #0069b4;}
#hikashop_product_price_main .hikashop_product_quantity_input_div_default_main input {
  border: 0px solid;
  width: 69px;
  max-width: inherit;
  text-align: center;
  font-size: 1.5em;
  color: #090909; 
}
.hikacart, .hika_j2 .btn-success, .hikabtn-success {
  font-size: 0.8em;
  color: #fff!important;
  background-color: #0069b4;
  border-color: #9D9D9C;
}
.hikacart:hover, .hika_j2 .btn-success:hover, .hikabtn-success:hover, .hikacart:active, .hika_j2 .btn-success:active, .hikabtn-success:active, .hikacart:focus, .hika_j2 .btn-success:focus, .hikabtn-success:focus {
  transition: 0.3s;
  color: #fff!important;
  background-color: #9D9D9C;
  border-color: #0069b4;
}
.product_heading {margin-top: 0px;}
.hikashop_product_page, #hikashop_products_switcher_hikashop_category_information_menu_1245 {
  max-width: 1000px;
  margin: 55px auto 0 auto;
  padding: 0 13px;
}
.container_degree, .short_description {font-size: inherit !important;}
#hikashop_user_addresses_default select, div#hikashop_user_addresses_show input, div#hikashop_user_addresses_show select {width: 70%;}
dl.hika_options.large > dt {width: 380px;}
dl.hika_options > dt {text-align: left;}
.hika_toolbar, #hikashop_show_cart_form, #hikashop_checkout, .hikashop_cpanel_main_interface, #hikashop_address_listing, .com-users-profile__edit, #hikashop_order_listing, #hikashop_carts_listing, #hikashop_order_main, #hikashop_order_contact__page, .com-users-registration, #user-registration, .com-users-profile, .com-users-registration__form {
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 0;
  margin-bottom: 34px;
  padding: 8px;
}

/* ==========================================================================
   LOGIN & REGISTRATION FORMS - Styles uniformes
   ========================================================================== */
.gv-user-form {
  max-width: 600px;
  margin: 0 auto;
  margin-bottom: 34px;
  padding: 8px;
}

.gv-user-form .gv-page-header {
  margin-bottom: 20px;
}

.gv-user-form .gv-page-header h1 {
  font-size: 1.5em;
  font-weight: 600;
  color: #333;
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}

.gv-user-form form {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

.gv-user-form .control-group {
  margin-bottom: 12px;
}

.gv-user-form input[type="text"],
.gv-user-form input[type="email"],
.gv-user-form input[type="password"] {
  width: 100% !important;
  padding: 10px 12px !important;
  font-size: 0.85em !important;
  border: 1px solid #ccc !important;
  border-radius: 3px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.gv-user-form input::placeholder {
  color: #999 !important;
}

.gv-user-form input:focus {
  border-color: #000 !important;
  outline: none !important;
}

/* Password toggle */
.gv-user-form .password-group {
  display: flex !important;
  width: 100% !important;
}

.gv-user-form .password-group input {
  flex: 1 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: none !important;
}

.gv-user-form .input-password-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  background: #000 !important;
  border: 1px solid #000 !important;
  border-top-right-radius: 3px !important;
  border-bottom-right-radius: 3px !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  cursor: pointer !important;
}

.gv-user-form .input-password-toggle:hover {
  background: #333 !important;
}

.gv-user-form .input-password-toggle span {
  color: #fff !important;
}

/* Remember me checkbox */
.gv-remember {
  margin: 15px 0;
}

.gv-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85em;
  cursor: pointer;
}

.gv-checkbox-label input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: #000;
  cursor: pointer;
}

/* Login button */
.gv-submit {
  margin-top: 20px;
}

.gv-btn-login {
  width: 100%;
  padding: 10px 25px !important;
  font-size: 0.9em !important;
  font-weight: 600 !important;
  background: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

.gv-btn-login:hover {
  background: #333 !important;
  color: #fff !important;
}

/* Options links */
.gv-login-options {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-login-options a {
  font-size: 0.85em;
  color: #666;
  text-decoration: none;
}

.gv-login-options a:hover {
  color: #000;
}

/* Hide invalid feedback text */
.gv-user-form .invalid-feedback {
  display: none !important;
}

/* ==========================================================================
   HIKASHOP CPANEL - Dashboard utilisateur
   ========================================================================== */
#hikashop_dashboard {
  display: flex !important;
  flex-wrap: wrap;
  gap: 30px;
}

#hikashop_dashboard .hika_cpanel_side_bar {
  flex: 0 0 250px;
  max-width: 250px;
}

#hikashop_dashboard .hika_cpanel_main_data {
  flex: 1;
  min-width: 0;
}

/* Sidebar menu */
.hika_cpanel_side_bar {
  background: #f8f8f8;
  border-radius: 8px;
  padding: 15px;
}

.hika_cpanel_icons {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.hika_cpanel_icon {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  border-radius: 6px;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

.hika_cpanel_icon:hover {
  background: #eee;
}

.hika_cpanel_icon .hk-icon,
.hika_cpanel_icon .fa-stack {
  color: #333 !important;
  font-size: 1.2em !important;
  width: 30px;
  text-align: center;
}

.hika_cpanel_icon .fa-stack .fa-stack-1x,
.hika_cpanel_icon .fa-stack .fa-stack-2x {
  color: #333 !important;
}

.hikashop_cpanel_button_text {
  font-size: 0.9em;
  color: #333;
  font-weight: 500;
}

/* Main content */
.hika_cpanel_main_data h2 {
  font-size: 1.3em;
  font-weight: 600;
  color: #000;
  margin-bottom: 20px;
}

/* Order cards */
.hikashop_order_panel_div {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 15px;
  overflow: hidden;
}

.hikashop_order_panel_div .panel-heading {
  background: #f8f8f8 !important;
  border-bottom: 1px solid #e0e0e0;
  padding: 12px 15px;
}

.hikashop_order_panel_div .hikashop_order_date {
  color: #333 !important;
  font-weight: 600;
}

.hikashop_order_panel_div .hikashop_order_date .fa {
  color: #333 !important;
}

.hikashop_order_panel_div .hikashop_order_total {
  color: #000 !important;
  font-weight: 600;
}

.hikashop_order_panel_div .panel-body {
  padding: 15px;
}

/* Order status badges */
.order-label {
  font-size: 0.75em !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  font-weight: 500 !important;
}

/* Actions button */
.hikashop_order_panel_div .btn-group .btn {
  background: #000 !important;
  color: #fff !important;
  border: none !important;
  font-size: 0.8em !important;
  padding: 6px 12px !important;
  border-radius: 3px !important;
}

.hikashop_order_panel_div .btn-group .btn:hover {
  background: #333 !important;
}

.hikashop_order_panel_div .dropdown-menu {
  border-radius: 6px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

/* Product in order */
.hikashop_order_product_name a {
  color: #333 !important;
  font-weight: 500;
}

.hikashop_order_product_name a:hover {
  color: #000 !important;
}

/* Responsive */
@media (max-width: 768px) {
  #hikashop_dashboard {
    flex-direction: column;
  }

  #hikashop_dashboard .hika_cpanel_side_bar {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }

  #hikashop_dashboard .hika_cpanel_main_data {
    width: 100%;
  }

  .hika_cpanel_icons {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .hika_cpanel_icon {
    flex-direction: column;
    text-align: center;
    padding: 10px;
  }
}

#hikashop_show_cart_form a, #hikashop_checkout a, #hikashop_carts_listing a {color: #0069b4;}
.hika_toolbar a:hover, #hikashop_show_cart_form a:hover, #hikashop_checkout a:hover, #hikashop_carts_listing a:hover {font-weight: normal;}
.hika_toolbar {margin-top:21px;}
.hikashop_cart_product_name {
  height: 50px;
  display: inline-block;
  padding-top: 12px;
  font-size: 0.8em;
}

/* Acymailing */
.acym_module_form table, .acym_module_form td, .acym_module_form tr {
  margin: 0 auto;
  width: 100%;
}
.acym_form tr {
  display: flex;
}

/* Langage */
.mod-languages__list img {width: 21px;}
.mod-languages__list a {
  border-bottom: inherit !important;
  top: -5px;
}
.lang-active {background-color: inherit !important;}  

/* AA Age */
.aared {
  font-weight: bold!important;
  color: red!important;
}

/* Divers */
.mobilemenuck-bar {height: 55px!important;}
select {
  background-color: #fff;
  color: #090909;
}
.blue {color: #422063;}
.grey {color: #9D9D9C;}
.dore {color: #A37643;}
.orange {color: #c77315;}
a, a:hover {
  transition: .3s;
  text-decoration: none;
}

#ID1658387417913 .titleck, #ID1658387633041 .titleck {display: none;}
.notxt .titreck-text {display: none;}
.tck-article-tools-right {display: none;}
#wrapper {margin-top: -72px;}
div#maximenuck127 ul.maximenuck, div#maximenuck129 ul.maximenuck, div#maximenuck137 ul.maximenuck {background: inherit !important;}
.istopfixed {background: rgba(1, 1, 1, 0.95) !important;}
#maximenuck127 .item250 .titreck-text, #maximenuck129 .item101 .titreck-text, #maximenuck137 .item245 .titreck-text {display: none;}

/* Responsive */
@media only screen and (max-width: 1385px) {
  #menuboutique .level1 {padding: 0 7px!important;}
#row2column1 {width: calc(16 / 100 * (100% - 0px - (2 * 0px)));}
#row2column2 {width: calc(68 / 100 * (100% - 0px - (2 * 0px)));}
#row2column3 {
  width: calc(16 / 100 * (100% - 0px - (2 * 0px)));
  text-align: right;
}
}
@media only screen and (max-width: 1235px) {
  div#maximenuck150.maximenuckh ul.maximenuck, div#maximenuck151.maximenuckh ul.maximenuck {background: none;}
  #row2column1, #row2column2, #row2column3 {background-color: #000;}
  #row2 .inner {background-color: #000;}
  }
@media only screen and (max-width: 1188px) {
#row2column1 {width: calc(20 / 100 * (100% - 0px - (2 * 0px)));}
#row2column2 {width: calc(60 / 100 * (100% - 0px - (2 * 0px)));}
#row2column3 {
  width: calc(20 / 100 * (100% - 0px - (2 * 0px)));
  text-align: right;
  }
}
@media only screen and (max-width: 1075px) {
#row2column1 {width: calc(20 / 100 * (100% - 0px - (2 * 0px)));}
#row2column2 {width: calc(60 / 100 * (100% - 0px - (2 * 0px)));}
#row2column3 {
  width: calc(20 / 100 * (100% - 0px - (2 * 0px)));
  text-align: right;
}
}
@media only screen and (max-width: 985px) {
#row2column1 {
  width: calc(30 / 100 * (100% - 0px - (2 * 0px)));
  background-color: #000;
}
#row2column2 {
  width: calc(60 / 100 * (100% - 0px - (2 * 0px)));
    background-color: #000;
}
#row2column3 {
  width: calc(30 / 100 * (100% - 0px - (2 * 0px)));
    background-color: #000;
  text-align: right;
}
    #ID1658562603378 img {
    margin-top: 110px !important;
width: 255px !important;
  }
}

@media only screen and (max-width: 775px) {
#row2column1 {width: calc(30 / 100 * (100% - 0px - (2 * 0px)));}
#row2column2 {width: calc(40 / 100 * (100% - 0px - (2 * 0px)));}
#row2column3 {
  width: calc(30 / 100 * (100% - 0px - (2 * 0px)));
  text-align: right;
}
}
@media only screen and (max-width: 655px) {
  .mobilelangue {display:inherit;}
}
@media only screen and (max-width: 640px) {
  #menuboutique {display:none;}  
}
@media only screen and (max-width: 600px) {
  #ID1656503545825 img {width: 377px;}
}
@media only screen and (max-width: 470px) {
  #block_ID1653823971297 > .inner {height: 45vh;}
  #row_ID1653823971297 {height: 45vh;}
  h1, div.componentheading {
    margin-top: 0px;
    font-size: 2em;
    }
  #leginduvully, #nospartenaires {padding: 13px;}
  #nosgins img {width: 300px;}
  #row_ID1658560626530 p {margin-bottom: 0px;}
  #ID1658561401230 > .inner, #ID1658561401231 > .inner, #ID1658561401232 > .inner {margin-top: 3px;}
  #ID1658562603378 img {
    margin-top: 89px !important;
    width: 255px !important;
  }
}
@media only screen and (max-width: 450px) {
  h2 {font-size: 1.5em;}
  #block_ID1658386937737 {margin-bottom: 34px;}
  h1 {font-size: 1.5em!important;}
  h3 {font-size: 1.3em!important;}
  /* CHECKOUT CART - Styles déplacés à la fin du fichier */
  #hikashop_checkout, .hikashop_cpanel_main_interface, .com-users-profile__edit, #hikashop_order_contact__page, .com-users-registration, #user-registration, com-users-profile, .com-users-profile, .hikashop_user_registration_page {margin-top: 0;}
}

/* ============================================
   PAGE PRODUIT GINDUVULLY - Override show_default.php
   Template ginduvully - HikaShop 6.1
   ============================================ */

/* Container principal */
.hikashop_product_page {
  max-width: 1000px;
  margin: 34px auto;
  padding: 0 21px;
}

/* EN-TÊTE PRODUIT */
.gv-product-header {
  margin-bottom: 34px;
  text-align: center;
  width: 100%;
  border: none !important;
  padding-top: 0 !important;
}

/* Supprimer tout trait au-dessus du header */
.gv-product-header::before,
.hikashop_product_top_part::before {
  display: none !important;
}

/* H1 - Titre produit (GRAND) - Supprimer le border HikaShop */
#hikashop_product_top_part h1,
.gv-product-title,
.hikashop_product_page h1 {
  font-size: 1.5em !important;
  font-weight: bold !important;
  color: #090909 !important;
  margin: 0 0 15px 0 !important;
  line-height: 1.3;
  text-transform: uppercase;
  border: none !important;
  border-bottom: none !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
}

.gv-product-title .hikashop_product_name_main {
  display: block;
}

/* H2 - Description courte (plus petit que H1) avec trait EN DESSOUS */
.gv-product-subtitle,
.hikashop_product_custom_descriptif_line,
#hikashop_product_custom_descriptif_line {
  font-size: 0.9em !important;
  font-weight: normal !important;
  color: #333 !important;
  margin: 0 !important;
  padding-bottom: 25px !important;
  line-height: 1.6;
  text-transform: uppercase;
  border-bottom: 1px solid #ddd !important;
}

/* LAYOUT 2 COLONNES - Force avec flexbox */
.hikashop_product_page .gv-product-main {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 34px;
  align-items: flex-start;
  margin-left: 0;
  margin-right: 0;
}

/* Colonne gauche - Image */
.hikashop_product_page .gv-product-image-col {
  flex: 0 0 40% !important;
  max-width: 40% !important;
  width: 40% !important;
  padding: 0;
}

.gv-product-image-col .hikashop_product_main_image_thumb {
  width: 100%;
  height: auto;
}

.gv-product-image-col .hikashop_product_main_image {
  text-align: center;
}

/* Image produit page detail : RONDE sans couper */
#hikashop_product_left_part .hikashop_product_main_image_subdiv,
#hikashop_product_left_part .hikashop_product_main_image,
#hikashop_product_left_part .hikashop_product_main_image_thumb {
  overflow: visible !important;
  width: auto !important;
  height: auto !important;
}

.gv-product-image-col .hikashop_product_main_image img,
.gv-product-image-col img,
#hikashop_product_left_part img,
#hikashop_main_image_div img,
img#hikashop_main_image,
.hikashop_product_main_image_subdiv img {
  max-width: 250px !important;
  max-height: 250px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 50% !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
  display: block !important;
}

.gv-product-image-col .hikashop_child_image img {
  border-radius: 50% !important;
}

/* Colonne droite - Infos */
.hikashop_product_page .gv-product-info-col {
  flex: 0 0 55% !important;
  max-width: 55% !important;
  width: 55% !important;
  padding: 0;
}

/* PRIX */
.gv-product-price {
  margin-bottom: 13px;
}

.gv-product-price .hikashop_product_price_full {
  font-size: 1.5em;
  font-weight: bold;
  color: #090909;
}

.gv-product-price .hikashop_product_price {
  font-size: 1.5em;
  font-weight: bold;
  color: #090909;
}

/* STOCK */
.gv-product-stock {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 21px;
  font-size: 0.9em;
}

.gv-stock-count {
  color: #555;
}

.gv-stock-badge {
  display: inline-block;
  padding: 5px 13px;
  border-radius: 3px;
  font-size: 0.85em;
  font-weight: bold;
}

.gv-stock-instock {
  background-color: #28a745;
  color: #fff;
}

.gv-stock-outofstock {
  background-color: #dc3545;
  color: #fff;
}

/* QUANTITÉ ET BOUTON - LAYOUT GINDUVULLY */
.gv-product-quantity {
  margin-bottom: 21px;
}

/* Container principal : tout sur une ligne */
.gv-quantity-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

/* Boutons +/- : CERCLES NOIRS PARFAITS */
.gv-qty-btn,
div.gv-qty-btn,
.gv-qty-minus,
.gv-qty-plus,
div.gv-qty-minus,
div.gv-qty-plus {
  display: inline-block !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  flex: 0 0 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.gv-qty-btn a,
.gv-qty-minus a,
.gv-qty-plus a,
div.gv-qty-btn > a,
div.gv-qty-minus > a,
div.gv-qty-plus > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  background-color: #000 !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  transition: 0.3s;
  box-sizing: border-box !important;
  border: none !important;
  outline: none !important;
}

.gv-qty-btn a:hover,
.gv-qty-minus a:hover,
.gv-qty-plus a:hover {
  background-color: #444 !important;
}

.gv-qty-btn a span,
.gv-qty-minus a span,
.gv-qty-plus a span {
  color: #fff !important;
  font-size: 1.2em !important;
  font-weight: bold !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
}

/* Override Bootstrap btn styles if applied */
.gv-qty-btn a.btn,
.gv-qty-minus a.btn,
.gv-qty-plus a.btn,
.gv-qty-btn .btn,
.gv-qty-minus .btn,
.gv-qty-plus .btn {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  line-height: 32px !important;
}

/* Champ quantité - SANS bordure */
.gv-qty-input input {
  width: 40px !important;
  max-width: 40px !important;
  height: 28px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  padding: 4px !important;
  font-size: 1em !important;
  font-weight: bold !important;
  color: #333 !important;
}

/* Bouton Ajouter au panier - NOIR */
.gv-qty-cart {
  margin-left: 8px !important;
}

.gv-qty-cart .hikabtn,
.gv-qty-cart .hikacart,
.gv-qty-cart a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 20px !important;
  background-color: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  font-size: 0.85em !important;
  font-weight: normal !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  height: 32px !important;
  transition: 0.3s;
}

.gv-qty-cart .hikabtn:hover,
.gv-qty-cart .hikacart:hover,
.gv-qty-cart a:hover {
  background-color: #333 !important;
  color: #fff !important;
}

/* Classes générales pour boutons ginduvully - NOIR */
.hikabtn-gv,
.hikacart-gv {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 20px !important;
  background-color: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  font-size: 0.85em !important;
  text-decoration: none !important;
  transition: 0.3s;
}

.hikabtn-gv:hover,
.hikacart-gv:hover {
  background-color: #333 !important;
  color: #fff !important;
}

/* Masquer "l'unité" après le prix */
.hikashop_product_price_per_unit {
  display: none !important;
}

/* CARACTÉRISTIQUES */
.gv-product-caracteristiques {
  margin: 21px 0;
  padding: 13px 0;
  border-top: 1px solid #eee;
  font-size: 0.95em;
  line-height: 1.6;
  color: #333;
}

/* INGRÉDIENTS / BOTANIQUES */
.gv-product-ingredients {
  margin: 5px 0;
  padding: 4px 8px;
  font-size: 0.75em;
  line-height: 1.3;
  color: #666;
  background: #f8f8f8;
  border-radius: 3px;
}

/* CONTENANCE ET ALCOOL */
.gv-product-specs {
  margin: 21px 0;
  font-size: 0.95em;
  color: #555;
}

.gv-specs-separator {
  margin: 0 5px;
}

/* SECTION BOTTOM - Description longue */
.gv-product-bottom {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid #eee;
}

.gv-product-description {
  font-size: 1em;
  line-height: 1.7;
  color: #333;
}

/* OPTIONS PRODUIT */
.gv-product-options {
  margin: 21px 0;
}

/* CONTACT */
.gv-product-contact {
  margin-top: 21px;
}

/* Masquer le stock HikaShop du template quantity.php car on l'affiche nous-mêmes */
.gv-product-quantity .hikashop_product_stock_count,
.hikashop_quantity_form .hikashop_product_stock_count {
  display: none !important;
}

/* RESPONSIVE TABLETTE */
@media (max-width: 768px) {
  .hikashop_product_page .gv-product-main {
    flex-direction: column !important;
  }

  .hikashop_product_page .gv-product-image-col,
  .hikashop_product_page .gv-product-info-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .gv-product-image-col {
    margin-bottom: 21px !important;
  }

  .gv-product-title {
    font-size: 1.4em !important;
  }

  .gv-product-subtitle {
    font-size: 0.85em !important;
  }

  /* Quantité reste sur une ligne */
  .gv-quantity-row {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
  }
}

/* RESPONSIVE MOBILE */
@media (max-width: 480px) {
  .hikashop_product_page {
    padding: 0 13px !important;
    margin-top: 21px !important;
  }

  .gv-product-header {
    margin-bottom: 21px !important;
  }

  .gv-product-title {
    font-size: 1.2em !important;
  }

  .gv-product-subtitle {
    font-size: 0.8em !important;
    padding-bottom: 15px !important;
  }

  .gv-product-price .hikashop_product_price_full,
  .gv-product-price .hikashop_product_price {
    font-size: 1.2em !important;
  }

  .gv-product-stock {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  /* Quantité et bouton sur même ligne si possible */
  .gv-quantity-row {
    flex-wrap: nowrap !important;
    gap: 5px !important;
  }

  .gv-qty-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
  }

  .gv-qty-btn a {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    aspect-ratio: 1 / 1 !important;
  }

  .gv-qty-input input {
    width: 30px !important;
    max-width: 30px !important;
    font-size: 0.9em !important;
  }

  .gv-qty-cart {
    margin-left: 5px !important;
  }

  .gv-qty-cart .hikabtn,
  .gv-qty-cart .hikacart,
  .gv-qty-cart a {
    padding: 5px 12px !important;
    font-size: 0.75em !important;
    height: 28px !important;
  }

  .gv-product-caracteristiques,
  .gv-product-ingredients,
  .gv-product-specs {
    font-size: 0.85em !important;
  }

  .gv-product-bottom {
    margin-top: 34px !important;
    padding-top: 21px !important;
  }
}

/* RESPONSIVE TRÈS PETIT ÉCRAN */
@media (max-width: 360px) {
  .gv-quantity-row {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .gv-qty-cart {
    margin-left: 0 !important;
    margin-top: 10px !important;
    width: 100% !important;
    text-align: center !important;
  }

  .gv-qty-cart .hikabtn,
  .gv-qty-cart .hikacart,
  .gv-qty-cart a {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* ============================================
   LISTING PRODUITS - MODULE HIKASHOP
   Classes specifiques gv-listing-* pour ne pas
   affecter la page detail produit
   ============================================ */

/* Container principal produit listing */
.gv-listing-product {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  overflow: hidden;
}

/* IMPORTANT: Reset COMPLET des styles HikaShop par defaut dans le listing */
.gv-listing-product,
.gv-listing-product * {
  box-sizing: border-box !important;
}

.gv-listing-product .hikashop_product_image,
.gv-listing-product .hikashop_product_image_subdiv {
  position: relative !important;
  float: none !important;
  margin: 0 !important;
  height: auto !important;
  width: auto !important;
  max-width: 100% !important;
}

.gv-listing-product .hikashop_product_price_full,
.gv-listing-product .hikashop_product_stock,
.gv-listing-product .hikashop_product_price {
  position: static !important;
  float: none !important;
  display: inline !important;
}

/* Cacher TOUS les elements stock en double de HikaShop */
.gv-listing-product .hikashop_product_stock_count,
.gv-listing-product > .hikashop_product_stock,
.gv-listing-quantity-wrapper .hikashop_product_stock_count,
.hikashop_subcontainer .hikashop_product_stock_count:not(.gv-listing-stock-count) {
  display: none !important;
}

/* Reset des containers parents HikaShop */
.hikashop_subcontainer:has(.gv-listing-product),
.hikashop_subcontainer:has(.gv-listing-product) * {
  position: static !important;
}

.hikashop_subcontainer:has(.gv-listing-product) {
  display: block !important;
  float: none !important;
  overflow: visible !important;
}

.hikashop_container:has(.gv-listing-product) {
  display: block !important;
  float: none !important;
}

/* Re-etablir position relative uniquement sur les elements qui en ont besoin */
.gv-listing-product {
  position: relative !important;
}

.gv-listing-row {
  position: relative !important;
}

.gv-listing-image-col,
.gv-listing-info-col {
  position: relative !important;
}

/* S'assurer que le container prend toute la largeur */
.hikashop_product:has(.gv-listing-product) {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Override complet de hikashop_listing_img_title */
.hikashop_listing_img_title.gv-listing-product {
  text-align: left !important;
  display: block !important;
  float: none !important;
  clear: both !important;
}

.hikashop_listing_img_title.gv-listing-product > .hikashop_product_image,
.hikashop_listing_img_title.gv-listing-product > .hikashop_product_price_full,
.hikashop_listing_img_title.gv-listing-product > .hikashop_product_name,
.hikashop_listing_img_title.gv-listing-product > .hikashop_product_stock {
  display: none !important;
}

/* Layout 2 colonnes - FORCE */
.gv-listing-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  align-items: center !important;
  width: 100% !important;
}

/* FORCER prix et autres elements a rester dans le flux */
.gv-listing-product .hikashop_product_price_full,
.gv-listing-product .hikashop_product_price,
.gv-listing-product .hikashop_product_price_main,
.gv-listing-product span[class*="price"] {
  position: static !important;
  float: none !important;
  display: inline !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
}

/* Masquer "l'unité" dans le listing */
.gv-listing-product .hikashop_product_price_per_unit,
.hikashop_listing_img_desc .hikashop_product_price_per_unit,
.gv-listing-price-stock .hikashop_product_price_per_unit,
.gv-listing-price .hikashop_product_price_per_unit,
span.hikashop_product_price_per_unit {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Colonne image - GRANDE avec fond gris */
.gv-listing-image-col {
  flex: 0 0 250px !important;
  width: 250px !important;
  max-width: 250px !important;
  min-width: 250px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gv-listing-image-col .hikashop_product_image {
  width: 250px !important;
  height: 280px !important;
  background: #e8e8e8 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 15px !important;
}

.gv-listing-image-col .hikashop_product_image_subdiv {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gv-listing-image-col .hikashop_product_image img,
.gv-listing-image-col .hikashop_product_image_subdiv img,
.gv-listing-image-col img.hikashop_product_listing_image,
.gv-listing-product .gv-listing-image-col img,
div.gv-listing-image-col img {
  width: 200px !important;
  height: 200px !important;
  min-width: 200px !important;
  min-height: 200px !important;
  max-width: 200px !important;
  max-height: 200px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
}

/* Colonne infos */
.gv-listing-info-col {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 270px) !important;
  text-align: left !important;
  position: relative !important;
  overflow: hidden !important;
}

/* FORCER tous les elements a rester dans la colonne info */
.gv-listing-info-col > * {
  position: relative !important;
  float: none !important;
  clear: both !important;
  display: block !important;
  max-width: 100% !important;
}

.gv-listing-info-col .gv-listing-price-stock,
.gv-listing-info-col .gv-listing-price {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
}

.gv-listing-info-col .gv-listing-quantity-wrapper {
  display: block !important;
  max-width: 100% !important;
}

/* Titre produit */
.gv-listing-title {
  font-size: 1.5em !important;
  font-weight: 700 !important;
  color: #222 !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.gv-listing-title a {
  color: inherit !important;
  text-decoration: none !important;
}

.gv-listing-title a:hover {
  color: #555 !important;
}

/* Descriptif */
.gv-listing-descriptif {
  font-size: 0.95em;
  color: #555;
  line-height: 1.6;
  margin-bottom: 10px;
  text-align: left !important;
}

/* Caracteristiques */
.gv-listing-caracteristiques {
  font-size: 0.85em;
  color: #666;
  line-height: 1.5;
  margin-bottom: 10px;
  text-align: left !important;
}

/* Ingredients */
.gv-listing-ingredients {
  font-size: 0.75em;
  color: #888;
  line-height: 1.3;
  margin-bottom: 12px;
  text-align: left !important;
  padding: 4px 8px;
  background: #f8f8f8;
  border-radius: 3px;
}

/* Prix */
.gv-listing-price-stock,
.gv-listing-price {
  display: block !important;
  margin-top: 21px !important;
  margin-bottom: 5px !important;
  position: relative !important;
  float: none !important;
}

/* Caracteristiques - marge top */
.gv-listing-caracteristiques,
.hikashop_product_custom_caracteristiques_line {
  margin-top: 21px !important;
}

/* Titre produit - aligné à gauche */
.gv-listing-top,
.gv-listing-title,
.gv-listing-title a,
h3.gv-listing-title {
  text-align: left !important;
}

.gv-listing-price-stock .hikashop_product_price_full,
.gv-listing-price-stock .hikashop_product_price,
.gv-listing-price .hikashop_product_price_full,
.gv-listing-price .hikashop_product_price,
.gv-listing-price span {
  position: relative !important;
  float: none !important;
  font-size: 1.1em !important;
  font-weight: 700 !important;
  color: #222 !important;
  margin: 0 !important;
  display: inline !important;
}

/* Badge stock */
.gv-listing-stock-badge {
  display: inline-block !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
  font-size: 0.75em !important;
  font-weight: bold !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: inherit !important;
}

.gv-listing-instock,
.gv-listing-stock-badge.gv-listing-instock,
span.gv-listing-instock {
  background-color: #28a745 !important;
  color: #fff !important;
  border: none !important;
}

.gv-listing-instock *,
.gv-listing-instock a {
  color: #fff !important;
}

.gv-listing-outofstock,
.gv-listing-stock-badge.gv-listing-outofstock,
span.gv-listing-outofstock {
  background-color: #dc3545 !important;
  color: #fff !important;
  border: none !important;
}

/* Stock line (count + badge sur meme ligne) */
.gv-listing-stock-line {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 5px 0 !important;
}

/* Stock count */
.gv-listing-stock-count {
  font-size: 0.85em !important;
  color: #666 !important;
  margin: 0 !important;
}

/* Wrapper quantite listing */
.gv-listing-quantity-wrapper {
  margin-top: 10px;
  position: relative !important;
  float: none !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
}

.gv-listing-quantity-wrapper form,
.gv-listing-product form,
.gv-listing-quantity-wrapper .hikashop_product_quantity_div {
  position: relative !important;
  float: none !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: block !important;
  width: 100% !important;
}

/* Le form ne doit pas casser le flex */
.gv-listing-product form .gv-quantity-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}

/* Cacher le stock count en double de HikaShop */
.gv-listing-quantity-wrapper .hikashop_product_stock_count {
  display: none !important;
}

/* Styles specifiques pour quantite dans listing - MEME LIGNE */
.gv-listing-quantity-wrapper .gv-quantity-row,
.gv-listing-product .gv-quantity-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
}

/* S'assurer que le bouton cart reste sur la meme ligne */
.gv-listing-product .gv-qty-cart,
.gv-listing-quantity-wrapper .gv-qty-cart {
  flex-shrink: 0 !important;
  margin-left: 8px !important;
}

/* ===========================================
   QUANTITE LISTING - MEME RENDU QUE PAGE PRODUIT
   =========================================== */

/* Container quantite dans listing */
.gv-listing-product .hikashop_product_quantity_div,
.gv-listing-product .hikashop_product_quantity_main {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

/* Boutons +/- : CERCLES NOIRS 28x28 */
.gv-listing-product .hikashop_product_quantity_field_change,
.gv-listing-product .hikashop_product_quantity_field_change_plus,
.gv-listing-product .hikashop_product_quantity_field_change_minus {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  padding: 0 !important;
  background-color: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.1em !important;
  font-weight: bold !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: 0.3s !important;
  flex-shrink: 0 !important;
}

.gv-listing-product .hikashop_product_quantity_field_change:hover,
.gv-listing-product .hikashop_product_quantity_field_change_plus:hover,
.gv-listing-product .hikashop_product_quantity_field_change_minus:hover {
  background-color: #444 !important;
}

/* Champ quantite - SANS bordure */
.gv-listing-product .hikashop_product_quantity_field {
  width: 40px !important;
  max-width: 40px !important;
  height: 28px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  padding: 4px !important;
  font-size: 1em !important;
  font-weight: bold !important;
  color: #333 !important;
}

/* Bouton Ajouter au panier - NOIR ARRONDI */
.gv-listing-product .hikabtn-gv,
.gv-listing-product .hikacart-gv,
.gv-listing-product .hikashop_cart_button,
.gv-listing-product button.hikabtn-gv,
.gv-listing-product button.hikacart-gv,
.gv-listing-quantity-wrapper button,
.gv-qty-cart button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 18px !important;
  background: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  font-size: 0.85em !important;
  height: auto !important;
  font-weight: normal !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  margin-left: 8px !important;
  cursor: pointer !important;
  transition: 0.3s !important;
}

.gv-listing-product .hikabtn-gv:hover,
.gv-listing-product .hikacart-gv:hover,
.gv-listing-product .hikashop_cart_button:hover,
.gv-listing-product button:hover,
.gv-listing-quantity-wrapper button:hover,
.gv-qty-cart button:hover {
  background: #444 !important;
  color: #fff !important;
}

/* Texte dans le bouton - blanc */
.gv-listing-product button span,
.gv-listing-quantity-wrapper button span,
.gv-qty-cart button span,
.hikabtn-gv span,
.hikacart-gv span {
  color: #fff !important;
}

.gv-listing-quantity-wrapper .gv-qty-input input {
  width: 40px !important;
  height: 32px !important;
  font-size: 0.9em !important;
  text-align: center !important;
}

/* Bouton Ajouter au panier - Style noir arrondi */
.gv-listing-quantity-wrapper .gv-qty-cart {
  margin-left: 10px !important;
}

.gv-listing-quantity-wrapper .gv-qty-cart .hikabtn,
.gv-listing-quantity-wrapper .gv-qty-cart .hikacart,
.gv-listing-quantity-wrapper .gv-qty-cart a {
  background: #222 !important;
  color: #fff !important;
  border: none !important;
  padding: 8px 24px !important;
  border-radius: 25px !important;
  font-size: 0.9em !important;
  font-weight: 600 !important;
  height: auto !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

.gv-listing-quantity-wrapper .gv-qty-cart .hikabtn:hover,
.gv-listing-quantity-wrapper .gv-qty-cart .hikacart:hover,
.gv-listing-quantity-wrapper .gv-qty-cart a:hover {
  background: #444 !important;
}

/* RESPONSIVE LISTING */
@media (max-width: 768px) {
  .gv-listing-row {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  .gv-listing-image-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: auto !important;
    margin-bottom: 15px;
  }

  .gv-listing-image-col .hikashop_product_image {
    max-width: 200px;
    margin: 0 auto;
  }

  .gv-listing-info-col {
    text-align: center !important;
  }

  .gv-listing-title {
    text-align: center !important;
  }

  .gv-listing-descriptif {
    text-align: center !important;
  }

  .gv-listing-price-stock {
    justify-content: center !important;
  }

  .gv-listing-stock-count {
    text-align: center !important;
  }

  .gv-listing-quantity-wrapper .gv-quantity-row {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 480px) {
  .gv-listing-product {
    padding: 15px;
  }

  .gv-listing-quantity-wrapper .gv-qty-cart {
    margin-left: 0 !important;
    margin-top: 10px !important;
    width: 100% !important;
  }

  .gv-listing-quantity-wrapper .gv-qty-cart .hikabtn,
  .gv-listing-quantity-wrapper .gv-qty-cart .hikacart,
  .gv-listing-quantity-wrapper .gv-qty-cart a {
    width: 100% !important;
    text-align: center !important;
  }
}

/* ============================================
   CHECKOUT PAGE - DESIGN MODERNE ET COMPACT
   ============================================ */

/* Container principal */
.hikashop_checkout_page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px;
  font-family: inherit;
}

/* Titres principaux */
.hikashop_checkout_page h1 {
  font-size: 1.4em;
  font-weight: 600;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #000;
}

.hikashop_checkout_page h2 {
  font-size: 1.1em;
  font-weight: 600;
  margin-bottom: 15px;
  color: #333;
}

/* Layout login/registration */
.hikashop_checkout_login .hk-container-fluid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.hikashop_checkout_login .hkc-lg-4 {
  flex: 0 0 380px;
  max-width: 380px;
}

.hikashop_checkout_login .hkc-lg-8 {
  flex: 1;
  min-width: 0;
}

/* Cards sections */
#hikashop_checkout_login_form,
#hikashop_checkout_registration {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 25px;
  border: 1px solid #e0e0e0;
}

/* LOGIN FORM - Design compact avec placeholders */
#hikashop_checkout_login_form fieldset.hkform-horizontal {
  display: block !important;
  width: 100% !important;
}

#hikashop_checkout_login_form .hkform-group {
  display: block !important;
  width: 100% !important;
  margin-bottom: 15px !important;
}

/* Cacher les labels */
#hikashop_checkout_login_form .hkcontrol-label,
#hikashop_checkout_login_form label.hkc-sm-4,
#hikashop_checkout_login_form .hkc-sm-4.hkcontrol-label {
  display: none !important;
}

/* Container des inputs pleine largeur */
#hikashop_checkout_login_form .hkc-sm-8 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  float: none !important;
}

/* Inputs pleine largeur - LOGIN (sauf password) */
#hikashop_checkout_login_form input#username,
#hikashop_checkout_login_form input[type="text"]:not(.input-group .form-control),
#hikashop_checkout_login_form .form-control-gv:not(.input-group .form-control) {
  display: block !important;
  width: 100% !important;
  padding: 8px 12px !important;
  font-size: 0.9em !important;
  box-sizing: border-box !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
}

/* Password group pleine largeur - LOGIN */
#hikashop_checkout_login_form .password-group {
  display: block !important;
  width: 100% !important;
}

#hikashop_checkout_login_form .password-group .input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

#hikashop_checkout_login_form .password-group .input-group input,
#hikashop_checkout_login_form .password-group .input-group .form-control {
  flex: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 8px 12px !important;
  font-size: 0.9em !important;
  border: 1px solid #ccc !important;
  border-right: none !important;
  border-radius: 4px 0 0 4px !important;
  box-sizing: border-box !important;
}

#hikashop_checkout_login_form .password-group .input-password-toggle {
  flex: 0 0 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background: #000 !important;
  border: 1px solid #000 !important;
  border-radius: 0 4px 4px 0 !important;
  cursor: pointer !important;
  color: #fff !important;
}
#hikashop_checkout_login_form .password-group .input-password-toggle:hover {
  background: #000 !important;
  border-color: #000 !important;
}
#hikashop_checkout_login_form .password-group .input-password-toggle i {
  color: #fff !important;
}

/* ACYMAILING - Newsletter subscription → styles dans frontend_custom.css */

/* ============================================
   REGISTRATION FORM - Design compact avec placeholders
   ============================================ */
#hikashop_checkout_registration fieldset.hkform-horizontal {
  display: block !important;
  width: 100% !important;
}

#hikashop_checkout_registration .hkform-group {
  display: block !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}

/* Cacher les labels registration */
#hikashop_checkout_registration .hkcontrol-label,
#hikashop_checkout_registration label.hkc-sm-4,
#hikashop_checkout_registration .hkc-sm-4.hkcontrol-label {
  display: none !important;
}

/* Afficher le label pour date de naissance */
#hikashop_checkout_registration .hikashop_registration_datedenaissance_line .hkcontrol-label,
#hikashop_checkout_registration #hikashop_user_1_0_datedenaissance .hkcontrol-label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 5px !important;
  font-size: 0.85em !important;
  color: #333 !important;
  font-weight: 500 !important;
}

/* Container des inputs pleine largeur */
#hikashop_checkout_registration .hkc-sm-8 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  float: none !important;
}

/* Inputs pleine largeur registration (sauf password) */
#hikashop_checkout_registration input[type="text"]:not(.input-group input),
#hikashop_checkout_registration input[type="email"],
#hikashop_checkout_registration select,
#hikashop_checkout_registration .form-control-gv:not(.input-group .form-control),
#hikashop_checkout_registration .form-select-gv {
  display: block !important;
  width: 100% !important;
  padding: 8px 12px !important;
  font-size: 0.9em !important;
  box-sizing: border-box !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
}

/* Password group pleine largeur - REGISTRATION */
#hikashop_checkout_registration .password-group {
  display: block !important;
  width: 100% !important;
}

#hikashop_checkout_registration .password-group .input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

#hikashop_checkout_registration .password-group .input-group input,
#hikashop_checkout_registration .password-group .input-group .form-control {
  flex: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 8px 12px !important;
  font-size: 0.9em !important;
  border: 1px solid #ccc !important;
  border-right: none !important;
  border-radius: 4px 0 0 4px !important;
  box-sizing: border-box !important;
}

#hikashop_checkout_registration .password-group .input-password-toggle {
  flex: 0 0 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background: #000 !important;
  border: 1px solid #000 !important;
  border-radius: 0 4px 4px 0 !important;
  cursor: pointer !important;
  color: #fff !important;
}
#hikashop_checkout_registration .password-group .input-password-toggle:hover {
  background: #000 !important;
  border-color: #000 !important;
}
#hikashop_checkout_registration .password-group .input-password-toggle i {
  color: #fff !important;
}

/* Bouton toggle mot de passe global (btn-secondary) */
.btn.btn-secondary.input-password-toggle,
.btn-secondary.input-password-toggle {
  background: #000;
  border: 1px solid #000;
  color: #fff;
  cursor: pointer;
}
.btn.btn-secondary.input-password-toggle:hover,
.btn-secondary.input-password-toggle:hover {
  background: #000;
  border-color: #000;
}
.btn.btn-secondary.input-password-toggle i,
.btn-secondary.input-password-toggle i {
  color: #fff;
}

/* Password rules text */
#hikashop_checkout_registration .password-group + .small,
#hikashop_checkout_registration [id$="-rules"] {
  font-size: 0.75em;
  color: #888;
  margin-bottom: 5px;
}

/* NOTE: Layout adresse checkout → voir media/com_hikashop/css/frontend_custom.css */

/* Checkbox same address */
#hikashop_checkout_registration .hikashop_registration_same_address_line {
  margin: 15px 0;
  padding: 10px 0;
}

.hikashop_registration_same_address_line .hkc-sm-8 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.hikashop_registration_same_address_line .hkc-sm-8 label {
  margin: 0 !important;
  cursor: pointer;
}

.hikashop_registration_same_address_line .hkc-sm-4 {
  display: none !important;
}

/* Legends pour sections */
#hikashop_checkout_registration legend,
#hikashop_checkout_registration .hika_registration_address legend {
  font-size: 1em;
  font-weight: 600;
  margin: 20px 0 15px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ddd;
  width: 100%;
  display: block;
}

/* Checkbox et liens sur une ligne */
#hikashop_checkout_login_form .hikashop_login_remember_line,
#hikashop_checkout_login_form .hikashop_login_forgot_password_line,
#hikashop_checkout_login_form .hikashop_login_forgot_username_line {
  margin-bottom: 8px;
}

#hikashop_checkout_login_form .hikashop_login_remember_line .hkc-sm-4,
#hikashop_checkout_login_form .hikashop_login_forgot_password_line .hkc-sm-4,
#hikashop_checkout_login_form .hikashop_login_forgot_username_line .hkc-sm-4,
#hikashop_checkout_login_form .hikashop_login_button_line .hkc-sm-4 {
  display: none;
}

/* Bouton connexion pleine largeur */
#hikashop_checkout_login_form .hikashop_login_button_line {
  margin-top: 15px;
}

#hikashop_checkout_login_form .hikabtn_checkout_login_form {
  width: 100%;
  padding: 12px 20px;
  font-size: 1em;
}

/* Liens mot de passe oublié */
#hikashop_checkout_login_form .hikashop_login_forgot_password_line a,
#hikashop_checkout_login_form .hikashop_login_forgot_username_line a {
  font-size: 0.8em;
  color: #666;
}

/* Fieldsets et legends */
.hikashop_checkout_page fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.hikashop_checkout_page legend,
.hika_registration_address legend,
.hikashop_registration_shipping_address_title legend,
.hikashop_shipping_group legend {
  font-size: 1em;
  font-weight: 600;
  color: #333;
  margin: 20px 0 15px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ddd;
  width: 100%;
}

/* Legend margin-top spécifique pour adresse registration */
.hika_registration_address legend {
  margin-top: 13px !important;
}

/* GINDUVULLY: Layout deux colonnes pour inscription checkout */
.hika_registration_address .gv-form-row,
.hikashop_registration_shipping_address .gv-form-row,
.gv-form-row.hkform-group {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}

.hika_registration_address .gv-form-half,
.hikashop_registration_shipping_address .gv-form-half,
.gv-form-row .gv-form-half {
  flex: 1 !important;
  min-width: 0 !important;
}

.hika_registration_address .gv-form-full,
.hikashop_registration_shipping_address .gv-form-full {
  width: 100%;
}

/* Masquer les labels dans le layout à deux colonnes - utiliser placeholders */
.hika_registration_address .gv-form-row .hkcontrol-label,
.hika_registration_address .gv-form-half > label,
.hikashop_registration_shipping_address .gv-form-row .hkcontrol-label,
.hikashop_registration_shipping_address .gv-form-half > label {
  display: none;
}

/* Inputs et selects pleine largeur dans les colonnes */
.hika_registration_address .gv-form-half input,
.hika_registration_address .gv-form-half select,
.hika_registration_address .gv-form-half span[id$="_container"],
.hika_registration_address .gv-form-full input,
.hika_registration_address .gv-form-full select,
.hikashop_registration_shipping_address .gv-form-half input,
.hikashop_registration_shipping_address .gv-form-half select,
.hikashop_registration_shipping_address .gv-form-half span[id$="_container"],
.hikashop_registration_shipping_address .gv-form-full input,
.hikashop_registration_shipping_address .gv-form-full select {
  width: 100% !important;
  display: block !important;
}

/* Style uniforme pour selects dans gv-form-half */
.gv-form-half select,
.gv-form-half .form-select-gv {
  width: 100% !important;
  padding: 8px 12px !important;
  font-size: 0.9em !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  background-color: #fff !important;
  box-sizing: border-box !important;
  height: auto !important;
  appearance: menulist !important;
}

/* Container du select state - pleine largeur */
.gv-form-half span[id$="_container"] {
  display: block !important;
  width: 100% !important;
}


/* Cacher les inputs hidden dans gv-form-half */
.gv-form-half input[type="hidden"] {
  display: none !important;
}

/* Responsive - empiler sur mobile */
@media (max-width: 576px) {
  .hika_registration_address .gv-form-row,
  .hikashop_registration_shipping_address .gv-form-row {
    flex-direction: column;
    gap: 8px;
  }

  .hika_registration_address .gv-form-half,
  .hikashop_registration_shipping_address .gv-form-half {
    width: 100%;
  }
}

/* Form groups */
.hikashop_checkout_page .hkform-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 12px;
}

.hikashop_checkout_page .hkcontrol-label,
.hikashop_checkout_page .hkc-sm-4 {
  flex: 0 0 140px;
  max-width: 140px;
  font-size: 0.85em;
  color: #555;
  padding-right: 10px;
}

.hikashop_checkout_page .hkc-sm-8 {
  flex: 1;
  min-width: 0;
}

/* Inputs et selects */
.hikashop_checkout_page .form-control-gv,
.hikashop_checkout_page .form-select-gv,
.hikashop_checkout_page input[type="text"],
.hikashop_checkout_page input[type="email"],
.hikashop_checkout_page input[type="password"],
.hikashop_checkout_page select {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.9em;
  transition: border-color 0.2s, box-shadow 0.2s;
  background: #fff;
}

.hikashop_checkout_page .form-control-gv:focus,
.hikashop_checkout_page .form-select-gv:focus,
.hikashop_checkout_page input:focus,
.hikashop_checkout_page select:focus {
  border-color: #000;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.1);
  outline: none;
}

/* Password input group */
.hikashop_checkout_page .password-group .input-group {
  display: flex;
}

.hikashop_checkout_page .password-group .form-control {
  border-radius: 4px 0 0 4px;
  flex: 1;
}

.hikashop_checkout_page .password-group .input-password-toggle {
  border-radius: 0 4px 4px 0;
  border: 1px solid #000;
  border-left: none;
  background: #000;
  color: #fff;
  padding: 8px 12px;
}

/* Checkbox styling */
.hikashop_checkout_page .hkcheckbox label,
.hikashop_checkout_page .hikashop_checkout_same_address_checkbox + label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85em;
  cursor: pointer;
}

.hikashop_checkout_page input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #000;
}

/* Boutons */
.hikashop_checkout_page .hikabtn-gv {
  background: #000;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 0.9em;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}

.hikashop_checkout_page .hikabtn-gv:hover {
  background: #333;
}

/* Liens */
.hikashop_checkout_page a {
  color: #000;
  text-decoration: underline;
  font-size: 0.85em;
}

.hikashop_checkout_page a:hover {
  color: #555;
}

/* Shipping & Payment sections */
.hikashop_checkout_shipping,
.hikashop_checkout_payment {
  margin: 25px 0;
  padding: 20px;
  background: #f9f9f9;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}

.hikashop_checkout_shipping legend,
.hikashop_checkout_payment legend {
  margin-top: 0;
}

/* Tables shipping/payment */
.hikashop_shipping_methods_table,
.hikashop_payment_methods_table {
  border: none !important;
  margin: 0;
}

.hikashop_shipping_methods_table td,
.hikashop_payment_methods_table td {
  padding: 12px;
  border: none !important;
  background: #fff;
  border-radius: 4px;
}

.hikashop_shipping_methods_table tr,
.hikashop_payment_methods_table tr {
  border: none !important;
}

/* Radio buttons */
.hikashop_checkout_shipping_radio,
.hikashop_checkout_payment_radio {
  width: 18px;
  height: 18px;
  accent-color: #000;
  margin-right: 10px;
  vertical-align: middle;
}

.hikashop_checkout_shipping_name,
.hikashop_checkout_payment_name {
  font-weight: 500;
  font-size: 0.95em;
}

.hikashop_checkout_shipping_cost,
.hikashop_checkout_payment_cost {
  margin-left: 10px;
  font-weight: 600;
  color: #000;
}

/* Payment images */
.hikashop_checkout_payment_images {
  display: inline-flex;
  gap: 5px;
  margin-left: 15px;
  vertical-align: middle;
}

.hikashop_checkout_payment_images img {
  max-height: 25px;
  width: auto;
}

/* Coupon section */
.hikashop_checkout_coupon {
  margin: 20px 0;
}

.hikashop_checkout_coupon .input-group-gv {
  display: flex;
  max-width: 400px;
  gap: 10px;
}

.hikashop_checkout_coupon .hikashop_checkout_coupon_field {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.hikashop_checkout_coupon .hikabtn_checkout_coupon_add {
  padding: 10px 20px;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* Cart table */
.hikashop_checkout_cart {
  margin: 25px 0;
}

.hikashop_checkout_cart table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9em;
}

.hikashop_checkout_cart thead th {
  background: #000;
  color: #fff;
  padding: 12px 10px;
  text-align: left;
  font-weight: 500;
  font-size: 0.85em;
}

.hikashop_checkout_cart tbody td {
  padding: 15px 10px;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
}

.hikashop_checkout_cart tbody tr:hover {
  background: #f9f9f9;
}

/* Product image in cart */
.hikashop_cart_product_image_thumb img {
  max-width: 60px;
  max-height: 60px;
  border-radius: 4px;
}

/* Product name in cart */
.hikashop_cart_product_name {
  margin: 0;
  font-weight: 500;
}

.hikashop_cart_product_name a {
  text-decoration: none;
  color: #000;
}

/* Quantity controls in cart - styles dans frontend_custom.css */

/* Delete button */
.hikashop_cart_product_quantity_delete a {
  color: #999;
  font-size: 1.1em;
  margin-left: 10px;
}

.hikashop_cart_product_quantity_delete a:hover {
  color: #c00;
}

/* Hide refresh button */
.hikashop_cart_product_quantity_refresh {
  display: none;
}

/* Cart totals */
.hikashop_cart_subtotal_row td,
.hikashop_cart_shipping_row td,
.hikashop_cart_total_row td {
  border-bottom: none !important;
  padding: 8px 10px;
}

.hikashop_cart_subtotal_title,
.hikashop_cart_shipping_title,
.hikashop_cart_total_title {
  text-align: right;
  font-weight: 500;
  color: #555;
}

.hikashop_cart_subtotal_value,
.hikashop_cart_shipping_value,
.hikashop_cart_total_value {
  font-weight: 600;
  text-align: right;
}

.hikashop_cart_total_row {
  background: #f5f5f5;
}

.hikashop_cart_total_row .hikashop_cart_total_title,
.hikashop_cart_total_row .hikashop_cart_total_value {
  font-size: 1.1em;
  color: #000;
}

/* Separator row */
tr.margin td {
  height: 20px;
  border: none !important;
}

/* Terms checkbox */
.hikashop_checkout_terms {
  margin: 20px 0;
  padding: 15px;
  background: #fff8e6;
  border-radius: 4px;
  border: 1px solid #ffe4a0;
}

.hikashop_checkout_terms label {
  font-size: 0.9em;
}

/* Buttons container */
.hikashop_checkout_buttons {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #ddd;
}

.hikashop_checkout_buttons .buttons_right {
  text-align: right;
}

.hikabtn_checkout_next {
  background: #28a745 !important;
  color: #fff !important;
  padding: 12px 30px !important;
  font-size: 1em !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}

.hikabtn_checkout_next:hover {
  background: #218838 !important;
}

/* Required field asterisk */
.hikashop_field_required_label {
  color: #c00;
  margin-left: 2px;
}

/* Captcha */
.hikashop_registration_hcaptcha_line {
  margin-top: 15px;
}

/* Delivery conditions text */
.hikashop_checkout_shipping + b,
.hikashop_checkout_shipping ~ br {
  display: block;
  margin: 15px 0;
  font-size: 0.85em;
  color: #555;
  line-height: 1.6;
}

/* Loading spinner */
.hikashop_checkout_loading_elem {
  display: none;
}

/* Newsletter checkbox → styles dans frontend_custom.css */

/* Hide empty footer cells */
.hikashop_cart_empty_footer {
  border: none !important;
}

/* RESPONSIVE CHECKOUT */
@media (max-width: 768px) {
  .hikashop_checkout_login .hk-container-fluid {
    flex-direction: column;
  }

  .hikashop_checkout_login .hkc-lg-4,
  .hikashop_checkout_login .hkc-lg-8 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .hikashop_checkout_page .hkform-group {
    flex-direction: column;
    align-items: flex-start;
  }

  .hikashop_checkout_page .hkcontrol-label,
  .hikashop_checkout_page .hkc-sm-4 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 5px;
  }

  .hikashop_checkout_page .hkc-sm-8 {
    width: 100%;
  }

  /* CHECKOUT CART - Styles déplacés à la fin du fichier (section 6102+) */

  .hikashop_checkout_coupon .input-group-gv {
    max-width: 100%;
    flex-direction: column;
  }
}

/* ============================================
   CUSTOMER DASHBOARD - COMPTE CLIENT
   Design moderne et compact
   ============================================ */

/* Container principal */
.gv-cpanel-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* Header */
.gv-cpanel-header {
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 2px solid #000;
}

.gv-cpanel-title {
  font-size: 1.6em;
  font-weight: 700;
  color: #000;
  margin: 0;
}

/* Layout 2 colonnes */
.gv-cpanel-container {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* ============================================
   SIDEBAR NAVIGATION
   ============================================ */
.gv-cpanel-sidebar {
  flex: 0 0 220px;
  width: 220px;
  position: sticky;
  top: 100px;
}

.gv-cpanel-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: #f8f8f8;
  border-radius: 12px;
  padding: 12px;
}

.gv-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  text-decoration: none;
  color: #333;
  font-size: 0.95em;
  font-weight: 500;
  transition: all 0.2s ease;
}

.gv-nav-item:hover {
  background: #fff;
  color: #000;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  text-decoration: none;
}

.gv-nav-item.gv-nav-active {
  background: #000;
  color: #fff;
}

.gv-nav-item.gv-nav-active:hover {
  background: #222;
  color: #fff;
}

.gv-nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(0,0,0,0.05);
  border-radius: 8px;
  font-size: 0.9em;
}

.gv-nav-active .gv-nav-icon {
  background: rgba(255,255,255,0.2);
}

.gv-nav-text {
  flex: 1;
}

/* Logout special style */
.gv-nav-logout {
  margin-top: 8px;
  border-top: 1px solid #e0e0e0;
  padding-top: 12px;
}

.gv-nav-logout .gv-nav-icon {
  background: rgba(200,0,0,0.1);
  color: #c00;
}

.gv-nav-logout:hover {
  background: #fef2f2;
  color: #c00;
}

/* ============================================
   MAIN CONTENT AREA
   ============================================ */
.gv-cpanel-main {
  flex: 1;
  min-width: 0;
}

/* Orders Section */
.gv-orders-section {
  width: 100%;
}

.gv-orders-title,
.gv-section-title {
  font-size: 1.1em;
  font-weight: 600;
  color: #000;
  margin: 0 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #e0e0e0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Empty state */
.gv-orders-empty {
  text-align: center;
  padding: 60px 20px;
  background: #f9f9f9;
  border-radius: 12px;
}

.gv-empty-icon {
  font-size: 3em;
  color: #ccc;
  margin-bottom: 15px;
}

.gv-orders-empty p {
  color: #666;
  font-size: 1.1em;
  margin-bottom: 20px;
}

.gv-btn-shop {
  display: inline-block;
  padding: 10px 25px;
  background: #000;
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s;
}

.gv-btn-shop:hover {
  background: #333;
  color: #fff;
  text-decoration: none;
}

/* ============================================
   ORDER CARD
   ============================================ */
.gv-order-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  margin-bottom: 20px;
  overflow: hidden;
  transition: box-shadow 0.2s;
}

.gv-order-card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* Order Header */
.gv-order-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: linear-gradient(135deg, #f8f9fa 0%, #f0f1f2 100%);
  border-bottom: 1px solid #e5e5e5;
}

.gv-order-meta {
  display: flex;
  align-items: center;
  gap: 20px;
}

.gv-order-date,
.gv-order-time {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9em;
  color: #555;
}

.gv-order-date i,
.gv-order-time i {
  color: #888;
}

.gv-order-price {
  font-size: 1.2em;
  font-weight: 700;
  color: #000;
}

/* Order Body */
.gv-order-body {
  display: grid;
  grid-template-columns: 200px 1fr 200px;
  gap: 20px;
  padding: 20px;
}

/* Order Info (left) */
.gv-order-info {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.gv-order-numbers {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-info-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gv-info-label {
  font-size: 0.75em;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.gv-info-value {
  font-size: 0.95em;
  font-weight: 600;
  color: #333;
}

.gv-order-number {
  font-family: monospace;
  background: #f0f0f0;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-block;
}

/* Status Badge */
.gv-order-status {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.8em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.gv-status-success {
  background: #d4edda;
  color: #155724;
}

.gv-status-pending {
  background: #fff3cd;
  color: #856404;
}

.gv-status-danger {
  background: #f8d7da;
  color: #721c24;
}

.gv-status-default {
  background: #e2e3e5;
  color: #383d41;
}

/* Products (center) */
.gv-order-products {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 20px;
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
}

.gv-product-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.gv-product-thumb {
  flex-shrink: 0;
}

.gv-product-thumb img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 8px;
  background: #f5f5f5;
}

.gv-product-details {
  flex: 1;
  min-width: 0;
}

.gv-product-name {
  display: block;
  font-size: 0.9em;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-product-name:hover {
  color: #000;
  text-decoration: none;
}

.gv-product-price {
  font-size: 0.8em;
  color: #666;
}

.gv-products-more {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85em;
  color: #666;
  text-decoration: none;
  padding: 8px 0;
  border-top: 1px dashed #e0e0e0;
}

.gv-products-more:hover {
  color: #000;
  text-decoration: none;
}

/* Methods (right) */
.gv-order-methods {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.gv-method-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.gv-method-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #f0f0f0;
  border-radius: 6px;
  color: #555;
  font-size: 0.85em;
  flex-shrink: 0;
}

.gv-method-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gv-method-label {
  font-size: 0.7em;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.gv-method-value {
  font-size: 0.85em;
  font-weight: 500;
  color: #333;
}

/* Order Footer */
.gv-order-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 15px 20px;
  background: #fafafa;
  border-top: 1px solid #e5e5e5;
}

.gv-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 0.85em;
  font-weight: 500;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}

.gv-btn-view {
  background: #000;
  color: #fff;
}

.gv-btn-view:hover {
  background: #333;
  color: #fff;
  text-decoration: none;
}

.gv-btn-print {
  background: #f0f0f0;
  color: #333;
}

.gv-btn-print:hover {
  background: #e0e0e0;
  color: #000;
}

.gv-btn-contact {
  background: #e3f2fd;
  color: #1565c0;
}

.gv-btn-contact:hover {
  background: #bbdefb;
  color: #0d47a1;
  text-decoration: none;
}

.gv-btn-cancel {
  background: #ffebee;
  color: #c62828;
}

.gv-btn-cancel:hover {
  background: #ffcdd2;
  color: #b71c1c;
}

.gv-btn-pay {
  background: #e8f5e9;
  color: #2e7d32;
}

.gv-btn-pay:hover {
  background: #c8e6c9;
  color: #1b5e20;
  text-decoration: none;
}

.gv-btn-reorder {
  background: #fff3e0;
  color: #e65100;
}

.gv-btn-reorder:hover {
  background: #ffe0b2;
  color: #bf360c;
  text-decoration: none;
}

/* ============================================
   RESPONSIVE DASHBOARD
   ============================================ */
@media (max-width: 992px) {
  .gv-cpanel-container {
    flex-direction: column;
    gap: 20px;
  }

  .gv-cpanel-sidebar {
    flex: none;
    width: 100%;
    position: static;
  }

  .gv-cpanel-nav {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }

  .gv-nav-item {
    padding: 10px 14px;
  }

  .gv-nav-icon {
    width: 28px;
    height: 28px;
    font-size: 0.85em;
  }

  .gv-order-body {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .gv-order-products {
    padding: 15px 0;
    border-left: none;
    border-right: none;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
  }

  .gv-order-methods {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
}

@media (max-width: 576px) {
  .gv-cpanel-wrapper {
    padding: 15px;
  }

  .gv-cpanel-nav {
    padding: 8px;
  }

  .gv-nav-item {
    flex: 1 1 calc(50% - 8px);
    justify-content: center;
    padding: 10px;
  }

  .gv-nav-text {
    font-size: 0.85em;
  }

  .gv-order-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .gv-order-meta {
    flex-wrap: wrap;
    gap: 10px;
  }

  .gv-order-footer {
    flex-direction: column;
  }

  .gv-btn {
    width: 100%;
    justify-content: center;
  }

  .gv-product-thumb img {
    width: 40px;
    height: 40px;
  }
}

/* ============================================
   PROFILE EDIT FORM - com_users
   ============================================ */
.gv-profile-section {
  width: 100%;
}

.gv-profile-form {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 25px;
}

.gv-fieldset {
  margin-bottom: 25px;
  padding: 0;
  border: none;
}

.gv-legend {
  font-size: 1em;
  font-weight: 600;
  color: #000;
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e0e0e0;
  width: 100%;
}

.gv-fieldset-desc {
  font-size: 0.85em;
  color: #666;
  margin-bottom: 15px;
}

.gv-fields-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.gv-field-row {
  width: 100%;
}

/* Form group styling */
.gv-profile-form .control-group,
.gv-profile-form .form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 0;
}

.gv-profile-form .control-label,
.gv-profile-form label {
  font-size: 0.9em;
  font-weight: 500;
  color: #333;
}

.gv-profile-form .controls,
.gv-profile-form .control-group > div:last-child {
  width: 100%;
}

.gv-profile-form input[type="text"],
.gv-profile-form input[type="email"],
.gv-profile-form input[type="password"],
.gv-profile-form input[type="tel"],
.gv-profile-form select,
.gv-profile-form textarea,
.gv-profile-form .form-control {
  width: 100%;
  padding: 10px 14px;
  font-size: 0.95em;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.gv-profile-form input:focus,
.gv-profile-form select:focus,
.gv-profile-form textarea:focus,
.gv-profile-form .form-control:focus {
  border-color: #000;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.1);
  outline: none;
}

.gv-profile-form input:disabled,
.gv-profile-form input[readonly] {
  background: #f5f5f5;
  color: #888;
  cursor: not-allowed;
}

/* Input group (password with toggle) */
.gv-profile-form .input-group {
  display: flex;
  width: 100%;
}

.gv-profile-form .input-group input {
  flex: 1;
  border-radius: 6px 0 0 6px;
  border-right: none;
}

.gv-profile-form .input-group .btn,
.gv-profile-form .input-group button,
.gv-profile-form .input-group .input-group-text {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  background: #000;
  color: #fff;
  border: 1px solid #000;
  border-radius: 0 6px 6px 0;
  cursor: pointer;
}

.gv-profile-form .input-group .btn:hover {
  background: #333;
}

/* Help text */
.gv-profile-form .form-text,
.gv-profile-form .help-block,
.gv-profile-form small {
  font-size: 0.8em;
  color: #888;
  margin-top: 4px;
}

/* Required asterisk */
.gv-profile-form .star,
.gv-profile-form .required {
  color: #c00;
}

/* Password strength meter */
.gv-profile-form .password-strength-meter {
  height: 4px;
  background: #e0e0e0;
  border-radius: 2px;
  margin-top: 8px;
  overflow: hidden;
}

/* Form actions */
.gv-form-actions {
  display: flex;
  gap: 12px;
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
}

.gv-btn-save {
  background: #000;
  color: #fff;
  padding: 10px 24px;
}

.gv-btn-save:hover {
  background: #333;
  color: #fff;
}

.gv-btn-cancel-form {
  background: #f0f0f0;
  color: #333;
  padding: 10px 24px;
}

.gv-btn-cancel-form:hover {
  background: #e0e0e0;
  color: #000;
}

/* MFA fieldset */
.gv-mfa-fieldset {
  background: #f9f9f9;
  padding: 20px;
  border-radius: 8px;
}

/* Responsive profile form */
@media (max-width: 576px) {
  .gv-profile-form {
    padding: 15px;
  }

  .gv-form-actions {
    flex-direction: column;
  }

  .gv-form-actions .gv-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================
   ADDRESS LISTING PAGE
   ============================================ */
.gv-address-section {
  width: 100%;
}

/* Default address selectors */
.gv-default-addresses {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 30px;
}

.gv-default-address-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}

.gv-default-address-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-default-address-item label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9em;
  font-weight: 500;
  color: #333;
}

.gv-default-address-item label i {
  color: #666;
}

.gv-select,
#hikashop_default_billing_address_selector,
#hikashop_default_shipping_address_selector,
.hikashop_default_address_dropdown {
  width: 100% !important;
  padding: 10px 14px !important;
  font-size: 0.9em !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: border-color 0.2s !important;
  box-sizing: border-box !important;
}

.gv-select:focus,
#hikashop_default_billing_address_selector:focus,
#hikashop_default_shipping_address_selector:focus,
.hikashop_default_address_dropdown:focus {
  border-color: #000 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.1) !important;
}

/* Address columns grid */
.gv-addresses-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.gv-address-column {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.gv-address-type-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.1em;
  font-weight: 600;
  color: #000;
  padding-bottom: 10px;
  border-bottom: 2px solid #000;
  margin: 0 0 10px 0;
}

.gv-address-type-title i {
  color: #555;
}

.gv-address-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Address card */
.gv-address-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow 0.2s, border-color 0.2s;
}

.gv-address-card:hover {
  border-color: #ccc;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.gv-card-content {
  position: relative;
  padding: 18px;
}

.gv-card-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  gap: 6px;
}

.gv-card-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s;
}

.gv-card-edit {
  background: #f0f0f0;
  color: #555;
}

.gv-card-edit:hover {
  background: #000;
  color: #fff;
}

.gv-card-delete {
  background: #fef2f2;
  color: #c00;
}

.gv-card-delete:hover {
  background: #c00;
  color: #fff;
}

.gv-card-address {
  font-size: 0.9em;
  line-height: 1.6;
  color: #333;
  padding-right: 80px;
}

.gv-card-address br {
  display: block;
  content: "";
  margin-top: 2px;
}

/* Add button */
.gv-btn-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 20px;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 0.9em;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  margin-top: 10px;
}

.gv-btn-add:hover {
  background: #333;
  color: #fff;
}

.gv-address-actions {
  display: flex;
  gap: 15px;
  margin-top: 20px;
}

.gv-address-actions .gv-btn-add {
  flex: 1;
  margin-top: 0;
}

/* Address edit form */
.gv-address-form {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 25px;
  position: relative;
}

.gv-form-title {
  font-size: 1.1em;
  font-weight: 600;
  color: #000;
  margin: 0 0 20px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
}

.gv-form-errors {
  margin-bottom: 20px;
}

.gv-form-group {
  margin-bottom: 15px;
}

.gv-label {
  display: block;
  font-size: 0.85em;
  font-weight: 500;
  color: #333;
  margin-bottom: 6px;
}

.gv-input-wrap {
  width: 100%;
}

.gv-form-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
}

/* ============================================
   ADDRESS FORM - Layout avec placeholders
   ============================================ */

/* Container des champs */
.gv-address-fields {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Row pour champs côte à côte */
.gv-form-row {
  display: flex;
  gap: 8px;
  width: 100%;
}

/* Champ demi-largeur */
.gv-form-half {
  flex: 1;
  min-width: 0;
}

/* Champ pleine largeur */
.gv-form-full {
  width: 100%;
}

/* CACHER les labels - utiliser placeholders */
.gv-address-form .gv-label,
.gv-address-form label,
.gv-address-form .hkcontrol-label,
#hikashop_user_addresses_show .hkcontrol-label,
#hikashop_user_addresses_show label:not(.hk-label),
.hikashop_address_edition .hkcontrol-label,
.hikashop_address_edition > fieldset > .hkform-group > label {
  display: none !important;
}

/* Inputs stylisés */
.gv-address-form input[type="text"],
.gv-address-form input[type="email"],
.gv-address-form input[type="tel"],
.gv-address-form input[type="number"],
.gv-address-form select,
.gv-address-form textarea,
.gv-input,
#hikashop_user_addresses_show input[type="text"],
#hikashop_user_addresses_show input[type="email"],
#hikashop_user_addresses_show input[type="tel"],
#hikashop_user_addresses_show input[type="number"],
#hikashop_user_addresses_show select,
#hikashop_user_addresses_show textarea,
.hikashop_address_edition input[type="text"],
.hikashop_address_edition input[type="email"],
.hikashop_address_edition input[type="tel"],
.hikashop_address_edition select,
.hikashop_address_edition textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  font-size: 0.9em !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  background: #fff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-sizing: border-box !important;
  height: auto !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

/* Select avec flèche custom */
.gv-address-form select,
#hikashop_user_addresses_show select,
.hikashop_address_edition select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}

/* Focus state */
.gv-address-form input:focus,
.gv-address-form select:focus,
.gv-address-form textarea:focus,
#hikashop_user_addresses_show input:focus,
#hikashop_user_addresses_show select:focus,
#hikashop_user_addresses_show textarea:focus,
.hikashop_address_edition input:focus,
.hikashop_address_edition select:focus,
.hikashop_address_edition textarea:focus {
  border-color: #000 !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.08) !important;
  outline: none !important;
}

/* Placeholders */
.gv-address-form input::placeholder,
#hikashop_user_addresses_show input::placeholder,
.hikashop_address_edition input::placeholder {
  color: #888 !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

/* Input containers */
#hikashop_user_addresses_show .hkc-sm-8,
.hikashop_address_edition .hkc-sm-8,
#hikashop_user_addresses_show .hkc-sm-4,
.hikashop_address_edition .hkc-sm-4 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
}

/* Form groups */
#hikashop_user_addresses_show .hkform-group,
.hikashop_address_edition .hkform-group {
  margin-bottom: 12px !important;
  display: block !important;
}

/* Required asterisk in placeholder - handled in PHP */

/* Address edition container (fallback HikaShop) */
.hikashop_address_edition {
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 12px !important;
  padding: 25px !important;
}

.hikashop_address_edition h3 {
  font-size: 1.1em !important;
  font-weight: 600 !important;
  color: #000 !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #e0e0e0 !important;
}

.hikashop_address_edition fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Buttons in address form */
.hikashop_address_edition .hikabtn,
.hikashop_address_edition a.hikabtn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 20px !important;
  border-radius: 6px !important;
  font-size: 0.9em !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

.hikashop_address_edition .hikabtn-success,
.hikashop_address_edition a.hikabtn-success {
  background: #000 !important;
  color: #fff !important;
}

.hikashop_address_edition .hikabtn-success:hover,
.hikashop_address_edition a.hikabtn-success:hover {
  background: #333 !important;
  color: #fff !important;
}

.hikashop_address_edition .hikabtn-danger,
.hikashop_address_edition a.hikabtn-danger {
  background: #f0f0f0 !important;
  color: #333 !important;
}

.hikashop_address_edition .hikabtn-danger:hover,
.hikashop_address_edition a.hikabtn-danger:hover {
  background: #e0e0e0 !important;
  color: #000 !important;
}

/* Responsive form rows */
@media (max-width: 480px) {
  .gv-form-row {
    flex-direction: column;
    gap: 12px;
  }

  .gv-form-half {
    width: 100%;
  }
}

/* Responsive address page */
@media (max-width: 768px) {
  .gv-default-address-row {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .gv-addresses-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .gv-address-actions {
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 576px) {
  .gv-default-addresses {
    padding: 15px;
  }

  .gv-card-content {
    padding: 15px;
  }

  .gv-card-address {
    padding-right: 0;
    padding-top: 45px;
  }

  .gv-card-actions {
    top: 10px;
    right: 10px;
  }

  .gv-address-form {
    padding: 15px;
  }

  .gv-form-buttons {
    flex-direction: column;
  }

  .gv-form-buttons .gv-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================
   ORDER LISTING PAGE - Filters
   ============================================ */
.gv-orders-listing {
  width: 100%;
}

.gv-orders-filters {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 25px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 10px;
}

.gv-filter-search {
  display: flex;
  gap: 8px;
  flex: 1;
  max-width: 350px;
}

.gv-filter-search .gv-input {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.9em;
}

.gv-filter-search .gv-input:focus {
  border-color: #000;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
}

.gv-btn-search {
  background: #000;
  color: #fff;
  padding: 10px 18px;
  border: none;
  border-radius: 6px;
  font-size: 0.9em;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}

.gv-btn-search:hover {
  background: #333;
}

.gv-filter-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
}

.gv-filter-options select,
.gv-orders-filters select {
  padding: 10px 35px 10px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.9em;
  background: #fff;
  min-width: 200px;
  cursor: pointer;
}

.gv-filter-options select:focus,
.gv-orders-filters select:focus {
  border-color: #000;
  outline: none;
}

/* Orders content */
.gv-orders-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Expand button */
.gv-btn-expand {
  background: #f0f0f0;
  color: #333;
  width: 40px;
  height: 40px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}

.gv-btn-expand:hover {
  background: #e0e0e0;
  color: #000;
}

/* Pagination */
.gv-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  margin-top: 20px;
  border-top: 1px solid #e0e0e0;
}

.gv-results-counter {
  font-size: 0.85em;
  color: #666;
}

/* Responsive filters */
@media (max-width: 768px) {
  .gv-orders-filters {
    flex-direction: column;
    gap: 15px;
  }

  .gv-filter-search {
    max-width: 100%;
    width: 100%;
  }

  .gv-filter-options {
    width: 100%;
    align-items: stretch;
  }

  .gv-filter-options select {
    width: 100%;
  }
}

/* ============================================
   CART SHOW PAGE
   ============================================ */
.gv-cart-section {
  width: 100%;
}

.gv-cart-toolbar {
  margin-bottom: 20px;
}

.gv-cart-toolbar .hikashop_header_buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.gv-cart-name,
.gv-wishlist-options {
  margin-bottom: 20px;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 8px;
}

.gv-cart-name label,
.gv-wishlist-options label {
  display: block;
  font-size: 0.85em;
  font-weight: 500;
  color: #333;
  margin-bottom: 6px;
}

.gv-cart-name .gv-input,
.gv-wishlist-options .gv-input {
  width: 100%;
  max-width: 400px;
}

/* Cart table */
.gv-cart-table-wrapper {
  overflow-x: auto;
}

.gv-cart-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
}

.gv-cart-table thead {
  background: #f8f9fa;
}

.gv-cart-table th {
  padding: 12px 15px;
  font-size: 0.8em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #555;
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
}

.gv-cart-table td {
  padding: 15px;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
}

.gv-cart-table tbody tr:last-child td {
  border-bottom: none;
}

.gv-cart-table tbody tr:hover {
  background: #fafafa;
}

/* Column widths */
.gv-col-checkbox {
  width: 40px;
  text-align: center;
}

.gv-col-product {
  min-width: 250px;
}

.gv-col-status {
  width: 80px;
  text-align: center;
}

.gv-col-price {
  width: 120px;
  text-align: right;
}

.gv-col-qty {
  width: 150px;
  text-align: center;
}

.gv-col-total {
  width: 120px;
  text-align: right;
  font-weight: 600;
}

/* Product cell */
.gv-product-cell {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.gv-product-image {
  flex-shrink: 0;
}

.gv-product-image img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
  background: #f5f5f5;
}

.gv-product-info {
  flex: 1;
  min-width: 0;
}

.gv-product-name {
  display: block;
  font-weight: 500;
  color: #000;
  text-decoration: none;
  margin-bottom: 4px;
}

.gv-product-name:hover {
  text-decoration: underline;
}

.gv-product-code {
  display: block;
  font-size: 0.8em;
  color: #888;
}

.gv-option-name {
  display: block;
  font-size: 0.85em;
  color: #666;
  margin-top: 4px;
}

.gv-edit-btn {
  color: #666;
  margin-left: 8px;
}

.gv-edit-btn:hover {
  color: #000;
}

/* Status badges */
.gv-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 1em;
}

.gv-status-ok {
  background: #d4edda;
  color: #155724;
}

.gv-status-err {
  background: #f8d7da;
  color: #721c24;
}

/* Quantity */
.gv-col-qty .hikashop_product_quantity_div {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.gv-delete-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: #fef2f2;
  color: #c00;
  border-radius: 4px;
  text-decoration: none;
  margin-left: 8px;
  transition: all 0.2s;
}

.gv-delete-btn:hover {
  background: #c00;
  color: #fff;
}

/* Footer totals */
.gv-cart-table tfoot {
  background: #f8f9fa;
}

.gv-cart-total-row td {
  padding: 15px;
  font-weight: 600;
  border-top: 2px solid #e0e0e0;
}

.gv-total-label {
  text-align: right;
  text-transform: uppercase;
  font-size: 0.9em;
  color: #333;
}

.gv-total-qty {
  text-align: center;
  font-size: 1.1em;
}

.gv-total-price {
  text-align: right;
  font-size: 1.2em;
  color: #000;
}

/* Responsive cart table */
@media (max-width: 768px) {
  .gv-cart-table thead {
    display: none;
  }

  .gv-cart-table tbody tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 15px;
  }

  .gv-cart-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
  }

  .gv-cart-table td:last-child {
    border-bottom: none;
  }

  .gv-cart-table td::before {
    content: attr(data-title);
    font-weight: 500;
    font-size: 0.85em;
    color: #666;
  }

  .gv-col-product {
    flex-direction: column;
    align-items: flex-start;
  }

  .gv-col-product::before {
    display: none;
  }

  .gv-product-cell {
    width: 100%;
  }

  .gv-cart-table tfoot tr {
    display: flex;
    justify-content: space-between;
    padding: 15px;
  }

  .gv-cart-table tfoot td {
    border: none;
    padding: 0;
  }
}

/* ==========================================================================
   CLEAN CART TABLE (Cart Show Page - Style Checkout)
   ========================================================================== */

.gv-cart-section {
  background: transparent;
  padding: 0;
}

.gv-cart-section .gv-section-title {
  font-size: 1.1em;
  font-weight: 600;
  color: #000;
  margin: 0 0 20px 0;
  padding: 0;
  border: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.gv-cart-toolbar {
  margin-bottom: 20px;
}

.gv-cart-name {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.gv-cart-name label {
  font-weight: 500;
  color: #333;
  white-space: nowrap;
}

.gv-cart-name .gv-input {
  flex: 1;
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 0.95rem;
}

.gv-cart-table-wrapper {
  overflow-x: auto;
  margin: 0 -10px;
  padding: 0 10px;
}

.gv-cart-table-clean {
  width: 100%;
  border-collapse: collapse;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 0.95rem;
}

.gv-cart-table-clean * {
  font-family: inherit;
}

/* En-tête sombre */
.gv-cart-table-clean thead tr {
  background: #2c2c2c;
}

.gv-cart-table-clean thead th {
  color: #fff;
  font-weight: 500;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 14px 12px;
  text-align: left;
  border: none;
}

.gv-cart-table-clean .gv-th-image {
  width: 80px;
  text-align: center;
}

.gv-cart-table-clean .gv-th-name {
  min-width: 180px;
}

.gv-cart-table-clean .gv-th-price,
.gv-cart-table-clean .gv-th-total {
  width: 120px;
  text-align: right;
  white-space: nowrap;
}

.gv-cart-table-clean .gv-th-qty {
  width: 140px;
  text-align: center;
}

/* Lignes du tableau */
.gv-cart-table-clean tbody tr {
  background: #fff;
  border-bottom: 1px solid #eee;
  transition: background 0.2s ease;
}

.gv-cart-table-clean tbody tr:hover {
  background: #fafafa;
}

.gv-cart-table-clean tbody td {
  padding: 15px 12px;
  vertical-align: middle;
}

/* Colonne image */
.gv-cart-table-clean .gv-td-image {
  text-align: center;
}

.gv-cart-table-clean .gv-cart-img {
  width: 60px;
  height: 60px;
  margin: 0 auto;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gv-cart-table-clean .gv-cart-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Colonne nom */
.gv-cart-table-clean .gv-td-name {
  font-weight: 500;
  color: #333;
}

.gv-cart-table-clean .gv-cart-product-link {
  color: #333;
  text-decoration: none;
  transition: color 0.2s ease;
}

.gv-cart-table-clean .gv-cart-product-link:hover {
  color: #c8a45a;
}

/* Colonne prix */
.gv-cart-table-clean .gv-td-price,
.gv-cart-table-clean .gv-td-total {
  text-align: right;
  font-weight: 600;
  color: #333;
}

.gv-cart-table-clean .gv-td-total {
  color: #333;
  font-size: 1rem;
}

/* Colonne quantité */
.gv-cart-table-clean .gv-td-qty {
  text-align: center;
}

.gv-cart-table-clean .gv-td-qty .hikashop_product_quantity_div {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Arrangement boutons quantité : - [input] + */
.gv-cart-table-clean .gv-td-qty .hikashop_product_quantity_field_div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gv-cart-table-clean .gv-td-qty input[type="text"],
.gv-cart-table-clean .gv-td-qty input[type="number"],
.gv-cart-table-clean .gv-td-qty .hikashop_product_quantity_field {
  width: 50px !important;
  text-align: center !important;
  padding: 8px 5px !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  background: #fff !important;
  -moz-appearance: textfield !important;
}

.gv-cart-table-clean .gv-td-qty input::-webkit-outer-spin-button,
.gv-cart-table-clean .gv-td-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Boutons +/- HikaShop dans le panier - cercles parfaits */
.gv-cart-table-clean .hikashop_product_quantity_input_div_default_main {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.gv-cart-table-clean .hikashop_product_quantity_change_div_default {
  display: flex !important;
  flex-direction: row !important;
  gap: 6px !important;
}

.gv-cart-table-clean .hikashop_product_quantity_change_div_plus_default,
.gv-cart-table-clean .hikashop_product_quantity_change_div_minus_default {
  width: 32px !important;
  height: 32px !important;
}

.gv-cart-table-clean .hikashop_product_quantity_field_change,
.gv-cart-table-clean a.hikashop_product_quantity_field_change,
.gv-cart-table-clean .hikashop_product_quantity_field_change_plus,
.gv-cart-table-clean .hikashop_product_quantity_field_change_minus,
.gv-cart-table-clean a.hikashop_product_quantity_field_change_plus,
.gv-cart-table-clean a.hikashop_product_quantity_field_change_minus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  padding-bottom: 2px !important;
  margin: 0 !important;
  background-color: #000 !important;
  border-radius: 50% !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 1.3rem !important;
  font-weight: bold !important;
  line-height: 32px !important;
  border: none !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.gv-cart-table-clean .hikashop_product_quantity_field_change:hover,
.gv-cart-table-clean a.hikashop_product_quantity_field_change:hover {
  background-color: #444 !important;
}

/* Champ quantité HikaShop dans le panier */
.gv-cart-table-clean .hikashop_product_quantity_field,
.gv-cart-table-clean input.hikashop_product_quantity_field,
.gv-cart-table-clean .hikashop_product_quantity_div input,
.gv-cart-table-clean .hikashop_product_quantity_input_div_default input,
.gv-cart-table-clean input[type="text"].hikashop_product_quantity_field {
  width: 50px !important;
  text-align: center !important;
  padding: 8px 5px !important;
  border: none !important;
  border-width: 0 !important;
  border-style: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #000 !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

/* Bouton refresh caché */
.gv-cart-table-clean .hikashop_cart_product_quantity_refresh {
  display: none !important;
}

.gv-cart-table-clean .gv-qty-value {
  display: inline-block;
  padding: 8px 15px;
  background: #f5f5f5;
  border-radius: 6px;
  font-weight: 500;
}

/* Footer - Total */
.gv-cart-table-clean tfoot tr {
  background: #f8f9fa;
}

.gv-cart-table-clean tfoot .gv-cart-subtotal td {
  padding: 18px 12px;
  border-top: 2px solid #eee;
}

.gv-cart-table-clean .gv-foot-label {
  text-align: right;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  color: #333;
}

.gv-cart-table-clean .gv-foot-value {
  text-align: right;
  font-weight: 600;
  font-size: 1.1rem;
  color: #333;
  white-space: nowrap;
}

.gv-cart-table-clean .gv-foot-value .hikashop_product_price,
.gv-cart-table-clean .gv-foot-value .hikashop_product_price span,
.gv-cart-table-clean .gv-foot-value .hikashop_price_with_tax {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
}

/* Prix affichés - forcer sur une ligne */
.gv-cart-table-clean .hikashop_product_price_full,
.gv-cart-table-clean .hikashop_product_price_main {
  white-space: nowrap;
}

.gv-cart-table-clean .hikashop_product_price,
.gv-cart-table-clean .hikashop_product_price span,
.gv-cart-table-clean .hikashop_product_price_full,
.gv-cart-table-clean .hikashop_product_price_main,
.gv-cart-table-clean .hikashop_product_price_with_discount,
.gv-cart-table-clean .hikashop_price_with_tax {
  display: inline !important;
  white-space: nowrap !important;
  color: #333 !important;
  font-weight: 500 !important;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 0.95rem !important;
}


/* Responsive Clean Cart */
@media (max-width: 768px) {
  .gv-cart-section {
    padding: 15px;
    border-radius: 8px;
  }

  .gv-cart-table-clean thead {
    display: none;
  }

  .gv-cart-table-clean tbody tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 15px;
    position: relative;
  }

  .gv-cart-table-clean tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
  }

  .gv-cart-table-clean tbody td:last-child {
    border-bottom: none;
  }

  .gv-cart-table-clean tbody td::before {
    content: attr(data-label);
    font-weight: 500;
    font-size: 0.85rem;
    color: #666;
  }

  .gv-cart-table-clean .gv-td-image {
    justify-content: center;
    border-bottom: none;
    padding-bottom: 0;
  }

  .gv-cart-table-clean .gv-td-image::before {
    display: none;
  }

  .gv-cart-table-clean .gv-cart-img {
    width: 80px;
    height: 80px;
  }

  .gv-cart-table-clean .gv-td-name {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }

  .gv-cart-table-clean .gv-td-name::before {
    display: none;
  }

  .gv-cart-table-clean .gv-td-price,
  .gv-cart-table-clean .gv-td-total {
    text-align: right;
  }

  .gv-cart-table-clean .gv-td-qty {
    justify-content: space-between;
  }

  .gv-cart-table-clean tfoot tr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
  }

  .gv-cart-table-clean tfoot td {
    padding: 0;
    border: none;
  }

  .gv-cart-table-clean .gv-foot-label {
    text-align: left;
  }
}

@media (max-width: 480px) {
  .gv-cart-name {
    flex-direction: column;
    align-items: stretch;
  }

  .gv-cart-table-clean .gv-td-qty .hikashop_product_quantity_div {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}

/* ==========================================================================
   CHECKOUT ADDRESS BLOCK - Style harmonisé avec Mode de livraison
   ========================================================================== */

/* Masquer le bloc adresse pour les visiteurs non connectés */
.hikashop_checkout_address_hidden {
  display: none !important;
}

/* Container principal - même style que shipping */
.hikashop_checkout_address {
  background: #f8f9fa !important;
  border-radius: 12px !important;
  padding: 25px !important;
  margin-bottom: 20px !important;
}

/* Layout 2 colonnes */
.hikashop_checkout_address .hk-container-fluid {
  display: flex !important;
  gap: 40px !important;
  background: transparent !important;
  padding: 0 !important;
}

.hikashop_checkout_address .hk-container-fluid > .hkc-sm-6 {
  flex: 1 !important;
  width: auto !important;
  float: none !important;
}

/* Fieldset - Titre de section */
.hikashop_checkout_address fieldset.hika_address_field {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  background: transparent !important;
}

.hikashop_checkout_address fieldset.hika_address_field legend {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: #000 !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
  border: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: transparent !important;
  width: 100% !important;
}

/* Carte d'adresse - style épuré */
.hikashop_checkout_address .hika_address_element {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 15px 20px !important;
  margin-bottom: 12px !important;
  border: 1px solid #e5e5e5 !important;
  transition: border-color 0.2s ease !important;
}

.hikashop_checkout_address .hika_address_element:hover {
  border-color: #ccc !important;
}

/* Header avec radio + boutons - style ligne */
.hikashop_checkout_address .hika_edit {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Radio button - style sobre comme shipping */
.hikashop_checkout_address .hika_edit input[type="radio"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid #ccc !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  position: relative !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}

.hikashop_checkout_address .hika_edit input[type="radio"]:checked {
  border-color: #000 !important;
  background: #fff !important;
}

.hikashop_checkout_address .hika_edit input[type="radio"]:checked::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 10px !important;
  height: 10px !important;
  background: #000 !important;
  border-radius: 50% !important;
}

/* Boutons Éditer et Supprimer - style discret */
.hikashop_checkout_address .hika_edit a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  transition: all 0.2s ease !important;
}

/* Bouton Éditer */
.hikashop_checkout_address .hika_edit a[title*="dit"],
.hikashop_checkout_address .hika_edit a[onclick*="editAddress"],
.hikashop_checkout_address .gv-address-edit-btn {
  background: #333 !important;
  color: #fff !important;
  border: none !important;
}

.hikashop_checkout_address .hika_edit a[title*="dit"]:hover,
.hikashop_checkout_address .hika_edit a[onclick*="editAddress"]:hover,
.hikashop_checkout_address .gv-address-edit-btn:hover {
  background: #000 !important;
}

/* Bouton Supprimer */
.hikashop_checkout_address .hika_edit a[title*="upprim"],
.hikashop_checkout_address .hika_edit a[onclick*="deleteAddress"],
.hikashop_checkout_address .gv-address-delete-btn {
  background: transparent !important;
  color: #999 !important;
  border: 1px solid #ddd !important;
}

.hikashop_checkout_address .hika_edit a[title*="upprim"]:hover,
.hikashop_checkout_address .hika_edit a[onclick*="deleteAddress"]:hover,
.hikashop_checkout_address .gv-address-delete-btn:hover {
  background: #fee !important;
  color: #c00 !important;
  border-color: #fcc !important;
}

/* Icônes dans les boutons */
.hikashop_checkout_address .hika_edit a i {
  font-size: 0.7rem !important;
}

/* Texte de l'adresse */
.hikashop_checkout_address .hika_address_display {
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  color: #333 !important;
  padding-left: 35px !important;
}

/* Bouton Nouveau - style sobre */
.hikashop_checkout_address .hikashop_checkout_address_new_button,
.hikashop_checkout_address button[onclick*="newAddress"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 10px !important;
  padding: 10px 20px !important;
  background: #000 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 25px !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

.hikashop_checkout_address .hikashop_checkout_address_new_button:hover,
.hikashop_checkout_address button[onclick*="newAddress"]:hover {
  background: #333 !important;
}

/* Responsive - Address Block */
@media (max-width: 768px) {
  .hikashop_checkout_address {
    padding: 15px !important;
    border-radius: 8px !important;
  }

  .hikashop_checkout_address .hk-container-fluid {
    flex-direction: column !important;
    gap: 25px !important;
  }

  .hikashop_checkout_address fieldset.hika_address_field legend {
    font-size: 1rem !important;
  }

  .hikashop_checkout_address .hika_address_element {
    padding: 12px 15px !important;
  }

  .hikashop_checkout_address .hika_edit {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .hikashop_checkout_address .hika_edit a {
    padding: 5px 10px !important;
    font-size: 0.75rem !important;
  }

  .hikashop_checkout_address .hika_address_display {
    padding-left: 0 !important;
    margin-top: 10px !important;
    font-size: 0.85rem !important;
  }

  .hikashop_checkout_address .hikashop_checkout_address_new_button,
  .hikashop_checkout_address button[onclick*="newAddress"] {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  .hikashop_checkout_address {
    padding: 12px !important;
  }

  .hikashop_checkout_address .hika_edit {
    gap: 8px !important;
  }

  .hikashop_checkout_address .hika_edit input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
  }

  .hikashop_checkout_address .hika_edit a span {
    display: none !important;
  }

  .hikashop_checkout_address .hika_edit a {
    padding: 8px !important;
    min-width: 34px !important;
  }
}

/* ==========================================================================
   CHECKOUT ADDRESS FORM (Édition/Création)
   ========================================================================== */

/* Container du formulaire */
.hikashop_checkout_address .hkform-horizontal {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Champs par défaut - pleine largeur */
.hikashop_checkout_address .hkform-group {
  flex: 0 0 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cacher les labels - on utilise les placeholders */
.hikashop_checkout_address .hkform-group > label,
.hikashop_checkout_address .hkform-group .hkcontrol-label,
.hikashop_checkout_address .hkform-group .hkc-sm-4 {
  display: none !important;
}

/* Container input prend toute la largeur */
.hikashop_checkout_address .hkform-group .hkc-sm-8,
.hikashop_checkout_address .hkform-group > div {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Style des inputs */
.hikashop_checkout_address .hkform-group input[type="text"],
.hikashop_checkout_address .hkform-group input[type="email"],
.hikashop_checkout_address .hkform-group input[type="tel"],
.hikashop_checkout_address .hkform-group select,
.hikashop_checkout_address .hkform-group textarea {
  width: 100% !important;
  padding: 14px 16px !important;
  font-size: 0.9rem !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #333 !important;
  transition: border-color 0.2s ease !important;
  box-sizing: border-box !important;
}

.hikashop_checkout_address .hkform-group input:focus,
.hikashop_checkout_address .hkform-group select:focus,
.hikashop_checkout_address .hkform-group textarea:focus {
  border-color: #000 !important;
  outline: none !important;
}

.hikashop_checkout_address .hkform-group input::placeholder {
  color: #999 !important;
}

/* Select dropdown */
.hikashop_checkout_address .hkform-group select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
}

/* Titre - pleine largeur */
.hikashop_checkout_address .hikashop_checkout_address_address_title {
  flex: 0 0 100% !important;
}

/* Nom + Prénom sur la même ligne (50% chacun) */
.hikashop_checkout_address .hikashop_checkout_address_address_lastname,
.hikashop_checkout_address .hikashop_checkout_address_address_firstname {
  flex: 1 1 calc(50% - 6px) !important;
  min-width: 140px !important;
}

/* Adresse pleine largeur */
.hikashop_checkout_address .hikashop_checkout_address_address_street,
.hikashop_checkout_address .hikashop_checkout_address_address_street2 {
  flex: 0 0 100% !important;
}

/* Code postal (35%) + Ville (65%) sur la même ligne */
.hikashop_checkout_address .hikashop_checkout_address_address_post_code {
  flex: 0 0 35% !important;
  min-width: 100px !important;
}

.hikashop_checkout_address .hikashop_checkout_address_address_city {
  flex: 1 1 calc(65% - 12px) !important;
  min-width: 150px !important;
}

/* Téléphone - pleine largeur */
.hikashop_checkout_address .hikashop_checkout_address_address_telephone {
  flex: 0 0 100% !important;
}

/* Téléphone 2 - pleine largeur */
.hikashop_checkout_address .hikashop_checkout_address_address_telephone2 {
  flex: 0 0 100% !important;
}

/* Pays - pleine largeur */
.hikashop_checkout_address .hikashop_checkout_address_address_country {
  flex: 0 0 100% !important;
}

/* Canton - pleine largeur */
.hikashop_checkout_address .hikashop_checkout_address_address_state {
  flex: 0 0 100% !important;
}

/* Société pleine largeur */
.hikashop_checkout_address .hikashop_checkout_address_address_company {
  flex: 0 0 100% !important;
}

/* Case à cocher "Adresse par défaut" */
.hikashop_checkout_address .hikashop_checkout_address_default,
.hikashop_checkout_address .hikashop_checkout_address_same {
  flex: 0 0 100% !important;
  margin-top: 5px !important;
}

.hikashop_checkout_address .hikashop_checkout_address_default label,
.hikashop_checkout_address .hikashop_checkout_address_same label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 0.85rem !important;
  color: #333 !important;
  cursor: pointer !important;
}

.hikashop_checkout_address .hikashop_checkout_address_default input[type="checkbox"],
.hikashop_checkout_address .hikashop_checkout_address_same input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #000 !important;
}

/* Info champs requis */
.hikashop_checkout_address .hikashop_address_required_info_line {
  flex: 0 0 100% !important;
  margin-top: 10px !important;
}

.hikashop_checkout_address .hikashop_address_required_info_line .controls {
  font-size: 0.8rem !important;
  color: #999 !important;
}

/* Conteneur des boutons - aligné à droite */
.hikashop_checkout_address .gv-address-buttons {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 20px !important;
  padding-top: 20px !important;
  border-top: 1px solid #e0e0e0 !important;
  width: 100% !important;
}

/* Boutons du formulaire */
.hikashop_checkout_address .hikashop_checkout_address_ok_button,
.hikashop_checkout_address .hikashop_checkout_address_cancel_button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 24px !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin: 0 !important;
}

/* Bouton Annuler - blanc avec bordure */
.hikashop_checkout_address .hikashop_checkout_address_cancel_button {
  background: #fff !important;
  color: #333 !important;
  border: 1px solid #ddd !important;
  order: 1 !important;
}

.hikashop_checkout_address .hikashop_checkout_address_cancel_button:hover {
  background: #f5f5f5 !important;
  border-color: #ccc !important;
}

/* Bouton OK - noir */
.hikashop_checkout_address .hikashop_checkout_address_ok_button {
  background: #000 !important;
  color: #fff !important;
  border: none !important;
  order: 2 !important;
}

.hikashop_checkout_address .hikashop_checkout_address_ok_button:hover {
  background: #333 !important;
}

/* Responsive formulaire adresse */
@media (max-width: 768px) {
  .hikashop_checkout_address .hkform-horizontal {
    gap: 10px !important;
  }

  .hikashop_checkout_address .hkform-group input[type="text"],
  .hikashop_checkout_address .hkform-group input[type="email"],
  .hikashop_checkout_address .hkform-group input[type="tel"],
  .hikashop_checkout_address .hkform-group select {
    padding: 12px 14px !important;
    font-size: 0.85rem !important;
  }

  .hikashop_checkout_address .gv-address-buttons {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .hikashop_checkout_address .hikashop_checkout_address_ok_button,
  .hikashop_checkout_address .hikashop_checkout_address_cancel_button {
    width: 100% !important;
    justify-content: center !important;
    padding: 12px 20px !important;
  }
}

@media (max-width: 600px) {
  .hikashop_checkout_address .hikashop_checkout_address_address_title,
  .hikashop_checkout_address .hikashop_checkout_address_address_firstname,
  .hikashop_checkout_address .hikashop_checkout_address_address_lastname,
  .hikashop_checkout_address .hikashop_checkout_address_address_post_code,
  .hikashop_checkout_address .hikashop_checkout_address_address_city,
  .hikashop_checkout_address .hikashop_checkout_address_address_telephone,
  .hikashop_checkout_address .hikashop_checkout_address_address_telephone2,
  .hikashop_checkout_address .hikashop_checkout_address_address_country,
  .hikashop_checkout_address .hikashop_checkout_address_address_state {
    flex: 0 0 100% !important;
  }
}

/* ==========================================================================
   SHIPPING CONDITIONS - 2 colonnes FR/DE
   ========================================================================== */

.gv-shipping-conditions {
  display: flex;
  gap: 30px;
  margin-top: 20px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  font-size: 0.85rem;
  line-height: 1.6;
  color: #555;
}

.gv-shipping-conditions .col1,
.gv-shipping-conditions .col2 {
  flex: 1;
}

.gv-shipping-conditions b {
  color: #000;
  font-weight: 600;
}

@media (max-width: 768px) {
  .gv-shipping-conditions {
    flex-direction: column;
    gap: 20px;
    padding: 15px;
  }
}

/* ==========================================================================
   RESPONSIVE GLOBAL - CPANEL & CUSTOMER PAGES
   ========================================================================== */

/* Tablette - 768px */
@media (max-width: 768px) {
  /* CPANEL Layout */
  .gv-cpanel-wrapper {
    padding: 0 10px !important;
  }

  .gv-cpanel-header {
    padding: 15px 0 !important;
  }

  .gv-cpanel-title {
    font-size: 1.4rem !important;
  }

  .gv-cpanel-container {
    flex-direction: column !important;
    gap: 20px !important;
  }

  .gv-cpanel-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    order: 2 !important;
  }

  .gv-cpanel-main {
    width: 100% !important;
    order: 1 !important;
  }

  /* Navigation sidebar en horizontal sur tablette */
  .gv-cpanel-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .gv-nav-item {
    flex: 1 1 auto !important;
    min-width: 100px !important;
    justify-content: center !important;
    padding: 10px 15px !important;
    border-radius: 8px !important;
    background: #f5f5f5 !important;
  }

  .gv-nav-item.gv-nav-active {
    background: #000 !important;
    color: #fff !important;
  }

  .gv-nav-item.gv-nav-active .gv-nav-icon,
  .gv-nav-item.gv-nav-active .gv-nav-text {
    color: #fff !important;
  }

  .gv-nav-icon {
    width: auto !important;
  }

  /* Section title */
  .gv-section-title {
    font-size: 1.1rem !important;
    padding: 12px 15px !important;
  }

  /* Orders listing */
  .gv-orders-listing {
    padding: 0 !important;
  }

  .gv-order-card {
    margin-bottom: 15px !important;
  }

  .gv-order-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px 15px !important;
  }

  .gv-order-body {
    padding: 12px 15px !important;
  }

  /* Cart table responsive */
  .gv-cart-toolbar {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .gv-cart-toolbar .hikabtn {
    width: 100% !important;
    text-align: center !important;
  }
}

/* Mobile - 576px */
@media (max-width: 576px) {
  /* CPANEL */
  .gv-cpanel-title {
    font-size: 1.2rem !important;
  }

  /* Navigation en grille sur mobile */
  .gv-cpanel-nav {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .gv-nav-item {
    flex-direction: column !important;
    padding: 12px 8px !important;
    text-align: center !important;
    min-width: auto !important;
  }

  .gv-nav-text {
    font-size: 0.75rem !important;
  }

  /* Section title */
  .gv-section-title {
    font-size: 1rem !important;
  }

  /* Orders */
  .gv-order-info {
    flex-direction: column !important;
    gap: 5px !important;
  }

  .gv-order-products {
    font-size: 0.85rem !important;
  }

  /* Buttons */
  .hikabtn,
  .gv-btn {
    padding: 10px 15px !important;
    font-size: 0.85rem !important;
  }
}

/* Mobile small - 480px */
@media (max-width: 480px) {
  /* CPANEL */
  .gv-cpanel-wrapper {
    padding: 0 5px !important;
  }

  .gv-cpanel-header {
    padding: 10px 0 !important;
  }

  .gv-cpanel-title {
    font-size: 1.1rem !important;
  }

  /* Navigation */
  .gv-cpanel-nav {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gv-nav-item {
    padding: 10px 5px !important;
  }

  .gv-nav-icon i {
    font-size: 1rem !important;
  }

  .gv-nav-text {
    font-size: 0.7rem !important;
  }

  /* Orders */
  .gv-order-header {
    padding: 10px 12px !important;
  }

  .gv-order-body {
    padding: 10px 12px !important;
  }

  .gv-order-date,
  .gv-order-number {
    font-size: 0.8rem !important;
  }

  .gv-order-total {
    font-size: 0.9rem !important;
  }

  /* Cart */
  .gv-cart-table-clean .gv-cart-img {
    width: 60px !important;
    height: 60px !important;
  }

  .gv-cart-product-link {
    font-size: 0.85rem !important;
  }

  /* Quantity buttons */
  .gv-cart-table-clean .hikashop_product_quantity_field_change,
  .gv-cart-table-clean a.hikashop_product_quantity_field_change_plus,
  .gv-cart-table-clean a.hikashop_product_quantity_field_change_minus {
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    font-size: 0.9rem !important;
  }

  .gv-cart-table-clean .hikashop_product_quantity_field {
    width: 35px !important;
    font-size: 1rem !important;
  }

  /* Footer total */
  .gv-cart-table-clean .gv-foot-label,
  .gv-cart-table-clean .gv-foot-value {
    font-size: 0.95rem !important;
  }

  /* Checkout */
  #hikashop_checkout {
    padding: 5px !important;
    margin-top: 30px !important;
  }

  #hikashop_checkout h1 {
    font-size: 1.2rem !important;
  }
}

/* Very small mobile - 360px */
@media (max-width: 360px) {
  .gv-cpanel-nav {
    grid-template-columns: 1fr !important;
  }

  .gv-nav-item {
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    padding: 12px 15px !important;
  }

  .gv-nav-text {
    font-size: 0.85rem !important;
  }
}

/* ==========================================================================
   CHECKOUT PAYMENT - Responsive
   ========================================================================== */

/* Payment table styling */
.hikashop_checkout_payment .hikashop_payment_methods_table {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
}

.hikashop_checkout_payment .hikashop_payment_methods_table tr {
  background: #fff !important;
}

.hikashop_checkout_payment .hikashop_payment_methods_table td {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 15px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
}

/* Radio button styling */
.hikashop_checkout_payment .hikashop_checkout_payment_radio {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border: 2px solid #ccc !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  position: relative !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.hikashop_checkout_payment .hikashop_checkout_payment_radio:checked {
  border-color: #000 !important;
}

.hikashop_checkout_payment .hikashop_checkout_payment_radio:checked::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 12px !important;
  height: 12px !important;
  background: #000 !important;
  border-radius: 50% !important;
}

/* Payment name label */
.hikashop_checkout_payment label {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.hikashop_checkout_payment .hikashop_checkout_payment_name {
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  color: #333 !important;
}

/* Payment images container */
.hikashop_checkout_payment .hikashop_checkout_payment_images {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  margin-left: auto !important;
}

.hikashop_checkout_payment .hikashop_checkout_payment_images img {
  height: 28px !important;
  width: auto !important;
  max-width: 55px !important;
  object-fit: contain !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .hikashop_checkout_payment .hikashop_payment_methods_table {
    display: block !important;
    width: 100% !important;
  }

  .hikashop_checkout_payment .hikashop_payment_methods_table tbody {
    display: block !important;
  }

  .hikashop_checkout_payment .hikashop_payment_methods_table tr {
    display: block !important;
    margin-bottom: 10px !important;
  }

  .hikashop_checkout_payment .hikashop_payment_methods_table td {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 15px !important;
  }

  /* Radio stays on left, content wraps */
  .hikashop_checkout_payment .hikashop_checkout_payment_radio {
    margin-top: 2px !important;
  }

  /* Images wrap to next line on mobile */
  .hikashop_checkout_payment .hikashop_checkout_payment_images {
    width: 100% !important;
    margin-left: 34px !important;
    margin-top: 5px !important;
  }

  .hikashop_checkout_payment .hikashop_checkout_payment_images img {
    height: 26px !important;
    max-width: 50px !important;
  }
}

@media (max-width: 480px) {
  .hikashop_checkout_payment .hikashop_payment_methods_table td {
    padding: 12px !important;
    gap: 8px !important;
  }

  .hikashop_checkout_payment .hikashop_checkout_payment_images {
    margin-left: 30px !important;
  }

  .hikashop_checkout_payment .hikashop_checkout_payment_images img {
    height: 22px !important;
    max-width: 45px !important;
  }
}

/* ==========================================================================
   CART TABLE MOBILE - Amélioration layout
   ========================================================================== */

@media (max-width: 768px) {
  /* Cart mobile - style cartes amélioré */
  .gv-cart-table-clean tbody tr {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid #eee !important;
    border-radius: 10px !important;
    padding: 0 !important;
    margin-bottom: 15px !important;
    overflow: hidden !important;
  }

  .gv-cart-table-clean tbody td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 15px !important;
    border-bottom: 1px solid #f5f5f5 !important;
    background: #fff !important;
  }

  .gv-cart-table-clean tbody td:last-child {
    border-bottom: none !important;
  }

  /* Label à gauche */
  .gv-cart-table-clean tbody td::before {
    content: attr(data-label) !important;
    font-weight: 500 !important;
    font-size: 0.8rem !important;
    color: #888 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
  }

  /* Image - centré sans label */
  .gv-cart-table-clean .gv-td-image {
    justify-content: center !important;
    padding: 15px !important;
    background: #fafafa !important;
  }

  .gv-cart-table-clean .gv-td-image::before {
    display: none !important;
  }

  .gv-cart-table-clean .gv-td-image .gv-cart-img {
    width: 80px !important;
    height: 80px !important;
  }

  /* Nom produit - style fort */
  .gv-cart-table-clean .gv-td-name {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 5px !important;
    background: #fafafa !important;
    padding: 12px 15px !important;
  }

  .gv-cart-table-clean .gv-td-name::before {
    display: none !important;
  }

  .gv-cart-table-clean .gv-td-name .gv-cart-product-link {
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: #000 !important;
  }

  /* Prix et quantité */
  .gv-cart-table-clean .gv-td-price,
  .gv-cart-table-clean .gv-td-total {
    background: #fff !important;
  }

  .gv-cart-table-clean .gv-td-qty {
    background: #fff !important;
  }

  /* Prix total en gras */
  .gv-cart-table-clean .gv-td-total {
    font-weight: 600 !important;
    background: #f8f9fa !important;
  }

  .gv-cart-table-clean .gv-td-total .hikashop_product_price,
  .gv-cart-table-clean .gv-td-total .hikashop_product_price span {
    font-weight: 600 !important;
    color: #000 !important;
  }

  /* Footer total */
  .gv-cart-table-clean tfoot {
    display: block !important;
  }

  .gv-cart-table-clean tfoot tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 15px !important;
    background: #f8f9fa !important;
    border-radius: 8px !important;
  }

  .gv-cart-table-clean tfoot td {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }
}

@media (max-width: 480px) {
  .gv-cart-table-clean tbody td {
    padding: 10px 12px !important;
  }

  .gv-cart-table-clean tbody td::before {
    font-size: 0.75rem !important;
  }

  .gv-cart-table-clean .gv-td-image .gv-cart-img {
    width: 70px !important;
    height: 70px !important;
  }

  .gv-cart-table-clean .gv-td-name .gv-cart-product-link {
    font-size: 0.9rem !important;
  }
}

/* ==========================================================================
   CHECKOUT CART TABLE - Mobile Responsive
   ========================================================================== */

@media (max-width: 768px) {
  /* Hide table header on mobile */
  .hikashop_checkout_cart table thead {
    display: none !important;
  }

  /* Table as block */
  .hikashop_checkout_cart table,
  .hikashop_checkout_cart table tbody {
    display: block !important;
    width: 100% !important;
  }

  /* Product rows as cards */
  .hikashop_checkout_cart table tbody tr.row0,
  .hikashop_checkout_cart table tbody tr.row1 {
    display: block !important;
    background: #fff !important;
    border: 1px solid #eee !important;
    border-radius: 10px !important;
    margin-bottom: 15px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Each cell as block - CENTERED */
  .hikashop_checkout_cart table tbody tr.row0 td,
  .hikashop_checkout_cart table tbody tr.row1 td {
    display: block !important;
    width: 100% !important;
    padding: 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .hikashop_checkout_cart table tbody tr.row0 td:last-child,
  .hikashop_checkout_cart table tbody tr.row1 td:last-child {
    border-bottom: none !important;
  }

  /* Image cell - centered */
  .hikashop_checkout_cart .hikashop_cart_product_image_value {
    text-align: center !important;
    background: #fafafa !important;
    padding: 20px 15px !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_image_thumb {
    display: inline-block !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_image_thumb img {
    max-width: 100px !important;
    max-height: 100px !important;
  }

  /* Name cell - CENTERED */
  .hikashop_checkout_cart .hikashop_cart_product_name_value {
    background: #fafafa !important;
    padding: 15px !important;
    text-align: center !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_name {
    font-weight: 600 !important;
    font-size: 1rem !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_name a {
    color: #000 !important;
    text-decoration: none !important;
  }

  /* Price cell - POSITION ABSOLUTE FOR LABEL */
  .hikashop_checkout_cart .hikashop_cart_product_price_value {
    position: relative !important;
    display: block !important;
    text-align: center !important;
    background: #fff !important;
    padding: 35px 15px 15px 15px !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_price_value::before {
    content: "PRIX UNITAIRE" !important;
    position: absolute !important;
    top: 12px !important;
    left: 0 !important;
    right: 0 !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #333 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    text-align: center !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_price_value .hikashop_product_price_full,
  .hikashop_checkout_cart .hikashop_cart_product_price_value .hikashop_product_price {
    display: block !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #000 !important;
    text-align: center !important;
  }

  /* Quantity cell - CENTERED */
  .hikashop_checkout_cart .hikashop_cart_product_quantity_value {
    display: block !important;
    text-align: center !important;
    background: #fff !important;
    padding: 15px !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_quantity_value::before {
    display: none !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_quantity_value .hikashop_product_quantity_div {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  /* Total cell - POSITION ABSOLUTE FOR LABEL */
  .hikashop_checkout_cart .hikashop_cart_product_total_value {
    position: relative !important;
    display: block !important;
    text-align: center !important;
    background: #f8f9fa !important;
    padding: 35px 15px 15px 15px !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_total_value::before {
    content: "TOTAL LIGNE" !important;
    position: absolute !important;
    top: 12px !important;
    left: 0 !important;
    right: 0 !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #333 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    text-align: center !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_total_value .hikashop_product_price_full,
  .hikashop_checkout_cart .hikashop_cart_product_total_value .hikashop_product_price {
    display: block !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #000 !important;
    text-align: center !important;
  }

  /* Hide separator row */
  .hikashop_checkout_cart table tbody tr.margin {
    display: none !important;
  }

  /* Footer rows - CENTERED */
  .hikashop_checkout_cart table tbody tr.hikashop_cart_subtotal_row,
  .hikashop_checkout_cart table tbody tr.hikashop_cart_coupon_row,
  .hikashop_checkout_cart table tbody tr.hikashop_cart_shipping_row,
  .hikashop_checkout_cart table tbody tr.hikashop_cart_tax_row,
  .hikashop_checkout_cart table tbody tr.hikashop_cart_payment_row,
  .hikashop_checkout_cart table tbody tr.hikashop_cart_additional_row {
    display: block !important;
    padding: 15px !important;
    background: #f8f9fa !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    border: none !important;
    text-align: center !important;
  }

  /* Total row - CENTERED */
  .hikashop_checkout_cart table tbody tr.hikashop_cart_total_row {
    display: block !important;
    padding: 20px !important;
    background: #000 !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    border: none !important;
    text-align: center !important;
  }

  /* Hide empty footer cells */
  .hikashop_checkout_cart .hikashop_cart_empty_footer {
    display: none !important;
  }

  /* Footer labels - CENTERED & VISIBLE */
  .hikashop_checkout_cart .hikashop_cart_subtotal_title,
  .hikashop_checkout_cart .hikashop_cart_coupon_title,
  .hikashop_checkout_cart .hikashop_cart_shipping_title,
  .hikashop_checkout_cart .hikashop_cart_tax_title,
  .hikashop_checkout_cart .hikashop_cart_payment_title,
  .hikashop_checkout_cart .hikashop_cart_additional_title {
    display: block !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #333 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    margin-bottom: 8px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
  }

  /* Footer values - CENTERED */
  .hikashop_checkout_cart .hikashop_cart_subtotal_value,
  .hikashop_checkout_cart .hikashop_cart_coupon_value,
  .hikashop_checkout_cart .hikashop_cart_shipping_value,
  .hikashop_checkout_cart .hikashop_cart_tax_value,
  .hikashop_checkout_cart .hikashop_cart_payment_value,
  .hikashop_checkout_cart .hikashop_cart_additional_value {
    display: block !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #000 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
  }

  /* Total row - CENTERED & VISIBLE */
  .hikashop_checkout_cart .hikashop_cart_total_title {
    display: block !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #fff !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    margin-bottom: 8px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
  }

  .hikashop_checkout_cart .hikashop_cart_total_value {
    display: block !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    color: #fff !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
  }

  .hikashop_checkout_cart .hikashop_checkout_cart_final_total {
    color: #fff !important;
    font-size: 20px !important;
  }

  /* Hide delete button */
  .hikashop_checkout_cart .hikashop_cart_product_quantity_delete {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .hikashop_checkout_cart .hikashop_cart_product_image_thumb img {
    max-width: 80px !important;
    max-height: 80px !important;
  }

  .hikashop_checkout_cart .hikashop_cart_product_name {
    font-size: 0.9rem !important;
  }
}