/* ==========================================================================
   Miriam Schlossberg – design layer for Elementor widgets
   Palette (approved): burgundy 6E1E2A · forest 22392D · base 17121A ·
   gold B8975A · cream F3ECE2 · purple 3B2340 (details only)
   ========================================================================== */
:root{
  --ms-burgundy:#6E1E2A; --ms-green:#22392D; --ms-base:#17121A; --ms-deep:#110D13;
  --ms-gold:#B8975A; --ms-gold-hi:#D2B47A; --ms-gold-line:rgba(184,151,90,.32);
  --ms-cream:#F3ECE2; --ms-cream-2:rgba(243,236,226,.78); --ms-cream-3:rgba(243,236,226,.56);
  --ms-cream-line:rgba(243,236,226,.18); --ms-purple:#3B2340;
  --ms-display:'Assistant',Arial,sans-serif;
  --ms-body:'Assistant',Arial,sans-serif;
  --ms-latin:'Assistant',Arial,sans-serif;
  --ms-script:'Great Vibes',cursive;
  --ms-ease:cubic-bezier(.22,.61,.36,1);
}
html[lang^="ru"]{--ms-display:'Montserrat',Arial,sans-serif;--ms-body:'Montserrat',Arial,sans-serif}

/* ---------- Base ---------- */
body{background:var(--ms-base);color:var(--ms-cream);font-family:var(--ms-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body a{color:var(--ms-gold);transition:color .2s var(--ms-ease)}
body a:hover{color:var(--ms-gold-hi)}
::selection{background:var(--ms-gold);color:var(--ms-base)}
:focus-visible{outline:2px solid var(--ms-gold)!important;outline-offset:3px}
h1,h2,h3,h4{font-family:var(--ms-display);letter-spacing:-.01em}
.elementor-widget-heading .elementor-heading-title,.elementor-headline{letter-spacing:-.015em}
.elementor-heading-title{text-wrap:balance}
.elementor-widget-text-editor p{text-wrap:pretty}
.site-main .page-header{display:none}

/* Canvas grain – a whisper of oil-on-linen texture over the dark base */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='1'/></svg>")}

/* ---------- Logo (text version until the scanned signature arrives) ---------- */
.ms-logo{direction:ltr;text-align:left;display:inline-flex;flex-direction:column;text-decoration:none;line-height:1}
.ms-logo__name{font-family:var(--ms-script);font-size:42px;color:var(--ms-gold);line-height:1.05;white-space:nowrap;transition:font-size .35s var(--ms-ease),color .2s}
.ms-logo__sub{font-family:var(--ms-latin);font-size:10.5px;letter-spacing:.52em;color:var(--ms-gold);opacity:.75;margin-top:5px;padding-left:3px;transition:opacity .3s}
.ms-logo:hover .ms-logo__name{color:var(--ms-gold-hi)}
@media (max-width:767px){.ms-logo__name{font-size:32px}.ms-logo__sub{font-size:9.5px}}

/* ---------- Header: glass, sticky, shrinks on scroll ---------- */
.ms-header-main{transition:padding .35s var(--ms-ease),background-color .35s}
.ms-header-main.elementor-sticky--active{background-color:rgba(23,18,26,.78)!important;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--ms-gold-line)}
.ms-header-main.elementor-sticky--effects{padding-top:10px!important;padding-bottom:10px!important}
.ms-header-main.elementor-sticky--effects .ms-logo__name{font-size:32px}
.ms-header-main.elementor-sticky--effects .ms-logo__sub{opacity:0;height:0;margin:0;overflow:hidden}
.ms-bsd .elementor-heading-title{letter-spacing:.04em}
.ms-lang{display:flex;gap:18px;align-items:center;font-size:12.5px;font-family:var(--ms-body)}
.ms-lang a{color:var(--ms-cream-3);text-decoration:none;padding:6px 0;letter-spacing:.12em}
.ms-lang a:hover{color:var(--ms-cream)}
.ms-lang a.is-current{color:var(--ms-gold);box-shadow:inset 0 -1px 0 var(--ms-gold)}
.ms-exhibit p{margin:0}
.ms-exhibit strong,.ms-exhibit .ms-hl{color:var(--ms-gold);font-weight:600}
.ms-exhibit a{color:var(--ms-cream);text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent}
.ms-exhibit a:hover{border-bottom-color:var(--ms-gold);color:var(--ms-cream)}
.ms-nav .elementor-nav-menu--main .elementor-item{letter-spacing:.02em}
.ms-nav .elementor-nav-menu--dropdown{border-top:1px solid var(--ms-gold-line)}
.ms-nav .elementor-nav-menu--dropdown a{border-bottom:1px solid rgba(243,236,226,.07)}

/* ---------- Typography helpers ---------- */
.ms-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:14px;font-family:var(--ms-body)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.18em;color:var(--ms-gold)!important;line-height:1.4!important}
.ms-eyebrow .elementor-heading-title:before{content:"";width:36px;height:1px;background:currentColor;opacity:.7;flex:0 0 auto}
.ms-eyebrow--center .elementor-heading-title{justify-content:center}
.ms-ghost{pointer-events:none;user-select:none}
.ms-ghost .elementor-heading-title{direction:ltr;unicode-bidi:isolate;font-variant-numeric:lining-nums}
.ms-ghost .elementor-heading-title{font-family:var(--ms-latin)!important;font-style:normal;font-weight:200!important;line-height:.8!important;color:transparent!important;-webkit-text-stroke:1px rgba(184,151,90,.42)}
.ms-display .elementor-heading-title,.ms-display .elementor-headline{letter-spacing:-.02em}
.ms-lead p{color:var(--ms-cream)}
.ms-caption p{font-size:13px;letter-spacing:.04em;color:var(--ms-cream-3)}

