/*
Theme Name:   Paris Guided Tour
Description:  Child theme of Twenty Twenty-Five for paris-guided-tour.com, close to the former GoTravel design. Tour templates rely on the PGT Core plugin (post types, "pgt/tour" block bindings, booking form).
Author:       Paris Guided Tour
Template:     twentytwentyfive
Version:      1.1.0
Requires at least: 6.7
Requires PHP: 8.2
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  pgt
*/

/* ---------- Header ---------- */

.pgt-topbar p {
	margin: 0;
}

.pgt-topbar .wp-block-social-links {
	margin: 0;
}

.pgt-header {
	box-shadow: 0 1px 0 rgb(0 0 0 / 6%);
	position: relative;
	z-index: 10;
}

.pgt-logo {
	margin: 0;
}

.pgt-logo img {
	display: block;
	height: auto;
	max-width: min(264px, 55vw);
}

/* Current menu item in pink, like the former theme. */
.pgt-header .wp-block-navigation .current-menu-item > a,
.pgt-header .wp-block-navigation .current-menu-ancestor > a,
.pgt-header .wp-block-navigation a[aria-current="page"] {
	color: var(--wp--preset--color--accent-3);
}

.wp-block-navigation__submenu-container {
	font-weight: 600;
	text-transform: none;
}

/* Polylang switcher: inline flags. */
.pll-switcher {
	flex: none;
	width: auto;
}

.pgt-topbar .pll-switcher ul {
	flex-direction: row;
}

.pll-switcher ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ---------- Buttons ---------- */

.wp-block-button.is-style-outline > .wp-block-button__link {
	border-width: 2px;
	padding: 15px 38px;
}

.pgt-button-light .wp-block-button__link {
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--base);
}

.pgt-button-light .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-3);
}

/* ---------- Tour cards ---------- */

.pgt-card {
	position: relative;
	height: 100%;
	box-shadow: 0 5px 25px rgb(0 0 0 / 8%);
}

.pgt-card .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
}

.pgt-card .wp-block-post-featured-image img {
	transition: transform 0.4s ease;
}

.pgt-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.pgt-card__body {
	flex-grow: 1;
}

.pgt-card__body > * {
	margin-block: 0;
}

.pgt-card__price {
	white-space: nowrap;
}

.pgt-card__bar p {
	margin: 0;
}

/* ---------- Icons (inline SVG masks, no icon font) ---------- */

.pgt-icon {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.pgt-icon::before {
	content: "";
	flex: none;
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--pgt-icon) center / contain no-repeat;
	mask: var(--pgt-icon) center / contain no-repeat;
}

.pgt-icon--clock {
	--pgt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.pgt-icon--people {
	--pgt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c0-3.6 2.9-6 6.5-6s6.5 2.4 6.5 6'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M16.5 14c3 .2 5 2.3 5 5.5'/%3E%3C/svg%3E");
}

.pgt-icon--tag {
	--pgt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 12V3h9l9 9-9 9z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E");
}

/* ---------- Single tour ---------- */

.pgt-fact--row p {
	margin: 0;
}

.pgt-booking-box h4 {
	margin-top: 0;
}

/* ---------- Footer ---------- */

.pgt-contact-list {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.pgt-contact-list li {
	padding: 4px 0;
}

.pgt-footer h5 {
	margin-top: 0;
	letter-spacing: 0.02em;
}

.pgt-latest-posts {
	padding: 0;
}

.pgt-latest-posts li {
	margin-bottom: 16px;
	overflow: hidden;
}

.pgt-latest-posts .wp-block-latest-posts__post-date {
	color: inherit;
	font-size: 12px;
	opacity: 0.8;
}

/* ---------- Contact Form 7 ---------- */

.wpcf7-form label {
	display: block;
	color: var(--wp--preset--color--contrast);
	font-size: 14px;
	font-weight: 600;
}

.wpcf7-form p {
	margin-block: 0 16px;
}

.wpcf7-form :is(input:not([type="checkbox"], [type="radio"], [type="submit"]), select, textarea) {
	box-sizing: border-box;
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;
	border: 1px solid #e1e1e1;
	border-radius: 0;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-4);
	font: inherit;
	font-size: 14px;
	font-weight: 400;
}

.wpcf7-form :is(input, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 0;
}

.wpcf7-form .wpcf7-acceptance label {
	font-weight: 400;
}

.wpcf7-form input[type="submit"] {
	width: 100%;
	padding: 17px 40px;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}

.wpcf7-form input[type="submit"]:hover {
	background: var(--wp--preset--color--contrast);
}

@media (prefers-reduced-motion: reduce) {
	.pgt-card .wp-block-post-featured-image img {
		transition: none;
	}
}
