/* =========================================================
   Tony's — PHP page templates
   Full-width layout, equal-height cards, hero slider, motion
   ========================================================= */

/* ---------- Full width — ΚΑΘΟΛΙΚΟ, για κάθε σελίδα ---------- */

html {
	/* Κόβει το λευκό κενό δεξιά που δημιουργεί οποιοδήποτε στοιχείο
	   ξεπερνά το πλάτος του viewport (π.χ. grid με πολλές στήλες). */
	overflow-x: hidden;
	max-width: 100%;
}

body,
#page,
#content,
#primary,
.site-content,
.ast-container,
.ast-container--narrow,
.entry-content,
.site-main {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	overflow-x: clip;
	float: none !important;
}

/* Ο Astra ορίζει το πλάτος περιεχομένου με CSS variable — τη μηδενίζουμε
   ώστε να μη γυρίσει το boxed layout από τον Customizer. */
:root,
body {
	--ast-container-default-xlg-padding: 0;
	--ast-container-default-lg-padding: 0;
	--ast-content-width-size: 100%;
	--wp--style--global--content-size: 100%;
	--wp--style--global--wide-size: 100%;
}

.ast-page-builder-template .site-content > .ast-container,
.ast-page-builder-template #primary,
.ast-plain-container .site-content > .ast-container {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Ο Elementor προσθέτει δικό του boxed container όταν θεωρεί τη σελίδα δική του. */
.elementor-page .site-content > .ast-container,
.elementor-page #content > .ast-container {
	max-width: 100% !important;
	padding: 0 !important;
}

/* Καμία σελίδα δεν έχει sidebar. */
#secondary,
.ast-separate-container #secondary,
.widget-area {
	display: none !important;
}

.ast-left-sidebar #primary,
.ast-right-sidebar #primary {
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Οι εικόνες δεν πρέπει ποτέ να ξεχειλίζουν. */
img,
iframe,
video {
	max-width: 100%;
}

/* ---------- Full width: ξηλώνουμε τα containers του Astra ---------- */

body.tonys-locked #content,
body.tonys-locked .site-content,
body.tonys-locked .ast-container,
body.tonys-locked #primary,
body.tonys-locked .ast-article-single,
body.tonys-locked .entry-content {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

body.tonys-locked .ast-separate-container,
body.tonys-locked .ast-plain-container {
	background: var(--tb-bg-light);
	padding: 0;
}

body.tonys-locked .entry-header,
body.tonys-locked .entry-title,
body.tonys-locked .ast-single-post .post-navigation,
body.tonys-locked .ast-author-box,
body.tonys-locked #secondary {
	display: none !important;
}

.tonys-main { display: block; }

/* ---------- Hero ---------- */

.tonys-hero {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--tb-dark);
	color: var(--tb-white);
}

.tonys-hero--tall  { min-height: 620px; }
.tonys-hero--short { min-height: 460px; }

.tonys-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.tonys-hero__slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity 1.4s ease, transform 7s linear;
}

.tonys-hero__slide.is-active {
	opacity: 1;
	transform: scale(1);
}

/* Καμία σκίαση πάνω από τις φωτογραφίες — εμφανίζονται με τα φυσικά τους
   χρώματα. Η αναγνωσιμότητα του λευκού κειμένου εξασφαλίζεται με text-shadow. */
.tonys-hero__bg::after,
.tonys-hero::before,
.tonys-hero::after {
	content: none !important;
	background: none !important;
}

.wp-block-cover.tonys-hero .wp-block-cover__background,
.wp-block-cover.tonys-hero .has-background-dim::before,
.wp-block-cover.tonys-hero .has-background-dim {
	background: none !important;
	opacity: 0 !important;
}

.tonys-hero__inner {
	position: relative;
	z-index: 1;
	padding-block: 76px;
}

/* Χωρίς overlay, η αναγνωσιμότητα του λευκού κειμένου στηρίζεται εδώ. */
.tonys-hero__inner :is(h1, h2, p, li, span, a, strong) {
	text-shadow:
		0 1px 2px rgba(0, 0, 0, .55),
		0 3px 14px rgba(0, 0, 0, .45);
}