/* Animated headline marker in gold */
.elementor-headline .elementor-headline-dynamic-wrapper svg path{stroke:var(--ms-gold)!important;stroke-width:6}

/* ---------- Buttons ---------- */
.elementor-button{transition:background-color .25s var(--ms-ease),color .25s,border-color .25s,transform .25s var(--ms-ease)}
.elementor-button:hover{transform:translateY(-2px)}
.elementor-button .elementor-button-icon{transition:transform .3s var(--ms-ease)}
.elementor-button:hover .elementor-button-icon{transform:translateX(-5px)}
html[dir="ltr"] .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}
.ms-el-outline .elementor-button{background:transparent!important;color:var(--ms-gold)!important;border:1px solid var(--ms-gold)!important}
.ms-el-outline .elementor-button:hover{background:var(--ms-gold)!important;color:var(--ms-base)!important}
.ms-textlink .elementor-heading-title a,.ms-textlink a{color:var(--ms-cream)!important;text-decoration:none;background:linear-gradient(var(--ms-gold),var(--ms-gold)) 0 100%/100% 1px no-repeat;padding-bottom:5px;transition:background-size .35s var(--ms-ease),color .2s}
.ms-textlink .elementor-heading-title a:hover,.ms-textlink a:hover{color:var(--ms-gold)!important;background-size:0 1px;background-position:100% 100%}

/* ---------- Gold frame (Elementor containers .ms-frame > .ms-mat > image) ---------- */
.ms-frame{position:relative;box-shadow:0 30px 60px -28px rgba(0,0,0,.65),0 2px 0 rgba(255,255,255,.06) inset;transition:transform .5s var(--ms-ease),box-shadow .5s var(--ms-ease)}
.ms-frame img{display:block;width:100%;height:auto;transition:transform .9s var(--ms-ease),filter .5s}
.ms-mat{overflow:hidden}
.ms-mat .elementor-widget-image,.ms-mat .elementor-widget-image a,.ms-texture-img a,.ms-texture-float .elementor-widget-image a{display:block;width:100%}
.ms-mat .elementor-widget-image img{width:100%!important;max-width:none}
.ms-frame--lift:hover{transform:translateY(-8px);box-shadow:0 44px 80px -30px rgba(0,0,0,.75)}
.ms-frame--lift:hover img{transform:scale(1.035)}
.ms-frame--placeholder .ms-mat{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}

/* Museum wall tag on the frame corner */
.ms-tag{position:absolute!important;top:22px;inset-inline-start:22px;z-index:3;width:auto!important}
.ms-tag .elementor-heading-title{background:rgba(17,13,19,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ms-cream)!important;font-family:var(--ms-body)!important;font-size:11.5px!important;letter-spacing:.12em;font-weight:600!important;padding:6px 12px;border:1px solid var(--ms-gold-line);line-height:1.3!important}

/* ---------- Loop item (painting card) ---------- */
.ms-card{transition:transform .5s var(--ms-ease)}
.ms-card .ms-card-title .elementor-heading-title a{color:var(--ms-cream);text-decoration:none;transition:color .2s}
.ms-card:hover .ms-card-title .elementor-heading-title a{color:var(--ms-gold-hi)}
.ms-card .ms-card-foot{border-top:1px solid var(--ms-cream-line)}
.e-loop-item{height:auto}

