/* Make archived content readable when an animation plugin is unavailable. */
.elementor-invisible{visibility:visible!important}
.eltdf-appeared,.eltdf-animation-holder,.eltdf-portfolio-list-holder article{opacity:1}
img.archive-missing-image{object-fit:contain;background:#141414;color:#bbb;min-height:50px}
.archive-form-status{padding:1em;border:1px solid currentColor}
/* Preserve the original slide text when its photo assets are absent. */
.archive-carousel{box-sizing:border-box;min-height:680px;padding:170px 24px 60px;background:#0b1315;text-align:center;color:#fff;border-bottom:1px solid #5c503d}
.archive-slide{max-width:900px;margin:0 auto}.archive-slide[hidden]{display:none}
.archive-slide h1{font:56px/1.3 metropolis1920regular,sans-serif;letter-spacing:7px;color:#c9ab81;margin:0 0 30px}
.archive-slide p{max-width:740px;margin:0 auto 32px;font:300 22px/1.7 'Josefin Sans',sans-serif;color:#eee}
.archive-menu-link{display:inline-block;border:1px solid #c9ab81;padding:12px 35px;letter-spacing:5px;color:#c9ab81}
.archive-carousel-controls{display:flex;gap:24px;align-items:center;justify-content:center;margin-top:35px;color:#c9ab81}
.archive-carousel-controls button{cursor:pointer;background:transparent;border:1px solid #c9ab81;color:#c9ab81;font-size:24px;width:48px;height:42px}
@media(max-width:680px){.archive-carousel{min-height:600px;padding:65px 22px 40px}.archive-slide h1{font-size:32px;letter-spacing:3px}.archive-slide p{font-size:18px}}
/* === 2026-11-04: layout fallback ===
   Each page originally loaded its own LiteSpeed-combined CSS that contained the
   Elementor per-post CSS (post-<id>.css). Only one of those files was archived
   (for /en/portfolio-item/long-island-ice-tea/, post 7582), so every other page
   lost container display/direction, widths, paddings and the hero spacing under
   the transparent header. The rules below rebuild sane Elementor defaults. */
.e-con{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap:nowrap;--align-items:stretch;--justify-content:flex-start}
body:not(.elementor-page-7582) .e-con.e-parent{--padding-top:30px;--padding-bottom:30px}
body:not(.elementor-page-7582) .e-con-full.e-parent{--width:min(100%,1060px)}
body:not(.elementor-page-7582) .e-con{--container-max-width:1040px}
/* A container that only holds child containers was a row of columns. */
@media(min-width:768px){
 body:not(.elementor-page-7582) .e-con:has(>.e-con+.e-con):not(:has(>.elementor-widget)),
 body:not(.elementor-page-7582) .e-con:has(>.e-con-inner>.e-con+.e-con):not(:has(>.e-con-inner>.elementor-widget)){--flex-direction:row;--align-items:center;--gap:40px}
 body:not(.elementor-page-7582) .e-con:has(>.e-con+.e-con):not(:has(>.elementor-widget))>.e-con,
 body:not(.elementor-page-7582) .e-con>.e-con-inner:has(>.e-con+.e-con):not(:has(>.elementor-widget))>.e-con{--width:auto;flex:1 1 0}
}
.e-con .elementor-widget-image img{max-width:100%;height:auto}
/* Old-style Elementor sections also lost their per-post padding. */
body:not(.elementor-page-7582) .elementor-top-section:not(:first-child){padding:30px 0}
/* Pages with a transparent header pull content up by 110px (inline style on
   .eltdf-content); the first block originally was a hero with a background
   photo. Keep the header clear of content. */
body:not(.elementor-page-7582) .eltdf-content[style*="-110px"]>.eltdf-content-inner>.elementor>:first-child:not(:has(.archive-carousel)){padding-top:150px!important}
body:not(.elementor-page-7582) .eltdf-content[style*="-110px"]>.eltdf-content-inner>.elementor>.e-con:first-child:has(>.e-con-inner:empty){--padding-top:0;--padding-bottom:0;padding:110px 0 0!important;min-height:0}
body:not(.elementor-page-7582) .eltdf-content[style*="-110px"]>.eltdf-content-inner>.elementor>.e-con:first-child:has(>.e-con-inner:empty)+*{--padding-top:60px}
/* Main menu (8 items + language flags) is wider than the space between the
   logo box and the side-area opener on common laptop widths. */
@media(min-width:1025px) and (max-width:1680px){
 .eltdf-page-header .eltdf-menu-area .eltdf-position-center{box-sizing:border-box;padding:0 70px 0 125px}
 .eltdf-page-header .eltdf-main-menu>ul>li>a{padding-left:13px!important;padding-right:13px!important;letter-spacing:.24em!important}
 .eltdf-page-header .eltdf-main-menu>ul>li.wpml-ls-item>a{padding-left:4px!important;padding-right:4px!important}
}
/* Full-screen parallax sections lost their background photo (not archived):
   size them to their content instead of leaving an empty 100vh block. */
.elementor-section.elementor-section-height-full{height:auto!important;min-height:0!important}
.elementor-section.elementor-section-height-full>.elementor-container{min-height:0!important;padding:70px 0}
/* Portfolio tiles whose photo is not archived are shown as text cards. */
.eltdf-pl-item.archive-no-image .eltdf-pl-item-inner{border:1px solid rgba(188,154,107,.35);padding:34px 20px;min-height:0;display:flex;align-items:center;justify-content:center}
.eltdf-pl-item.archive-no-image .eltdf-pli-text-holder{position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;padding:0!important;background:none!important}
.eltdf-pl-item.archive-no-image .eltdf-pli-text-holder *{opacity:1!important;transform:none!important}
/* Theme title area: give the title a little air below the 110px header. */
.eltdf-title-holder.eltdf-title-va-header-bottom{height:auto!important}
.eltdf-title-holder.eltdf-title-va-header-bottom .eltdf-title-wrapper{height:auto!important;padding:140px 0 34px!important}
/* Galleries reduced to the few archived photos: centre the remaining tiles. */
.eltdf-ig-inner:not(:has(>.eltdf-ig-image:nth-child(3))){display:flex;justify-content:center;flex-wrap:wrap}
.eltdf-ig-inner:not(:has(>.eltdf-ig-image:nth-child(3)))>.eltdf-ig-image{float:none;width:33.33%}
.eltdf-pl-inner:has(>.eltdf-pl-item.archive-no-image){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;height:auto!important;margin:0 0 20px!important}
.eltdf-pl-inner:has(>.eltdf-pl-item.archive-no-image)>*{float:none!important;position:static!important;width:auto!important;margin:0!important;padding:0!important;transform:none!important}
.eltdf-pl-inner:has(>.eltdf-pl-item.archive-no-image)>:not(.eltdf-pl-item){display:none}
.eltdf-pl-inner:has(>.eltdf-pl-item.archive-no-image)::before,.eltdf-pl-inner:has(>.eltdf-pl-item.archive-no-image)::after{display:none!important}
.eltdf-pl-item.archive-no-image .eltdf-pl-item-inner{height:100%;box-sizing:border-box}
@media(max-width:680px){.archive-carousel{padding-top:100px}}
@media(max-width:1024px){
 body:not(.elementor-page-7582) .eltdf-content[style*="-110px"]>.eltdf-content-inner>.elementor>:first-child:not(:has(.archive-carousel)){padding-top:40px!important}
 body:not(.elementor-page-7582) .eltdf-content[style*="-110px"]>.eltdf-content-inner>.elementor>.e-con:first-child:has(>.e-con-inner:empty){padding:0!important}
 body:not(.elementor-page-7582) .eltdf-content[style*="-110px"]>.eltdf-content-inner>.elementor>.e-con:first-child:has(>.e-con-inner:empty)+*{--padding-top:30px}
}
/* Rate-my-post summary injected above the content ends up under the header;
   the same rating is shown again below the content. */
.eltdf-content-inner>.rmp-results-widget{display:none}
