/* ==========================================================================
   EUROWARE — Elementor + Hello compatibility layer
   Maps the prototype design onto Elementor's container/widget markup.
   ========================================================================== */

/* Hello resets and Elementor defaults */
body{font-family:Manrope,sans-serif}
a{color:inherit}
.elementor-heading-title{line-height:1.05;color:inherit;font-family:inherit}
.elementor-widget-text-editor{color:inherit}
.elementor-widget:not(:last-child){margin-block-end:0}
.e-con.ew-raw{padding:0;gap:0}
.e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}
.e-con>.elementor-widget-html{width:100%}

/* Flex rows the prototype expects (Elementor defaults containers to column) */
.e-con.page-title,.e-con.actions,.e-con.section-head,.e-con.footer-top{flex-direction:row}
@media(max-width:950px){.e-con.page-title{flex-direction:column}}
@media(max-width:800px){.e-con.section-head{flex-direction:column}}

/* Text blocks that were direct <p> children in the prototype */
.elementor .page-title>.elementor-widget-text-editor{max-width:390px;flex:0 1 390px;color:var(--muted)}
.form-layout aside>.elementor-widget-text-editor{margin:25px 0}
.intro .elementor-widget-text-editor p+p,.trade-head .elementor-widget-text-editor p+p{margin-top:20px}
@media(max-width:950px){.page-title>.elementor-widget-text-editor{margin-top:26px;max-width:540px}}
@media(max-width:480px){.page-title>.elementor-widget-text-editor{font-size:15px}}

/* Images that fill a framed box */
.collection-image,.detail-crop,.wide-image,.hero-media{position:relative}
.hero-media{position:absolute}
.collection-image>.elementor-widget-image,.detail-crop>.elementor-widget-image,.wide-image>.elementor-widget-image,.hero-media>.elementor-widget-image{position:absolute;inset:0;margin:0}
.collection-image .elementor-widget-container,.detail-crop .elementor-widget-container,.wide-image .elementor-widget-container,.hero-media .elementor-widget-container{height:100%}
.elementor .collection-image img,.elementor .detail-crop img,.elementor .wide-image img,.elementor .hero-media img{width:100%;height:100%;max-width:none;object-fit:cover}
.elementor .hero-media img{object-position:50% 55%;transform:translateY(var(--hero-y,0px)) scale(1.04)}
.elementor .collection-image img{object-position:75% 50%}
.elementor .detail-crop img{object-position:right;transform:scale(1.7);transform-origin:85% 42%}
.elementor .wide-image img{object-position:center 60%}
.image-note{z-index:1}
.editorial-feature>.elementor-widget-image img{width:100%;height:650px;object-fit:cover;object-position:75% center}
@media(max-width:950px){.editorial-feature>.elementor-widget-image img{height:500px}}
@media(max-width:800px){.editorial-feature>.elementor-widget-image img{height:420px}.elementor .hero-media img{object-position:62% center}}

/* Buttons: Elementor button widget styled as the EUROWARE button */
.elementor .elementor-widget-button .elementor-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);min-height:54px;padding:14px 23px;font:600 13px/1.2 Manrope,sans-serif;letter-spacing:0;border-radius:2px;box-shadow:none;transition:background .18s,border-color .18s,transform .15s}
.elementor .elementor-widget-button .elementor-button:after{content:'';width:24px;height:24px;flex:none;background:currentColor;-webkit-mask:var(--ew-icon) center/24px no-repeat;mask:var(--ew-icon) center/24px no-repeat;transition:transform .25s var(--ease)}
.elementor-widget-button{--ew-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E")}
.elementor-widget-button.ew-diag{--ew-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E")}
.elementor .elementor-widget-button .elementor-button:hover,.elementor .elementor-widget-button .elementor-button:focus-visible{background:var(--eucalypt);border-color:var(--eucalypt);color:var(--paper)}
.elementor .elementor-widget-button .elementor-button:hover:after{transform:translateX(4px)}
.elementor .elementor-widget-button .elementor-button:active{transform:translateY(1px)}
.elementor .elementor-widget-button.pale .elementor-button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.elementor .elementor-widget-button.pale .elementor-button:hover{background:var(--sage);border-color:var(--sage);color:var(--ink)}
.elementor .elementor-widget-button.light .elementor-button{background:transparent;color:var(--paper);border-color:#bbbcb6}
.elementor .elementor-widget-button.light .elementor-button:hover{background:var(--tint-light);border-color:var(--paper)}
.elementor .collection .elementor-widget-button .elementor-button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.elementor .collection .elementor-widget-button .elementor-button:hover{background:var(--sage);border-color:var(--sage)}
/* Text links */
.elementor .elementor-widget-button.text-link{display:block;border:0;padding:0;margin-top:26px;background:none}
.elementor .elementor-widget-button.text-link .elementor-button{background:linear-gradient(var(--signal),var(--signal)) 0 100%/0 2px no-repeat;color:inherit;border:0;border-bottom:1px solid currentColor;border-radius:0;min-height:0;padding:0 0 8px;gap:26px;transition:background-size .35s var(--ease)}
.elementor .elementor-widget-button.text-link .elementor-button:hover{background-color:transparent;background-size:100% 2px;color:inherit}
.elementor .elementor-widget-button.text-link .elementor-button:hover:after{background:var(--signal-text)}
.elementor .trade .elementor-widget-button.text-link .elementor-button:hover:after,.full-footer .text-link:hover svg{background:var(--signal-on-dark)}
.elementor-widget-button .elementor-button-content-wrapper{display:inline}
.trade-head .elementor-widget-button{margin-top:30px}
.collection-copy .elementor-widget-button{margin-bottom:0}

/* Headings inside the pinned Berlin band */
.collection h2 .accent{color:var(--sage)}

/* Xpro header/footer wrappers */
.xpro-theme-builder-header,.xpro-theme-builder-header-nav{display:block;position:relative;z-index:20}
#xpro-theme-builder-footer{position:relative;z-index:5}
.xpro-theme-builder-header .elementor-widget-html,#xpro-theme-builder-footer .elementor-widget-html{width:100%}
.xpro-theme-builder-header .e-con,#xpro-theme-builder-footer .e-con{padding:0}

@media(prefers-reduced-motion:reduce){
  .elementor .elementor-widget-button .elementor-button,.elementor .elementor-widget-button .elementor-button:after{transition:none}
}
.shop-toggle.is-current{text-decoration:underline 2px var(--signal);text-underline-offset:9px}

/* Two-column form layouts with a plain second column (trade login) */
.form-layout>.e-con h2{font-size:44px;margin-bottom:25px}
.form-layout>.e-con>.elementor-widget-text-editor{margin-bottom:6px}
@media(max-width:800px){.form-layout>.e-con h2{font-size:36px}}
