/*
Theme Name: Travity Basic Theme
Author: Travity Vision UG
Description: Flexibles Theme für Reisebüros mit klassischem Customizer, responsiver Navigation, individuellen Farben, Sidebars und optionalem Hero oder Beitrags-Slider.
Version: 1.0.12
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: travity-basic
*/
:root{--brand:#167481;--ink:#21343a;--bg:#fff;--muted:#f0f5f5;--font:system-ui,sans-serif;--size:17px;--heading:40px;--width:1200px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:var(--size)/1.65 var(--font)}a{color:var(--brand);text-underline-offset:.18em}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,.button,input[type=submit]{background:var(--brand);color:#fff;border:0;padding:.65em 1em;cursor:pointer;border-radius:4px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:white;padding:1rem;z-index:100}.wrap{width:min(calc(100% - 40px),var(--width));margin:auto}.site-header{border-bottom:1px solid #dfe8e8;background:var(--bg)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:100px}.brand{font-size:1.4rem;font-weight:750;text-decoration:none;color:var(--ink)}.custom-logo{max-width:240px;max-height:85px;width:auto;display:block}.menu{list-style:none;padding:0;margin:0;display:flex;gap:1.4rem;align-items:center}.menu li{position:relative}.menu a{text-decoration:none;color:var(--ink);display:block;padding:.5rem 0}.menu .sub-menu{list-style:none;padding:.6rem 1rem;margin:0;min-width:210px;background:var(--bg);box-shadow:0 8px 25px #0002}.primary-menu .sub-menu{position:absolute;left:0;top:100%;z-index:20;display:none}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}.primary-menu .sub-menu .sub-menu{position:static;box-shadow:none}.menu-toggle{display:none}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;padding-block:3rem}.layout.has-sidebar{grid-template-columns:minmax(0,1fr) 290px}.layout.full-width{width:100%;max-width:none;padding-inline:0}.layout.full-width .entry-content> :not(.alignfull):not(.alignwide){max-width:var(--width);margin-left:auto;margin-right:auto}.layout.full-width .entry-header{width:min(calc(100% - 40px),var(--width));margin:auto}.entry-content:after{content:'';display:table;clear:both}h1{font-size:clamp(1.9rem,4vw,var(--heading));line-height:1.17}h2{font-size:1.65em;line-height:1.25}h3{font-size:1.3em;line-height:1.3}.entry-title a{color:inherit;text-decoration:none}.entry-meta{font-size:.9em;opacity:.75}.post-card{margin-bottom:3rem}.post-card>img{width:100%;max-height:440px;object-fit:cover}.sidebar{background:var(--muted);padding:1.5rem;align-self:start}.widget{margin-bottom:1.8rem;overflow-wrap:anywhere}.widget-title{font-size:1.1em}.site-footer{background:var(--muted);padding-block:2.5rem}.footer-widgets{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:2rem}.footer-bottom{border-top:1px solid #0002;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.hero,.slide{position:relative;background:var(--ink);color:#fff;min-height:420px;display:flex;align-items:end;isolation:isolate}.hero img,.slide img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2}.hero:after,.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#071c24dc);z-index:-1}.hero-copy{padding-block:3rem}.hero h1,.slide h2{margin:0;max-width:900px}.slide a{color:white}.slide[hidden]{display:none}.slider-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:var(--muted)}.alignwide{max-width:var(--width)}.alignfull{width:100%;max-width:none}.wp-caption{max-width:100%}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{display:block;margin-inline:auto}.gallery{display:flex;flex-wrap:wrap;gap:1rem}.gallery-item{max-width:100%;margin:0}.sticky{border-left:4px solid var(--brand);padding-left:1rem}.bypostauthor{border-left:2px solid var(--brand)}.comment-list{padding-left:1.5rem}.comment-form textarea{width:100%}.comment-form input:not([type=checkbox]):not([type=submit]){max-width:100%}.pagination{margin-block:2rem}.page-numbers{padding:.4rem}.wp-block-image img{height:auto}@media(max-width:800px){.header-inner{min-height:80px;flex-wrap:wrap;padding-block:1rem;gap:1rem}.menu-toggle{display:block}.primary-menu{width:100%}.primary-menu:not(.is-open){display:none}.primary-menu .menu{display:block}.primary-menu .sub-menu{display:block;position:static;box-shadow:none;padding-block:0}.layout.has-sidebar{grid-template-columns:1fr}.footer-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}.hero,.slide{min-height:330px}.custom-logo{max-width:190px}.footer-bottom .menu{flex-wrap:wrap}}@media(max-width:480px){.footer-widgets{grid-template-columns:1fr}.wrap{width:calc(100% - 32px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* A full-width block may leave the text column, without using viewport
   units that include the browser scrollbar. Nested blocks stay contained. */
.layout:not(.has-sidebar){width:100%;container-type:inline-size}
.layout:not(.has-sidebar) .entry-header,
.layout:not(.has-sidebar) .entry-content{
 width:min(calc(100% - 40px),var(--width));margin-inline:auto;
}
.layout.full-width:not(.has-sidebar) .entry-content{width:100%}
.layout:not(.has-sidebar) .entry-content > .alignfull{
 width:100cqw;max-width:none;margin-inline:calc(50% - 50cqw);
}
.layout:not(.has-sidebar) .entry-content > .alignwide{
 width:min(calc(100cqw - 40px),calc(var(--width) + 240px));
 max-width:none;
 margin-inline:calc((100% - min(calc(100cqw - 40px),calc(var(--width) + 240px))) / 2);
}
@media(max-width:480px){
 .layout:not(.has-sidebar) .entry-header,
 .layout:not(.has-sidebar):not(.full-width) .entry-content{width:calc(100% - 32px)}
}

@media(max-width:480px){
 .layout:not(.has-sidebar) .entry-content > .alignwide{
 width:calc(100cqw - 32px);
 margin-inline:calc((100% - (100cqw - 32px)) / 2);
 }
}

.layout.full-width:not(.has-sidebar) .entry-content > :not(.alignfull):not(.alignwide){width:min(calc(100% - 40px),var(--width))}
@media(max-width:480px){.layout.full-width:not(.has-sidebar) .entry-content > :not(.alignfull):not(.alignwide){width:calc(100% - 32px)}}

/* Section colors inherit the original palette until explicitly configured. */
:root{--header-bg:var(--bg);--header-text:var(--ink);--nav-bg:var(--header-bg);--nav-text:var(--ink);--nav-hover:var(--brand);--nav-active:var(--brand);--submenu-bg:var(--nav-bg);--submenu-text:var(--nav-text);--submenu-hover:var(--nav-hover);--submenu-active:var(--nav-active);--toggle-bg:var(--brand);--toggle-text:#ffffff;--footer-bg:var(--muted);--footer-text:var(--ink);--footer-heading:var(--footer-text);--footer-link:var(--brand);--footer-hover:var(--footer-link);--sidebar-bg:var(--muted);--sidebar-text:var(--ink);--sidebar-heading:var(--sidebar-text);--sidebar-link:var(--brand);--sidebar-hover:var(--sidebar-link);--content-heading:var(--ink);--content-link:var(--brand);--content-hover:var(--content-link);--button-bg:var(--brand);--button-text:#ffffff;--button-hover-bg:var(--button-bg);--button-hover-text:var(--button-text);}

.site-header{background:var(--header-bg)}
.site-header .brand{color:var(--header-text)}
.primary-menu{background:var(--nav-bg)}
.primary-menu a{color:var(--nav-text)}
.primary-menu .current-menu-item > a,.primary-menu .current-menu-ancestor > a{color:var(--nav-active)}
.primary-menu a:hover,.primary-menu a:focus-visible{color:var(--nav-hover)}
.primary-menu .sub-menu{background:var(--submenu-bg)}
.primary-menu .sub-menu a{color:var(--submenu-text)}
.primary-menu .sub-menu .current-menu-item > a,.primary-menu .sub-menu .current-menu-ancestor > a{color:var(--submenu-active)}
.primary-menu .sub-menu a:hover,.primary-menu .sub-menu a:focus-visible{color:var(--submenu-hover)}
.layout :is(h1,h2,h3,h4,h5,h6):not(.has-text-color){color:var(--content-heading)}
.layout a:not(.has-text-color){color:var(--content-link)}
.layout .entry-title a{color:inherit}
.layout a:not(.has-text-color):hover,.layout a:not(.has-text-color):focus-visible{color:var(--content-hover)}
button,.button,input[type=submit]{background:var(--button-bg);color:var(--button-text)}
button:hover,button:focus-visible,.button:hover,.button:focus-visible,input[type=submit]:hover,input[type=submit]:focus-visible{background:var(--button-hover-bg);color:var(--button-hover-text)}
.site-header .menu-toggle,.site-header .menu-toggle:hover,.site-header .menu-toggle:focus-visible{background:var(--toggle-bg);color:var(--toggle-text)}
.site-footer{background:var(--footer-bg);color:var(--footer-text)}
.site-footer :is(h1,h2,h3,h4,h5,h6):not(.has-text-color){color:var(--footer-heading)}
.site-footer a:not(.has-text-color){color:var(--footer-link)}
.site-footer a:not(.has-text-color):hover,.site-footer a:not(.has-text-color):focus-visible{color:var(--footer-hover)}
.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text)}
.sidebar :is(h1,h2,h3,h4,h5,h6):not(.has-text-color){color:var(--sidebar-heading)}
.sidebar a:not(.has-text-color){color:var(--sidebar-link)}
.sidebar a:not(.has-text-color):hover,.sidebar a:not(.has-text-color):focus-visible{color:var(--sidebar-hover)}

