/* ==============================================
   Holity – Customer Account Styles
   Tema: holity2/base
   File: web/css/holity-account.css
   ============================================== */

:root {
    --h-blue:   #1a5fa8;
    --h-blue2:  #144d8a;
    --h-dark:   #2d2d2d;
    --h-gray:   #555;
    --h-light:  #f5f7fa;
    --h-border: #dde3ea;
    --h-white:  #fff;
    --h-radius: 8px;
    --h-shadow: 0 2px 10px rgba(0,0,0,.07);
    --h-font:   'Open Sans', Arial, sans-serif;
}

/* ============================================
   DASHBOARD + RUBRICA — Layout sidebar
   ============================================ */

.hly-account-wrap,
.hly-book-wrap {
    display: flex;
    gap: 26px;
    max-width: 1060px;
    margin: 0 auto;
    padding: 10px 0 40px;
    font-family: var(--h-font);
}

.hly-sidebar { width: 215px; flex-shrink: 0; }

.hly-sidebar-title {
    background: var(--h-dark);
    color: var(--h-white);
    padding: 13px 18px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: var(--h-radius) var(--h-radius) 0 0;
    margin: 0;
}

.hly-sidebar-nav {
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-top: none;
    border-radius: 0 0 var(--h-radius) var(--h-radius);
    list-style: none;
    margin: 0;
    padding: 0;
}
.hly-sidebar-nav li { border-bottom: 1px solid var(--h-border); }
.hly-sidebar-nav li:last-child { border-bottom: none; }
.hly-sidebar-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    color: var(--h-dark);
    text-decoration: none;
    font-size: 13px;
    transition: background .15s, color .15s;
}
.hly-sidebar-nav a:hover,
.hly-sidebar-nav a.hly-active { background: var(--h-blue); color: var(--h-white); }
.hly-sidebar-nav svg { width: 15px; height: 15px; flex-shrink: 0; }

.hly-main,
.hly-book-main { flex: 1; min-width: 0; }

/* ============================================
   WELCOME BANNER
   ============================================ */

.hly-welcome {
    background: linear-gradient(135deg, #1a3a5c 0%, #1a5fa8 100%);
    color: #fff;
    border-radius: var(--h-radius);
    padding: 22px 26px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.hly-avatar {
    width: 50px; height: 50px;
    background: rgba(255,255,255,.2);
    border: 2px solid rgba(255,255,255,.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}
.hly-welcome h2 { margin: 0 0 3px; font-size: 17px; font-weight: 700; }
.hly-welcome p  { margin: 0; font-size: 13px; opacity: .8; }

/* ============================================
   SECTION LABEL
   ============================================ */

.hly-sec-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--h-gray);
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--h-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hly-sec-label a {
    font-size: 12px;
    color: var(--h-blue);
    font-weight: 600;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
}
.hly-sec-label a:hover { text-decoration: underline; }

/* ============================================
   CARDS (2 colonne)
   ============================================ */

.hly-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 22px;
}
.hly-card {
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-radius: var(--h-radius);
    box-shadow: var(--h-shadow);
    overflow: hidden;
}
.hly-card-head {
    background: var(--h-light);
    border-bottom: 1px solid var(--h-border);
    padding: 11px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hly-card-head-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--h-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}
.hly-card-head-title svg { width: 16px; height: 16px; color: var(--h-blue); }
.hly-card-link { font-size: 12px; color: var(--h-blue); text-decoration: none; font-weight: 600; }
.hly-card-link:hover { color: var(--h-blue2); text-decoration: underline; }
.hly-card-body { padding: 15px 16px; font-size: 14px; color: var(--h-dark); line-height: 1.65; }

/* ============================================
   LINKS VARI
   ============================================ */

.hly-pw-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--h-blue);
    font-size: 13px;
    text-decoration: none;
    font-weight: 600;
    margin-top: 10px;
}
.hly-pw-link:hover { text-decoration: underline; }
.hly-pw-link svg { width: 13px; height: 13px; }

.hly-sub-link { color: var(--h-blue); font-size: 13px; font-weight: 600; text-decoration: none; }
.hly-sub-link:hover { text-decoration: underline; }

/* ============================================
   BADGE NEWSLETTER
   ============================================ */

