/*
 Theme Name:   Abruzzo Incoming
 Theme URI:    https://abruzzoincoming.com
 Description:  Child theme of Travelfic for Abruzzo Incoming travel booking website
 Author:       Abruzzo Incoming
 Author URI:   https://abruzzoincoming.com
 Template:     travelfic
 Version:      1.0.1
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  abruzzoincoming
*/

/* Custom styles go below this line */

/* Fix hardcoded orange color in section titles - use primary color */
.tft-section-wrapper .tft-section-title h2::after {
	background: #3CBCD933 !important;
}

/* Override hardcoded plane shape image in About Us widget */
.tft-about-us-shape img {
	content: url('/wp-content/themes/abruzzoincoming/assets/img/plane-shape.png');
}

/* Fix hardcoded orange in heading h2::after across all widgets */
.tft-heading-content h2.tft-title-shape::after,
.tft-latest-posts-design__three .tft-heading-content h2::after,
.tft-popular-hotels-design__two .tft-heading-content h2::after,
.tft-icon-text-design__two .tft-heading-content h2::after,
.tft-team-design__two .tft-heading-content h2::after {
	background: #3CBCD933 !important;
}

/* Fix Latest News Design 3 - button background color (must match plugin selector specificity) */
.tft-latest-posts-design__three .tft-blog-gird-section .tft-post-single-item .tft-content-details .tft-read-more a {
	background: #f2f2f2 !important;
	color: var(--tf-text-paragraph) !important; 
}
.tft-latest-posts-design__three .tft-blog-gird-section .tft-post-single-item .tft-content-details .tft-read-more a:hover {
	background: var(--tf-brand-dark) !important;
	color: var(--tf-color-white) !important;
}

/* Flatpickr calendar - fix Italian day/month names */
.flatpickr-months .flatpickr-month {
	overflow: visible;
	height: 38px;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
	height: 38px;
}
.flatpickr-current-month {
	font-size: 110%;
	height: 38px;
	padding-top: 7px;
}
/* Single-month calendar */
.flatpickr-calendar:not(.multiMonth) {
	width: 340px !important;
}
.flatpickr-calendar:not(.multiMonth) .flatpickr-days,
.flatpickr-calendar:not(.multiMonth) .dayContainer {
	width: 340px !important;
	min-width: 340px !important;
	max-width: 340px !important;
}
/* Multi-month (range) calendar */
.flatpickr-calendar.multiMonth {
	width: auto !important;
}
.flatpickr-calendar.multiMonth .dayContainer {
	width: 280px !important;
	min-width: 280px !important;
	max-width: 280px !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days {
	width: auto !important;
}
.flatpickr-calendar.multiMonth span.flatpickr-weekday {
	font-size: 10px;
}
.flatpickr-calendar.multiMonth .flatpickr-current-month {
	font-size: 100%;
}

/* Search form  */
.tf-booking-form-fields > div {
	align-items: flex-start !important;
}
.tf-booking-form-fields span {
	line-height: 1rem;
}
.tf-archive-booking-form__style-2.tf-archive-search-form .tf-booking-form .tf-booking-form-fields .tf-booking-form-guest-and-room .tf-booking-form-guest-and-room-inner .tf-arrow-icons {
	bottom: -7px;
}
.tf-booking-form-guest-and-room-inner {
	display: flex !important;
    flex-direction: column !important;
	align-items: flex-start !important;
}
.tf-booking-guest-and-room-wrap.tf-archive-guest-info {
	margin-top: 0 !important;
	line-height: 1rem;
}
.tf-booking-form-title {
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 600 !important;
}
.tf-booking-date {
	font-size: 22px !important;
}
.tf-booking-month,
.tf-booking-month span {
	font-size: 14px !important;
}
.tf-archive-guest-info,
.tf-booking-guest-and-room-wrap {
	font-size: 14px !important;
	white-space: nowrap;
}
.tf-archive-guest-info .tf-guest,
.tf-archive-guest-info .tf-room,
.tf-booking-guest-and-room-wrap .tf-guest,
.tf-booking-guest-and-room-wrap .tf-room {
	font-size: 22px !important;
}
.tf-search-input,
.tf-search-input::placeholder {
	font-size: 14px !important;
}
.tf-booking-form .acr-label {
	font-size: 14px;
}

/* Booking summary popup - spacing fix */
.tf-booking-summery h6 {
	margin-bottom: 4px;
}
.tf-booking-traveller-info table {
	border-collapse: collapse;
}
.tf-booking-traveller-info td,
.tf-booking-traveller-info th {
	padding: 6px 0;
}

/* WooCommerce cart/checkout buttons - match site brand style */
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wp-element-button {
	background-color: var(--tf-brand-lite, #8a9b37) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 30px !important;
	padding: 14px 32px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-transform: none;
	transition: background-color 0.3s ease;
}
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wp-element-button:hover {
	background-color: var(--tf-brand-dark, #0a535b) !important;
}

.upcomming-tours {
	margin-top: 50px;
}
.wc-block-components-express-payment__event-buttons {
	margin-left: 5px !important;
}

/* Header top bar - prevent "Accedi"/login dropping to second line on tablet (768-991px) */
.tft-header-design__three__topbar {
	flex-wrap: nowrap;
}
.tft-header-design__three__topbar-list {
	flex-wrap: nowrap;
}
.tft-header-design__three__topbar-list-item,
.tft-header-design__three__topbar-list-link {
	flex-wrap: nowrap;
	white-space: nowrap;
}

/* Primary menu - keep on one line on desktop (longer IT labels wrapped the
   language switcher to a second line). Tighter gap + slightly smaller font so
   it fits without overflowing into the icons/button. Below 992px the mobile
   menu takes over, so this is desktop-only. */
@media (min-width: 992px) {
	.tft-header-design__three__bottom__nav--list {
		flex-wrap: nowrap;
		gap: 12px;
	}
	.tft-header-design__three__bottom__nav--list > li > a {
		font-size: 15px;
		white-space: nowrap;
	}
}

/* Mobile sidenav (hamburger) — show all sections on every tablet/phone width.
   The hamburger appears at <=1199px, but the sidenav's middle (login,
   Contattaci, search, cart) and bottom (location/email/phone) sections only
   displayed at <=767px. On 768-1199px (iPad Air/Pro) the open menu was missing
   those controls and the header right column is also hidden there, leaving them
   unreachable. Reveal them whenever the sidenav is the active navigation. */
@media (max-width: 1199.98px) {
	.mobile-sidenav__middle,
	.mobile-sidenav__bottom {
		display: block;
	}
}

/* Sidenav contact list (location/email/phone) — stack in a column with smaller,
   wrapping text so long values (address) don't overflow the sidenav width. */
.mobile-sidenav__bottom .tft-header-design__three__topbar-list {
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.mobile-sidenav__bottom .tft-header-design__three__topbar-list-link {
	font-size: 0.8125rem;
	line-height: 1.3;
	white-space: normal;
	word-break: break-word;
}