/* Cover blocks keep their own inherited foreground color. */
.layout .wp-block-cover :is(h1,h2,h3,h4,h5,h6):not(.has-text-color){color:inherit}

/* Video playback is user initiated; controls remain outside the title area. */
.travity-video-header{background:var(--ink);color:#fff}
.travity-video-header h1{margin:0;line-height:1.2}
.travity-video-header .hero-copy{padding-block:2rem}
.travity-video-header video{display:block;width:100%;max-height:70vh;object-fit:contain;background:#000}

/* Title-only header reuses the configurable header background and text colors. */
.travity-title-header{background:var(--header-bg);color:var(--header-text)}
.travity-title-header .hero-copy{padding-block:2.5rem}
.travity-title-header h1{margin:0;line-height:1.2;overflow-wrap:anywhere}

/* Shared alignment for listing headings, error pages, search and navigation. */
.layout:not(.has-sidebar) main > :is(.page-header,.page-message,.no-results,.navigation,.comments-area){
 width:min(calc(100% - 40px),var(--width));margin-inline:auto;
}
.page-header h1,.page-message h1{overflow-wrap:anywhere}
.page-message input[type=search],.no-results input[type=search]{max-width:100%}
@media(max-width:480px){
 .layout:not(.has-sidebar) main > :is(.page-header,.page-message,.no-results,.navigation,.comments-area){width:calc(100% - 32px)}
}
/* Footer at the viewport bottom for short pages, after content for long pages. */
body{--travity-adminbar-height:0px;display:flex;flex-direction:column;min-height:calc(100vh - var(--travity-adminbar-height));min-height:calc(100svh - var(--travity-adminbar-height))}
body.admin-bar{--travity-adminbar-height:32px}
body > .layout{flex:1 0 auto}
body > :is(.site-header,.site-footer,.hero,.travity-title-header,.travity-video-header,.travity-slider){flex-shrink:0}
@media(max-width:782px){body.admin-bar{--travity-adminbar-height:46px}}

/* Remaining post elements share the text column, including on full-width pages. */
.comments-area{margin-block:2.5rem;overflow-wrap:anywhere;min-width:0}
.comments-area .comment-form textarea{display:block;max-width:100%;width:100%}
.comments-area .children{padding-left:1rem}
.post-card > .post-thumbnail{display:block}
.post-card > .post-thumbnail img{display:block;max-height:440px;width:100%;object-fit:cover}
.layout:not(.has-sidebar) .post-card > .post-thumbnail{width:min(calc(100% - 40px),var(--width));margin-inline:auto}
@media(max-width:480px){.layout:not(.has-sidebar) .post-card > .post-thumbnail{width:calc(100% - 32px)}}

/* A single bounded wrapper contains every archive image, heading and excerpt. */
.travity-listing{display:grid;gap:2.5rem;min-width:0}
.layout:not(.has-sidebar) main > :is(.travity-listing,.listing-toolbar){width:min(calc(100% - 40px),var(--width));margin-inline:auto}
.layout .travity-listing .post-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "image" "content";align-content:start;gap:1rem;margin:0;min-width:0;overflow-wrap:anywhere}
.layout .travity-listing .entry-header{grid-area:heading}
.layout .travity-listing .post-thumbnail{grid-area:image;align-self:start}
.layout .travity-listing .entry-content{grid-area:content}
.layout .travity-listing .post-card > :is(.entry-header,.entry-content,.post-thumbnail){width:100%;max-width:none;margin:0;min-width:0}
.layout .travity-listing .entry-content > :not(.alignfull):not(.alignwide){width:100%;max-width:none;margin-inline:0}
.travity-listing .entry-title{margin:0;font-size:1.55em}
.travity-listing .entry-meta{margin:.5rem 0 0}
.travity-listing .entry-content p:first-child{margin-top:0}
.layout .travity-listing .post-thumbnail img{display:block;width:100%;height:auto;max-height:none;object-fit:cover}
.layout .travity-ratio--wide .post-thumbnail img{aspect-ratio:16/9}
.layout .travity-ratio--landscape .post-thumbnail img{aspect-ratio:4/3}
.layout .travity-ratio--square .post-thumbnail img{aspect-ratio:1}
.layout .travity-ratio--natural .post-thumbnail img{aspect-ratio:auto;height:auto}
.layout .travity-listing--left .travity-card--has-image{grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-areas:"image heading" "image content";column-gap:1.5rem;row-gap:.75rem;align-content:start}
.layout .travity-listing--right .travity-card--has-image{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-areas:"heading image" "content image";column-gap:1.5rem;row-gap:.75rem;align-content:start}
.travity-listing--grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.travity-listing--grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.layout :is(.travity-listing--grid2,.travity-listing--grid3) .post-card{grid-template-areas:"image" "heading" "content";padding:1.25rem;border:1px solid #dfe8e8;border-radius:6px}
.travity-listing--grid3 .entry-title{font-size:1.25em}
.listing-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.listing-toolbar[hidden]{display:none}
.listing-toolbar button[aria-pressed="false"]{background:var(--muted);color:var(--ink)}
.listing-toolbar button[aria-pressed="true"]{text-decoration:underline;text-underline-offset:.2em}
@media(min-width:801px){.has-sidebar .travity-listing--grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.travity-listing--grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .travity-listing--grid2,.travity-listing--grid3{grid-template-columns:minmax(0,1fr)}
 .layout :is(.travity-listing--left,.travity-listing--right) .travity-card--has-image{grid-template-columns:minmax(0,1fr);grid-template-areas:"image" "heading" "content"}
}
@media(max-width:480px){.layout:not(.has-sidebar) main > :is(.travity-listing,.listing-toolbar){width:calc(100% - 32px)}}

.layout .travity-listing .post-card:not(.travity-card--has-image){grid-template-areas:"heading" "content";grid-template-columns:minmax(0,1fr)}

.layout .travity-listing .entry-content a.travity-read-more--button:not(.has-text-color){display:inline-block;width:auto;padding:.65em 1em;border-radius:4px;background:var(--button-bg);color:var(--button-text);text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.layout .travity-listing .entry-content a.travity-read-more--button:not(.has-text-color):hover,
.layout .travity-listing .entry-content a.travity-read-more--button:not(.has-text-color):focus-visible{background:var(--button-hover-bg);color:var(--button-hover-text)}

/* Equal reserved excerpt space; mask is enabled only on overflowing text. */
.travity-excerpt p{margin:0}
.travity-excerpt p + p{margin-top:.4em}
.travity-excerpt--limited{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--excerpt-lines);line-clamp:var(--excerpt-lines);overflow:hidden;line-height:1.65;min-height:calc(1.65em * var(--excerpt-lines));max-height:calc(1.65em * var(--excerpt-lines))}
.travity-excerpt--fade.is-truncated{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 1.5em),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 1.5em),transparent 100%)}
.layout :is(.travity-listing--grid2,.travity-listing--grid3) .travity-card--has-image{grid-template-rows:auto auto 1fr}
.layout :is(.travity-listing--grid2,.travity-listing--grid3) .post-card:not(.travity-card--has-image){grid-template-rows:auto 1fr}
.layout :is(.travity-listing--grid2,.travity-listing--grid3) .entry-content{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.layout :is(.travity-listing--grid2,.travity-listing--grid3) .entry-content > .travity-read-more{margin-top:auto}
