/* v0.2.0 layout, polish and resilient interaction styles. */
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--k-pink);outline-offset:3px}
.kham-fullwidth-page .elementor{width:100%}
.kham-gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px}.kham-gallery-filters button{background:#fff9fb;border:1px solid #efd6e0;border-radius:999px;color:var(--k-wine);font:700 12px var(--k-sans);padding:10px 17px;transition:background .25s,transform .25s}.kham-gallery-filters button.is-active{background:var(--k-wine);color:white}.kham-gallery-filters button:hover{transform:translateY(-2px)}
.kham-mosaic{grid-auto-flow:dense}.kham-gallery-cell{isolation:isolate}.kham-gallery-cell:focus-visible{z-index:2}.kham-gallery-cell .kham-gallery-caption{z-index:3}.kham-gallery-cell img{height:100%}.kham-gallery-more{display:table;margin:27px auto 0}
.kham-btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.kham-btn:hover{transform:translateY(-2px);box-shadow:0 10px 27px rgba(87,14,45,.22)}.kham-btn:before{content:"";position:absolute;inset:0 auto 0 -100%;width:80%;background:linear-gradient(95deg,transparent,rgba(255,255,255,.22),transparent);transform:skew(-20deg);z-index:-1;transition:left .65s ease}.kham-btn:hover:before{left:120%}
.kham-workshop-card,.kham-product-teaser,.kham-promo{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.kham-workshop-card:hover,.kham-product-teaser:hover{transform:translateY(-5px);box-shadow:0 21px 48px rgba(91,16,50,.15)}.kham-category-symbol{transition:transform .45s cubic-bezier(.2,.8,.2,1)}.kham-category:hover .kham-category-symbol{transform:rotate(-9deg) scale(1.12)}
.kham-promo-dark{background-size:180% 180%;animation:khamRichGradient 14s ease-in-out infinite alternate}@keyframes khamRichGradient{from{background-position:0% 50%}to{background-position:100% 50%}}
.kham-hero-visual:before{animation:khamAura 8s ease-in-out infinite alternate}@keyframes khamAura{from{opacity:.55;transform:scale(.95)}to{opacity:1;transform:scale(1.12)}}
/* Avoid hiding content when scripts are disabled. JS adds the motion-ready class after it starts. */
@media(prefers-reduced-motion:no-preference){body:not(.kham-motion-disabled):not(.elementor-editor-active).kham-motion-ready .kham-reveal:not(.is-visible){opacity:0;transform:translateY(22px)}body:not(.kham-motion-disabled).kham-motion-ready .kham-reveal{transition:opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1)}}
@media(max-width:860px){.kham-header{isolation:isolate}.kham-mobile-nav{height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;box-shadow:10px 0 30px #1a07154a}.kham-mobile-nav .kham-nav-links a{min-height:46px;display:flex;align-items:center}}
@media(max-width:620px){.kham-workshop-picture{height:215px}.kham-header-inner{justify-content:space-between}.kham-brand{min-width:0}.kham-hero-inner{overflow:hidden}.kham-gallery-cell .kham-gallery-caption{font-size:9px}.kham-header .kham-actions{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.kham-promo-dark,.kham-hero-visual:before{animation:none!important}.kham-btn:before{display:none}.kham-btn,.kham-workshop-card,.kham-product-teaser,.kham-category-symbol{transition:none!important;transform:none!important}}
/* Prevent the original v0.1 eager reveal rules from hiding a page if JS fails. */
body:not(.kham-motion-ready) .kham-reveal,body.elementor-editor-active .kham-reveal{opacity:1!important;transform:none!important}
body.kham-motion-disabled .kham-promo-dark,body.kham-motion-disabled .kham-hero-visual:before{animation:none!important}
.kham-gallery-cell .kham-gallery-play{position:absolute;inset:auto;top:50%;left:50%;bottom:auto;right:auto;transform:translate(-50%,-50%);width:58px;height:58px;padding:0;display:grid;place-items:center;background:rgba(101,12,50,.8);border:2px solid #fff9;border-radius:50%;font-size:23px;line-height:1;color:white;z-index:4}
.kham-gallery-cell .kham-gallery-caption{position:absolute;inset:auto 0 0;display:block;max-width:100%;padding:20px 12px 11px;background:linear-gradient(0deg,rgba(33,7,22,.75),transparent);color:#fff;font-size:11px;font-weight:750;z-index:3}
