/* SIM2080 Dynamic Theme Engine — palette bridge for theme, WooCommerce and plugin UI. */
body.sim2080-dynamic-skin-active {
  --s20-gold: var(--sim2080-skin-primary, #b38a35);
  --s20-accent: var(--sim2080-skin-primary, #b38a35);
  --s20-gold-soft: var(--sim2080-skin-soft, #f5ecd8);
  --s20-ink: var(--sim2080-skin-ink, #26231d);
  --s20-muted: var(--sim2080-skin-muted, #746c5d);
  --s20-panel: var(--sim2080-skin-surface, #fff);
  --s20-line: var(--sim2080-skin-border, #e7e0d1);
  --wd-primary-color: var(--sim2080-skin-primary, #b38a35);
  --wd-alternative-color: var(--sim2080-skin-primary, #b38a35);
  --wd-main-bgcolor: var(--sim2080-skin-page, #fffcf6);
  --wd-text-color: var(--sim2080-skin-ink, #26231d);
  --wd-link-color: var(--sim2080-skin-primary, #b38a35);
  --wd-form-brd-color: var(--sim2080-skin-border, #e7e0d1);
  color: var(--sim2080-skin-ink, #26231d);
  background-color: var(--sim2080-skin-page, #fffcf6);
}

body.sim2080-dynamic-skin-active a { color: var(--sim2080-skin-primary, #b38a35); }
body.sim2080-dynamic-skin-active a:hover { color: var(--sim2080-skin-primary, #b38a35); filter: brightness(.88); }
body.sim2080-dynamic-skin-active :is(.s20-header, .wd-header, .site-header) { background-color: var(--sim2080-skin-header, #fff) !important; border-color: var(--sim2080-skin-border, #e7e0d1) !important; }
body.sim2080-dynamic-skin-active :is(.s20-nav-wrap, .s20-primary-nav, .wd-header-nav, .wd-nav, .wd-nav-mobile, .s20-mobile-menu) { background-color: var(--sim2080-skin-menu, #fffaf0); border-color: var(--sim2080-skin-border, #e7e0d1); }
body.sim2080-dynamic-skin-active :is(.s20-announcement, .s20-announcement-track-group, .s20-market-prices, .s20-market-extras) { background-color: var(--sim2080-skin-soft, #f5ecd8); color: var(--sim2080-skin-ink, #26231d); border-color: var(--sim2080-skin-border, #e7e0d1); }
body.sim2080-dynamic-skin-active :is(.s20-mobile-bar, .wd-bottom-actions, .wd-toolbar, .sim2080-sticky-mobile-bar, .sim2080-sticky-bar) { background-color: var(--sim2080-skin-sticky, #fff) !important; color: var(--sim2080-skin-ink, #26231d) !important; border-color: var(--sim2080-skin-border, #e7e0d1) !important; }
body.sim2080-dynamic-skin-active :is(.s20-footer, .s20-footer-bottom, .wd-footer, .wd-prefooter, .footer-container, .copyrights-wrapper) { background-color: var(--sim2080-skin-menu, #fffaf0); color: var(--sim2080-skin-ink, #26231d); border-color: var(--sim2080-skin-border, #e7e0d1); }
body.sim2080-dynamic-skin-active :is(.s20-header-custom-action a, .s20-live-search-submit, .s20-mobile-bar a, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .wd-button, .button-primary) { border-color: var(--sim2080-skin-primary, #b38a35) !important; }
body.sim2080-dynamic-skin-active :is(.s20-header-custom-action a, .s20-live-search-submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .wd-button, .button-primary) { background-color: var(--sim2080-skin-primary, #b38a35) !important; color: var(--sim2080-skin-button_text, #fff) !important; }
body.sim2080-dynamic-skin-active :is(.s20-live-search-form input, .s20-live-search-form select, .woocommerce input.input-text, .woocommerce textarea, .woocommerce select, input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea) { border-color: var(--sim2080-skin-border, #e7e0d1); }
body.sim2080-dynamic-skin-active :is(.sim2080-table-wrap, .sim2080-table-container, .sim2080-table-card, .sim2080-table-builder, .sim2080-list-preview, .sim2080-dashboard-card, .sim2080-admin-card, .sim2080-crm-card, .sim2080-accounting-card, .sim2080-contact-card, .sim2080-valuation-card) { border-color: var(--sim2080-skin-border, #e7e0d1); }
body.sim2080-dynamic-skin-active :is(.sim2080-table-wrap, .sim2080-table-container, .sim2080-table-card, .sim2080-table-builder, .sim2080-dashboard-card, .sim2080-admin-card, .sim2080-crm-card, .sim2080-accounting-card, .sim2080-contact-card, .sim2080-valuation-card) { background-color: var(--sim2080-skin-surface, #fff); }
body.sim2080-dynamic-skin-active :is(table thead, .sim2080-table thead, .sim2080-list-table thead, .sim2080-table-header, .sim2080-table th) { background-color: var(--sim2080-skin-table_head, #f5ecd8); }
body.sim2080-dynamic-skin-active :is(table th, table td, .sim2080-table th, .sim2080-table td) { border-color: var(--sim2080-skin-border, #e7e0d1); }
body.sim2080-dynamic-skin-active :is(.wd-dropdown, .wd-dropdown-menu, .wd-search-results, .wd-popup, .wd-promo-popup, .wd-bottom-actions, .elementor-popup-modal .dialog-message, .rb_popup, .rb_popup_content) { border-color: var(--sim2080-skin-border, #e7e0d1); }

/* Weather overlays are intentionally quiet. They identify conditions without obscuring sales UI. */
body.sim2080-weather-rain .s20-announcement,
body.sim2080-weather-storm .s20-announcement { box-shadow: inset 0 2px 0 rgba(66,107,145,.24); }
body.sim2080-weather-snow .s20-announcement { box-shadow: inset 0 2px 0 rgba(103,152,182,.30); }
body.sim2080-weather-fog .s20-announcement,
body.sim2080-weather-cloudy .s20-announcement { box-shadow: inset 0 2px 0 rgba(112,133,139,.18); }
body.sim2080-skin-muharram :is(.s20-announcement, .s20-mobile-bar, .wd-bottom-actions) { box-shadow: none !important; }

@media (prefers-reduced-motion: no-preference) {
  body.sim2080-dynamic-skin-active :is(.s20-header, .s20-nav-wrap, .s20-announcement, .s20-mobile-bar, .s20-footer, .s20-footer-bottom, .woocommerce a.button, .woocommerce button.button) {
    transition: background-color .28s ease, color .28s ease, border-color .28s ease;
  }
}

@media print {
  body.sim2080-dynamic-skin-active { background: #fff !important; color: #000 !important; }
}

/* Expanded SIM2080 component coverage: the same skin reaches every native data/table workspace. */
body.sim2080-dynamic-skin-active :is(
  .sim2080-advanced-table-wrap,.sim2080-beta-table-wrap,.sim2080-crm-table-wrap,
  .sim2080-gc-table-wrap,.sim2080-manage-table-wrap,.sim2080-ac-table-wrap,
  .sim2080-inst-table-wrap,.sim2080-ops-table-wrap,.sim2080-ippanel-table-wrap,
  .sim2080-info-table-wrap,.sim2080-pattern-table-wrap,.sim2080-public-list-preview-wrap,
  .sim2080-list-builder-settings,.sim2080-list-workspace-brand,.sim2080-list-workspace-head,
  .sim2080-list-workspace-nav,.rb_table_price_main_tabs_wrap,.rb_table_price_main_tabs,
  .rb_table_price_sub_tabs_wrap,.shop_table,.tablepress,.wd-table-wrapper
) { border-color:var(--sim2080-skin-border,#e7e0d1)!important; }
body.sim2080-dynamic-skin-active :is(
  .sim2080-advanced-table-wrap,.sim2080-beta-table-wrap,.sim2080-crm-table-wrap,
  .sim2080-gc-table-wrap,.sim2080-manage-table-wrap,.sim2080-ac-table-wrap,
  .sim2080-inst-table-wrap,.sim2080-ops-table-wrap,.sim2080-ippanel-table-wrap,
  .sim2080-info-table-wrap,.sim2080-pattern-table-wrap,.sim2080-public-list-preview-wrap,
  .sim2080-list-builder-settings,.sim2080-list-workspace-brand,.sim2080-list-workspace-head,
  .sim2080-list-workspace-nav,.rb_table_price_main_tabs_wrap,.rb_table_price_main_tabs,
  .rb_table_price_sub_tabs_wrap,.shop_table,.tablepress,.wd-table-wrapper
) { background-color:var(--sim2080-skin-surface,#fff); }
body.sim2080-dynamic-skin-active :is(
  .sim2080-advanced-table,.sim2080-beta-table,.sim2080-crm-table,.sim2080-gc-table,
  .sim2080-inst-table,.sim2080-ops-table,.sim2080-ippanel-table,.sim2080-manage-table,
  .sim2080-ac-table,.sim2080-table,.sim2080-list-table,.sim2080-lb-table,.shop_table,.tablepress
) :is(th,td) { border-color:var(--sim2080-skin-border,#e7e0d1)!important; }
body.sim2080-dynamic-skin-active :is(
  .sim2080-advanced-table,.sim2080-beta-table,.sim2080-crm-table,.sim2080-gc-table,
  .sim2080-inst-table,.sim2080-ops-table,.sim2080-ippanel-table,.sim2080-manage-table,
  .sim2080-ac-table,.sim2080-table,.sim2080-list-table,.sim2080-lb-table,.shop_table,.tablepress
) thead th { background:var(--sim2080-skin-table_head,#f5ecd8)!important;color:var(--sim2080-skin-ink,#26231d)!important; }
body.sim2080-dynamic-skin-active :is(
  .sim2080-list-builder-settings,.sim2080-list-workspace-brand,.sim2080-list-workspace-head,
  .sim2080-list-workspace-nav,.sim2080-table-search,.sim2080-table-digit-boxes,
  .sim2080-table-heading,.sim2080-table-title,.sim2080-table-card,.sim2080-table-block,
  .sim2080-gc-box,.sim2080-gc-card,.sim2080-calculator-popup__box
) { color:var(--sim2080-skin-ink,#26231d); border-color:var(--sim2080-skin-border,#e7e0d1); }
body.sim2080-dynamic-skin-active :is(
  .sim2080-list-builder-settings,.sim2080-list-workspace-brand,.sim2080-list-workspace-head,
  .sim2080-table-card,.sim2080-table-block,.sim2080-gc-box,.sim2080-gc-card,
  .sim2080-calculator-popup__box
) { background-color:var(--sim2080-skin-surface,#fff); }
body.sim2080-dynamic-skin-active :is(.sim2080-list-workspace-nav,.sim2080-table-head,.sim2080-table-header,.sim2080-table-heading) { background-color:var(--sim2080-skin-soft,#f5ecd8); }
body.sim2080-dynamic-skin-active :is(.sim2080-menu-toggle,.s20-menu-toggle,.s20-menu-close,.s20-submenu-toggle) { border-color:var(--sim2080-skin-border,#e7e0d1); }
body.sim2080-dynamic-skin-active :is(.s20-header,.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-footer,.s20-footer-bottom) { transition:background-color .28s ease,color .28s ease,border-color .28s ease; }

/* Quiet ornamental accents; no fixed overlays and no interference with clicks or checkout. */
body.sim2080-skin-nowruz .s20-announcement { background-image:linear-gradient(110deg,transparent 0%,rgba(22,133,108,.035) 50%,transparent 100%); }
body.sim2080-skin-yalda .s20-announcement { background-image:radial-gradient(circle at 8% 50%,rgba(157,35,71,.08) 0 2px,transparent 3px),radial-gradient(circle at 92% 50%,rgba(179,138,53,.10) 0 2px,transparent 3px); }
body.sim2080-skin-ramadan .s20-announcement { background-image:linear-gradient(90deg,transparent,rgba(20,122,103,.045),transparent); }
body.sim2080-weather-rain { background-image:repeating-linear-gradient(112deg,transparent 0 42px,rgba(66,107,145,.018) 43px 44px,transparent 45px 82px); background-attachment:fixed; }
body.sim2080-weather-snow { background-image:radial-gradient(circle at 14% 18%,rgba(103,152,182,.08) 0 1px,transparent 2px),radial-gradient(circle at 74% 33%,rgba(103,152,182,.06) 0 2px,transparent 3px),radial-gradient(circle at 42% 72%,rgba(103,152,182,.05) 0 1px,transparent 2px); background-size:130px 150px,190px 210px,160px 170px; background-attachment:fixed; }
body.sim2080-weather-fog { background-image:linear-gradient(180deg,rgba(112,133,139,.035),transparent 42%); background-attachment:fixed; }
body.sim2080-weather-storm .s20-announcement { box-shadow:inset 0 2px 0 rgba(91,93,130,.24); }
body.sim2080-skin-muharram :is(.s20-announcement,.s20-mobile-bar,.wd-bottom-actions,.wd-toolbar) { background-image:none!important; animation:none!important; }
@media (prefers-reduced-motion: reduce) {
  body.sim2080-dynamic-skin-active,body.sim2080-dynamic-skin-active * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
@media print {
  body.sim2080-dynamic-skin-active :is(.s20-announcement,.s20-mobile-bar,.wd-bottom-actions,.wd-toolbar) { background:#fff!important;box-shadow:none!important; }
}

/* SIM2080 Seasonal & Weather Atmosphere v1: CSS-only, clipped to navigation chrome. */
.s20-dynamic-indicator {
  display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;
  min-height:28px;margin:0 8px;padding:3px 9px;border:1px solid var(--sim2080-skin-border,#e7e0d1);
  border-radius:999px;background:var(--sim2080-skin-surface,#fff);color:var(--sim2080-skin-ink,#26231d);
  font-family:inherit;font-size:11px;font-weight:600;line-height:1.5;white-space:nowrap;box-shadow:0 2px 8px rgba(30,35,40,.045);
}
.s20-dynamic-indicator__icon{display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;transform-origin:center}
.s20-dynamic-indicator__label{font-size:10px;line-height:1.4;max-width:112px;overflow:hidden;text-overflow:ellipsis}
body.sim2080-visual-effects-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu){isolation:isolate}
body.sim2080-visual-effects-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
body.sim2080-visual-effects-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after{
  content:"";position:absolute;inset:0;z-index:2;display:none;pointer-events:none;opacity:0;
  border-radius:inherit;
}
body.sim2080-visual-effects-active :is(.s20-nav-wrap,.s20-announcement){position:relative}
body.sim2080-visual-effects-active .s20-dynamic-indicator{border-color:color-mix(in srgb,var(--sim2080-skin-primary,#b38a35) 28%,var(--sim2080-skin-border,#e7e0d1))}

/* Snowfall: event particles and actual-weather particles use separate pseudo layers. */
body.sim2080-animations-active.sim2080-event-effect-snow :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
body.sim2080-animations-active.sim2080-weather-effect-snow :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after{
  display:block;opacity:.48;background-image:radial-gradient(circle,rgba(255,255,255,.94) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(190,220,239,.9) 0 1.3px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.82) 0 .8px,transparent 1.5px);
  background-size:39px 43px,67px 71px,91px 83px;background-position:7px 0,23px 11px,49px 4px;
  animation:s20-atmo-snow 9s linear infinite;
}
body.sim2080-effects-balanced.sim2080-animations-active.sim2080-event-effect-snow :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
body.sim2080-effects-balanced.sim2080-animations-active.sim2080-weather-effect-snow :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after{opacity:.7}

/* Rain: fine diagonal streaks on the header chrome only. */
body.sim2080-animations-active.sim2080-weather-effect-rain .s20-nav-wrap::after,
body.sim2080-animations-active.sim2080-weather-effect-rain .s20-announcement::after,
body.sim2080-animations-active.sim2080-weather-effect-rain .s20-mobile-bar::after,
body.sim2080-animations-active.sim2080-weather-effect-rain .s20-mobile-menu::after{
  display:block;opacity:.42;background-image:repeating-linear-gradient(108deg,transparent 0 13px,rgba(112,164,204,.48) 14px,transparent 15px 31px);
  background-size:46px 100%;animation:s20-atmo-rain 2.8s linear infinite;
}
body.sim2080-effects-balanced.sim2080-animations-active.sim2080-weather-effect-rain .s20-nav-wrap::after,
body.sim2080-effects-balanced.sim2080-animations-active.sim2080-weather-effect-rain .s20-announcement::after{opacity:.58}

/* Thunderstorm: one restrained soft flash, no screen-wide white overlay. */
body.sim2080-animations-active.sim2080-weather-effect-storm .s20-nav-wrap::after,
body.sim2080-animations-active.sim2080-weather-effect-storm .s20-announcement::after,
body.sim2080-animations-active.sim2080-weather-effect-storm .s20-mobile-menu::after{
  display:block;opacity:0;background:linear-gradient(105deg,transparent 8%,rgba(220,225,255,.34) 48%,transparent 75%);
  animation:s20-atmo-lightning 8.5s ease-in-out infinite;
}

/* Wind, fog and sun are expressed as low-contrast moving light, not large assets. */
body.sim2080-animations-active.sim2080-weather-effect-wind .s20-nav-wrap::after,
body.sim2080-animations-active.sim2080-weather-effect-wind .s20-announcement::after,
body.sim2080-animations-active.sim2080-weather-effect-wind .s20-mobile-menu::after{
  display:block;opacity:.32;background:linear-gradient(100deg,transparent 15%,rgba(255,255,255,.32) 48%,transparent 78%);
  animation:s20-atmo-wind 7s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-weather-effect-fog .s20-nav-wrap::after,
body.sim2080-animations-active.sim2080-weather-effect-fog .s20-announcement::after,
body.sim2080-animations-active.sim2080-weather-effect-fog .s20-mobile-menu::after{
  display:block;opacity:.26;background:linear-gradient(90deg,transparent,rgba(220,231,235,.55),transparent);
  animation:s20-atmo-fog 10s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-weather-effect-sun .s20-nav-wrap::after,
body.sim2080-animations-active.sim2080-weather-effect-sun .s20-announcement::after,
body.sim2080-animations-active.sim2080-weather-effect-sun .s20-mobile-menu::after{
  display:block;opacity:.22;background:radial-gradient(ellipse at 82% 0,rgba(255,211,112,.38),transparent 58%);
  animation:s20-atmo-sun 7s ease-in-out infinite;
}

/* Seasonal details: light petals, leaves, lantern glints and celebratory sparkle. */
body.sim2080-animations-active.sim2080-event-effect-petals .s20-nav-wrap::before,
body.sim2080-animations-active.sim2080-event-effect-petals .s20-announcement::before,
body.sim2080-animations-active.sim2080-event-effect-petals .s20-mobile-menu::before,
body.sim2080-animations-active.sim2080-event-effect-petals .s20-mobile-bar::before{
  display:block;opacity:.38;background-image:radial-gradient(ellipse 3px 5px at 18% 35%,rgba(244,174,190,.72) 0 80%,transparent 100%),radial-gradient(ellipse 3px 5px at 58% 70%,rgba(255,218,180,.8) 0 80%,transparent 100%),radial-gradient(ellipse 3px 5px at 84% 22%,rgba(217,171,205,.7) 0 80%,transparent 100%);
  animation:s20-atmo-petals 11s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-event-effect-leaves .s20-nav-wrap::before,
body.sim2080-animations-active.sim2080-event-effect-leaves .s20-announcement::before,
body.sim2080-animations-active.sim2080-event-effect-leaves .s20-mobile-menu::before,
body.sim2080-animations-active.sim2080-event-effect-leaves .s20-mobile-bar::before{
  display:block;opacity:.28;background-image:radial-gradient(ellipse 3px 6px at 18% 35%,rgba(192,119,52,.68) 0 80%,transparent 100%),radial-gradient(ellipse 3px 6px at 58% 70%,rgba(222,163,78,.7) 0 80%,transparent 100%),radial-gradient(ellipse 3px 6px at 84% 22%,rgba(156,105,47,.65) 0 80%,transparent 100%);
  animation:s20-atmo-petals 13s ease-in-out infinite;
}
body.sim2080-animations-active:is(.sim2080-event-effect-sparkle,.sim2080-event-effect-hearts,.sim2080-event-effect-lantern,.sim2080-event-effect-embers) .s20-nav-wrap::before,
body.sim2080-animations-active:is(.sim2080-event-effect-sparkle,.sim2080-event-effect-hearts,.sim2080-event-effect-lantern,.sim2080-event-effect-embers) .s20-announcement::before,
body.sim2080-animations-active:is(.sim2080-event-effect-sparkle,.sim2080-event-effect-hearts,.sim2080-event-effect-lantern,.sim2080-event-effect-embers) .s20-mobile-menu::before,
body.sim2080-animations-active:is(.sim2080-event-effect-sparkle,.sim2080-event-effect-hearts,.sim2080-event-effect-lantern,.sim2080-event-effect-embers) .s20-mobile-bar::before{
  display:block;opacity:.28;background-image:radial-gradient(circle at 16% 34%,rgba(255,255,255,.8) 0 1px,transparent 2px),radial-gradient(circle at 72% 66%,rgba(232,190,100,.72) 0 1.2px,transparent 2.2px),radial-gradient(circle at 91% 24%,rgba(255,255,255,.72) 0 1px,transparent 2px);
  animation:s20-atmo-sparkle 5.5s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-event-effect-sun .s20-nav-wrap::before,
body.sim2080-animations-active.sim2080-event-effect-sun .s20-announcement::before,
body.sim2080-animations-active.sim2080-event-effect-sun .s20-mobile-menu::before,
body.sim2080-animations-active.sim2080-event-effect-sun .s20-mobile-bar::before{
  display:block;opacity:.2;background:linear-gradient(110deg,transparent,rgba(255,224,153,.32),transparent);
  animation:s20-atmo-wind 8s ease-in-out infinite;
}

/* In subtle mode, effects remain slower and nearly transparent. */
body.sim2080-effects-subtle.sim2080-animations-active .s20-dynamic-indicator__icon{animation:s20-atmo-icon 5s ease-in-out infinite}
body.sim2080-effects-balanced.sim2080-animations-active .s20-dynamic-indicator__icon{animation:s20-atmo-icon 3.6s ease-in-out infinite}
body.sim2080-effects-subtle.sim2080-animations-active :is(.s20-nav-wrap,.s20-announcement)::after{animation-duration:12s}

@keyframes s20-atmo-snow{from{transform:translate3d(0,-9px,0)}to{transform:translate3d(0,16px,0)}}
@keyframes s20-atmo-rain{from{transform:translate3d(0,-12px,0)}to{transform:translate3d(0,14px,0)}}
@keyframes s20-atmo-lightning{0%,88%,92%,100%{opacity:0}89%{opacity:.2}90%{opacity:.06}91%{opacity:.14}}
@keyframes s20-atmo-wind{0%,100%{transform:translate3d(-8px,0,0);opacity:.14}50%{transform:translate3d(8px,0,0);opacity:.34}}
@keyframes s20-atmo-fog{0%,100%{transform:translate3d(-10px,0,0);opacity:.12}50%{transform:translate3d(10px,0,0);opacity:.3}}
@keyframes s20-atmo-sun{0%,100%{opacity:.12}50%{opacity:.28}}
@keyframes s20-atmo-petals{0%,100%{transform:translate3d(-3px,-2px,0)}50%{transform:translate3d(5px,5px,0)}}
@keyframes s20-atmo-sparkle{0%,100%{opacity:.16}50%{opacity:.38}}
@keyframes s20-atmo-icon{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-2px) rotate(3deg)}}

@media(max-width:767px){
  .s20-dynamic-indicator{min-height:25px;margin-inline:4px;padding:2px 6px}
  .s20-dynamic-indicator__label{display:none}
  body:not(.sim2080-mobile-effects-active) :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
  body:not(.sim2080-mobile-effects-active) :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after{display:none!important}
  body.sim2080-mobile-effects-active.sim2080-effects-subtle :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
  body.sim2080-mobile-effects-active.sim2080-effects-subtle :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after{opacity:.22}
}
@media(prefers-reduced-motion:reduce){
  body.sim2080-visual-effects-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
  body.sim2080-visual-effects-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after,
  body.sim2080-visual-effects-active .s20-dynamic-indicator__icon{animation:none!important;transition:none!important}
}
@media print{
  .s20-dynamic-indicator,
  body.sim2080-visual-effects-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
  body.sim2080-visual-effects-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after{display:none!important}
}

/* Disable legacy full-page weather textures: the refined effects live only in header/menu chrome. */
body.sim2080-weather-rain,body.sim2080-weather-snow,body.sim2080-weather-fog{background-attachment:initial!important}
body.sim2080-weather-rain,body.sim2080-weather-snow,body.sim2080-weather-fog{background-image:none!important}

body.sim2080-skin-muharram.sim2080-animations-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
body.sim2080-skin-muharram.sim2080-animations-active :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after{display:none!important;animation:none!important}


/* SIM2080 Dynamic Atmosphere v2 — reusable visual layers for store components. */
.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search {
  isolation:isolate;
}
.s20-fx-header::before,.s20-fx-header::after,
.s20-fx-logo::before,.s20-fx-logo::after,
.s20-fx-product::before,.s20-fx-product::after,
.s20-fx-popup::before,.s20-fx-popup::after,
.s20-fx-tabs::before,.s20-fx-tabs::after,
.s20-fx-tables::before,.s20-fx-tables::after,
.s20-fx-search::before,.s20-fx-search::after {
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;
}
.s20-fx-header::before,.s20-fx-product::before,.s20-fx-popup::before,.s20-fx-tabs::before,.s20-fx-tables::before,.s20-fx-search::before {
  background-repeat:repeat;background-size:120px 92px,170px 130px;mix-blend-mode:screen;
}
.s20-fx-header::after,.s20-fx-product::after,.s20-fx-popup::after,.s20-fx-tabs::after,.s20-fx-tables::after,.s20-fx-search::after {
  inset:0;background:linear-gradient(112deg,transparent 22%,rgba(255,255,255,.22) 50%,transparent 78%);transform:translateX(-110%);
}
.s20-fx-needs-position {position:relative!important;}

/* Snow and rain are contained within component bounds; no page-wide canvas or fixed overlay. */
body.sim2080-animations-active.sim2080-weather-effect-snow :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::before {
  opacity:.52;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1.5px,transparent 2px),radial-gradient(circle,rgba(154,202,226,.7) 0 1px,transparent 2px);background-position:0 0,45px 25px;animation:s20-fx-snow 5.5s linear infinite;
}
body.sim2080-animations-active.sim2080-weather-effect-rain :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::before {
  opacity:.32;background-image:repeating-linear-gradient(108deg,transparent 0 24px,rgba(98,151,192,.55) 25px 26px,transparent 27px 46px);background-size:110px 90px;animation:s20-fx-rain 1.9s linear infinite;
}
body.sim2080-animations-active.sim2080-event-effect-snow :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::after {
  opacity:.48;background-image:radial-gradient(circle,rgba(255,255,255,.95) 0 1.5px,transparent 2px),radial-gradient(circle,rgba(154,202,226,.7) 0 1px,transparent 2px);background-position:0 0,45px 25px;animation:s20-fx-snow 5.5s linear infinite;
}
body.sim2080-animations-active.sim2080-weather-effect-storm :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::before {
  opacity:0;background:linear-gradient(105deg,transparent 8%,rgba(223,229,255,.38) 48%,transparent 75%);animation:s20-fx-flash 8.5s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-weather-effect-wind :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::before {
  opacity:.22;animation:s20-fx-shimmer 7s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-weather-effect-fog :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::before {
  opacity:.18;background:linear-gradient(90deg,transparent,rgba(211,224,230,.5),transparent);animation:s20-fx-shimmer 10s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-weather-effect-sun :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::before {
  opacity:.16;background:radial-gradient(ellipse at 88% 0,rgba(255,210,111,.34),transparent 62%);animation:s20-fx-sun 8s ease-in-out infinite;
}
body.sim2080-animations-active:is(.sim2080-event-effect-petals,.sim2080-event-effect-leaves,.sim2080-event-effect-sparkle,.sim2080-event-effect-hearts,.sim2080-event-effect-lantern,.sim2080-event-effect-embers) :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::after {
  opacity:.35;background-image:radial-gradient(ellipse 3px 5px at 18% 25%,rgba(244,174,190,.72) 0 75%,transparent 100%),radial-gradient(ellipse 3px 5px at 68% 65%,rgba(255,220,170,.7) 0 75%,transparent 100%),radial-gradient(circle at 88% 18%,rgba(255,255,255,.8) 0 1px,transparent 2px);animation:s20-fx-seasonal 9s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-event-effect-embers :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs)::after {
  background-image:radial-gradient(circle,rgba(255,159,64,.8) 0 1.4px,transparent 2px),radial-gradient(circle,rgba(255,211,117,.7) 0 1px,transparent 2px);animation:s20-fx-embers 6s ease-in-out infinite;
}
body.sim2080-animations-active.sim2080-event-effect-lantern :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs)::after {
  opacity:.24;background:radial-gradient(ellipse at 88% 0,rgba(255,175,73,.42),transparent 55%);animation:s20-fx-lantern 2.8s ease-in-out infinite;
}

/* Controls get a short animated edge, not an overlay that could block their hit area. */
.s20-fx-buttons {isolation:isolate;}
.s20-fx-buttons::after {content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;border:1px solid rgba(255,255,255,.28);opacity:0;}
body.sim2080-animations-active:is(.sim2080-weather-effect-rain,.sim2080-weather-effect-snow,.sim2080-event-effect-sparkle,.sim2080-event-effect-lantern,.sim2080-event-effect-embers) .s20-fx-buttons::after {opacity:.6;animation:s20-fx-control-glow 4.8s ease-in-out infinite;}
.s20-fx-tabs {box-shadow:inset 0 1px 0 rgba(255,255,255,.15);}
body.sim2080-animations-active.sim2080-effects-balanced .s20-fx-tabs::after {animation-duration:6s;}

/* Animated seasonal/weather emblem mounted beside the brand mark. */
.s20-fx-emblem {
  position:absolute;z-index:8;top:-9px;inset-inline-end:-9px;display:inline-flex;align-items:center;justify-content:center;
  width:23px;height:23px;border:1px solid rgba(190,151,72,.35);border-radius:50%;
  background:rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(40,35,20,.10);font-size:14px;line-height:1;
  transform-origin:50% 70%;pointer-events:none;
}
body.sim2080-animations-active .s20-fx-emblem {animation:s20-fx-emblem 3.8s ease-in-out infinite;}
body.sim2080-effects-subtle .s20-fx-emblem {animation-duration:5.8s;}
body.sim2080-effects-balanced .s20-fx-emblem {animation-duration:3.1s;}
body.sim2080-animations-active.sim2080-event-effect-embers .s20-fx-emblem {animation:s20-fx-emblem 3.8s ease-in-out infinite,s20-fx-embers-glow 2.2s ease-in-out infinite;}

/* Respect per-area controls; disabling one area removes only its decorations. */
body:not(.sim2080-effects-area-header) :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::before,
body:not(.sim2080-effects-area-header) :is(.s20-nav-wrap,.s20-announcement,.s20-mobile-bar,.s20-mobile-menu)::after {display:none!important;}
body:not(.sim2080-effects-area-header) .s20-fx-header::before,body:not(.sim2080-effects-area-header) .s20-fx-header::after {display:none!important;}
body:not(.sim2080-effects-area-logo) .s20-fx-emblem {display:none!important;}
body:not(.sim2080-effects-area-product) :is(.s20-fx-product)::before,body:not(.sim2080-effects-area-product) :is(.s20-fx-product)::after {display:none!important;}
body:not(.sim2080-effects-area-popup) :is(.s20-fx-popup)::before,body:not(.sim2080-effects-area-popup) :is(.s20-fx-popup)::after {display:none!important;}
body:not(.sim2080-effects-area-tabs) :is(.s20-fx-tabs)::before,body:not(.sim2080-effects-area-tabs) :is(.s20-fx-tabs)::after {display:none!important;}
body:not(.sim2080-effects-area-tables) :is(.s20-fx-tables)::before,body:not(.sim2080-effects-area-tables) :is(.s20-fx-tables)::after {display:none!important;}
body:not(.sim2080-effects-area-search) :is(.s20-fx-search)::before,body:not(.sim2080-effects-area-search) :is(.s20-fx-search)::after {display:none!important;}
body:not(.sim2080-effects-area-buttons) .s20-fx-buttons::after {display:none!important;}
body:not(.sim2080-dynamic-icons-active) .s20-fx-emblem,.sim2080-user-reduced-motion .s20-fx-emblem {animation:none!important;}
body.sim2080-skin-muharram .s20-fx-emblem {filter:grayscale(1);animation:none!important;}
@media(max-width:767px){
  body:not(.sim2080-mobile-effects-active) :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::before,
  body:not(.sim2080-mobile-effects-active) :is(.s20-fx-header,.s20-fx-logo,.s20-fx-product,.s20-fx-popup,.s20-fx-tabs,.s20-fx-tables,.s20-fx-search)::after {display:none!important;}
  .s20-fx-emblem{width:20px;height:20px;font-size:12px;top:-7px;inset-inline-end:-6px;}
}
@media(prefers-reduced-motion:reduce){
  .s20-fx-header::before,.s20-fx-header::after,.s20-fx-logo::before,.s20-fx-logo::after,.s20-fx-product::before,.s20-fx-product::after,.s20-fx-popup::before,.s20-fx-popup::after,.s20-fx-tabs::before,.s20-fx-tabs::after,.s20-fx-tables::before,.s20-fx-tables::after,.s20-fx-search::before,.s20-fx-search::after,.s20-fx-buttons::after,.s20-fx-emblem{animation:none!important;transition:none!important;}
}
@media print{.s20-fx-header::before,.s20-fx-header::after,.s20-fx-product::before,.s20-fx-product::after,.s20-fx-popup::before,.s20-fx-popup::after,.s20-fx-tabs::before,.s20-fx-tabs::after,.s20-fx-tables::before,.s20-fx-tables::after,.s20-fx-search::before,.s20-fx-search::after,.s20-fx-buttons::after,.s20-fx-emblem{display:none!important;}}
@keyframes s20-fx-snow{from{background-position:0 0,45px 25px}to{background-position:12px 92px,24px 155px}}
@keyframes s20-fx-rain{from{background-position:0 0}to{background-position:-25px 90px}}
@keyframes s20-fx-flash{0%,88%,92%,100%{opacity:0}89%{opacity:.24}90%{opacity:.05}91%{opacity:.16}}
@keyframes s20-fx-shimmer{0%,100%{transform:translateX(-18%);opacity:.08}50%{transform:translateX(18%);opacity:.3}}
@keyframes s20-fx-sun{0%,100%{opacity:.12}50%{opacity:.28}}
@keyframes s20-fx-seasonal{0%,100%{background-position:0 0,45px 20px,0 0}50%{background-position:12px 12px,32px 30px,8px 4px}}
@keyframes s20-fx-embers{0%{background-position:0 80px,45px 120px}100%{background-position:15px -20px,30px 10px}}
@keyframes s20-fx-lantern{0%,100%{opacity:.12}45%{opacity:.34}52%{opacity:.18}60%{opacity:.4}}
@keyframes s20-fx-control-glow{0%,100%{opacity:.12}50%{opacity:.56}}
@keyframes s20-fx-emblem{0%,100%{transform:translateY(0) rotate(-7deg) scale(1)}50%{transform:translateY(-3px) rotate(8deg) scale(1.06)}}
@keyframes s20-fx-embers-glow{0%,100%{box-shadow:0 0 3px rgba(255,145,50,.18),0 2px 8px rgba(40,35,20,.10)}42%{box-shadow:0 0 12px rgba(255,145,50,.48),0 0 20px rgba(255,190,75,.26)}54%{box-shadow:0 0 4px rgba(255,145,50,.16),0 2px 8px rgba(40,35,20,.10)}66%{box-shadow:0 0 10px rgba(255,145,50,.4),0 0 16px rgba(255,190,75,.22)}}

/* Beta 4 precision pass: pin the seasonal emblem to the actual logo anchor, not the header row. */
.s20-fx-logo {position:relative!important;display:inline-flex!important;vertical-align:middle;}
.s20-fx-emblem {top:-3px;inset-inline-end:-4px;width:21px;height:21px;font-size:13px;}
.s20-fx-logo img,.s20-fx-logo .custom-logo {display:block;}
/* Announcement weather summary sits inline with date/time and never pushes the header to a new row. */
.s20-dynamic-indicator {max-width:min(42vw,330px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;}
.s20-dynamic-indicator__label {white-space:nowrap;}
/* Admin preview uses the exact same component atmosphere in the dynamic-theme settings screen. */
body.wp-admin.sim2080-visual-effects-active .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status,.s20-swatch,.s20-api-row,.s20-effects-settings .s20-grid,.s20-effects-settings .s20-row,.s20-dynamic-admin table,.s20-dynamic-admin .button) {position:relative;isolation:isolate;}
body.wp-admin.sim2080-visual-effects-active .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status,.s20-swatch,.s20-api-row,.s20-dynamic-admin table)::before,
body.wp-admin.sim2080-visual-effects-active .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status,.s20-swatch,.s20-api-row,.s20-dynamic-admin table)::after {content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;}
body.wp-admin.sim2080-visual-effects-active .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status,.s20-swatch,.s20-api-row,.s20-dynamic-admin table) > * {position:relative;z-index:1;}
body.wp-admin.sim2080-animations-active.sim2080-weather-effect-snow .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status,.s20-swatch)::before {opacity:.42;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1.4px,transparent 2px),radial-gradient(circle,rgba(154,202,226,.7) 0 1px,transparent 2px);background-size:40px 48px,65px 70px;animation:s20-fx-snow 5.5s linear infinite;}
body.wp-admin.sim2080-animations-active.sim2080-weather-effect-rain .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status,.s20-swatch)::before {opacity:.3;background-image:repeating-linear-gradient(108deg,transparent 0 24px,rgba(98,151,192,.55) 25px 26px,transparent 27px 46px);background-size:110px 90px;animation:s20-fx-rain 1.9s linear infinite;}
body.wp-admin.sim2080-animations-active.sim2080-weather-effect-storm .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status)::before {opacity:0;background:linear-gradient(105deg,transparent 8%,rgba(223,229,255,.38) 48%,transparent 75%);animation:s20-fx-flash 8.5s ease-in-out infinite;}
body.wp-admin.sim2080-animations-active.sim2080-weather-effect-wind .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status)::before {opacity:.18;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:s20-fx-shimmer 7s ease-in-out infinite;}
body.wp-admin.sim2080-animations-active.sim2080-event-effect-lantern .sim2080-dynamic-admin :is(.s20-card,.s20-skin,.s20-status)::after {opacity:.24;background:radial-gradient(ellipse at 88% 0,rgba(255,175,73,.42),transparent 55%);animation:s20-fx-lantern 2.8s ease-in-out infinite;}
body.wp-admin.sim2080-animations-active .sim2080-dynamic-admin .button::after {content:"";position:absolute;inset:1px;border:1px solid rgba(255,255,255,.35);border-radius:inherit;pointer-events:none;animation:s20-fx-control-glow 4.8s ease-in-out infinite;}
@media(max-width:767px){.s20-fx-emblem{top:-2px;inset-inline-end:-3px;width:19px;height:19px;font-size:12px}.s20-dynamic-indicator{max-width:38vw}.sim2080-dynamic-admin .s20-card{overflow:hidden}}
