/* NASCONDI HEADER E FOOTER NATIVI DI PRESTASHOP SOLO NELLA HOME */
body.page-home #header, 
body.page-home #footer,
body.page-home .footer-container,
body.page-home .header-container {
    display: none !important;
}

/* IL TUO CSS INIETTATO NEL WRAPPER PER NON DANNEGGIARE PRESTASHOP */
#ciompi-wrapper {
    --color-bg:         #000000;
    --color-bg-rect:    #000000;
    --color-cream:      #F6F5DD;
    --color-muted:      #D7D6C1;
    --color-muted2:     #C8C7B4;
    --color-accent:     #8F5B38;
    --color-rule-dark:  #31312C;
    --color-white:      #FFFFFF;

    --font-title:  'Averia Serif Libre', serif;
    --font-body:   'Open Sans', sans-serif;

    --max-width:   1000px;
    --gutter:      40px;

    background: var(--color-bg);
    color: var(--color-cream);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.5;
    overflow-x: hidden;
}

#ciompi-wrapper *, #ciompi-wrapper *::before, #ciompi-wrapper *::after { 
    box-sizing: border-box; margin: 0; padding: 0; 
}

#ciompi-wrapper a { color: inherit; text-decoration: none; }
#ciompi-wrapper h1, #ciompi-wrapper h2, #ciompi-wrapper h3, #ciompi-wrapper h4, #ciompi-wrapper h5 { font-weight: 400; line-height: 1.2; }

#ciompi-wrapper .page-center { max-width: var(--max-width); margin: 0 auto; padding: 0 20px; }
#ciompi-wrapper .full-bleed { width: 100vw; position: relative; left: 50%; transform: translateX(-50%); }
#ciompi-wrapper .rule { border: none; }
#ciompi-wrapper .rule-accent { border-top: 1px solid var(--color-accent); }
#ciompi-wrapper .rule-dark   { border-top: 1px solid var(--color-rule-dark); }

#ciompi-wrapper header { max-width: var(--max-width); margin: 0 auto; padding: 10px 20px 0; }
#ciompi-wrapper .header-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#ciompi-wrapper .main-nav ul { list-style: none; display: flex; gap: 0; }
#ciompi-wrapper .main-nav ul li a { display: block; font-family: var(--font-body); font-size: 14px; letter-spacing: 1px; color: var(--color-muted); line-height: 30px; padding: 8px 8px; transition: color 0.2s; }
#ciompi-wrapper .main-nav ul li.active a, #ciompi-wrapper .main-nav ul li a:hover { color: var(--color-white); }
#ciompi-wrapper .header-right { display: flex; align-items: center; gap: 16px; }
#ciompi-wrapper .header-contact { font-size: 12.7px; letter-spacing: 1px; color: var(--color-cream); line-height: 1.92; text-align: right; }
#ciompi-wrapper .lang-selector { display: flex; gap: 6px; background: rgba(0,0,0,1); padding: 2px 4px; }
#ciompi-wrapper .lang-selector a { display: flex; align-items: center; gap: 4px; font-size: 14px; color: var(--color-cream); }
#ciompi-wrapper .lang-selector img { width: 20px; height: auto; border: none; }
#ciompi-wrapper .cart-btn { position: relative; cursor: pointer; line-height: 0; }
#ciompi-wrapper .cart-btn svg { width: 21px; height: 21px; }
#ciompi-wrapper .cart-count { position: absolute; top: -8px; right: -14px; background: var(--color-bg); color: var(--color-cream); border-radius: 50%; font-size: 10px; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 1px var(--color-rule-dark); }
#ciompi-wrapper .site-title { text-align: center; padding: 18px 0 8px; }
#ciompi-wrapper .site-title a { font-family: var(--font-title); font-size: 30.5px; font-weight: 700; letter-spacing: -1px; color: var(--color-cream); line-height: 1.1; display: block; }

#ciompi-wrapper .hero { position: relative; width: 100%; height: 380px; overflow: hidden; background: #111; margin-top: 10px; }
#ciompi-wrapper .hero img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; display: block; }
#ciompi-wrapper .hero-overlay { position: absolute; inset: 0; background: rgba(22, 11, 3, 0.38); pointer-events: none; }

