/*
Theme Name: Tvian-Tur
Description: Native block theme for a multilingual travel consultancy.
Version: 0.3.0
Requires at least: 6.7
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: tvian-tur
*/

html { scroll-behavior: smooth; }
body { text-wrap: pretty; }
a { text-underline-offset: 0.18em; }
.wp-site-blocks { overflow: hidden; }
.tvian-eyebrow { letter-spacing: .14em; text-transform: uppercase; }
.tvian-card { transition: transform .25s ease, box-shadow .25s ease; }
.tvian-card:hover { transform: translateY(-4px); box-shadow: 0 18px 50px rgb(17 55 49 / 12%); }
.tvian-enquiry-form { max-width: 680px; margin-inline: auto; }
.tvian-enquiry-form input:not([type="checkbox"]), .tvian-enquiry-form textarea { box-sizing: border-box; width: 100%; margin-top: .35rem; padding: .8rem; border: 1px solid #9e927c; border-radius: .25rem; background: #fff; font: inherit; }
.tvian-enquiry-form select { box-sizing: border-box; width: 100%; min-height: 48px; margin-top: .35rem; padding: .7rem; border: 1px solid #9e927c; background: #fff; font: inherit; }
.tvian-enquiry-form fieldset { margin: 2rem 0; padding: 1.25rem; border: 1px solid #b9a886; }
.tvian-enquiry-form legend { padding-inline: .5rem; font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; }
.tvian-form-row { display: grid; grid-template-columns: 1fr 2fr; gap: 1rem; }
.tvian-enquiry-form button { border: 0; border-radius: 999px; padding: .9rem 1.5rem; background: #d96a4a; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.tvian-enquiry-form :focus-visible { outline: 3px solid #123d37; outline-offset: 3px; }
.tvian-form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.tvian-primary-nav { display: flex; align-items: center; gap: 1.25rem; font-size: .9rem; }
.tvian-primary-nav ul { display: flex; align-items: center; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.tvian-primary-nav a { text-decoration: none; }
.tvian-primary-nav a:hover { text-decoration: underline; }
.tvian-nav-cta a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 1rem; border-radius: 999px; background: #d96a4a; color: #fff; font-weight: 600; }
.tvian-language-switcher { padding-left: 1rem !important; border-left: 1px solid #c8bda8; }
.tvian-language-switcher .is-current { font-weight: 700; text-decoration: underline; text-underline-offset: .25em; }
.tvian-home-hero .wp-block-cover__inner-container { max-width: 1240px; margin-inline: auto; padding: clamp(1.25rem, 5vw, 5rem); }
.tvian-home-hero .wp-block-group { max-width: 680px; margin-left: 0; }
.tvian-home-hero h1 { max-width: 9ch; text-shadow: 0 2px 28px rgb(0 0 0 / 28%); }
.tvian-home-hero p.has-large-font-size { max-width: 620px; }
.tvian-destinations > h2, .tvian-process > h2 { margin-bottom: 3rem; font-size: clamp(2.2rem, 5vw, 4rem); }
.tvian-destination-image { margin-bottom: 1.2rem; overflow: hidden; }
.tvian-destination-image img { display: block; width: 100%; transition: transform .5s ease; }
.tvian-destination-image a:hover img { transform: scale(1.025); }
.tvian-process { padding: 6rem max(1rem, calc((100vw - 1180px) / 2)); }
.tvian-step-number { color: #d96a4a; font-size: .8rem; font-weight: 700; letter-spacing: .16em; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .tvian-card { transition: none; } }
@media (max-width: 900px) { .tvian-primary-nav { width: 100%; align-items: flex-start; flex-direction: column; } .tvian-primary-nav ul { flex-wrap: wrap; } .tvian-form-row { grid-template-columns: 1fr; } .tvian-home-hero { min-height: 680px !important; } .tvian-destinations { padding-inline: 1rem; } }
