/* =========================================================
   PENSION GRITSCH - Design nach Vorbild austria-soelden.at
   (Gruen statt Rot), Stand Nov. 2026
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root {
--gr-green: #3a5226;
--gr-green-dark: #2b3d1c;
--gr-green-soft: #eef1ea;
--gr-text: #5d5955;
--gr-slate: #3a4141;
--gr-line: #e2e5dd;
}
html, body { overflow-x: hidden; }
body, p, li, td, input, select, textarea, .btn, #mainMenu nav > ul > li > a, #topbar {
font-family: 'Montserrat', Helvetica, Arial, sans-serif;
}
body { color: var(--gr-text); }
p, li { color: var(--gr-text); font-size: 15px; line-height: 1.8; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, #page-title .page-title > h1 {
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400;
text-transform: none;
letter-spacing: .01em;
}
section h1, section h2, section h3, section h4 { color: var(--gr-green); }
.inspiro-slider .slide .slide-captions h2, #page-title .page-title > h1 { color: #fff; }
a { color: var(--gr-green); }
a:hover, a:focus { color: var(--gr-green-dark); }
/* Kopfzeile + Menue */
#topbar, #topbar a { font-size: 12px; letter-spacing: .06em; }
#mainMenu nav > ul > li > a { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.logo-default { filter: brightness(0) invert(1); }
.logo-default img { max-width: 350px; padding: 20px; }
.gallery .logo-default, .header-sticky .logo-default, .mainMenu-open .logo-default { filter: none; }
.header-sticky .logo-default img, .gallery .logo-default img { height: 73px; padding: 0; }
.lines, .lines:before, .lines:after, .tags a { background-color: white; }
.mainMenu-open .lines, .mainMenu-open .lines:before, .mainMenu-open .lines:after { background-color: black; }
.mainMenu-open .icon-globe, .mainMenu-open a { color: black !important; }
#mainMenu nav > ul > li.mega-menu-item > .dropdown-menu { width: inherit; }
.breakpoint-xs .mega-menu-content ul li { margin-right: 20px; }
.kenburns-bg { background-position: 50% 50%; }
.bg-overlay { opacity: 0; }
.inspiro-slider .slide .slide-captions h2, .textshadow, .section-video p, .section-video h2 { text-shadow: 2px 2px 12px rgba(0,0,0,.55); }
.carousel .room-details ul { text-align: left; }
/* Buttons im Theme */
.btn, .btn-primary { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; border-radius: 0; }
.btn-primary, .btn:not(.btn-light):not(.btn-outline) { background-color: var(--gr-green); border-color: var(--gr-green); color: #fff; }
.btn-primary:hover, .btn:not(.btn-light):not(.btn-outline):hover { background-color: var(--gr-green-dark); border-color: var(--gr-green-dark); color: #fff; }
/* Appartement-Karten (Slider) */
.room .room-details h3 { font-family: 'Playfair Display', Georgia, serif; color: var(--gr-green); font-size: 24px; }
.room .room-details { text-align: left; }
/* Fusszeile */
#footer, #footer.inverted, #footer .footer-content { background-color: var(--gr-green) !important; }
#footer .copyright-content { background-color: var(--gr-green-dark) !important; }
#footer, #footer p, #footer div, #footer a, #footer.inverted .widget-contact-us a, #footer .copyright-text { color: #fff !important; }
#footer .widget .widget-title, #footer .widget h4 { font-family: 'Playfair Display', Georgia, serif; text-transform: none; font-size: 26px; font-weight: 400; }
#footer .flickity-slider > div > img, #footer .carousel .polo-carousel-item img { filter: none !important; background: #fff; padding: 12px 18px; height: 64px; width: auto; max-width: 100%; object-fit: contain; }
/* ===== Inhalts-Bausteine (gr-) ===== */
.gr-eyebrow { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--gr-text); margin: 0 0 12px; }
.gr-h1 { font-size: 54px; line-height: 1.12; margin: 0 0 26px; color: var(--gr-green); }
.gr-h2 { font-size: 44px; line-height: 1.15; margin: 0 0 30px; color: var(--gr-green); }
.gr-h3 { font-size: 30px; line-height: 1.25; margin: 0 0 18px; color: var(--gr-green); }
.gr-sub { font-size: 15px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; line-height: 1.7; color: var(--gr-text); margin: 0 0 24px; }
.gr-center { text-align: center; }
.gr-sign { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 22px; color: var(--gr-green); }
.gr-btns { margin-top: 30px; }
.gr-btns a, a.gr-btn { display: inline-block; font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; padding: 13px 26px; margin: 0 10px 10px 0; border: 1px solid var(--gr-green); background: var(--gr-green); color: #fff; transition: background .2s, color .2s; }
.gr-btns a:hover, a.gr-btn:hover { background: var(--gr-green-dark); border-color: var(--gr-green-dark); color: #fff; }
.gr-btns a.gr-line, a.gr-btn.gr-line { background: transparent; color: var(--gr-green); border-color: var(--gr-line); }
.gr-btns a.gr-line:hover, a.gr-btn.gr-line:hover { border-color: var(--gr-green); background: transparent; color: var(--gr-green); }
.gr-section { padding: 70px 0; }
.gr-intro { align-items: center; }
.gr-pics { position: relative; padding: 0 0 90px 0; }
.gr-pics img { display: block; width: 88%; height: auto; }
.gr-pics img + img { position: absolute; right: 0; bottom: 0; width: 55%; border: 8px solid #fff; }
.gr-facts { display: flex; flex-wrap: wrap; gap: 14px; margin: 60px 0 0; padding: 0; list-style: none; }
.gr-facts li { flex: 1 1 180px; background: var(--gr-green-soft); padding: 26px 16px; text-align: center; font-size: 13px; font-weight: 500; letter-spacing: .06em; line-height: 1.5; color: var(--gr-slate); }
.gr-facts li i { display: block; font-size: 24px; color: var(--gr-green); margin-bottom: 12px; }
.gr-split { display: flex; flex-wrap: wrap; margin: 0; }
.gr-split > div { flex: 1 1 50%; min-width: 280px; }
.gr-split .gr-img { min-height: 380px; background-size: cover; background-position: center; }
.gr-split .gr-txt { padding: 50px 6%; display: flex; flex-direction: column; justify-content: center; }
.gr-split.gr-rev { flex-direction: row-reverse; }
.gr-list { list-style: none; margin: 0; padding: 0; }
.gr-list li { position: relative; padding: 6px 0 6px 30px; border-bottom: 1px solid var(--gr-line); }
.gr-list li:before { content: ''; position: absolute; left: 4px; top: 15px; width: 12px; height: 7px; border-left: 2px solid var(--gr-green); border-bottom: 2px solid var(--gr-green); transform: rotate(-45deg); }
.gr-band { position: relative; left: 50%; width: 100vw; margin-left: -50vw; background: var(--gr-green); color: #fff; text-align: center; padding: 80px 20px; margin-top: 70px; }
.gr-band .gr-eyebrow, .gr-band p { color: rgba(255,255,255,.88); }
.gr-band .gr-h2 { color: #fff; }
.gr-band .gr-btns a { background: #fff; border-color: #fff; color: var(--gr-green); }
.gr-band .gr-btns a:hover { background: var(--gr-green-soft); border-color: var(--gr-green-soft); color: var(--gr-green-dark); }
.gr-band .gr-btns a.gr-line { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.gr-band .gr-btns a.gr-line:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,.08); }
/* Buchungsleiste unten (wie Vorlage) */
.gr-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 990; display: flex; box-shadow: 0 -2px 14px rgba(0,0,0,.15); }
.gr-bar a { flex: 1 1 50%; display: block; text-align: center; text-decoration: none; padding: 9px 10px 10px; color: #fff !important; font-family: 'Montserrat', sans-serif; line-height: 1.25; }
.gr-bar a small { display: block; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; opacity: .8; }
.gr-bar a span { display: block; font-size: 14px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.gr-bar .gr-bar-ask { background: var(--gr-slate); }
.gr-bar .gr-bar-book { background: var(--gr-green); }
.gr-bar a:hover { filter: brightness(1.12); }
body { padding-bottom: 56px; }
#scrollTop { bottom: 72px !important; }
@media (min-width: 992px) {
.gr-bar { left: auto; right: 30px; width: 480px; }
}
@media (max-width: 991px) {
.gr-h1 { font-size: 40px; }
.gr-h2 { font-size: 34px; }
.gr-h3 { font-size: 26px; }
.gr-pics { margin-top: 40px; }
.gr-split .gr-img { min-height: 260px; }
.gr-split .gr-txt { padding: 36px 6% 44px; }
}

/* Adresse-Block in der Fusszeile (kommt aus den Mail-Vorlagen) */
#footer .widget-contact-us td, #footer .widget-contact-us td a, #footer .widget-contact-us td span { color: #fff !important; border-top: 0 !important; }
#footer .widget-contact-us td { padding-top: 4px !important; padding-bottom: 4px !important; }

/* Menue-Symbol (Hamburger) auf weissem Kopf sichtbar machen */
.header-sticky .lines, .header-sticky .lines:before, .header-sticky .lines:after,
.gallery .lines, .gallery .lines:before, .gallery .lines:after { background-color: var(--gr-green) !important; }
/* Landkarte in der Fusszeile: Zoom-Pfeile und Hinweise lesbar */
#footer .leaflet-control a, #footer .leaflet-bar a { color: #333 !important; background-color: #fff !important; }
#footer .leaflet-control-attribution, #footer .leaflet-control-attribution a { color: #333 !important; }
/* Appartement-Seiten */
.content > span.roomcontent { display: block; position: relative; margin: 10px 0 40px; padding: 4px 0 4px 26px; border-left: 3px solid var(--gr-green); }
.content > span.roomcontent:before { content: 'Ihr Appartement'; display: block; margin-bottom: 10px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--gr-text); }
.content > span.roomcontent p, .content > span.roomcontent li { font-size: 17px; line-height: 1.85; }
.content > .grid-layout { margin-bottom: 40px !important; }
.content > .grid-layout img { transition: transform .4s, opacity .3s; }
.content > .grid-layout a:hover img { opacity: .9; }
.sidebar .widget .widget-title, .sidebar .widget > h4 { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; font-weight: 400; text-transform: none; letter-spacing: .01em; color: var(--gr-green); }
.sidebar .tags a { border-radius: 0 !important; border: 1px solid var(--gr-line) !important; background: #fff !important; color: var(--gr-text) !important; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; padding: 8px 14px; }
.sidebar .tags a:hover, .sidebar .tags a.active { background: var(--gr-green) !important; border-color: var(--gr-green) !important; color: #fff !important; }
.room { background: #fff; }
.room .room-image img { transition: opacity .3s; }
.room .room-details p { font-size: 14px; }
/* Bildergalerie Appartement am Handy: 2 Spalten */
@media (max-width: 767px) {
.content > .grid-layout.grid-4-columns { display: flex !important; flex-wrap: wrap; height: auto !important; margin: 0 -10px 30px 0 !important; }
.content > .grid-layout.grid-4-columns > .grid-item { position: static !important; width: 50% !important; padding: 0 10px 10px 0 !important; }
.content > .grid-layout.grid-4-columns > .grid-item img { width: 100%; height: 120px; object-fit: cover; }
}
/* Untermenue (Desktop) direkt unter dem Menuepunkt, nicht darueber */
@media (min-width: 1025px) {
#mainMenu nav > ul > li.dropdown > .dropdown-menu { top: 100% !important; margin-top: 0 !important; }
}
/* Sprachauswahl am Handy nicht links abschneiden */
@media (max-width: 1024px) {
.header-extras .p-dropdown .p-dropdown-content { left: 0 !important; right: auto !important; }
}
/* Stand: 05.11.2026 */
