/*
Theme Name: Voyana - Travel Agency WordPress Theme
Theme URI: https://woo.codecron.eu/
Author: CodeCron
Author URI: https://woo.codecron.eu/
Description: A fast, accessible and WooCommerce-ready classic theme for tour operators, travel agencies and adventure brands.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: voyana
Tags: travel, tour-operator, tourism, woocommerce, accessibility-ready
*/

:root { --voyana-ink:#102a43; --voyana-ocean:#007c91; --voyana-sand:#f7f2e8; --voyana-sun:#ffb703; --voyana-muted:#52677a; --voyana-line:#dce7ed; }
* { box-sizing:border-box; }
body { margin:0; color:var(--voyana-ink); background:#fff; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
a { color:inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid var(--voyana-sun); outline-offset:3px; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.screen-reader-text:focus { clip:auto!important; clip-path:none; display:block; height:auto; left:1rem; padding:.75rem 1rem; position:fixed; top:1rem; width:auto; z-index:99999; background:#fff; outline:3px solid var(--voyana-sun); }
.site-header { border-bottom:1px solid #e6edf1; background:#fff; }
.header-inner,.site-footer__inner { width:min(1180px,calc(100% - 2rem)); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.15rem 0; }
.site-branding a { text-decoration:none; font-size:1.45rem; font-weight:800; }.site-branding span{color:var(--voyana-ocean)}
.primary-menu { display:flex; flex-wrap:wrap; gap:1.25rem; list-style:none; margin:0; padding:0; }.primary-menu a{text-decoration:none;font-weight:650}.primary-menu a:hover{color:var(--voyana-ocean)}
.menu-toggle{display:none;border:1px solid var(--voyana-ink);border-radius:8px;background:#fff;padding:.5rem .75rem;font:inherit;font-weight:750}
.hero { min-height:620px; display:grid; place-items:center; text-align:center; color:#fff; padding:6rem 1rem; background:linear-gradient(100deg,rgba(5,32,51,.88),rgba(5,48,65,.46)),url('assets/images/hero-algarve.jpg') center/cover,#007c91; }
.hero__inner { max-width:850px; }.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800}.hero h1{font-size:clamp(2.9rem,7vw,6rem);line-height:.98;margin:.65rem 0 1.25rem}.hero p{font-size:1.2rem;max-width:650px;margin:0 auto 2rem}
.button,.wp-block-button__link{display:inline-block;border:0;border-radius:99px;background:var(--voyana-sun);color:#102a43!important;padding:.85rem 1.35rem;text-decoration:none;font-weight:800;box-shadow:none}.button:hover,.wp-block-button__link:hover{background:#ffd166}
.section{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:5.5rem 0}.section--tint{width:100%;background:var(--voyana-sand)}.section--tint>.section{padding:5.5rem 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;margin:.25rem 0}.section-head p{max-width:470px;margin:0;color:var(--voyana-muted)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.tour-card{border:1px solid var(--voyana-line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 8px 24px #102a430a;transition:transform .2s ease,box-shadow .2s ease}.tour-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #102a4320}.tour-card__visual{display:block;height:230px;position:relative;overflow:hidden;background:#007c91}.tour-card__visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.tour-card:hover .tour-card__visual img{transform:scale(1.05)}.tour-card__badge{position:absolute;top:1rem;left:1rem;padding:.35rem .65rem;border-radius:99px;background:#fff;color:var(--voyana-ink);font-weight:750;font-size:.82rem}.tour-card__body{padding:1.35rem}.tour-card h2,.tour-card h3{margin:.1rem 0 .45rem;font-size:1.3rem;line-height:1.2}.tour-card p{margin:0;color:var(--voyana-muted)}.tour-card__meta{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #e6edf1;margin-top:1rem;padding-top:1rem;font-weight:750}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature{padding:1.5rem 0}.feature__number{font-size:2.4rem;font-weight:850;color:var(--voyana-ocean);line-height:1}.feature h3{margin:.8rem 0 .4rem}.feature p{margin:0;color:var(--voyana-muted)}.cta{background:var(--voyana-ink);color:#fff;text-align:center;border-radius:8px;padding:4rem 1.5rem}.cta h2{max-width:650px;margin:.5rem auto 1.25rem}.site-footer{background:#081d2c;color:#d7e3eb}.site-footer p{margin:0;font-size:.9rem}.site-footer a{color:#fff}
.content-area{width:min(900px,calc(100% - 2rem));margin:4rem auto}.content-area--wide{width:min(1180px,calc(100% - 2rem))}.entry-title{font-size:clamp(2.3rem,5vw,4rem);line-height:1.1}.entry-title a{text-decoration:none}.entry-content img{height:auto;max-width:100%}.alignwide{max-width:1180px;margin-left:auto;margin-right:auto}.wp-block-button__link{font-size:1rem}.wp-block-quote{border-left:4px solid var(--voyana-sun);padding-left:1rem;margin-left:0}.site-footer__inner{border-top:1px solid #264052}.post-summary{border-bottom:1px solid var(--voyana-line);padding:0 0 2rem;margin:0 0 2rem}
.archive-header{max-width:760px;margin-bottom:2rem}.archive-header p{color:var(--voyana-muted)}.tour-card h2 a,.tour-card h3 a,.tour-card__visual,.tour-card__meta a{text-decoration:none}
.tour-hero{position:relative;isolation:isolate;min-height:560px;display:flex;align-items:end;padding:4.5rem max(1rem,calc((100% - 1180px)/2));color:#fff;background:var(--tour-image) center/cover,#007c91}.tour-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,25,39,.88),rgba(5,25,39,.42) 60%,rgba(5,25,39,.16))}.tour-hero__inner{max-width:780px}.tour-hero__eyebrow,.tour-booking__label{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:850}.tour-hero__title{max-width:760px;margin:.55rem 0 1.1rem;font-size:clamp(3rem,7vw,6.2rem);line-height:.96;letter-spacing:-.035em}.tour-hero__facts{display:flex;flex-wrap:wrap;gap:.65rem}.tour-hero__facts span{border:1px solid #ffffff70;border-radius:99px;background:#ffffff1f;padding:.45rem .8rem;font-size:.9rem;font-weight:750;backdrop-filter:blur(4px)}.tour-detail__body{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:5.5rem 0;display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:clamp(2rem,7vw,7rem)}.tour-detail__content{max-width:700px}.tour-detail__intro{margin:0 0 2rem;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.55;color:#30495c}.tour-detail__content .entry-content{font-size:1.05rem}.tour-detail__content .entry-content h2{margin:2.6rem 0 .75rem;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.1}.tour-detail__included{margin-top:3rem;padding-top:2.25rem;border-top:1px solid var(--voyana-line)}.tour-detail__included h2{margin:.4rem 0}.tour-detail__included p:last-child{color:var(--voyana-muted)}.tour-booking{position:sticky;top:1.5rem;border:1px solid var(--voyana-line);border-radius:8px;padding:1.7rem;background:#fff;box-shadow:0 16px 42px #102a4312}.tour-booking__label{color:var(--voyana-muted)}.tour-booking__price{margin:.35rem 0 .2rem;color:var(--voyana-ink);font-size:2.25rem;font-weight:850;line-height:1.05}.tour-booking__duration{margin:0 0 1.4rem;color:var(--voyana-muted)}.tour-booking__button{width:100%;text-align:center}.tour-booking__note{margin:1rem 0 0;text-align:center;font-size:.85rem;color:var(--voyana-muted)}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{border:1px solid var(--voyana-line);border-radius:8px;padding:1rem}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:99px;background:var(--voyana-sun);color:#102a43}
@media(max-width:920px){.card-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:560px}.hero h1{font-size:clamp(2.6rem,9vw,4.6rem)}.tour-detail__body{grid-template-columns:1fr;gap:2rem}.tour-detail__content{max-width:760px}.tour-booking{position:relative;top:auto;max-width:560px}}
@media(max-width:720px){.header-inner{flex-wrap:wrap}.menu-toggle{display:block}.primary-navigation{width:100%}.primary-menu{display:none;flex-direction:column;padding-top:1rem}.primary-menu.is-open{display:flex}.card-grid,.feature-grid{grid-template-columns:1fr}.section,.section--tint>.section{padding:4rem 0}.section-head{display:block}.section-head p{margin-top:1rem}.hero{min-height:520px;padding:4rem 1rem}.hero p{font-size:1.05rem}.tour-card__visual{height:250px}.site-footer__inner{display:block}.site-footer__inner p+ p{margin-top:.75rem}.tour-hero{min-height:470px;padding:3rem 1rem}.tour-hero__title{font-size:clamp(2.7rem,14vw,4.2rem)}.tour-detail__body{padding:3.5rem 0}.tour-booking{padding:1.4rem}}
