/* CV2 login bottom-sheet — staging. Scoped to #cv2AccSheet / .cv2-login-*. */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");

#cv2AccSheet.cv2-login-sheet{
	--cv2ls-wine:#7A1638;
	--cv2ls-wine-dark:#6E1233;
	--cv2ls-wine-darker:#5C0F2B;
	--cv2ls-cream:#F7F2EC;
	--cv2ls-cream-2:#EFE7E1;
	--cv2ls-line:#E6DDD6;
	--cv2ls-ink:#1B1B1B;
	--cv2ls-muted:#6E6560;
	--cv2ls-muted-2:#8b7f78;
	--cv2ls-error:#A31D2E;
	background:var(--cv2ls-cream);
	border-radius:22px 22px 0 0;
	padding:12px 22px calc(28px + env(safe-area-inset-bottom,0px));
	box-shadow:0 -12px 40px rgba(0,0,0,.25);
	max-width:520px;
	margin:0 auto;
	left:0;right:0;
	font-family:Poppins,Helvetica,Arial,sans-serif;
	color:var(--cv2ls-ink);
	-webkit-font-smoothing:antialiased;
	box-sizing:border-box;
	overflow:auto;-webkit-overflow-scrolling:touch;
}
#cv2AccSheet.cv2-login-sheet::before{display:none}
#cv2AccSheet.cv2-login-sheet *,
#cv2AccSheet.cv2-login-sheet *::before,
#cv2AccSheet.cv2-login-sheet *::after{box-sizing:border-box}
#cv2AccSheet.cv2-login-sheet a{color:#1b1519;text-decoration:none}
#cv2AccSheet.cv2-login-sheet a:hover{color:#1b1519}
#cv2AccSheet.cv2-login-sheet a.cv2-login-row,
#cv2AccSheet.cv2-login-sheet button.cv2-login-row,
#cv2AccSheet.cv2-login-sheet .cv2-login-row,
#cv2AccSheet.cv2-login-sheet .cv2-login-row span{color:#1b1519 !important}
#cv2AccSheet.cv2-login-sheet button:not(.cv2-login-close){font:inherit;cursor:pointer}

.cv2-acc-sheet-overlay{
	background:rgba(20,10,14,.45);
}

.cv2-login-grab{
	width:64px;height:5px;border-radius:3px;background:#D8CEC7;margin:0 auto 18px;
}
.cv2-login-panel{display:none}
.cv2-login-panel.is-active{display:block}

