/* VIVERE Global Design System - Italian Luxury / Burgundy & Gold Editorial */
:root{
  --color-burgundy-dark:#3A0915;
  --color-burgundy:#4A0F1E;
  --color-burgundy-soft:#6B1F33;
  --color-gold:#B08D57;
  --color-gold-soft:#C9A46A;
  --color-white:#FFFFFF;
  --color-ivory:#F8F4EF;
  --color-ivory-soft:#FFFDF9;
  --text-primary:#3A0915;
  --text-inverse:#F8F4EF;
  --text-muted:rgba(58,9,21,.72);
  --border-gold:rgba(176,141,87,.28);
  --shadow-burgundy:0 24px 60px rgba(58,9,21,.12);
  --radius-card:24px;
  --radius-feature:34px;
  --container-vivere:1440px;
  --ease-luxury:cubic-bezier(.22,1,.36,1);
}
html{scroll-behavior:smooth}body{background:var(--color-ivory);color:var(--text-primary);font-family:Inter,Manrope,"Neue Haas Grotesk",Arial,sans-serif;font-size:17px;line-height:1.65}h1,h2,h3,h4,h5,h6,.site-title,.entry-title,.page-title,.woocommerce-loop-product__title{color:var(--color-burgundy-dark);font-family:"Playfair Display","Cormorant Garamond","Libre Baskerville",Georgia,serif;font-weight:600;letter-spacing:-.02em}h1,.elementor-heading-title.elementor-size-xxl{font-size:clamp(48px,6vw,88px);line-height:.96}h2{font-size:clamp(38px,4vw,58px);line-height:1.04}h3{font-size:clamp(30px,3vw,44px);line-height:1.12}p{color:var(--text-muted)}a{color:var(--color-burgundy);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .35s var(--ease-luxury),transform .35s var(--ease-luxury),border-color .35s var(--ease-luxury)}a:hover{color:var(--color-gold)}.site-main,body:not([class*=elementor-page-]) .site-main{padding-block:clamp(64px,8vw,130px)}body:not([class*=elementor-page-]) .site-main,.site-header .header-inner,.site-footer .footer-inner,.page-header .entry-title{max-width:var(--container-vivere)!important;padding-inline:48px}.elementor-section.elementor-section-boxed>.elementor-container{max-width:var(--container-vivere)!important}.elementor-section{padding-inline:0}.elementor-widget-container>p:last-child{margin-bottom:0}.vivere-eyebrow,.eyebrow,.elementor-widget-text-editor .eyebrow{color:var(--color-gold);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.button,button,input[type=button],input[type=submit],input[type=reset],.elementor-button,.wp-block-button__link{align-items:center;background:var(--color-burgundy);border:1px solid var(--color-burgundy);border-radius:999px;color:var(--text-inverse);display:inline-flex;font-size:12px;font-weight:700;justify-content:center;letter-spacing:.16em;min-height:52px;padding:0 28px;text-transform:uppercase;transition:background .35s var(--ease-luxury),border-color .35s var(--ease-luxury),color .35s var(--ease-luxury),transform .35s var(--ease-luxury),box-shadow .35s var(--ease-luxury)}.button:hover,button:hover,input[type=button]:hover,input[type=submit]:hover,input[type=reset]:hover,.elementor-button:hover,.wp-block-button__link:hover{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-burgundy-dark);transform:translateY(-2px)}.is-style-outline>.wp-block-button__link,.elementor-button.elementor-size-sm.vivere-secondary,.vivere-secondary{background:transparent;border-color:var(--color-gold);color:var(--color-burgundy)}.is-style-outline>.wp-block-button__link:hover,.vivere-secondary:hover{background:rgba(176,141,87,.12);color:var(--color-burgundy)}.wp-block-group,.elementor-widget-container,.vivere-card{border-radius:var(--radius-card)}.vivere-card,.wp-block-column.is-style-vivere-card{background:var(--color-ivory-soft);border:1px solid var(--border-gold);box-shadow:none;padding:clamp(24px,3vw,40px);transition:transform .4s var(--ease-luxury),border-color .4s var(--ease-luxury),box-shadow .4s var(--ease-luxury)}.vivere-card:hover,.wp-block-column.is-style-vivere-card:hover{border-color:var(--color-gold);box-shadow:var(--shadow-burgundy);transform:translateY(-5px)}img{height:auto;max-width:100%}.wp-post-image,.elementor img,.woocommerce-product-gallery img{transition:transform .45s var(--ease-luxury)}a:hover img,.vivere-card:hover img,.product:hover img{transform:scale(1.025)}input,select,textarea{background:var(--color-ivory-soft);border:1px solid var(--border-gold);border-radius:18px;color:var(--text-primary);min-height:48px;padding:12px 16px}input:focus,select:focus,textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 4px rgba(176,141,87,.14);outline:0}.site-header:not(.dynamic-header){background:rgba(248,244,239,.96);border-bottom:1px solid var(--border-gold);box-shadow:0 14px 40px rgba(58,9,21,.06);position:sticky;top:0;z-index:999}.site-header .site-title a,.site-footer .site-title a{color:inherit;text-decoration:none}.site-header .site-title{font-size:clamp(30px,3vw,44px);letter-spacing:.04em;text-transform:uppercase}.site-navigation ul.menu li a{color:var(--color-burgundy);font-size:12px;font-weight:700;letter-spacing:.12em;position:relative;text-decoration:none;text-transform:uppercase}.site-navigation ul.menu li a:after{background:var(--color-gold);bottom:5px;content:"";height:1px;left:15px;position:absolute;transform:scaleX(0);transform-origin:left;width:calc(100% - 30px);transition:transform .35s var(--ease-luxury)}.site-navigation ul.menu li a:hover:after,.site-navigation ul.menu li.current-menu-item>a:after{transform:scaleX(1)}.site-navigation ul.menu li ul,.site-navigation-dropdown ul.menu,.site-navigation-dropdown ul.menu li a{background:var(--color-ivory-soft);border-color:var(--border-gold);color:var(--color-burgundy)}.site-navigation-toggle-holder .site-navigation-toggle{background:var(--color-burgundy);border-radius:999px;color:var(--text-inverse)}.site-footer:not(.dynamic-footer){background:var(--color-burgundy-dark);color:var(--text-inverse);padding-block:64px}.site-footer:not(.dynamic-footer) p,.site-footer:not(.dynamic-footer) .copyright p{color:rgba(248,244,239,.76)}.site-footer:not(.dynamic-footer) a,.site-footer:not(.dynamic-footer) .site-title{color:var(--text-inverse)}.site-footer:not(.dynamic-footer) a:hover{color:var(--color-gold)}.site-footer:not(.dynamic-footer) .site-navigation ul.menu li a:after{background:var(--color-gold)}.page-header{background:linear-gradient(135deg,var(--color-ivory),var(--color-white));border-bottom:1px solid var(--border-gold);padding-block:clamp(64px,8vw,110px)}.page-header .entry-title{font-size:clamp(42px,5vw,72px)}.vivere-dark-section{background:var(--color-burgundy);color:var(--text-inverse)}.vivere-dark-section h1,.vivere-dark-section h2,.vivere-dark-section h3,.vivere-dark-section p{color:var(--text-inverse)}.vivere-gold-line{border-top:1px solid var(--border-gold)}@media(max-width:1024px){body:not([class*=elementor-page-]) .site-main,.site-header .header-inner,.site-footer .footer-inner,.page-header .entry-title{padding-inline:32px}}@media(max-width:767px){body{font-size:16px}body:not([class*=elementor-page-]) .site-main,.site-header .header-inner,.site-footer .footer-inner,.page-header .entry-title{padding-inline:20px}.site-header:not(.dynamic-header){position:relative}.site-navigation-dropdown{left:20px;right:20px;width:auto}.site-navigation-dropdown ul.menu{border:1px solid var(--border-gold);border-radius:24px;box-shadow:var(--shadow-burgundy);overflow:hidden}}


/* VIVERE v2.10 Elementor page cleanup: keep the luxury header intact, remove the native page title banner and Elementor top gap. */
body.elementor-page .page-header,
body[class*="elementor-page-"] .page-header,
body.single-elementor_library .page-header,
body.elementor-template-full-width .page-header,
body.elementor-template-canvas .page-header {
  display: none !important;
}

body.elementor-page .site-main,
body[class*="elementor-page-"] .site-main,
body.single-elementor_library .site-main,
body.elementor-template-full-width .site-main,
body.elementor-template-canvas .site-main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.elementor-page .page-content,
body[class*="elementor-page-"] .page-content,
body.single-elementor_library .page-content,
body.elementor-template-full-width .page-content,
body.elementor-template-canvas .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.elementor-page .page-content > .elementor,
body[class*="elementor-page-"] .page-content > .elementor,
body.single-elementor_library .page-content > .elementor,
body.elementor-template-full-width .page-content > .elementor,
body.elementor-template-canvas .page-content > .elementor {
  margin-top: 0 !important;
}