.tonys-hero__inner .tonys-btn,
.tonys-hero__inner .tonys-btn span {
	text-shadow: none;
}

.tonys-hero__eyebrow {
	margin: 0 0 12px;
	color: var(--tb-orange);
	font-size: 14px;
	font-weight: 600;
	font-style: italic;
	letter-spacing: .04em;
}

.tonys-hero__title {
	max-width: 16ch;
	margin: 0 0 16px;
	font-size: clamp(34px, 4.6vw, 60px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.015em;
	color: var(--tb-white);
}

.tonys-hero__title em {
	display: block;
	font-style: normal;
	color: var(--tb-orange);
}

.tonys-hero__script {
	margin: 0 0 18px;
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 600;
	font-style: italic;
	color: var(--tb-orange);
}

.tonys-hero__sub {
	max-width: 56ch;
	margin: 0 0 14px;
	font-size: 16.5px;
	line-height: 1.6;
	white-space: pre-line;
	color: rgba(255, 255, 255, .9);
}

.tonys-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.tonys-hero__meta li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
	max-width: 15ch;
}

.tonys-hero__meta .tonys-icon { color: var(--tb-orange); }

.tonys-hero__actions { margin: 28px 0 0; }

.tonys-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 26px 0 0;
	font-size: 14px;
	font-weight: 600;
}

.tonys-rating__stars { color: #FBBC04; letter-spacing: 2px; }

/* ---------- Sections ---------- */

.tonys-section--tight { padding-block: 56px; }

.tonys-features__title { margin-bottom: 40px; color: var(--tb-white); }

/* ---------- Split (κείμενο + εικόνα) ---------- */

.tonys-split {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	align-items: center;
	gap: 56px;
}

.tonys-split__title {
	margin: 0 0 20px;
	font-size: clamp(26px, 2.6vw, 34px);
	font-weight: 700;
	line-height: 1.22;
}

.tonys-split__text p {
	margin: 0 0 16px;
	color: #4B5563;
	line-height: 1.75;
}

.tonys-split__media img {
	width: 100%;
	height: 100%;
	max-height: 420px;
	object-fit: cover;
	display: block;
	border-radius: var(--tb-radius-card);
}

/* ---------- Κάρτες οχημάτων: ΙΣΟ ΥΨΟΣ ---------- */

.tonys-card-grid {
	display: grid;
	grid-template-columns: repeat(var(--tb-cols, 4), minmax(0, 1fr));
	gap: var(--tb-gap);
	align-items: stretch;   /* όλες οι κάρτες τεντώνονται στο ίδιο ύψος */
}

.tonys-card {
	display: flex;
	flex-direction: column;
	height: 100%;           /* γεμίζει το κελί του grid */
	overflow: hidden;
	background: var(--tb-white);
	border: 1px solid var(--tb-border);
	border-radius: var(--tb-radius-card);
	transition: transform .28s ease, box-shadow .28s ease;
}

.tonys-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 38px rgba(15, 21, 26, .16);
}

/* Σταθερό ύψος εικόνας ώστε όλες οι κάρτες να έχουν ίδια αναλογία και να μη
   φαίνονται παραμορφωμένες ή μακρόστενες. */
.tonys-card__media {
	height: 240px;
	flex: none;
	overflow: hidden;
	background: var(--tb-white);
	font-size: 0;          /* κόβει τυχόν inline whitespace κάτω από την εικόνα */
	line-height: 0;
}

/* height: 100% !important ώστε να νικά το `.elementor img { height: auto }`
   που φορτώνει μετά — αλλιώς η εικόνα γίνεται πιο κοντή από το κουτί και
   φαίνεται γκρι/κενό από κάτω. */
.tonys-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center center;
	display: block;
	vertical-align: bottom;
	transition: transform .5s ease;
}

.tonys-card:hover .tonys-card__media img { transform: scale(1.07); }

/* Ίδια προστασία για κάρτες κατηγοριών & οδηγού: η εικόνα γεμίζει το κουτί
   της, χωρίς γκρι κενό κάτω από αυτήν. */