.hly-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 8px;
}
.hly-badge.on  { background: #e6f3ff; color: var(--h-blue); }
.hly-badge.off { background: var(--h-light); color: #777; }

/* ============================================
   INDIRIZZI (dashboard + rubrica)
   ============================================ */

.hly-addr-section { margin-top: 22px; font-family: var(--h-font); }

.hly-addr-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--h-gray);
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--h-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hly-addr-label a { font-size: 12px; color: var(--h-blue); font-weight: 600; text-decoration: none; text-transform: none; letter-spacing: 0; }
.hly-addr-label a:hover { text-decoration: underline; }

.hly-addr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 28px; }
.hly-addr-card { background: var(--h-white); border: 1px solid var(--h-border); border-radius: var(--h-radius); box-shadow: var(--h-shadow); overflow: hidden; }
.hly-addr-head { background: var(--h-light); border-bottom: 1px solid var(--h-border); padding: 11px 16px; display: flex; align-items: center; justify-content: space-between; }
.hly-addr-head-title { font-size: 13px; font-weight: 700; color: var(--h-dark); display: flex; align-items: center; gap: 8px; }
.hly-addr-head-title svg { width: 16px; height: 16px; color: var(--h-blue); }
.hly-addr-edit { font-size: 12px; color: var(--h-blue); text-decoration: none; font-weight: 600; }
.hly-addr-edit:hover { color: var(--h-blue2); text-decoration: underline; }
.hly-addr-body { padding: 15px 16px; font-size: 14px; color: var(--h-dark); line-height: 1.7; }
.hly-addr-body address { font-style: normal; }
.hly-addr-empty { color: #999; font-style: italic; font-size: 13px; margin: 0 0 10px; }
.hly-addr-add { color: var(--h-blue); font-size: 13px; font-weight: 600; text-decoration: none; }
.hly-addr-add:hover { text-decoration: underline; }

/* ============================================
   NOTICE BANNER (indirizzo unico)
   ============================================ */

.hly-notice,
.hly-edit-notice {
    border: 0.5px solid var(--h-border);
    border-left: 3px solid var(--h-blue);
    border-radius: 0 var(--h-radius) var(--h-radius) 0;
    background: var(--h-light);
    padding: 13px 16px;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    font-family: var(--h-font);
}
.hly-notice svg,
.hly-edit-notice svg { flex-shrink: 0; margin-top: 2px; }
.hly-notice p,
.hly-edit-notice p { margin: 0; color: var(--h-dark); line-height: 1.5; }
.hly-notice strong,
.hly-edit-notice strong { display: block; margin-bottom: 2px; }

.hly-notice-title { margin: 0 0 4px; font-size: 13px; font-weight: 700; color: var(--h-dark); }
.hly-notice-desc { margin: 0 0 12px; font-size: 13px; color: var(--h-gray); line-height: 1.5; }

.hly-btn-new-shipping { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--h-blue); font-weight: 600; text-decoration: none; }
.hly-btn-new-shipping:hover { color: var(--h-blue2); text-decoration: underline; }

/* ============================================
   BOTTONI
   ============================================ */

.hly-btn-add {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--h-blue);
    color: #fff;
    padding: 10px 20px;
    border-radius: var(--h-radius);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s;
    margin-top: 16px;
}
.hly-btn-add:hover { background: var(--h-blue2); color: #fff; }

.hly-btn-save {
    background: var(--h-blue);
    color: #fff;
    border: none;
    padding: 11px 28px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--h-font);
    transition: background .15s;
}
.hly-btn-save:hover { background: var(--h-blue2); }
.hly-btn-save:disabled { background: #aac4e0; cursor: not-allowed; }

.hly-btn-back { font-size: 13px; color: var(--h-blue); text-decoration: none; font-weight: 600; }
.hly-btn-back:hover { text-decoration: underline; }

.hly-actions { display: flex; align-items: center; gap: 16px; margin-top: 4px; }

/* ============================================
   EDIT / NEW ADDRESS — Form a 2 colonne
   ============================================ */

form.form-address-edit .hly-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

form.form-address-edit .hly-fieldset {
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-radius: var(--h-radius);
    overflow: hidden;
}

form.form-address-edit .hly-fieldset-title {
    display: block;
    background: var(--h-light);
    border-bottom: 1px solid var(--h-border);
    padding: 11px 18px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--h-gray);
    margin: 0;
}

