/*
Cunello Core 1.1 — Homepage
The layout follows the supplied Cunello master design.
*/

:root{
  --cunello-ink:#171717;
  --cunello-navy:#253247;
  --cunello-gold:#ad8b62;
  --cunello-cream:#f7f5f1;
  --cunello-white:#fff;
  --cunello-line:#ddd6cc;
  --cunello-max:1540px;
  --cunello-serif: Georgia, "Times New Roman", serif;
  --cunello-sans: Arial, Helvetica, sans-serif;
}

.cunello-homepage{background:#fff;color:var(--cunello-ink);font-family:var(--cunello-serif);line-height:1.6}
.cunello-homepage *{box-sizing:border-box}
.cunello-homepage a{color:inherit;text-decoration:none}
.cunello-homepage img{max-width:100%}

.cunello-header{height:88px;display:flex;align-items:center;gap:34px;padding:0 34px;border-bottom:1px solid #ddd;background:#fff;position:relative;z-index:20}
.cunello-brand{display:flex;align-items:center;min-width:270px}
.cunello-brand img{width:170px;height:auto;display:block}
.cunello-brand-fallback{font-size:32px;font-style:italic;line-height:1}
.cunello-brand-fallback small{display:block;font-size:9px;letter-spacing:3px;font-style:normal;margin-top:12px}
.cunello-nav{display:flex;align-items:center;justify-content:flex-end;gap:30px;flex:1}
.cunello-nav>a{font-size:11px;letter-spacing:1.7px;white-space:nowrap}
.cunello-nav>a:not(.cunello-nav-cta){padding:8px 0;position:relative}
.cunello-nav>a:not(.cunello-nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--cunello-gold);transform:scaleX(0);transition:transform .25s ease}
.cunello-nav>a:hover:after,.cunello-nav>a.is-active:after{transform:scaleX(1)}
.cunello-nav-cta{border:1px solid var(--cunello-gold);padding:12px 28px!important;letter-spacing:1.7px}
.cunello-nav-cta:hover{background:var(--cunello-gold);color:#fff}
.cunello-menu-toggle{display:none;background:none;border:0;padding:8px;margin-left:auto}

.cunello-hero{position:relative;min-height:425px;background:#3a3028 var(--cunello-image) center center/cover no-repeat;overflow:hidden}
.cunello-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.20) 100%)}