.tonys-cat__media,
.tonys-guide__media {
	background: var(--tb-white);
	font-size: 0;
	line-height: 0;
}

.tonys-cat__media img,
.tonys-guide__media img {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
	display: block;
	vertical-align: bottom;
}

.tonys-card__body {
	display: flex;
	flex: 1 1 auto;         /* το σώμα απορροφά το υπόλοιπο ύψος */
	flex-direction: column;
	padding: 18px 18px 20px;
	text-align: center;
}

.tonys-card__title {
	margin: 0 0 4px;
	font-size: 16.5px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.tonys-card__subtitle {
	margin: 0 0 14px;
	font-size: 12.5px;
	color: var(--tb-text-muted);
}

.tonys-card__specs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 10px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.tonys-card__specs li:nth-child(3):last-child { grid-column: 1 / -1; }

.tonys-card__specs li {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	line-height: 1.3;
	text-align: left;
}

.tonys-card__specs .tonys-icon { color: var(--tb-orange); }

/* Το κουμπί κολλάει στο κάτω μέρος ώστε να ευθυγραμμίζεται σε όλες τις κάρτες. */
.tonys-card__body .tonys-btn { margin-top: auto; }

/* ---------- Κάρτες κατηγοριών ---------- */

.tonys-cat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--tb-gap);
	align-items: stretch;
}

.tonys-cat {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: var(--tb-white);
	border: 1px solid var(--tb-border);
	border-radius: var(--tb-radius-card);
	color: inherit;
	text-decoration: none;
	transition: transform .28s ease, box-shadow .28s ease;
}

.tonys-cat:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 38px rgba(15, 21, 26, .16);
	color: inherit;
}

.tonys-cat__media {
	display: block;
	height: 200px;
	flex: none;
	overflow: hidden;
}

.tonys-cat__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}

.tonys-cat:hover .tonys-cat__media img { transform: scale(1.07); }

.tonys-cat__body {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: 14px;
	padding: 18px;
}

.tonys-cat__icon { flex: none; color: var(--tb-orange); line-height: 0; }
.tonys-cat__copy { flex: 1; }

.tonys-cat__title {
	display: block;
	margin-bottom: 3px;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

.tonys-cat__text {
	display: block;
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--tb-text-muted);
}

.tonys-cat__arrow {
	flex: none;
	color: var(--tb-orange);
	line-height: 0;
	transition: transform .28s ease;
}

.tonys-cat:hover .tonys-cat__arrow { transform: translateX(4px); }

/* ---------- Γκαλερί ---------- */

.tonys-gallery {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	margin-top: 36px;
}

.tonys-gallery__item { margin: 0; }

.tonys-gallery__item img {
	width: 100%;
	height: 150px;
	object-fit: cover;
	display: block;
	border-radius: 6px;
	transition: transform .45s ease;
}

.tonys-gallery__item:hover img { transform: scale(1.05); }

.tonys-gallery figcaption {
	margin-top: 9px;
	font-size: 12.5px;
	text-align: center;
	color: var(--tb-text-muted);
}

/* ---------- «More than just…» ---------- */

.tonys-more__inner {
	display: grid;
	grid-template-columns: .85fr 1.1fr .9fr;
	align-items: center;
	gap: 40px;
}

/* Παραλλαγή Cars: τίτλος αριστερά, 3 στήλες στο κέντρο, φωτογραφία δεξιά. */
.tonys-more--columns .tonys-more__inner {
	grid-template-columns: .85fr 1.5fr .9fr;
}

.tonys-more--columns .tonys-more__text  { order: 1; }
.tonys-more--columns .tonys-more__cols  { order: 2; }
.tonys-more--columns .tonys-more__media { order: 3; }

.tonys-more__media img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	display: block;
	border-radius: var(--tb-radius-card);
}

.tonys-more__title {
	margin: 0 0 16px;
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	color: var(--tb-white);
}

.tonys-more__text p {
	margin: 0 0 12px;
	font-size: 14.5px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .72);
}

.tonys-more__cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.tonys-more__icon { color: var(--tb-orange); }

.tonys-more__col h3 {
	margin: 10px 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--tb-white);
}