form.form-address-edit .hly-fieldset-body { padding: 18px; }

form.form-address-edit .hly-fieldset-body .field { margin-bottom: 14px; }
form.form-address-edit .hly-fieldset-body .field:last-child { margin-bottom: 0; }

form.form-address-edit .hly-fieldset-body .label,
form.form-address-edit .hly-fieldset-body label {
    display: block;
    text-align: left;
    font-size: 12px;
    font-weight: 600;
    color: var(--h-gray);
    margin-bottom: 5px;
    width: 100%;
}

form.form-address-edit .hly-fieldset-body input[type="text"],
form.form-address-edit .hly-fieldset-body input[type="email"],
form.form-address-edit .hly-fieldset-body input[type="tel"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--h-border);
    border-radius: 6px;
    font-size: 14px;
    color: var(--h-dark);
    background: var(--h-white);
    transition: border-color .15s;
    box-sizing: border-box;
    font-family: var(--h-font);
    margin: 0;
}

form.form-address-edit .hly-fieldset-body input[type="text"]:focus,
form.form-address-edit .hly-fieldset-body input[type="email"]:focus,
form.form-address-edit .hly-fieldset-body input[type="tel"]:focus {
    outline: none;
    border-color: var(--h-blue);
    box-shadow: 0 0 0 3px rgba(26,95,168,.1);
}

/* Default badge e checkbox */
.hly-default-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--h-border);
}
.hly-default-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
    background: #e6f3ff;
    color: var(--h-blue);
}
.hly-default-badge svg { width: 13px; height: 13px; }

.hly-checkbox-row { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--h-dark); }
.hly-checkbox-row input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--h-blue); flex-shrink: 0; }

/* Campi label/field generici */
.hly-field { margin-bottom: 14px; }
.hly-label { display: block; font-size: 12px; font-weight: 600; color: var(--h-gray); margin-bottom: 5px; }
.hly-label .req { color: #e24b4a; margin-left: 2px; }

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    .hly-account-wrap,
    .hly-book-wrap { flex-direction: column; }
    .hly-sidebar { width: 100%; }
    .hly-cards,
    .hly-addr-grid { grid-template-columns: 1fr; }
    form.form-address-edit .hly-form-grid { grid-template-columns: 1fr; }
}

/* ============================================
   EDIT ACCOUNT — form.form-edit-account
   ============================================ */

form.form-edit-account .hly-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

form.form-edit-account .hly-fieldset {
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-radius: var(--h-radius);
    overflow: hidden;
}

form.form-edit-account .hly-fieldset-title {
    display: block;
    background: var(--h-light);
    border-bottom: 1px solid var(--h-border);
    padding: 11px 18px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--h-gray);
    margin: 0;
}

form.form-edit-account .hly-fieldset-body {
    padding: 18px;
    display: block;
}
/* Fieldset nativi Magento: reset visivo */
form.form-edit-account .fieldset.info,
form.form-edit-account .fieldset.password {
    width: 100%;
    border: none;
    margin: 0;
    padding: 0;
    min-width: 0;
}

/* Forza visibilità fieldset password (Magento lo nasconde) */


/* Forza visibilità sub-container interni (nascosti da Magento JS all'init) */

/* Campi label/input */
form.form-edit-account .hly-fieldset-body .field,
form.form-edit-account .hly-fieldset-body .hly-field { margin-bottom: 14px; }
form.form-edit-account .hly-fieldset-body .field:last-child,
form.form-edit-account .hly-fieldset-body .hly-field:last-child { margin-bottom: 0; }

form.form-edit-account .hly-fieldset-body .label,
form.form-edit-account .hly-fieldset-body label {
    display: block;
    text-align: left;
    font-size: 12px;
    font-weight: 600;
    color: var(--h-gray);
    margin-bottom: 5px;
    width: 100%;
}

.hly-fieldset-body input[type="text"],
.hly-fieldset-body input[type="email"],
.hly-fieldset-body input[type="password"],
.hly-fieldset-body input[type="tel"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--h-border);
    border-radius: 6px;
    font-size: 14px;
    color: var(--h-dark);
    background: var(--h-white);
    transition: border-color .15s;
    box-sizing: border-box;
    font-family: var(--h-font);
    margin: 0;
}

