/*
Theme Name: Aeterna
Author: Aeterna
Description: Custom Aeterna storefront. Sidebar layout, logo palette, gradients, entrance animations.
Version: 3.0
Text Domain: aeterna
*/

:root {
  --b900: #235791;
  --b700: #4079b0;
  --b500: #4e96c8;
  --b300: #98cded;
  --g800: #3b4044;
  --g600: #555a5e;
  --bg-blue: #eef5fc;
  --bg-grey: #f4f6f7;
  --sidebar: 320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "Montserrat", system-ui, sans-serif; color: var(--g800); background: #fff; line-height: 1.7; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4, .woocommerce-loop-product__title, .woocommerce div.product .product_title { font-family: "EB Garamond", Georgia, serif; font-weight: 600; color: var(--g800); letter-spacing: 0; line-height: 1.18; }
.ae-sidenav a, .ae-acc-t, .ae-acc-link, .ae-lang, .ae-side-contact a { font-family: "Montserrat", sans-serif; }
a { color: var(--b700); text-decoration: none; }
a:hover { color: var(--b900); }
.ae-container { max-width: 1200px; margin: 0 auto; padding: 3.5rem 3rem 4.5rem; }

/* ============ SIDEBAR ============ */
.ae-sidebar {
  position: fixed; top: 0; left: 0; width: var(--sidebar); height: calc(100vh / var(--aez,1)); overflow-y: auto;
  background: radial-gradient(circle at 20% 0%, #eef5fc, #f5f9fd 55%);
  border-right: 1px solid #e0e9f2; padding: 2rem 1.7rem;
  display: flex; flex-direction: column; z-index: 100;
  animation: ae-slidein .8s ease both;
}
@keyframes ae-slidein { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
.ae-brand { display: block; line-height: 0; margin-bottom: 0; }
.ae-sidebar .ae-logo-img { width: 100%; max-width: 250px; height: auto; display: block; margin: 0 auto; }
.ae-side-div { border: none; border-top: 1px solid #e6ebf1; margin: 1.2rem 0; }
.ae-side-actions { display: flex; align-items: center; justify-content: space-between; }
.ae-side-actions .ae-cart-icon svg { width: 26px; height: 26px; }

.ae-sidenav { display: flex; flex-direction: column; gap: .1rem; flex: 1; min-width: 0; }
.ae-sidenav > a, .ae-acc-link {
  display: block; width: 100%; text-align: left; background: none; border: none;
  font-family: inherit; font-size: .93rem; font-weight: 400; color: var(--g800);
  padding: .6rem 0; cursor: pointer;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* Category with subcategories: the name links to the category, the button only expands. */
.ae-acc-head { display: flex; align-items: center; gap: .5rem; }
.ae-acc-link { color: var(--b700); flex: 1 1 auto; min-width: 0; }
.ae-sidenav > a:hover, .ae-acc-link:hover { color: var(--b900); }
.ae-acc-link .ae-nav-label { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-acc-t {
  flex: none; width: auto; background: none; border: none; cursor: pointer;
  font-family: inherit; line-height: 1; padding: .6rem .1rem .6rem .4rem;
}
.ae-acc-t::after { content: "+"; color: var(--b500); font-weight: 700; font-size: 1rem; }
.ae-acc-t:hover::after { color: var(--b900); }
.ae-acc.ae-acc-open .ae-acc-t::after { content: "−"; }
.ae-acc-menu { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.ae-acc.ae-acc-open .ae-acc-menu { max-height: 5000px; }
.ae-acc-menu a { display: block; padding: .3rem 0 .3rem .9rem; font-size: .9rem; font-weight: 500; color: var(--g600); }
.ae-acc-menu a:hover { color: var(--b700); }

/* The whole area below the divider is one blue block, bled out to the sidebar edges
   with negative margins that cancel the sidebar's own padding. */
.ae-side-foot {
  margin: 1.6rem -1.7rem -2rem;
  padding: 1.5rem 1.5rem 1.8rem;
  background: linear-gradient(160deg, var(--b900), var(--b700) 55%, var(--b500));
  box-shadow: 0 -8px 24px rgba(35,87,145,.14);
}
.ae-lang { display: flex; gap: .45rem; align-items: center; font-size: .9rem; font-weight: 700; margin: 0; }
.ae-lang a { color: var(--g600); }
.ae-lang .ae-lang-on { color: var(--b900); }
.ae-lang span { color: #c3c8cd; }
/* Contact panel: gradient block so it lifts off the white sidebar. */
.ae-side-contact { text-align: center; }
.ae-side-contact-t {
  display: block; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,255,255,.72); margin-bottom: .55rem;
}
.ae-side-contact a {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-size: 1.1rem; font-weight: 500; color: #fff; padding: .3rem 0;
  transition: opacity .2s ease;
}
.ae-side-contact a:hover { color: #fff; opacity: .82; }
.ae-side-contact a svg { flex: none; opacity: .85; width: 17px; height: 17px; }
.ae-side-social { display: flex; justify-content: center; gap: .9rem; margin-top: .9rem; }
.ae-social-a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #fff; color: var(--b900); box-shadow: 0 6px 16px rgba(12,40,70,.22); transition: transform .25s ease, box-shadow .25s ease; }
.ae-social-a:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(12,40,70,.32); color: var(--b700); }
.ae-cart-icon { color: var(--b900); display: inline-flex; align-items: center; gap: .5rem; }
.ae-cart-icon:hover { color: var(--b700); }
.ae-cart-side { margin-top: 1rem; font-weight: 700; }

/* ============ PAGE WRAP ============ */
.ae-page-wrap { margin-left: var(--sidebar); }
.ae-topbar {
  background: linear-gradient(160deg, var(--b900), var(--b700) 55%, var(--b500));
  color: #fff; text-align: center; font-size: .78rem; letter-spacing: .14em;
  padding: .7rem 1rem; font-weight: 700; text-transform: uppercase;
}

/* mobile bar (hidden desktop) */
.ae-mobilebar { display: none; position: sticky; top: 0; z-index: 90; background: #fff; border-bottom: 1px solid #e6ebf1; padding: .7rem 1rem; align-items: center; justify-content: space-between; }
.ae-mobile-logo img { max-height: 60px; display: block; }
.ae-burger { background: none; border: none; width: 32px; height: 24px; display: flex; flex-direction: column; justify-content: space-between; cursor: pointer; padding: 0; }
.ae-burger span { height: 3px; background: var(--g800); border-radius: 2px; display: block; transition: transform .3s ease, opacity .2s ease; }
.ae-burger.ae-active span:nth-child(1) { transform: translateY(10.5px) rotate(45deg); }
.ae-burger.ae-active span:nth-child(2) { opacity: 0; }
.ae-burger.ae-active span:nth-child(3) { transform: translateY(-10.5px) rotate(-45deg); }
.ae-backdrop { display: none; position: fixed; inset: 0; background: rgba(20,30,45,.5); z-index: 95; }
.ae-backdrop.ae-show { display: block; }

/* ============ BUTTONS ============ */
.ae-btn {
  display: inline-block; background: #fff; color: var(--b900) !important;
  padding: .95rem 2.4rem; border-radius: 999px; font-weight: 700; letter-spacing: .03em;
  transition: transform .3s ease, box-shadow .3s ease;
}
.ae-btn:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(0,0,0,.22); }
.ae-demo-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  width: 100%; max-width: 420px; margin: .2rem 0 1.5rem; padding: .95rem 1.8rem;
  border-radius: 999px; font-weight: 700; font-size: 1rem; letter-spacing: .02em;
  color: #fff !important; border: none; position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--b900), var(--b500)); background-size: 200% 100%;
  box-shadow: 0 10px 26px rgba(35,87,145,.28);
  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease, background-position .6s ease;
}
.ae-demo-btn:hover { transform: translateY(-3px); background-position: 100% 0; box-shadow: 0 18px 40px rgba(35,87,145,.42); }
.ae-demo-btn:active { transform: translateY(-1px); }
.ae-demo-btn::before {
  content: ""; position: absolute; top: 0; left: -120%; width: 55%; height: 100%;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,.5), transparent);
  transform: skewX(-18deg); transition: left .7s ease;
}
.ae-demo-btn:hover::before { left: 150%; }
.ae-demo-eye { flex: none; opacity: .92; }
.ae-demo-arrow { transition: transform .35s ease; }
.ae-demo-btn:hover .ae-demo-arrow { transform: translate(3px, -3px); }

/* ---- single product summary: tidy, aligned column ---- */
.woocommerce div.product .summary { display: flex; flex-direction: column; }
.woocommerce div.product form.cart { max-width: 420px; margin: 0; }
.woocommerce div.product form.cart table.variations { margin: 0 0 1.1rem; border: 0; width: 100%; }
.woocommerce div.product form.cart table.variations tr { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; }
.woocommerce div.product form.cart table.variations th.label { font-weight: 700; padding: 0; text-align: left; }
.woocommerce div.product form.cart table.variations td.value { padding: 0; width: 100%; }
.woocommerce div.product form.cart table.variations td.value select { width: 100%; min-width: 0; padding: .75rem .9rem !important; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: .5rem; font-size: .82rem; color: var(--b700); }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; align-items: stretch; gap: .8rem; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce div.product form.cart .quantity input.qty { width: 72px; height: 100%; padding: .85rem .4rem !important; text-align: center; }
.woocommerce div.product form.cart button.single_add_to_cart_button { flex: 1 1 auto; margin: 0 !important; }
.woocommerce div.product form.cart button.single_add_to_cart_button.disabled,
.woocommerce div.product form.cart button.single_add_to_cart_button:disabled { opacity: .5; filter: none; transform: none; cursor: not-allowed; box-shadow: none; }
.woocommerce div.product .product_meta { margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid #e6ebf1; font-size: .88rem; color: var(--g600); }
.woocommerce div.product .product_meta > span { display: block; padding: .15rem 0; }

/* ---- single product layout: gallery column + summary, no dead space ---- */
.woocommerce div.product .ae-product-top { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 3rem; }
.woocommerce div.product .ae-product-top > .ae-gallery-col { width: 46%; position: sticky; top: 1.5rem; align-self: flex-start; }
.woocommerce div.product .ae-product-top > .summary.entry-summary { width: calc(54% - 3rem); float: none; margin: 0; }
.woocommerce div.product .ae-gallery-col .woocommerce-product-gallery { width: 100%; float: none; margin: 0; }

.ae-prod-trust { list-style: none; margin: 1.4rem 0 0; padding: 1.3rem 1.4rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.2rem; background: var(--bg-blue); border-radius: 16px; }
.ae-prod-trust li { display: flex; gap: .55rem; align-items: flex-start; }
.ae-prod-trust li svg { flex: none; color: var(--b700); margin-top: .12rem; }
.ae-prod-trust-txt { display: flex; flex-direction: column; }
.ae-prod-trust-txt strong { color: var(--b900); font-size: .9rem; }
.ae-prod-trust-txt em { font-style: normal; color: var(--g600); font-size: .78rem; line-height: 1.4; }

/* ---- description / tabs ---- */
.woocommerce div.product .woocommerce-tabs { margin-top: 3.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: .2rem; margin: 0 0 2rem; padding: 0; border-bottom: 1px solid #e6ebf1; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: none; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: .85rem 1.3rem; font-weight: 600; font-size: 1rem; color: var(--g600); border-bottom: 3px solid transparent; margin-bottom: -1px; transition: color .25s ease, border-color .25s ease; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--b900); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--b900); border-bottom-color: var(--b700); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0 !important; padding: 0; max-width: 860px; }
.woocommerce div.product .woocommerce-tabs .panel > h2 { font-size: 1.7rem; margin: 0 0 1.1rem; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 1.2rem; margin: 1.6rem 0 .6rem; }
.woocommerce div.product .woocommerce-tabs .panel p { color: var(--g600); margin: 0 0 1rem; }
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes { border: 1px solid #e6ebf1; border-radius: 12px; overflow: hidden; }
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes td { border-color: #eef2f6 !important; padding: .8rem 1rem; }

/* ---- personalization (photo upload + text) ---- */
.ae-personalize { margin: 0 0 1.4rem; padding: 1.3rem 1.4rem; border: 1px solid #e6ebf1; border-radius: 16px; background: #fff; }
.ae-personalize-title { font-size: 1.5rem; font-weight: 600; margin: 0 0 1.1rem; color: var(--b900); }
.ae-ph-field { margin-bottom: 1.1rem; }
.ae-ph-field:last-child { margin-bottom: 0; }
.ae-ph-label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .5rem; color: var(--g800); }
.ae-ph-checkbox { display: flex; align-items: flex-start; gap: .55rem; font-weight: 600; font-size: .92rem; color: var(--g800); cursor: pointer; margin-bottom: .35rem; line-height: 1.4; }
.ae-ph-checkbox input { width: 18px; height: 18px; margin-top: .12rem; accent-color: var(--b700); cursor: pointer; flex-shrink: 0; }
.ae-ph-checkbox .woocommerce-Price-amount { white-space: nowrap; }
.ae-ph-req { display: inline-block; margin-left: .4rem; font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--b700); background: var(--bg-blue); border-radius: 999px; padding: .12rem .5rem; vertical-align: middle; }
.ae-ph-drop { border: 2px dashed #cdd7e2; border-radius: 12px; padding: 1.3rem 1rem; text-align: center; cursor: pointer; transition: border-color .25s ease, background .25s ease; }
.ae-ph-drop:hover, .ae-ph-drop.ae-ph-over { border-color: var(--b500); background: var(--bg-blue); }
.ae-ph-drop.ae-ph-disabled { opacity: .55; cursor: not-allowed; }
.ae-ph-input { display: none; }
.ae-ph-hint { color: var(--g600); font-size: .85rem; }
.ae-ph-list { margin-top: .6rem; display: flex; flex-direction: column; gap: .4rem; }
.ae-ph-item { display: flex; align-items: center; gap: .6rem; background: var(--bg-grey); border-radius: 8px; padding: .5rem .7rem; font-size: .85rem; }
.ae-ph-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-ph-status { color: var(--b700); font-weight: 700; white-space: nowrap; }
.ae-ph-item.ae-ph-error .ae-ph-status { color: #c0392b; }
.ae-ph-remove { background: none; border: none; color: var(--g600); font-size: 1.25rem; line-height: 1; cursor: pointer; padding: 0 .1rem; }
.ae-ph-remove:hover { color: #c0392b; }
.ae-ph-text { width: 100%; padding: .75rem .9rem; border-radius: 8px; font-family: inherit; font-size: .95rem; resize: vertical; }

/* ---- "you might like" ---- */
.ae-upsell { max-width: 1080px; margin: 3.5rem auto 0; padding-top: 2.6rem; border-top: 1px solid #e6ebf1; clear: both; }
.ae-upsell-title { font-size: 1.9rem; text-align: center; margin: 0 0 2rem; }
.woocommerce .ae-upsell-grid.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin: 0; padding: 0; list-style: none; }
.woocommerce .ae-upsell-grid.products li.product { width: auto !important; margin: 0 !important; }
.ae-upsell-card { display: flex; flex-direction: column; align-items: center; color: var(--g800) !important; }
.ae-upsell-media { display: block; width: 100%; }
.ae-upsell-media img { border-radius: 10px; margin-bottom: .9rem; }
.ae-upsell-name { font-size: .92rem; font-weight: 400; line-height: 1.4; margin-bottom: .35rem; }
.ae-upsell-price { color: var(--b900) !important; font-weight: 700; }
.ae-upsell-card:hover .ae-upsell-name { color: var(--b700); }
.ae-btn2, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button, [type="submit"] {
  display: inline-block; background: linear-gradient(135deg, var(--b900), var(--b700)) !important;
  color: #fff !important; border: none !important; border-radius: 999px !important;
  padding: .85rem 2rem !important; font-weight: 700 !important; letter-spacing: .03em;
  font-family: "Montserrat", sans-serif !important; text-transform: none !important;
  transition: filter .3s ease, transform .3s ease;
}
.ae-btn2:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.wc-block-components-button:hover { filter: brightness(1.08); transform: translateY(-2px); }

/* ============ HERO ============ */
.ae-hero { position: relative; overflow: hidden; color: #fff; text-align: center; padding: 8rem 1.5rem; min-height: 540px; display: flex; align-items: center; justify-content: center; }
.ae-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(135deg, rgba(35,87,145,.5), rgba(78,150,200,.38)), var(--hero-img) center/cover no-repeat;
  animation: ae-hero-zoom 1.8s ease both, ae-hero-fade 1.2s ease both;
}
@keyframes ae-hero-zoom { from { transform: scale(1.14); } to { transform: scale(1); } }
@keyframes ae-hero-fade { from { opacity: 0; } to { opacity: 1; } }
.ae-hero-inner { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; }
.ae-hero-kicker { letter-spacing: .42em; font-size: .85rem; font-weight: 600; color: var(--b500); margin: 0 0 1rem; text-shadow: 0 2px 14px rgba(0,0,0,.5); }
.ae-hero h1 { color: #fff; font-size: clamp(2.4rem, 5vw, 4rem); margin: 0 0 1.2rem; text-shadow: 0 3px 22px rgba(0,0,0,.42); }
.ae-hero-sub { font-size: 1.2rem; color: #eaf3fb; margin: 0 auto 2.2rem; max-width: 620px; text-shadow: 0 2px 16px rgba(0,0,0,.5); }

/* ============ TRUST ============ */
.ae-trust {
  background: linear-gradient(160deg, var(--b900), var(--b700) 55%, var(--b500));
  padding: 2rem 1.5rem;
}
.ae-trust-inner {
  max-width: 1180px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem;
}
.ae-trust-item {
  display: flex; align-items: center; gap: .9rem;
  color: #fff; text-align: left;
}
/* Icon sits in a soft translucent disc so it reads as a designed badge, not a stray glyph. */
.ae-trust-ico {
  width: 30px; height: 30px; flex: none; color: #fff;
  padding: 9px; box-sizing: content-box;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
}
.ae-trust-txt { display: flex; flex-direction: column; line-height: 1.35; min-width: 0; }
.ae-trust-txt strong { font-size: 1rem; font-weight: 600; }
.ae-trust-txt em { font-style: normal; font-size: .82rem; color: rgba(255,255,255,.78); }
@media (max-width: 1100px) { .ae-trust-inner { grid-template-columns: repeat(2, 1fr); gap: 1.4rem; } }
@media (max-width: 560px)  { .ae-trust-inner { grid-template-columns: 1fr; } }

/* ============ FEATURED ============ */
.ae-feature { padding: 5.5rem 1.5rem; }
.ae-feature-inner { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; }
.ae-feature-media img { border-radius: 18px; box-shadow: 0 20px 50px rgba(35,87,145,.14); width: 100%; }
.ae-eyebrow { text-transform: uppercase; letter-spacing: .2em; font-size: .78rem; color: var(--b500); font-weight: 700; margin: 0 0 .7rem; }
.ae-feature-text h2 { font-size: 2.3rem; margin: 0 0 1rem; }
.ae-feature-price { font-size: 1.5rem; color: var(--b900); font-weight: 700; margin-bottom: 1rem; }
.ae-feature-desc { color: var(--g600); margin: 0 0 1.8rem; }

/* ============ CATEGORIES ============ */
.ae-cats { max-width: 1080px; margin: 0 auto; padding: 4rem 1.5rem; text-align: center; }
.ae-cats > h2 { font-size: 2.3rem; margin: 0 0 2.5rem; }
.ae-cats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.6rem; }
.ae-cat-card { position: relative; display: flex; flex-direction: column; min-height: 220px; border-radius: 20px; padding: 2.4rem 2.2rem; color: #fff !important; text-align: left; overflow: hidden; transition: transform .35s ease, box-shadow .35s ease; }
.ae-cat-card:hover { transform: translateY(-6px); box-shadow: 0 22px 50px rgba(35,87,145,.24); }
.ae-cat-card > * { position: relative; z-index: 1; }
.ae-cat-1 { background: linear-gradient(135deg, var(--b900), var(--b700)); }
.ae-cat-2 { background: linear-gradient(135deg, var(--b700), var(--b500)); }
.ae-cat-3 { background: linear-gradient(135deg, var(--g800), var(--g600)); }
.ae-cat-4 { background: linear-gradient(135deg, var(--b500), var(--b300)); }
.ae-cat-5 { background: linear-gradient(135deg, var(--g600), var(--b700)); }
.ae-cat-6 { background: linear-gradient(135deg, var(--b700), var(--g800)); }
.ae-cat-blue { background: linear-gradient(135deg, var(--b700), var(--b500)); }
.ae-cat-grey { background: linear-gradient(135deg, var(--g800), var(--g600)); }
.ae-cat-card h3 { color: #fff; font-size: 1.5rem; margin: 0 0 .7rem; }
.ae-cat-card p { color: rgba(255,255,255,.9); margin: 0 0 1.4rem; font-size: .95rem; flex: 1; }
.ae-cat-go { font-weight: 600; letter-spacing: .04em; font-family: "Montserrat", sans-serif; }

/* categories: image + list split */
.ae-cats2 { padding: 5.5rem 0; }
.ae-cats2-inner { max-width: none; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: stretch; }
.ae-cats2-media { min-height: 660px; }
.ae-cats2-media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 20px 20px 0; box-shadow: 0 22px 55px rgba(35,87,145,.18); display: block; }
.ae-cats2-text { align-self: center; padding-right: 3rem; max-width: 640px; }
.ae-cats2-text h2 { font-size: 2.5rem; margin: 0 0 .8rem; }
.ae-cats2-lead { color: var(--g600); margin: 0 0 1.8rem; max-width: 470px; }
.ae-cats2-list { display: grid; grid-template-columns: 1fr; gap: .7rem; }
.ae-cat-chip { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .85rem 1.1rem; border-radius: 12px; background: var(--bg-blue); border: 1px solid #dce9f6; color: var(--b900) !important; font-weight: 600; font-size: .96rem; font-family: "Montserrat", sans-serif; transition: background .25s ease, transform .25s ease, box-shadow .25s ease; }
.ae-cat-chip i { font-style: normal; color: var(--b500); transition: transform .25s ease; }
.ae-cat-chip:hover { background: #fff; transform: translateX(3px); box-shadow: 0 10px 26px rgba(35,87,145,.14); }
.ae-cat-chip:hover i { transform: translateX(4px); }
@media (max-width: 768px) { .ae-cats2 { padding: 3.5rem 1.2rem; } .ae-cats2-inner { grid-template-columns: 1fr; gap: 2rem; } .ae-cats2-media { min-height: 300px; } .ae-cats2-media img { border-radius: 16px; } .ae-cats2-text { padding-right: 0; } }

/* ============ ROWS ============ */
.ae-row { padding: 5rem 1.5rem; }
.ae-row-blue { background: var(--bg-blue); }
.ae-row-inner { max-width: 1200px; margin: 0 auto; text-align: center; }
.ae-row-inner > h2 { font-size: 2.2rem; margin: 0 0 2.5rem; }
.ae-row .woocommerce ul.products, .ae-row ul.products { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); align-items: stretch; gap: 1.6rem; margin: 0; padding: 0; list-style: none; }

/* ============ HOW (dark) ============ */
.ae-how { background: linear-gradient(135deg, var(--b900), var(--b500)); padding: 5.5rem 1.5rem; text-align: center; }
.ae-how > h2 { color: #fff; font-size: 2.3rem; margin: 0 0 3rem; }
.ae-how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; max-width: 1000px; margin: 0 auto; }
.ae-how-item { background: #fff; border-radius: 18px; padding: 2.6rem 1.8rem; }
.ae-how-n { width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 1.3rem; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--b900), var(--b500)); color: #fff; font-size: 1.3rem; font-weight: 700; }
.ae-how-item h3 { font-size: 1.15rem; margin: 0 0 .6rem; }
.ae-how-item p { color: var(--g600); margin: 0; font-size: .98rem; }

/* ============ CTA (dark) ============ */
.ae-cta { background: linear-gradient(135deg, var(--b900), var(--b500)); text-align: center; padding: 6rem 1.5rem; color: #fff; }
.ae-cta { padding: 6.5rem 1.5rem; }
.ae-cta h2 { color: #fff; font-size: 2.9rem; margin: 0 0 1rem; }
.ae-cta p { color: #eaf3fb; margin: 0 auto 2rem; max-width: 520px; }

/* ============ TESTIMONIALS ============ */
.ae-quotes { background: var(--bg-blue); padding: 5rem 1.5rem; }
.ae-quotes-inner { max-width: 1100px; margin: 0 auto; text-align: center; }
.ae-quotes-inner > h2 { font-size: 2.2rem; margin: 0 0 2.6rem; }
.ae-quotes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.6rem; }
.ae-quote-card { background: #fff; border-radius: 18px; padding: 2.6rem 2rem 2rem; text-align: left; box-shadow: 0 14px 40px rgba(35,87,145,.08); position: relative; display: flex; flex-direction: column; height: 100%; }
.ae-quote-card::before { content: "\201C"; font-family: "EB Garamond", serif; font-size: 4.5rem; line-height: .1; color: var(--b300); position: absolute; top: 1.8rem; left: 1.3rem; }
.ae-quote-text { font-family: "Montserrat", sans-serif; font-size: 1.02rem; font-style: italic; color: var(--g800); margin: 1.2rem 0 1.3rem; line-height: 1.65; }
.ae-quote-who { display: flex; align-items: center; gap: .7rem; margin-top: auto; }
.ae-quote-av { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--b700), var(--b300)); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-family: "Montserrat", sans-serif; }
.ae-quote-name { font-weight: 600; color: var(--b900); font-family: "Montserrat", sans-serif; font-size: .95rem; }
.ae-quote-role { color: var(--g600); font-size: .82rem; }

/* ============ FOOTER (light) ============ */
.ae-footer { position: relative; background: radial-gradient(circle at 12% 0%, #ebf3fb, var(--bg-grey) 55%); color: var(--g600); padding: 4.2rem 1.5rem 2rem; overflow: hidden; }
.ae-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--b900), var(--b500), var(--b300), var(--b500), var(--b900)); }
.ae-footer::after { content: ""; position: absolute; right: -80px; bottom: -120px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(78,150,200,.10), transparent 70%); pointer-events: none; }
.ae-footer-brandtop { position: relative; text-align: center; margin: 0 auto 2.8rem; }
.ae-footer-logo { display: block; max-height: 210px; width: auto; margin: 0 auto; }
.ae-footer-col h4 a { color: inherit; font-size: inherit; font-weight: inherit; display: inline; padding: 0; }
.ae-footer-col h4 a:hover { color: var(--b700); }
.ae-footer-brandcol p { color: var(--g600); font-size: .92rem; margin: .3rem 0; max-width: 320px; }
.ae-footer-col h4 { color: var(--b900); font-size: 1.32rem; font-weight: 600; letter-spacing: 0; margin: 0 0 1.1rem; }
.ae-footer-col a { display: block; color: var(--g600); font-size: .92rem; padding: .34rem 0; transition: color .2s ease, padding-left .2s ease; }
.ae-footer-col a:hover { color: var(--b700); padding-left: .3rem; }
.ae-footer-policies { position: relative; max-width: 1200px; margin: 1.5rem auto 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 1.6rem; }
.ae-footer-policies a { color: var(--b700); font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.ae-footer-policies a:hover { color: var(--b900); }
.ae-footer-bottom { position: relative; max-width: 1200px; margin: 1.4rem auto 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .8rem; color: #9aa0a6; font-size: .8rem; }
.ae-credit { display: inline-flex; align-items: center; gap: .5rem; color: #9aa0a6; }
.ae-credit img { height: 26px; width: auto; opacity: .9; transition: opacity .2s ease, transform .2s ease; }
.ae-credit a:hover img { opacity: 1; transform: translateY(-1px); }

/* cookie consent (full-width stripe) */
.ae-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 300; background: linear-gradient(135deg, var(--b900), var(--b700)); box-shadow: 0 -10px 40px rgba(20,40,65,.3); border-top: 1px solid rgba(255,255,255,.14); }
.ae-cookie-inner { max-width: 1200px; margin: 0 auto; padding: 1.5rem 2rem; display: flex; align-items: center; gap: 1.8rem; }
.ae-cookie-text { flex: 1; }
.ae-cookie-text strong { display: block; font-family: "EB Garamond", serif; font-size: 1.3rem; color: #fff; margin-bottom: .2rem; }
.ae-cookie-text span { color: #d8e7f7; font-size: .92rem; line-height: 1.6; }
.ae-cookie-text a { color: #fff; font-weight: 600; text-decoration: underline; }
.ae-cookie .ae-ck-solid { background: #fff; color: var(--b900); }
.ae-cookie .ae-ck-solid:hover { filter: none; background: #eef5fc; }
.ae-cookie .ae-ck-outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.ae-cookie .ae-ck-outline:hover { border-color: #fff; color: #fff; }
.ae-cookie .ae-ck-ghost { color: #eaf3fb; }
.ae-cookie .ae-ck-ghost:hover { color: #fff; }
.ae-cookie-actions { display: flex; gap: .7rem; flex-shrink: 0; }
.ae-ck-btn { border-radius: 999px; padding: .72rem 1.5rem; font-weight: 600; font-size: .9rem; cursor: pointer; font-family: "Montserrat", sans-serif; white-space: nowrap; transition: filter .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.ae-ck-solid { background: linear-gradient(135deg, var(--b900), var(--b700)); color: #fff; border: none; }
.ae-ck-solid:hover { filter: brightness(1.09); transform: translateY(-1px); }
.ae-ck-outline { background: #fff; color: var(--b700); border: 1.5px solid #cdddf0; }
.ae-ck-outline:hover { border-color: var(--b500); color: var(--b900); }
.ae-ck-ghost { background: transparent; color: var(--g600); border: none; text-decoration: underline; }
.ae-ck-ghost:hover { color: var(--b700); }
.ae-cookie.ae-hide { display: none; }

/* cookie modal */
.ae-ck-modal { position: fixed; inset: 0; z-index: 400; background: rgba(20,40,65,.55); display: none; align-items: center; justify-content: center; padding: 1.5rem; }
.ae-ck-modal.ae-open { display: flex; }
.ae-ck-dialog { position: relative; background: #fff; border-radius: 20px; max-width: 540px; width: 100%; padding: 2.4rem 2.2rem; box-shadow: 0 30px 70px rgba(20,40,65,.35); max-height: calc(88vh / var(--aez,1)); overflow-y: auto; }
.ae-ck-close { position: absolute; top: 1rem; right: 1.2rem; background: none; border: none; font-size: 1.9rem; line-height: 1; color: var(--g600); cursor: pointer; }
.ae-ck-close:hover { color: var(--b900); }
.ae-ck-dialog h3 { font-size: 1.6rem; margin: 0 0 .5rem; color: var(--b900); }
.ae-ck-lead { color: var(--g600); font-size: .92rem; margin: 0 0 1.4rem; line-height: 1.6; }
.ae-ck-cat { border: 1px solid #e6ebf1; border-radius: 14px; padding: 1rem 1.2rem; margin-bottom: .9rem; }
.ae-ck-cat-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .3rem; }
.ae-ck-cat-top strong { color: var(--g800); font-size: 1.02rem; }
.ae-ck-cat p { margin: 0; color: var(--g600); font-size: .85rem; line-height: 1.55; }
.ae-ck-always { color: var(--b700); font-size: .78rem; font-weight: 600; }
.ae-ck-switch { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; }
.ae-ck-switch input { opacity: 0; width: 0; height: 0; }
.ae-ck-slider { position: absolute; inset: 0; background: #cdd7e2; border-radius: 999px; transition: background .25s ease; cursor: pointer; }
.ae-ck-slider::before { content: ""; position: absolute; height: 18px; width: 18px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: transform .25s ease; }
.ae-ck-switch input:checked + .ae-ck-slider { background: linear-gradient(135deg, var(--b700), var(--b500)); }
.ae-ck-switch input:checked + .ae-ck-slider::before { transform: translateX(20px); }
.ae-ck-dialog-actions { display: flex; gap: .8rem; margin-top: 1.4rem; }
.ae-ck-dialog-actions .ae-ck-btn { flex: 1; text-align: center; }

/* ============ WOOCOMMERCE ============ */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin: 0 !important; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #e6ebf1; border-radius: 16px; padding: 1rem 1rem 1.6rem !important; text-align: center; margin: 0 !important; width: auto !important; float: none !important; transition: box-shadow .35s ease, transform .35s ease; }
/* Equal-height tiles with the button anchored to the bottom, on every product grid
   (shop, categories, homepage rows, upsells).
   WooCommerce nests the title and price inside a.woocommerce-loop-product__link, so THAT
   link has to be the growing flex child. Making the title grow on its own does nothing,
   because the title is not a direct child of the tile: that was why longer titles pushed
   their buttons out of line. */
.woocommerce ul.products li.product > a.woocommerce-loop-product__link,
.ae-row ul.products li.product > a.woocommerce-loop-product__link {
  display: flex; flex-direction: column; flex: 1 1 auto;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.ae-row ul.products li.product .woocommerce-loop-product__title { flex: 1 0 auto; }
/* Price sits just above the button, so prices line up across the row too.
   The margin here (not padding on the button) keeps the gap without making the
   button itself taller. */
.woocommerce ul.products li.product .price,
.ae-row ul.products li.product .price { margin-bottom: .9rem; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart,
.ae-row ul.products li.product .button, .ae-row ul.products li.product .added_to_cart { margin-top: auto; }
/* Tiles without the .woocommerce wrapper still stretch to the tallest in the row. */
.ae-row ul.products li.product { display: flex; flex-direction: column; height: 100%; }
.woocommerce ul.products li.product:hover { box-shadow: 0 16px 44px rgba(35,87,145,.16); transform: translateY(-5px); }
.woocommerce ul.products li.product img { border-radius: 10px; margin-bottom: 1rem; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.45rem; color: var(--g800); font-weight: 600; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce-Price-amount, .price { color: var(--b900) !important; font-weight: 700; }
.woocommerce ul.products li.product .price { font-size: 1.25rem !important; }
.woocommerce div.product .product_title { font-size: 2.5rem; }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: 14px; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { margin: 1.4rem 0 0 !important; display: flex !important; flex-wrap: wrap; gap: .8rem; padding: 0 !important; list-style: none; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { margin: 0 !important; padding: 0 !important; width: calc(25% - .6rem) !important; float: none !important; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 10px; margin: 0 !important; }
.woocommerce span.onsale { background: var(--b700) !important; color: #fff; border-radius: 999px; }
.woocommerce table.variations select { border: 1px solid #cdd7e2 !important; border-radius: 8px !important; padding: .6rem !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  display: flex !important; align-items: center; flex-wrap: nowrap; gap: .7rem;
  width: auto; margin: -2.1rem -3rem 1.4rem; padding: .55rem .9rem .55rem .7rem !important;
  border: 1px solid #e6ebf1; border-top: none !important; border-radius: 10px;
  background: #fff !important; box-shadow: 0 8px 22px rgba(35,87,145,.1);
  list-style: none; font-size: .85rem; color: var(--g800);
  animation: ae-notice-in .4s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes ae-notice-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
  display: flex !important; align-items: center; justify-content: center;
  flex: none; width: 24px; height: 24px; border-radius: 50%; font-size: .85rem !important;
  color: #fff !important; top: 0 !important; left: 0 !important; position: static !important;
  background: linear-gradient(135deg, #4caf7d, #2e9560);
}
.woocommerce-error::before { background: linear-gradient(135deg, #e2685f, #c0392b); }
.woocommerce-message .ae-added-text { white-space: nowrap; }
.woocommerce-message a.button.wc-forward {
  margin-left: auto; white-space: nowrap; flex: none;
  padding: .4rem 1.1rem !important; font-size: .82rem !important;
}
@media (max-width: 980px) {
  .woocommerce-message, .woocommerce-info, .woocommerce-error { margin: -1.6rem -1.5rem 1.4rem; }
}
@media (max-width: 560px) {
  .woocommerce-message, .woocommerce-info, .woocommerce-error { margin: -1.2rem -1.3rem 1.2rem; padding: .5rem .7rem !important; }
  .woocommerce-message .ae-added-text { overflow: hidden; text-overflow: ellipsis; }
}
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], textarea, select { border: 1px solid #cdd7e2 !important; border-radius: 8px !important; font-family: "Montserrat", sans-serif; }
input:focus, textarea:focus, select:focus { outline: none !important; border-color: var(--b500) !important; }

/* ============ ANIMATIONS ============ */
.ae-js .ae-r { opacity: 0; transition: opacity .8s ease, transform .8s ease; transform: translateY(45px); }
.ae-js .ae-r.left { transform: translateX(-55px); }
.ae-js .ae-r.right { transform: translateX(55px); }
.ae-js .ae-r.zoom { transform: scale(.9); }
.ae-js .woocommerce ul.products li.product.ae-r:nth-child(3n+1) { transform: translateX(-55px); }
.ae-js .woocommerce ul.products li.product.ae-r:nth-child(3n) { transform: translateX(55px); }
.ae-js .ae-in { opacity: 1 !important; transform: none !important; }

/* ============ RESPONSIVE ============ */
@media (max-width: 980px) {
  .ae-page-wrap { margin-left: 0; }
  .ae-mobilebar { display: flex; }
  .ae-sidebar { transform: translateX(-100%); transition: transform .3s ease; width: 100%; padding: 2rem 1.8rem; box-shadow: none; animation: none; }
  .ae-sidebar.ae-open { transform: none; }
  .ae-feature-inner { grid-template-columns: 1fr; gap: 2rem; }
  .ae-cats-grid { grid-template-columns: 1fr; }
  .ae-how-grid { grid-template-columns: 1fr; }
  .ae-footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce .ae-upsell-grid.products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product .ae-product-top > .ae-gallery-col,
  .woocommerce div.product .ae-product-top > .summary.entry-summary { width: 100%; }
  .woocommerce div.product .ae-product-top > .ae-gallery-col { margin-bottom: 2rem; position: static; }
}
@media (max-width: 560px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .woocommerce .ae-upsell-grid.products { grid-template-columns: repeat(2, 1fr); }
  .ae-demo-btn, .woocommerce div.product form.cart { max-width: none; }
  .ae-hero { padding: 5rem 1.5rem; min-height: 420px; }
  .ae-footer-top { grid-template-columns: 1fr; }
  .ae-footer-bottom { justify-content: center; text-align: center; }
  .ae-cookie-inner { flex-direction: column; text-align: center; padding: 1.2rem 1.2rem; gap: 1rem; }
  .ae-cookie-actions { flex-wrap: wrap; justify-content: center; }
  .ae-ck-dialog-actions { flex-direction: column; }
  .ae-container { padding: 2rem 1.3rem 3rem; }
}

/* ---------- Order keepsake panel (thank-you page + My Account order) ---------- */
.ae-ks-panel {
  margin: 2.5rem 0;
  padding: 2rem 2rem 1.6rem;
  background: #faf7f1;
  border: 1px solid #e9e0cd;
  border-radius: 12px;
}
.ae-ks-title {
  font-family: 'EB Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 1.9rem;
  margin: 0 0 .5rem;
  color: #262a2f;
}
.ae-ks-lead { color: #6b7076; font-size: .96rem; margin: 0 0 1.6rem; max-width: 46rem; }
.ae-ks-card {
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
  background: #fffdf7;
  border: 1px solid #ece4d2;
  border-radius: 10px;
  padding: 1.3rem 1.5rem;
  margin-bottom: 1rem;
}
.ae-ks-qr { flex: none; width: 132px; text-align: center; }
.ae-ks-qr img { width: 132px; height: 132px; display: block; }
.ae-ks-qr span {
  display: block; margin-top: .5rem; font-size: .68rem;
  letter-spacing: .1em; text-transform: uppercase; color: #9a9490;
}
.ae-ks-info { min-width: 0; flex: 1; }
.ae-ks-name {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 1.35rem; color: #262a2f; margin-bottom: .9rem;
}
.ae-ks-row { margin-bottom: .8rem; }
.ae-ks-row:last-child { margin-bottom: 0; }
.ae-ks-label {
  display: block; font-size: .68rem; letter-spacing: .16em;
  text-transform: uppercase; color: #9a9490; margin-bottom: .2rem;
}
.ae-ks-row a { color: #a9803a; word-break: break-all; }
.ae-ks-pin {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 1.8rem; letter-spacing: .28em; color: #a9803a;
}
.ae-ks-actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.3rem; }
.ae-ks-btn {
  display: inline-block; padding: .85rem 2rem; border-radius: 8px;
  background: #262a2f; color: #faf7f1; text-decoration: none;
  font-size: .8rem; letter-spacing: .18em; text-transform: uppercase;
  border: 1px solid #262a2f; cursor: pointer; font-family: inherit;
}
.ae-ks-btn:hover { background: #3a3f45; color: #faf7f1; }
.ae-ks-btn-ghost { background: #fffdf7; color: #a9803a; border-color: #e0d2b4; }
.ae-ks-btn-ghost:hover { background: #f6efe2; color: #8a6528; }
@media (max-width: 600px) {
  .ae-ks-card { flex-direction: column; align-items: center; text-align: center; }
  .ae-ks-panel { padding: 1.5rem 1.2rem; }
}

/* ---------- Dual price display (EUR + BGN), euro changeover ---------- */
.ae-bgn {
  white-space: nowrap;
  font-weight: 400;
  color: #000;
}
/* Never inherit strikethrough from a struck-out sale price. */
del .ae-bgn { text-decoration: none; }

/* ================= FILTER BAR (shop + category + attribute archives) ================= */
.ae-filter { margin: 0 0 2.2rem; }
.ae-filter-toggle { display: none; }

.ae-filter-groups {
  display: flex; flex-wrap: wrap; gap: .7rem;
  padding: .9rem 1rem;
  background: #fff;
  border: 1px solid #e6ebf1;
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(35,87,145,.06);
}
.ae-fg { position: relative; }
.ae-fg-t {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .68rem 1.15rem; border-radius: 999px;
  background: var(--bg-blue); border: 1px solid transparent;
  font-family: inherit; font-size: .93rem; font-weight: 600; color: var(--b900);
  cursor: pointer; transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}
.ae-fg-t:hover { background: #e2eefb; }
.ae-fg-caret { transition: transform .25s ease; opacity: .7; }
.ae-fg.ae-fg-open .ae-fg-caret { transform: rotate(180deg); }
/* chosen group: logo gradient */
.ae-fg.ae-fg-on .ae-fg-t {
  background: linear-gradient(135deg, var(--b900), var(--b500));
  color: #fff; box-shadow: 0 8px 20px rgba(35,87,145,.28);
}
.ae-fg-t em {
  font-style: normal; font-size: .74rem; font-weight: 700;
  background: rgba(255,255,255,.28); color: #fff;
  min-width: 19px; height: 19px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
}

.ae-fg-menu {
  position: absolute; top: calc(100% + .5rem); left: 0; z-index: 40;
  min-width: 250px; max-height: 340px; overflow-y: auto;
  background: #fff; border: 1px solid #e6ebf1; border-radius: 12px;
  box-shadow: 0 18px 44px rgba(35,87,145,.18);
  padding: .45rem;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.ae-fg.ae-fg-open .ae-fg-menu { opacity: 1; visibility: visible; transform: none; }
.ae-fg-opt {
  display: flex; align-items: center; gap: .6rem;
  padding: .5rem .6rem; border-radius: 8px;
  font-size: .92rem; color: var(--g800);
}
.ae-fg-opt:hover { background: var(--bg-blue); color: var(--b900); }
.ae-fg-box {
  flex: none; width: 17px; height: 17px; border-radius: 5px;
  border: 1.5px solid #cfd8e2; background: #fff; position: relative;
}
.ae-fg-opt.is-on .ae-fg-box { background: linear-gradient(135deg, var(--b900), var(--b500)); border-color: transparent; }
.ae-fg-opt.is-on .ae-fg-box::after {
  content: ""; position: absolute; left: 5px; top: 1px;
  width: 4px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.ae-fg-name { flex: 1 1 auto; }
.ae-fg-num { flex: none; font-size: .78rem; color: #9aa4b0; }
.ae-fg-opt.is-on { font-weight: 600; color: var(--b900); }

.ae-filter-active { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .9rem; }
.ae-chip {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .45rem .9rem; border-radius: 999px;
  background: linear-gradient(135deg, var(--b900), var(--b500));
  color: #fff !important; font-size: .85rem; font-weight: 600;
  box-shadow: 0 6px 16px rgba(35,87,145,.22);
  transition: filter .25s ease, transform .25s ease;
}
.ae-chip:hover { filter: brightness(1.08); transform: translateY(-1px); }
.ae-chip span { font-size: 1.05rem; line-height: 1; opacity: .85; }
.ae-chip-clear { font-size: .85rem; color: var(--g600); text-decoration: underline; padding: .45rem .3rem; }
.ae-chip-clear:hover { color: var(--b900); }

@media (max-width: 780px) {
  .ae-filter-toggle {
    display: inline-flex; align-items: center; gap: .55rem;
    padding: .8rem 1.4rem; border-radius: 999px; border: none; cursor: pointer;
    background: linear-gradient(135deg, var(--b900), var(--b500));
    color: #fff; font-family: inherit; font-size: .95rem; font-weight: 600;
    box-shadow: 0 8px 20px rgba(35,87,145,.28);
  }
  .ae-filter-count {
    font-style: normal; font-size: .74rem; font-weight: 700;
    background: rgba(255,255,255,.3); min-width: 19px; height: 19px;
    border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
  }
  .ae-filter-body { display: none; margin-top: .9rem; }
  .ae-filter.ae-filter-open .ae-filter-body { display: block; }
  .ae-filter-groups { flex-direction: column; align-items: stretch; }
  .ae-fg-t { width: 100%; justify-content: space-between; }
  .ae-fg-menu { position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: none; margin-top: .35rem; max-height: 260px; display: none; }
  .ae-fg.ae-fg-open .ae-fg-menu { display: block; }
}

/* ================= FOOTER: logo, chip cluster, gradient rules ================= */
.ae-footer-brandtop { margin-bottom: 1.6rem; }

/* Categories as a centred cluster. Wraps naturally, so 6 or 16 both look intentional. */
.ae-footer-chips {
  position: relative; max-width: 780px; margin: 0 auto;
  display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem;
}
.ae-fchip {
  display: inline-block; padding: .6rem 1.25rem; border-radius: 999px;
  background: #fff; border: 1px solid #dce9f6; color: var(--g600);
  font-size: .9rem; font-weight: 500; line-height: 1.2;
  box-shadow: 0 4px 14px rgba(35,87,145,.06);
  transition: color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.ae-fchip:hover {
  color: var(--b900); border-color: var(--b300);
  transform: translateY(-2px); box-shadow: 0 10px 24px rgba(35,87,145,.14);
}
/* "Всички продукти" gets the gradient so the cluster has one clear anchor. */
.ae-fchip-all {
  background: linear-gradient(135deg, var(--b900), var(--b500));
  border-color: transparent; color: #fff !important;
  box-shadow: 0 8px 20px rgba(35,87,145,.26);
}
.ae-fchip-all:hover { filter: brightness(1.08); color: #fff !important; }

/* Thin gradient rule, same idea as the stripe across the top of the footer. */
.ae-footer-rule {
  position: relative; max-width: 1200px; height: 2px; margin: 2.4rem auto;
  background: linear-gradient(90deg, transparent, var(--b500), var(--b300), var(--b500), transparent);
  opacity: .55;
}

.ae-footer-inline {
  position: relative; display: flex; flex-wrap: wrap; justify-content: center;
  gap: .5rem 2rem; max-width: 900px; margin: 0 auto;
}
.ae-footer-inline a {
  color: var(--g600); font-size: .95rem; position: relative; padding: .2rem 0;
  transition: color .2s ease;
}
.ae-footer-inline a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px;
  background: linear-gradient(90deg, var(--b900), var(--b500));
  transition: right .3s ease;
}
.ae-footer-inline a:hover { color: var(--b900); }
.ae-footer-inline a:hover::after { right: 0; }

@media (max-width: 640px) {
  .ae-footer-chips { gap: .45rem; }
  .ae-fchip { padding: .5rem 1rem; font-size: .85rem; }
  .ae-footer-inline { gap: .4rem 1.2rem; }
  .ae-footer-rule { margin: 1.8rem auto; }
}


/* ============ ПЛОЧКИТЕ НА НАЧАЛНАТА (2 септември 2026) ============ */
.ae-tiles { background: var(--bg-blue); padding: 4.5rem 1.5rem 5rem; }
.ae-tiles-inner { max-width: 1200px; margin: 0 auto; text-align: center; }
.ae-tiles-inner > h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin: 0 0 2.4rem; }
.ae-tiles-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.6rem; text-align: left; }
.ae-tile {
  display: flex; flex-direction: column; border-radius: 18px; overflow: hidden;
  background: #fff; border: 1px solid #e0e9f2; color: var(--g800);
  box-shadow: 0 6px 22px rgba(35,87,145,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
a.ae-tile:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(35,87,145,.16); color: var(--g800); }
.ae-tile-media {
  position: relative; display: block; aspect-ratio: 16/9; overflow: hidden;
  background: linear-gradient(135deg, var(--b300), var(--b700));
}
.ae-tile-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ae-tile-badge {
  position: absolute; top: 1rem; right: 1rem; padding: .35rem .9rem; border-radius: 999px;
  background: rgba(255,255,255,.92); color: var(--b900);
  font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.ae-tile-body { display: flex; flex-direction: column; gap: .45rem; padding: 1.4rem 1.6rem 1.6rem; }
.ae-tile-body strong { font-family: "EB Garamond", Georgia, serif; font-weight: 600; font-size: 1.45rem; line-height: 1.2; }
.ae-tile-body > span { font-size: .95rem; color: var(--g600); line-height: 1.6; }
.ae-tile-go { font-style: normal; font-weight: 700; color: var(--b700); margin-top: .4rem; font-size: .92rem; }
a.ae-tile:hover .ae-tile-go { color: var(--b900); }
.ae-tile.is-soon { opacity: .78; }
.ae-tile.is-soon .ae-tile-media { filter: saturate(.55); }
@media (max-width: 860px) { .ae-tiles-grid { grid-template-columns: 1fr; } }


/* ============ САМОСТОЯТЕЛНАТА НАЧАЛНА (без странично меню) ============ */
body.ae-landing { margin: 0; }
.ae-land-top {
  display: flex; justify-content: center; align-items: center;
  padding: 1.1rem 1.5rem; background: #fff; border-bottom: 1px solid #e0e9f2;
}
.ae-land-top img { height: 56px; width: auto; }
.ae-land-foot {
  text-align: center; padding: 3rem 1.5rem 2.4rem; background: var(--bg-grey);
  border-top: 1px solid #e0e9f2;
}
.ae-land-foot img { height: 44px; width: auto; opacity: .85; }
.ae-land-foot p { margin: .9rem 0 0; font-size: .85rem; color: var(--g600); }


/* ============ HERO 2: продуктът на телефон, голямо лого ============ */
.ae-hero2 {
  position: relative; overflow: hidden;
  background:
    radial-gradient(70% 90% at 85% 20%, rgba(152,205,237,.35), transparent 60%),
    radial-gradient(60% 70% at 10% 90%, rgba(78,150,200,.18), transparent 60%),
    linear-gradient(165deg, #ffffff 0%, var(--bg-blue) 70%);
  padding: 2.6rem 1.5rem 5rem;
}
.ae-hero2-logo {
  display: block; margin: 0 auto 2.8rem; height: clamp(110px, 16vw, 170px); width: auto;
}
.ae-hero2-inner {
  max-width: 1150px; margin: 0 auto; display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 3.5rem; align-items: center;
}
.ae-hero2-text h1 { font-size: clamp(2.4rem, 4.6vw, 3.7rem); margin: 0 0 1.1rem; line-height: 1.1; }
.ae-hero2-sub { font-size: 1.15rem; color: var(--g600); margin: 0 0 2rem; max-width: 34rem; }
.ae-hero2-cta { display: flex; gap: 1rem; align-items: center; }

/* Телефонът: рамка в код, вътре скрийншотът на дневника */
.ae-hero2-media { display: flex; justify-content: center; }
.ae-phone {
  width: min(300px, 72vw); aspect-ratio: 9/19; border-radius: 42px;
  background: #10151b; padding: 12px; transform: rotate(4deg);
  box-shadow: 0 30px 70px rgba(35,87,145,.30), 0 6px 18px rgba(0,0,0,.18);
}
.ae-phone-screen {
  width: 100%; height: 100%; border-radius: 32px; overflow: hidden; background: #eaf3fc;
}
.ae-phone-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.ae-phone-ph {
  height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .7rem; text-align: center; padding: 1.4rem;
  background: linear-gradient(170deg, #f2f8fd, #d9e9f7);
}
.ae-phone-ph span {
  font-family: "Montserrat", sans-serif; font-weight: 700; letter-spacing: .18em;
  font-size: .85rem; color: var(--b900);
}
.ae-phone-ph em { font-style: normal; font-size: .8rem; color: var(--g600); line-height: 1.5; }

@media (max-width: 900px) {
  .ae-hero2-inner { grid-template-columns: 1fr; gap: 2.6rem; text-align: center; }
  .ae-hero2-sub { margin-left: auto; margin-right: auto; }
  .ae-hero2-cta { justify-content: center; }
  .ae-phone { transform: rotate(0deg); }
}


/* ============ НАЧАЛНА v2: голямо лого, плаващ телефон, Автодневник ============ */
.ae-hero2-logo { height: clamp(180px, 26vw, 300px) !important; margin-bottom: 3.2rem !important; }
.ae-hero2 { padding-top: 3.4rem; }
.ae-hero2-more { font-size: .92rem; font-weight: 600; color: var(--b700); }
.ae-hero2-more:hover { color: var(--b900); }

/* телефонът диша */
@keyframes ae-floaty { 0%,100% { transform: rotate(4deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-14px); } }
.ae-float { animation: ae-floaty 5.5s ease-in-out infinite; }
@media (max-width: 900px) { @keyframes ae-floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } }
@media (prefers-reduced-motion: reduce) { .ae-float { animation: none; } }

/* ---- Автодневник разделът ---- */
.ae-avto { background: linear-gradient(180deg, #fff 0%, var(--bg-blue) 18%, var(--bg-blue) 82%, #fff 100%); padding: 5.5rem 1.5rem 6rem; }
.ae-avto-head { max-width: 780px; margin: 0 auto 3rem; text-align: center; }
.ae-avto-head h2 { font-size: clamp(2.2rem, 4.4vw, 3.4rem); margin: 0 0 1.1rem; }
.ae-avto-lead { font-size: 1.12rem; color: var(--g600); line-height: 1.75; margin: 0; }

/* живият макет с броячите */
.ae-avto-demo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; max-width: 900px; margin: 0 auto; }
.ae-demo-tile {
  background: #fff; border-radius: 16px; padding: 1.5rem 1.3rem 1.3rem; text-align: center;
  border-top: 5px solid; box-shadow: 0 8px 26px rgba(35,87,145,.10);
  transition: transform .25s ease, box-shadow .25s ease;
}
.ae-demo-tile:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 18px 44px rgba(35,87,145,.18); }
.ae-demo-tile.ok   { border-color: #1f9d64; }
.ae-demo-tile.warn { border-color: #d98a00; }
.ae-demo-tile.late { border-color: #d64545; }
.ae-demo-name { display: block; font-size: .85rem; font-weight: 600; color: var(--g600); margin-bottom: .6rem; min-height: 2.4em; }
.ae-demo-days { display: block; font-family: "EB Garamond", Georgia, serif; font-size: 2.9rem; font-weight: 600; line-height: 1; }
.ae-demo-tile.ok .ae-demo-days   { color: #1f9d64; }
.ae-demo-tile.warn .ae-demo-days { color: #d98a00; }
.ae-demo-tile.late .ae-demo-days { color: #d64545; font-size: 2rem; padding: .35em 0; }
.ae-demo-lbl { display: block; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--g600); margin-top: .45rem; }
.ae-avto-demo-note { text-align: center; font-size: .92rem; color: var(--g600); margin: 1.2rem auto 0; }

/* мрежата с функции */
.ae-avto-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; max-width: 1100px; margin: 3.5rem auto 0; }
.ae-avto-card {
  background: #fff; border-radius: 16px; padding: 1.8rem 1.6rem; border: 1px solid #e0e9f2;
  box-shadow: 0 4px 16px rgba(35,87,145,.06); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ae-avto-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(35,87,145,.15); border-color: var(--b300); }
.ae-avto-ico {
  display: inline-flex; width: 52px; height: 52px; border-radius: 14px; align-items: center; justify-content: center;
  background: var(--bg-blue); color: var(--b700); margin-bottom: 1rem; transition: transform .25s ease, background .25s ease, color .25s ease;
}
.ae-avto-card:hover .ae-avto-ico { transform: rotate(-6deg) scale(1.08); background: var(--b700); color: #fff; }
.ae-avto-ico svg { width: 26px; height: 26px; }
.ae-avto-card strong { display: block; font-family: "EB Garamond", Georgia, serif; font-size: 1.25rem; margin-bottom: .5rem; }
.ae-avto-card p { margin: 0; font-size: .93rem; color: var(--g600); line-height: 1.65; }

/* потокът на подаряването */
.ae-avto-flow { max-width: 1100px; margin: 4.2rem auto 0; text-align: center; }
.ae-avto-flow h3 { font-size: 1.7rem; margin: 0 0 2rem; }
.ae-flow-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.3rem; text-align: left; }
.ae-flow-step { background: #fff; border-radius: 16px; padding: 1.6rem 1.4rem; border: 1px solid #e0e9f2; transition: transform .25s ease, box-shadow .25s ease; }
.ae-flow-step:hover { transform: translateY(-5px); box-shadow: 0 14px 34px rgba(35,87,145,.14); }
.ae-flow-n {
  display: inline-flex; width: 40px; height: 40px; border-radius: 50%; align-items: center; justify-content: center;
  background: var(--b700); color: #fff; font-weight: 700; margin-bottom: .8rem;
}
.ae-flow-step strong { display: block; margin-bottom: .4rem; font-size: 1.05rem; }
.ae-flow-step p { margin: 0; font-size: .89rem; color: var(--g600); line-height: 1.6; }

/* цената */
.ae-avto-price { display: flex; justify-content: center; margin-top: 4.2rem; }
.ae-price-card {
  background: #fff; border-radius: 22px; padding: 2.6rem 3rem; text-align: center; max-width: 480px; width: 100%;
  border: 2px solid var(--b300); box-shadow: 0 20px 60px rgba(35,87,145,.18);
}
.ae-price-num { font-family: "EB Garamond", Georgia, serif; font-size: 3.6rem; color: var(--b900); line-height: 1; margin: .3rem 0 1.4rem; }
.ae-price-list { list-style: none; margin: 0 0 1.8rem; padding: 0; text-align: left; }
.ae-price-list li { position: relative; padding: .45rem 0 .45rem 1.9rem; font-size: .95rem; color: var(--g600); line-height: 1.55; }
.ae-price-list li::before { content: "✓"; position: absolute; left: .3rem; color: #1f9d64; font-weight: 700; }
.ae-price-soon { display: inline-block; font-size: .95rem; font-weight: 700; color: var(--b700); }

@media (max-width: 900px) {
  .ae-avto-demo { grid-template-columns: 1fr; max-width: 420px; }
  .ae-avto-grid { grid-template-columns: 1fr 1fr; }
  .ae-flow-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .ae-avto-grid { grid-template-columns: 1fr; }
  .ae-flow-grid { grid-template-columns: 1fr; }
  .ae-price-card { padding: 2.2rem 1.6rem; }
}


/* ============ СПЕКТАКЪЛЪТ: деко форми, тъмни ленти, елегантност ============ */

/* секциите с деко пласт стават сцени */
.ae-hero2, .ae-tiles, .ae-avto { position: relative; overflow: hidden; }
.ae-hero2 > *:not(.ae-deco), .ae-tiles > *:not(.ae-deco), .ae-avto > *:not(.ae-deco) { position: relative; z-index: 1; }
.ae-deco { position: absolute; inset: 0; z-index: 0; pointer-events: none; }

/* меки органични петна */
.ae-blob { position: absolute; border-radius: 46% 54% 58% 42% / 52% 44% 56% 48%; }
.ae-blob-navy {
  width: 620px; height: 620px; right: -180px; top: -140px;
  background: linear-gradient(135deg, var(--b900), #16395f 70%);
  opacity: .97; animation: ae-blob-drift 16s ease-in-out infinite;
}
.ae-blob-sky {
  width: 340px; height: 340px; left: -140px; bottom: -110px;
  background: linear-gradient(135deg, var(--b300), var(--b500));
  opacity: .35; animation: ae-blob-drift 20s ease-in-out infinite reverse;
}
.ae-blob-soft {
  width: 480px; height: 480px; right: -200px; bottom: 8%;
  background: linear-gradient(135deg, var(--b300), transparent 70%);
  opacity: .3;
}
@keyframes ae-blob-drift {
  0%,100% { transform: rotate(0deg) scale(1); border-radius: 46% 54% 58% 42% / 52% 44% 56% 48%; }
  50%     { transform: rotate(8deg) scale(1.05); border-radius: 54% 46% 44% 56% / 44% 56% 48% 52%; }
}

/* тънки пръстени */
.ae-ring { position: absolute; border-radius: 50%; border: 1.5px solid var(--b300); opacity: .5; }
.ae-ring-1 { width: 220px; height: 220px; left: 6%; top: 12%; animation: ae-spin 40s linear infinite; border-style: dashed; }
.ae-ring-2 { width: 90px;  height: 90px;  right: 12%; bottom: 16%; border-color: var(--b500); }
.ae-ring-3 { width: 300px; height: 300px; right: -90px; top: -70px; border-style: dashed; animation: ae-spin 55s linear infinite reverse; }
.ae-ring-4 { width: 180px; height: 180px; left: -50px; top: 22%; border-style: dashed; animation: ae-spin 48s linear infinite; }
@keyframes ae-spin { to { transform: rotate(360deg); } }

/* мрежи от точки, като QR намек */
.ae-dots { position: absolute; opacity: .5;
  background-image: radial-gradient(var(--b500) 1.6px, transparent 1.7px);
  background-size: 20px 20px; }
.ae-dots-1 { width: 220px; height: 150px; left: 3%; bottom: 10%; }
.ae-dots-2 { width: 180px; height: 130px; left: 4%; bottom: 8%; opacity: .35; }
.ae-dots-3 { width: 240px; height: 160px; right: 6%; top: 6%; opacity: .3; }

/* плаващи чипове с QR и безкрайност */
.ae-chip { position: absolute; display: grid; place-items: center;
  font-family: "Montserrat", sans-serif; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, var(--b700), var(--b900));
  box-shadow: 0 10px 26px rgba(11,30,42,.28); }
.ae-chip-1 { width: 62px; height: 62px; border-radius: 18px; font-size: .95rem; letter-spacing: .08em;
  right: 8%; top: 20%; transform: rotate(10deg); animation: ae-chip-bob 7s ease-in-out infinite; }
.ae-chip-2 { width: 48px; height: 48px; border-radius: 50%; font-size: 1.35rem;
  left: 10%; top: 42%; animation: ae-chip-bob 9s ease-in-out 1.2s infinite; }
@keyframes ae-chip-bob { 0%,100% { translate: 0 0; } 50% { translate: 0 -16px; } }

/* телефонът върху тъмното петно: бял ореол за отделяне */
.ae-phone { position: relative; }
.ae-phone::before { content: ""; position: absolute; inset: -14%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255,255,255,.45), transparent 70%); z-index: -1; }

/* ХЕРОТО върху тъмното петно: текстът вдясно от него остава четим,
   но заглавието добива дълбочина */
.ae-hero2-text h1 { text-wrap: balance; }
.ae-hero2-text h1::after { content: ""; display: block; width: 92px; height: 5px; margin-top: 1.1rem;
  border-radius: 3px; background: linear-gradient(90deg, var(--b700), var(--b300)); }

/* „Как се подарява" става тъмносиня лента */
.ae-flow-dark { max-width: none; margin-left: -1.5rem; margin-right: -1.5rem;
  padding: 4rem 1.5rem 4.5rem; position: relative; overflow: hidden;
  background:
    radial-gradient(70% 90% at 85% 10%, rgba(78,150,200,.25), transparent 55%),
    linear-gradient(150deg, #16395f, var(--b900)); }
.ae-flow-dark::before { content: ""; position: absolute; left: 8%; top: -60px; width: 240px; height: 240px;
  border-radius: 50%; border: 1.5px dashed rgba(152,205,237,.35); animation: ae-spin 50s linear infinite; }
.ae-flow-dark h3 { color: #fff; font-size: 2rem; }
.ae-flow-dark .ae-flow-grid { max-width: 1100px; margin: 0 auto; position: relative; }
.ae-flow-dark .ae-flow-step { background: rgba(255,255,255,.07); border-color: rgba(152,205,237,.25);
  backdrop-filter: blur(4px); color: #eaf3fb; }
.ae-flow-dark .ae-flow-step:hover { background: rgba(255,255,255,.12); box-shadow: 0 16px 40px rgba(0,0,0,.35); }
.ae-flow-dark .ae-flow-step strong { color: #fff; }
.ae-flow-dark .ae-flow-step p { color: #c8dcee; }
.ae-flow-dark .ae-flow-n { background: var(--b300); color: var(--b900); }

/* финалният CTA също потъмнява */
.ae-cta-navy { position: relative; overflow: hidden; color: #fff;
  background:
    radial-gradient(60% 80% at 15% 85%, rgba(78,150,200,.3), transparent 60%),
    linear-gradient(135deg, var(--b900), #16395f); }
.ae-cta-navy h2, .ae-cta-navy p { color: #fff; position: relative; }
.ae-cta-navy p { color: #c8dcee; }
.ae-cta-navy .ae-btn { position: relative; background: #fff; color: var(--b900); }
.ae-cta-navy .ae-btn:hover { background: var(--b100, #dcecf7); }
.ae-cta-navy::before { content: ""; position: absolute; right: -70px; top: -70px; width: 260px; height: 260px;
  border-radius: 46% 54% 58% 42% / 52% 44% 56% 48%; background: rgba(152,205,237,.14); }

/* блясък, който минава през бутоните */
.ae-btn { position: relative; overflow: hidden; }
.ae-btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: -80%; width: 45%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.45), transparent);
  transform: skewX(-20deg); transition: left .6s ease; }
.ae-btn:hover::after { left: 130%; }

/* по-мек, по-бавен вход за по-театрално усещане */
.ae-js .ae-r { transition-duration: .95s; transition-timing-function: cubic-bezier(.22,1,.36,1); }

@media (max-width: 900px) {
  .ae-blob-navy { width: 420px; height: 420px; right: -160px; top: -120px; }
  .ae-chip-1 { right: 4%; top: 12%; } .ae-chip-2 { display: none; }
  .ae-dots-1 { display: none; }
  .ae-flow-dark { margin-left: -1.5rem; margin-right: -1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ae-blob, .ae-ring, .ae-chip, .ae-btn::after { animation: none !important; transition: none !important; }
}


/* ============ КИНО: сияние, частици, мъгла-към-острота ============ */

/* Полярното сияние: три меки цветни ленти, които се движат непрестанно */
.ae-aurora { position: absolute; inset: -20%;
  background:
    radial-gradient(42% 34% at 72% 24%, rgba(35,87,145,.34), transparent 70%),
    radial-gradient(38% 30% at 22% 68%, rgba(78,150,200,.28), transparent 70%),
    radial-gradient(30% 26% at 55% 85%, rgba(152,205,237,.30), transparent 70%);
  filter: blur(46px);
  animation: ae-aurora-move 22s ease-in-out infinite alternate;
}
@keyframes ae-aurora-move {
  0%   { transform: translate(0,0) rotate(0deg) scale(1); }
  50%  { transform: translate(4%, -3%) rotate(3deg) scale(1.06); }
  100% { transform: translate(-3%, 3%) rotate(-2deg) scale(1.02); }
}

/* два ореола, които пулсират бавно */
.ae-glow { position: absolute; border-radius: 50%; filter: blur(30px); }
.ae-glow-1 { width: 480px; height: 480px; right: -120px; top: -80px;
  background: radial-gradient(circle, rgba(35,87,145,.30), transparent 65%);
  animation: ae-glow-pulse 9s ease-in-out infinite; }
.ae-glow-2 { width: 320px; height: 320px; left: -100px; bottom: -60px;
  background: radial-gradient(circle, rgba(152,205,237,.38), transparent 65%);
  animation: ae-glow-pulse 12s ease-in-out 2s infinite; }
@keyframes ae-glow-pulse { 0%,100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.12); } }

/* издигащи се частици: светли прашинки, вечно движение */
.ae-parts { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.ae-parts i { position: absolute; bottom: -12px; border-radius: 50%;
  background: radial-gradient(circle, rgba(78,150,200,.85), rgba(78,150,200,0) 70%);
  animation: ae-rise linear infinite; }
.ae-parts i:nth-child(1)  { left: 6%;  width: 7px;  height: 7px;  animation-duration: 16s; }
.ae-parts i:nth-child(2)  { left: 14%; width: 4px;  height: 4px;  animation-duration: 21s; animation-delay: 3s; }
.ae-parts i:nth-child(3)  { left: 24%; width: 9px;  height: 9px;  animation-duration: 14s; animation-delay: 6s; }
.ae-parts i:nth-child(4)  { left: 33%; width: 5px;  height: 5px;  animation-duration: 24s; animation-delay: 1s; }
.ae-parts i:nth-child(5)  { left: 44%; width: 6px;  height: 6px;  animation-duration: 18s; animation-delay: 9s; }
.ae-parts i:nth-child(6)  { left: 55%; width: 4px;  height: 4px;  animation-duration: 26s; animation-delay: 4s; }
.ae-parts i:nth-child(7)  { left: 64%; width: 8px;  height: 8px;  animation-duration: 15s; animation-delay: 7s; }
.ae-parts i:nth-child(8)  { left: 73%; width: 5px;  height: 5px;  animation-duration: 22s; animation-delay: 2s; }
.ae-parts i:nth-child(9)  { left: 82%; width: 6px;  height: 6px;  animation-duration: 19s; animation-delay: 10s; }
.ae-parts i:nth-child(10) { left: 90%; width: 4px;  height: 4px;  animation-duration: 25s; animation-delay: 5s; }
.ae-parts i:nth-child(11) { left: 50%; width: 10px; height: 10px; animation-duration: 13s; animation-delay: 11s; }
.ae-parts i:nth-child(12) { left: 18%; width: 6px;  height: 6px;  animation-duration: 20s; animation-delay: 13s; }
@keyframes ae-rise {
  0%   { transform: translateY(0) translateX(0); opacity: 0; }
  8%   { opacity: .9; }
  85%  { opacity: .35; }
  100% { transform: translateY(calc(-108vh / var(--aez,1))) translateX(24px); opacity: 0; }
}
.ae-parts-dark i { background: radial-gradient(circle, rgba(234,243,251,.8), rgba(234,243,251,0) 70%); }

/* логото: огромно, влиза отляво през мъгла */
.ae-hero2-logo { height: clamp(220px, 32vw, 380px) !important; }
.ae-cine-logo { opacity: 0;
  animation: ae-cine-logo-in 1.6s cubic-bezier(.22,1,.36,1) .15s forwards; }
@keyframes ae-cine-logo-in {
  0%   { opacity: 0; transform: translateX(-90px) scale(1.06); filter: blur(14px); }
  60%  { opacity: 1; }
  100% { opacity: 1; transform: none; filter: blur(0); }
}

/* заглавието: дума по дума, от мъгла и дълбочина към острота */
.ae-cine-h1 { font-size: clamp(2.4rem, 4.6vw, 3.7rem); margin: 0 0 1.1rem; line-height: 1.1; text-wrap: balance; }
.ae-cine-h1 span { display: inline-block; opacity: 0;
  animation: ae-word-in 1.05s cubic-bezier(.22,1,.36,1) calc(.55s + var(--i) * .18s) forwards; }
@keyframes ae-word-in {
  0%   { opacity: 0; transform: translateY(42px) scale(1.06); filter: blur(10px); }
  100% { opacity: 1; transform: none; filter: blur(0); }
}
.ae-cine-h1::after { content: ""; display: block; width: 0; height: 5px; margin-top: 1.1rem;
  border-radius: 3px; background: linear-gradient(90deg, var(--b700), var(--b300));
  animation: ae-line-grow 1s cubic-bezier(.22,1,.36,1) 1.6s forwards; }
@keyframes ae-line-grow { to { width: 92px; } }

/* телефонът: издига се тежко, после диша */
.ae-hero2-media.ae-r { transition-duration: 1.3s; }
.ae-js .ae-hero2-media.ae-r.right { transform: translateX(70px) translateY(40px) scale(.94); filter: blur(6px); }
.ae-js .ae-hero2-media.ae-in { filter: blur(0); }

/* сиянието и частиците живеят и в раздела на Автодневника */
.ae-avto .ae-deco::after { content: ""; position: absolute; inset: -20%;
  background: radial-gradient(36% 30% at 30% 30%, rgba(78,150,200,.16), transparent 70%);
  filter: blur(40px); animation: ae-aurora-move 26s ease-in-out infinite alternate-reverse; }

/* броячите: пулс на цветната им лента, вечен */
.ae-demo-tile { position: relative; }
.ae-demo-tile.warn { animation: ae-warn-breathe 3.6s ease-in-out infinite; }
.ae-demo-tile.late { animation: ae-late-breathe 2.6s ease-in-out infinite; }
@keyframes ae-warn-breathe { 0%,100% { box-shadow: 0 8px 26px rgba(35,87,145,.10); } 50% { box-shadow: 0 8px 32px rgba(217,138,0,.30); } }
@keyframes ae-late-breathe { 0%,100% { box-shadow: 0 8px 26px rgba(35,87,145,.10); } 50% { box-shadow: 0 10px 36px rgba(214,69,69,.35); } }

/* по-дълги, по-меки пътища за всички входове */
.ae-js .ae-r { transition-duration: 1.15s; transform: translateY(64px); }
.ae-js .ae-r.left { transform: translateX(-80px); }
.ae-js .ae-r.right { transform: translateX(80px); }

@media (prefers-reduced-motion: reduce) {
  .ae-aurora, .ae-glow, .ae-parts i, .ae-cine-logo, .ae-cine-h1 span,
  .ae-demo-tile.warn, .ae-demo-tile.late { animation: none !important; opacity: 1 !important; filter: none !important; transform: none !important; }
}
@media (max-width: 900px) {
  .ae-hero2-logo { height: clamp(170px, 40vw, 260px) !important; }
  .ae-glow-1 { width: 300px; height: 300px; }
}


/* ============ ХЕРО v3: лого вляво, меню горе вдясно, тъмна форма ============ */

/* ПОПРАВКА: телефонът оставаше размазан. Правилото за влизане
   (.ae-r.right с blur) беше по-специфично от правилото за пристигане (.ae-in),
   затова мъглата никога не се вдигаше. Тук специфичността е изравнена. */
.ae-js .ae-hero2-media.ae-r.ae-in { filter: blur(0) !important; }

/* горната лента: тънка, без фон, само връзки и езици */
.ae-hero2-nav { position: relative; z-index: 2; display: flex; justify-content: flex-end;
  align-items: center; gap: 1.8rem; max-width: 1150px; margin: 0 auto 1rem; padding: .4rem 0; }
.ae-hero2-nav a { font-family: "Montserrat", sans-serif; font-weight: 600; font-size: .92rem;
  color: var(--g800); position: relative; }
.ae-hero2-nav a::after { content: ""; position: absolute; left: 0; bottom: -5px; height: 2px; width: 0;
  background: linear-gradient(90deg, var(--b700), var(--b300)); transition: width .3s ease; }
.ae-hero2-nav a:hover::after { width: 100%; }
.ae-hero2-lang { display: flex; align-items: center; gap: .4rem; font-size: .85rem;
  font-family: "Montserrat", sans-serif; }
.ae-hero2-lang b { color: var(--b900); }
.ae-hero2-lang i { color: var(--g600); font-style: normal; opacity: .5; }
.ae-hero2-lang a { color: var(--g600); opacity: .6; cursor: default; }
.ae-cine-nav { opacity: 0; animation: ae-nav-in 1s cubic-bezier(.22,1,.36,1) .9s forwards; }
@keyframes ae-nav-in { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: none; } }

/* логото: вляво, подравнено с текста, пак голямо */
.ae-hero2-text .ae-hero2-logo { display: block; margin: 0 0 2.2rem;
  height: clamp(150px, 19vw, 240px) !important; width: auto; }

/* ТЪМНАТА ФОРМА v2 (3 септември): по-ниска и завъртяна.
   Вече не покрива горния десен ъгъл (менюто стои на светло), а се подава
   диагонално от долния десен край като наклонена плоча, върху чийто горен
   ръб телефонът стъпва: половината телефон на светло, половината на тъмно.
   Продължава надолу и се слива с тъмната лента на доверието. */
.ae-slab { position: absolute; right: -8%; top: 30%; width: 40%; height: 95%;
  background:
    radial-gradient(60% 40% at 30% 20%, rgba(78,150,200,.30), transparent 65%),
    linear-gradient(160deg, #1d4a7a 0%, var(--b900) 55%, #0e2a45 100%);
  border-radius: 42% 18% 34% 14% / 20% 44% 16% 40%;
  transform: rotate(14deg);
  box-shadow: 0 40px 90px rgba(11,30,42,.35);
  animation: ae-slab-morph 18s ease-in-out infinite alternate;
}
/* тънко контурно ехо на плочата, изместено нагоре-вляво: елегантност без тежест */
.ae-slab::before { content: ""; position: absolute; inset: -26px 30px 30px -26px;
  border-radius: inherit; border: 1.5px solid rgba(35,87,145,.28); }
.ae-slab::after { content: ""; position: absolute; inset: 0; border-radius: inherit; overflow: hidden;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.09) 46%, transparent 60%);
  background-size: 240% 100%; animation: ae-slab-sheen 7s ease-in-out infinite; }
@keyframes ae-slab-morph {
  0%   { border-radius: 42% 18% 34% 14% / 20% 44% 16% 40%; transform: rotate(14deg) translateY(0); }
  50%  { border-radius: 30% 26% 24% 22% / 32% 28% 28% 32%; transform: rotate(12deg) translateY(-14px); }
  100% { border-radius: 22% 38% 16% 34% / 40% 18% 38% 22%; transform: rotate(15deg) translateY(8px); }
}
@keyframes ae-slab-sheen { 0%, 55% { background-position: 120% 0; } 100% { background-position: -60% 0; } }

/* телефонът стъпва на ръба на плочата: леко надясно и надолу, силна сянка */
.ae-hero2-media { position: relative; z-index: 2; }
.ae-phone { margin: 2.4rem 0 0 3.2rem;
  box-shadow: 0 40px 90px rgba(11,30,42,.45), 0 8px 22px rgba(0,0,0,.25); }
.ae-phone::before { background: radial-gradient(closest-side, rgba(152,205,237,.35), transparent 70%); }

/* дребните пръстени бягат от тъмната зона, за да не се губят */
.ae-ring-2 { right: auto; left: 40%; bottom: 8%; }

@media (max-width: 900px) {
  .ae-hero2-nav { justify-content: center; gap: 1.2rem; flex-wrap: wrap; }
  .ae-hero2-text .ae-hero2-logo { margin-left: auto; margin-right: auto;
    height: clamp(140px, 34vw, 200px) !important; }
  .ae-slab { right: -30%; top: 45%; width: 90%; height: 65%; }
  .ae-phone { margin: 1.2rem auto 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ae-slab, .ae-slab::after, .ae-cine-nav { animation: none !important; opacity: 1 !important; }
}

/* ---- ЧЗВ: акордеон от чисти details/summary ---- */
.ae-faq { max-width: 820px; margin: 0 auto; padding: 4.8rem 1.5rem 5.2rem; }
.ae-faq h2 { font-family: "Montserrat", sans-serif; font-weight: 700; text-align: center;
  color: var(--b900); font-size: clamp(1.5rem, 3vw, 2.1rem); margin: 0 0 2.2rem; }
.ae-faq-item { border: 1px solid rgba(35,87,145,.14); border-radius: 14px;
  background: #fff; margin-bottom: .8rem; overflow: hidden;
  transition: box-shadow .3s ease, border-color .3s ease; }
.ae-faq-item:hover { border-color: rgba(35,87,145,.32); box-shadow: 0 10px 30px rgba(35,87,145,.10); }
.ae-faq-item summary { list-style: none; cursor: pointer; display: flex; align-items: center;
  justify-content: space-between; gap: 1rem; padding: 1.05rem 1.3rem;
  font-family: "Montserrat", sans-serif; font-weight: 600; color: var(--b900); font-size: 1rem; }
.ae-faq-item summary::-webkit-details-marker { display: none; }
.ae-faq-item summary::after { content: "+"; flex: 0 0 auto; width: 26px; height: 26px;
  border-radius: 50%; display: grid; place-items: center; font-weight: 500; font-size: 1.15rem;
  color: var(--b700); background: rgba(35,87,145,.08); transition: transform .35s ease, background .3s ease; }
.ae-faq-item[open] summary::after { transform: rotate(45deg); background: rgba(35,87,145,.16); }
.ae-faq-item p { margin: 0; padding: 0 1.3rem 1.15rem; color: var(--g800); line-height: 1.65; }
.ae-faq-item[open] p { animation: ae-faq-open .35s ease; }
@keyframes ae-faq-open { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ============ ДОИЗПИПВАНЕ (3 септември): още частици, вечни движения, меню ============ */

/* още 8 частици (13–20 вече съществуваха само до 12) */
.ae-parts i:nth-child(13) { left: 9%;  width: 5px;  height: 5px;  animation-duration: 23s; animation-delay: 8s; }
.ae-parts i:nth-child(14) { left: 28%; width: 4px;  height: 4px;  animation-duration: 27s; animation-delay: 12s; }
.ae-parts i:nth-child(15) { left: 38%; width: 7px;  height: 7px;  animation-duration: 17s; animation-delay: 5s; }
.ae-parts i:nth-child(16) { left: 48%; width: 4px;  height: 4px;  animation-duration: 29s; animation-delay: 15s; }
.ae-parts i:nth-child(17) { left: 60%; width: 6px;  height: 6px;  animation-duration: 19s; animation-delay: 2s; }
.ae-parts i:nth-child(18) { left: 69%; width: 5px;  height: 5px;  animation-duration: 24s; animation-delay: 10s; }
.ae-parts i:nth-child(19) { left: 78%; width: 8px;  height: 8px;  animation-duration: 16s; animation-delay: 14s; }
.ae-parts i:nth-child(20) { left: 95%; width: 5px;  height: 5px;  animation-duration: 21s; animation-delay: 7s; }

/* мрежите от точки пълзят бавно по диагонал и дишат */
.ae-dots { animation: ae-dots-crawl 26s linear infinite, ae-dots-breathe 9s ease-in-out infinite; }
@keyframes ae-dots-crawl { to { background-position: 40px 40px; } }
@keyframes ae-dots-breathe { 0%,100% { opacity: .5; } 50% { opacity: .25; } }
.ae-dots-2 { animation-duration: 32s, 11s; animation-direction: reverse, normal; }
.ae-dots-3 { animation-duration: 30s, 13s; }

/* кръгът без движение получава дишане (другите вече се въртят) */
.ae-ring-2 { animation: ae-ring-breathe 7s ease-in-out infinite; }
@keyframes ae-ring-breathe { 0%,100% { transform: scale(1); opacity: .5; } 50% { transform: scale(1.18); opacity: .8; } }

/* „всички продукти ↓" се поклаща постоянно, надолу-нагоре */
.ae-hero2-more { display: inline-block; animation: ae-bob 2.8s ease-in-out infinite; }
@keyframes ae-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

/* менюто: по-надясно (без ограничение до колоната), НАД телефона,
   с голямо тъмно мега-подменю, закачено за ДЕСНИЯ край на лентата */
.ae-hero2-nav { max-width: none; margin: 0 0 1rem; padding: .6rem 2.6rem 0;
  position: static; z-index: auto; }
/* телефонът и текстът се заключват в слой (z:1); менюто е на z:70 отгоре */
.ae-hero2 > .ae-deco { z-index: 0; }
.ae-hero2-inner { position: relative; z-index: 1; }
/* static по цялата верига: менюто се закача за САМОТО ХЕРО и затова
   може да свършва точно над лентата с предимствата, без да се реже */
.ae-nav-drop { position: static; }
.ae-nav-drop-btn i { font-style: normal; font-size: .7em; opacity: .6; display: inline-block;
  transition: transform .3s ease; }
.ae-nav-drop:hover .ae-nav-drop-btn i,
.ae-nav-drop:focus-within .ae-nav-drop-btn i { transform: rotate(180deg); }
/* МЕГА МЕНЮТО (10 септември, v2): панел на ЦЯЛАТА ширина в тъмносиния
   градиент на марката. BYD-подобни плавни влизания елемент по елемент,
   продуктова решетка + ред с филтри по повод / за кого. */
.ae-mega { position: absolute; top: 112px; left: 0; right: 0; width: auto;
  padding: 2.1rem 2.6rem 1.7rem;
  background:
    radial-gradient(60% 45% at 12% 0%, rgba(78,150,200,.28), transparent 60%),
    linear-gradient(150deg, #1d4a7a 0%, #0f2f4e 55%, #0e2a45 100%);
  border-bottom: 1px solid rgba(152,205,237,.22);
  box-shadow: 0 44px 74px rgba(11,30,42,.35);
  border-radius: 0;
  opacity: 0; visibility: hidden; transform: translateY(-14px);
  transition: opacity .3s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility 0s .35s;
  /* z-index над всичко в херото: панелът не е дете на менюто,
     затова никой междинен слой не може да го потисне */
  z-index: 999; }
.ae-mega.is-open { opacity: 1; visibility: visible; transform: none;
  transition: opacity .3s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility 0s 0s; }
.ae-nav-drop:hover .ae-nav-drop-btn i { transform: rotate(180deg); }

.ae-mega-in { max-width: 1240px; margin: 0 auto; }
.ae-mega-kicker { margin: 0 0 1.4rem; font-family: "Montserrat", sans-serif; font-weight: 700;
  font-size: .72rem; letter-spacing: .16em; text-transform: uppercase;
  color: rgba(234,243,251,.55); }

.ae-mega-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem; }
.ae-mega-item { display: flex; flex-direction: column; align-items: center; gap: .3rem;
  text-align: center; padding: 1rem .6rem 1.1rem; border-radius: 16px;
  transition: background .3s ease, transform .3s ease; }
.ae-mega-item::after { display: none; }
.ae-mega-item:hover { background: rgba(255,255,255,.08); transform: translateY(-4px); }
.ae-item-visual { width: 76px; height: 76px; display: flex; align-items: center;
  justify-content: center; margin-bottom: .45rem; border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, rgba(152,205,237,.30), rgba(152,205,237,.08) 70%);
  transition: transform .35s ease; }
.ae-mega-item:hover .ae-item-visual { transform: scale(1.08); }
.ae-item-visual svg { width: 40px; height: 40px; color: #9ecbe8; }
.ae-item-visual img { max-height: 68px; max-width: 92%; object-fit: contain; }
.ae-mega-item strong { color: #fff; font-family: "Montserrat", sans-serif;
  font-weight: 600; font-size: .92rem; }
.ae-mega-item span { color: rgba(234,243,251,.62); font-size: .78rem; line-height: 1.45;
  font-family: "Manrope", "Montserrat", sans-serif; font-weight: 400; }
.ae-mega-item em { font-style: normal; font-size: .74rem; font-weight: 600; margin-top: .2rem;
  color: rgba(198,205,214,.85); letter-spacing: .04em; }
.ae-mega-item.is-live em { color: #9fdcb8; }
.ae-mega-item.is-live .ae-item-visual { background: radial-gradient(circle at 32% 28%, rgba(152,205,237,.5), rgba(152,205,237,.14) 70%); }
.ae-mega-item.is-live .ae-item-visual svg { color: #d6ebf9; }

/* влизане елемент по елемент, като на BYD */
.ae-mega .ae-mega-item, .ae-mega .ae-mm-frow, .ae-mega .ae-mega-all, .ae-mega .ae-mega-kicker {
  opacity: 0; transform: translateY(16px);
  transition: opacity .45s ease, transform .55s cubic-bezier(.22,1,.36,1); }
.ae-mega.is-open .ae-mega-item, .ae-mega.is-open .ae-mm-frow,
.ae-mega.is-open .ae-mega-all, .ae-mega.is-open .ae-mega-kicker { opacity: 1; transform: none; }
.ae-mega.is-open .ae-mega-kicker { transition-delay: .03s; }
.ae-mega.is-open .ae-mega-item:nth-child(1) { transition-delay: .06s; }
.ae-mega.is-open .ae-mega-item:nth-child(2) { transition-delay: .10s; }
.ae-mega.is-open .ae-mega-item:nth-child(3) { transition-delay: .14s; }
.ae-mega.is-open .ae-mega-item:nth-child(4) { transition-delay: .18s; }
.ae-mega.is-open .ae-mega-item:nth-child(5) { transition-delay: .22s; }
.ae-mega.is-open .ae-mega-item:nth-child(6) { transition-delay: .26s; }
.ae-mega.is-open .ae-mm-frow { transition-delay: .30s; }
.ae-mega.is-open .ae-mega-all { transition-delay: .34s; }

/* филтрите: един ред + „+ още", останалото се разгъва */
.ae-mm-more { display: none; flex-direction: column; gap: .55rem; margin-top: .55rem; }
.ae-mm-filters.is-x .ae-mm-more { display: flex; }
.ae-mm-moretgl { cursor: pointer; background: rgba(152,205,237,.16);
  border-color: rgba(152,205,237,.45) !important; color: #d6ebf9; }
.ae-mm-moretgl:hover { background: rgba(152,205,237,.28); }

/* снимка вместо икона в плочките на менюто */
.ae-item-visual img { border-radius: 14px; max-height: 72px; }

/* филтрите: повод / за кого */
.ae-mm-filters { margin-top: 1.6rem; padding-top: 1.3rem;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex; flex-direction: column; gap: .55rem; }
.ae-mm-frow { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.ae-mm-flabel { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: .72rem;
  letter-spacing: .1em; text-transform: uppercase; color: rgba(234,243,251,.5);
  flex: 0 0 74px; }
.ae-mm-chip { padding: .34rem .85rem; border-radius: 999px; font-size: .8rem;
  font-family: "Montserrat", sans-serif; font-weight: 500; color: #dfe9f3;
  border: 1px solid rgba(255,255,255,.22);
  transition: background .25s ease, border-color .25s ease; }
.ae-mm-chip:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.45); }

.ae-mega-all { display: inline-block; margin-top: 1.2rem;
  font-family: "Montserrat", sans-serif; font-weight: 600; font-size: .88rem;
  color: #9ecbe8; }
.ae-mega-all:hover { color: #fff; }

/* логото в лентата: горе вляво, менюто не го покрива (панелът тръгва от 112px) */
.ae-nav-logo { margin-right: auto; display: flex; align-items: center; }
.ae-nav-logo img { height: 48px; width: auto; }
.ae-nav-logo::after { display: none; }

/* СРЕБЪРНО-СИВОТО ОТ ЛОГОТО: влиза като акцент из целия дизайн */
:root { --silver: #a6adb8; --graphite: #4d5157; }
.ae-eyebrow { color: #8d95a1 !important; }               /* надредовете, като слогана под логото */
.ae-ring-1 { border-color: #b6bcc6; }                    /* големият пунктиран кръг в херото */
.ae-hero2-lang a { color: #5c636d; opacity: .9; }        /* неактивният език: четим */
.ae-hero2-lang i { color: #5c636d; opacity: .8; }        /* и наклонената черта */
.ae-trust-txt em { color: rgba(214,219,226,.75); }       /* подредовете в тъмната лента */
.ae-faq-item summary::after { color: var(--graphite); } /* плюсчетата на ЧЗВ */

@media (max-width: 900px) {
  .ae-hero2-nav { padding: .5rem 1rem 0; }
  .ae-mega { position: fixed; left: 3vw; right: 3vw; top: 64px; width: auto;
    grid-template-columns: 1fr; max-height: calc(76vh / var(--aez,1)); overflow: auto; }
  .ae-mega-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ae-dots, .ae-ring-2, .ae-hero2-more { animation: none !important; }
}

/* ---- АВТОДНЕВНИК разделът: цвят и постоянно движение (3 септември) ---- */

/* заглавието и имената на броячите: по-едри */
.ae-avto-head h2 { font-size: clamp(2.5rem, 5vw, 3.9rem); }
.ae-demo-name { font-size: 1.02rem; font-weight: 700; color: rgba(255,255,255,.92); }

/* броячите: плътни цветни плочки с градиент, бял текст */
.ae-demo-tile { border-top: 0; }
.ae-demo-tile.ok   { background: linear-gradient(160deg, #2bb373 0%, #158a52 100%); }
.ae-demo-tile.warn { background: linear-gradient(160deg, #f2a93b 0%, #d98a00 100%); }
.ae-demo-tile.late { background: linear-gradient(160deg, #e25f5f 0%, #c23a3a 100%); }
.ae-demo-tile.ok .ae-demo-days,
.ae-demo-tile.warn .ae-demo-days,
.ae-demo-tile.late .ae-demo-days { color: #fff; }
.ae-demo-lbl { color: rgba(255,255,255,.78); }
/* и трите дишат постоянно, всяка със своя цветен ореол */
.ae-demo-tile.ok { animation: ae-ok-breathe 4.6s ease-in-out infinite; }
@keyframes ae-ok-breathe   { 0%,100% { box-shadow: 0 8px 26px rgba(21,138,82,.25); } 50% { box-shadow: 0 12px 38px rgba(21,138,82,.45); } }
@keyframes ae-warn-breathe { 0%,100% { box-shadow: 0 8px 26px rgba(217,138,0,.25); } 50% { box-shadow: 0 12px 40px rgba(217,138,0,.5); } }
@keyframes ae-late-breathe { 0%,100% { box-shadow: 0 8px 26px rgba(194,58,58,.3); }  50% { box-shadow: 0 14px 44px rgba(194,58,58,.55); } }

/* мекото сияние и частиците от херото, пренесени в раздела */
.ae-avto { position: relative; overflow: hidden; }
.ae-avto-glow { position: absolute; width: 560px; height: 560px; border-radius: 50%;
  right: -160px; top: 14%; pointer-events: none;
  background: radial-gradient(circle, rgba(152,205,237,.4), transparent 68%);
  filter: blur(28px); animation: ae-avto-glow-pulse 9s ease-in-out infinite; }
@keyframes ae-avto-glow-pulse { 0%,100% { opacity: .5; transform: scale(1); } 50% { opacity: .95; transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) {
  .ae-demo-tile.ok, .ae-avto-glow { animation: none !important; }
}

/* ---- Продуктовият landing на Автодневника (single-avtodnevnik.php) ---- */
.ae-avto-heroprice { display: flex; align-items: baseline; gap: .9rem; margin: 0 0 1.6rem; }
.ae-avto-price-num { font-family: "EB Garamond", Georgia, serif; font-weight: 600;
  font-size: clamp(2rem, 3.6vw, 2.9rem); color: var(--b900); }
.ae-avto-price-num del { opacity: .45; font-size: .6em; margin-right: .35em; }
.ae-avto-price-note { font-family: "Montserrat", sans-serif; font-size: .85rem;
  color: var(--g600); letter-spacing: .02em; }

.ae-avto-meta { display: flex; gap: .6rem; flex-wrap: wrap; margin: -0.6rem 0 1.6rem; }
.ae-avto-chip { display: inline-flex; align-items: center; padding: .38rem .85rem;
  border-radius: 999px; font-family: "Montserrat", sans-serif; font-size: .78rem;
  font-weight: 600; letter-spacing: .02em; background: #fff;
  border: 1px solid rgba(35,87,145,.18); color: var(--b900); }
.ae-avto-chip.is-stock { background: rgba(31,157,100,.10); border-color: rgba(31,157,100,.3);
  color: #14724a; }
a.ae-avto-chip:hover { border-color: var(--b700); }

.ae-order { background: linear-gradient(180deg, #fff 0%, var(--bg-blue) 30%, var(--bg-blue) 100%);
  padding: 5rem 1.5rem 5.5rem; }
.ae-order-inner { max-width: 820px; margin: 0 auto; text-align: center; }
.ae-order-inner h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); margin: 0 0 .8rem; }
.ae-order-lead { color: var(--g600); margin: 0 auto 2.2rem; max-width: 560px; line-height: 1.7; }
.ae-order-card { background: #fff; border-radius: 24px; text-align: left;
  padding: 2rem clamp(1.2rem, 4vw, 2.6rem) 2.4rem;
  box-shadow: 0 30px 80px rgba(35,87,145,.16); border: 1px solid rgba(35,87,145,.10); }
.ae-order-price { display: flex; align-items: baseline; gap: .8rem; flex-wrap: wrap;
  padding-bottom: 1.2rem; margin-bottom: 1.4rem; border-bottom: 1px solid rgba(35,87,145,.12);
  font-family: "EB Garamond", Georgia, serif; font-size: 2rem; font-weight: 600; color: var(--b900); }
.ae-order-price span { font-family: "Montserrat", sans-serif; font-size: .85rem;
  font-weight: 500; color: var(--g600); }
.ae-order-card form.cart { margin: 0; }
.ae-order-card .quantity { display: none; } /* един дневник на ред: количеството е шум */
.ae-order-card .single_add_to_cart_button {
  display: block; width: 100%; margin-top: 1.4rem; padding: 1.05rem 2rem;
  background: linear-gradient(135deg, var(--b700), #1d4a7a); color: #fff;
  font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 1.05rem;
  border: 0; border-radius: 999px; cursor: pointer;
  box-shadow: 0 14px 34px rgba(35,87,145,.35);
  transition: transform .25s ease, box-shadow .25s ease; }
.ae-order-card .single_add_to_cart_button:hover { transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(35,87,145,.45); }
.ae-avto-landing .ae-personalize { border: 0; padding: 0; margin: 0; }
.ae-avto-landing .ae-personalize-title { font-family: "Montserrat", sans-serif;
  font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; color: var(--b900); }

/* ---- Landing v2 (10 септември): продаващо херо, галерия, сравнение, футър ---- */

/* трохите */
.ae-crumbs { display: flex; align-items: center; gap: .45rem; margin: 0 0 1.1rem;
  font-family: "Montserrat", sans-serif; font-size: .8rem; }
.ae-crumbs a { color: var(--g600); }
.ae-crumbs a:hover { color: var(--b700); }
.ae-crumbs i { color: var(--g600); opacity: .45; font-style: normal; }
.ae-crumbs span { color: var(--b900); font-weight: 600; }

/* куката и отметките в херото */
.ae-hero2-hook { font-family: "EB Garamond", Georgia, serif; font-style: italic;
  font-size: clamp(1.15rem, 2vw, 1.45rem); color: var(--b700); margin: -0.4rem 0 1rem; }
.ae-hero2-ticks { list-style: none; margin: 0 0 1.5rem; padding: 0;
  display: flex; flex-direction: column; gap: .45rem; }
.ae-hero2-ticks li { position: relative; padding-left: 1.7rem; color: var(--g800);
  font-size: .95rem; line-height: 1.5; }
.ae-hero2-ticks li::before { content: "✓"; position: absolute; left: 0; top: 0;
  width: 1.2rem; height: 1.2rem; border-radius: 50%; display: grid; place-items: center;
  font-size: .7rem; font-weight: 700; color: #14724a; background: rgba(31,157,100,.14); }

/* CTA-тата: да хващат окото */
.ae-btn-big { padding: 1.05rem 2.4rem !important; font-size: 1.05rem !important;
  animation: ae-btn-pulse 3.2s ease-in-out infinite; }
@keyframes ae-btn-pulse {
  0%, 100% { box-shadow: 0 14px 34px rgba(35,87,145,.30); }
  50% { box-shadow: 0 18px 46px rgba(35,87,145,.5), 0 0 0 8px rgba(35,87,145,.07); }
}
.ae-btn-demo { display: inline-flex; align-items: center; gap: .55rem;
  padding: .95rem 1.7rem; border-radius: 999px;
  font-family: "Montserrat", sans-serif; font-weight: 700; font-size: .95rem;
  color: var(--b900); background: #fff; border: 2px solid var(--b700);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.ae-btn-demo svg { width: 19px; height: 19px; }
.ae-btn-demo:hover { transform: translateY(-2px); background: #f2f8fd;
  box-shadow: 0 14px 34px rgba(35,87,145,.22); }

/* поръчката: галерия + форма */
.ae-order { position: relative; overflow: hidden; }
.ae-order-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 2rem; align-items: start; text-align: left; }
.ae-order-gallery { position: sticky; top: 1.5rem; }
.ae-og-main { width: 100%; border-radius: 20px; cursor: zoom-in; display: block;
  box-shadow: 0 24px 60px rgba(35,87,145,.20);
  transition: transform .3s ease, box-shadow .3s ease; }
.ae-og-main:hover { transform: scale(1.015); box-shadow: 0 30px 70px rgba(35,87,145,.28); }
.ae-og-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem;
  margin-top: .6rem; }
.ae-og-thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px;
  cursor: zoom-in; transition: transform .25s ease, box-shadow .25s ease; }
.ae-og-thumbs img:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(35,87,145,.25); }
.ae-og-ph { aspect-ratio: 4/3; border-radius: 20px; display: grid; place-items: center;
  text-align: center; color: var(--g600); background: #fff;
  border: 2px dashed rgba(35,87,145,.25); font-family: "Montserrat", sans-serif;
  font-size: .9rem; line-height: 1.6; }
.ae-og-hint { text-align: center; font-size: .8rem; color: var(--g600); margin: .7rem 0 0; }
@media (max-width: 900px) {
  .ae-order-grid { grid-template-columns: 1fr; }
  .ae-order-gallery { position: static; }
}

/* сравнението: хартиен срещу Автодневник */
.ae-vs { padding: 5rem 1.5rem; background: #fff; }
.ae-vs-inner { max-width: 940px; margin: 0 auto; text-align: center; }
.ae-vs-inner h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); margin: 0 0 2.2rem; }
.ae-vs-table { border-radius: 20px; overflow: hidden; text-align: left;
  border: 1px solid rgba(35,87,145,.12); box-shadow: 0 20px 60px rgba(35,87,145,.10); }
.ae-vs-row { display: grid; grid-template-columns: 1fr 1.2fr 1.4fr; gap: 1rem;
  padding: .95rem 1.4rem; align-items: center; background: #fff; }
.ae-vs-row:nth-child(even) { background: #f6fafd; }
.ae-vs-head { background: var(--b900) !important; color: #fff;
  font-family: "Montserrat", sans-serif; font-weight: 700; font-size: .85rem;
  text-transform: uppercase; letter-spacing: .06em; }
.ae-vs-head .is-us { color: #9fdcb8; }
.ae-vs-what { font-family: "Montserrat", sans-serif; font-weight: 600; color: var(--b900);
  font-size: .92rem; }
.ae-vs-them { color: #a05252; font-size: .9rem; }
.ae-vs-us { color: #14724a; font-size: .9rem; font-weight: 500; }
@media (max-width: 700px) {
  .ae-vs-row { grid-template-columns: 1fr; gap: .25rem; }
  .ae-vs-head { display: none; }
  .ae-vs-what { margin-bottom: .15rem; }
}

/* сигурността */
.ae-safe { padding: 5rem 1.5rem; background: linear-gradient(180deg, #fff 0%, var(--bg-blue) 100%); }
.ae-safe-inner { max-width: 1050px; margin: 0 auto; text-align: center; }
.ae-safe-inner h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); margin: 0 0 2.4rem; }
.ae-safe-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; text-align: left; }
.ae-safe-card { background: #fff; border-radius: 20px; padding: 1.8rem 1.6rem;
  border: 1px solid rgba(35,87,145,.10); box-shadow: 0 14px 40px rgba(35,87,145,.10);
  transition: transform .3s ease, box-shadow .3s ease; }
.ae-safe-card:hover { transform: translateY(-6px); box-shadow: 0 24px 56px rgba(35,87,145,.18); }
.ae-safe-card svg { width: 38px; height: 38px; color: var(--b700); margin-bottom: .9rem; }
.ae-safe-card strong { display: block; font-family: "Montserrat", sans-serif; font-weight: 600;
  color: var(--b900); margin-bottom: .5rem; font-size: 1.02rem; }
.ae-safe-card p { margin: 0; color: var(--g600); line-height: 1.65; font-size: .92rem; }
@media (max-width: 900px) { .ae-safe-grid { grid-template-columns: 1fr; } }

/* доверието: всеки ред си стои на един ред */
.ae-trust-txt strong, .ae-trust-txt em { white-space: nowrap; }

/* футърът на landing страниците */
.ae-lfoot { background: linear-gradient(160deg, #14385e 0%, var(--b900) 60%, #0e2a45 100%);
  padding: 4rem 1.5rem 2rem; color: rgba(234,243,251,.75); }
.ae-lfoot-in { max-width: 1100px; margin: 0 auto; text-align: center; }
.ae-lfoot-brand img { height: 130px; width: auto; filter: brightness(0) invert(1); opacity: .92; }
.ae-lfoot-brand p { max-width: 420px; margin: 1rem auto 2rem; line-height: 1.65; font-size: .92rem; }
.ae-lfoot-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem;
  margin-bottom: 2rem; }
.ae-lfoot-chip { padding: .45rem 1.05rem; border-radius: 999px; font-size: .84rem;
  font-family: "Montserrat", sans-serif; font-weight: 500; color: #dfe9f3;
  border: 1px solid rgba(255,255,255,.2);
  transition: background .25s ease, border-color .25s ease; }
.ae-lfoot-chip:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); }
.ae-lfoot-chip.is-all { background: rgba(152,205,237,.16); border-color: rgba(152,205,237,.4); }
.ae-lfoot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.6rem;
  padding: 1.4rem 0; border-top: 1px solid rgba(255,255,255,.12);
  font-family: "Montserrat", sans-serif; font-weight: 600; font-size: .88rem; }
.ae-lfoot-links a { color: #fff; }
.ae-lfoot-links a:hover { color: #9ecbe8; }
.ae-lfoot-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.4rem;
  padding: 1rem 0 1.6rem; border-top: 1px solid rgba(255,255,255,.08); font-size: .8rem; }
.ae-lfoot-legal a { color: rgba(234,243,251,.6); }
.ae-lfoot-legal a:hover { color: #fff; }
.ae-lfoot-bottom { font-size: .78rem; color: rgba(234,243,251,.45); }

/* ---- Landing v3 (10 септември): mac + телефон, бенто, чеклист, футър ---- */

/* пази от хоризонтален скрол, каквото и да стърчи */
body.ae-landing { overflow-x: clip; }

/* куката: по-голяма */
.ae-hero2-hook { font-size: clamp(1.45rem, 2.6vw, 2rem) !important; }

/* логото в лентата: истинско лого, не иконка */
.ae-nav-logo img { height: 72px !important; }
.ae-mega, #ae-mega { top: 136px !important; }

/* тъмният основен бутон: единият CTA е плътен и тъмен */
.ae-btn-big { background: linear-gradient(135deg, #1d4a7a, var(--b900)) !important;
  color: #fff !important; border: 0 !important; }
.ae-btn-big:hover { background: linear-gradient(135deg, #235791, #14385e) !important; }

/* Херото на landing-а: широка сцена, композицията НЕ пипа текста */
.ae-avto-landing .ae-hero2-inner { max-width: 1420px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 2.5rem; }

/* мини статистиките в херото */
.ae-hero-stats { display: flex; gap: 1.6rem; flex-wrap: wrap; margin: 0 0 1.4rem; }
.ae-hero-stats span { font-family: "Montserrat", sans-serif; font-size: .82rem;
  color: var(--g600); display: inline-flex; align-items: baseline; gap: .4rem; }
.ae-hero-stats b { font-family: "EB Garamond", Georgia, serif; font-weight: 600;
  font-size: 1.7rem; color: var(--b900); }

/* MacBook до телефона в херото: и двата живеят САМО в дясната колона */
.ae-hero2-media { position: relative; min-height: 460px; }
.ae-mac { position: absolute; left: -2%; top: 10%; width: 88%; max-width: 600px; z-index: 1; }
.ae-mac-screen { background: #10151b; border-radius: 16px 16px 0 0; padding: 14px 14px 16px;
  box-shadow: 0 34px 80px rgba(11,30,42,.35); }
.ae-mac-screen img { display: block; width: 100%; border-radius: 6px; }
.ae-mac-base { height: 15px; margin: 0 -4%; border-radius: 0 0 14px 14px;
  background: linear-gradient(180deg, #2c343d 0%, #10151b 90%);
  box-shadow: 0 18px 40px rgba(11,30,42,.3); }
.ae-mac-base::after { content: ""; display: block; width: 13%; height: 5px; margin: 0 auto;
  background: #0a0e12; border-radius: 0 0 8px 8px; }
@keyframes ae-floaty-slow { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
.ae-float-slow { animation: ae-floaty-slow 7.5s ease-in-out infinite; }
.ae-hero2-media .ae-phone { position: relative; z-index: 2; }
.ae-avto-landing .ae-hero2-media { justify-content: flex-end; padding-right: 1%; }
.ae-avto-landing .ae-phone { width: min(270px, 66vw); margin: 4.5rem 0 0 0; }
@media (max-width: 900px) {
  .ae-mac { display: none; }
  .ae-hero2-media { min-height: 0; }
  .ae-avto-landing .ae-hero2-media { justify-content: center; padding-right: 0; }
  .ae-avto-landing .ae-phone { margin: 0 auto; }
}

/* поръчката: широко бенто, без празни полета */
.ae-order-inner { max-width: 1220px !important; }
.ae-order-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 1.6rem; }
.ae-order-side { position: sticky; top: 1.2rem; }
.ae-order-mini { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-top: 1rem; }
.ae-omini { background: #fff; border-radius: 16px; padding: .95rem 1.05rem;
  border: 1px solid rgba(35,87,145,.10); box-shadow: 0 10px 26px rgba(35,87,145,.08);
  transition: transform .3s ease, box-shadow .3s ease; }
.ae-omini:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(35,87,145,.14); }
.ae-omini strong { display: block; font-family: "Montserrat", sans-serif; font-weight: 600;
  color: var(--b900); font-size: .88rem; margin-bottom: .25rem; }
.ae-omini span { color: var(--g600); font-size: .78rem; line-height: 1.5; }

/* всичко, което помни: три колони чеклист */
.ae-all { position: relative; overflow: hidden; padding: 5rem 1.5rem;
  background: linear-gradient(180deg, var(--bg-blue) 0%, #fff 100%); }
.ae-all-inner { max-width: 1100px; margin: 0 auto; text-align: center; position: relative; }
.ae-all-inner h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); margin: 0 0 2.4rem; }
.ae-all-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; text-align: left; }
.ae-all-col { background: #fff; border-radius: 20px; padding: 1.7rem 1.6rem;
  border: 1px solid rgba(35,87,145,.10); box-shadow: 0 14px 40px rgba(35,87,145,.10); }
.ae-all-col strong { display: block; font-family: "Montserrat", sans-serif; font-weight: 700;
  color: var(--b900); margin-bottom: .9rem; font-size: .8rem; letter-spacing: .1em;
  text-transform: uppercase; }
.ae-all-col ul { list-style: none; margin: 0; padding: 0; display: flex;
  flex-direction: column; gap: .5rem; }
.ae-all-col li { position: relative; padding-left: 1.6rem; color: var(--g800);
  font-size: .92rem; line-height: 1.5; }
.ae-all-col li::before { content: "✓"; position: absolute; left: 0; top: .05rem;
  width: 1.1rem; height: 1.1rem; border-radius: 50%; display: grid; place-items: center;
  font-size: .62rem; font-weight: 700; color: #14724a; background: rgba(31,157,100,.13); }
@media (max-width: 900px) { .ae-all-cols { grid-template-columns: 1fr; } }

/* плаващи елементи и в белите раздели */
.ae-vs, .ae-safe, .ae-faq { position: relative; overflow: hidden; }
.ae-vs .ae-deco, .ae-safe .ae-deco, .ae-faq .ae-deco, .ae-all .ae-deco {
  position: absolute; inset: 0; pointer-events: none; }
.ae-vs-inner, .ae-safe-inner, .ae-faq-list, .ae-faq h2 { position: relative; }

/* футърът: по-тъмен от CTA-то над него + светла лента с кредита */
.ae-lfoot { background: linear-gradient(160deg, #0c2138 0%, #081a2c 60%, #06141f 100%);
  padding-bottom: 0; border-top: 1px solid rgba(152,205,237,.14); }
.ae-lfoot-strip { background: #eef3f8; margin-top: 2.4rem; }
.ae-lfoot-strip-in { max-width: 1100px; margin: 0 auto; padding: .85rem 1.5rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  flex-wrap: wrap; font-size: .8rem; color: #5c636d; }
.ae-lfoot-credit { display: inline-flex; align-items: center; gap: .5rem;
  color: #5c636d; font-weight: 600; font-family: "Montserrat", sans-serif; font-size: .8rem; }
.ae-lfoot-credit:hover { color: var(--b700); }
.ae-lfoot-co { font-size: .72rem; color: #8a919b; letter-spacing: .01em; }
.ae-footer-bottom .ae-lfoot-co { color: #7d8389; }
@media (max-width: 640px) { .ae-lfoot-strip-in { justify-content: center; text-align: center; } }
.ae-lfoot-credit img { height: 26px; width: auto; }

/* „Към началото": появява се чак при дъното */
.ae-totop { position: fixed; right: 22px; bottom: 22px; z-index: 900;
  width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer;
  background: linear-gradient(135deg, var(--b700), #1d4a7a); color: #fff;
  display: grid; place-items: center; box-shadow: 0 14px 34px rgba(35,87,145,.4);
  opacity: 0; visibility: hidden; transform: translateY(16px);
  transition: opacity .35s ease, transform .35s ease, visibility .35s; }
.ae-totop svg { width: 22px; height: 22px; }
.ae-totop.is-on { opacity: 1; visibility: visible; transform: none; }
.ae-totop:hover { background: linear-gradient(135deg, #2b67a8, #235791); }

/* ---- Лайтбокс за снимките на опциите (метални карти, добавки) ---- */
.ae-lb { position: fixed; inset: 0; z-index: 99999; display: none;
  align-items: center; justify-content: center; gap: 14px;
  background: rgba(11, 22, 34, .9); }
.ae-lb.on { display: flex; }
.ae-lb img { max-width: calc(84vw / var(--aez,1)); max-height: calc(86vh / var(--aez,1)); border-radius: 14px;
  box-shadow: 0 30px 90px rgba(0,0,0,.5); animation: ae-lb-in .25s ease; }
@keyframes ae-lb-in { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
.ae-lb button { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25);
  color: #fff; width: 46px; height: 46px; border-radius: 50%; font-size: 1.5rem;
  cursor: pointer; display: grid; place-items: center; transition: background .25s ease; }
.ae-lb button:hover { background: rgba(255,255,255,.28); }
.ae-lb .ae-lb-x { position: absolute; top: 18px; right: 18px; }
@media (max-width: 700px) {
  .ae-lb .ae-lb-p, .ae-lb .ae-lb-n { position: absolute; bottom: 20px; }
  .ae-lb .ae-lb-p { left: 20px; } .ae-lb .ae-lb-n { right: 20px; }
  .ae-lb img { max-width: calc(94vw / var(--aez,1)); }
}

/* ПОСЛЕДНА ДУМА за позицията на мега менюто: по ID и с !important,
   за да не може нищо друго в каскадата да я пипне. Цялата ширина,
   под лентата, високо колкото съдържанието (BYD стил). */
#ae-mega { position: absolute !important; top: 112px !important;
  left: 0 !important; right: 0 !important; bottom: auto !important;
  max-height: calc(calc(100vh / var(--aez,1)) - 150px) !important; overflow: auto !important;
  border-radius: 0 !important; z-index: 999 !important; }
@media (max-width: 900px) {
  #ae-mega { position: fixed !important; top: 64px !important;
    left: 0 !important; right: 0 !important; }
  .ae-mega { padding: 1.4rem 1.2rem; }
  .ae-mega-grid { grid-template-columns: 1fr 1fr; }
}
