@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root {
  --ecs-bg: #1e2129;
  --ecs-main: #2c303b;
  --ecs-panel: rgba(44, 48, 59, .58);
  --ecs-panel-hover: rgba(44, 48, 59, .78);
  --ecs-border: rgba(255, 255, 255, .085);
  --ecs-accent: #b49073;
  --ecs-muted: #cbcdd2;
  --ecs-white: #fff;
  --ecs-radius-lg: 24px;
  --ecs-radius-md: 16px;
}
body { position: relative; overflow-x: hidden; color: var(--ecs-white); background: var(--ecs-bg); font-family: 'Plus Jakarta Sans', Arial, sans-serif; }
body, body#checkout { background-color: var(--ecs-bg); }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.ecs-page-glow { position: fixed; z-index: -1; width: 34rem; height: 34rem; border-radius: 50%; filter: blur(140px); opacity: .11; pointer-events: none; }
.ecs-page-glow--one { top: -10rem; left: -12rem; background: var(--ecs-accent); }
.ecs-page-glow--two { right: -12rem; top: 45rem; background: #fff; opacity: .07; }
#header { position: relative; z-index: 50; color: var(--ecs-white); background: rgba(30, 33, 41, .88); box-shadow: none; }
#header .header-nav { max-height: none; color: var(--ecs-muted); background: rgba(44, 48, 59, .62); border-bottom: 1px solid var(--ecs-border); }
#header .header-nav .blockcart, #header .header-nav .blockcart.active { color: var(--ecs-white); background: transparent; }
#header .header-top { padding-block: 1.1rem; background: rgba(30,33,41,.76); border-bottom: 1px solid var(--ecs-border); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
#header a, #header .header-nav a, #header .top-menu a[data-depth="0"], #header .material-icons { color: var(--ecs-white); }
#header a:hover, #header .top-menu a[data-depth="0"]:hover, #header .header-nav a:hover { color: var(--ecs-accent); }
#header .top-menu .sub-menu { background: rgba(44,48,59,.97); border: 1px solid var(--ecs-border); border-radius: 0 0 16px 16px; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
#header .top-menu a:not([data-depth="0"]), #header .top-menu a.dropdown-submenu { color: var(--ecs-muted); }
#header .top-menu a:not([data-depth="0"]):hover { color: var(--ecs-accent); }
#header .header-top .search-widgets form input[type="text"], #header #search_widget input { color: var(--ecs-white); background: rgba(255,255,255,.07); border: 1px solid var(--ecs-border); border-radius: 999px; }
#header .header-top .search-widgets form input[type="text"]:focus { color: var(--ecs-white); background: rgba(255,255,255,.11); outline: 2px solid rgba(180,144,115,.45); }
#wrapper { min-height: 45vh; padding-top: 1.5rem; color: var(--ecs-white); background: transparent; }
#wrapper .breadcrumb li a, #wrapper .breadcrumb li::after { color: var(--ecs-muted); }
#wrapper .breadcrumb li:last-child { color: var(--ecs-accent); }
.h1, .h2, .h3, .h4, h1, h2, h3, h4, label, .label, .product-information, .page-content.page-cms p, .page-content.page-cms ul { color: var(--ecs-white); }
p, .page-content.page-cms p, .page-content.page-cms ul, .product-information .product-description p, .product-information .product-description li { color: var(--ecs-muted); }
.btn-primary, .btn-secondary, .btn-tertiary { border-radius: 999px; box-shadow: 0 8px 24px rgba(180,144,115,.2); }
.btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active { color: #fff; background: var(--ecs-accent); border-color: var(--ecs-accent); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(180,144,115,.38); }
.btn-secondary { color: #fff; background: transparent; border: 1px solid var(--ecs-accent); }
.form-control, .custom-select, select.form-control { color: var(--ecs-white); background: rgba(44,48,59,.72); border: 1px solid var(--ecs-border); border-radius: 10px; }
.form-control:focus { color: var(--ecs-white); background: rgba(44,48,59,.9); border-color: var(--ecs-accent); outline: 2px solid rgba(180,144,115,.25); }
.form-control option { color: var(--ecs-white); background: var(--ecs-main); }
.card, .page-content, .page-customer-account #content, .page-addresses .address, .page-authentication #content, .block-categories, #search_filters, .contact-form, .tabs, .product-cover img, .product-images > li.thumb-container > .thumb, body#checkout section.checkout-step { color: var(--ecs-white); background: var(--ecs-panel); border: 1px solid var(--ecs-border); border-radius: var(--ecs-radius-md); box-shadow: 0 15px 40px rgba(0,0,0,.2); }
.tabs .nav-tabs { border-bottom-color: var(--ecs-border); }
.tabs .nav-tabs .nav-link { color: var(--ecs-muted); }
.tabs .nav-tabs .nav-link.active, .tabs .nav-tabs .nav-link:hover { color: var(--ecs-accent); border-bottom-color: var(--ecs-accent); }
.product-miniature .thumbnail-container { height: 100%; padding: 1rem; overflow: hidden; color: var(--ecs-white); background: var(--ecs-panel); border: 1px solid var(--ecs-border); border-radius: var(--ecs-radius-md); box-shadow: 0 12px 30px rgba(0,0,0,.18); transition: transform .25s, border-color .25s, box-shadow .25s; }
.product-miniature .thumbnail-container:hover { transform: translateY(-7px); border-color: rgba(180,144,115,.55); box-shadow: 0 18px 38px rgba(180,144,115,.19); }
.product-miniature .product-thumbnail img { border-radius: 10px; }
.product-miniature .product-description { position: relative; height: auto; background: transparent; }
.product-miniature .product-title a { color: var(--ecs-white); font-weight: 650; }
.product-miniature .product-price-and-shipping, .product-price { color: var(--ecs-accent); font-weight: 800; }
.product-flags li.product-flag { background: var(--ecs-accent); border-radius: 0 999px 999px 0; }
.highlighted-informations { background: rgba(30,33,41,.94) !important; }
.products-section-title, .featured-products .products-section-title, .product-accessories .products-section-title { color: var(--ecs-white); font-size: clamp(1.8rem, 3vw, 2.35rem); font-weight: 750; }
.products-section-title::after, .featured-products .products-section-title::after { content: ''; display: block; width: 58px; height: 3px; margin: .75rem auto 0; background: var(--ecs-accent); border-radius: 999px; }
.block-category { min-height: 0; color: var(--ecs-white); background: var(--ecs-panel); border: 1px solid var(--ecs-border); border-radius: var(--ecs-radius-md); }
.block-category .block-category-inner #category-description p { color: var(--ecs-muted); }
.pagination .page-list { background: transparent; box-shadow: none; }
.pagination a { color: var(--ecs-muted); }
.pagination .current a { color: var(--ecs-accent); }
.footer-container { margin-top: 4rem; padding-top: 4rem; color: var(--ecs-white); background: var(--ecs-main); border-top: 1px solid var(--ecs-border); box-shadow: none; }
.footer-container li a, .footer-container .block-contact, .footer-container .block-contact a, .footer-container .h3, .footer-container .h4, .footer-container .myaccount-title a, .footer-container .blockcms-title a { color: var(--ecs-white); }
.footer-container li a:hover, .footer-container a:hover { color: var(--ecs-accent); }
.block_newsletter { color: var(--ecs-white); background: transparent; border-bottom-color: var(--ecs-border); }
.block_newsletter p { color: var(--ecs-white); }
.block_newsletter form input[type="email"], .block_newsletter form input[type="text"] { color: #222; background: #fff; border-radius: 10px 0 0 10px; }
.block_newsletter form .btn-primary { border-radius: 0 10px 10px 0; }
.ecs-container { width: min(1200px, calc(100% - 3rem)); margin: 0 auto; }
.ecs-home { width: 100vw; margin-top: -1.5rem; margin-left: calc(50% - 50vw); }
.ecs-hero { position: relative; display: grid; min-height: 650px; align-items: center; overflow: hidden; background: linear-gradient(90deg, rgba(30,33,41,.96) 0%, rgba(30,33,41,.72) 55%, rgba(30,33,41,.5) 100%), var(--ecs-hero-image) center/cover no-repeat; border-bottom: 1px solid var(--ecs-border); }
.ecs-hero::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(180,144,115,.2), transparent 40%); pointer-events: none; }
.ecs-hero__content { position: relative; z-index: 2; padding-block: 7rem; }
.ecs-eyebrow { display: block; margin-bottom: 1rem; color: var(--ecs-accent); font-size: .8rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.ecs-hero h1 { max-width: 850px; margin: 0 0 1.3rem; color: #fff; font-size: clamp(2.7rem, 6vw, 5.2rem); font-weight: 800; letter-spacing: -.035em; line-height: .98; text-transform: uppercase; }
.ecs-hero p { max-width: 690px; margin: 0 0 2.5rem; color: var(--ecs-muted); font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.7; }
.ecs-button { display: inline-flex; align-items: center; justify-content: center; padding: 1rem 2.3rem; color: #fff !important; background: var(--ecs-accent); border-radius: 999px; box-shadow: 0 10px 30px rgba(180,144,115,.32); font-size: .85rem; font-weight: 800; letter-spacing: .08em; text-decoration: none !important; text-transform: uppercase; }
.ecs-button:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(180,144,115,.46); }
.ecs-features { padding: 4.5rem 0; }
.ecs-features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.ecs-feature-card { padding: 2.2rem; text-align: center; background: var(--ecs-panel); border: 1px solid var(--ecs-border); border-radius: var(--ecs-radius-md); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transition: transform .25s, border-color .25s; }
.ecs-feature-card:hover { transform: translateY(-5px); border-color: rgba(180,144,115,.5); }
.ecs-feature-card__icon { position: relative; width: 68px; height: 68px; margin: 0 auto 1.3rem; background: rgba(180,144,115,.12); border: 1px solid rgba(180,144,115,.28); border-radius: 50%; }
.ecs-feature-card__icon::before, .ecs-feature-card__icon::after { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.ecs-icon--coffee::before { width: 25px; height: 20px; border: 3px solid var(--ecs-accent); border-radius: 3px 3px 9px 9px; }
.ecs-icon--coffee::after { width: 9px; height: 11px; margin-left: 16px; border: 3px solid var(--ecs-accent); border-left: 0; border-radius: 0 8px 8px 0; }
.ecs-icon--service::before { width: 27px; height: 27px; border: 3px solid var(--ecs-accent); border-radius: 50%; box-shadow: inset 0 0 0 6px transparent; }
.ecs-icon--service::after { width: 6px; height: 31px; background: var(--ecs-accent); border-radius: 999px; transform: translate(-50%,-50%) rotate(45deg); }
.ecs-icon--delivery::before { width: 29px; height: 18px; border: 3px solid var(--ecs-accent); border-radius: 3px; }
.ecs-icon--delivery::after { width: 32px; height: 6px; border-bottom: 3px solid var(--ecs-accent); box-shadow: -9px 8px 0 -2px var(--ecs-accent), 9px 8px 0 -2px var(--ecs-accent); }
.ecs-feature-card h2 { margin: 0 0 .65rem; color: #fff; font-size: 1.05rem; letter-spacing: .05em; text-transform: uppercase; }
.ecs-feature-card p { margin: 0; color: var(--ecs-muted); font-size: .92rem; line-height: 1.65; }
@media (max-width: 991px) { .ecs-features__grid { grid-template-columns: 1fr; } #header .header-top { backdrop-filter: none; } }
@media (max-width: 767px) { .ecs-container { width: min(100% - 1.25rem, 1200px); } .ecs-hero { min-height: 540px; } .ecs-hero__content { padding-block: 5rem; } #mobile_top_menu_wrapper { color: var(--ecs-white); background: var(--ecs-main); } #mobile_top_menu_wrapper .top-menu .sub-menu { background: var(--ecs-main); } .footer-container { padding-inline: .75rem; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