.hly-fieldset-body input:focus {

    outline: none;
    border-color: var(--h-blue);
    box-shadow: 0 0 0 3px rgba(26,95,168,.1);
}

/* Checkbox cambio email/pw: sempre sotto, separati dal fieldset */
form.form-edit-account .hly-email-pw-switches {
    display: block !important;
    width: 100%;
    clear: both;
    float: none;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid var(--h-border);
}

form.form-edit-account .hly-email-pw-switches .hly-field { margin-bottom: 12px; }
form.form-edit-account .hly-email-pw-switches .hly-field:last-child { margin-bottom: 0; }

form.form-edit-account .hly-switch-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--h-dark);
    cursor: pointer;
}

form.form-edit-account .hly-switch-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--h-blue);
    margin: 0;
    flex-shrink: 0;
}

/* Nasconde "Nome" duplicato generato dal widget nativo */
form.form-edit-account .fieldset-name > legend.legend,
form.form-edit-account .fieldset.info > legend.legend { display: none !important; }

/* Nasconde prefix e suffix nel widget Name */
form.form-edit-account .field-name-prefix,
form.form-edit-account .field-name-suffix,
form.form-address-edit .field-name-prefix,
form.form-address-edit .field-name-suffix { display: none; }

/* Tax/VAT full width */
form.form-edit-account .field.taxvat { margin-top: 14px; clear: both; }
form.form-edit-account .field.taxvat input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--h-border);
    border-radius: 6px;
    font-size: 14px;
    box-sizing: border-box;
}

/* Distanza Conferma Password dal meter sicurezza */
form.form-edit-account .field.confirmation.password {
    margin-top: 45px !important;
    clear: both;
}

/* Show password: margine sopra */
form.form-edit-account .hly-show-password-wrap { margin-top: 15px; }
form.form-edit-account .hly-show-password-wrap input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--h-blue);
    vertical-align: middle;
    margin-right: 6px;
    margin-bottom: 2px;
}

/* Allow remote shopping assistance — nascosto */
form.form-edit-account .field.choice:has(input[name="assistance_allowed"]),
form.form-edit-account .shopping-assistance-field { display: none !important; }

/* Nasconde label duplicati dal widget Name */
form.form-edit-account .fieldset-fullname > .label { display: none; }
form.form-edit-account .customer-name-prefix-suffix fieldset.fieldset { border: none; padding: 0; margin: 0; }

@media (max-width: 768px) {
    form.form-edit-account .hly-form-grid { grid-template-columns: 1fr; }
}


/* ============================================
   CREATE ACCOUNT — Registrazione cliente Holity
   Versione stabile e pulita
   ============================================ */

form.form-create-account {
    max-width: 1060px;
    margin: 0 auto 45px;
    padding: 0 0 35px;
    font-family: var(--h-font);
}

/* Nota descrittiva sotto il titolo pagina */
form.form-create-account .hly-register-note {
    max-width: 760px;
    margin: 0 0 20px;
    padding: 12px 16px;
    background: var(--h-light);
    border-left: 3px solid var(--h-blue);
    border-radius: 0 var(--h-radius) var(--h-radius) 0;
    color: var(--h-gray);
    font-size: 13px;
}

form.form-create-account .hly-register-note p {
    margin: 0;
    line-height: 1.5;
}

/* Griglia principale */
form.form-create-account .hly-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-bottom: 22px;
}

/* Card */
form.form-create-account .hly-fieldset {
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-radius: var(--h-radius);
    box-shadow: var(--h-shadow);
    overflow: hidden;
}

form.form-create-account .hly-fieldset-title {
    display: block;
    background: var(--h-light);
    border-bottom: 1px solid var(--h-border);
    padding: 13px 18px;
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--h-gray);
}

form.form-create-account .hly-fieldset-body {
    padding: 20px 18px 18px;
}

/* Reset fieldset Magento */
form.form-create-account fieldset.fieldset {
    border: none;
    padding: 0;
    margin: 0;
    min-width: 0;
}

form.form-create-account legend.legend {
    display: none !important;
}

/* Campi base */
form.form-create-account .field,
form.form-create-account .hly-field {
    display: block;
    width: 100%;
    clear: both;
    float: none;
    margin: 0 0 16px;
    padding: 0;
}

