/* Reset ciblé */
.hswca * { box-sizing: border-box; }
.hswca a { text-decoration: none; color: inherit; }
.hswca .hswca-wrap form .form-row .required { visibility: visible; }

/* Palette neutre */
:root{
  --hs-bg: #f6f7f9;
  --hs-surface: #ffffff;
  --hs-text: #0f172a;
  --hs-muted: #6b7280;
  --hs-border: #e5e7eb;
  --hs-primary: #111827;
  --hs-focus: rgba(17,24,39,.16);
  --hs-radius: 16px;
  --hs-radius-lg: 20px;
  --hs-shadow: 0 8px 24px rgba(2,0,5,.08);
}

body.hswca { background: var(--hs-bg); color: var(--hs-text); }

/* Layout compte */
.hswca .hswca-wrap{
  auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  margin: 50px 0 150px 0;
}
.hswca .hswca-wrap.no-sidebar{ grid-template-columns: 1fr; }

/* Sidebar */
.hswca .hs-nav{
  background: var(--hs-surface); border: 1px solid var(--hs-border);
  border-radius: var(--hs-radius-lg); box-shadow: var(--hs-shadow); padding: 14px;
  position: sticky; top: 24px;
}
.hswca .hs-user{
  display: flex;
  grid-template-columns: 56px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--hs-border);
  flex-direction: row;
  align-content: flex-end;
  justify-content: flex-start;
  padding: 15px;
}
.hswca .hs-user .hs-name { font-weight: 700; }
.hswca .hs-user .hs-mail { font-size: 13px; color: var(--hs-muted); }
.hswca .hs-logout{ font-size: 13px; color: var(--hs-muted); }
.hswca .hs-logout:hover{ color: var(--hs-text); }

