/*
Theme Name: Lucia Trecca Atelier
Theme URI: https://luciatrecca.it/
Author: Lucia Trecca
Description: Un atelier digitale dedicato al massaggio e al benessere. Toni della terra, immagini autentiche e un ritmo editoriale.
Version: 1.0.0
Text Domain: lucia-atelier
*/

:root {
  --cacao: #49352b;
  --espresso: #2c241f;
  --cream: #f7f1e8;
  --sand: #dfcdb8;
  --copper: #a77958;
  --paper: #fcf9f4;
  --muted: #786759;
  --line: rgba(73, 53, 43, .19);
  --line-light: rgba(247, 241, 232, .23);
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --container: 1280px;
  --gutter: clamp(22px, 4.2vw, 72px);
  --section-space: clamp(70px, 8vw, 122px);
  --ease: cubic-bezier(.22, .61, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--cacao); background: var(--paper); font: 400 18px/1.7 var(--sans); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img, video, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; text-underline-offset: .22em; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button, a, summary, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
::selection { background: var(--sand); color: var(--espresso); }
:focus-visible { outline: 2px solid var(--copper); outline-offset: 5px; }
h1, h2, h3, h4, p, figure, blockquote { margin-top: 0; }
h1, h2, h3, h4 { color: var(--cacao); font-family: var(--serif); font-weight: 500; }
h1, h2 { letter-spacing: -.035em; line-height: 1.04; }
h1 { font-size: clamp(60px, 6.2vw, 96px); }
h2 { margin-bottom: 22px; font-size: clamp(43px, 4.4vw, 66px); }
h3 { margin-bottom: 12px; font-size: clamp(27px, 2.4vw, 35px); line-height: 1.14; letter-spacing: -.02em; }
h4 { font-size: 26px; line-height: 1.2; }
p { margin-bottom: 22px; }
em { font-family: var(--serif); font-weight: 400; }
ul, ol { padding-left: 1.25em; }
button { border-radius: 0; }
.container { width: min(var(--container), calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.section { padding-block: var(--section-space); }
.section-cream { background: var(--cream); }
.section-sand { background: var(--sand); }
.section-dark { color: var(--cream); background: var(--espresso); }
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 { color: var(--cream); }
.section-dark p { color: rgba(247, 241, 232, .77); }
.eyebrow { display: block; margin-bottom: 21px; color: var(--copper); font-family: var(--sans); font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; }
.section-dark .eyebrow { color: #d6ad8e; }
.text-link { display: inline-flex; align-items: center; gap: 14px; width: fit-content; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--cacao); font-size: 16px; font-weight: 600; line-height: 1.6; letter-spacing: .08em; text-transform: uppercase; transition: color .2s, gap .25s var(--ease); }
.text-link::after { content: "↗"; font-size: 18px; font-weight: 400; line-height: 1; }
.section-dark .text-link { color: var(--cream); }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 14px; padding: 15px 26px; border: 1px solid var(--cacao); color: var(--cream); background: var(--cacao); font-size: 16px; font-weight: 600; line-height: 1.6; letter-spacing: .065em; text-align: center; text-transform: uppercase; transition: background .25s, color .25s, border-color .25s; }
.button::after { content: "↗"; font-size: 18px; font-weight: 400; line-height: 1; }
.button-dark { color: var(--cream); border-color: var(--espresso); background: var(--espresso); }
.button-light { color: var(--espresso); border-color: var(--cream); background: var(--cream); }
.button-outline { color: var(--cacao); background: transparent; }
.section-dark .button-outline { color: var(--cream); border-color: var(--line-light); }
.button-small { min-height: 42px; padding: 10px 17px; font-size: 16px; }
.skip-link { position: fixed; z-index: 999999; top: -100px; left: 20px; padding: 12px 20px; color: var(--cream); background: var(--espresso); }
.skip-link:focus { top: 12px; }

/* Navigation */
.site-header { position: sticky; z-index: 1000; top: 0; border-bottom: 1px solid var(--line); background: rgba(252, 249, 244, .96); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.header-inner { display: flex; min-height: 93px; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 12px; line-height: 1; }
.brand > img { width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; }
.brand-name { display: block; font-family: var(--serif); font-size: 28px; font-weight: 500; letter-spacing: -.035em; line-height: 1; }
.brand small { display: block; margin-top: 7px; font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: clamp(17px, 2.1vw, 31px); }
.main-nav > a { position: relative; white-space: nowrap; font-size: 18px; font-weight: 500; line-height: 1.5; letter-spacing: .045em; }
.main-nav > a:not(.button)::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; background: var(--copper); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease); }.main-nav > a.active::after{ transform: scaleX(1); }
.main-nav > a.active { color: var(--copper); }
.main-nav > .button { font-size: 16px; }
.menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; padding: 10px; border: 1px solid var(--line); background: transparent; }
.menu-toggle svg { width: 22px; height: 22px; }
.menu-toggle span { display: block; }
.admin-bar .site-header { top: 32px; }

/* Home opening */
.hero { position: relative; overflow: hidden; padding: clamp(45px, 5.8vw, 86px) 0 65px; background: var(--cream); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(45px, 7vw, 104px); }
.hero-copy { padding-block: 16px; }
.hero h1 { max-width: 650px; margin-bottom: 28px; }
.hero h1 em { color: var(--copper); }
.hero-intro { max-width: 470px; margin-bottom: 31px; color: var(--muted); font-size: 20px; line-height: 1.9; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 17px 23px; }
.hero-footnote { max-width: 440px; margin: 27px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.hero-visual { position: relative; }
.hero-image { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 50%; background: var(--sand); }
.image-caption { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; }
.image-caption::before { width: 25px; height: 1px; flex: 0 0 25px; background: var(--copper); content: ""; }
.hero-mark { position: absolute; bottom: -90px; left: -90px; width: 310px; opacity: .035; pointer-events: none; }
.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--cream); }
.trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 25px; }
.trust-item { display: flex; align-items: center; justify-content: center; gap: 15px; padding: 4px 22px; color: var(--cacao); font-size: 18px; font-weight: 500; line-height: 1.7; letter-spacing: .035em; }
.trust-item + .trust-item { border-left: 1px solid var(--line); }
.trust-item svg { width: 29px; height: 29px; flex: 0 0 29px; color: var(--copper); stroke-width: 1.3; }
.trust-item strong { display: block; font-weight: 600; }