#ciompi-wrapper .section-heading { text-align: center; padding: 20px 20px; }
#ciompi-wrapper .section-heading--large { font-family: var(--font-title); font-size: 48px; font-weight: 900; letter-spacing: -1px; color: var(--color-white); line-height: 1; }
#ciompi-wrapper .section-heading--h1 { font-family: var(--font-title); font-size: 30px; font-weight: 900; letter-spacing: -1px; color: var(--color-white); }
#ciompi-wrapper .section-heading--h2 { font-family: var(--font-title); font-size: 30px; font-weight: 900; letter-spacing: -1px; color: var(--color-cream); }
#ciompi-wrapper .section-heading--sub { font-family: var(--font-title); font-size: 20px; font-weight: 900; letter-spacing: -1px; color: var(--color-cream); }

#ciompi-wrapper .pattern-strip { width: 100%; height: 100px; overflow: hidden; }
#ciompi-wrapper .pattern-strip img { width: 100%; height: 100%; object-fit: cover; }

#ciompi-wrapper .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gutter); padding: 28px 20px; max-width: var(--max-width); margin: 0 auto; }
#ciompi-wrapper .two-col--reverse { direction: rtl; }
#ciompi-wrapper .two-col--reverse > * { direction: ltr; }

#ciompi-wrapper .col-text { display: flex; flex-direction: column; justify-content: center; gap: 10px; }

#ciompi-wrapper .t-heading-section { font-family: var(--font-title); font-size: 27px; font-weight: 900; letter-spacing: -1px; color: var(--color-cream); text-align: center; line-height: 1.1; }
#ciompi-wrapper .t-heading-sub { font-family: var(--font-title); font-size: 18px; font-weight: 900; letter-spacing: -1px; color: var(--color-cream); text-align: center; }
#ciompi-wrapper .t-label { font-family: var(--font-title); font-size: 12px; font-weight: 700; letter-spacing: 1px; color: var(--color-cream); text-transform: uppercase; }
#ciompi-wrapper .t-body { font-family: var(--font-body); font-size: 17px; line-height: 1.76; color: var(--color-muted); font-weight: 400; }
#ciompi-wrapper .t-body-sm { font-family: var(--font-body); font-size: 12px; line-height: 1.76; color: var(--color-muted2); }
#ciompi-wrapper .t-body strong { font-weight: 700; }
#ciompi-wrapper .t-body a, #ciompi-wrapper .t-body-sm a { text-decoration: underline; }
#ciompi-wrapper .t-body ul { padding-left: 18px; }
#ciompi-wrapper .t-body li { margin-bottom: 4px; }
#ciompi-wrapper .text-center { text-align: center; }

#ciompi-wrapper .img-wrap { overflow: hidden; width: 100%; }
#ciompi-wrapper .img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
#ciompi-wrapper .img-wrap--square   { aspect-ratio: 1 / 1; }
#ciompi-wrapper .img-wrap--rect43   { aspect-ratio: 4 / 3; }
#ciompi-wrapper .img-wrap--rect169  { aspect-ratio: 561 / 414; }
#ciompi-wrapper .img-wrap--tall     { aspect-ratio: 421 / 533; }
#ciompi-wrapper .img-wrap--wide     { aspect-ratio: 1506 / 568; }
#ciompi-wrapper .img-wrap--strip    { aspect-ratio: 1506 / 288; }

#ciompi-wrapper .dark-band { background: var(--color-bg-rect); width: 100%; padding: 20px 0; }
#ciompi-wrapper .dark-band img { width: 100%; height: auto; display: block; object-fit: cover; }

#ciompi-wrapper .four-col { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding: 24px 20px; max-width: var(--max-width); margin: 0 auto; }

#ciompi-wrapper .cta-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gutter); padding: 16px 20px 28px; max-width: var(--max-width); margin: 0 auto; }
#ciompi-wrapper .cta-block { display: flex; flex-direction: column; gap: 10px; }
#ciompi-wrapper .cta-block p { font-size: 14px; color: var(--color-cream); }
#ciompi-wrapper .btn-outline { display: inline-block; padding: 10px 20px; border: 2px solid var(--color-cream); color: var(--color-cream); font-family: var(--font-body); font-size: 15px; letter-spacing: 1px; text-align: center; cursor: pointer; transition: background 0.2s, color 0.2s; background: transparent; width: 100%; }
#ciompi-wrapper .btn-outline:hover { background: var(--color-cream); color: var(--color-bg); }

#ciompi-wrapper .payment-logo { display: flex; justify-content: center; padding: 16px 0 24px; }
#ciompi-wrapper .payment-logo img { width: 293px; height: 67px; object-fit: contain; }