.tonys-more__col p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .68);
}

.tonys-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tonys-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin-bottom: 13px;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(255, 255, 255, .88);
}

.tonys-checklist .tonys-icon { margin-top: 2px; color: var(--tb-orange); }

/* ---------- Τελικό CTA ---------- */

.tonys-cta {
	padding: 80px 0;
	margin-bottom: 70px;
	background: var(--tb-bg-light);
	text-align: center;
}

/* ---------- Google reviews slider ---------- */

.tonys-slider {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	margin-top: 36px;
}

/* Ένα review τη φορά, κεντραρισμένο. Τα υπόλοιπα με τα βελάκια/swipe. */
.tonys-slider__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 100%;
	gap: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 6px 0 14px;
	scrollbar-width: none;
}

/* Κρύβουμε τη μπάρα κύλισης — η πλοήγηση γίνεται με τα βελάκια/swipe. */
.tonys-slider__track::-webkit-scrollbar { display: none; }

.tonys-slider__nav {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	flex: none;
	border: 1px solid var(--tb-border);
	border-radius: 999px;
	background: var(--tb-white);
	color: var(--tb-orange);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.tonys-slider__nav:hover {
	background: var(--tb-orange);
	color: var(--tb-white);
	transform: scale(1.06);
}

.tonys-slider__nav--prev { transform: rotate(180deg); }
.tonys-slider__nav--prev:hover { transform: rotate(180deg) scale(1.06); }

.tonys-slider__nav[disabled] {
	opacity: .35;
	cursor: default;
	transform: none;
}

.tonys-slider__nav--prev[disabled] { transform: rotate(180deg); }

/* Κάρτα αξιολόγησης */

.tonys-review {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 860px;
	margin: 0 auto;          /* κεντράρισμα της μοναδικής ορατής κάρτας */
	scroll-snap-align: center;
	padding: 34px 36px;
	background: var(--tb-white);
	border: 1px solid var(--tb-border);
	border-radius: var(--tb-radius-card);
	box-shadow: 0 10px 26px rgba(15, 21, 26, .07);
}

.tonys-review__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.tonys-review__stars {
	color: #FBBC04;
	font-size: 17px;
	letter-spacing: 2px;
}

.tonys-google-logo { flex: none; display: block; }

/* Το κείμενο κόβεται σε ομοιόμορφο ύψος και ανοίγει με «Read more». */
.tonys-review__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: #4B5563;
	display: -webkit-box;
	-webkit-line-clamp: 8;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.tonys-review__text.is-expanded {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

.tonys-review__more {
	align-self: flex-start;
	margin-top: 10px;
	padding: 0;
	background: none;
	border: 0;
	color: var(--tb-orange);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.tonys-review__more:hover { text-decoration: underline; }

.tonys-review__foot {
	margin-top: auto;
	padding-top: 18px;
}

.tonys-review__author {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--tb-text);
}

.tonys-review__source {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	color: var(--tb-text-muted);
}

/* Σε mobile ισχύει ακριβώς το ίδιο: ένα review τη φορά, με τα βελάκια. */
@media (max-width: 767px) {
	.tonys-slider { gap: 8px; }

	.tonys-slider__nav {
		width: 38px;
		height: 38px;
	}

	.tonys-review {
		padding: 24px 20px;
		text-align: left;
	}

	.tonys-review__more { align-self: flex-start; }
}

@media (max-width: 420px) {
	.tonys-slider { grid-template-columns: 1fr; }

	/* Πολύ στενή οθόνη: τα βελάκια κάτω από την κάρτα, κεντραρισμένα. */
	.tonys-slider__track { grid-row: 1; grid-column: 1; }

	.tonys-slider__nav {
		grid-row: 2;
		justify-self: center;
		margin-top: 4px;
	}

	.tonys-slider__nav--prev { grid-column: 1; justify-self: end; margin-right: 34px; }
	.tonys-slider__nav--next { grid-column: 1; justify-self: start; margin-left: 34px; }
}

/* Το τελευταίο section πριν το footer δεν πρέπει να κολλάει πάνω του. */
.tonys-main > :last-child {
	margin-bottom: 0;
	padding-bottom: 80px;
}

/* Το Instagram strip είναι ξεχωριστό <section> μέσα στο <main>, ΟΧΙ μέρος του
   <footer>. Ομοιόμορφο κενό και από τις δύο πλευρές του. */
/* Το Instagram strip είναι αυτόνομο <section> μέσα στο <main>, ΠΟΤΕ μέσα στο
   <footer>. Δικός του αέρας πάνω και κάτω ώστε να μη «δένει» οπτικά με το
   footer — και τα δύο έχουν σκούρο φόντο, οπότε χωρίς κενό φαίνονται ένα. */
.tonys-instagram-wrap {
	display: block;
	width: 100%;
	margin-top: 50px !important;
	margin-bottom: 50px !important;
	clear: both;
}

/* Το κενό των 50px πρέπει να μείνει ορατό ακόμη κι όταν το strip είναι το
   τελευταίο στοιχείο — αλλιώς το margin θα κατέρρεε πάνω στο footer. */
.tonys-main > .tonys-instagram-wrap:last-child {
	padding-bottom: 0;
}

.tonys-main {
	display: flow-root;
}

.tonys-footer {
	clear: both;
	margin-top: 0;
	padding-top: 50px;
	padding-bottom: 50px;
}

.tonys-cta__title {
	margin: 0 0 10px;
	font-size: clamp(26px, 2.8vw, 34px);
	font-weight: 700;
}

.tonys-cta__text {
	max-width: 62ch;
	margin: 0 auto 26px;
	color: var(--tb-text-muted);
}

/* ---------- Outline κουμπί ---------- */

.tonys-btn--outline {
	background: transparent;
	color: var(--tb-orange);
	border: 2px solid var(--tb-orange);
}

.tonys-btn--outline:hover,
.tonys-btn--outline:focus-visible {
	background: var(--tb-orange);
	color: var(--tb-white);
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(232, 93, 4, .3);
}

.tonys-btn--primary:hover,
.tonys-btn--primary:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(232, 93, 4, .34);
}

.tonys-btn .tonys-icon { transition: transform .28s ease; }
.tonys-btn:hover .tonys-icon { transform: translateX(4px); }

/* ---------- Σελίδα επικοινωνίας ---------- */

.tonys-contact {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	align-items: start;
	gap: var(--tb-gap);
}

.tonys-contact__aside {
	display: grid;
	gap: var(--tb-gap);
}

.tonys-panel {
	padding: 28px;
	background: var(--tb-white);
	border: 1px solid var(--tb-border);
	border-radius: var(--tb-radius-card);
}

.tonys-panel__title {
	margin: 0 0 6px;
	padding-bottom: 12px;
	font-size: 19px;
	font-weight: 700;
	text-transform: uppercase;
	border-bottom: 2px solid var(--tb-orange);
	display: inline-block;
}

.tonys-panel__intro {
	margin: 14px 0 22px;
	font-size: 13.5px;
	color: var(--tb-text-muted);
}

/* Φόρμα */

.tonys-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.tonys-field { margin: 0 0 16px; }

.tonys-field label {
	display: block;
	margin-bottom: 6px;
	font-size: 12.5px;
	font-weight: 600;
	color: #374151;
}

.tonys-field input,
.tonys-field select,
.tonys-field textarea {
	width: 100%;
	padding: 11px 13px;
	font-family: inherit;
	font-size: 14px;
	color: var(--tb-text);
	background: var(--tb-white);
	border: 1px solid #D6D9DE;
	border-radius: 5px;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.tonys-field input:focus,
.tonys-field select:focus,
.tonys-field textarea:focus {
	outline: none;
	border-color: var(--tb-orange);
	box-shadow: 0 0 0 3px rgba(232, 93, 4, .14);
}

.tonys-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.tonys-notice {
	margin-bottom: 20px;
	padding: 13px 16px;
	border-radius: 6px;
	font-size: 14px;
}

.tonys-notice--ok    { background: #E7F6EC; color: #1B5E32; border: 1px solid #B7E1C4; }
.tonys-notice--error { background: #FDECEC; color: #8A1C1C; border: 1px solid #F3BDBD; }

/* Safety box */

.tonys-safety {
	display: flex;
	gap: 16px;
	margin-top: 26px;
	padding: 22px;
	background: var(--tb-sand);
	border-radius: var(--tb-radius-card);
}

.tonys-safety__icon { flex: none; color: var(--tb-orange); }

.tonys-safety h3 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

.tonys-safety p {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.6;
	color: #4B5563;
}

/* Pickup options */

.tonys-option {
	display: flex;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid var(--tb-border);
}

.tonys-option:last-child { border-bottom: 0; padding-bottom: 0; }

.tonys-option__icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 999px;
	background: var(--tb-dark);
	color: var(--tb-white);
}

.tonys-option h3 {
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--tb-orange);
}

.tonys-option h3 em { font-style: normal; }

.tonys-option p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #4B5563;
}

/* Contact list */

.tonys-contact__list {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.tonys-contact__list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 13px;
	font-size: 13.5px;
	line-height: 1.5;
	flex-wrap: wrap;
}

.tonys-contact__list .tonys-icon { margin-top: 2px; color: var(--tb-orange); }
.tonys-contact__list a { color: inherit; text-decoration: none; }
.tonys-contact__list a:hover { color: var(--tb-orange); }

.tonys-contact__map {
	color: var(--tb-orange) !important;
	text-decoration: underline !important;
	font-size: 12.5px;
}

.tonys-map {
	margin-top: 18px;
	overflow: hidden;
	border-radius: 6px;
}

.tonys-map iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 450px;
	border: 0;
}

