@import url("/assets/product-pricing.css?v=1");
/* Shared layout for public pages. */
main.public-with-sidebars { max-width:none; width:100%; }
.public-layout { --side-width:clamp(244px,16vw,340px); display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(14px,1.25vw,28px); width:100%; max-width:none; margin:24px auto 56px; padding:0 clamp(12px,1.25vw,32px); align-items:start; color:#e7e5e4; text-align:left; }
.public-layout.with-products { grid-template-columns:var(--side-width) minmax(0,1fr); }
.public-layout.with-news { grid-template-columns:minmax(0,1fr) var(--side-width); }
.public-layout.with-products.with-news { grid-template-columns:var(--side-width) minmax(0,1fr) var(--side-width); }
.public-content { min-width:0; width:100%; overflow-wrap:anywhere; }
.public-content > .info-section,.public-content > .content-container { min-width:0; width:100%; max-width:none; margin:0; padding:30px; border-radius:14px; }
.public-layout .homepage-products,.public-layout .public-news { min-width:0; margin:0; padding:18px; border:1px solid rgba(251,191,36,.22); border-radius:14px; background:rgba(30,28,26,.96); box-shadow:0 8px 24px rgba(0,0,0,.2); color:#e7e5e4; font-family:'Roboto','Segoe UI',sans-serif; line-height:1.5; }
.public-layout .homepage-products > h2,.public-layout .public-news > h2 { margin:0 0 18px; padding:0 0 12px; border:0; border-bottom:1px solid rgba(251,191,36,.16); font-size:17px; font-weight:600; line-height:1.4; letter-spacing:0; color:#fbbf24; text-align:left; }
.public-layout .latest-products-list { display:grid; gap:12px; }
.public-layout .latest-product-card { display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:12px; padding:10px; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:rgba(255,255,255,.025); color:#f1f5f9; text-decoration:none; transition:border-color .2s,background .2s; }
.public-layout .latest-product-card:hover { border-color:rgba(251,191,36,.6); background:rgba(251,191,36,.05); }
.public-layout .latest-product-card:focus-visible,.public-news-details summary:focus-visible { outline:2px solid #fbbf24; outline-offset:3px; }
.public-layout .latest-product-card img,.public-layout .latest-product-placeholder { display:block; width:72px; height:82px; margin:0; padding:4px; border:0; border-radius:6px; object-fit:contain; background:#fff; }
.public-layout .latest-product-placeholder { display:flex; align-items:center; justify-content:center; background:#382e25; color:#a8a29e; font-size:26px; }
.public-layout .latest-product-details { min-width:0; padding:0; }
.public-layout .latest-product-type { display:block; color:#a8a29e; font-size:11px; line-height:1.4; }
.public-layout .latest-product-card h3 { margin:5px 0 7px; padding:0; border:0; color:#f5f5f4; font-size:13px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.public-layout .latest-product-price { color:#fbbf24; font-size:16px; font-weight:600; }
.public-layout .public-news-item + .public-news-item { margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.09); }
.public-layout .public-news-item time { display:block; color:#a8a29e; font-size:11px; }
.public-layout .public-news-item h3 { margin:7px 0 10px; padding:0; border:0; color:#f3e4c4; font-size:15px; line-height:1.45; font-weight:600; overflow-wrap:anywhere; }
.public-news-text,.public-news-excerpt { color:#d6d3d1; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.public-news-details summary { list-style:none; cursor:pointer; }
.public-news-details summary::-webkit-details-marker { display:none; }
.public-news-excerpt { display:block; }
.public-news-more,.public-news-less { display:block; margin-top:12px; color:#fbbf24; font-size:12px; font-weight:600; }
.public-news-less { display:none; }
.public-news-details[open] .public-news-excerpt,.public-news-details[open] .public-news-more { display:none; }
.public-news-details[open] .public-news-less { display:block; margin:0 0 12px; }
@media(min-width:1101px) and (max-width:1350px) {
 .public-layout { --side-width:224px; gap:18px; padding:0 18px; }
 .public-layout .homepage-products,.public-layout .public-news { padding:14px; }
 .public-layout .latest-product-card { grid-template-columns:58px minmax(0,1fr); gap:9px; padding:8px; }
 .public-layout .latest-product-card img,.public-layout .latest-product-placeholder { width:58px; height:72px; }
 .public-content > .info-section,.public-content > .content-container { padding:24px; }
}
@media(max-width:1100px) {
 .public-layout,.public-layout.with-products,.public-layout.with-news,.public-layout.with-products.with-news { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .public-content { grid-column:1/-1; grid-row:1; }
 .public-layout .homepage-products { grid-column:1; grid-row:2; }
 .public-layout .public-news { grid-column:2; grid-row:2; }
 .public-layout .latest-products-list { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:640px) {
 .public-layout,.public-layout.with-products,.public-layout.with-news,.public-layout.with-products.with-news { display:flex; flex-direction:column; gap:18px; padding:0 14px; margin:18px auto 36px; }
 .public-content { order:0; }
 .public-layout .homepage-products { order:1; width:100%; }
 .public-layout .public-news { order:2; width:100%; }
 .public-content > .info-section,.public-content > .content-container { padding:20px; }
 .public-layout .latest-products-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .public-layout .latest-product-card { grid-template-columns:minmax(0,1fr); }
 .public-layout .latest-product-card img,.public-layout .latest-product-placeholder { width:100%; height:110px; }
}
/* Keep existing form and catalog layouts within the shared center column. */
.public-content > .main-wrapper { margin:0; padding:0; max-width:none; }
main.public-register { margin-top:120px; }
.public-content > .login-card,.public-content > .modal-box,.public-content > .checkout-box,.public-content > .box { width:100%; margin:0 auto; box-sizing:border-box; }
.public-content .register-container,.public-content .policy-container { min-width:0; }
.public-content .filter-grid { grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); }
.public-content .grid { grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr)); }
.public-content .table-responsive { max-width:100%; overflow-x:auto; }
@media(max-width:640px) { .public-content .filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Keep type readable on high resolution screens without enlarging whole cards. */
.public-layout,.public-layout * { box-sizing:border-box; }
.public-content > .info-section,.public-content > .content-container { padding:clamp(20px,1.6vw,40px); }
.public-content :is(p,li) { font-size:clamp(15px,.85vw,18px); }
.public-content :is(p,ul,ol) { max-inline-size:110ch; }
.public-content :is(h1,h2,h3) { overflow-wrap:anywhere; }
.public-content h1 { font-size:clamp(23px,1.5vw,32px); }
.public-content img,.public-content video,.public-content iframe { max-width:100%; }
.public-content input,.public-content select,.public-content textarea { min-width:0; max-width:100%; }
.public-layout .public-news-excerpt,.public-layout .public-news-text { font-size:clamp(13px,.8vw,16px); }
.public-layout .latest-product-type { font-size:clamp(11px,.7vw,13px); }
.public-layout .latest-product-card h3 { font-size:clamp(13px,.8vw,16px); }
.public-layout .latest-product-price { font-size:clamp(16px,1vw,20px); }
.public-layout .public-news-item h3 { font-size:clamp(15px,.9vw,18px); }
/* Compact homepage navigation, with bounded card and icon sizes. */
.nav-buttons-container { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:100%; max-width:1120px; padding:18px 24px; margin:0 auto; gap:10px; }
.nav-buttons-container .service-btn { width:100%; max-width:none; height:auto; min-height:68px; padding:12px; display:flex; flex-direction:row; gap:10px; border-radius:10px; box-shadow:0 5px 14px rgba(0,0,0,.25); }
.nav-buttons-container .service-btn i { flex:none; margin:0; font-size:26px; }
.nav-buttons-container .service-btn span { font-size:11px; letter-spacing:.3px; text-align:left; line-height:1.4; }
.nav-buttons-container .service-btn:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.3); }
.nav-buttons-container .service-btn:focus-visible { outline:2px solid #fbbf24; outline-offset:3px; }
@media(max-width:1100px) {
 .public-layout.with-products:not(.with-news) .homepage-products,.public-layout.with-news:not(.with-products) .public-news { grid-column:1/-1; }
}
@media(max-width:800px) {
 .nav-buttons-container { grid-template-columns:repeat(3,minmax(0,1fr)); padding:16px 14px; }
}
@media(max-width:520px) {
 .nav-buttons-container { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .nav-buttons-container .service-btn { min-height:60px; padding:10px; gap:8px; }
 .nav-buttons-container .service-btn:last-child { grid-column:1/-1; }
 .nav-buttons-container .service-btn i { font-size:23px; }
 .public-layout .latest-product-card h3 { font-size:13px; }
}
@media(max-width:360px) {
 .public-layout .latest-products-list { grid-template-columns:minmax(0,1fr); }
 .public-layout .latest-product-card { grid-template-columns:64px minmax(0,1fr); }
 .public-layout .latest-product-card img,.public-layout .latest-product-placeholder { width:64px; height:76px; }
 .public-content .filter-grid { grid-template-columns:minmax(0,1fr); }
}
/* Warm light palette, preserving the existing hero artwork and amber accents. */
html,body { background-color:#f2efe8; color:#302c25; background-image:radial-gradient(ellipse at 35% 0,rgba(231,188,103,.16),transparent 65%),linear-gradient(90deg,rgba(137,112,69,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(137,112,69,.035) 1px,transparent 1px); background-size:100% 100%,36px 36px,36px 36px; }
.public-layout { color:#302c25; }
.public-content > :is(.info-section,.content-container,.container,.box,.login-card,.modal-box,.checkout-box),.public-content :is(.register-container,.policy-container) { background:#fffdf9; color:#302c25; border-color:#dfd6c7; box-shadow:0 5px 20px rgba(83,62,28,.07); backdrop-filter:none; }
.public-content :is(p,li,label),.public-content .help { color:#514b41; }
.public-content :is(h1,h2,h3),.public-content .filter-title { color:#875309; border-color:#e8dcc4; }
.public-content :is(.filter-box,.card,.center-card,.info-card,.cta-box,.requisites-box,.registration-offer,.guest-choice) { background:#f7f3eb; border-color:#e3d9c9; color:#3c352b; box-shadow:none; }
.public-content .card:hover { background:#fffbf2; border-color:#be8b35; }
.public-content .card .no-image { background:#ede7dd; color:#746b5c; }
.public-content .price { color:#805006; }
.public-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { background:#fff; border-color:#cfc4b2; color:#302c25; }
.public-content table th { background:#eee6d8; color:#493b26; border-color:#ded4c4; }
.public-content table td { color:#423b30; border-color:#e3dace; }
.public-content table tbody tr { background:#fffdf9; }
.public-content table tbody tr:nth-child(even) { background:#f8f4ed; }
.public-layout .homepage-products,.public-layout .public-news { background:#fcfaf6; color:#302c25; border-color:#dfd6c7; box-shadow:0 5px 20px rgba(83,62,28,.06); }
.public-layout .homepage-products > h2,.public-layout .public-news > h2 { color:#875309; border-color:#e8dcc4; }
.public-layout .latest-product-card { background:#fff; border-color:#e5ddd0; color:#302c25; }
.public-layout .latest-product-card:hover { background:#fffaf0; border-color:#bf8e38; }
.public-layout .latest-product-card h3 { color:#3b3429; }
.public-layout .latest-product-type,.public-layout .public-news-item time { color:#746a5b; }
.public-layout .latest-product-price { color:#8a5507; }
.public-layout .public-news-item h3 { color:#493b26; }
.public-layout .public-news-item + .public-news-item { border-color:#e5ddd0; }
.public-layout :is(.public-news-text,.public-news-excerpt) { color:#514b41; }
.public-layout :is(.public-news-more,.public-news-less) { color:#875309; }
.nav-buttons-container .service-btn { background:#fffcf6; border-color:#d9c9aa; color:#3d3427; box-shadow:0 3px 10px rgba(83,62,28,.08); backdrop-filter:none; }
.nav-buttons-container .service-btn:hover { background:#fff7e6; border-color:#b77b21; box-shadow:0 5px 14px rgba(83,62,28,.12); }
.nav-buttons-container .service-btn i { color:#a26a15; filter:none; }
.nav-buttons-container .service-btn span { color:#493b26; }
body :is(.sub-nav,.sub-nav-bar) { background:#faf6ee; border-color:#ded1ba; backdrop-filter:none; }
body .sub-nav-container a { color:#514636; }
body .sub-nav-container a:hover,body .sub-nav-container a.active { color:#945700; }
.modal-overlay .modal-box,body .popup-box,body .booking-modal-content,body #twoFactorModal .two-factor-box { background:#fffdf9; color:#302c25; border-color:#d9c5a0; box-shadow:0 20px 60px rgba(49,36,16,.25); }
.modal-overlay .modal-box :is(h2,h3,label,p),body .popup-box :is(h2,h3,p),body #twoFactorModal .help { color:#51412a; }
.modal-overlay .modal-box :is(input:not([type=hidden]),select,textarea),body #twoFactorModal #totp_code { background:#fff; border-color:#cfc4b2; color:#302c25; }
body #twoFactorModal :is(.notice,.secret) { background:#f5eddf; border-color:#e0cda9; color:#70501b; }
/* Visual hierarchy and restrained interactive detail. */
html,body { background-image:radial-gradient(ellipse at 5% 25%,rgba(215,159,54,.12),transparent 45%),radial-gradient(ellipse at 95% 65%,rgba(185,149,84,.1),transparent 50%); background-size:100% 100%; }
.public-content > :is(.info-section,.content-container) { background:linear-gradient(145deg,#fffefd,#fffaf1); border-color:#e2d8c7; box-shadow:0 10px 35px rgba(80,59,24,.07),0 1px 3px rgba(80,59,24,.04); }
.public-content h1 { letter-spacing:-.025em; line-height:1.25; font-weight:700; }
.public-content h2 { letter-spacing:-.015em; line-height:1.35; }
.public-content :is(.info-section,.content-container) > h2 { padding-left:14px; border-left:3px solid #d39b35; }
.public-layout .homepage-products,.public-layout .public-news { background:linear-gradient(145deg,#fffcf7,#f8f2e7); box-shadow:0 7px 24px rgba(80,59,24,.06); }
.public-layout .homepage-products > h2,.public-layout .public-news > h2 { display:flex; align-items:center; gap:9px; }
.public-layout .homepage-products > h2::before,.public-layout .public-news > h2::before { content:''; display:block; width:7px; height:7px; flex:none; border-radius:50%; background:#c58922; box-shadow:0 0 0 4px rgba(197,137,34,.11); }
.nav-buttons-container .service-btn { position:relative; overflow:hidden; background:linear-gradient(150deg,#fffefb,#f6eddd); border-color:#e0d0b4; transition:transform .2s,box-shadow .2s,border-color .2s; }
.nav-buttons-container .service-btn::after { left:0; bottom:0; width:100%; height:3px; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#ac6f16,#e5b65b); box-shadow:none; transition:transform .25s; }
.nav-buttons-container .service-btn:is(:hover,:focus-visible)::after { width:100%; transform:scaleX(1); }
.nav-buttons-container .service-btn i { width:36px; height:36px; display:flex; align-items:center; justify-content:center; flex:none; border-radius:10px; background:rgba(190,131,27,.09); font-size:22px; transition:transform .22s,background .22s; }
.nav-buttons-container .service-btn:hover i { transform:rotate(-6deg); background:rgba(190,131,27,.15); }
.public-layout .latest-product-card { transition:transform .2s,box-shadow .2s,border-color .2s,background .2s; }
.public-layout .latest-product-card img { transition:transform .25s; }
.public-layout .latest-product-card:hover { transform:translateY(-2px); box-shadow:0 7px 16px rgba(93,64,19,.09); }
.public-layout .latest-product-card:hover img { transform:scale(1.035); }
.public-layout .latest-product-price { display:inline-block; padding:3px 7px; margin-left:-7px; border-radius:5px; background:#f7eedb; }
.public-news-more { transition:color .2s; }
.public-news-more span { display:inline-block; transition:transform .2s; }
.public-news-details summary:hover .public-news-more span { transform:translate(2px,-2px); }
.public-content :is(.btn-open-booking,.btn-submit,.btn-action,.btn-buy-modal) { transition:transform .2s,box-shadow .2s,background .2s; }
.public-content :is(.btn-open-booking,.btn-submit,.btn-action,.btn-buy-modal):hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(157,95,10,.18); }
.public-back-top { position:fixed; bottom:24px; right:24px; z-index:80; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #d2bc94; border-radius:12px; background:#fffaf0; color:#88530c; box-shadow:0 5px 16px rgba(64,43,13,.13); cursor:pointer; font-size:24px; }
.public-back-top[hidden] { display:none; }
.public-back-top:hover { background:#f8e9ca; }
.public-back-top:focus-visible { outline:2px solid #9a6416; outline-offset:3px; }
@media(min-width:1101px) { .public-layout .is-sticky { position:sticky; top:24px; } }
@media(prefers-reduced-motion:reduce) {
 .public-layout *,.nav-buttons-container * { animation:none !important; transition:none !important; }
 .public-layout .latest-product-card:hover,.public-layout .latest-product-card:hover img,.nav-buttons-container .service-btn:hover,.nav-buttons-container .service-btn:hover i,.public-content button:hover { transform:none; }
}
/* Soft overlapping color fields, without contour lines or band edges. */
html { background:#f3ecdf; }
body { background-color:#f3ecdf; background-image:url('/assets/warm-flow-background.svg?v=2'); background-size:cover; background-position:center top; background-repeat:no-repeat; background-attachment:fixed; }
.public-content > :is(.info-section,.content-container) { background:linear-gradient(145deg,rgba(255,254,251,.98),rgba(255,250,240,.97)); }
@media(max-width:768px) { body { background-attachment:scroll; background-size:auto 1400px; } }

/* Preserve the light surface and dark text in every interactive card state. */
.public-content :is(.info-card,.center-card,.card):is(:hover,:focus-visible,:focus-within) { background:#fff7e6; color:#3c352b; border-color:#bf8e38; }
.public-content :is(.info-card,.center-card,.card):is(:hover,:focus-visible,:focus-within) :is(p,li) { color:#514b41; }
.public-content :is(.info-card,.center-card,.card):is(:hover,:focus-visible,:focus-within) :is(h2,h3) { color:#875309; }
.public-news-item { display:flow-root; }
.public-news-image { margin:12px 0; }
.public-news-image img { display:block; width:100%; height:auto; border-radius:8px; }
.public-news-image.image-top,.public-news-image.image-bottom { clear:both; }
.public-news-image.image-left { float:left; width:44%; margin:4px 12px 10px 0; }
.public-news-image.image-right { float:right; width:44%; margin:4px 0 10px 12px; }
.public-news-link { display:block; clear:both; width:fit-content; max-width:100%; margin-top:14px; padding:8px 12px; border:1px solid #c9a568; border-radius:6px; background:#f8eedb; color:#79500e; text-decoration:none; font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.public-news-link:hover { background:#f2dfb9; color:#573807; }
.public-news-link:focus-visible { outline:2px solid #9a6416; outline-offset:3px; }
.public-news-video { clear:both; margin-top:16px; aspect-ratio:16/9; }
.public-news-video iframe { display:block; width:100%; height:100%; border:0; border-radius:8px; background:#151515; }
.public-layout .public-news-item :is(.public-news-text,.public-news-excerpt) { color:var(--news-color,#514b41); font-family:var(--news-font,Arial,sans-serif); font-size:var(--news-size,14px); font-weight:var(--news-weight,400); font-style:var(--news-style,normal); }
.public-layout .public-news-item :is(.public-news-text,.public-news-excerpt) * { font-family:inherit; }
.public-layout .public-news-item h3 { color:var(--news-color,#493b26); font-family:var(--news-font,Arial,sans-serif); font-style:var(--news-style,normal); }