#ciompi-wrapper .prose-section { max-width: var(--max-width); margin: 0 auto; padding: 24px 20px 32px; }
#ciompi-wrapper .prose-section h2 { font-family: var(--font-title); font-size: 16px; font-weight: 700; letter-spacing: 1px; color: var(--color-cream); margin-bottom: 16px; }
#ciompi-wrapper .prose-section p { font-size: 12px; line-height: 1.83; color: var(--color-muted2); margin-bottom: 12px; }
#ciompi-wrapper .prose-section p strong { font-weight: 700; color: var(--color-cream); }
#ciompi-wrapper .prose-section a { text-decoration: underline; }
#ciompi-wrapper .prose-header { font-family: var(--font-body); font-size: 14px; font-weight: 700; letter-spacing: 1px; color: var(--color-muted); text-align: center; padding: 10px 20px; }

#ciompi-wrapper footer { margin-top: 32px; }
#ciompi-wrapper .footer-logo { display: flex; justify-content: center; padding: 24px 0 16px; }
#ciompi-wrapper .footer-logo img { width: 94px; height: 94px; object-fit: contain; }
#ciompi-wrapper .footer-nav { text-align: center; padding: 0 20px 16px; max-width: var(--max-width); margin: 0 auto; }
#ciompi-wrapper .footer-nav h2 { font-family: var(--font-title); font-size: 30px; font-weight: 900; letter-spacing: -1px; color: var(--color-cream); margin-bottom: 20px; line-height: 1.1; }
#ciompi-wrapper .footer-nav-links { display: flex; flex-direction: column; gap: 2px; align-items: center; }
#ciompi-wrapper .footer-nav-links a { font-family: var(--font-title); font-size: 12px; font-weight: 700; letter-spacing: 1px; color: var(--color-cream); line-height: 1.5; text-decoration: underline; }
#ciompi-wrapper .footer-nav-links .sep { font-family: var(--font-title); font-size: 14px; color: var(--color-cream); line-height: 1.5; }
#ciompi-wrapper .footer-legal { text-align: center; padding: 16px 20px 32px; max-width: var(--max-width); margin: 0 auto; }
#ciompi-wrapper .footer-legal-links { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 10px; }
#ciompi-wrapper .footer-legal-links a { font-family: var(--font-body); font-size: 15px; color: var(--color-muted2); text-decoration: underline; }
#ciompi-wrapper .footer-copyright { font-size: 12px; line-height: 1.83; color: var(--color-muted2); }
#ciompi-wrapper .footer-copyright strong { color: var(--color-cream); }

#ciompi-wrapper #scroll-top { position: fixed; bottom: 20px; right: 20px; width: 44px; height: 44px; background: var(--color-accent); color: var(--color-bg); border: none; cursor: pointer; font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s; z-index: 200; }
#ciompi-wrapper #scroll-top.visible { opacity: 1; pointer-events: auto; }

#ciompi-wrapper script { display: none; } /* Fix per eventuali script inline non eseguiti da smarty */

/* RESPONSIVE */
@media (max-width: 680px) {
    #ciompi-wrapper .two-col { grid-template-columns: 1fr; direction: ltr; }
    #ciompi-wrapper .two-col--reverse { direction: ltr; }
}
@media (max-width: 540px) {
    #ciompi-wrapper .four-col { grid-template-columns: 1fr; }
    #ciompi-wrapper .cta-row { grid-template-columns: 1fr; }
}

/* FORZA SFONDO NERO E TESTI NELLE PAGINE CMS DI PRESTASHOP 8 */
body.cms #content,
body.cms .page-content,
body.cms .cms-content,
body.cms #main {
    background-color: #000000 !important;
    color: #F6F5DD !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* Forza il wrapper interno a centrarsi come nella home */
body.cms #ciompi-wrapper .page-center {
    padding-top: 60px;
    padding-bottom: 60px;
}

/* NASCONDE BREADCRUMB E TITOLI AUTOMATICI NELLE PAGINE CMS */
body.cms .breadcrumb,
body.cms .page-header,
body.cms .cms-title,
body.cms h1.h1,
body.cms .cms-breadcrumb,
body.cms .header-title {
    display: none !important;
}

/* MANTIENE IL TUO CONTENUTO CENTRATO E LEGGIBILE */
body.cms #ciompi-wrapper .page-center {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}