/* =========================================================================
   MatzApp — Mi cuenta / Login / Registro (rediseño de marca)
   Update-safe: solo child theme. Paleta MATZ (navy #2e448e / acero #476faa).
   Se aplica sobre las plantillas override en /woocommerce/myaccount/.
   ========================================================================= */

:root{
    --matz-navy:#2e448e;
    --matz-steel:#476faa;
    --matz-dark:#20305f;
    --matz-red:#f83a3a;
    --matz-ink:#28313f;
    --matz-muted:#6b7788;
    --matz-line:#e4e8f0;
    --matz-soft:#f4f6fb;
    --matz-radius:14px;
    --matz-shadow:0 10px 30px rgba(32,48,95,.08);
    --matz-shadow-hover:0 16px 40px rgba(32,48,95,.14);
}

/* Quita el fondo blanco/padding rígido del contenedor del tema para la cuenta,
   le damos aire y un fondo suave que resalta las tarjetas. */
.woocommerce-account #contents{
    background:transparent;
    padding-top:10px;
}
.woocommerce-account #contents .page .entry-title{ display:none; } /* el titulo va en el hero */

/* ------------------------------------------------------------------ */
/*  AUTENTICACIÓN (no logueado): login + registro                      */
/* ------------------------------------------------------------------ */
.matz-auth{
    width:100%;
    max-width:1060px;
    min-width:0;          /* el padre .woocommerce es flex: evita que el item no se encoja en móvil */
    margin:0 auto;
    padding:10px 0 40px;
    box-sizing:border-box;
}
.matz-auth, .matz-auth *{ box-sizing:border-box; }
.matz-auth__grid > *{ min-width:0; }  /* items del grid pueden encogerse */

/* Hero de bienvenida */
.matz-auth__hero{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:linear-gradient(120deg,var(--matz-dark) 0%,var(--matz-navy) 55%,var(--matz-steel) 100%);
    color:#fff;
    padding:34px 40px;
    margin-bottom:30px;
    display:flex;
    align-items:center;
    gap:26px;
    box-shadow:var(--matz-shadow);
}
.matz-auth__hero::after{ /* retícula blueprint sutil */
    content:"";
    position:absolute; inset:0;
    background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
    background-size:34px 34px;
    opacity:.5; pointer-events:none;
}
.matz-auth__hero-img{ flex:0 0 auto; position:relative; z-index:1; }
.matz-auth__hero-img img{ width:96px; height:auto; display:block; filter:drop-shadow(0 8px 14px rgba(0,0,0,.25)); }
.matz-auth__hero-txt{ position:relative; z-index:1; }
.matz-auth__hero-txt h1{
    color:#fff; font-size:27px; font-weight:800; margin:0 0 6px; line-height:1.15;
}
.matz-auth__hero-txt p{ color:rgba(255,255,255,.85); font-size:15px; margin:0; max-width:560px; }

/* Rejilla de tarjetas */
.matz-auth__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
    align-items:stretch;
}
.matz-auth--only-login .matz-auth__grid{ grid-template-columns:minmax(0,440px); justify-content:center; }