/* Editorial sections and treatment index */
.section-head { max-width: 760px; margin-bottom: 43px; }
.section-head > :last-child { margin-bottom: 0; }
.section-head p { max-width: 570px; color: var(--muted); font-size: 20px; }
.section-head.split { display: grid; max-width: none; grid-template-columns: 1.1fr .8fr; align-items: end; gap: clamp(35px, 8vw, 125px); }
.section-head.split > :last-child { align-self: end; }
.section-head.split h2 { margin-bottom: 0; }
.section-head.split p { margin-bottom: 20px; }
.treatment-grid, .course-grid, .shop-grid, .journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 2.8vw, 40px); }
.treatment-card { display: block; min-width: 0; border-bottom: 1px solid var(--line); padding-bottom: 29px; }
.treatment-image { overflow: hidden; margin-bottom: 24px; background: var(--sand); }
.treatment-image img { width: 100%; aspect-ratio: 4 / 4.5; object-fit: cover; transition: transform .65s var(--ease); }
.treatment-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 17px; color: var(--copper); font-size: 14px; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.treatment-meta svg { width: 30px; height: 30px; flex: 0 0 30px; stroke-width: 1.3; }
.treatment-body h3 { max-width: 330px; }
.treatment-body p { min-height: 72px; color: var(--muted); font-size: 20px; line-height: 1.85; }
.treatment-body .text-link { font-size: 16px; }
.editorial-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(40px, 8vw, 120px); }
.editorial-image { position: relative; }
.editorial-image > img { width: 100%; aspect-ratio: 4 / 4.7; object-fit: cover; background: var(--sand); }
.editorial-copy { max-width: 515px; padding-block: 16px; }
.editorial-copy p { color: var(--muted); font-size: 20px; }
.editorial-copy p:last-of-type { margin-bottom: 30px; }
.section-dark .editorial-copy p { color: rgba(247, 241, 232, .73); }
.quiet-list { margin: 27px 0 30px; padding: 0; list-style: none; }
.quiet-list li { position: relative; padding: 13px 0 13px 21px; border-top: 1px solid var(--line); font-size: 20px; }
.quiet-list li:last-child { border-bottom: 1px solid var(--line); }
.quiet-list li::before { position: absolute; top: 22px; left: 0; width: 5px; height: 5px; border: 1px solid var(--copper); content: ""; transform: rotate(45deg); }
.section-dark .quiet-list li { border-color: var(--line-light); }
.quote-band { padding: clamp(55px, 7vw, 100px) var(--gutter); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--sand); text-align: center; }
.quote { max-width: 920px; margin: 0 auto; color: var(--cacao); font-family: var(--serif); font-size: clamp(34px, 3.7vw, 56px); font-weight: 400; line-height: 1.2; letter-spacing: -.025em; }
.quote p { margin-bottom: 18px; }
.quote cite { display: block; margin-top: 26px; font-family: var(--sans); font-size: 14px; font-style: normal; font-weight: 500; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; }
.feature { padding-top: 25px; border-top: 1px solid var(--line); }
.feature > svg { width: 37px; height: 37px; margin-bottom: 25px; color: var(--copper); stroke-width: 1.2; }
.feature h3 { margin-bottom: 13px; font-size: 27px; }
.feature p { margin-bottom: 0; color: var(--muted); font-size: 20px; line-height: 1.8; }
.section-dark .feature { border-color: var(--line-light); }
.section-dark .feature > svg { color: #d6ad8e; }
.section-dark .feature p { color: rgba(247, 241, 232, .69); }
.video-layout { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(40px, 7vw, 100px); }
.video-layout h2 { max-width: 420px; }
.video-layout p { max-width: 410px; font-size: 20px; }
.video-frame { overflow: hidden; background: var(--cacao); }
.video-frame video { width: 100%; max-height: 600px; aspect-ratio: 4 / 3; object-fit: cover; }
.video-frame > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* The forthcoming collection */
.course-card, .product-card, .journal-grid article { min-width: 0; }
.course-card { border: 1px solid var(--line); background: var(--paper); }
.course-card > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.card-body { padding: 27px 28px 30px; }
.card-body h3 { margin-top: 17px; margin-bottom: 13px; font-size: 30px; }
.card-body p { color: var(--muted); font-size: 20px; line-height: 1.85; }
.card-body p:last-child { margin-bottom: 0; }
.card-body ul { margin-bottom: 24px; color: var(--muted); font-size: 20px; line-height: 1.8; }
.card-body li + li { margin-top: 5px; }
.status { display: inline-flex; width: fit-content; align-items: center; gap: 7px; padding: 5px 10px; border: 1px solid rgba(167, 121, 88, .4); border-radius: 20px; color: var(--copper); font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: .11em; text-transform: uppercase; }
.status::before { width: 4px; height: 4px; border-radius: 50%; background: currentColor; content: ""; }
.section-dark .status { color: #d6ad8e; border-color: rgba(214, 173, 142, .4); }
.course-card .text-link, .product-card .text-link { font-size: 16px; }
.product-card { border-bottom: 1px solid var(--line); }
.product-visual { display: flex; min-height: 290px; aspect-ratio: 4 / 3.7; align-items: center; justify-content: center; overflow: hidden; color: var(--cacao); background: #e9dfd1; }
.product-card:nth-child(2) .product-visual { background: #dfcdb8; }
.product-card:nth-child(3) .product-visual { background: #e6d6c4; }
.product-visual > svg { width: 46%; max-width: 170px; height: auto; max-height: 180px; opacity: .85; stroke-width: 1; }
.product-visual > img { width: 100%; height: 100%; aspect-ratio: 4 / 3.7; object-fit: cover; }
.product-card .card-body { padding: 24px 0 27px; }
.product-type { display: block; margin-top: 21px; color: var(--muted); font-size: 14px; line-height: 1.6; letter-spacing: .09em; text-transform: uppercase; }
.availability-note { margin-top: 32px; padding: 20px 24px; border-left: 2px solid var(--copper); color: var(--muted); background: rgba(223, 205, 184, .25); font-size: 18px; line-height: 1.8; }
.availability-note p { margin-bottom: 0; }
.availability-note strong { color: var(--cacao); font-weight: 600; }
.section-dark .availability-note { border-color: #d6ad8e; color: rgba(247, 241, 232, .73); background: rgba(247, 241, 232, .05); }
.section-dark .availability-note strong { color: var(--cream); }
.journal-grid article { border-bottom: 1px solid var(--line); }
.journal-grid article > img, .journal-grid article > a > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.journal-grid .card-body { padding: 25px 0 27px; }
.journal-grid .eyebrow { margin-bottom: 14px; font-size: 14px; }
.journal-grid h3 { margin-top: 0; }
.journal-grid .text-link { font-size: 16px; }

/* Helpful answers and direct contact */
.faq-list { max-width: 900px; margin-inline: auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 25px 44px 25px 0; list-style: none; color: var(--cacao); font-family: var(--serif); font-size: 27px; font-weight: 500; line-height: 1.3; letter-spacing: -.015em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: 27px; right: 2px; color: var(--copper); content: "+"; font-family: var(--sans); font-size: 23px; font-weight: 300; line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details > p, .faq-list details > div { max-width: 770px; padding-right: 32px; color: var(--muted); font-size: 20px; }
.faq-list details > p:last-child { margin-bottom: 27px; }
.contact-band { padding-block: clamp(60px, 7vw, 100px); color: var(--cream); background: var(--cacao); }
.contact-grid { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 55px; }
.contact-band h2 { max-width: 750px; margin-bottom: 20px; color: var(--cream); font-size: clamp(43px, 4.8vw, 72px); }
.contact-band .eyebrow { color: #d6ad8e; }
.contact-band p { max-width: 610px; margin-bottom: 0; color: rgba(247, 241, 232, .73); font-size: 20px; }
.contact-actions { display: flex; flex-direction: column; align-items: flex-start; justify-self: end; gap: 16px; }
.contact-actions .button { min-width: 230px; }
.contact-actions > p, .contact-actions > small { max-width: 260px; font-size: 14px; }
.contact-actions .text-link { color: var(--cream); }
.site-footer { padding-top: 65px; color: var(--cacao); background: var(--cream); }
.footer-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 45px; padding-bottom: 55px; }
.footer-grid > div:first-child > p { max-width: 275px; margin-top: 23px; color: var(--muted); font-size: 18px; line-height: 1.9; }
.footer-grid h3, .footer-grid h4 { margin: 0 0 22px; font-family: var(--sans); font-size: 14px; font-weight: 600; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; }
.footer-grid nav { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-grid nav a, .footer-grid > div > a { color: var(--muted); font-size: 18px; line-height: 1.7; }
.footer-grid .brand { color: var(--cacao); }
.footer-grid .brand-name { font-size: 29px; }
.footer-grid .brand small { font-size: 14px; }
.footer-grid p { color: var(--muted); font-size: 18px; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 30px; padding-block: 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; line-height: 1.7; letter-spacing: .025em; }
.footer-bottom p { margin: 0; }
.footer-bottom a { text-decoration: underline; }
.floating-whatsapp { position: fixed; z-index: 900; right: 24px; bottom: 22px; display: inline-flex; min-height: 46px; align-items: center; gap: 9px; padding: 11px 17px; border: 1px solid rgba(247, 241, 232, .22); color: var(--cream); background: var(--cacao); box-shadow: 0 5px 22px rgba(44, 36, 31, .13); font-size: 16px; font-weight: 500; line-height: 1.5; transition: background .2s; }
.floating-whatsapp svg { width: 20px; height: 20px; flex: 0 0 20px; }

/* Interior pages */
.page-hero { position: relative; padding: clamp(65px, 7vw, 105px) 0 clamp(55px, 6vw, 90px); color: var(--cream); background: var(--cacao); }
.page-hero .eyebrow { color: #d6ad8e; }
.page-hero h1 { max-width: 1050px; margin-bottom: 24px; color: var(--cream); font-size: clamp(52px, 6vw, 88px); }
.page-hero h1 em { color: #d6ad8e; }
.page-hero p { max-width: 680px; margin-bottom: 0; color: rgba(247, 241, 232, .74); font-size: 20px; }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 24px; color: var(--muted); font-size: 14px; }
.breadcrumb a { text-decoration: underline; }
.page-hero .breadcrumb { color: rgba(247, 241, 232, .56); }
.content-narrow { width: min(800px, calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.container .content-narrow { width: min(800px, 100%); }
.prose { color: var(--muted); font-size: 20px; line-height: 1.95; overflow-wrap: anywhere; }
.prose h2 { margin-top: 48px; color: var(--cacao); font-size: clamp(36px, 3.7vw, 48px); }
.prose h3 { margin-top: 35px; color: var(--cacao); font-size: 31px; }
.prose h4 { margin-top: 28px; }
.prose > :first-child { margin-top: 0; }
.prose a:not(.button) { color: var(--cacao); text-decoration: underline; }
.prose li { margin-bottom: 10px; }
.prose strong { color: var(--cacao); font-weight: 600; }
.prose blockquote { margin: 35px 0; padding: 10px 0 10px 28px; border-left: 1px solid var(--copper); color: var(--cacao); font-family: var(--serif); font-size: 30px; line-height: 1.4; }
.contact-page-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: start; gap: clamp(35px, 7vw, 100px); }
.contact-card { padding: clamp(28px, 4vw, 48px); border: 1px solid var(--line); background: var(--cream); }
.contact-card h3 { font-size: 35px; }
.contact-card p { color: var(--muted); font-size: 20px; }
.contact-card a:not(.button) { text-decoration: underline; }
.contact-card .button { margin-top: 9px; }
.contact-card > :last-child { margin-bottom: 0; }
.treatment-detail-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: start; gap: clamp(35px, 6vw, 90px); }
.treatment-detail-grid > img, .treatment-detail-grid > div > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.treatment-detail-grid .contact-card { position: sticky; top: 125px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gallery-grid img { width: 100%; height: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; }
.gallery-grid figure { margin: 0; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; counter-reset: steps; }
.steps > div { padding-top: 23px; border-top: 1px solid var(--line); }
.step-number { display: block; margin-bottom: 30px; color: var(--copper); font-family: var(--serif); font-size: 47px; font-weight: 400; line-height: 1; }
.steps h3 { font-size: 30px; }
.steps p { margin-bottom: 0; color: var(--muted); font-size: 20px; }
.section-dark .steps > div { border-color: var(--line-light); }
.section-dark .step-number { color: #d6ad8e; }
.section-dark .steps p { color: rgba(247, 241, 232, .7); }
input:not([type="checkbox"]):not([type="radio"]), textarea, select { width: 100%; padding: 13px 15px; border: 1px solid var(--line); border-radius: 0; color: var(--cacao); background: var(--paper); }
textarea { min-height: 150px; resize: vertical; }
label { display: block; margin-bottom: 7px; font-size: 16px; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--cacao); }
.screen-reader-text { position: absolute; overflow: hidden; width: 1px; height: 1px; padding: 0; border: 0; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.alignwide { max-width: 1200px; margin-inline: auto; }
.wp-block-image { margin-block: 30px; }
.wp-block-image img { max-width: 100%; height: auto; }

/* A composed preview, with the same visual identity */
.coming-soon { min-height: 100vh; background: var(--cream); }
.coming-shell { display: grid; min-height: 100vh; grid-template-columns: 1fr 1fr; }
.coming-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(35px, 7vw, 110px); }
.coming-copy .brand { width: fit-content; margin-bottom: clamp(45px, 6vw, 90px); }
.coming-copy h1 { margin-bottom: 25px; font-size: clamp(54px, 5.3vw, 83px); }
.coming-copy h1 em { color: var(--copper); }
.coming-copy > p { max-width: 470px; color: var(--muted); font-size: 20px; }
.coming-copy .hero-actions { margin-top: 15px; }
.coming-copy .hero-footnote { margin-top: 25px; }
.coming-shell > img, .coming-shell > picture, .coming-shell > .coming-image { display: block; width: 100%; height: 100%; min-height: 100vh; object-fit: cover; background: var(--sand); }
.coming-shell > picture img, .coming-image img { width: 100%; height: 100%; min-height: 100vh; object-fit: cover; }
.coming-nav { display: flex; flex-wrap: wrap; gap: 15px 26px; margin-top: 60px; padding-top: 20px; border-top: 1px solid var(--line); }
.coming-nav a { color: var(--muted); font-size: 16px; text-decoration: underline; }

/* Tablet */
@media (min-width: 1600px) {
  .hero { padding-top: 90px; padding-bottom: 80px; }
  .hero-image { max-height: 660px; }
}
@media (max-width: 1200px) {
  .main-nav { gap: 16px; }
  .main-nav > a { font-size: 18px; }
  .main-nav > .button { padding-inline: 13px; font-size: 16px; }
  .brand-name { font-size: 25px; }
  .brand { gap: 10px; }
  .header-inner { gap: 20px; }
  .hero-grid { gap: 45px; }
  .hero h1 { font-size: clamp(56px, 7vw, 78px); }
  .hero-actions { gap: 15px; }
  .hero-actions .button { padding-inline: 20px; font-size: 16px; }
  .feature-grid { gap: 25px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 35px; }
  .footer-grid > div:first-child { grid-row: span 2; }
  .card-body { padding: 23px 20px 26px; }
  .product-visual { min-height: 240px; }
}
@media (max-width: 1200px) {
  html { scroll-padding-top: 90px; }
  .header-inner { min-height: 79px; }
  .menu-toggle { display: flex; }
  .main-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; max-height: calc(100dvh - 80px); flex-direction: column; align-items: stretch; gap: 0; overflow: auto; padding: 15px var(--gutter) 28px; border-bottom: 1px solid var(--line); background: var(--cream); }
  .main-nav.is-open, .main-nav.open, .menu-toggle[aria-expanded="true"] + .main-nav, .header-inner:has(.menu-toggle[aria-expanded="true"]) .main-nav { display: flex; }
  .main-nav > a { padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 18px; }
  .main-nav > a:not(.button)::after { display: none; }
  .main-nav > .button { align-self: flex-start; margin-top: 20px; padding: 12px 20px; font-size: 16px; }
  .hero { padding-top: 45px; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .hero h1 { font-size: 58px; }
  .hero-intro { font-size: 20px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero-footnote { font-size: 14px; }
  .hero-image { aspect-ratio: 3 / 4.3; }
  .section-head.split { grid-template-columns: 1fr .8fr; gap: 40px; }
  .editorial-grid { gap: 40px; }
  .editorial-copy p { font-size: 20px; }
  .treatment-grid, .course-grid, .shop-grid, .journal-grid { gap: 22px; }
  .treatment-body h3, .card-body h3 { font-size: 27px; }
  .treatment-body p { min-height: 0; font-size: 20px; }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 40px; }
  .video-layout { grid-template-columns: .8fr 1.2fr; gap: 35px; }
  .video-layout h2 { font-size: 43px; }
  .product-visual { min-height: 200px; }
  .contact-grid { grid-template-columns: 1.1fr .9fr; gap: 35px; }
  .contact-actions .button { min-width: 200px; font-size: 16px; }
  .coming-copy { padding-inline: 35px; }
  .coming-copy h1 { font-size: 55px; }
}

/* Mobile */
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}
@media (max-width: 700px) {
  :root { --gutter: 24px; --section-space: 68px; }
  body { font-size: 18px; }
  h1 { font-size: 59px; }
  h2 { margin-bottom: 20px; font-size: 45px; }
  h3 { font-size: 31px; }
  .eyebrow { margin-bottom: 18px; font-size: 14px; letter-spacing: .12em; }
  .header-inner { min-height: 76px; }
  .brand > img { width: 39px; height: 39px; flex-basis: 39px; }
  .brand-name { font-size: 26px; }
  .brand small { margin-top: 6px; font-size: 14px; }
  .hero { padding-top: 34px; padding-bottom: 35px; }
  .hero-grid { grid-template-columns: 1fr; gap: 33px; }
  .hero-copy { padding-block: 0; }
  .hero h1 { max-width: 540px; margin-bottom: 24px; font-size: clamp(54px, 12.5vw, 76px); }
  .hero-intro { max-width: 490px; margin-bottom: 26px; font-size: 18px; line-height: 1.85; }
  .hero-actions { flex-direction: row; align-items: center; gap: 18px 22px; }
  .hero-actions .button { min-height: 49px; padding-inline: 22px; font-size: 16px; }
  .hero-actions .text-link { font-size: 16px; }
  .hero-footnote { margin-top: 21px; font-size: 14px; }
  .hero-image { max-height: 540px; aspect-ratio: 4 / 4.3; object-position: center; }
  .hero-mark { bottom: 230px; left: auto; right: -55px; width: 210px; }
  .image-caption { margin-top: 12px; font-size: 14px; letter-spacing: .11em; }
  .trust-grid { grid-template-columns: 1fr; padding-block: 6px; }
  .trust-item { justify-content: flex-start; gap: 15px; padding: 16px 4px; font-size: 18px; }
  .trust-item + .trust-item { border-top: 1px solid var(--line); border-left: 0; }
  .trust-item svg { width: 27px; height: 27px; flex-basis: 27px; }
  .section-head { margin-bottom: 30px; }
  .section-head.split { grid-template-columns: 1fr; gap: 21px; }
  .section-head.split h2 { max-width: 550px; }
  .section-head p { font-size: 18px; }
  .section-head.split p { margin-bottom: 18px; }
  .treatment-grid, .course-grid, .shop-grid, .journal-grid { grid-template-columns: 1fr; gap: 37px; }
  .treatment-card { padding-bottom: 25px; }
  .treatment-image { margin-bottom: 21px; }
  .treatment-image img { max-height: 520px; aspect-ratio: 4 / 3.8; }
  .treatment-meta { margin-bottom: 15px; }
  .treatment-body h3 { max-width: none; font-size: 35px; }
  .treatment-body p { max-width: 500px; margin-bottom: 19px; font-size: 18px; }
  .treatment-body .text-link { font-size: 16px; }
  .editorial-grid { grid-template-columns: 1fr; gap: 34px; }
  .editorial-image > img { max-height: 580px; aspect-ratio: 4 / 4.5; }
  .editorial-copy { max-width: none; padding: 0; }
  .editorial-copy p { font-size: 18px; }
  .quiet-list { margin-block: 24px 28px; }
  .quiet-list li { padding-block: 12px; font-size: 18px; }
  .quote-band { padding-block: 55px; }
  .quote { font-size: clamp(34px, 7.6vw, 44px); }
  .quote cite { margin-top: 24px; font-size: 14px; }
  .feature-grid { gap: 31px 25px; }
  .feature { padding-top: 22px; }
  .feature > svg { width: 32px; height: 32px; margin-bottom: 20px; }
  .feature h3 { font-size: 26px; }
  .feature p { font-size: 18px; line-height: 1.85; }
  .video-layout { grid-template-columns: 1fr; gap: 30px; }
  .video-layout h2 { max-width: 530px; font-size: 45px; }
  .video-layout p { max-width: 530px; }
  .video-frame video { aspect-ratio: 4 / 3; }
  .card-body { padding: 25px 24px 29px; }
  .card-body h3 { font-size: 34px; }
  .card-body p { font-size: 18px; }
  .card-body ul { font-size: 18px; }
  .course-card > img { max-height: 400px; aspect-ratio: 4 / 2.8; }
  .status { font-size: 14px; }
  .product-visual { min-height: 260px; max-height: 420px; aspect-ratio: 4 / 3; }
  .product-visual > svg { width: 38%; max-width: 160px; }
  .product-card .card-body { padding-block: 23px 26px; }
  .product-type { margin-top: 18px; }
  .availability-note { margin-top: 28px; padding: 17px 19px; font-size: 18px; }
  .journal-grid article > img, .journal-grid article > a > img { max-height: 380px; }
  .journal-grid h3 { font-size: 34px; }
  .journal-grid .card-body { padding-block: 22px 25px; }
  .faq-list summary { padding-block: 22px; padding-right: 34px; font-size: 25px; }
  .faq-list summary::after { top: 24px; right: 0; font-size: 21px; }
  .faq-list details > p, .faq-list details > div { padding-right: 8px; font-size: 18px; }
  .faq-list details > p:last-child { margin-bottom: 23px; }
  .contact-grid { grid-template-columns: 1fr; gap: 30px; }
  .contact-band { padding-block: 61px; }
  .contact-band h2 { font-size: 46px; }
  .contact-band p { font-size: 18px; }
  .contact-actions { width: 100%; justify-self: start; gap: 17px; }
  .contact-actions .button { min-width: 230px; }
  .contact-actions > p, .contact-actions > small { max-width: 100%; font-size: 14px; }
  .site-footer { padding-top: 48px; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 25px; padding-bottom: 40px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; grid-row: auto; }
  .footer-grid > div:first-child > p { max-width: 420px; margin-top: 22px; margin-bottom: 0; }
  .footer-grid h3, .footer-grid h4 { margin-bottom: 17px; font-size: 14px; }
  .footer-grid nav { gap: 9px; }
  .footer-grid nav a, .footer-grid > div > a { font-size: 18px; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { gap: 9px; padding-block: 20px 76px; font-size: 14px; }
  .floating-whatsapp { right: 15px; bottom: max(15px, env(safe-area-inset-bottom)); min-height: 44px; padding: 10px 13px; font-size: 16px; }
  .floating-whatsapp svg { width: 19px; height: 19px; flex-basis: 19px; }
  .page-hero { padding-block: 51px 47px; }
  .page-hero h1 { margin-bottom: 22px; font-size: clamp(49px, 11.5vw, 65px); }
  .page-hero p { font-size: 18px; line-height: 1.9; }
  .breadcrumb { margin-bottom: 20px; font-size: 14px; }
  .prose { font-size: 18px; }
  .prose h2 { margin-top: 37px; font-size: 38px; }
  .prose h3 { margin-top: 31px; font-size: 30px; }
  .prose blockquote { padding-left: 21px; font-size: 27px; }
  .contact-page-grid, .treatment-detail-grid { grid-template-columns: 1fr; gap: 31px; }
  .contact-card { padding: 28px 25px; }
  .contact-card h3 { font-size: 34px; }
  .contact-card p { font-size: 18px; }
  .treatment-detail-grid .contact-card { position: static; }
  .treatment-detail-grid > img, .treatment-detail-grid > div > img { max-height: 560px; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .gallery-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .gallery-grid > img:last-child:nth-child(odd), .gallery-grid > figure:last-child:nth-child(odd) img { max-height: 390px; aspect-ratio: 4 / 3; }
  .steps { grid-template-columns: 1fr; gap: 28px; }
  .steps > div { position: relative; padding-top: 22px; padding-left: 52px; }
  .step-number { position: absolute; top: 22px; left: 0; margin-bottom: 0; font-size: 34px; }
  .steps h3 { font-size: 30px; }
  .steps p { font-size: 18px; }
  .coming-shell { min-height: auto; grid-template-columns: 1fr; }
  .coming-copy { padding: 35px var(--gutter) 40px; }
  .coming-copy .brand { margin-bottom: 57px; }
  .coming-copy h1 { max-width: 530px; font-size: clamp(52px, 12vw, 72px); }
  .coming-copy > p { max-width: 520px; font-size: 18px; }
  .coming-copy .hero-actions { margin-top: 10px; }
  .coming-nav { margin-top: 38px; gap: 12px 22px; }
  .coming-shell > img, .coming-shell > picture, .coming-shell > .coming-image { min-height: 0; height: auto; max-height: 650px; aspect-ratio: 4 / 3.7; }
  .coming-shell > picture img, .coming-image img { min-height: 0; height: 100%; max-height: 650px; aspect-ratio: 4 / 3.7; }
}
@media (max-width: 600px) {
  .admin-bar .site-header { top: 0; }
}
@media (max-width: 380px) {
  :root { --gutter: 20px; }
  .brand-name { font-size: 24px; }
  .brand > img { width: 36px; height: 36px; flex-basis: 36px; }
  .brand { gap: 9px; }
  .hero h1 { font-size: 52px; }
  .hero-actions { gap: 17px; }
  .hero-actions .button { padding-inline: 18px; font-size: 16px; }
  .hero-actions .text-link { font-size: 16px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature h3 { font-size: 30px; }
  .feature p { max-width: 290px; font-size: 18px; }
  .card-body { padding-inline: 21px; }
  .footer-grid { gap: 28px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
  .site-header, .floating-whatsapp, .menu-toggle, .hero-actions, .contact-actions, .site-footer, .skip-link { display: none !important; }
  body, .section, .page-hero, .contact-band { color: #000; background: #fff; }
  .section { padding-block: 30px; }
  h1, h2, h3, .page-hero h1 { color: #000; }
  a { text-decoration: underline; }
  .container { width: 100%; }
  img { break-inside: avoid; }
}

/* Accessible labels and the editorial body. */
.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}
.prose a:not(.button){text-decoration:underline}
.treatment-detail-grid>div>img{width:100%;height:auto;object-fit:cover}
figure,blockquote{margin:0}
#yith-quick-view-modal,.mfp-hide{display:none!important}
.footer-grid>div:last-child>a{display:block;margin-bottom:9px;font-size: 18px}
.product-visual>img{width:100%;height:100%;max-height:330px;object-fit:contain}

/* Firma e copyright dello studio web. */
.developer-credit{display:inline-flex;align-items:center;gap:10px;max-width:360px;color:var(--cacao);font-size: 14px;line-height:1.65;letter-spacing:.035em}.developer-credit img{width:32px;height:32px;flex:0 0 32px}.developer-credit>span{max-width:290px}.footer-bottom{align-items:center}@media(max-width:700px){.developer-credit{width:100%;margin-top:5px;max-width:none}.developer-credit>span{max-width:270px}}
.footer-bottom{padding-bottom:88px}.developer-credit{font-size: 14px;max-width:375px}.developer-credit>span{max-width:330px}

/* Readable type, soft image corners, and direct business contacts. */
.hero-image,
.treatment-image,
.treatment-image img,
.editorial-image > img,
.video-frame,
.video-frame video,
.video-frame > img,
.course-card > img,
.product-visual,
.product-visual > img,
.journal-grid article > img,
.journal-grid article > a > img,
.treatment-detail-grid > img,
.treatment-detail-grid > div > img,
.gallery-grid img,
.wp-block-image img,
.coming-shell > img,
.coming-shell > picture,
.coming-shell > .coming-image,
.coming-shell > picture img,
.coming-image img { border-radius: 20px; }
.course-card { border-radius: 20px; overflow: hidden; }
.hero-intro, .section-head p, .editorial-copy p, .page-hero p { line-height: 1.7; }
.treatment-body p { min-height: 0; }
.treatment-card { height: 100%; }
.image-caption { flex-wrap: wrap; justify-content: flex-start; gap: 8px 16px; letter-spacing: .065em; }
.image-caption span { margin-left: auto; }
.brand small { letter-spacing: .075em; }
.main-nav { gap: clamp(18px, 1.8vw, 28px); }
.main-nav > .button { font-size: 16px; }
.brand-name { font-size: 32px; }
.footer-grid { grid-template-columns: 1.25fr 1fr 1fr 1.2fr; gap: 32px; }
.footer-grid > div:first-child > p { max-width: 320px; }
.footer-grid p, .footer-grid nav a, .footer-grid > div > a { font-size: 18px; }
.footer-grid h3, .footer-grid h4 { font-size: 14px; letter-spacing: .09em; }
.footer-grid .business-meta { margin-top: 17px; font-size: 14px; }
.footer-grid > div:last-child > .footer-contact-link { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; font-size: 18px; line-height: 1.6; }
.footer-contact-link > svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--copper); }
.footer-contact-link > span { min-width: 0; overflow-wrap: anywhere; }
.footer-bottom { font-size: 14px; padding-bottom: 90px; line-height: 1.7; }
.developer-credit { max-width: 460px; font-size: 14px; letter-spacing: 0; }
.developer-credit > span { max-width: 390px; }
@media (max-width: 1200px) {
  .main-nav { gap: 0; }
  .main-nav > a { font-size: 18px; }
  .main-nav > .button { font-size: 16px; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1.2fr; gap: 35px; }
}
@media (max-width: 700px) {
  body { font-size: 18px; }
  .brand-name { font-size: 28px; }
  .brand small { font-size: 14px; max-width: 230px; letter-spacing: .025em; }
  .header-inner { gap: 14px; }
  .brand { min-width: 0; gap: 10px; }
  .brand > span { min-width: 0; }
  .hero-intro, .section-head p, .editorial-copy p, .page-hero p, .treatment-body p, .feature p, .video-layout p, .card-body p, .card-body ul, .quiet-list li, .faq-list details > p, .faq-list details > div, .contact-band p, .contact-card p, .steps p, .prose { font-size: 18px; line-height: 1.75; }
  .eyebrow, .treatment-meta, .product-type, .breadcrumb { font-size: 14px; letter-spacing: .08em; }
  .image-caption { font-size: 14px; line-height: 1.7; }
  .image-caption span { margin-left: 0; }
  .button, .text-link, .floating-whatsapp { font-size: 16px; }
  .contact-actions > p, .contact-actions > small { font-size: 14px; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-grid > div:first-child > p { max-width: 440px; }
  .footer-grid p, .footer-grid nav a, .footer-grid > div > a { font-size: 18px; }
  .footer-bottom, .developer-credit { font-size: 14px; }
  .developer-credit > span { max-width: calc(100% - 42px); }
}
@media (max-width: 380px) {
  .brand-name { font-size: 26px; }
  .brand small { max-width: 200px; line-height: 1.45; }
  .brand > img { width: 34px; height: 34px; flex-basis: 34px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div { grid-column: 1; }
}

/* Dimensioni di lettura richieste: nessun microtesto. */
body{font-size:20px}.hero-intro,.section-head p,.editorial-copy p,.page-hero p,.treatment-body p,.feature p,.video-layout p,.card-body p,.card-body ul,.quiet-list li,.faq-list details>p,.contact-band p,.contact-card p,.steps p,.prose{font-size:20px;line-height:1.7}.main-nav>a{font-size:18px}.button,.text-link,.main-nav>.button{font-size:16px}.footer-grid p,.footer-grid nav a,.footer-grid>div>a,.footer-grid>div:last-child>.footer-contact-link{font-size:18px}.eyebrow,.treatment-meta,.product-type,.breadcrumb,.hero-footnote,.image-caption,.footer-bottom,.developer-credit{font-size:14px}@media(max-width:700px){body{font-size:18px}.hero-intro,.section-head p,.editorial-copy p,.page-hero p,.treatment-body p,.feature p,.video-layout p,.card-body p,.card-body ul,.quiet-list li,.faq-list details>p,.contact-band p,.contact-card p,.steps p,.prose{font-size:18px}.main-nav>a{font-size:18px}.button,.text-link,.floating-whatsapp{font-size:16px}}
/* I riquadri prodotto seguono la larghezza disponibile, anche a 320px. */
.product-visual{width:100%;min-width:0;min-height:0;aspect-ratio:4/3}

/* Footer essenziale richiesto dal titolare. */
.footer-minimal{padding:35px 0 90px}
.footer-identity{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}
.footer-domain{font-family:var(--serif);font-size:36px;line-height:1.15;letter-spacing:-.025em}
.footer-identity p{margin:0;color:var(--muted);font-size:16px}
.footer-legal-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.7}
.footer-legal-line img{display:inline-block;width:28px;height:28px;flex:0 0 28px;vertical-align:middle}
.footer-legal-line>span:last-child{color:var(--cacao)}
@media(min-width:901px){.footer-legal-line{flex-wrap:nowrap;white-space:nowrap}}
@media(max-width:700px){.footer-minimal{padding-top:30px}.footer-domain{font-size:32px}.footer-identity{gap:9px 24px}.footer-legal-line{gap:6px 8px;margin-top:20px}}


/* Motivi del marchio nelle sezioni e nel footer; header privo di decori. */
.lt-ornament{position:absolute;display:block;pointer-events:none;z-index:0;line-height:0;color:var(--cacao)}
.lt-ornament svg{width:100%;height:auto;max-width:none;overflow:visible}
.site-header{isolation:isolate;background:rgba(252,249,244,.96);border-bottom:1px solid var(--line);padding-bottom:0}
.header-inner{position:relative;z-index:1;min-height:93px}
.page-hero,.section-cream,.contact-band,.site-footer{position:relative;isolation:isolate;overflow:hidden}
.page-hero>.container,.section-cream>.container,.contact-band>.container,.site-footer>.container{position:relative;z-index:1}
.lt-ornament-hero{width:540px;right:25px;top:4px;color:#dfc2a6;opacity:.35;transform:rotate(-7deg)}
.lt-ornament-section{right:-40px;bottom:-24px;width:680px;color:#9f7658;opacity:.24;transform:rotate(-8deg)}
.section-cream{background:#f7f1e8}
.hero>.lt-ornament-section{left:-110px;right:auto;bottom:0;width:630px;opacity:.17;transform:rotate(-18deg)}
.contact-band>.lt-ornament-section{color:#dfc2a6;opacity:.2}
.site-footer{background:#efe5d8;padding-top:42px;border-top:1px solid #a779583b}
.lt-ornament-footer{width:540px;right:-75px;top:0;color:#9a7153;opacity:.23}
.footer-legal-line{border-top-color:#a779583b}
html{scroll-padding-top:110px}
@media(max-width:1200px){.header-inner{min-height:79px}.lt-ornament-hero{right:-130px;top:50px;width:500px;opacity:.22}.lt-ornament-section{width:520px;right:-120px}.lt-ornament-footer{right:-130px;opacity:.19}.main-nav{max-height:calc(100dvh - 80px)}}
@media(max-width:700px){.lt-ornament-hero{right:-220px;top:80px;width:390px;opacity:.13}.lt-ornament-section{width:490px;right:-260px;bottom:0;opacity:.18}.hero>.lt-ornament-section{left:-160px;width:470px;opacity:.12}.lt-ornament-footer{width:360px;right:-220px;opacity:.18}.site-footer{padding-top:35px}.menu-toggle{flex:0 0 44px}.header-inner>.brand{flex:1 1 auto;min-width:0}.header-inner>.brand>span{flex:1;min-width:0}.header-inner .brand small{max-width:none}html{scroll-padding-top:100px}}

/* Buoni regalo: carta, nome e acquisto nello stesso atelier. */
.gift-feature{background:#efe5d8}.gift-feature-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:72px}.gift-feature h2{margin:20px 0}.gift-feature p{max-width:530px}.gift-prices{color:var(--cacao);font-size:22px;line-height:1.9;margin:24px 0}.gift-note{font-size:16px;margin-top:20px}.gift-feature-art{display:block;transform:rotate(-3deg);padding:25px 0}.gift-feature-art img{box-shadow:0 25px 65px #49352b24;border-radius:15px}.gift-feature-art>span{display:block;text-align:center;font-family:var(--serif);font-style:italic;font-size:27px;margin-top:24px;color:var(--cacao)}
.voucher-intro{padding:45px 0 44px;background:var(--cream)}.voucher-intro h1{font-size:clamp(48px,4.9vw,78px);line-height:1.04;max-width:900px;margin:18px 0}.voucher-intro p{font-size:21px;margin-bottom:0}.voucher-intro .breadcrumb{margin-bottom:25px}.voucher-section{background:var(--cream);padding:12px 0 100px}.voucher-builder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);gap:70px;align-items:start}.voucher-art-column{position:sticky;top:135px;padding-top:18px;min-width:0}.voucher-preview{position:relative;container-type:inline-size;box-shadow:0 25px 65px #49352b1c;border-radius:16px;overflow:hidden;background:#f7f1e8;outline:1px solid #a7795833}.voucher-preview img{display:block;width:100%;height:auto;border-radius:0}.voucher-owner{position:absolute;left:10.625%;bottom:27%;width:51.25%;height:6%;display:flex;align-items:center;font-family:var(--sans);font-size:3cqw;line-height:1;white-space:nowrap;overflow:hidden;color:#49352b}.voucher-preview-caption{display:flex;justify-content:space-between;gap:15px;margin:20px 2px;font-size:13px;color:var(--muted)}.voucher-preview-caption>span:first-child{letter-spacing:.12em}.voucher-art-note{text-align:center;font-size:18px;line-height:1.6;margin-top:36px}.voucher-form{padding:30px;background:#fcf9f4;border:1px solid #a779583b;border-radius:20px;box-shadow:0 15px 50px #49352b08}.voucher-form fieldset{padding:0;margin:0;border:0}.voucher-form legend,.voucher-name-field>label{display:block;font-family:var(--serif);font-size:29px;color:var(--cacao);margin-bottom:22px;line-height:1.3}.voucher-form legend>span,.voucher-name-field>label>span{font-family:var(--sans);font-size:14px;color:var(--copper);letter-spacing:.1em;margin-right:9px}.voucher-packs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.voucher-pack{position:relative;cursor:pointer}.voucher-pack input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.voucher-pack>span{display:flex;flex-direction:column;padding:16px 18px;border:1px solid #cdb7a5;border-radius:12px;transition:background .2s,color .2s}.voucher-pack strong{font-size:17px;font-weight:500}.voucher-pack b{font-family:var(--serif);font-size:35px;font-weight:400;line-height:1.3}.voucher-pack input:checked+span{background:var(--cacao);color:var(--cream);border-color:var(--cacao)}.voucher-pack input:focus-visible+span{outline:3px solid var(--copper);outline-offset:3px}.voucher-name-field{margin:32px 0 24px}.voucher-name-field input{width:100%;box-sizing:border-box;border:1px solid #bba18c;border-radius:8px;background:white;padding:15px 14px;font:inherit;font-size:18px;color:var(--cacao)}.voucher-name-field input:focus{outline:2px solid #a77958;outline-offset:2px}.voucher-name-field p{font-size:15px;line-height:1.6;margin:12px 0 0;color:var(--muted)}.voucher-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;font-size:17px}.voucher-total strong{font-family:var(--serif);font-weight:400;font-size:38px}.voucher-exclusion{font-size:15px;line-height:1.5;margin:10px 0 24px}.voucher-buy{width:100%;justify-content:space-between;text-align:left;border:0;cursor:pointer;gap:12px}.voucher-buy svg{width:22px;height:22px}.voucher-payment-note{font-size:13px;line-height:1.7;display:flex;gap:9px;align-items:center;margin:17px 0 12px}.voucher-payment-note svg{width:20px;height:20px;flex-shrink:0}.voucher-cart-link{font-size:14px;text-decoration:underline;text-underline-offset:4px}.gift-help{margin-top:48px;padding-top:28px;border-top:1px solid var(--line);max-width:820px}.gift-help p{font-size:18px}.treatment-promo video{width:100%;height:auto;display:block;border-radius:20px;margin-top:18px;background:#2c241f}
.commerce-section{min-height:65vh;background:var(--cream)}.commerce-section h1{font-size:clamp(46px,5vw,76px);margin-bottom:35px}.woocommerce{font-size:18px}.woocommerce a{color:var(--cacao);text-decoration:underline;text-underline-offset:4px}.woocommerce table{width:100%;border-collapse:collapse}.woocommerce th,.woocommerce td{padding:18px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.woocommerce .product-thumbnail img{width:140px;max-width:100%;border-radius:10px}.woocommerce dt{font-weight:600}.woocommerce dd{margin:0 0 5px}.woocommerce ul{list-style:none;padding:0}.woocommerce input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=submit]),.woocommerce select,.woocommerce textarea{font:inherit;line-height:1.5;color:var(--cacao);border:1px solid #bba18c;border-radius:7px;background:white;padding:12px 14px;max-width:100%;box-sizing:border-box}.woocommerce .quantity input{width:80px}.woocommerce .form-row{margin:0 0 22px}.woocommerce .form-row label{display:block;margin-bottom:8px;font-size:17px}.woocommerce .form-row input.input-text,.woocommerce .form-row textarea,.woocommerce .form-row select{width:100%}.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:45px}.woocommerce .col-1,.woocommerce .col-2{min-width:0}.woocommerce form.checkout{display:grid;grid-template-columns:1.1fr .9fr;gap:0 65px;align-items:start}.woocommerce form.checkout #customer_details{display:block;grid-column:1;grid-row:1/4}.woocommerce form.checkout #order_review_heading{grid-column:2;font-size:32px;margin:0 0 24px}.woocommerce form.checkout #order_review{grid-column:2;background:#fcf9f4;padding:28px;border-radius:16px;border:1px solid var(--line)}.woocommerce h3{font-size:32px;margin:20px 0}.woocommerce h2{font-size:38px}.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #place_order{background:var(--cacao);border:0;border-radius:6px;color:#fcf9f4;font-size:16px;cursor:pointer;padding:18px 24px;text-decoration:none;line-height:1.45;display:inline-flex;align-items:center;justify-content:center;min-height:50px}.woocommerce button:disabled{opacity:.5;cursor:wait}.woocommerce .coupon{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.woocommerce .coupon label{display:none}.woocommerce .actions>button{margin:18px 0}.woocommerce .cart-collaterals{max-width:650px;margin:40px 0 0 auto;background:#fcf9f4;padding:28px;border-radius:16px;border:1px solid var(--line)}.woocommerce .wc-proceed-to-checkout{margin-top:24px}.woocommerce-error,.woocommerce-message,.woocommerce-info{padding:20px!important;border:1px solid #a7795870;background:#efe5d8;border-radius:8px;margin:0 0 25px!important;font-size:17px;line-height:1.65}.woocommerce-error{border-color:#963929;background:#fff0e9}.woocommerce-NoticeGroup{grid-column:1/-1}.woocommerce .wc_payment_methods{margin:10px 0 25px}.woocommerce .payment_box{background:#f7f1e8;padding:20px;border-radius:8px}.woocommerce .payment_method_stripe>label{font-weight:600;font-size:19px}.woocommerce .payment_method_stripe>label img{height:25px;width:auto;display:inline-block;margin-left:8px;vertical-align:middle;border-radius:0}.woocommerce #place_order{width:100%;margin-top:20px}.woocommerce-privacy-policy-text p{font-size:15px;line-height:1.65;margin-top:20px}.woocommerce .required{color:#893b29}.woocommerce .screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.woocommerce .select2-container{width:100%!important}.woocommerce .select2-selection{height:49px!important;border-color:#bba18c!important;border-radius:7px!important}.woocommerce .select2-selection__rendered{line-height:47px!important}.woocommerce .select2-selection__arrow{top:11px!important}.woocommerce .product-name{min-width:150px}.woocommerce .shop_table .variation{font-size:16px;margin-top:12px}.woocommerce #payment .payment_box p{font-size:16px;line-height:1.6}.woocommerce form.login{max-width:560px}.woocommerce .lt-voucher-downloads{margin-top:35px;padding:28px;background:#efe5d8;border-radius:15px}.woocommerce .lt-voucher-downloads a{font-weight:600}.woocommerce .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:25px}.woocommerce-order-overview strong{display:block}.commerce-section .prose{max-width:none}
@media(max-width:1200px){.voucher-builder{gap:35px;grid-template-columns:minmax(0,1fr) minmax(330px,1fr)}.gift-feature-grid{gap:40px}.voucher-form{padding:24px}.voucher-art-column{top:110px}.woocommerce form.checkout{gap:0 30px}.woocommerce form.checkout #order_review{padding:20px}}
@media(max-width:800px){.voucher-builder,.gift-feature-grid{grid-template-columns:1fr}.voucher-art-column{position:static;padding-top:0}.voucher-preview{max-width:700px}.voucher-art-note{margin-top:22px}.voucher-intro{padding-top:30px;padding-bottom:25px}.voucher-intro p{font-size:18px}.voucher-section{padding-bottom:65px}.voucher-builder{gap:28px}.voucher-form{padding:24px}.voucher-packs{gap:12px}.voucher-intro h1{font-size:49px}.voucher-preview-caption{font-size:11px}.voucher-name-field input{font-size:18px}.voucher-art-note{font-size:16px}.gift-feature-art{transform:rotate(-2deg);order:-1}.gift-feature-grid{gap:24px}.gift-feature-art>span{font-size:24px}.woocommerce form.checkout{display:block}.woocommerce form.checkout #order_review_heading{margin-top:38px}.woocommerce .col2-set{display:block}.woocommerce th,.woocommerce td{padding:12px 6px;font-size:16px}.woocommerce .product-thumbnail{display:none}.woocommerce .cart-collaterals{padding:20px}.woocommerce .product-remove a{font-size:24px}.woocommerce .woocommerce-order-overview{display:block}.woocommerce-order-overview li{margin-bottom:14px}}

.voucher-payment-note{font-size:15px}.voucher-name-field p{font-size:16px}.voucher-preview-caption{font-size:14px}.woocommerce form.checkout>*{min-width:0}.woocommerce .woocommerce-checkout-review-order-table{table-layout:fixed}.woocommerce .woocommerce-checkout-review-order-table th:first-child{width:65%}.woocommerce .wc-stripe-upe-form,.woocommerce .wc-stripe-elements-field{max-width:100%;min-width:0}.woocommerce iframe{max-width:100%}.woocommerce .woocommerce-notices-wrapper{grid-column:1/-1}.woocommerce .wc-stripe-express-checkout-container{grid-column:1/-1}.woocommerce .woocommerce-checkout-payment img{max-width:48px}
/* Stripe lit ce champ technique pour calculer les styles des éléments sécurisés. */
#wc-stripe-hidden-style-input{position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;pointer-events:none!important}
.woocommerce form.checkout{position:relative;grid-template-areas:'customer heading' 'customer review';grid-template-rows:auto 1fr}.woocommerce form.checkout #customer_details{grid-area:customer}.woocommerce form.checkout #order_review_heading{grid-area:heading}.woocommerce form.checkout #order_review{grid-area:review}.woocommerce form.checkout>.wc-stripe-express-checkout-container,.woocommerce form.checkout>#wc-stripe-express-checkout-element,.woocommerce form.checkout>#wc-stripe-express-checkout-button-separator{grid-column:1/-1}
@media(max-width:700px){.woocommerce table.cart,.woocommerce table.cart tbody,.woocommerce table.cart tr{display:block;width:100%}.woocommerce table.cart thead{display:none}.woocommerce table.cart td{display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;padding:10px 0}.woocommerce table.cart td:before{content:attr(data-title);font-weight:600;flex-shrink:0}.woocommerce table.cart .product-name{display:block;padding-right:20px}.woocommerce table.cart .product-name:before{display:block;margin-bottom:10px}.woocommerce table.cart .product-thumbnail{display:none}.woocommerce table.cart .product-remove{justify-content:flex-end}.woocommerce table.cart tr.cart_item{padding:5px 0 22px;border-bottom:1px solid var(--line)}.woocommerce table.cart .actions{display:block}.woocommerce table.cart td.actions:before{display:none}.woocommerce table.cart button{max-width:100%}.woocommerce table.cart .variation{font-size:16px}.woocommerce table.cart .quantity{margin-left:auto}}

/* Spazio tra lo stato della proposta e la categoria della scheda. */
.course-card .card-body>.status,.product-card .card-body>.status{display:table;margin:0 0 24px;padding:7px 13px;font-size:14px;line-height:1.5;letter-spacing:.06em;background:#f3eade;border-color:#d7c1ad}
.course-card .card-body>.eyebrow,.product-card .card-body>.eyebrow{display:block;margin:0 0 16px;color:var(--muted);font-size:15px;line-height:1.6;letter-spacing:.1em}
.main-nav>.nav-cart{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.nav-cart svg{width:21px;height:21px;flex-shrink:0}
.lt-video-player{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;background:#2c241f}.lt-video-player video{display:block;width:100%;height:auto;margin:0;border-radius:inherit}.lt-video-player [hidden]{display:none!important}
.lt-video-play{position:absolute;z-index:3;left:50%;top:46%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border:1px solid #f7f1e877;border-radius:18px;padding:18px 24px;background:#49352bd9;color:#fff8ed;font:inherit;font-size:16px;line-height:1.4;box-shadow:0 8px 24px #0003;cursor:pointer;max-width:85%;text-align:center;backdrop-filter:blur(7px)}.lt-video-play:focus-visible{outline:3px solid #d2aa87;outline-offset:5px}.lt-video-play-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#f7f1e8;color:#49352b}.lt-video-play-icon svg{width:22px;height:22px;margin-left:3px}.lt-video-play-text{font-size:15px}.lt-video-status{position:absolute;z-index:2;left:18px;top:18px;background:#2c241fe6;color:#fff8ed;padding:8px 12px;border-radius:7px;font-size:14px;line-height:1.4;max-width:calc(100% - 36px)}.lt-video-fallback{position:absolute;z-index:4;left:50%;bottom:60px;transform:translateX(-50%);color:#fff8ed!important;background:#2c241fe6;padding:8px 14px;border-radius:6px;font-size:14px;text-align:center;text-decoration:underline;max-width:90%}.treatment-promo .lt-video-player{margin-top:18px}
@media(max-width:700px){.lt-video-play{padding:12px 18px;gap:7px;font-size:14px}.lt-video-play-icon{width:40px;height:40px}.lt-video-play-text{font-size:14px}.lt-video-status{top:10px;left:10px;font-size:13px;max-width:calc(100% - 20px)}.course-card .card-body>.status,.product-card .card-body>.status{margin-bottom:22px}}
.video-frame video,.treatment-promo video{aspect-ratio:16/9;object-fit:contain}
.lt-video-play[aria-busy=true]{cursor:progress}

/* Titolo del buono gestito da un widget Elementor nativo. */
.elementor-section.voucher-intro>.elementor-container{width:91.5%;max-width:1320px}.voucher-intro .elementor-widget-heading .elementor-heading-title{font-family:var(--serif);font-weight:400;color:var(--cacao);letter-spacing:-.035em}.voucher-intro>.elementor-container>.elementor-column>.elementor-element-populated{padding:0}.lt-voucher-dynamic>.elementor-container{max-width:none!important}.lt-voucher-dynamic>.elementor-container>.elementor-column>.elementor-element-populated{padding:0!important}.lt-voucher-dynamic .elementor-widget-shortcode{width:100%;margin:0}
/* Pagine native Elementor: stessi colori, tipografia e componenti del sito. */
.elementor-section.lt-e-section>.elementor-container{width:91.5%;max-width:1320px;gap:clamp(24px,4vw,64px)}
.elementor-section.lt-e-section>.elementor-container>.elementor-column{min-width:0;flex-shrink:1}
.lt-e-section .elementor-widget-wrap{align-content:flex-start;gap:0}
.lt-e-section .elementor-widget{min-width:0}
.lt-e-section .elementor-widget:not(:last-child){margin-bottom:22px}
.lt-e-section .elementor-heading-title{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}
.lt-e-section .elementor-widget-text-editor p:last-child{margin-bottom:0}
.lt-e-section .elementor-widget.eyebrow{display:block;line-height:1.5;margin-bottom:20px}
.lt-e-section .elementor-widget.eyebrow p{margin:0}
.lt-e-section .elementor-widget-image img{border-radius:20px}
.lt-e-section .elementor-widget-button.button{display:block;background:none;padding:0;border:0;min-height:0;width:auto;text-align:left}
.lt-e-section .elementor-widget-button.button::after,.lt-e-section .elementor-widget-button.text-link::after{display:none}
.lt-e-section .elementor-widget-button.text-link{display:block;border:0;padding:0;width:auto}

.lt-e-section .elementor-button{border-radius:0;text-transform:uppercase;padding:20px 26px;line-height:1.5}
.lt-e-section .elementor-widget-button .elementor-button-content-wrapper{display:inline}
.lt-e-section .elementor-widget.status{display:table;width:fit-content;max-width:100%;margin-bottom:24px;padding:7px 13px;background:#f3eade;border:1px solid #d7c1ad;border-radius:30px;line-height:1.5}
.lt-e-section .elementor-widget.status p{margin:0;font-size:15px;line-height:1.5}
.lt-e-section .lt-e-card-image img,.lt-e-treatment-card .elementor-widget-image img{width:100%;aspect-ratio:8/9;object-fit:cover}
.lt-e-course-card .elementor-widget-image img,.lt-e-product-card .elementor-widget-image img{aspect-ratio:4/3;object-fit:cover}
.lt-e-section .course-card,.lt-e-section .product-card{padding:0;overflow:hidden}
.lt-e-section .course-card>.elementor-widget-wrap,.lt-e-section .product-card>.elementor-widget-wrap{padding:24px}
.lt-e-section .course-card>.elementor-widget-wrap>.elementor-widget-image:first-child,.lt-e-section .product-card>.elementor-widget-wrap>.elementor-widget-image:first-child{width:calc(100% + 48px);max-width:none;margin:-24px -24px 28px}
.lt-e-section .contact-card{position:relative;top:auto;align-self:flex-start}
.lt-e-treatment-detail>.elementor-container{align-items:flex-start}
.lt-e-section-intro{padding-bottom:25px!important}
.lt-e-card-section{padding-top:25px!important}
.lt-e-section.hero>.elementor-container{align-items:center}
.lt-e-section.hero .hero-copy>.elementor-widget-wrap,.lt-e-section.hero .hero-visual>.elementor-widget-wrap{align-content:center}
.lt-e-section.trust-strip .elementor-widget-html svg,.lt-e-trust-item .lt-e-icon svg,.lt-e-feature .elementor-widget-html svg{color:var(--copper);width:38px;height:38px}
.lt-e-section .feature{min-height:0}
.lt-e-faq-column .elementor-widget-heading{padding-top:24px;border-top:1px solid var(--line)}
.lt-e-section .gift-feature-art{padding:0}
.lt-e-section.page-hero,.lt-e-section.section-cream,.lt-e-section.contact-band{isolation:isolate}
.lt-e-section>.elementor-container{position:relative;z-index:1}
.lt-e-section .elementor-widget-html .lt-ornament{display:none}
@media(max-width:767px){.elementor-section.lt-e-section>.elementor-container{flex-wrap:wrap;gap:30px}.elementor-section.lt-e-section>.elementor-container>.elementor-column{width:100%!important}.lt-e-section .elementor-button{padding:18px 22px;max-width:100%}.lt-e-section .elementor-widget:not(:last-child){margin-bottom:20px}.lt-e-section .elementor-widget.status{margin-bottom:24px}.lt-e-section .contact-card{padding:0}.lt-e-section .course-card,.lt-e-section .product-card{margin-bottom:12px}.lt-e-section .elementor-heading-title{overflow-wrap:normal}.lt-e-section .gift-feature-art{transform:none}}
.lt-e-live-catalog{padding:0!important}.lt-live-products{padding:65px 0}.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;list-style:none;margin:0;padding:0}.woocommerce ul.products li.product{width:100%;margin:0;padding:20px;border:1px solid var(--line);border-radius:18px}.woocommerce ul.products img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.woocommerce ul.products h2{font-size:32px;margin:20px 0 12px}.woocommerce ul.products .price{display:block;font-size:22px;margin:12px 0}.single-product .woocommerce div.product{width:91.5%;max-width:1320px;margin:60px auto;display:grid;grid-template-columns:1fr 1fr;gap:50px}.single-product .woocommerce div.product .related,.single-product .woocommerce div.product .woocommerce-tabs{grid-column:1/-1}.single-product .woocommerce div.product img{height:auto;max-width:100%}.site-footer.footer-rich{padding:0 0 55px}.footer-rich>.elementor{position:relative;z-index:1}.footer-rich .elementor-widget-heading .elementor-heading-title{font-size:30px}.footer-rich .elementor-icon-list-text,.footer-rich .elementor-widget-text-editor{font-family:var(--sans);font-size:18px;line-height:1.7}.footer-rich .elementor-widget-icon-list .elementor-icon-list-text{color:var(--cacao);font-size:18px}.footer-rich .lt-e-footer-legal{border-top:1px solid var(--line);padding-top:24px}.footer-rich .lt-e-footer-legal p{font-size:14px;line-height:1.8}.footer-rich .lt-e-footer-legal img{display:inline-block;width:28px;height:28px;vertical-align:middle;border-radius:0}.footer-rich .elementor-icon-list-item a{text-decoration:none}.footer-rich .lt-e-footer-bottom>.elementor-container{max-width:1320px}.footer-rich .lt-e-footer-main>.elementor-container{align-items:flex-start;gap:30px}.footer-rich .lt-e-footer-main .elementor-widget-wrap{align-content:flex-start}.footer-rich .lt-footer-mark{text-align:left!important}.footer-rich .lt-footer-mark img{width:64px;height:64px}
@media(min-width:1201px){.footer-rich .lt-e-footer-legal p{white-space:nowrap}}@media(max-width:767px){.woocommerce ul.products{grid-template-columns:1fr}.single-product .woocommerce div.product{grid-template-columns:1fr}.footer-rich .lt-e-footer-main>.elementor-container{gap:32px}.footer-rich .lt-e-footer-main>.elementor-container>.elementor-column{width:100%!important}}
/* Header globale: i collegamenti, il logo e i pulsanti sono widget Elementor. */
.site-header.lt-elementor-header{padding:0;background:#fcf9f4;border-bottom:1px solid var(--line)}
.lt-elementor-header .lt-e-header{background:none!important;overflow:visible}
.lt-elementor-header .lt-e-header:before,.lt-elementor-header .lt-e-header:after{display:none}
.lt-elementor-header .lt-e-header>.elementor-container{width:91.5%;max-width:1450px;gap:22px;align-items:center}
.lt-elementor-header .lt-e-header .elementor-widget{margin:0!important}
.lt-elementor-header .elementor-widget-wrap{align-content:center}
.lt-elementor-header .lt-header-logo{text-align:left}.lt-elementor-header .lt-header-logo img{width:300px;max-width:100%;height:auto;border-radius:0!important}
.lt-elementor-header .lt-header-cart .elementor-icon{display:inline-flex;padding:12px 6px}.lt-elementor-header .lt-header-cart-col{flex:0 0 36px}
.lt-elementor-header .lt-header-brand-col{flex:0 0 280px}
.lt-elementor-header .lt-header-navigation{flex:1;width:auto!important}
.lt-elementor-header .lt-header-navigation .elementor-icon-list-items{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:22px;margin:0!important;padding:0}
.lt-elementor-header .lt-header-navigation .elementor-icon-list-item{margin:0!important;padding:0!important;white-space:nowrap;line-height:1.6}
.lt-elementor-header .lt-header-navigation .elementor-icon-list-text{padding:0;color:var(--cacao);font-size:18px}
.lt-elementor-header .lt-header-action-col{flex:0 0 180px}
.lt-elementor-header .lt-header-contact .elementor-button{font-size:16px;padding:17px 20px;white-space:nowrap}
.lt-elementor-header .lt-header-contact .elementor-button:after{margin-left:14px;font-size:20px}
.lt-elementor-header .lt-header-toggle{display:none}
@media(max-width:1250px){.lt-elementor-header .lt-e-header>.elementor-container{flex-wrap:wrap;gap:14px}.lt-elementor-header .lt-header-cart-col{width:36px!important;flex-basis:36px}.lt-elementor-header .lt-header-brand-col{width:calc(100% - 155px)!important;flex:1}.lt-elementor-header .lt-header-logo img{width:285px}.lt-elementor-header .lt-header-action-col{width:80px!important;flex:0 0 80px}.lt-elementor-header .lt-header-contact{display:none}.lt-elementor-header .lt-header-toggle{display:block;text-align:right}.lt-elementor-header .lt-header-toggle .elementor-button{padding:12px 14px;font-size:16px}.lt-elementor-header .lt-header-toggle .elementor-button:after{display:none}.lt-elementor-header .lt-header-navigation{display:none;width:100%!important;flex:0 0 100%;order:5;padding:20px 0}.lt-elementor-header .lt-header-navigation.is-open{display:block}.lt-elementor-header .lt-header-navigation .elementor-icon-list-items{flex-direction:column;align-items:flex-start;gap:20px}.lt-elementor-header .lt-header-navigation .elementor-icon-list-text{font-size:21px}.lt-elementor-header .lt-header-brand-col .elementor-widget-wrap{align-content:center}}
@media(max-width:480px){.lt-elementor-header .lt-e-header>.elementor-container{gap:6px}.lt-elementor-header .lt-header-brand-col{width:calc(100% - 115px)!important}.lt-elementor-header .lt-header-action-col{width:65px!important;flex-basis:65px}.lt-elementor-header .lt-header-toggle .elementor-button{padding:10px;font-size:15px}.lt-elementor-header .lt-header-logo img{width:230px}}
/* Preserve the editorial rhythm inside native Elementor columns. */
.lt-e-section .elementor-column>.elementor-widget-wrap{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap}
.lt-e-section .elementor-column>.elementor-widget-wrap>.elementor-widget{width:100%;max-width:100%;flex:0 0 auto}
.lt-e-section .elementor-widget-button.button,.lt-e-section .elementor-widget-button.text-link{width:100%;align-self:stretch}
.lt-e-section .elementor-widget-image a{display:block;width:100%}
.lt-e-section .elementor-widget-image img{display:inline-block;height:auto}
.lt-e-section .lt-e-treatment-card .elementor-widget-image img{width:100%;height:auto;aspect-ratio:8/9;object-fit:cover}
.lt-e-section .lt-e-course-card .elementor-widget-image img,.lt-e-section .lt-e-product-card .elementor-widget-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.lt-e-section .course-card>.elementor-widget-wrap>.elementor-widget-image:first-child,.lt-e-section .product-card>.elementor-widget-wrap>.elementor-widget-image:first-child{width:calc(100% + 48px);max-width:calc(100% + 48px)}
.lt-e-section.hero .hero-image{background:none;border-radius:20px;padding:0}
.lt-e-section.hero .hero-image img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.lt-e-section.hero .hero-visual{min-width:0}
.lt-e-section.hero .hero-intro{margin-top:14px}
.lt-e-section.hero .hero-footnote{margin-top:16px;font-size:16px}
.lt-e-section.hero .hero-copy .elementor-widget-button{margin-bottom:24px}

.lt-elementor-header .lt-header-contact .elementor-button:after,.lt-e-section .lt-no-arrow .elementor-button:after{display:none!important}
.lt-elementor-header .lt-header-cart-col{order:4;flex:0 0 36px}
.lt-elementor-header .lt-header-brand-col{order:1}.lt-elementor-header .lt-header-navigation{order:2}.lt-elementor-header .lt-header-action-col{order:3}
.lt-elementor-header .lt-header-cart svg{width:25px;height:25px}
.lt-elementor-header .lt-header-contact .elementor-button{padding:16px 23px;font-weight:500;text-transform:none;font-size:18px}
.lt-elementor-header .lt-header-action-col{flex:0 0 155px}
@media(max-width:1250px){.lt-elementor-header .lt-header-brand-col{order:1}.lt-elementor-header .lt-header-cart-col{order:2}.lt-elementor-header .lt-header-action-col{order:3}.lt-elementor-header .lt-header-navigation{order:5}}
.lt-e-home-hero .elementor-widget.hero-image{aspect-ratio:auto;background:none;max-height:none}
.lt-e-section>.elementor-container>.editorial-copy{max-width:none}


.lt-elementor-header .lt-header-cart img{width:25px;height:25px;border-radius:0!important}.lt-elementor-header .lt-header-cart a{display:inline-flex;padding:12px 5px;align-items:center;justify-content:center}

.lt-e-section .elementor-column>.elementor-widget-wrap>.elementor-widget.status{width:fit-content;max-width:100%;align-self:flex-start}
.lt-e-trust-strip .lt-e-trust-item>.elementor-widget-wrap{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:16px;align-content:center;align-items:start}
.lt-e-trust-strip .lt-e-trust-item .lt-e-icon{grid-column:1;grid-row:1/3;margin:0!important}
.lt-e-trust-strip .lt-e-trust-item .elementor-widget-heading,.lt-e-trust-strip .lt-e-trust-item .elementor-widget-text-editor{grid-column:2;margin-bottom:6px!important}


@media(min-width:1251px){.lt-e-home-hero .hero-copy>.elementor-widget-wrap{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:22px;align-items:center}.lt-e-home-hero .hero-copy>.elementor-widget-wrap>.elementor-widget:not(.elementor-widget-button){grid-column:1/-1}.lt-e-home-hero .hero-copy>.elementor-widget-wrap>.elementor-widget-button{margin-bottom:14px}.lt-e-home-hero .hero-copy .elementor-button{font-size:16px;padding:19px 22px}}
@media(max-width:1250px){.lt-elementor-header .lt-header-action-col{flex:0 0 70px!important;width:70px!important;order:2}.lt-elementor-header .lt-header-cart-col{flex:0 0 34px!important;width:34px!important;order:3}.lt-elementor-header .lt-header-brand-col{flex:1 1 0!important;width:auto!important;order:1}.lt-elementor-header .lt-e-header>.elementor-container{gap:8px}.lt-elementor-header .lt-header-navigation{order:5}}
.lt-header-navigation .elementor-icon-list-item:has(a[href*="/contatti/"]){display:none}
@media(max-width:1250px){.lt-header-navigation .elementor-icon-list-item:has(a[href*="/contatti/"]){display:flex}}

/* Multi-row legacy Sections; column widths, spacing and borders are native controls. */
.elementor-section.lt-e-flow-grid>.elementor-container{flex-wrap:wrap;gap:0}
.lt-e-section .lt-e-course-card,.lt-e-section .lt-e-product-card{border:0;border-radius:0;overflow:visible}
.lt-e-section .lt-e-course-card>.elementor-widget-wrap,.lt-e-section .lt-e-product-card>.elementor-widget-wrap{overflow:hidden}
.lt-e-trust-strip .lt-e-trust-item{padding:0;border:0}
.lt-e-trust-strip .lt-e-icon .elementor-icon{display:block}
.lt-e-trust-strip .lt-e-icon svg{fill:none;stroke:currentColor}
.lt-e-trust-strip .lt-e-icon svg *{fill:none}
@media(max-width:1200px){
 .elementor-section.lt-e-section>.elementor-container{flex-wrap:wrap;gap:0}
 .lt-e-home-hero>.elementor-container>.hero-copy,.lt-e-home-hero>.elementor-container>.hero-visual{flex:0 0 auto}
 .woocommerce form.checkout{display:block}
 .woocommerce form.checkout #order_review_heading{margin-top:32px}
 .voucher-builder{grid-template-columns:1fr;gap:36px}
 .voucher-art-column{position:static;max-width:780px;padding-top:0}
}

@media(min-width:768px) and (max-width:1200px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-rich .lt-e-footer-legal p{white-space:normal}}
.lt-e-trust-strip .lt-e-icon .elementor-icon svg{width:1em;height:1em}

.elementor-section.lt-e-flow-grid>.elementor-container>.elementor-column>.elementor-widget-wrap{width:calc(100% - var(--e-column-margin-right,0px) - var(--e-column-margin-left,0px))}

.lt-e-section .lt-e-feature{border:0;padding:0}

/* Preserve Elementor column stretching; separators and spacing use native controls. */
.lt-e-section .lt-e-treatment-card{display:flex;border:0;padding:0}