form.form-create-account .field:last-child,
form.form-create-account .hly-field:last-child {
    margin-bottom: 0;
}

/* Label */
form.form-create-account .label,
form.form-create-account label,
form.form-create-account .hly-label {
    display: block;
    width: 100%;
    margin: 0 0 6px;
    text-align: left;
    font-size: 12px;
    font-weight: 600;
    color: var(--h-gray);
    line-height: 1.4;
}

form.form-create-account .label span,
form.form-create-account .hly-label span {
    color: var(--h-gray);
}

form.form-create-account .req,
form.form-create-account .required > label:after,
form.form-create-account label.required:after {
    color: #e24b4a;
    font-weight: 700;
}

/* Input, select, textarea */
form.form-create-account input[type="text"],
form.form-create-account input[type="email"],
form.form-create-account input[type="password"],
form.form-create-account input[type="tel"],
form.form-create-account select,
form.form-create-account textarea {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 40px;
    padding: 8px 12px;
    margin: 0;
    border: 1px solid var(--h-border);
    border-radius: 6px;
    background: var(--h-white);
    color: var(--h-dark);
    font-family: var(--h-font);
    font-size: 14px;
    line-height: 1.4;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}

form.form-create-account textarea {
    min-height: 90px;
    height: auto;
    resize: vertical;
}

form.form-create-account select {
    cursor: pointer;
}

form.form-create-account input:focus,
form.form-create-account select:focus,
form.form-create-account textarea:focus {
    outline: none;
    border-color: var(--h-blue);
    box-shadow: 0 0 0 3px rgba(26, 95, 168, .10);
}

/* Errori Magento */
form.form-create-account .mage-error {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: #d93636;
    line-height: 1.4;
}

form.form-create-account input.mage-error,
form.form-create-account select.mage-error,
form.form-create-account textarea.mage-error {
    border-color: #d93636;
    box-shadow: 0 0 0 3px rgba(217, 54, 54, .08);
}

/* ============================================
   Nome / Cognome widget Magento
   ============================================ */

form.form-create-account .fieldset-fullname,
form.form-create-account .customer-name-prefix-suffix fieldset.fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

form.form-create-account .fieldset-fullname > .label,
form.form-create-account .fieldset-name > legend.legend,
form.form-create-account .fieldset.info > legend.legend {
    display: none !important;
}

form.form-create-account .field-name-prefix,
form.form-create-account .field-name-suffix {
    display: none !important;
}

/* Nome e cognome in due colonne, ma stabile */
form.form-create-account .fieldset-fullname .fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

form.form-create-account .field-name-firstname,
form.form-create-account .field-name-lastname,
form.form-create-account .field-name-middlename {
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin-bottom: 16px;
}

/* Se ci sono campi extra dopo nome/cognome */
form.form-create-account .fieldset.create.info > .field,
form.form-create-account .fieldset.create.info > .hly-field {
    clear: both;
}

/* ============================================
   Informazioni di accesso
   Layout verticale stabile
   ============================================ */

form.form-create-account .fieldset.create.account {
    display: block !important;
}

form.form-create-account .fieldset.create.account .field {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

form.form-create-account .fieldset.create.account input[type="email"],
form.form-create-account .fieldset.create.account input[type="password"] {
    width: 100% !important;
    max-width: none !important;
}

/* Password strength */
form.form-create-account #password-strength-meter-container {
    display: block;
    width: 100%;
    margin-top: 8px;
}

form.form-create-account .password-strength-meter {
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--h-border);
    border-radius: 6px;
    background: var(--h-light);
    color: var(--h-gray);
    font-size: 12px;
    line-height: 1.4;
    box-sizing: border-box;
}

form.form-create-account #password-strength-meter-label {
    font-weight: 700;
    color: var(--h-dark);
}

/* Show password */
form.form-create-account .hly-show-password-wrap,
form.form-create-account .field.choice.hly-show-password-wrap {
    display: block !important;
    width: 100% !important;
    margin: -4px 0 0 !important;
}

/* ============================================
   Checkbox stabili e pulite
   ============================================ */

form.form-create-account input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    max-width: 17px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #b8c4d1;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    box-sizing: border-box;
    transition: background .15s, border-color .15s, box-shadow .15s;
}

form.form-create-account input[type="checkbox"]:hover {
    border-color: var(--h-blue);
}

