/*
Theme Name: Tourist Stay
Description: A lightweight block theme for a tourist accommodation, with editable pages and direct contact links.
Version: 0.1.6
Author: web-templates
Text Domain: tourist-stay
Domain Path: /languages
Requires at least: 6.6
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* WordPress generates the design tokens from theme.json. */
:root { --ts-primary-hover: color-mix(in srgb, var(--wp--preset--color--primary) 85%, black); }
:where(.wp-site-blocks) { overflow-wrap: anywhere; }
:where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid var(--wp--preset--color--text);
    outline-offset: 3px;
    box-shadow: 0 0 0 6px var(--wp--preset--color--surface);
}
.wp-block-site-title a { text-decoration: none; }
/* Keep the template part sticky, rather than its height-limited inner group. */
.wp-site-blocks > .ts-site-header { position: sticky; top: 0; z-index: 20; }
.admin-bar .wp-site-blocks > .ts-site-header { top: 32px; }
@media (min-width: 601px) and (max-width: 782px) {
    .admin-bar .wp-site-blocks > .ts-site-header { top: 46px; }
}
/* WordPress lets its absolute mobile toolbar scroll out of view. */
@media (max-width: 600px) {
    .admin-bar .wp-site-blocks > .ts-site-header { top: 0; }
    .ts-header { padding-block: .75rem !important; }
}
.ts-header { border-bottom: 1px solid var(--wp--preset--color--border); }
.ts-header .wp-block-site-logo img { max-width: 220px; height: auto; vertical-align: middle; }
/* Keep the native title as a fallback when the native logo is removed. */
.ts-header .wp-block-group:has(> .wp-block-site-logo img) > .wp-block-site-title { display: none; }
.ts-footer { border-top: 1px solid var(--wp--preset--color--border); }
.wp-block-navigation a { text-underline-offset: .3em; }
.wp-block-navigation__responsive-container.is-menu-open {
    background: var(--wp--preset--color--surface);
    color: var(--wp--preset--color--text);
}
.wp-block-button__link { transition: background-color .15s ease; }
.wp-block-button__link:hover {
    background: var(--wp--preset--color--primary);
    background: var(--ts-primary-hover);
}
@media (prefers-reduced-motion: reduce) {
    .wp-block-button__link { transition: none; }
}

/* Components share the same semantic roles in all four variations. */
.ts-eyebrow { font-family: var(--wp--preset--font-family--body); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ts-intro { max-width: 650px; margin-bottom: 2.5rem; }
.ts-hero .ts-hero-content { width: 100%; max-width: 1200px; margin-inline: auto !important; }
.ts-hero .ts-hero-title { max-width: 16ch; margin-left: 0 !important; }
.ts-hero .ts-hero-description { max-width: 48ch; margin-left: 0 !important; }
.ts-hero .wp-block-buttons { margin-left: 0 !important; }
.ts-hero-short .ts-hero-title { max-width: 25ch; font-size: clamp(2.5rem, 4.5vw, 3.75rem); }
.ts-secondary .wp-block-button__link:hover {
    background: var(--wp--preset--color--surface);
    background: color-mix(in srgb, var(--wp--preset--color--surface) 85%, var(--wp--preset--color--primary));
}
.ts-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.ts-card { width: 100%; border: 1px solid var(--wp--preset--color--border); border-radius: 10px; overflow: hidden; }
.ts-card-grid > .wp-block-column { display: flex; }
.ts-card .ts-photo img { border-radius: 0; }
.ts-card .ts-photo { margin: 0; }
.ts-card-facts { padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--border); }
.ts-services, .ts-card-grid, .ts-image-text { gap: clamp(1.5rem, 4vw, 3rem); }
.ts-service-number { font-family: var(--wp--preset--font-family--heading); font-size: 2rem; }
.ts-facts { padding-block: 1.5rem; border-block: 1px solid var(--wp--preset--color--border); }
.ts-fact-value { font-family: var(--wp--preset--font-family--heading); font-size: 1.75rem; line-height: 1.25; }
.ts-gallery .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.ts-section .wp-block-list { padding-left: 1.25em; }
@media (max-width: 781px) {
    .ts-hero-large { min-height: 540px !important; }
    .ts-hero-short { min-height: 280px !important; }
    .ts-facts { gap: 1.5rem; }
    .ts-facts > .wp-block-column { flex-basis: 100% !important; }
    .ts-header .wp-block-site-title { font-size: 1.4rem; }
}
/* Leave room for the longer English navigation before the native mobile menu. */
@media (min-width: 600px) and (max-width: 781px) {
    .ts-header .wp-block-site-logo img { max-width: 140px; }
}
@media (max-width: 480px) {
    .ts-gallery.wp-block-gallery { --wp--style--unstable-gallery-gap: 1rem; }
    .ts-gallery.wp-block-gallery .wp-block-image { width: 100% !important; }
    .ts-header .wp-block-site-logo img { max-width: 180px; }
}