.cv2-login-head{
	display:flex;align-items:center;justify-content:space-between;gap:18px;
	padding:4px 0 10px;margin-bottom:0;background:transparent;border-bottom:0;
}
.cv2-login-title{
	margin:0;
	font-family:"Raleway",sans-serif !important;
	font-size:22px !important;font-weight:700 !important;line-height:1.1;
	color:#1b1519 !important;
}
.cv2-login-close{
	width:38px;height:38px;min-width:38px;min-height:38px;
	padding:0;border:0;background:none;color:#1b1519;
	line-height:38px;text-align:center;cursor:pointer;
	display:flex;align-items:center;justify-content:center;
}
.cv2-login-close svg{width:30px;height:30px;display:block;stroke:#1b1519}
.cv2-login-close:hover{color:#9d0048}
.cv2-login-close:hover svg{stroke:#9d0048}

.cv2-login-who{
	display:flex;flex-direction:column;align-items:center;text-align:center;
	padding:6px 0 16px;
}
.cv2-login-who[hidden]{display:none !important}
.cv2-login-avatar{
	width:64px;height:64px;border-radius:50%;
	background:#1b1519;color:#F7F2EC;
	display:flex;align-items:center;justify-content:center;
	font-family:"Raleway",sans-serif;font-weight:700;font-size:22px;letter-spacing:.04em;
	margin:0 0 10px;
}
.cv2-login-who-email{margin:0;text-align:center;width:100%;color:#6E6560}

.cv2-login-rows{display:flex;flex-direction:column}
.cv2-login-row{
	display:flex;align-items:center;gap:14px;
	padding:17px 2px;min-height:44px;
	border-top:1px solid var(--cv2ls-line);
	background:none;border-left:0;border-right:0;border-bottom:0;
	text-align:left;font-size:16px;font-weight:500;color:#1b1519;
	width:100%;
}
.cv2-login-row:hover{background:#F0E9E2}
.cv2-login-row .cv2-login-ic{width:27px;text-align:center;color:#1b1519 !important;font-size:20px;flex:none;line-height:1;display:inline-flex;align-items:center;justify-content:center}.cv2-login-row .cv2-login-ic svg{display:block;width:20px;height:20px;flex:none}
.cv2-login-row .cv2-login-chev{margin-left:auto;color:#1b1519}
.cv2-login-row.is-danger{color:#1b1519}

.cv2-login-back-head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 18px;
	margin-top: 20px;
}
.cv2-login-back{
	width:44px;height:44px;flex:none;border-radius:12px;
	border:1px solid #DDD2CB;background:none;font-size:18px;color:#3a3a3a;
}
.cv2-login-back:hover{background:var(--cv2ls-cream-2)}
.cv2-login-h2{font-size:21px;font-weight:600;line-height:1.2}
.cv2-login-sub{font-size:14px;color:var(--cv2ls-muted);margin:2px 0 0}

.cv2-login-google-wrap{position:relative;margin-bottom:14px}
.cv2-login-google{
	width:100%;display:flex;align-items:center;justify-content:center;gap:12px;
	background:#fff;border:1px solid #DADCE0;border-radius:12px;
	padding:14px;min-height:48px;font-size:15px;font-weight:500;color:#3c4043;margin-bottom:0;
}
.cv2-login-google:hover{background:#F6F7F8;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.cv2-login-google[disabled]{opacity:.6;cursor:default}
.cv2-login-google-mount{
	position:absolute;inset:0;z-index:2;overflow:hidden;
	opacity:0.011;border-radius:12px;
}
.cv2-login-google-mount:empty{display:none}
.cv2-login-google-mount > div,
.cv2-login-google-mount iframe{width:100% !important;height:100% !important;max-width:none !important}

.cv2-login-or{
	display:flex;align-items:center;gap:12px;margin-bottom:16px;
	font-size:12px;color:var(--cv2ls-muted-2);letter-spacing:.5px;
}
.cv2-login-or::before,.cv2-login-or::after{content:"";flex:1;height:1px;background:#E2D8D1}

.cv2-login-tabs{
	display:grid;grid-template-columns:1fr 1fr;
	background:var(--cv2ls-cream-2);border-radius:14px;padding:5px;margin-bottom:18px;
}
.cv2-login-tab{
	border:0;background:none;padding:11px;min-height:44px;border-radius:11px;
	font-size:14px;font-weight:600;color:#7d736e;
}
.cv2-login-tab[aria-selected="true"]{background:#fff;color:#111;box-shadow:0 1px 3px rgba(0,0,0,.12)}

.cv2-login-field{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.cv2-login-field label{font-size:13px;font-weight:500;color:#3a3a3a}
.cv2-login-field input{
	border:1.5px solid #DDD2CB;border-radius:12px;padding:15px 16px;
	font-size:15px;background:#fff;outline:none;width:100%;
	font-family:inherit;color:var(--cv2ls-ink);
}
.cv2-login-field input:focus{border-color:var(--cv2ls-wine);box-shadow:0 0 0 3px rgba(122,22,56,.12)}
#cv2LsEmail{border-color:#C7A9B5}
.cv2-login-forgot{font-size:13px;font-weight:500;align-self:flex-end}

.cv2-login-primary{
	width:100%;background:var(--cv2ls-wine-dark);color:#fff;border:0;
	border-radius:14px;padding:17px;min-height:52px;font-size:16px;font-weight:600;margin-top:4px;
}
.cv2-login-primary:hover{background:var(--cv2ls-wine-darker)}
.cv2-login-primary[disabled]{opacity:.6;cursor:default}
.cv2-login-helper{
	margin-top:12px;font-size:13px;color:var(--cv2ls-muted-2);text-align:center;line-height:1.5;
}
.cv2-login-err{
	margin-top:12px;font-size:13px;color:var(--cv2ls-error);
	background:#FBEBEC;border-radius:10px;padding:10px 12px;
}
.cv2-login-err[hidden]{display:none}
.cv2-login-guest{margin-top:16px;border-top:1px solid var(--cv2ls-line);padding-top:16px;text-align:center}
.cv2-login-guest p{margin:0;font-size:14px;color:var(--cv2ls-muted)}
.cv2-login-guest button{
	background:none;border:0;font-size:16px;font-weight:600;color:var(--cv2ls-wine);
	margin-top:2px;min-height:44px;padding:8px 12px;
}

.cv2-login-cells{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.cv2-login-cell{
	height:58px;border-radius:12px;border:1.5px solid #E0D5CE;background:#fff;
	display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;
}
.cv2-login-cell.is-next{border-color:var(--cv2ls-wine)}
.cv2-login-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.cv2-login-key{
	padding:15px;min-height:52px;border-radius:12px;background:#fff;
	border:1px solid var(--cv2ls-line);font-size:19px;font-weight:500;color:var(--cv2ls-ink);
}
.cv2-login-key:hover{background:#F0E9E2}
.cv2-login-key.is-blank{visibility:hidden}
.cv2-login-resend{margin-top:14px;text-align:center;font-size:13px;color:var(--cv2ls-muted-2)}
.cv2-login-resend button{background:none;border:0;color:var(--cv2ls-wine);font-weight:600;min-height:44px;padding:8px}

.cv2-login-code-sr{
	position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
	clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.cv2-login-toast{
	position:fixed;left:16px;right:16px;bottom:24px;max-width:488px;margin:0 auto;
	z-index:2147483640;background:#1E1E1E;color:#F7F2EC;
	border-radius:14px;padding:14px 16px;font-size:14px;
	display:flex;gap:10px;align-items:center;
	opacity:0;pointer-events:none;transition:opacity .2s ease;
	font-family:Poppins,Helvetica,Arial,sans-serif;
}
.cv2-login-toast.is-show{opacity:1}
.cv2-login-toast span:first-child{color:#F2C6D3}


/* desktop: modal centrado (o sheet de baixo fica so no mobile) */
@media only screen and (min-width: 501px) {
	#cv2AccSheet.cv2-login-sheet{
		top:50% !important;
		left:50% !important;
		right:auto !important;
		bottom:auto !important;
		width:440px !important;
		max-width:calc(100vw - 48px) !important;
		height:auto !important;
		max-height:calc(100vh - 48px) !important;
		margin:0 !important;
		border-radius:22px !important;
		background:#f7f3ef;
		box-shadow:0 24px 64px rgba(24,18,22,.28);
		transform:translate(-50%,-48%) scale(.98) !important;
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		padding:8px 28px 28px;
		transition:transform 280ms ease,opacity 280ms ease,visibility 280ms ease;
	}
	body.cv2-acc-sheet-open #cv2AccSheet.cv2-login-sheet{
		transform:translate(-50%,-50%) scale(1) !important;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
	}
	#cv2AccSheet.cv2-login-sheet .cv2-login-grab{display:none}
	#cv2AccSheet.cv2-login-sheet .cv2-login-head{padding:18px 0 14px}
	#cv2AccSheet.cv2-login-sheet .cv2-login-keys{display:none}
}

@media only screen and (max-width: 500px) {
	/* t85: mobile sheet sem transform, para o toque nas linhas de baixo navegar */
	body.cv2-acc-sheet-open #cv2AccSheet.cv2-login-sheet{
		transform:none !important;
		top:auto !important;
		bottom:0 !important;
		left:0 !important;
		right:0 !important;
		width:100% !important;
		max-height:calc(100vh - 8px);
		max-height:calc(100dvh - 8px);
		overflow:auto;
		-webkit-overflow-scrolling:touch;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
	}
	#cv2AccSheet.cv2-login-sheet .cv2-login-row{
		position:relative;
		z-index:2;
		pointer-events:auto;
	}
}


/* cv2-shared-x: mesmo X em conta / prefs / cesto / listas / favoritos */
.cv2-login-close,
.cv2-prefs-drawer__close,
.shopcart-drawer__close,
#shopcart-modal[data-cv2-lists="1"] .shopcart-drawer__close,
.cv2-fav-drawer__close{
	width:38px !important;height:38px !important;
	min-width:38px !important;min-height:38px !important;
	padding:0 !important;border:0 !important;border-radius:0 !important;
	background:transparent !important;color:#1b1519 !important;
	font-size:0 !important;line-height:0 !important;
	box-shadow:none !important;
	display:flex !important;align-items:center !important;justify-content:center !important;
	cursor:pointer;
}
.cv2-login-close i,.cv2-login-close svg,
.cv2-prefs-drawer__close i,.cv2-prefs-drawer__close svg,
.shopcart-drawer__close i,.shopcart-drawer__close svg,
#shopcart-modal[data-cv2-lists="1"] .shopcart-drawer__close i,
#shopcart-modal[data-cv2-lists="1"] .shopcart-drawer__close svg,
.cv2-fav-drawer__close i,.cv2-fav-drawer__close svg{
	display:none !important;
}
.cv2-login-close::after,
.cv2-prefs-drawer__close::after,
.shopcart-drawer__close::after,
#shopcart-modal[data-cv2-lists="1"] .shopcart-drawer__close::after,
.cv2-fav-drawer__close::after{
	content:"" !important;
	display:block !important;
	width:30px !important;height:30px !important;
	background:currentColor !important;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
}


/* mq-freeze: nao animar login/conta entre bottom-sheet e modal */
body:not(.cv2-acc-sheet-open) #cv2AccSheet.cv2-login-sheet,
body:not(.cv2-acc-sheet-open) #cv2AccSheet.cv2-acc-sheet{
	transition:none !important;
	opacity:0 !important;
	visibility:hidden !important;
	pointer-events:none !important;
}
html.cv2-mq-freeze #cv2AccSheet,
html.cv2-mq-freeze #cv2AccSheet.cv2-login-sheet,
html.cv2-mq-freeze .cv2-acc-sheet,
html.cv2-mq-freeze .cv2-acc-sheet-overlay{
	transition:none !important;
}


/* xdup: hamburger already has FA 30px — no ::after */
.cv2-mmenu__x::after,
.cv2-mobile-menu-close::after,
.cv2-acc-sheet__close::after{
	content:none !important;
	display:none !important;
	width:0 !important;height:0 !important;
	background:none !important;
	-webkit-mask:none !important;
	mask:none !important;
}


/* signup panel */
#panel-signup.cv2-login-panel.is-active{display:block}
#panel-signup .cv2-address{margin:8px 0 12px}
#panel-signup .cv2-field{margin-bottom:10px}
#panel-signup .floatl__label,
#panel-signup .floatl--active .floatl__label,
#panel-signup .floatl--focused .floatl__label{
	display:block !important;
	position:static !important;
	top:auto !important;
	right:auto !important;
	left:auto !important;
	opacity:1 !important;
	visibility:visible !important;
	font-size:13px;
	font-weight:500;
	line-height:1.3;
	color:#3a3a3a;
	margin:0 0 6px;
	padding:0;
	text-transform:none;
	background:none;
}
#panel-signup .cv3-label-split{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
#panel-signup .cv3-opt{color:#8a817c;font-weight:400;font-size:12px;text-transform:none}
#panel-signup .floatl{position:static}
#panel-signup .floatl__input{
	border:1.5px solid #DDD2CB;border-radius:12px;padding:12px 14px;
	font-size:15px;background:#fff;width:100%;min-height:44px;font-family:inherit;
}
#panel-signup .cv2-grid{display:grid;gap:10px}
#panel-signup .cv2-grid--nome-nif{grid-template-columns:1.15fr minmax(168px,200px)}
/* t1625: morada full width; CP na linha de baixo (pedido João) */
#panel-signup .cv2-grid--morada-cp{grid-template-columns:1fr}
#panel-signup .cv2-grid--2{grid-template-columns:1fr 1fr}
#panel-signup .cv2-grid--loc-prov{grid-template-columns:1fr 1fr}
#panel-signup .cv3-hint{font-size:12px;color:var(--cv2ls-muted);margin-top:4px}
#panel-signup details.cv2-optional{margin:8px 0;border:1px solid var(--cv2ls-line);border-radius:12px;padding:8px 12px;background:#fff}
#panel-signup details.cv2-optional summary{cursor:pointer;font-size:13px;min-height:44px;display:flex;align-items:center}
#panel-signup .cv2-signup-terms{margin:12px 0}
#panel-signup .cv2-addr-check,
.cv2-addr-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.4;min-height:44px}
#panel-signup .cv2-addr-check input,
.cv2-addr-check input{margin-top:4px;width:18px;height:18px;flex:none}
.cv2-login-signup-link{margin-top:8px}
.cv2-login-signup-link button{background:none;border:0;font-size:15px;font-weight:600;color:var(--cv2ls-wine);min-height:44px;padding:8px 12px}
.cv2-addr-extra{margin:10px 0}
@media only screen and (max-width:500px){
	#panel-signup .cv2-grid--nome-nif,
	#panel-signup .cv2-grid--morada-cp,
	#panel-signup .cv2-grid--2,
	#panel-signup .cv2-grid--loc-prov{grid-template-columns:1fr}
}

/* t1528: provincia só ES */
#panel-signup .cv2-grid--loc-prov.cv2-grid--loc-only{grid-template-columns:1fr}
#panel-signup .cv2-field--provincia[style*="display: none"],
#panel-signup .cv2-field--provincia[hidden]{display:none !important}

/* t1530: sexo + birthday full width in optional */
#panel-signup .cv2-field--sexo,
#panel-signup .cv2-field--bday{width:100%;max-width:100%}
#panel-signup .cv2-field--bday .cv2-bday-hint{margin:0 0 8px}

/* t1531: optional chevron down/up */
#panel-signup details.cv2-optional summary,
.cv2-login-sheet details.cv2-optional summary,
.cv2-address details.cv2-optional summary{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	list-style:none;
	cursor:pointer;
	font-weight:500;
	color:#3a3a3a;
}
#panel-signup details.cv2-optional summary::-webkit-details-marker,
.cv2-login-sheet details.cv2-optional summary::-webkit-details-marker,
.cv2-address details.cv2-optional summary::-webkit-details-marker{display:none}
#panel-signup details.cv2-optional summary::after,
.cv2-login-sheet details.cv2-optional summary::after,
.cv2-address details.cv2-optional summary::after{
	content:'';
	width:9px;height:9px;flex:none;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:rotate(45deg);
	transition:transform .2s ease;
	margin-right:2px;
}
#panel-signup details.cv2-optional[open] summary::after,
.cv2-login-sheet details.cv2-optional[open] summary::after,
.cv2-address details.cv2-optional[open] summary::after{
	transform:rotate(-135deg);
}
#panel-signup details.cv2-optional[open] summary,
.cv2-login-sheet details.cv2-optional[open] summary,
.cv2-address details.cv2-optional[open] summary{margin-bottom:10px}

