/* Illustrative (AI-generated) images — see inc/ai-images.php. Kept separate from colour.css / package-options.css on purpose. */
.ai-pic{display:block;width:100%;height:100%}
.ai-pic img,.ktp-page .ai-pic img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:0}
.ai-tag{position:absolute;left:8px;bottom:8px;z-index:1;max-width:calc(100% - 16px);padding:3px 9px;border-radius:999px;background:rgba(18,16,14,.66);color:#fff;font:600 12px/1.3 Inter,system-ui,sans-serif;pointer-events:none}
.ai-fig{position:relative;margin:0;border-radius:16px;overflow:hidden;background:#F3EBE0}
.ai-fig .ai-pic{aspect-ratio:16/9}
.ai-fig--wide .ai-pic{aspect-ratio:21/9}
.ai-sec .ai-fig--side,.ai-fig--side{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.ai-fig--404{width:min(420px,100%);margin:0 auto}
.ai-fig--404 .ai-pic{aspect-ratio:4/3}
.ai-cap{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:3px 9px;border-radius:999px;background:rgba(18,16,14,.66);color:#fff;font:600 12px/1.3 Inter,system-ui,sans-serif}
.ai-sec{padding-top:0}
.ai-band{padding:24px 0 0}
@media (max-width:759px){.ai-fig--wide .ai-pic{aspect-ratio:16/9}}
/* hero caption sits with the other hero credit line */
.ui-hero__credit--ai{pointer-events:none}
@media (min-width:760px){.ui-hero__credit--ai{top:12px;bottom:auto;right:16px}}
/* theme hub cards */
.th-card__img.ai-card{position:relative}
.th-card__img.ai-card .ai-pic{position:absolute;inset:0}
/* /from/ hero: side image instead of the narrow strip */
.th-hero__media.ai-media{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#F3EBE0}
.th-hero__media.ai-media .ai-pic{position:absolute;inset:0}
.th-hero__media.ai-media img{height:100%;border-radius:0}
.fm-hero .th-hero__grid:has(.ai-media){grid-template-columns:minmax(0,1fr) minmax(300px,480px);gap:32px;align-items:center}
@media (max-width:1023px){.fm-hero .th-hero__grid:has(.ai-media){grid-template-columns:1fr;gap:16px}}
/* /stays/ category cards */
.st-cats.ai-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0 0;padding:0;list-style:none}
.st-cats.ai-tiers li{display:flex;flex-direction:column;padding:0;border-radius:14px;overflow:hidden;background:#fff;font-size:16px}
.st-cats.ai-tiers .ai-tier__img{position:relative;display:block;aspect-ratio:4/3}
.st-cats.ai-tiers b{padding:10px 14px;font:600 17px/1.2 Fraunces,Georgia,serif}
@media (max-width:759px){.st-cats.ai-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* package hotel-tier picker photos */
.optx__tierimg .ai-pic{position:absolute;inset:0}
.optx__tierimg .ai-tag{bottom:8px}
@media (prefers-reduced-motion:no-preference){.ai-pic img{transition:transform .4s ease}.th-card a:hover .ai-pic img{transform:scale(1.03)}}