/* Taxonomy filter: hairline chips */
.ms-filter .e-filter{gap:10px!important;flex-wrap:wrap}
.ms-filter .e-filter-item{border-radius:999px!important;transition:all .25s var(--ms-ease)!important;cursor:pointer;min-height:40px}
.ms-filter .e-filter-item[aria-pressed="true"]{box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}

/* ---------- Marquee ---------- */
.ms-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ms-marquee .elementor-heading-title{display:inline-block;white-space:nowrap;animation:ms-marquee 48s linear infinite;will-change:transform}
.ms-marquee:hover .elementor-heading-title{animation-play-state:paused}
@keyframes ms-marquee{from{transform:translateX(0)}to{transform:translateX(50%)}}
html[dir="ltr"] .ms-marquee .elementor-heading-title{animation-name:ms-marquee-ltr}
@keyframes ms-marquee-ltr{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Texture collage ---------- */
.ms-texture-img img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform 1.2s var(--ms-ease)}
.ms-texture-img:hover img{transform:scale(1.08)}
.ms-texture-img a{display:block;overflow:hidden;cursor:zoom-in}
.ms-texture-float{box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}

/* ---------- Portrait placeholder & offset frame ---------- */
.ms-portrait{position:relative}
.ms-portrait{box-shadow:22px 22px 0 -1px var(--ms-green),22px 22px 0 0 rgba(184,151,90,.45)}
html[dir="rtl"] .ms-portrait{box-shadow:-22px 22px 0 -1px var(--ms-green),-22px 22px 0 0 rgba(184,151,90,.45)}

/* ---------- Info cards ---------- */
.ms-card-box{transition:border-color .35s var(--ms-ease),transform .45s var(--ms-ease),background-color .35s}
.ms-card-box:hover{border-color:var(--ms-gold)!important;transform:translateY(-6px);background-color:rgba(184,151,90,.04)}
.ms-num .elementor-heading-title{font-family:var(--ms-latin)!important;font-style:normal;font-weight:200!important;color:var(--ms-gold)!important;line-height:1!important}

/* Quote */
.ms-quote-box{position:relative}
.ms-quote-mark .elementor-heading-title{font-family:var(--ms-latin)!important;line-height:.6!important}

/* Specs list (from painting data) */
.ms-specs{margin:0;padding:0}
.ms-specs div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--ms-gold-line)}
.ms-specs div:first-child{border-top:1px solid var(--ms-gold-line)}
.ms-specs dt{color:var(--ms-cream-3);font-size:14px;letter-spacing:.04em}
.ms-specs dd{margin:0;color:var(--ms-cream);font-size:16px}

/* Steps / timeline */
.ms-step{border-top:1px solid var(--ms-gold-line)}
.ms-step:last-child{border-bottom:1px solid var(--ms-gold-line)}

/* Countdown */
.ms-countdown .elementor-countdown-item{border-inline-start:1px solid var(--ms-gold-line)}
.ms-countdown .elementor-countdown-item:first-child{border-inline-start:0}
html[dir="rtl"] .ms-countdown .elementor-countdown-wrapper{flex-direction:row!important;direction:rtl}
html[dir="rtl"] .ms-countdown .elementor-countdown-item{border-inline-start:0;border-inline-end:1px solid var(--ms-gold-line)}
html[dir="rtl"] .ms-countdown .elementor-countdown-item:first-child{border-inline-end:0}
.ms-countdown .elementor-countdown-digits,.ms-num .elementor-heading-title,.ms-countdown{font-variant-numeric:lining-nums}

/* ---------- WooCommerce product images (painting page) ---------- */
.ms-gallery .woocommerce-product-gallery{margin:0!important;width:100%!important;float:none!important}
.ms-gallery .woocommerce-product-gallery__trigger{background:rgba(17,13,19,.85)!important;border:1px solid var(--ms-gold-line);width:44px!important;height:44px!important;top:14px!important;inset-inline-end:14px!important}
.ms-gallery .woocommerce-product-gallery__trigger:before{border-color:var(--ms-cream)!important}
.ms-gallery .woocommerce-product-gallery__trigger:after{background:var(--ms-cream)!important}
.ms-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px!important}
.ms-gallery .flex-control-thumbs li{width:auto!important;margin:0!important}
.ms-gallery .flex-control-thumbs img{opacity:.55;transition:opacity .25s;border:1px solid var(--ms-gold-line);cursor:pointer}
.ms-gallery .flex-control-thumbs img.flex-active,.ms-gallery .flex-control-thumbs img:hover{opacity:1}
.ms-wall-dyn{transition:background-color .4s}
.ms-wall-green .ms-wall-dyn{background-color:var(--ms-green)!important}
.ms-wall-burgundy .ms-wall-dyn{background-color:var(--ms-burgundy)!important}

