/*
Theme Name:   Wycieczki Bournemouth (Kadence)
Description:  Child theme of Kadence for wycieczkibournemouth.co.uk. Holds the site's small custom styles; all layout and colours are set in Appearance → Customize.
Template:     kadence
Version:      1.2.2
Text Domain:  wycieczki-kadence
License:      GNU General Public License v2 or later
*/

/* ---------- Shared ---------- */
.wb-kicker {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--global-palette2);
	margin-bottom: 0.4rem;
}
.wb-section {
	padding-top: clamp(3rem, 7vw, 5.5rem);
	padding-bottom: clamp(3rem, 7vw, 5.5rem);
}
/* Kadence has no theme.json content width, so centre full-width section content here */
.wb-section > *,
.wb-hero .wp-block-cover__inner-container {
	max-width: var(--global-content-width, 1290px);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--global-content-edge-padding, 1.5rem);
	padding-right: var(--global-content-edge-padding, 1.5rem);
	box-sizing: border-box;
}
.wb-section--tint { background: var(--global-palette7); }
.wb-section-title { margin-top: 0; margin-bottom: 2rem; }
.wb-section > .wb-kicker,
.wb-section > .wb-section-title { text-align: center; }

/* ---------- Hero ---------- */
.wb-hero { text-align: center; }
.wb-hero h1 { color: #fff; max-width: 18ch; margin: 0 auto 1rem; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
.wb-hero .wb-kicker { color: #fff; opacity: .9; }
.wb-hero .wb-lead { font-size: 1.2rem; max-width: 40ch; margin: 0 auto 1.8rem; color: #fff; }
.wb-hero .wp-block-buttons { justify-content: center; }

/* ---------- Features ---------- */
.wb-features h3 { font-size: 1.15rem; margin-bottom: .4rem; }
.wb-features h3::before {
	content: "";
	display: block;
	width: 36px;
	height: 3px;
	background: var(--global-palette1);
	margin-bottom: .9rem;
}
.wb-features p { margin: 0; font-size: .97rem; }

/* ---------- About / portrait ---------- */
.wb-portrait img { aspect-ratio: 1 / 1; object-fit: cover; }
.wb-cta { background: var(--global-palette8); }
.wb-cta p { max-width: 52ch; margin-left: auto; margin-right: auto; }
.wb-contact-logo img { max-width: 320px; margin: 0 auto; display: block; }

/* ---------- Outline buttons on light backgrounds ---------- */
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid var(--global-palette1);
	color: var(--global-palette3);
	background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--global-palette1); }

/* ---------- Tour cards (WooCommerce product grid) ---------- */
.woocommerce ul.products li.product .woocommerce-loop-image-link img,
.woocommerce ul.products li.product a img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.15rem; }
.woocommerce ul.products li.product .price { color: var(--global-palette5); }

/* ---------- Tour page ---------- */
.single-product div.product .woocommerce-product-gallery img { border-radius: 12px; }
.wb-facts { list-style: none; margin: 1.2rem 0; padding: 1rem 1.2rem; background: var(--global-palette8); border-left: 3px solid var(--global-palette1); border-radius: 0 8px 8px 0; }
.wb-facts li { margin: .25rem 0; }
.single-product .woocommerce-variation-description p { margin: .4rem 0; color: var(--global-palette5); }

/* Booking Activities calendar: match the accent colour */
.bookacti-booking-system .fc-event,
.bookacti-booking-system .bookacti-event-selected { border-color: var(--global-palette2); }


/* Header language switcher (TranslatePress shortcode) */
.header-html .trp-language-switcher,
.mobile-html .trp-language-switcher { width: auto; }
.header-html .trp-language-switcher > div,
.mobile-html .trp-language-switcher > div { border: 0; padding: 4px 22px 4px 8px; background-color: transparent; font-size: .9rem; }
.header-html, .mobile-html { margin-left: .5rem; }

