/*
Theme Name: Taxi Lixouri
Description: Child theme of Twenty Twenty-Five for taxi-lixouri.gr — transfers, pricelist, private tours and bookings (works with the Taxi Lixouri Booking plugin and Polylang).
Template: twentytwentyfive
Version: 0.2.0
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: taxi-lixouri
*/

/* Colours for the booking plugin, taken from theme.json. */
:root {
	--tl-ink: var(--wp--preset--color--contrast);
	--tl-muted: var(--wp--preset--color--accent-4);
	--tl-sea: var(--wp--preset--color--accent-2);
	--tl-sea-50: var(--wp--preset--color--accent-3);
	--tl-accent: var(--wp--preset--color--accent-1);
	--tl-line: #c3ced6;
	--tl-card: var(--wp--preset--color--base-2);
}

/* Header */
.tl-header { border-bottom: 1px solid var(--wp--preset--color--accent-5); }
.tl-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; }
.tl-brand-mark { width: 40px; height: 40px; border-radius: 10px; background: var(--wp--preset--color--accent-1); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.tl-nav { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0; padding: 0; list-style: none; }
.tl-nav a { display: inline-block; padding: 10px 0; color: var(--wp--preset--color--contrast); text-decoration: none; font-weight: 500; }
.tl-nav a:hover, .tl-nav .current-menu-item > a { color: var(--wp--preset--color--accent-2); }
.tl-lang { display: inline-flex; border: 1px solid var(--wp--preset--color--accent-5); border-radius: 999px; overflow: hidden; font-size: .875rem; font-weight: 600; }
.tl-lang a { padding: 10px 14px; color: var(--wp--preset--color--contrast); text-decoration: none; }
.tl-lang a[aria-current] { background: var(--wp--preset--color--contrast); color: #fff; }
.tl-call a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--wp--preset--color--accent-2); color: #fff; text-decoration: none; font-weight: 600; white-space: nowrap; }

/* Sections */
.tl-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tl-chips li { padding: 8px 14px; border-radius: 999px; background: var(--wp--preset--color--accent-3); color: var(--wp--preset--color--accent-2); font-weight: 600; font-size: .875rem; }
.tl-card { background: var(--wp--preset--color--base-2); border: 1px solid var(--wp--preset--color--accent-5); border-radius: 20px; }
.tl-booking-card { padding: 28px; box-shadow: 0 12px 32px rgba(14, 27, 44, .08); }
.tl-hero-img img { border-radius: 20px; aspect-ratio: 16 / 9; object-fit: cover; width: 100%; height: auto; }
.tl-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.tl-steps li { padding: 24px; }
.tl-steps .tl-num { width: 36px; height: 36px; border-radius: 50%; background: var(--wp--preset--color--accent-1); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.tl-dark .tlb-tour { background: var(--wp--preset--color--accent-6); border-color: transparent; color: #fff; }
.tl-dark .tlb-tour .tlb-small { color: #c9d4dd; }

/* Popular routes */
.tlb-popular { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.tlb-pop { display: flex; flex-direction: column; gap: 14px; padding: 20px; border: 1px solid var(--wp--preset--color--accent-5); border-radius: 16px; background: var(--wp--preset--color--base-2); }
.tlb-pop small { color: var(--wp--preset--color--accent-4); }
.tlb-pop-to { font-family: var(--wp--preset--font-family--manrope); font-weight: 700; font-size: 1.2rem; }
.tlb-pop-foot { display: flex; justify-content: space-between; align-items: center; }
.tlb-pop-foot strong { font-family: var(--wp--preset--font-family--manrope); font-size: 1.75rem; }
.tlb-pop-foot a { padding: 10px 16px; border-radius: 999px; border: 1px solid var(--wp--preset--color--accent-2); color: var(--wp--preset--color--accent-2); text-decoration: none; font-weight: 600; font-size: .9rem; }

.tl-photo { margin: 0; }
.tl-photo img { display: block; width: 100%; height: auto; }
.tl-hero-img img { border-radius: 20px; aspect-ratio: 4 / 3; object-fit: cover; }
.tl-gallery { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.tl-gallery img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; transition: opacity .15s ease; }
.tl-gallery a:hover img { opacity: .85; }
@media (max-width: 781px) { .tl-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.tl-footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.tl-footer-menu a { display: inline-block; padding: 4px 0; }
.tl-steps { margin-top: 24px; }

@media (max-width: 781px) {
	.tl-header-row > .wp-block-shortcode:nth-child(2), .tl-header-row nav { order: 3; flex-basis: 100%; }
	.tl-header-row { row-gap: 8px; }
	.tl-booking-card { padding: 20px; }
}
