/* Kaipuu Affiliate – Bausteine */
.kp-pill{display:inline-block;font-size:.72rem;font-weight:600;line-height:1;padding:.32rem .55rem;border-radius:99px;background:rgba(26,43,60,.08);color:var(--wp--preset--color--navy,#1A2B3C)}
.kp-aff-anzeige{font-size:.75rem;color:var(--wp--preset--color--grau,#5B6670);margin:.4rem 0 0}
.kp-aff-hinweis{font-size:.85rem;color:var(--wp--preset--color--grau,#5B6670);border-top:1px solid var(--wp--preset--color--linie,#E3DED3);padding-top:.6em}
.kp-btn-wrap{margin:1rem 0 0}
.kp-btn{display:inline-block;text-decoration:none}

/* Teaser-Box */
.kp-box{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem 1.5rem;background:var(--wp--preset--color--tuerkis-hell,#E4F3F3);border-radius:18px;padding:1.5rem 1.6rem;margin:2.2rem 0;overflow:hidden}
.kp-box::after{content:"";position:absolute;right:-40px;bottom:-60px;width:180px;height:180px;border-radius:50%;border:2px solid rgba(26,158,165,.25);box-shadow:0 0 0 22px rgba(26,158,165,.07);pointer-events:none}
.kp-box__label{grid-column:1/-1;margin:0;display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--wp--preset--color--grau,#5B6670)}
.kp-box__titel{font-family:var(--wp--preset--font-family--fraunces,Georgia,serif);font-weight:600;font-size:1.35rem;line-height:1.2;margin:0;color:var(--wp--preset--color--navy,#1A2B3C);grid-column:1}
.kp-box__text{margin:0;grid-column:1;font-size:.97rem}
.kp-box .kp-box__button{grid-column:2;grid-row:2/4;position:relative;z-index:1;white-space:nowrap}
@media (max-width:640px){.kp-box{grid-template-columns:1fr}.kp-box .kp-box__button{grid-column:1;grid-row:auto;justify-self:start;margin-top:.6rem}}

/* Suchbox */
.kp-suchbox{background:var(--wp--preset--color--navy,#1A2B3C);color:#fff;border-radius:20px;padding:1.6rem 1.6rem 1.2rem;margin:2.2rem 0;box-shadow:0 18px 40px -24px rgba(19,32,45,.8)}
.kp-suchbox__titel{font-family:var(--wp--preset--font-family--fraunces,Georgia,serif);font-weight:600;font-size:1.45rem;line-height:1.2;margin:0 0 .25rem;color:#fff}
.kp-suchbox__text{margin:0 0 1.1rem;font-size:.95rem;color:rgba(255,255,255,.8)}
.kp-suchbox__felder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(12rem,.8fr);grid-template-areas:'ziel ziel pers' 'cin cout btn';gap:.7rem;align-items:end}
.kp-feld--ziel{grid-area:ziel}.kp-feld--klein{grid-area:pers}.kp-feld:has([name=checkin]){grid-area:cin}.kp-feld:has([name=checkout]){grid-area:cout}.kp-suchbox button{grid-area:btn}
.kp-feld{min-width:0;display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.85)}
.kp-feld select,.kp-feld input{font:inherit;font-size:1rem;font-weight:400;color:var(--wp--preset--color--navy,#1A2B3C);background:#fff;border:0;border-radius:10px;padding:.7rem .75rem;min-height:3rem;width:100%;min-width:0;box-sizing:border-box}
.kp-suchbox button{min-height:3rem;border:0;cursor:pointer;white-space:nowrap}
.kp-suchbox .kp-aff-anzeige{color:rgba(255,255,255,.6);margin-top:.8rem}
@media (max-width:640px){.kp-suchbox__felder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'ziel ziel' 'cin cout' 'pers btn'}}

/* Widgets */
.kp-widget{margin:1.8rem 0}
.kp-amazon-liste{padding-left:1.2em}
.kp-amazon-liste li{margin:.25em 0}
/* 1.3.2: iOS-Datumsfelder sprengen sonst die Spalten */
.kp-suchbox input,.kp-suchbox select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.kp-suchbox input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-height:3rem;line-height:1.2}
.kp-suchbox input[type=date]::-webkit-date-and-time-value{text-align:left}
.kp-feld{min-width:0}
@media (max-width:640px){.kp-suchbox{padding:1.3rem 1.1rem 1rem}.kp-suchbox__felder{grid-template-areas:'ziel ziel' 'cin cout' 'pers pers' 'btn btn'}.kp-suchbox button{width:100%;white-space:normal}}
.wp-block-column .kp-box{grid-template-columns:1fr}.wp-block-column .kp-box .kp-box__button{grid-column:1;grid-row:auto;justify-self:start;margin-top:.6rem}
.kp-box__pflicht{grid-column:1/-1;margin:.9rem 0 0;font-size:.74rem;line-height:1.45;opacity:.78;position:relative;z-index:1}
.kp-aff-pflicht{font-size:.78em;opacity:.8}

/* 1.11.0 – Box mit Bild und Hotelkarte (Stay22) */
.kp-box--bild{grid-template-columns:minmax(0,1fr) auto;padding-top:0}
.kp-box--bild .kp-box__bild{grid-column:1/-1;width:calc(100% + 3.2rem);max-width:none;height:200px;object-fit:cover;margin:0 -1.6rem .9rem;display:block}
.kp-boxpaar .kp-box--bild .kp-box__bild{height:180px}
.kp-box--bild .kp-box__button{grid-row:3/5}
.kp-hotelkarte{margin:2.2rem 0;background:var(--wp--preset--color--tuerkis-hell,#E4F3F3);border-radius:18px;padding:1.2rem 1.2rem 1rem;overflow:hidden}
.kp-hotelkarte .kp-box__label{margin-bottom:.4rem}
.kp-hotelkarte .kp-box__titel{margin-bottom:.3rem}
.kp-hotelkarte .kp-box__text{margin-bottom:.8rem}
.kp-hotelkarte__frame{display:block;width:100%;border-radius:12px;background:#fff}
.kp-hotelkarte__hinweis{font-size:.78rem;opacity:.75;margin-top:.6rem}
@media (max-width:640px){.kp-box--bild .kp-box__bild{height:160px}.kp-box--bild .kp-box__button{grid-row:auto}}

/* 1.12.0 – Netz-Block (Weiter auf deiner Panama-Reise) und Hinweis-Box */
.kp-hotelkarte--beides .kp-hotelkarte__frame,.kp-hotelkarte--liste .kp-hotelkarte__frame{min-height:420px}
.kp-box--hinweis{background:var(--wp--preset--color--sand,#F6EFE4)}
.kp-netz{max-width:var(--wp--style--global--wide-size,1200px);margin:3rem auto 2rem;padding:0 1rem}
.kp-netz__titel{font-family:var(--wp--preset--font-family--fraunces,Georgia,serif);font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 1rem}
.kp-netz__karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.kp-netz__karte{display:flex;flex-direction:column;gap:.4rem;padding:1.2rem 1.3rem;border-radius:18px;background:var(--wp--preset--color--tuerkis-hell,#E4F3F3);color:var(--wp--preset--color--navy,#1A2B3C);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.kp-netz__karte:hover,.kp-netz__karte:focus-visible{transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,43,60,.12)}
.kp-netz__name{font-family:var(--wp--preset--font-family--fraunces,Georgia,serif);font-weight:600;font-size:1.2rem}
.kp-netz__name::after{content:" →";color:var(--wp--preset--color--tuerkis,#1A9EA5)}
.kp-netz__text{font-size:.95rem;line-height:1.45}