/* Hero outline button: white on the photo (placed last to win over the generic outline style) */
.wb-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; background: transparent; }
.wb-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--global-palette3); }
.header-html .trp-language-item-name,
.mobile-html .trp-language-item-name { flex-shrink: 0; overflow: visible; }

/* =====================================================================
   Building blocks used by all three design directions (designs/*.css
   sets colours, fonts and the finishing touches).
   ===================================================================== */
:root {
	--wb-radius: 14px;
	--wb-shadow: 0 10px 30px -12px rgba(20, 30, 40, .25);
	--wb-icon-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20.5l1.4-4.9A8 8 0 1 1 21 12z'/%3E%3C/svg%3E");
	--wb-icon-car: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17h14M3 17v-4l2-5a2 2 0 0 1 2-1.4h10A2 2 0 0 1 19 8l2 5v4h-2'/%3E%3Ccircle cx='7.5' cy='17' r='2'/%3E%3Ccircle cx='16.5' cy='17' r='2'/%3E%3Cpath d='M4 12h16'/%3E%3C/svg%3E");
	--wb-icon-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M16 4.6a3.5 3.5 0 0 1 0 6.8M18 14a6.5 6.5 0 0 1 3.5 6'/%3E%3C/svg%3E");
	--wb-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18M8 14h2M14 14h2M8 17.5h2'/%3E%3C/svg%3E");
	--wb-icon-clock: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
	--wb-icon-pin: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
	--wb-icon-pound: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 6.5A4 4 0 0 0 9.5 8v10M6 13h8M6 19h12'/%3E%3C/svg%3E");
}

/* Hero trust line */
.wb-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.4rem; margin-top: 1.6rem; font-size: .92rem; color: #fff; opacity: .92; }
.wb-trust span::before { content: "✓"; margin-right: .45rem; color: var(--global-palette1); font-weight: 700; }

/* Feature icons (the four benefits) */
.wb-features h3::before {
	width: 44px; height: 44px; margin-bottom: 1rem;
	background: var(--global-palette1);
	-webkit-mask: var(--wb-icon) center / contain no-repeat; mask: var(--wb-icon) center / contain no-repeat;
}
.wb-features .wp-block-column:nth-child(1) { --wb-icon: var(--wb-icon-chat); }
.wb-features .wp-block-column:nth-child(2) { --wb-icon: var(--wb-icon-car); }
.wb-features .wp-block-column:nth-child(3) { --wb-icon: var(--wb-icon-users); }
.wb-features .wp-block-column:nth-child(4) { --wb-icon: var(--wb-icon-calendar); }

/* Tour cards */
.woocommerce ul.products li.product .woocommerce-loop-image-link { position: relative; display: block; overflow: hidden; border-radius: var(--wb-radius); }
.woocommerce ul.products li.product .woocommerce-loop-image-link img { transition: transform .5s ease; border-radius: 0; margin: 0; }
.woocommerce ul.products li.product:hover .woocommerce-loop-image-link img { transform: scale(1.05); }
.wb-badge {
	position: absolute; top: 12px; left: 12px; z-index: 2;
	padding: .3rem .7rem; border-radius: 99px; font-size: .75rem; font-weight: 600; letter-spacing: .02em;
	background: rgba(255, 255, 255, .92); color: var(--global-palette3);
}
.wb-from { font-size: .85em; opacity: .75; }