@media (max-width: 700px) {
	.tonys-map iframe { height: 320px; }
}

/* ---------- Equal heights: ενιαίος κανόνας για κάθε grid καρτών ---------- */

.tonys-card-grid,
.tonys-cat-grid,
.tonys-guide-grid {
	align-items: stretch;
}

.tonys-card-grid > *,
.tonys-cat-grid > *,
.tonys-guide-grid > * {
	height: 100%;
	min-width: 0;   /* εμποδίζει το ξεχείλισμα από μεγάλες λέξεις */
}

/* Κάθε κάρτα είναι στήλη flex ώστε το σώμα να τεντώνει και το κουμπί να
   κάθεται πάντα στο ίδιο ύψος σε όλες τις κάρτες της σειράς. */
.tonys-card,
.tonys-cat,
.tonys-guide,
.tonys-benefit {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.tonys-card__body,
.tonys-cat__body,
.tonys-guide__body {
	flex: 1 1 auto;
}

.tonys-card__body > .tonys-btn { margin-top: auto; }

/* ---------- «Welcome to Tony's» (αρχική) ---------- */

.tonys-about-home {
	background: var(--tb-dark);
	color: var(--tb-white);
}

.tonys-about-home__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 56px;
}

.tonys-about-home__media {
	position: relative;
	overflow: hidden;
	border-radius: var(--tb-radius-card);
}

