/* ============================================================
   ÍNTIMOS — MI CUENTA / ACCESO Y REGISTRO
   Archivo: assets/css/woocommerce-account.css
   Solo usuarios NO autenticados.
   ============================================================ */

body:not(.logged-in).woocommerce-account .woocommerce{
    width:100%;
    max-width:1180px;
    margin:0 auto;
}

body:not(.logged-in).woocommerce-account #customer_login{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px !important;
    width:100% !important;
    margin:0 !important;
}

body:not(.logged-in).woocommerce-account #customer_login>.u-column1,
body:not(.logged-in).woocommerce-account #customer_login>.u-column2{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:30px !important;
    background:#fff;
    border:1px solid var(--df-woo-border);
    border-radius:14px;
    box-shadow:0 12px 36px rgba(18,30,28,.045);
    box-sizing:border-box;
}

body:not(.logged-in).woocommerce-account #customer_login>.u-column2{
    background:linear-gradient(145deg,#fff 0%,#fbf7f3 100%);
}

body:not(.logged-in).woocommerce-account #customer_login>.u-column1::before,
body:not(.logged-in).woocommerce-account #customer_login>.u-column2::before{
    content:"";
    display:block;
    width:42px;
    height:3px;
    margin:0 0 18px;
    background:var(--df-woo-copper);
    border-radius:20px;
}

body:not(.logged-in).woocommerce-account #customer_login h2{
    margin:0 0 12px !important;
    color:var(--df-woo-text) !important;
    font-size:32px !important;
    line-height:1.08 !important;
    font-weight:700 !important;
    letter-spacing:-.025em !important;
}

body:not(.logged-in).woocommerce-account .df-account-form-intro{
    margin:0 0 24px !important;
    color:var(--df-woo-muted);
    font-size:13px;
    line-height:1.6;
}

body:not(.logged-in).woocommerce-account .df-account-form-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
    margin:-8px 0 24px;
    padding:0;
    color:var(--df-woo-muted);
    font-size:10px;
    line-height:1.35;
}

body:not(.logged-in).woocommerce-account .df-account-form-benefits span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}

body:not(.logged-in).woocommerce-account .df-account-form-benefits span::before{
    content:"✓";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    color:var(--df-woo-copper-dark);
    background:var(--df-woo-ivory);
    border-radius:50%;
    font-size:9px;
    font-weight:800;
}

body:not(.logged-in).woocommerce-account #customer_login form.login,
body:not(.logged-in).woocommerce-account #customer_login form.register{
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

body:not(.logged-in).woocommerce-account #customer_login .form-row{
    margin:0 0 16px !important;
    padding:0 !important;
}

body:not(.logged-in).woocommerce-account #customer_login label{
    display:block;
    margin:0 0 7px !important;
    color:var(--df-woo-text) !important;
    font-size:11px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
}

body:not(.logged-in).woocommerce-account #customer_login abbr.required{
    color:var(--df-woo-wine);
    text-decoration:none;
}

body:not(.logged-in).woocommerce-account #customer_login input.input-text,
body:not(.logged-in).woocommerce-account #customer_login input[type="email"],
body:not(.logged-in).woocommerce-account #customer_login input[type="text"],
body:not(.logged-in).woocommerce-account #customer_login input[type="password"]{
    width:100% !important;
    min-height:48px !important;
    padding:10px 13px !important;
    color:var(--df-woo-text) !important;
    background:#fff !important;
    border:1px solid var(--df-woo-border) !important;
    border-radius:7px !important;
    font-size:13px !important;
    line-height:1.3 !important;
    box-shadow:none !important;
    transition:border-color .2s ease,box-shadow .2s ease;
}

body:not(.logged-in).woocommerce-account #customer_login input.input-text:focus,
body:not(.logged-in).woocommerce-account #customer_login input[type="email"]:focus,
body:not(.logged-in).woocommerce-account #customer_login input[type="text"]:focus,
body:not(.logged-in).woocommerce-account #customer_login input[type="password"]:focus{
    outline:none !important;
    border-color:var(--df-woo-copper) !important;
    box-shadow:0 0 0 2px rgba(207,137,88,.10) !important;
}

body:not(.logged-in).woocommerce-account #customer_login .password-input{
    display:block;
    position:relative;
}

body:not(.logged-in).woocommerce-account #customer_login .show-password-input{
    top:50% !important;
    right:14px !important;
    transform:translateY(-50%);
    color:var(--df-woo-muted) !important;
}

body:not(.logged-in).woocommerce-account #customer_login button.button{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:44px !important;
    margin:0 !important;
    padding:11px 22px !important;
    color:#fff !important;
    background:var(--df-woo-copper) !important;
    border:1px solid var(--df-woo-copper) !important;
    border-radius:7px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.075em !important;
    text-transform:uppercase;
    box-shadow:none !important;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

body:not(.logged-in).woocommerce-account #customer_login button.button:hover{
    background:var(--df-woo-copper-dark) !important;
    border-color:var(--df-woo-copper-dark) !important;
    transform:translateY(-1px);
}

