/*
Theme Name: Der Meilenmacher
Author: Pierre Michael
Description: Eigene Reiseseite mit editierbaren Flügen, Stationen und Beiträgen. Ohne kostenpflichtige Plugins.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: der-meilenmacher
*/

:root{--green:#173e35;--cream:#f6f3eb;--orange:#e77943;--ink:#233c34}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--cream);border-bottom:1px solid #233c341b}.brand{font-weight:900;font-size:21px;letter-spacing:-1px;display:flex;gap:12px;align-items:center}.mark{font-size:28px;color:var(--orange);transform:rotate(-25deg)}nav{display:flex;gap:30px;font-size:13px}nav a:hover{color:#b34e21}.social{border:1px solid #bcc5ba;padding:12px 17px;border-radius:4px;font-size:12px}.hero{display:grid;grid-template-columns:49% 51%;min-height:650px}.hero-copy{padding:75px 8% 60px 10%;background:var(--green);color:var(--cream)}.eyebrow{font-size:10px;letter-spacing:2.6px;text-transform:uppercase;font-weight:bold;display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:var(--orange);border-radius:50%}h1{font-family:Georgia,serif;font-size:clamp(54px,5.5vw,87px);font-weight:normal;letter-spacing:-3px;line-height:1.02;margin:32px 0 25px}h1 em{color:#e9b38c;font-weight:normal}.hero p{font-size:15px;line-height:1.8;max-width:390px;color:#d1ded5}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--orange);color:#173329;padding:17px 23px;border:0;border-radius:3px;font-size:12px;font-weight:bold}.hero .btn{margin-top:22px}.hero-image{position:relative;background:linear-gradient(0deg,#082c2b55,transparent 60%),url('assets/coast.jpg') center/cover;min-height:500px}.stamp{position:absolute;right:30px;top:30px;border:1px solid #ffffff80;border-radius:50%;height:95px;width:95px;display:grid;place-content:center;text-align:center;color:white;font-size:10px;letter-spacing:2px;transform:rotate(12deg);line-height:1.8}.image-caption{position:absolute;bottom:35px;left:35px;color:white;font-size:11px;letter-spacing:1px}.image-caption strong{display:block;font-family:Georgia,serif;font-size:27px;font-weight:normal;letter-spacing:0;margin-top:8px}.strip{display:grid;grid-template-columns:repeat(3,1fr);padding:29px 7%;border-bottom:1px solid #ccd2c7;gap:35px}.stat{display:flex;align-items:center;gap:17px}.stat b{font-family:Georgia,serif;font-size:32px;font-weight:normal}.stat span{font-size:11px;line-height:1.7;color:#607064}.section{padding:85px 7%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}h2{font-family:Georgia,serif;font-size:43px;line-height:1.12;letter-spacing:-1.5px;font-weight:normal;margin:15px 0}.section-head p{font-size:13px;line-height:1.7;max-width:315px;color:#677468}.filters{display:flex;gap:8px;margin:25px 0 30px;flex-wrap:wrap}.filter{border:1px solid #c9cebf;border-radius:30px;background:transparent;padding:10px 18px;font-size:11px;color:var(--ink)}.filter.active{background:var(--green);color:white;border-color:var(--green)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{border:0;background:transparent;text-align:left;padding:0;color:inherit}.card[hidden]{display:none}.photo{height:260px;overflow:hidden;position:relative;background:#a8b7a6}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover img{transform:scale(1.05)}.tag{position:absolute;left:17px;top:17px;background:var(--cream);padding:8px 11px;font-size:9px;letter-spacing:1px;text-transform:uppercase}.card small{display:block;font-size:9px;letter-spacing:1.4px;color:#777b6c;margin-top:22px}.card h3{font-family:Georgia,serif;font-size:27px;line-height:1.18;font-weight:normal;margin:12px 0}.card p{font-size:12px;line-height:1.8;color:#6a7569}.read{display:block;font-size:11px;font-weight:bold;margin-top:22px;border-bottom:1px solid #c8cdbf;padding-bottom:17px}.read span{float:right}.about{display:grid;grid-template-columns:1fr 1fr;background:#e9ebdf;padding:65px 7%;gap:80px;align-items:center}.quote{font-family:Georgia,serif;font-size:36px;line-height:1.25;letter-spacing:-1px}.quote em{color:#b75a30}.about p{font-size:14px;line-height:1.9;color:#5c6b5e}.route{background:var(--green);color:var(--cream)}.route .section-head p{color:#b5c8ba}.route-list{display:flex;flex-wrap:wrap;margin-top:40px;border-top:1px solid #6b8675;border-bottom:1px solid #6b8675}.stop{padding:25px 24px 25px 0;flex:1;min-width:130px}.stop small{color:#dba782;font-size:10px}.stop strong{display:block;font-family:Georgia,serif;font-size:23px;font-weight:normal;margin:12px 0}.stop span{font-size:10px;color:#bfd0c2}.follow{padding:75px 7%;display:flex;align-items:center;justify-content:space-between;gap:40px}.follow p{font-size:14px;color:#687466}.follow h2{max-width:650px}footer{border-top:1px solid #cbd0c3;padding:25px 7%;display:flex;justify-content:space-between;font-size:10px;color:#728070}dialog{border:0;background:var(--cream);color:var(--ink);padding:40px;max-width:650px;width:90%;max-height:85vh;border-radius:5px}dialog::backdrop{background:#092d29b8}dialog h2{font-size:35px}dialog p{line-height:1.9;font-size:14px;white-space:pre-line}.close{float:right;background:none;border:1px solid #bbc3b5;padding:8px 13px;color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #e77943;outline-offset:5px}@media(max-width:800px){header{height:75px}.brand{font-size:18px}nav{display:none}.social{font-size:10px;padding:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7%}h1{font-size:65px}.hero-image{min-height:370px}.strip{gap:20px;padding:25px 6%}.stat{display:block}.stat b{font-size:27px}.stat span{display:block;margin-top:5px;font-size:9px}.section{padding:55px 6%}.section-head{display:block}h2{font-size:36px}.cards{grid-template-columns:1fr}.photo{height:300px}.card{margin-bottom:20px}.about{grid-template-columns:1fr;gap:20px;padding:50px 7%}.quote{font-size:32px}.follow{display:block;padding:50px 7%}.follow .btn{margin-top:15px}footer{gap:20px;line-height:1.7}.stamp{height:80px;width:80px}}

.quiz-section{background:#ebe8dc}.quiz-layout{display:grid;grid-template-columns: .8fr 1.2fr;gap:65px;align-items:start}.quiz-intro p{font-size:14px;line-height:1.9;color:#647164}.quiz-panel{background:var(--cream);padding:35px;border:1px solid #cdd1c2;border-radius:8px;min-height:410px}.quiz-progress{height:4px;background:#dce1d4;border-radius:4px;margin:18px 0 28px;overflow:hidden}.quiz-progress span{display:block;height:100%;background:var(--orange);transition:width .25s}.quiz-panel h3{font:normal 29px/1.2 Georgia,serif;margin:0 0 12px}.quiz-help,.quiz-note{font-size:12px;line-height:1.7;color:#6a7569}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.quiz-option{text-align:left;background:transparent;color:var(--ink);border:1px solid #bfc8b7;padding:16px;border-radius:4px;min-height:66px;line-height:1.4;font-size:13px}.quiz-option:hover{border-color:var(--green)}.quiz-option[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green);box-shadow:inset 4px 0 var(--orange)}.quiz-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:25px}.quiz-back{border:0;background:none;padding:12px 0;color:var(--ink);font-size:12px}.quiz-controls button:disabled{opacity:.4;cursor:default}.quiz-result{border-top:1px solid #cbd0c2;padding:22px 0}.quiz-result h4{font:normal 26px Georgia,serif;margin:8px 0 13px}.quiz-result p,.quiz-result li{font-size:13px;line-height:1.8}.quiz-result ul{padding-left:18px}.quiz-result a{text-decoration:underline;font-size:11px}.quiz-rank{font-size:9px;letter-spacing:1.5px;color:#ac572d}.quiz-summary{font-size:12px;line-height:1.8;background:#e8ebdf;padding:16px;margin:20px 0}.quiz-result .tradeoff{color:#786548;font-size:12px}.quiz-note{margin-top:22px}@media(max-width:800px){.quiz-layout{grid-template-columns:1fr;gap:25px}.quiz-panel{padding:23px}.quiz-options{grid-template-columns:1fr}.quiz-panel h3{font-size:27px}}

.journey-details{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:35px}.destination{border:1px solid #5a7766;border-radius:4px;align-self:start}.destination summary{cursor:pointer;padding:24px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.destination summary::-webkit-details-marker{display:none}.destination summary:after{content:'+';font-size:25px;color:#dfac88}.destination[open] summary:after{content:'−'}.destination summary strong{display:block;font:normal 27px Georgia,serif;margin-top:8px}.destination summary small{font-size:9px;letter-spacing:1.5px;color:#dcaf91}.destination-body{padding:0 24px 25px;color:#d7e1d7;font-size:13px;line-height:1.85}.destination-body h4{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:#edbc94;margin:22px 0 8px}.destination-body ul{padding-left:18px;margin:7px 0}.destination-body p{margin:8px 0}.travel-label{display:inline-block;border:1px solid #899d86;padding:5px 8px;margin:0 4px 6px 0;font-size:9px;color:#e0e9da}.booking-section{background:#e9ebdf}.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:32px}.booking-step{border-top:1px solid #adbba6;padding-top:22px}.booking-step b{color:#a6512a;font:normal 34px Georgia,serif}.booking-step h3{font:normal 25px Georgia,serif}.booking-step p{font-size:13px;line-height:1.85;color:#5d6d5c}.fieldnote{border-left:3px solid var(--orange);padding:8px 0 8px 20px;font-size:13px;line-height:1.8;margin:25px 0 0;color:#c9d8cc}.report-status{font-size:9px;letter-spacing:1px;color:#9e542d}.cards{row-gap:40px}.hero-secondary{display:inline-block;color:#dfc9ad;border-bottom:1px solid #9cab91;padding-bottom:5px;font-size:12px;margin-top:23px}.hero-actions{display:flex;gap:25px;align-items:baseline;flex-wrap:wrap}dialog .eyebrow{font-size:9px}.cards .photo{height:240px}@media(max-width:800px){.journey-details,.booking-grid{grid-template-columns:1fr}.journey-details{gap:12px}.destination summary{padding:20px}.hero-actions{gap:5px}.booking-grid{gap:20px}}

.map-section{background:#173e35;color:var(--cream);padding-top:65px}.map-section .section-head p{color:#c4d3c6}.map-legend{display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:11px;color:#c7d5c7;margin:30px 0 15px}.map-legend span{display:flex;align-items:center;gap:8px}.map-legend span:last-child{margin-left:auto;font-size:10px}.map-legend i{width:25px;display:inline-block}.legend-business{border-top:3px solid #e77943}.legend-economy{border-top:2px dashed #e9e3d3}.map-scroll{overflow-x:auto;background:#12392f;border:1px solid #466455;border-radius:6px}.flight-map{width:100%;min-width:660px;display:block}.flight-line{fill:none;stroke-width:2.3;opacity:.55;transition:opacity .25s,stroke-width .25s}.flight-line.business{stroke:#f08d57}.flight-line.economy{stroke:#efe7d6;stroke-dasharray:6 5}.flight-line.chosen{opacity:1;stroke-width:4}.flight-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;margin-top:28px;align-items:start}.flight-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flight-choice{display:flex;gap:12px;text-align:left;align-items:center;background:transparent;color:#f6f3eb;border:1px solid #536f5f;border-radius:4px;padding:15px 12px}.flight-choice strong{font-size:12px;line-height:1.5;display:block;font-weight:normal}.flight-choice small{font-size:10px;color:#b5c9b8;display:block;margin-top:5px}.flight-choice.selected{background:#315847;border-color:#e8a37e}.flight-index{color:#e7ac89;font-size:10px}.flight-choice>span:last-child{margin-left:auto;color:#e7ac89}.flight-info{border:1px solid #71846c;border-radius:5px;padding:30px;background:#214738;position:sticky;top:20px}.flight-info h3{font:normal 30px/1.2 Georgia,serif;margin:20px 0 12px}.flight-number{font-size:11px;letter-spacing:1.7px;color:#bdd0bf}.flight-info h4{font:normal 23px/1.25 Georgia,serif;color:#edba96;margin:30px 0 12px}.flight-info p{font-size:13px;line-height:1.9;color:#e0e8db}.map-footnote{font-size:11px;line-height:1.8;color:#b8cbbd;margin-top:25px}.hero h1{font-size:clamp(53px,5vw,77px)}.route{background:#edf0e4;color:var(--ink)}.route .section-head p,.route .fieldnote{color:#586e5c}.route .destination{border-color:#bac7b3}.route .destination summary small,.route .destination summary:after{color:#a0522d}.route .destination-body{color:#4e6755}.route .destination-body h4{color:#a0522d}.route .travel-label{color:#4e6755}.route .stop small{color:#a0522d}.route .stop span{color:#62775f}.route .route-list{border-color:#b7c7ac}@media(max-width:800px){.flight-layout{grid-template-columns:1fr;gap:18px}.flight-picker{grid-template-columns:1fr}.flight-info{position:static;padding:24px}.map-legend span:last-child{margin-left:0}.hero h1{font-size:61px}.map-scroll:after{content:'Karte seitlich wischen ↔';display:block;padding:12px 15px;color:#b8cbbd;font-size:11px}}

.flight-line.business{stroke:#63c7ff;stroke-width:4;opacity:.95;stroke-dasharray:none}.flight-line.economy{stroke:#ff7969;stroke-width:4;opacity:.95;stroke-dasharray:10 5}.flight-line.chosen{stroke-width:6;opacity:1;filter:drop-shadow(0 0 3px #ffffff55)}.legend-business{border-top:4px solid #63c7ff}.legend-economy{border-top:4px dashed #ff7969}.duration-label{font:bold 12px Arial,sans-serif;fill:#fff;paint-order:stroke;stroke:#12392f;stroke-width:5px;stroke-linejoin:round;text-anchor:middle}.duration-label.business-label{fill:#a6dfff}.duration-label.economy-label{fill:#ffb1a7}.flight-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 12px}.flight-metric{background:#12392f;border:1px solid #5d7968;border-radius:4px;padding:16px}.flight-metric small{display:block;font-size:10px;color:#c6d8c9;margin-bottom:10px}.flight-metric strong{font:normal 24px/1.25 Georgia,serif;color:#fff;display:block}.flight-time{border-top:1px solid #69816c;border-bottom:1px solid #69816c;padding:14px 0;margin:20px 0;font-size:13px;color:#e6eee2}.flight-time strong{color:#fff;font-size:17px}.flight-info .flight-cost-note,.flight-info .flight-time-note{font-size:11px;line-height:1.8;color:#c6d8c9}.flight-choice.business-choice{border-left:4px solid #63c7ff}.flight-choice.economy-choice{border-left:4px solid #ff7969}.flight-choice small .picker-time{display:block;margin-top:5px;color:#f6f3eb}.flight-choice .picker-price{font-size:10px;color:#e7ccb1;margin-top:5px;display:block}.fx-note{font-size:10px;color:#bcd1c0;line-height:1.8}.fx-note a{text-decoration:underline}@media(max-width:500px){.flight-metrics{grid-template-columns:1fr}.flight-metric strong{font-size:24px}}

.dmm-legal{max-width:850px;margin:0 auto;padding:60px 6%;min-height:60vh}.dmm-legal p{line-height:1.9}.dmm-admin-hint{background:#e9ebdf;padding:20px;font-size:13px}.hero h1{white-space:pre-line}.card h3{white-space:pre-line}.dmm-legal img{max-width:100%;height:auto}

/* Interactive journey atlas */
.map-toolbar,.map-toolbar>div{display:flex;align-items:center;gap:9px}.map-toolbar{justify-content:space-between;flex-wrap:wrap;margin-top:22px}.map-toolbar button{border:1px solid #6e8d7c;background:#234f43;color:#fff;border-radius:30px;padding:11px 17px;font-size:12px}.map-toolbar button:hover{background:#366a59}.map-toolbar button[data-map-action="pacific"]{background:#f2cba0;color:#173e35;border-color:#f2cba0}.map-toolbar output{font-size:11px;min-width:44px;text-align:center;color:#d9e4d8}.map-hint{font-size:11px;line-height:1.7;color:#bcd0c1}.map-scroll{overflow:hidden;border-radius:14px;background:#12392f}.map-scroll:after{display:none!important}.flight-map{min-width:0;width:100%;height:auto;aspect-ratio:1080/510;touch-action:none;cursor:grab;user-select:none;outline-offset:-4px}.flight-map.is-dragging{cursor:grabbing}.map-pin{fill:#f4d2a9;stroke:#12392f;stroke-width:2}.map-stay>.map-pin{stroke:#f4d2a9;stroke-width:2;fill:#173e35}.map-place rect{fill:#f6f3eb;stroke:#dec8a7;stroke-width:1}.map-place-name{fill:#173e35;font:bold 13px Arial,sans-serif}.map-place-sub{fill:#657467;font:9px Arial,sans-serif;letter-spacing:.4px}.map-transit-label{fill:#d1dfd6;font:11px Arial,sans-serif;paint-order:stroke;stroke:#12392f;stroke-width:4px}.map-leader{stroke:#e7c9a3;stroke-width:1;fill:none}.duration-label{font-size:10px}.flight-line{vector-effect:non-scaling-stroke}@media(max-width:600px){.flight-map{height:370px;aspect-ratio:auto}.map-toolbar button{padding:11px 13px}.map-hint{font-size:10px}.map-toolbar{gap:14px}}

/* City hotel windows retain the site's cream and deep green palette. */
.map-place[data-city]{cursor:pointer}.map-place[data-city]:hover rect,.map-place[data-city]:focus-visible rect{fill:#f7d4a4;stroke:#e89754;stroke-width:2}.map-place[data-city]:focus{outline:none}
button.stop{font:inherit;text-align:left;color:inherit;border:0;background:transparent;cursor:pointer}.stop-open{display:block!important;font-size:11px!important;letter-spacing:.04em;margin-top:9px;color:#a85729!important}.hotel-open{border:1px solid #b7c7bc;background:transparent;border-radius:24px;color:var(--green);padding:12px 18px;font:inherit;font-size:13px;cursor:pointer;margin:0 0 16px}.hotel-open:hover{background:#eee8dc}.hotels-dialog{width:min(920px,calc(100vw - 32px));max-width:920px;max-height:88dvh;box-sizing:border-box;padding:32px 38px;border:1px solid #ddd6c7;border-radius:18px;background:#f6f3e9;color:#203f35;overflow-y:auto}.hotels-dialog::backdrop{background:#0a251fc9;backdrop-filter:blur(5px)}.hotels-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;top:-32px;background:#f6f3e9;z-index:2;padding:8px 0 16px}.hotel-close{border:1px solid #c5cfc7;background:transparent;border-radius:20px;padding:10px 15px;color:inherit;cursor:pointer;white-space:nowrap}.hotels-dialog h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:12px 0 24px;line-height:1.12}.hotel-card{background:#fffdf7;border:1px solid #dedfd3;border-radius:13px;padding:25px;margin:0 0 18px}.hotel-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.hotel-card h3{font-size:24px;font-family:Georgia,serif;font-weight:400;line-height:1.2;margin:4px 0 10px}.hotel-dates{font-size:12px;color:#687e70;margin:0}.hotel-rate{background:#e9eee3;padding:8px 11px;font-size:11px;line-height:1.6;border-radius:8px;max-width:220px}.hotel-room{font-size:13px;color:#526b5f;margin:0 0 18px}.hotel-price{padding:15px 18px;background:#173e34;color:#fff8e7;border-radius:9px;margin:18px 0}.hotel-price small{display:block;letter-spacing:.07em;text-transform:uppercase;font-size:9px;opacity:.7;margin-bottom:7px}.hotel-price strong{font-size:18px;font-weight:500;line-height:1.5}.hotel-card h4{font-size:12px;text-transform:uppercase;letter-spacing:.07em;margin:23px 0 10px}.hotel-card ul{padding-left:20px;margin:0;display:grid;gap:7px}.hotel-card li{font-size:13px;line-height:1.6}.hotel-note,.hotel-price-note{font-size:12px;line-height:1.7;color:#68776b}.hotel-note{border-top:1px solid #e4e5da;padding-top:14px;margin:18px 0 0}.hotel-variant{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9c4e26;margin-bottom:16px}.hotel-context{font-size:14px;line-height:1.8;margin:0 0 24px}.reisetopia-note{padding:24px;border-radius:12px;background:#ecd1ac;margin:22px 0}.reisetopia-note strong{font-family:Georgia,serif;font-size:24px;font-weight:400}.reisetopia-note p{font-size:13px;line-height:1.8;margin:10px 0 0}
@media(max-width:650px){.hotels-dialog{padding:20px 16px;max-height:92dvh}.hotels-dialog-head{top:-20px}.hotels-dialog-head .eyebrow{font-size:8px;line-height:1.6}.hotels-dialog h2{font-size:31px}.hotel-card{padding:18px}.hotel-card-top{display:block}.hotel-rate{display:inline-block;max-width:100%;margin-bottom:12px}.hotel-card h3{font-size:23px}.hotel-price strong{font-size:16px}}