.tonys-about-home__media img {
	width: 100%;
	height: 440px;
	object-fit: cover;
	object-position: center center;
	display: block;
	transition: transform .6s ease;
}

.tonys-about-home__media:hover img { transform: scale(1.04); }

/* Λεπτή πορτοκαλί γωνία, ίδια γλώσσα σχεδιασμού με το υπόλοιπο site. */
.tonys-about-home__media::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 96px;
	height: 5px;
	background: var(--tb-orange);
}

.tonys-about-home__title {
	margin: 0 0 20px;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 800;
	line-height: 1.15;
	color: var(--tb-white);
}

.tonys-about-home__text > p {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.8;
	color: rgba(255, 255, 255, .76);
}

.tonys-about-home__points {
	margin: 26px 0 30px;
	padding: 0;
	list-style: none;
}

.tonys-about-home__points li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 13px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--tb-white);
}

.tonys-about-home__points .tonys-icon { color: var(--tb-orange); }

.tonys-about-home__actions { margin: 0; }

@media (max-width: 900px) {
	.tonys-about-home__inner { grid-template-columns: 1fr; gap: 32px; }
	.tonys-about-home__media img { height: 300px; }
}

/* ---------- Guide / benefit cards ---------- */

.tonys-guide-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--tb-gap);
	align-items: stretch;
	margin-top: 36px;
}