body:not(.logged-in).woocommerce-account #customer_login .woocommerce-form-login__rememberme{
    display:inline-flex !important;
    align-items:center;
    gap:7px;
    margin-left:10px !important;
    color:var(--df-woo-muted) !important;
    font-size:11px !important;
    font-weight:500 !important;
}

body:not(.logged-in).woocommerce-account #customer_login .woocommerce-form-login__rememberme input{
    margin:0 !important;
    accent-color:var(--df-woo-copper-dark);
}

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

body:not(.logged-in).woocommerce-account #customer_login .woocommerce-LostPassword a{
    color:var(--df-woo-copper-dark) !important;
    font-size:11px;
    font-weight:700;
    text-decoration:none !important;
}

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

body:not(.logged-in).woocommerce-account #customer_login .woocommerce-privacy-policy-text,
body:not(.logged-in).woocommerce-account #customer_login .woocommerce-privacy-policy-text p{
    margin:14px 0 18px !important;
    color:var(--df-woo-muted) !important;
    font-size:10.5px !important;
    line-height:1.6 !important;
}

body:not(.logged-in).woocommerce-account #customer_login .woocommerce-privacy-policy-text a{
    color:var(--df-woo-copper-dark) !important;
    font-weight:700;
}

body:not(.logged-in).woocommerce-account #customer_login form.register>p:not(.form-row):not(.woocommerce-privacy-policy-text){
    color:var(--df-woo-muted);
    font-size:11px;
    line-height:1.6;
}

body:not(.logged-in).woocommerce-account .woocommerce-error,
body:not(.logged-in).woocommerce-account .woocommerce-message,
body:not(.logged-in).woocommerce-account .woocommerce-info{
    margin-bottom:20px !important;
    padding:15px 18px 15px 20px !important;
    background:#fff !important;
    border:1px solid var(--df-woo-border) !important;
    border-top:0 !important;
    border-left:3px solid var(--df-woo-copper) !important;
    border-radius:9px !important;
    box-shadow:0 8px 25px rgba(18,30,28,.035);
}

body:not(.logged-in).woocommerce-account .woocommerce-error{
    border-left-color:var(--df-woo-wine) !important;
}

@media (max-width:900px){
    body:not(.logged-in).woocommerce-account #customer_login{gap:20px !important;}
    body:not(.logged-in).woocommerce-account #customer_login>.u-column1,
    body:not(.logged-in).woocommerce-account #customer_login>.u-column2{padding:24px !important;}
    body:not(.logged-in).woocommerce-account #customer_login h2{font-size:28px !important;}
}

@media (max-width:767px){
    body:not(.logged-in).woocommerce-account .woocommerce{
        width:100% !important;
        max-width:100% !important;
    }

    body:not(.logged-in).woocommerce-account #customer_login{
        display:flex !important;
        flex-direction:column !important;
        gap:16px !important;
        width:100% !important;
        max-width:100% !important;
    }

    body:not(.logged-in).woocommerce-account #customer_login>.u-column1,
    body:not(.logged-in).woocommerce-account #customer_login>.u-column2{
        width:100% !important;
        max-width:100% !important;
        padding:20px 17px !important;
        border-radius:10px !important;
    }

    body:not(.logged-in).woocommerce-account #customer_login>.u-column1::before,
    body:not(.logged-in).woocommerce-account #customer_login>.u-column2::before{
        width:34px;
        margin-bottom:14px;
    }

    body:not(.logged-in).woocommerce-account #customer_login h2{
        margin-bottom:9px !important;
        font-size:26px !important;
        line-height:1.1 !important;
    }

    body:not(.logged-in).woocommerce-account .df-account-form-intro{
        margin-bottom:19px !important;
        font-size:12px;
        line-height:1.55;
    }

    body:not(.logged-in).woocommerce-account .df-account-form-benefits{
        margin-bottom:19px;
        font-size:9.5px;
    }

    body:not(.logged-in).woocommerce-account #customer_login .form-row{
        margin-bottom:14px !important;
    }

    body:not(.logged-in).woocommerce-account #customer_login input.input-text,
    body:not(.logged-in).woocommerce-account #customer_login input[type="email"],
    body:not(.logged-in).woocommerce-account #customer_login input[type="text"],
    body:not(.logged-in).woocommerce-account #customer_login input[type="password"]{
        min-height:46px !important;
        font-size:13px !important;
    }

    body:not(.logged-in).woocommerce-account #customer_login button.button{
        width:100% !important;
        min-height:46px !important;
        padding:12px 15px !important;
    }

    body:not(.logged-in).woocommerce-account #customer_login .woocommerce-form-login__rememberme{
        display:flex !important;
        width:100%;
        margin:12px 0 0 !important;
    }

    body:not(.logged-in).woocommerce-account #customer_login .woocommerce-LostPassword{
        margin-top:11px !important;
    }
}
/* ============================================================
   FIX ESCRITORIO — ACCEDER / REGISTRARSE
   Corrige distribución del formulario de Mi cuenta
   ============================================================ */