/* Map */
.wb-map { max-width: 1000px; margin: 0 auto; border-radius: var(--wb-radius); overflow: hidden; box-shadow: var(--wb-shadow); }
.wb-map-svg { display: block; width: 100%; height: auto; }
.wb-map-sea { fill: var(--wb-map-sea, #cfe3e8); }
.wb-map-land { fill: var(--wb-map-land, #eef0dc); stroke: var(--wb-map-coast, #b9c79a); stroke-width: 2; }
.wb-map-note { font: 600 13px/1 var(--global-body-font-family); letter-spacing: .12em; text-transform: uppercase; fill: var(--wb-map-note, #7b8a6a); }
.wb-map-sea-label { fill: var(--wb-map-sea-note, #6f9aa5); }
.wb-pin-shape { fill: var(--global-palette1); stroke: #fff; stroke-width: 2; transition: transform .2s; }
.wb-pin-dot { fill: #fff; }
.wb-pin-label { font: 600 17px/1 var(--global-heading-font-family); fill: var(--global-palette3); paint-order: stroke; stroke: rgba(255, 255, 255, .85); stroke-width: 4px; }
.wb-pin:hover .wb-pin-shape { fill: var(--global-palette2); }
.wb-pin:hover .wb-pin-label { text-decoration: underline; }

/* Photo strip */
.wb-strip.wp-block-gallery { gap: 12px; }
.wb-strip.wp-block-gallery .wp-block-image img { border-radius: var(--wb-radius); aspect-ratio: 4 / 3; object-fit: cover; }

/* Tour page: key facts as icon chips */
.wb-facts { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; background: none; border: 0; }
.wb-facts li {
	display: inline-flex; align-items: center; gap: .45rem; margin: 0;
	padding: .45rem .85rem; border-radius: 99px; font-size: .9rem;
	background: var(--global-palette8); border: 1px solid var(--global-palette7);
}
.wb-facts li::before {
	content: ""; width: 16px; height: 16px; flex: none; background: var(--global-palette2);
	-webkit-mask: var(--wb-icon) center / contain no-repeat; mask: var(--wb-icon) center / contain no-repeat;
}
.wb-facts li:nth-child(1) { --wb-icon: var(--wb-icon-clock); }
.wb-facts li:nth-child(2) { --wb-icon: var(--wb-icon-users); }
.wb-facts li:nth-child(3) { --wb-icon: var(--wb-icon-pin); }
.wb-facts li:nth-child(4) { --wb-icon: var(--wb-icon-pound); }
.wb-facts li strong { font-weight: 600; }

/* Tour page: gallery thumbnails as a tidy grid */
.single-product .woocommerce-product-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li img { width: 100% !important; height: auto !important; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 8px; aspect-ratio: 1; object-fit: cover; }

@media (max-width: 767px) {
	.wb-pin-label { font-size: 22px; }
	.wb-trust { font-size: .85rem; }
	/* Phones: two tours per row instead of one long column */
	.wb-tours ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
	.wb-tours ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; }
	.wb-tours ul.products .product-action-wrap { display: none; }
}

/* 7 tours on a 3-column grid: first and last card are wide, so there is no lonely card at the end */
@media (min-width: 1025px) {
	.wb-tours ul.products li.product:first-child,
	.wb-tours ul.products li.product:last-child { grid-column: span 2; }
	.wb-tours ul.products li.product:first-child .woocommerce-loop-image-link img,
	.wb-tours ul.products li.product:last-child .woocommerce-loop-image-link img { aspect-ratio: 2.8 / 1; width: 100%; object-fit: cover; }
}
/* Photo strip: three in a row on desktop, two on phones */
.wb-strip.wp-block-gallery { display: grid !important; grid-template-columns: repeat(3, 1fr); }
.wb-strip.wp-block-gallery > .wp-block-image { width: auto !important; margin: 0 !important; }
@media (max-width: 767px) { .wb-strip.wp-block-gallery { grid-template-columns: repeat(2, 1fr); } }
.woocommerce ul.products li.product .woocommerce-loop-image-link img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { position: static !important; transform: none !important; margin: 10px 0 0 !important; padding: 0 !important; background: none !important; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { padding: 0 !important; background: none !important; }
@media (max-width: 767px) {
	.single-product .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(6, 1fr); gap: 5px; }
	.single-product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 5px; }
	/* "Zobacz też inne wycieczki": two per row on phones */
	.related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
	.related ul.products .product-action-wrap { display: none; }
	.related ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; }
}