/* ---------- Forms ---------- */
.ms-form .elementor-field-group>label,.ms-form .elementor-field-label{color:var(--ms-cream-3)!important;font-size:13px!important;letter-spacing:.06em;font-weight:600!important;margin-bottom:8px}
.ms-form .elementor-field-textual,.ms-form select.elementor-field,.ms-form .elementor-field-type-upload input{background:rgba(243,236,226,.03)!important;border:0!important;border-bottom:1px solid var(--ms-cream-line)!important;border-radius:0!important;color:var(--ms-cream)!important;font-family:var(--ms-body)!important;font-size:17px!important;min-height:52px;padding:12px 4px!important;transition:border-color .25s,background-color .25s}
.ms-form textarea.elementor-field-textual{min-height:130px;border:1px solid var(--ms-cream-line)!important;padding:14px!important}
.ms-form .elementor-field-textual:focus,.ms-form select.elementor-field:focus{border-bottom-color:var(--ms-gold)!important;background:rgba(184,151,90,.06)!important;outline:none;box-shadow:none}
.ms-form .elementor-field-textual::placeholder{color:rgba(243,236,226,.4)}
.ms-form select.elementor-field option{background:var(--ms-base);color:var(--ms-cream)}
.ms-form .elementor-select-wrapper:before{color:var(--ms-gold)!important}
.ms-form .elementor-field-subgroup label{color:var(--ms-cream-2)!important;font-size:14px}
.ms-form .elementor-button{background:var(--ms-gold)!important;color:var(--ms-base)!important;border-radius:0!important;font-family:var(--ms-body)!important;font-size:16px!important;font-weight:600!important;min-height:54px;letter-spacing:.02em}
.ms-form .elementor-button:hover{background:var(--ms-gold-hi)!important}
.ms-form .elementor-message{color:var(--ms-cream);font-size:15px}
.ms-form .elementor-message.elementor-message-danger,.ms-form .elementor-error .elementor-field-textual{color:#F0B4AB}
.ms-form .ms-hidden-field{display:none!important}
.ms-news .elementor-form-fields-wrapper{flex-wrap:nowrap}
.ms-news .elementor-field-group{margin-bottom:0!important}
.ms-news .elementor-field-type-email{flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0}
.ms-news .elementor-field-type-submit{flex:0 0 auto!important;width:auto!important;max-width:none!important}
.ms-news .elementor-field-type-submit .elementor-button{padding-inline:24px!important;min-height:52px}
.ms-news .elementor-field-textual{background:transparent!important;border:1px solid var(--ms-cream-line)!important;padding:12px 14px!important}

/* ---------- Footer ---------- */
.ms-footer-list ul{list-style:none;margin:0;padding:0}
.ms-footer-list li{margin:0 0 12px}
.ms-footer-list a{color:var(--ms-cream-2);text-decoration:none}
.ms-footer-list a:hover{color:var(--ms-gold)}
.ms-legal a{color:var(--ms-cream-3);text-decoration:none;font-size:13px;margin-inline-end:22px;display:inline-block;margin-bottom:6px}
.ms-legal a:hover{color:var(--ms-gold)}
.ms-signature .elementor-heading-title{font-family:var(--ms-script)!important;direction:ltr;white-space:nowrap;line-height:.9!important;color:rgba(184,151,90,.11)!important;user-select:none}
.ms-pill .elementor-heading-title{display:inline-block;border:1px solid var(--ms-gold-line);padding:9px 16px;border-radius:999px}

/* ---------- Mobile action bar (Elementor fixed container) ---------- */
.ms-mobilebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}
@media (max-width:767px){body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}}

/* ---------- Text pages ---------- */
.ms-legal-body h2{font-family:var(--ms-display);font-size:26px;font-weight:500;color:var(--ms-cream);margin:40px 0 10px}
.ms-legal-body ul{padding-inline-start:20px}

/* WooCommerce cart/checkout on cream */
.woocommerce-cart .site-main,.woocommerce-checkout .site-main{background:var(--ms-cream);color:var(--ms-base);padding:48px 24px;max-width:none}
.woocommerce-cart .site-main a,.woocommerce-checkout .site-main a{color:var(--ms-burgundy)}

/* ---------- Motion safety ---------- */
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .elementor-invisible{visibility:visible!important;opacity:1!important}
  .ms-marquee .elementor-heading-title{transform:none!important}
}