.cunello-values{display:grid;grid-template-columns:repeat(5,1fr);padding:18px 3.5%;border-bottom:1px solid var(--cunello-line);background:#fff}
.cunello-value{display:flex;gap:15px;align-items:center;padding:8px 22px;border-right:1px solid var(--cunello-line)}
.cunello-value:last-child{border-right:0}
.cunello-value h2,.cunello-promise h2{font-size:12px;font-weight:400;letter-spacing:1px;margin:0 0 6px}
.cunello-value p,.cunello-promise p{font-size:11px;line-height:1.55;margin:0}
.cunello-value-icon,.cunello-promise-icon{width:45px;height:45px;flex:0 0 45px;position:relative;color:var(--cunello-gold)}
.cunello-value-icon:before,.cunello-promise-icon:before{content:"";position:absolute;inset:7px;border:1.5px solid currentColor;border-radius:50%;opacity:.9}
.cunello-icon-needle:after{content:"✦";position:absolute;left:12px;top:6px;font-size:25px}
.cunello-icon-measure:after{content:"⌁";position:absolute;left:8px;top:2px;font-size:31px}
.cunello-icon-fabric:after{content:"▤";position:absolute;left:10px;top:7px;font-size:23px}
.cunello-icon-elegance:after{content:"♧";position:absolute;left:10px;top:6px;font-size:24px}
.cunello-icon-advisor:after{content:"♙";position:absolute;left:11px;top:5px;font-size:25px}
.cunello-icon-quality:after{content:"◇";position:absolute;left:10px;top:5px;font-size:25px}
.cunello-icon-italy:after{content:"✦";position:absolute;left:12px;top:5px;font-size:24px}
.cunello-icon-fit:after{content:"⌁";position:absolute;left:8px;top:2px;font-size:31px}

.cunello-offers{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--cunello-max);margin:0 auto}
.cunello-card{border-right:1px solid #e4dfd8}
.cunello-card:last-child{border-right:0}
.cunello-card-image{display:block;height:210px;background:#eee var(--cunello-image) center/cover no-repeat}
.cunello-card-content{padding:18px 26px 28px;min-height:190px}
.cunello-card h2{font-size:16px;font-weight:400;letter-spacing:3px;margin:0 0 8px}
.cunello-card-rule{display:block;width:25px;height:1px;background:var(--cunello-gold);margin:10px 0}
.cunello-card p{font-size:12px;line-height:1.7;margin:0 0 18px}
.cunello-text-link{font-size:11px;letter-spacing:1.4px;color:var(--cunello-gold);transition:letter-spacing .2s ease}
.cunello-text-link span{font-size:16px;margin-left:7px}
.cunello-text-link:hover{letter-spacing:2px}

.cunello-promises{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 5%;background:var(--cunello-cream);border-top:1px solid var(--cunello-line);border-bottom:1px solid var(--cunello-line)}
.cunello-promise{display:flex;align-items:center;gap:14px;padding:5px 25px;border-right:1px solid var(--cunello-line)}
.cunello-promise:last-child{border-right:0}

.cunello-footer{padding:28px 5% 30px;text-align:center;background:#fff}
.cunello-footer-brand{font-size:20px;font-style:italic;margin-bottom:18px}
.cunello-footer-brand span{display:block;font-size:8px;letter-spacing:3px;font-style:normal;margin-top:6px}
.cunello-footer-links{display:flex;justify-content:center;gap:28px;margin-bottom:14px}
.cunello-footer-links a{font-size:10px;letter-spacing:1px}
.cunello-footer-copy{font-size:10px;color:#777}

@media (max-width:1100px){
  .cunello-header{padding:0 20px;gap:15px}
  .cunello-brand{min-width:205px}
  .cunello-brand img{width:155px}
  .cunello-nav{gap:18px}
  .cunello-nav>a{font-size:10px}
  .cunello-nav-cta{padding:10px 15px!important}
  .cunello-values{grid-template-columns:repeat(3,1fr)}
  .cunello-value:nth-child(3){border-right:0}
  .cunello-value:nth-child(n+4){margin-top:8px}
}

@media (max-width:760px){
  .cunello-header{height:82px}
  .cunello-brand{min-width:0}
  .cunello-brand img{width:145px}
  .cunello-menu-toggle{display:flex;flex-direction:column;gap:4px}
  .cunello-menu-toggle span:not(.screen-reader-text){display:block;width:25px;height:1px;background:#222}
  .cunello-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--cunello-line);padding:15px 22px;flex-direction:column;align-items:stretch;gap:0}
  .cunello-nav.is-open{display:flex}
  .cunello-nav>a{padding:12px 0!important;border-bottom:1px solid #eee}
  .cunello-nav-cta{margin-top:10px;text-align:center;border:1px solid var(--cunello-gold)!important}
  .cunello-hero{min-height:0 !important;height:auto !important;background:#fff !important}
  .cunello-hero-image{width:100% !important;height:auto !important;object-fit:initial !important;object-position:initial !important}
  .cunello-hero-brand{display:none !important}
  .cunello-hero-tagline{font-size:9px;letter-spacing:3.5px}
  .cunello-values{grid-template-columns:1fr;padding:8px 18px}
  .cunello-value{border-right:0;border-bottom:1px solid var(--cunello-line);padding:15px 8px}
  .cunello-value:last-child{border-bottom:0}
  .cunello-offers{grid-template-columns:1fr}
  .cunello-card{border-right:0;border-bottom:1px solid #e4dfd8}
  .cunello-card-image{height:240px}
  .cunello-card-content{min-height:0;padding:20px 22px 28px}
  .cunello-promises{grid-template-columns:1fr;padding:10px 20px}
  .cunello-promise{border-right:0;border-bottom:1px solid var(--cunello-line);padding:16px 8px}
  .cunello-promise:last-child{border-bottom:0}
  .cunello-footer-links{flex-wrap:wrap;gap:15px}
}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Cunello full-page test mode: suppress Astra page chrome. */
.cunello-core-fullpage .site-header,
.cunello-core-fullpage .site-footer,
.cunello-core-fullpage .entry-header,
.cunello-core-fullpage .page-header,
.cunello-core-fullpage .ast-page-builder-template .entry-header,
.cunello-core-fullpage .wp-block-post-title{display:none!important}
.cunello-core-fullpage .site-content,
.cunello-core-fullpage .content-area,
.cunello-core-fullpage .site-main,
.cunello-core-fullpage .entry-content,
.cunello-core-fullpage .ast-container,
.cunello-core-fullpage .ast-article-single{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.cunello-core-fullpage .cunello-homepage{width:100%;margin:0}

/* 1.1.3 layout refinements */
.cunello-header{
    position:relative;
    z-index:20;
    background:#fff;
}
.cunello-hero{
    margin-top:0 !important;
}

/* Remove any accidental horizontal overflow that created the white strip on the right. */
html, body{
    overflow-x:hidden;
}
.cunello-core-fullpage .site-content,
.cunello-core-fullpage .content-area,
.cunello-core-fullpage .site-main,
.cunello-core-fullpage .entry-content{
    overflow-x:hidden;
}

/* Keep the five value columns and the four product columns perfectly aligned. */
.cunello-values,
.cunello-products{
    width:100%;
    margin-left:0 !important;
    margin-right:0 !important;
}
.cunello-value,
.cunello-product{
    box-sizing:border-box;
}

/* Footer is Cunello-owned; ensure theme branding cannot intrude. */
.cunello-core-fullpage .site-info,
.cunello-core-fullpage .ast-footer-copyright,
.cunello-core-fullpage .ast-footer-widget-area{
    display:none !important;
}

/* Hide common Astra/theme credit links if present outside the Cunello footer. */
.cunello-core-fullpage a[href*="wpastra.com"],
.cunello-core-fullpage a[href*="wpastra"],
.cunello-core-fullpage a[href*="wordpress.org"]{
    display:none !important;
}

/* 1.1.4: force the Cunello canvas to use the complete browser width.
   This intentionally breaks out of Astra/Gutenberg's centered content wrapper. */
.cunello-core-fullpage .cunello-homepage{
    display:block !important;
    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:0 !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:0 !important;
    left:auto !important;
    right:auto !important;
}

.cunello-core-fullpage .cunello-header,
.cunello-core-fullpage .cunello-hero,
.cunello-core-fullpage .cunello-values,
.cunello-core-fullpage .cunello-offers,
.cunello-core-fullpage .cunello-promises,
.cunello-core-fullpage .cunello-footer{
    width:100% !important;
    max-width:none !important;
}

/* Header logo stays completely inside the header and can never overlap the hero. */
.cunello-core-fullpage .cunello-header{
    height:102px !important;
    min-height:102px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
}
.cunello-core-fullpage .cunello-brand{
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    flex:0 0 180px !important;
    overflow:hidden !important;
}
.cunello-core-fullpage .cunello-brand img{
    display:block !important;
    width:155px !important;
    max-width:155px !important;
    max-height:78px !important;
    height:auto !important;
    object-fit:contain !important;
}

/* The five value cells share one exact grid and one continuous baseline. */
.cunello-core-fullpage .cunello-values{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    align-items:stretch !important;
    box-sizing:border-box !important;
    padding:0 !important;
    margin:0 !important;
}
.cunello-core-fullpage .cunello-value{
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    min-height:132px !important;
}

/* The four product cards share one exact grid, with image and text boundaries aligned. */
.cunello-core-fullpage .cunello-offers{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch !important;
    box-sizing:border-box !important;
    padding:0 !important;
    margin:0 !important;
}
.cunello-core-fullpage .cunello-card{
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
}
.cunello-core-fullpage .cunello-card-image{
    width:100% !important;
    margin:0 !important;
    box-sizing:border-box !important;
}
.cunello-core-fullpage .cunello-card-content{
    flex:1 1 auto !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

/* No theme content can create a second white column beside the Cunello canvas. */
.cunello-core-fullpage .entry-content > *,
.cunello-core-fullpage .wp-block-post-content > *{
    max-width:none !important;
}

/* Remove theme credit elements even when Astra outputs them outside its footer wrapper. */
.cunello-core-fullpage [class*="ast-footer"],
.cunello-core-fullpage [class*="site-footer"]{
    display:none !important;
}

/* 1.1.5: finalise the 4-value / 4-product / 4-promise visual system. */

/* Four values: equal columns, balanced icon/text, consistent vertical rhythm. */
.cunello-core-fullpage .cunello-values{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    padding:16px 3.2% !important;
    min-height:132px;
}
.cunello-core-fullpage .cunello-value{
    min-height:100px !important;
    padding:10px 24px !important;
    gap:16px !important;
    align-items:center !important;
    border-right:1px solid var(--cunello-line) !important;
}
.cunello-core-fullpage .cunello-value:last-child{
    border-right:0 !important;
}
.cunello-core-fullpage .cunello-value h2{
    line-height:1.35 !important;
    margin-bottom:7px !important;
}
.cunello-core-fullpage .cunello-value p{
    line-height:1.55 !important;
    max-width:250px;
}
.cunello-core-fullpage .cunello-value-icon{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
}

/* Four promises: intentionally distinct from the product-card grid. */
.cunello-core-fullpage .cunello-promises{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:0 !important;
    padding:18px 5% !important;
    background:#f7f4ef !important;
    border-top:1px solid #e7e1d8 !important;
    border-bottom:1px solid #e7e1d8 !important;
}
.cunello-core-fullpage .cunello-promise{
    position:relative !important;
    border-right:0 !important;
    padding:9px 30px !important;
    min-height:68px !important;
    gap:14px !important;
}
.cunello-core-fullpage .cunello-promise:not(:last-child)::after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:1px;
    height:42px;
    background:#ddd5ca;
}
.cunello-core-fullpage .cunello-promise h2{
    line-height:1.35 !important;
    margin-bottom:6px !important;
}
.cunello-core-fullpage .cunello-promise p{
    line-height:1.5 !important;
}

/* Correct lower logo: use the exact selected Cunello logo artwork. */
.cunello-core-fullpage .cunello-footer-brand{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    min-height:74px !important;
    margin-bottom:12px !important;
    font-size:0 !important;
    font-style:normal !important;
}
.cunello-core-fullpage .cunello-footer-brand img{
    display:block !important;
    width:190px !important;
    max-width:40vw !important;
    height:auto !important;
    margin:0 auto !important;
}
.cunello-core-fullpage .cunello-footer-brand-fallback{
    font-size:20px;
    font-style:italic;
}

@media (max-width:1100px){
  .cunello-core-fullpage .cunello-values{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cunello-core-fullpage .cunello-value:nth-child(2){border-right:0 !important;}
  .cunello-core-fullpage .cunello-value:nth-child(3){border-right:1px solid var(--cunello-line) !important;}
}
@media (max-width:760px){
  .cunello-core-fullpage .cunello-values{grid-template-columns:1fr !important;}
  .cunello-core-fullpage .cunello-value,
  .cunello-core-fullpage .cunello-value:nth-child(3){border-right:0 !important;border-bottom:1px solid var(--cunello-line) !important;}
  .cunello-core-fullpage .cunello-value:last-child{border-bottom:0 !important;}
  .cunello-core-fullpage .cunello-promises{grid-template-columns:1fr !important;}
  .cunello-core-fullpage .cunello-promise:not(:last-child)::after{display:none;}
  .cunello-core-fullpage .cunello-promise:not(:last-child){border-bottom:1px solid #ddd5ca !important;}
}

/* 1.1.6: shared full-width grid geometry.
   The vertical separators of values, products and promises now use
   exactly the same four 25% column boundaries. */
.cunello-core-fullpage .cunello-values,
.cunello-core-fullpage .cunello-offers,
.cunello-core-fullpage .cunello-promises{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

.cunello-core-fullpage .cunello-values{
    grid-template-columns:repeat(4,25%) !important;
    padding:0 !important;
}
.cunello-core-fullpage .cunello-value{
    box-sizing:border-box !important;
    width:100% !important;
    padding:16px 28px !important;
}

.cunello-core-fullpage .cunello-offers{
    grid-template-columns:repeat(4,25%) !important;
}
.cunello-core-fullpage .cunello-card{
    box-sizing:border-box !important;
    width:100% !important;
}
.cunello-core-fullpage .cunello-card-content{
    box-sizing:border-box !important;
    padding-left:26px !important;
    padding-right:26px !important;
}

.cunello-core-fullpage .cunello-promises{
    grid-template-columns:repeat(4,25%) !important;
    padding:18px 0 !important;
}
.cunello-core-fullpage .cunello-promise{
    box-sizing:border-box !important;
    width:100% !important;
    padding-left:32px !important;
    padding-right:32px !important;
}

@media (max-width:1100px){
  .cunello-core-fullpage .cunello-values{grid-template-columns:repeat(2,50%) !important;}
  .cunello-core-fullpage .cunello-offers{grid-template-columns:repeat(2,50%) !important;}
  .cunello-core-fullpage .cunello-promises{grid-template-columns:repeat(2,50%) !important;}
}
@media (max-width:760px){
  .cunello-core-fullpage .cunello-values,
  .cunello-core-fullpage .cunello-offers,
  .cunello-core-fullpage .cunello-promises{grid-template-columns:100% !important;}
}

/* 1.1.7: align the vertical reading rhythm across all three content bands. */
.cunello-core-fullpage .cunello-value{
    align-items:flex-start !important;
    min-height:132px !important;
    padding-top:22px !important;
    padding-bottom:18px !important;
}
.cunello-core-fullpage .cunello-value-icon{margin-top:1px !important;}
.cunello-core-fullpage .cunello-value > div:last-child{padding-top:0 !important;}

.cunello-core-fullpage .cunello-card-content{
    min-height:190px !important;
    padding-top:22px !important;
    padding-bottom:22px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
}
.cunello-core-fullpage .cunello-card-content h2{margin-top:0 !important;}
.cunello-core-fullpage .cunello-card-content .cunello-card-rule{
    margin-top:9px !important;
    margin-bottom:12px !important;
}
.cunello-core-fullpage .cunello-card-content p{
    margin-top:0 !important;
    min-height:42px !important;
}
.cunello-core-fullpage .cunello-card-content .cunello-text-link{margin-top:auto !important;}

.cunello-core-fullpage .cunello-promise{
    align-items:flex-start !important;
    min-height:76px !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
}
.cunello-core-fullpage .cunello-promise-icon{margin-top:1px !important;}

.cunello-core-fullpage .cunello-footer-brand{
    width:100% !important;
    text-align:center !important;
}
.cunello-core-fullpage .cunello-footer-brand img{
    position:relative !important;
    left:-3px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* 1.1.8: use the supplied Cunello icon artwork for the homepage values. */
.cunello-core-fullpage .cunello-value-icon,
.cunello-core-fullpage .cunello-promise-icon{
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:31px 31px !important;
}
.cunello-core-fullpage .cunello-value-icon:after,
.cunello-core-fullpage .cunello-promise-icon:after{
    content:"" !important;
}
.cunello-core-fullpage .cunello-icon-scissors{background-image:url("../icons/schere.png") !important;}
.cunello-core-fullpage .cunello-icon-measure{background-image:url("../icons/massband.png") !important;}
.cunello-core-fullpage .cunello-icon-thread{background-image:url("../icons/nadel-faden.png") !important;}
.cunello-core-fullpage .cunello-icon-handshake{background-image:url("../icons/handschlag.png") !important;}
.cunello-core-fullpage .cunello-icon-quality{background-image:url("../icons/handshake.png") !important;}
.cunello-core-fullpage .cunello-icon-phone{background-image:url("../icons/service-new.svg") !important;}
.cunello-core-fullpage .cunello-icon-jacket{background-image:url("../icons/blazer.png") !important;}
.cunello-core-fullpage .cunello-icon-calendar{background-image:url("../icons/appointment-new.svg") !important;}

.cunello-core-fullpage .cunello-icon-quality{background-image:none !important;}
.cunello-core-fullpage .cunello-icon-quality:after{content:"◇" !important;}
.cunello-core-fullpage .cunello-icon-phone{background-image:none !important;}
.cunello-core-fullpage .cunello-icon-phone:after{content:"☎" !important;}
.cunello-core-fullpage .cunello-icon-jacket{background-image:url("../icons/blazer.png") !important;}
.cunello-core-fullpage .cunello-icon-calendar{background-image:none !important;}
.cunello-core-fullpage .cunello-icon-calendar:after{content:"□" !important;}

/* 1.1.9: dedicated, transparent lower promise icons */
.cunello-core-fullpage .cunello-promise .cunello-icon-quality,
.cunello-core-fullpage .cunello-promise .cunello-icon-phone,
.cunello-core-fullpage .cunello-promise .cunello-icon-jacket,
.cunello-core-fullpage .cunello-promise .cunello-icon-calendar{
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:31px 31px !important;
}
.cunello-core-fullpage .cunello-promise .cunello-icon-quality{
    background-image:url("../icons/quality-new.svg") !important;
}
.cunello-core-fullpage .cunello-promise .cunello-icon-phone{
    background-image:url("../icons/service-new.svg") !important;
}
.cunello-core-fullpage .cunello-promise .cunello-icon-jacket{
    background-image:url("../icons/manufacturing-new.svg") !important;
}
.cunello-core-fullpage .cunello-promise .cunello-icon-calendar{
    background-image:url("../icons/appointment-new.svg") !important;
}
.cunello-core-fullpage .cunello-promise .cunello-icon-quality:after,
.cunello-core-fullpage .cunello-promise .cunello-icon-phone:after,
.cunello-core-fullpage .cunello-promise .cunello-icon-jacket:after,
.cunello-core-fullpage .cunello-promise .cunello-icon-calendar:after{
    content:"" !important;
}

/* 1.1.15: lower promise icons use tightly cropped artwork for the approved reference scale. */
.cunello-core-fullpage .cunello-promise-icon{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    background-size:44px 44px !important;
}


/* 1.1.16: lower promise icons match the approved reference: no circular frames, balanced free-standing icons. */
.cunello-core-fullpage .cunello-promise .cunello-promise-icon{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:44px 44px !important;
    border:0 !important;
}
.cunello-core-fullpage .cunello-promise .cunello-promise-icon:before{
    display:none !important;
    content:none !important;
}
.cunello-core-fullpage .cunello-promise .cunello-icon-jacket{background-size:46px 46px !important;}

/* 1.1.16 final override */
.cunello-core-fullpage .cunello-promises .cunello-promise-icon:before{display:none !important;border:0 !important;content:none !important;}
.cunello-core-fullpage .cunello-promises .cunello-promise-icon{width:52px !important;height:52px !important;flex:0 0 52px !important;background-repeat:no-repeat !important;background-position:center !important;background-size:44px 44px !important;}
.cunello-core-fullpage .cunello-promises .cunello-icon-jacket{background-size:46px 46px !important;}
.cunello-core-fullpage .cunello-promises .cunello-promise-icon:after{content:"" !important;}


/* 1.1.25: scale the existing phone handset slightly down to match the other lower icons. */
.cunello-core-fullpage .cunello-promises .cunello-icon-phone{
    background-size:38px 38px !important;
}

/* 1.1.19: final discreet lower promise icon set. */
.cunello-core-fullpage .cunello-promises .cunello-promise-icon{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:44px 44px !important;
    border:0 !important;
}
.cunello-core-fullpage .cunello-promises .cunello-icon-quality{
    background-image:url("../icons/quality-new.svg") !important;
}
.cunello-core-fullpage .cunello-promises .cunello-icon-phone{
    background-image:url("../icons/phone.png") !important;
}
.cunello-core-fullpage .cunello-promises .cunello-icon-italy{
    background-image:url("../icons/italy.svg") !important;
}
.cunello-core-fullpage .cunello-promises .cunello-icon-calendar{
    background-image:url("../icons/appointment-new.svg") !important;
}
.cunello-core-fullpage .cunello-promises .cunello-promise-icon:before,
.cunello-core-fullpage .cunello-promises .cunello-promise-icon:after{
    display:none !important;
    content:none !important;
}

/* 1.1.26: final phone icon correction — use the existing handset artwork, smaller and in the approved Cunello gold. */
.cunello-core-fullpage .cunello-promises .cunello-icon-phone{
    background-image:url("../icons/phone.png") !important;
    background-size:34px 34px !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}


/* 1.1.27: final header navigation treatment.
   Every navigation item has the same subtle static underline.
   Hover adds a second, gold accent without changing the text layout. */
.cunello-core-fullpage .cunello-header{
    height:102px !important;
    min-height:102px !important;
    padding-left:22px !important;
    padding-right:22px !important;
    gap:28px !important;
}
.cunello-core-fullpage .cunello-brand{
    flex:0 0 250px !important;
    min-width:250px !important;
    height:100% !important;
}
.cunello-core-fullpage .cunello-brand img{
    width:200px !important;
    max-width:200px !important;
    max-height:90px !important;
}
.cunello-core-fullpage .cunello-nav{
    gap:30px !important;
    justify-content:flex-end !important;
    align-items:center !important;
}
.cunello-core-fullpage .cunello-nav > a:not(.cunello-nav-cta){
    position:relative !important;
    padding:8px 0 9px !important;
    border-bottom:1px solid #d8d1c7 !important;
    line-height:1 !important;
}
.cunello-core-fullpage .cunello-nav > a:not(.cunello-nav-cta)::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:-1px !important;
    height:1px !important;
    background:var(--cunello-gold) !important;
    transform:scaleX(0) !important;
    transform-origin:center !important;
    transition:transform .22s ease !important;
}
.cunello-core-fullpage .cunello-nav > a:not(.cunello-nav-cta):hover::after,
.cunello-core-fullpage .cunello-nav > a:not(.cunello-nav-cta):focus-visible::after{
    transform:scaleX(1) !important;
}
.cunello-core-fullpage .cunello-nav > a:not(.cunello-nav-cta).is-active::after{
    transform:scaleX(0) !important;
}
.cunello-core-fullpage .cunello-nav-cta{
    padding:12px 28px !important;
}

@media (max-width:1100px){
  .cunello-core-fullpage .cunello-header{padding-left:20px !important;padding-right:20px !important;gap:15px !important;}
  .cunello-core-fullpage .cunello-brand{flex:0 0 205px !important;min-width:205px !important;}
  .cunello-core-fullpage .cunello-brand img{width:155px !important;max-width:155px !important;}
}
@media (max-width:760px){
  .cunello-core-fullpage .cunello-header{height:82px !important;min-height:82px !important;}
  .cunello-core-fullpage .cunello-brand{flex:0 0 auto !important;min-width:0 !important;}
  .cunello-core-fullpage .cunello-brand img{width:145px !important;max-width:145px !important;}
}


/* 1.1.29: header logo refinement — larger and closer to the left edge. */
.cunello-core-fullpage .cunello-header .cunello-brand img{
    width:200px !important;
    max-width:200px !important;
    max-height:90px !important;
}
.cunello-core-fullpage .cunello-header{
    padding-left:22px !important;
    padding-right:22px !important;
}


/* 1.1.30: refine header logo presentation.
   The supplied logo artwork contains a very compressed tagline. Keep the original artwork,
   mask only that tiny tagline area, and render the same wording as clean header text. */
.cunello-core-fullpage .cunello-header .cunello-brand{
    position:relative !important;
    flex:0 0 225px !important;
    min-width:225px !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
}
.cunello-core-fullpage .cunello-header .cunello-brand img{
    width:180px !important;
    max-width:180px !important;
    max-height:82px !important;
    height:auto !important;
    transform:scale(1.28) !important;
    transform-origin:left center !important;
}
.cunello-core-fullpage .cunello-header .cunello-brand::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    bottom:0 !important;
    width:205px !important;
    height:22px !important;
    background:#fff !important;
    z-index:2 !important;
}
.cunello-core-fullpage .cunello-header .cunello-brand-tagline{
    position:absolute !important;
    left:17px !important;
    bottom:5px !important;
    width:175px !important;
    z-index:3 !important;
    display:block !important;
    text-align:center !important;
    white-space:nowrap !important;
    font-family:Georgia, "Times New Roman", serif !important;
    font-size:8px !important;
    line-height:1 !important;
    letter-spacing:1.55px !important;
    color:#171717 !important;
}
@media (max-width:1100px){
  .cunello-core-fullpage .cunello-header .cunello-brand{flex-basis:195px !important;min-width:195px !important;}
  .cunello-core-fullpage .cunello-header .cunello-brand img{width:165px !important;max-width:165px !important;}
  .cunello-core-fullpage .cunello-header .cunello-brand::after{width:185px !important;}
  .cunello-core-fullpage .cunello-header .cunello-brand-tagline{width:160px !important;font-size:7.5px !important;letter-spacing:1.35px !important;}
}

/* 1.1.32: Header logo matches the footer logo exactly. */
.cunello-core-fullpage .cunello-header .cunello-brand{
    position:relative !important;
    flex:0 0 225px !important;
    min-width:225px !important;
    justify-content:flex-start !important;
    overflow:visible !important;
}
.cunello-core-fullpage .cunello-header .cunello-brand img{
    display:block !important;
    width:190px !important;
    max-width:190px !important;
    max-height:none !important;
    height:auto !important;
    transform:none !important;
    margin:0 !important;
    transform:translateX(14px) !important;
}
.cunello-core-fullpage .cunello-header .cunello-brand::after{
    content:none !important;
    display:none !important;
}
.cunello-core-fullpage .cunello-header .cunello-brand-tagline{
    display:none !important;
}

/* 1.1.33: Restore footer exactly to the 1.1.31 presentation. */
.cunello-core-fullpage .cunello-footer-brand{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    min-height:74px !important;
    margin-bottom:12px !important;
    font-size:0 !important;
    font-style:normal !important;
    width:100% !important;
    text-align:center !important;
}
.cunello-core-fullpage .cunello-footer-brand img{
    display:block !important;
    width:190px !important;
    max-width:40vw !important;
    height:auto !important;
    position:relative !important;
    left:-3px !important;
    margin:0 auto !important;
}

/* 1.1.47: Hero uses the original artwork as a real responsive image. */
.cunello-homepage .cunello-hero{
    position:relative !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
    background:#fff !important;
    overflow:hidden !important;
}
.cunello-homepage .cunello-hero-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    margin:0 !important;
}
.cunello-homepage .cunello-hero-overlay{
    display:none !important;
}

/* 1.1.48: preserve original header logo; visually remove its white backing. */
.cunello-homepage .cunello-brand img{
    mix-blend-mode:multiply !important;
    background:transparent !important;
}

/* 1.1.50: original transparent logo for header only. Hero remains exactly as 1.1.48. */
.cunello-homepage .cunello-brand{
    background:transparent !important;
}
.cunello-homepage .cunello-brand img{
    display:block !important;
    background:transparent !important;
    width:165px !important;
    height:auto !important;
    object-fit:contain !important;
}


/* 1.1.51 — Homepage responsive header and mobile geometry aligned with the Maßanzüge subsite. */
.cunello-homepage{overflow-x:hidden !important;}
.cunello-mobile-appointment,
.cunello-mobile-menu{display:none;}

@media (max-width:900px){
  .cunello-homepage .cunello-header{
    height:74px !important;
    min-height:74px !important;
    padding:0 16px !important;
    gap:10px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
  .cunello-homepage .cunello-brand{
    min-width:0 !important;
    flex:1 1 auto !important;
    height:100% !important;
  }
  .cunello-homepage .cunello-brand img{
    width:135px !important;
    max-width:100% !important;
    max-height:62px !important;
    height:auto !important;
  }
  .cunello-homepage .cunello-mobile-appointment{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 1 auto;
    max-width:145px;
    min-width:0;
    box-sizing:border-box;
    padding:9px 10px;
    border:1px solid var(--cunello-gold);
    color:var(--cunello-navy);
    font-family:var(--cunello-sans);
    font-size:9px;
    line-height:1.15;
    letter-spacing:.11em;
    text-align:center;
    white-space:normal;
  }
  .cunello-homepage .cunello-mobile-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-width:48px;
    min-height:38px;
    padding:8px 7px;
    border:1px solid #d9d9d9;
    background:#fff;
    color:var(--cunello-navy);
    font-family:var(--cunello-sans);
    font-size:9px;
    letter-spacing:.1em;
    cursor:pointer;
  }
  .cunello-homepage .cunello-nav{
    display:none !important;
    position:absolute;
    top:74px;
    left:0;
    right:0;
    z-index:50;
    background:#fff;
    border-bottom:1px solid var(--cunello-line);
    padding:15px 22px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .cunello-homepage .cunello-nav.is-mobile-open{
    display:flex !important;
  }
  .cunello-homepage .cunello-nav>a{
    padding:12px 0 !important;
    border-bottom:1px solid #eee;
    font-size:10px !important;
  }
  .cunello-homepage .cunello-nav-cta{
    margin-top:10px;
    text-align:center;
  }
  .cunello-homepage .cunello-hero{
    height:clamp(300px,70vw,520px) !important;
    min-height:0 !important;
    background:#000 !important;
  }
  .cunello-homepage .cunello-hero-image{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:60% center !important;
  }
}

@media (max-width:900px) and (orientation:landscape){
  .cunello-homepage .cunello-hero{
    height:clamp(240px,62vh,380px) !important;
  }
  .cunello-homepage .cunello-hero-image{
    object-position:58% center !important;
  }
}

@media (max-width:430px){
  .cunello-homepage .cunello-header{padding-left:11px !important;padding-right:11px !important;gap:7px !important;}
  .cunello-homepage .cunello-brand img{width:116px !important;}
  .cunello-homepage .cunello-mobile-appointment{max-width:122px;padding:8px 7px;font-size:8px;}
  .cunello-homepage .cunello-mobile-menu{min-width:43px;padding-left:5px;padding-right:5px;font-size:8px;}
}

/* 1.1.53 — Homepage mobile header matches the working Maßanzüge mobile header.
   Scoped to the homepage so it cannot affect the subsite. */
@media (max-width:900px){
  .cunello-core-fullpage .cunello-homepage .cunello-header{
    height:74px !important;
    min-height:74px !important;
    padding:0 16px !important;
    gap:10px !important;
    box-sizing:border-box !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-brand{
    min-width:0 !important;
    flex:1 1 auto !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-brand img{
    width:135px !important;
    max-width:100% !important;
    height:auto !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-mobile-appointment{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:145px !important;
    box-sizing:border-box !important;
    padding:9px 10px !important;
    border:1px solid var(--cunello-gold) !important;
    color:#253247 !important;
    font-size:9px !important;
    line-height:1.15 !important;
    letter-spacing:.11em !important;
    text-align:center !important;
    white-space:normal !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-mobile-menu{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    min-width:48px !important;
    min-height:38px !important;
    padding:8px 7px !important;
    border:1px solid #d9d9d9 !important;
    background:#fff !important;
    color:#253247 !important;
    font:inherit !important;
    font-size:9px !important;
    letter-spacing:.1em !important;
    cursor:pointer !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-nav{
    display:none !important;
    position:absolute !important;
    top:74px !important;
    left:0 !important;
    right:0 !important;
    z-index:50 !important;
    background:#fff !important;
    border-bottom:1px solid var(--cunello-line) !important;
    padding:8px 20px 18px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    box-sizing:border-box !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-nav.is-mobile-open{
    display:flex !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-nav>a{
    padding:12px 0 !important;
    border-bottom:1px solid #eee !important;
    font-size:10px !important;
    line-height:1.2 !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-nav-cta{
    display:none !important;
  }
  /* Keep the already-corrected HP hero positioning. */
  .cunello-core-fullpage .cunello-homepage .cunello-hero-image{
    object-position:50% center !important;
  }
}

@media (max-width:430px){
  .cunello-core-fullpage .cunello-homepage .cunello-header{
    padding-left:11px !important;
    padding-right:11px !important;
    gap:7px !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-brand img{width:116px !important;}
  .cunello-core-fullpage .cunello-homepage .cunello-mobile-appointment{
    max-width:122px !important;
    padding:8px 7px !important;
    font-size:8px !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-mobile-menu{
    min-width:43px !important;
    min-height:38px !important;
    padding:8px 5px !important;
    font-size:8px !important;
  }
}

/* 1.1.57 — Homepage mobile menu reliability fix.
   JS/CSS use the same state class and the menu button stays above the header. */
@media (max-width:900px){
  .cunello-core-fullpage .cunello-homepage .cunello-mobile-menu{
    position:relative !important;
    z-index:10001 !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-nav.is-mobile-open{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    display:flex !important;
    z-index:10000 !important;
  }
}

/* 1.1.54 — Homepage hero aligned to the proven Subsite Core native-image solution.
   Full supplied artwork stays visible; the image itself determines hero height.
   No cover crop, fixed aspect ratio, blur extension, or artificial side panel. */
.cunello-core-fullpage .cunello-homepage .cunello-hero{
    position:relative !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    background:#fff !important;
}
.cunello-core-fullpage .cunello-homepage .cunello-hero-image{
    display:block !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    object-fit:initial !important;
    object-position:initial !important;
}
.cunello-core-fullpage .cunello-homepage .cunello-hero-overlay{
    display:none !important;
}
@media(max-width:760px){
    .cunello-core-fullpage .cunello-homepage .cunello-hero{
        height:auto !important;
        min-height:0 !important;
        aspect-ratio:auto !important;
    }
    .cunello-core-fullpage .cunello-homepage .cunello-hero-image{
        width:100% !important;
        height:auto !important;
        object-fit:initial !important;
    }
}

/* 1.1.55 — final native homepage hero correction */
.cunello-core-fullpage .cunello-homepage .cunello-hero{
    position:relative !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    background:#fff !important;
    overflow:hidden !important;
}
.cunello-core-fullpage .cunello-homepage .cunello-hero-image{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    object-fit:initial !important;
    object-position:initial !important;
}
.cunello-core-fullpage .cunello-homepage .cunello-hero-overlay{
    display:none !important;
}
@media(max-width:760px){
    .cunello-core-fullpage .cunello-homepage .cunello-hero{
        min-height:0 !important;
        height:auto !important;
        aspect-ratio:auto !important;
    }
    .cunello-core-fullpage .cunello-homepage .cunello-hero-image{
        width:100% !important;
        height:auto !important;
        object-fit:initial !important;
    }
}


/* 1.1.59 — Homepage mobile menu: direct button hit area.
   Homepage only; no changes to subsite navigation. */
@media (max-width:900px){
  .cunello-core-fullpage .cunello-homepage .cunello-header{
    position:relative !important;
    z-index:1000 !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-mobile-menu{
    position:relative !important;
    z-index:1002 !important;
    pointer-events:auto !important;
    -webkit-tap-highlight-color:transparent !important;
    touch-action:manipulation !important;
  }
  .cunello-core-fullpage .cunello-homepage .cunello-nav.is-mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:1001 !important;
  }
}