.tonys-guide-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.tonys-guide {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: var(--tb-white);
	border: 1px solid var(--tb-border);
	border-radius: var(--tb-radius-card);
	transition: transform .28s ease, box-shadow .28s ease;
}

.tonys-guide:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 38px rgba(15, 21, 26, .16);
}

.tonys-guide__media {
	height: 190px;
	flex: none;
	overflow: hidden;
	background: #ECECEC;
}

.tonys-guide__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}

.tonys-guide:hover .tonys-guide__media img { transform: scale(1.07); }

.tonys-guide__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 20px;
}

.tonys-guide__title {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 700;
}

.tonys-guide__text {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--tb-text-muted);
}

/* Κάρτες παροχών: μόνο εικονίδιο, χωρίς φωτογραφία. */
.tonys-benefit {
	height: 100%;
	padding: 26px 24px;
	background: var(--tb-white);
	border: 1px solid var(--tb-border);
	border-radius: var(--tb-radius-card);
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.tonys-benefit:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 38px rgba(15, 21, 26, .14);
	border-color: var(--tb-orange);
}

.tonys-benefit__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 16px;
	border-radius: 999px;
	background: rgba(232, 93, 4, .1);
	color: var(--tb-orange);
}

.tonys-benefit__title {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
}

.tonys-benefit__text {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--tb-text-muted);
}

/* ---------- Περιοχή Elementor / Gutenberg ---------- */

/* Ουδέτερο wrapper: δεν επιβάλλει δικό του spacing ώστε να μην αλλάζει το
   layout όταν είναι κενό. Το padding μπαίνει μόνο όταν έχει περιεχόμενο. */
.elementor-editable-content {
	display: block;
	width: 100%;
}

.elementor-editable-content > .tonys-container:not(:empty) {
	padding-top: 40px;
	padding-bottom: 40px;
}

/* Ο Elementor χτίζει τα δικά του full-width sections — δεν τα περιορίζουμε. */
.elementor-editable-content .elementor-section,
.elementor-editable-content .e-con {
	max-width: 100%;
}

/* ---------- Prose (standard page) ---------- */