form.form-create-account input[type="checkbox"]:focus {
    outline: none;
    border-color: var(--h-blue);
    box-shadow: 0 0 0 3px rgba(26, 95, 168, .12);
}

form.form-create-account input[type="checkbox"]:checked {
    background: var(--h-blue);
    border-color: var(--h-blue);
}

form.form-create-account input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Label checkbox */
form.form-create-account .hly-checkbox-row,
form.form-create-account .field.choice label,
form.form-create-account .fieldset.additional_info label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px;
    width: auto !important;
    margin: 0 !important;
    font-size: 13px;
    font-weight: 500;
    color: var(--h-dark);
    line-height: 1.4;
    cursor: pointer;
}

/* Newsletter */
form.form-create-account .hly-default-row,
form.form-create-account .hly-newsletter-row {
    display: block;
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--h-border) !important;
}

/* Additional info, es. Ricordami */
form.form-create-account .fieldset.additional_info,
form.form-create-account .hly-additional-info {
    border: none !important;
    padding: 0 !important;
    margin: 18px 0 20px !important;
}

form.form-create-account .fieldset.additional_info .field.choice,
form.form-create-account .hly-additional-info .field.choice {
    margin: 0 !important;
}

/* Nasconde Allow remote shopping assistance */
form.form-create-account .field.choice:has(input[name="assistance_allowed"]),
form.form-create-account .shopping-assistance-field,
form.form-create-account .field.assistance,
form.form-create-account .field-allow-remote-shopping-assistance {
    display: none !important;
}

form.form-create-account input[name="assistance_allowed"],
form.form-create-account input[name="assistance_allowed"] + label,
form.form-create-account input[name="assistance_allowed"] ~ label {
    display: none !important;
}

/* ============================================
   Indirizzo
   ============================================ */

form.form-create-account .hly-address-grid {
    margin-top: 4px;
}

form.form-create-account .fieldset.address {
    border: none;
    padding: 0;
    margin: 0;
}

form.form-create-account .field.street input + input {
    margin-top: 8px;
}

form.form-create-account #country,
form.form-create-account #region_id,
form.form-create-account #region {
    width: 100% !important;
    max-width: none !important;
}

/* ============================================
   Pulsanti finali
   ============================================ */

form.form-create-account .hly-actions,
form.form-create-account .hly-register-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 10px;
    padding-top: 18px;
    border-top: 1px solid var(--h-border);
}

form.form-create-account .hly-btn-save {
    min-width: 180px;
    min-height: 42px;
    background: var(--h-blue);
    color: #fff;
    border: none;
    padding: 11px 28px;
    border-radius: 6px;
    font-family: var(--h-font);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s, transform .12s, box-shadow .12s;
    box-shadow: 0 2px 6px rgba(26, 95, 168, .18);
}

form.form-create-account .hly-btn-save:hover {
    background: var(--h-blue2);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(26, 95, 168, .22);
}

form.form-create-account .hly-btn-save:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(26, 95, 168, .16);
}

form.form-create-account .hly-btn-save:disabled {
    background: #aac4e0;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

form.form-create-account .hly-btn-back {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    color: var(--h-blue);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

form.form-create-account .hly-btn-back:hover {
    color: var(--h-blue2);
    text-decoration: underline;
}

/* ============================================
   Pulizia extra
   ============================================ */

form.form-create-account .actions-toolbar {
    margin: 0;
}

form.form-create-account .control {
    width: 100%;
}

form.form-create-account br {
    display: none;
}

/* ============================================
   Responsive
   ============================================ */

@media (max-width: 900px) {
    form.form-create-account {
        padding-left: 12px;
        padding-right: 12px;
    }

    form.form-create-account .hly-form-grid {
        gap: 18px;
    }
}

@media (max-width: 768px) {
    form.form-create-account .hly-form-grid {
        grid-template-columns: 1fr;
    }

    form.form-create-account .hly-fieldset-body {
        padding: 18px 16px;
    }

    form.form-create-account .fieldset-fullname .fields {
        grid-template-columns: 1fr;
        gap: 0;
    }

    form.form-create-account .hly-actions,
    form.form-create-account .hly-register-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    form.form-create-account .hly-btn-save,
    form.form-create-account .hly-btn-back {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}