/* CONTACT */

.main-contact{
	padding:20px 0 150px;
}

.contact__title{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	margin:0 0 85px;
	color:var(--red);
	font-family:var(--font-primary);
	font-size:46px;
	font-weight:700;
	line-height:1;
	letter-spacing:12px;
	text-align:center;
}

.contact__title span{
	width:70px;
	height:5px;
	background:var(--red);
	border-radius:999px;
}

.contact-form{
	width:min(920px,100%);
	margin:0 auto;
	display:grid;
	gap:12px;
}

.contact-form input,
.contact-form textarea{
	width:100%;
	border:2px solid var(--red);
	background:transparent;
	color:var(--black);
	font-family:var(--font-primary);
	font-size:30px;
	font-weight:700;
	line-height:1;
	outline:none;
	border-radius:0;
	padding:6px 14px;
}

.contact-form input{
	height:44px;
}

.contact-form textarea{
	height:190px;
	resize:none;
	padding-top:12px;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
	color:rgba(0,0,0,.45);
	opacity:1;
}

.contact-form__hp{
	position:absolute;
	left:-9999px;
}

.contact-form__privacy{
	display:flex;
	align-items:center;
	gap:8px;
	color:var(--brown);
	font-family:var(--font-primary);
	font-size:16px;
}

.contact-form__privacy{
	display:flex;
	align-items:center;
	gap:12px;
	cursor:pointer;
	user-select:none;
}

.contact-form__privacy input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.contact-form__check{
	position:relative;
	flex-shrink:0;
	width:22px;
	height:22px;
	border:2px solid var(--red);
	background:transparent;
	transition:var(--transition);
}

.contact-form__check::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:10px;
	height:10px;
	background:var(--red);
	transform:translate(-50%,-50%) scale(0);
	transition:var(--transition);
}

.contact-form__privacy input:checked + .contact-form__check::after{
	transform:translate(-50%,-50%) scale(1);
}

.contact-form__privacy:hover .contact-form__check{
	background:rgba(255,42,48,.08);
}

.contact-form__privacy-text{
	color:var(--brown);
	font-family:var(--font-primary);
	font-size:16px;
	line-height:1.2;
}

.contact-form__privacy-text a{
	color:var(--red);
	text-decoration:none;
	transition:var(--transition);
}

.contact-form__privacy-text a:hover{
	color:var(--brown);
}

/* ── Error messages μέσα στη φόρμα ───────────────────────── */
.contact-form__errors {
  background: rgba(255, 42, 48, 0.08);
  border-left: 3px solid var(--red);
  color: var(--red-dark);
  padding: 12px 16px;
  margin: 8px 0;
  font-size: 14px;
  font-family: var(--font-secondary);
}

.contact-form__errors p {
  margin: 4px 0;
}

/* ── Submit button loading state ─────────────────────────── */
.contact-form__submit:disabled {
  opacity: 0.6;
  cursor: wait;
}

/* ── Success state (αντικαθιστά τη φόρμα) ────────────────── */
.contact-success {
  text-align: center;
  padding: 60px 24px;
	margin: 30px auto 0;
  animation: success-pop 0.4s ease-out;
}

.contact-success__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
  color: var(--red);
}

.contact-success__title {
  font-family: var(--font-primary);
  font-size: clamp(32px, 5vw, 48px);
  color: var(--red);
  margin: 0 0 16px;
  text-transform: uppercase;
}

.contact-success__text {
  font-family: var(--font-secondary);
  font-size: 17px;
  line-height: 1.6;
  color: var(--brown);
  margin: 0;
}

@keyframes success-pop {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

@media (max-width: 600px) {
  .contact-success {
    padding: 40px 20px;
  }
  .contact-success__icon {
    width: 64px;
    height: 64px;
    margin-bottom: 16px;
  }
  .contact-success__text {
    font-size: 15px;
  }
}

@media(max-width:700px){

	.contact-form__privacy{
		gap:10px;
	}

	.contact-form__check{
		width:18px;
		height:18px;
	}

	.contact-form__check::after{
		width:8px;
		height:8px;
	}

	.contact-form__privacy-text{
		font-size:13px;
	}
}

.contact-form button{
	justify-self:end;
	min-width:185px;
	height:50px;
	margin-top:20px;
	border:0;
	background:var(--red);
	color:var(--white);
	font-family:var(--font-primary);
	font-size:30px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	transition:var(--transition);
}

.contact-form button:hover{
	background:var(--brown);
	transform:translateY(-2px);
}

.contact-stores {
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:0 12px;
	margin-top:90px;
	font-family:var(--font-primary);
	font-size:27px;
	font-weight:700;
	line-height:1.4;
	text-align:center;
}

.contact-stores span:not(:last-child)::after{
	content:"|";
	margin-left:12px;
	font-weight:700;
}

.contact-stores strong{
	font-weight:700;
}

.contact-stores a {
	text-decoration: none;
	color:var(--black);
}

.contact-stores a:hover {
	color:var(--red);
}

/* TABLET */

@media(max-width:1024px){
	.main-contact{
		padding:55px 0 75px;
	}

	.contact__title{
		margin-bottom:55px;
		font-size:40px;
		letter-spacing:8px;
	}

	.contact__title span{
		width:45px;
		height:4px;
	}

	.contact-form input,
	.contact-form textarea{
		font-size:24px;
	}

	.contact-stores{
		margin-top:65px;
		font-size:21px;
	}
}

/* MOBILE */

@media(max-width:700px){
	.page-contact{
		padding:35px 0 60px;
	}

	.contact__title{
		gap:8px;
		margin-bottom:35px;
		font-size:24px;
		letter-spacing:4px;
	}

	.contact__title span{
		width:26px;
		height:3px;
	}

	.contact-form{
		gap:9px;
	}

	.contact-form input{
		height:38px;
	}

	.contact-form input,
	.contact-form textarea{
		border-width:1px;
		font-size:19px;
		padding-inline:10px;
	}

	.contact-form textarea{
		height:150px;
	}

	.contact-form__privacy{
		font-size:13px;
	}

	.contact-form button{
		min-width:140px;
		height:42px;
		margin-top:14px;
		font-size:22px;
	}

	.contact-stores{
		display:grid;
		gap:5px;
		margin-top:50px;
		font-size:18px;
	}

	.contact-stores span:not(:last-child)::after{
		display:none;
	}
}