.tonys-prose { max-width: 78ch; }
.tonys-prose h2 { margin-top: 1.6em; font-size: 28px; }
.tonys-prose h3 { margin-top: 1.4em; font-size: 21px; }
.tonys-prose p  { margin: 0 0 1.1em; line-height: 1.8; color: #4B5563; }
.tonys-prose img { max-width: 100%; height: auto; border-radius: var(--tb-radius-card); }

/* ---------- Instagram ---------- */

.tonys-instagram__label span em {
	display: block;
	font-style: normal;
	font-size: 13px;
	color: var(--tb-orange);
}

/* ---------- Scroll reveal ---------- */

[data-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .6s ease, transform .6s ease;
	transition-delay: var(--tb-delay, 0ms);
}

[data-reveal].is-visible {
	opacity: 1;
	transform: none;
}

/* Χωρίς JS δεν κρύβουμε τίποτα. */
.no-js [data-reveal] { opacity: 1; transform: none; }

/* Μέσα στον Elementor editor/preview ο IntersectionObserver δεν τρέχει στο
   iframe, οπότε τα data-reveal θα έμεναν αόρατα και οι ενότητες θα φαίνονταν
   ΚΕΝΕΣ. Τα εμφανίζουμε πάντα εκεί. */
.elementor-editor-active [data-reveal],
.elementor-editor-preview [data-reveal],
body.elementor-editor-active [data-reveal] {
	opacity: 1 !important;
	transform: none !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1100px) {
	.tonys-more__inner { grid-template-columns: 1fr 1fr; }
	.tonys-more__media { grid-column: 1 / -1; }
	.tonys-more--columns .tonys-more__inner { grid-template-columns: 1fr; }
	.tonys-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.tonys-hero--tall  { min-height: 520px; }
	.tonys-hero--short { min-height: 380px; }
	.tonys-hero__inner { padding-block: 56px; }

	.tonys-split { grid-template-columns: 1fr; gap: 32px; }
	.tonys-split__media { order: -1; }

	.tonys-contact { grid-template-columns: 1fr; }
	.tonys-more__inner { grid-template-columns: 1fr; }
	.tonys-more__cols { grid-template-columns: 1fr; }
	.tonys-card__media { height: 200px; }
}

@media (max-width: 1100px) {
	.tonys-guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.tonys-guide-grid,
	.tonys-guide-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.tonys-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tonys-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tonys-form__row { grid-template-columns: 1fr; }
	.tonys-panel { padding: 20px; }
}

@media (max-width: 560px) {
	.tonys-guide-grid,
	.tonys-guide-grid--3 { grid-template-columns: 1fr; }
}

.tonys-prose--wide { max-width: 90ch; }

@media (max-width: 560px) {
	.tonys-cat-grid { grid-template-columns: 1fr; }
	.tonys-hero__title { max-width: none; }
	.tonys-card__media { height: 190px; }
}

/* =========================================================
   MOBILE (< 768px) — τα πάντα κεντραρισμένα και ευανάγνωστα
   ========================================================= */

@media (max-width: 767px) {

	/* Feature bar: εικονίδιο, τίτλος και κείμενο στο κέντρο. */
	.tonys-feature {
		align-items: center;
		text-align: center;
		padding: 18px 14px;
	}

	.tonys-feature::after { margin: 0 auto 12px; }

	.tonys-feature__title,
	.tonys-feature__text {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		max-width: 30ch;
	}

	/* Hero: τίτλοι, κείμενα και κουμπιά κεντραρισμένα. */
	.tonys-hero__inner { text-align: center; }

	.tonys-hero__title,
	.tonys-hero__sub,
	.tonys-hero__eyebrow,
	.tonys-hero__script {
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.tonys-hero__meta,
	.tonys-hero__actions,
	.tonys-rating {
		justify-content: center;
		align-items: center;
	}

	.tonys-hero__meta li { max-width: none; }

	/* Ενότητες: επικεφαλίδες και κείμενα στο κέντρο. */
	.tonys-section__head,
	.tonys-split__text,
	.tonys-more__text,
	.tonys-about-home__text,
	.tonys-cta__inner,
	.tonys-prose {
		text-align: center;
	}

	.tonys-split__title,
	.tonys-more__title,
	.tonys-about-home__title { text-align: center; }

	/* Λίστες με εικονίδια: κεντραρισμένες ως μπλοκ, με αριστερή στοίχιση
	   κειμένου ώστε να μη σπάνε άσχημα οι μεγάλες φράσεις. */
	.tonys-checklist,
	.tonys-about-home__points {
		display: inline-block;
		text-align: left;
	}

	/* Κάρτες: περιεχόμενο κεντραρισμένο. */
	.tonys-card__body,
	.tonys-guide__body,
	.tonys-benefit {
		text-align: center;
	}

	.tonys-benefit__icon { margin-left: auto; margin-right: auto; }

	.tonys-card__specs {
		justify-items: center;
		gap: 10px 8px;
	}

	.tonys-card__specs li {
		justify-content: center;
		text-align: center;
	}

	.tonys-cat__body { text-align: center; }

	/* Κουμπιά: πλήρες πλάτος για εύκολο πάτημα. */
	.tonys-center .tonys-btn,
	.tonys-cta .tonys-btn,
	.tonys-hero__actions .tonys-btn {
		width: 100%;
		max-width: 340px;
		justify-content: center;
	}

	/* Instagram strip σε mobile. */
	.tonys-instagram {
		text-align: center;
		gap: 18px;
	}

	.tonys-instagram__label { justify-content: center; }

	/* Footer κεντραρισμένο. */
	.tonys-footer__grid { text-align: center; }
	.tonys-footer__contact li { justify-content: center; }
	.tonys-social { justify-content: center; }
	.tonys-footer__logo { display: block; margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal] { opacity: 1 !important; transform: none !important; }
	.tonys-hero__slide { transition: opacity .3s ease; transform: none !important; }
}