.hswca .hs-menu{ list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.hswca .hs-menu a{
  display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; align-items: center;
  padding: 12px; background: #fff; border: 1px solid var(--hs-border); border-radius: 12px;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.hswca .hs-menu a:hover{ transform: translateY(-1px); box-shadow: var(--hs-shadow); border-color: var(--hs-text); }
.hswca .hs-menu .is-active > a{ border-color: var(--hs-text); box-shadow: 0 0 0 3px var(--hs-focus); }
.hswca .hs-ico{ width: 20px; height: 20px; color: var(--hs-muted); }

/* Contenu */
.hswca .hs-main{
  background: var(--hs-surface); border: 1px solid var(--hs-border);
  border-radius: var(--hs-radius-lg); box-shadow: var(--hs-shadow); padding: 22px;
}
.hswca .hs-title{
  margin: 0 0 16px; font-size: 28px; line-height: 1.2; letter-spacing: .2px; font-weight: 800;
}

/* Dashboard */
.hswca .hs-grid{ display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.hswca .hs-card{
  background: #fff; border: 1px solid var(--hs-border); border-radius: var(--hs-radius);
  padding: 16px; display: grid; gap: 6px; transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.hswca .hs-card:hover{ transform: translateY(-1px); box-shadow: var(--hs-shadow); border-color: var(--hs-text); }
.hswca .hs-card .hs-ico{ width: 24px; height: 24px; color: var(--hs-text); }
.hswca .hs-card .hs-ttl{ font-weight: 800; }
.hswca .hs-card .hs-dsc{ font-size: 13px; color: var(--hs-muted); }

/* Encapsulation du contenu Woo des endpoints */
.hswca .hs-woo{ border: 0; border-radius: 12px; padding: 0; }

/* Boutons */
.hswca .hs-btn{
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 16px; border-radius: 999px; border: 1px solid var(--hs-border);
  background: var(--hs-text); color: #fff; font-weight: 800; transition: transform .12s ease, box-shadow .12s ease;
}
.hswca .hs-btn:hover{ transform: translateY(-1px); box-shadow: var(--hs-shadow); }

/* Formulaires génériques */
.hswca .hs-field{ margin: 10px 0; }
.hswca .hs-label{ font-size: 14px; margin-bottom: 6px; display: block; color: var(--hs-text); }
.hswca .hs-input, .hswca .select2-container .select2-selection--single{
  width: 100%; height: 48px; border-radius: 14px; border: 1px solid var(--hs-border);
  background: #fff; padding: 12px 14px; transition: border-color .12s ease, box-shadow .12s ease;
}
.hswca .hs-input:focus{
  outline: none; border-color: var(--hs-text); box-shadow: 0 0 0 3px var(--hs-focus);
}
.hswca .hs-help{ font-size: 12px; color: var(--hs-muted); }
.hswca .hs-sep{ height: 1px; background: var(--hs-border); margin: 12px 0; }

/* Auth containers */
.hswca .hs-auth{ max-width: 860px; margin: 48px auto; padding: 0 16px; }
.hswca .hs-auth-wrap{
  background: #fff; border: 1px solid var(--hs-border); border-radius: 20px; box-shadow: var(--hs-shadow);
  display: grid; grid-template-columns: 1fr 1fr; overflow: hidden;
}
.hswca .hs-auth-col{ padding: 26px; }
.hswca .hs-auth-title{ margin: 0 0 12px; font-size: 26px; font-weight: 800; }
.hswca .hs-auth-title{ font-size: 28px; line-height: 1.2; }

/* Select2 */
.hswca .select2-container .select2-selection--single{ height: 48px; border-radius: 14px; border-color: var(--hs-border); }
.hswca .select2-container .select2-selection--single .select2-selection__rendered{ padding: 0; }
.hswca .select2-container .select2-selection--single .select2-selection__arrow{ height: 48px; right: 10px; }

/* Responsive */
@media (max-width: 1024px){
  .hswca .hswca-wrap{ grid-template-columns: 1fr; }
  .hswca .hs-grid{ grid-template-columns: 1fr 1fr; }
  .hswca .hs-auth-wrap{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .hswca .hs-grid{ grid-template-columns: 1fr; }
}

.hswca .hs-card{ position: relative; }
.hswca .hs-card .hs-stretch{ position: absolute; inset: 0; z-index: 5; }
.hswca .hs-card .hs-ico, .hswca .hs-card .hs-ttl, .hswca .hs-card .hs-dsc{ position: relative; z-index: 1; }

/* WooCommerce notices modern */
.hswca .woocommerce-message,
.hswca .woocommerce-error,
.hswca .woocommerce-info{
  position: relative;
  display: grid; gap: 6px;
  background: #fff; border: 1px solid var(--hs-border); border-left: 4px solid var(--hs-text);
  border-radius: 12px; padding: 14px 16px; box-shadow: var(--hs-shadow);
  margin: 0 0 16px;
}
.hswca .woocommerce-error{ border-left-color: #ef4444; }
.hswca .woocommerce-message{ border-left-color: #10b981; }
.hswca .woocommerce-info{ border-left-color: #3b82f6; }
.hswca .woocommerce-notices-wrapper ul,
.hswca .woocommerce-error li{ margin: 0; padding-left: 16px; }

/* Harmonise titres H1/H2 Woo dans l'espace compte */
.hswca .hswca-wrap h1,
.hswca .hswca-wrap h2,
.hswca .hswca-wrap h3{font-size: 28px;line-height: 1;font-weight: 600;margin: 0 0 5px;}

/* Modernise formulaires Woo */
.hswca .hswca-wrap form .form-row{ margin: 0 0 12px; }
.hswca .hswca-wrap form .form-row label{ font-size: 14px; color: var(--hs-text); margin-bottom: 6px; display: block; }
.hswca .hswca-wrap form .form-row input.input-text,
.hswca .hswca-wrap form .form-row textarea,
.hswca .hswca-wrap form .form-row select{
  width: 100%; height: 48px; border-radius: 14px; border: 1px solid var(--hs-border);
  background: #fff; padding: 12px 14px; transition: border-color .12s ease, box-shadow .12s ease;
}
.hswca .hswca-wrap form .form-row textarea{ min-height: 120px; height: auto; }
.hswca .hswca-wrap form .form-row input.input-text:focus,
.hswca .hswca-wrap form .form-row textarea:focus,
.hswca .hswca-wrap form .form-row select:focus{
  outline: none; border-color: var(--hs-text); box-shadow: 0 0 0 3px var(--hs-focus);
}
/* Fieldset/legend */
.hswca .hswca-wrap fieldset{ border:1px solid var(--hs-border); border-radius: 12px; padding: 12px; }
.hswca .hswca-wrap fieldset legend{ padding: 0 6px; font-weight: 700; }

/* Boutons Woo → style moderne */
.hswca .hswca-wrap #respond input#submit,
.hswca .hswca-wrap a.button,
.hswca .hswca-wrap button.button,
.hswca .hswca-wrap input.button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid var(--hs-border);
  background: var( --e-global-color-primary );
  color: #fff;
  font-weight: 600;
  text-transform: none;
  transition: transform .12s ease, box-shadow .12s ease;
}
.hswca .hswca-wrap a.button.alt,
.hswca .hswca-wrap button.button.alt,
.hswca .hswca-wrap input.button.alt{ background: var(--hs-text); }
.hswca .hswca-wrap a.button:hover,
.hswca .hswca-wrap button.button:hover,
.hswca .hswca-wrap input.button:hover{ transform: translateY(-1px); box-shadow: var(--hs-shadow); }

/* Adresses: mise en page moderne */
.hswca .woocommerce-Addresses{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.hswca .woocommerce-Addresses .woocommerce-Address{
  background:#fff;
  border:1px solid var(--hs-border);
  border-radius: 16px;
  padding: 20px;
  width:100%;
}
.hswca .woocommerce-Addresses .title{display:flex;align-items: flex-start;justify-content:space-between;margin: 0 0 15px;flex-direction: column;gap: 0;}
.hswca .woocommerce-Addresses .title h3{ font-size: 18px; margin:0; font-weight: 700; }
.hswca .woocommerce-Addresses .title a{ font-size: 13px; color: var(--hs-muted); }
.hswca .woocommerce-Addresses address{ color: var(--hs-text); line-height: 1.5; }

/* Tables (commandes, moyens de paiement) */
.hswca .hswca-wrap table.shop_table{
  width: 100%; border:1px solid var(--hs-border); border-radius: 14px; overflow:hidden; box-shadow: var(--hs-shadow);
}
.hswca .hswca-wrap table.shop_table th,
.hswca .hswca-wrap table.shop_table td{align-content: center;text-align: center;}
.hswca .hswca-wrap table.shop_table thead th{ background:#f9fafb; font-weight:700; }
.hswca .hswca-wrap table.shop_table tr:nth-child(2n) td{ background:#fcfcfd; }

/* Écrans étroits */
@media (max-width: 640px){
  .hswca .woocommerce-Addresses{ grid-template-columns: 1fr; }
}

.woocommerce .col2-set::after, .woocommerce .col2-set::before, .woocommerce-page .col2-set::after, .woocommerce-page .col2-set::before {
	display:none;
}

.hswca .hswca-wrap button.button {
	margin-top:15px;
}