.matz-auth__card{
    background:#fff;
    border:1px solid var(--matz-line);
    border-radius:var(--matz-radius);
    box-shadow:var(--matz-shadow);
    padding:30px 30px 34px;
    display:flex;
    flex-direction:column;
}
.matz-auth__card-head{ display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.matz-auth__icon{
    width:44px; height:44px; border-radius:12px; flex:0 0 auto;
    display:flex; align-items:center; justify-content:center;
    background:var(--matz-soft); color:var(--matz-navy); font-size:19px;
}
.matz-auth__card--register .matz-auth__icon{ background:#eef4ff; color:var(--matz-steel); }
.matz-auth__card-head h2{
    font-size:20px !important; font-weight:800; color:var(--matz-ink); margin:0; line-height:1.2;
}
.matz-auth__card-head span{ display:block; font-size:12.5px; font-weight:400; color:var(--matz-muted); }

/* Neutraliza el borde/padding/margin que WooCommerce core aplica a
   form.login y form.register (creaban un hueco grande sobre los campos). */
.matz-auth form.login,
.matz-auth form.register,
.matz-auth .woocommerce-form{
    margin:0 !important; padding:0 !important; border:0 !important; background:none !important;
}

/* Campos */
.matz-auth .form-row{ display:block; margin:0 0 16px; }
.matz-auth label{
    display:block; font-size:13px; font-weight:600; color:var(--matz-ink); margin-bottom:7px;
}
.matz-auth label .required{ color:var(--matz-red); border:0; text-decoration:none; }
.matz-auth input.input-text,
.matz-auth input[type=text],
.matz-auth input[type=email],
.matz-auth input[type=password]{
    width:100%;
    height:48px;
    padding:0 16px;
    border:1.5px solid var(--matz-line);
    border-radius:10px;
    background:#fbfcfe;
    font-size:14.5px;
    color:var(--matz-ink);
    transition:border-color .15s, box-shadow .15s, background .15s;
    box-shadow:none;
}
.matz-auth input.input-text:focus,
.matz-auth input[type=text]:focus,
.matz-auth input[type=email]:focus,
.matz-auth input[type=password]:focus{
    border-color:var(--matz-navy);
    background:#fff;
    box-shadow:0 0 0 3px rgba(46,68,142,.12);
    outline:0;
}

/* Recordarme */
.matz-auth .matz-auth__remember{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:2px 0 18px; }
.matz-auth .matz-auth__remember label{ display:flex; align-items:center; gap:8px; margin:0; font-weight:500; color:var(--matz-muted); font-size:13px; cursor:pointer; }
.matz-auth .matz-auth__remember input{ width:16px; height:16px; margin:0; accent-color:var(--matz-navy); }
.matz-auth .matz-auth__remember a{ font-size:13px; color:var(--matz-steel); font-weight:600; }
.matz-auth .matz-auth__remember a:hover{ color:var(--matz-navy); text-decoration:underline; }

/* Botón principal */
.matz-auth .button,
.matz-auth button.button,
.matz-auth input.button{
    width:100%;
    height:50px;
    border:0;
    border-radius:30px;
    background:var(--matz-navy) !important;
    color:#fff !important;
    font-size:14.5px;
    font-weight:700;
    letter-spacing:.3px;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .15s, transform .1s, box-shadow .15s;
    box-shadow:0 8px 18px rgba(46,68,142,.28);
}
.matz-auth .button:hover,
.matz-auth button.button:hover,
.matz-auth input.button:hover{
    background:var(--matz-dark) !important;
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(46,68,142,.35);
}
.matz-auth__card--register .button{ background:var(--matz-steel) !important; box-shadow:0 8px 18px rgba(71,111,170,.28); }
.matz-auth__card--register .button:hover{ background:var(--matz-navy) !important; }

.matz-auth .form-row-actions{ margin-top:4px; margin-bottom:0; }
.matz-auth__hint{ font-size:12.5px; color:var(--matz-muted); margin:14px 0 0; line-height:1.5; }

/* Beneficios (registro) */
.matz-auth__benefits{ list-style:none; margin:0 0 22px; padding:0; }
.matz-auth__benefits li{
    position:relative; padding:0 0 0 30px; margin-bottom:11px; font-size:13.5px; color:var(--matz-ink); line-height:1.4;
}
.matz-auth__benefits li i{
    position:absolute; left:0; top:1px;
    width:20px; height:20px; border-radius:50%;
    background:#e9f7ee; color:#22a559; font-size:11px;
    display:flex; align-items:center; justify-content:center;
}

/* Redes sociales (si el tema las inyecta) */
.matz-auth .list_social_login,
.matz-auth .social-login{ margin-top:16px; }

/* ------------------------------------------------------------------ */
/*  DASHBOARD (logueado): navegación + contenido                       */
/* ------------------------------------------------------------------ */
.woocommerce-account.logged-in #contents .entry-content nav.woocommerce-MyAccount-navigation{
    float:left;
    width:26%;
    max-width:280px;
    padding-right:0;
    margin-right:30px;
    margin-bottom:24px;
}
.woocommerce-account.logged-in nav.woocommerce-MyAccount-navigation > ul{
    list-style:none; margin:0; padding:8px;
    border:1px solid var(--matz-line) !important;
    border-radius:var(--matz-radius);
    background:#fff;
    box-shadow:var(--matz-shadow);
    overflow:hidden;
}
.woocommerce-account.logged-in nav.woocommerce-MyAccount-navigation > ul > li{ margin:0; }
.woocommerce-account.logged-in nav.woocommerce-MyAccount-navigation > ul > li > a{
    display:flex; align-items:center; gap:12px;
    padding:12px 16px !important;
    border:0 !important;
    border-radius:10px;
    color:var(--matz-ink);
    font-size:14px; font-weight:600;
    transition:background .15s, color .15s;
}
.woocommerce-account.logged-in nav.woocommerce-MyAccount-navigation > ul > li > a::before{
    font-family:"FontAwesome";
    width:20px; text-align:center; font-size:15px; color:var(--matz-steel);
    transition:color .15s;
    font-weight:normal;
}
.woocommerce-account.logged-in nav.woocommerce-MyAccount-navigation > ul > li > a:hover{
    background:var(--matz-soft); color:var(--matz-navy);
}
.woocommerce-account.logged-in nav.woocommerce-MyAccount-navigation > ul > li.is-active > a{
    background:var(--matz-navy); color:#fff !important;
    box-shadow:0 6px 14px rgba(46,68,142,.28);
}
.woocommerce-account.logged-in nav.woocommerce-MyAccount-navigation > ul > li.is-active > a::before{ color:#fff; }

/* Iconos por endpoint (FontAwesome ya lo carga el tema) */
.woocommerce-MyAccount-navigation-link--dashboard        > a::before{ content:"\f0e4"; }
.woocommerce-MyAccount-navigation-link--orders           > a::before{ content:"\f291"; }
.woocommerce-MyAccount-navigation-link--downloads        > a::before{ content:"\f019"; }
.woocommerce-MyAccount-navigation-link--edit-address     > a::before{ content:"\f041"; }
.woocommerce-MyAccount-navigation-link--payment-methods  > a::before{ content:"\f09d"; }
.woocommerce-MyAccount-navigation-link--edit-account     > a::before{ content:"\f007"; }
.woocommerce-MyAccount-navigation-link--customer-logout  > a::before{ content:"\f08b"; }
.woocommerce-MyAccount-navigation-link--wishlist         > a::before{ content:"\f004"; }

.woocommerce-account.logged-in .woocommerce-MyAccount-content{
    width:auto; overflow:hidden; margin-bottom:30px;
}

/* Tarjeta de bienvenida del dashboard */
.matz-dash-welcome{
    display:flex; align-items:center; gap:20px;
    background:linear-gradient(120deg,var(--matz-dark),var(--matz-navy) 60%,var(--matz-steel));
    color:#fff; border-radius:16px; padding:24px 28px; margin-bottom:26px;
    position:relative; overflow:hidden; box-shadow:var(--matz-shadow);
}
.matz-dash-welcome::after{
    content:""; position:absolute; inset:0;
    background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
    background-size:32px 32px; opacity:.5; pointer-events:none;
}
.matz-dash-welcome img{ width:72px; height:auto; position:relative; z-index:1; filter:drop-shadow(0 6px 12px rgba(0,0,0,.25)); }
.matz-dash-welcome .matz-dash-welcome__txt{ position:relative; z-index:1; }
.matz-dash-welcome h2{ color:#fff !important; font-size:22px !important; font-weight:800; margin:0 0 4px !important; }
.matz-dash-welcome p{ margin:0; color:rgba(255,255,255,.85); font-size:14px; }
.matz-dash-welcome a{ color:#fff; text-decoration:underline; font-weight:600; }

/* Accesos rápidos (tiles) */
.matz-dash-tiles{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin:0 0 6px;
}
.matz-dash-tile{
    display:flex; flex-direction:column; gap:10px;
    background:#fff; border:1px solid var(--matz-line); border-radius:var(--matz-radius);
    padding:20px 20px 22px; text-decoration:none; transition:transform .15s, box-shadow .15s, border-color .15s;
    box-shadow:var(--matz-shadow);
}
.matz-dash-tile:hover{ transform:translateY(-3px); box-shadow:var(--matz-shadow-hover); border-color:#cfd8ea; }
.matz-dash-tile__icon{
    width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center;
    background:var(--matz-soft); color:var(--matz-navy); font-size:20px;
}
.matz-dash-tile h3{ font-size:15.5px !important; font-weight:700; color:var(--matz-ink); margin:0 !important; }
.matz-dash-tile p{ font-size:12.5px; color:var(--matz-muted); margin:0; line-height:1.45; }

/* ------------------------------------------------------------------ */
/*  Formularios internos del panel (editar cuenta, direcciones, etc.)  */
/* ------------------------------------------------------------------ */
.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
.woocommerce-account.logged-in .woocommerce-MyAccount-content h3,
.woocommerce-account.logged-in .woocommerce-MyAccount-content legend{
    color:var(--matz-ink); font-weight:800;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-form-row label,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row label{
    display:block; font-size:13px; font-weight:600; color:var(--matz-ink); margin-bottom:7px;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content input.input-text,
.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type=text],
.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type=email],
.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type=tel],
.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type=password],
.woocommerce-account.logged-in .woocommerce-MyAccount-content select,
.woocommerce-account.logged-in .woocommerce-MyAccount-content .select2-selection{
    width:100%; height:48px; padding:0 16px;
    border:1.5px solid var(--matz-line); border-radius:10px; background:#fbfcfe;
    font-size:14.5px; color:var(--matz-ink); box-shadow:none;
    transition:border-color .15s, box-shadow .15s, background .15s;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content input:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content select:focus{
    border-color:var(--matz-navy); background:#fff; box-shadow:0 0 0 3px rgba(46,68,142,.12); outline:0;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .button,
.woocommerce-account.logged-in .woocommerce-MyAccount-content button.button,
.woocommerce-account.logged-in .woocommerce-MyAccount-content input.button{
    display:inline-flex; align-items:center; justify-content:center;
    min-height:46px; padding:0 26px; border:0; border-radius:26px;
    background:var(--matz-navy) !important; color:#fff !important;
    font-size:13.5px; font-weight:700; letter-spacing:.3px; text-transform:uppercase;
    cursor:pointer; transition:background .15s, transform .1s, box-shadow .15s;
    box-shadow:0 8px 18px rgba(46,68,142,.25);
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .button:hover,
.woocommerce-account.logged-in .woocommerce-MyAccount-content button.button:hover,
.woocommerce-account.logged-in .woocommerce-MyAccount-content input.button:hover{
    background:var(--matz-dark) !important; transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(46,68,142,.32);
}
/* Tabla de pedidos: encabezado y acción con la marca */
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.woocommerce-orders-table,
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.my_account_orders{
    border:1px solid var(--matz-line); border-radius:var(--matz-radius); overflow:hidden;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content table.woocommerce-orders-table thead th{
    background:var(--matz-soft); color:var(--matz-ink); font-weight:700;
}
/* Tarjetas de dirección */
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address address{
    border:1px solid var(--matz-line); border-radius:var(--matz-radius);
    padding:18px 20px; background:#fff; box-shadow:var(--matz-shadow); font-style:normal; line-height:1.6;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address .edit{
    display:inline-flex; align-items:center; gap:6px; color:var(--matz-navy); font-weight:700;
}

/* ------------------------------------------------------------------ */
/*  Responsive                                                          */
/* ------------------------------------------------------------------ */
@media (max-width:767px){
    .matz-auth{ padding-left:2px; padding-right:2px; }
    .matz-auth__grid{ grid-template-columns:1fr; }
    .matz-auth__hero{ flex-direction:column; text-align:center; padding:26px 20px; }
    .matz-auth__hero-img img{ width:82px; }
    .matz-auth__hero-txt h1{ font-size:21px; }
    .matz-auth__hero-txt p{ margin:0 auto; font-size:14px; }
    .matz-auth__card{ padding:22px 18px 24px; }
    .matz-auth__card-head h2{ font-size:18px !important; }

    /* Dashboard: el nav lateral pasa a bloque completo arriba del contenido */
    .woocommerce-account.logged-in #contents .entry-content nav.woocommerce-MyAccount-navigation{
        float:none; width:100%; max-width:none; margin-right:0;
    }
    .woocommerce-account.logged-in .woocommerce-MyAccount-content{ width:100%; }
    .matz-dash-welcome{ flex-direction:column; text-align:center; padding:22px 18px; }
    .matz-dash-tiles{ grid-template-columns:1fr 1fr; }
}
@media (max-width:420px){
    .matz-dash-tiles{ grid-template-columns:1fr; }
}