@media (min-width: 768px) {

	body:not(.logged-in) .elementor-widget-woocommerce-my-account,
	body:not(.logged-in) .elementor-widget-woocommerce-my-account .elementor-widget-container,
	body:not(.logged-in) .elementor-widget-woocommerce-my-account .woocommerce {
		width: 100% !important;
		max-width: 1180px !important;
		margin: 0 auto !important;
	}

	body:not(.logged-in) .elementor-widget-woocommerce-my-account #customer_login {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 32px !important;
		align-items: start !important;
		width: 100% !important;
		margin: 0 !important;
	}

	/* eliminar comportamientos heredados de float / clear */
	body:not(.logged-in) .elementor-widget-woocommerce-my-account #customer_login::before,
	body:not(.logged-in) .elementor-widget-woocommerce-my-account #customer_login::after {
		display: none !important;
		content: none !important;
	}

	body:not(.logged-in) .elementor-widget-woocommerce-my-account #customer_login > .u-column1,
	body:not(.logged-in) .elementor-widget-woocommerce-my-account #customer_login > .u-column2 {
		float: none !important;
		clear: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		align-self: start !important;
		box-sizing: border-box !important;
	}

	/* orden correcto en escritorio */
	body:not(.logged-in) .elementor-widget-woocommerce-my-account #customer_login > .u-column1 {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	body:not(.logged-in) .elementor-widget-woocommerce-my-account #customer_login > .u-column2 {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}
}
/* ============================================================
   ÍNTIMOS — PULIDO ACCESO / REGISTRO
   ============================================================ */


/* Botones principales a todo el ancho */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
button[name="login"],

body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
button[name="register"] {

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

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

	min-height: 46px !important;

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

	box-sizing: border-box !important;
}


/* Fila de acceso */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
.woocommerce-form-login
.form-row:nth-last-of-type(1) {

	display: block !important;
	width: 100% !important;
}


/* Mantener sesión iniciada */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
.woocommerce-form-login__rememberme {

	display: flex !important;
	align-items: center !important;

	width: 100% !important;

	margin: 13px 0 0 !important;

	padding: 10px 12px !important;

	color: var(--df-woo-muted) !important;
	background: var(--df-woo-ivory);

	border-radius: 7px;

	font-size: 11px !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;

	box-sizing: border-box;
}


/* Checkbox */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
.woocommerce-form-login__rememberme input {

	width: 15px;
	height: 15px;

	margin: 0 8px 0 0 !important;

	accent-color: var(--df-woo-copper-dark);
}


/* Olvidé mi contraseña */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
.woocommerce-LostPassword {

	margin: 14px 0 0 !important;

	text-align: center;
}


/* Enlace */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
.woocommerce-LostPassword a {

	color: var(--df-woo-copper-dark) !important;

	font-size: 11px !important;
	font-weight: 700 !important;

	text-decoration: none !important;
}


body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
.woocommerce-LostPassword a:hover {

	text-decoration: underline !important;
}


/* Beneficios del registro */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
.df-account-form-benefits {

	display: grid !important;
	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap: 8px !important;

	margin: 0 0 22px !important;
}


/* Cada beneficio */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
.df-account-form-benefits span {

	display: flex !important;
	align-items: center !important;

	min-height: 38px;

	padding: 8px 9px;

	color: var(--df-woo-muted);

	background: #fff;

	border: 1px solid var(--df-woo-border);
	border-radius: 7px;

	font-size: 9px !important;
	line-height: 1.3 !important;

	box-sizing: border-box;
}


/* Check de cada beneficio */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
.df-account-form-benefits span::before {

	flex: 0 0 17px;

	width: 17px;
	height: 17px;

	margin-right: 2px;

	background: var(--df-woo-ivory);

	color: var(--df-woo-copper-dark);
}


/* Separación previa al texto de privacidad */
body:not(.logged-in)
.elementor-widget-woocommerce-my-account
#customer_login
.woocommerce-privacy-policy-text {

	margin-top: 18px !important;
	padding-top: 14px;

	border-top:
		1px solid var(--df-woo-border);
}


/* ============================================================
   MÓVIL
   ============================================================ */

@media (max-width: 767px) {

	body:not(.logged-in)
	.elementor-widget-woocommerce-my-account
	.df-account-form-benefits {

		grid-template-columns: 1fr !important;
		gap: 7px !important;
	}


	body:not(.logged-in)
	.elementor-widget-woocommerce-my-account
	.df-account-form-benefits span {

		min-height: 36px;

		padding: 8px 10px;

		font-size: 10px !important;
	}


	body:not(.logged-in)
	.elementor-widget-woocommerce-my-account
	#customer_login
	button[name="login"],

	body:not(.logged-in)
	.elementor-widget-woocommerce-my-account
	#customer_login
	button[name="register"] {

		min-height: 48px !important;
	}

}