/* Integration layer: the 2026 visual system over the existing dynamic PHP shop. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body.theme-2026 { min-width: 320px; overflow-x: hidden; }
.theme-2026 .container { width: 100%; max-width: 1180px; }
.site-main { min-height: 55vh; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 9999; transform: translateY(-150%); background: #fff; color: #1d1d1f; padding: .7rem 1rem; border-radius: 999px; box-shadow: 0 6px 24px rgba(0,0,0,.16); }
.skip-link:focus { transform: none; }

/* Header */
.site-header { position: sticky; top: 0; }
.site-header .header-inner { height: 64px; gap: 1rem; max-width: 1180px; }
.site-header .site-logo { flex: 0 0 auto; }
.site-header .header-logo { width: auto; height: 46px; object-fit: contain; }
.site-header .header-nav { gap: clamp(.8rem, 1.6vw, 1.6rem); }
.site-header .header-nav a, .site-header .nav-catalog { white-space: nowrap; }
.site-header .nav-catalog { display: inline-flex; align-items: center; gap: .3rem; border: 0; }
.site-header .header-icons { flex: 0 0 auto; }
.site-header .language-switcher { position: relative; }
.site-header .language-switcher > button { min-width: 38px; font-size: 11px; font-weight: 700; }
.site-header .language-menu { position: absolute; top: calc(100% + 8px); left: 50%; z-index: 60; display: none; min-width: 64px; transform: translateX(-50%); padding: .35rem; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; background: rgba(255,255,255,.97); box-shadow: 0 12px 36px rgba(0,0,0,.12); }
.site-header .language-switcher.open .language-menu { display: grid; }
.site-header .language-menu a { padding: .45rem .6rem; border-radius: 8px; text-align: center; font-size: .75rem; }
.site-header .language-menu a:hover { background: var(--secondary); }
.site-header .account-menu { position: relative; }
.site-header .account-menu > a { display: block; }
.site-header .account-dropdown { position: absolute; top: calc(100% + 8px); right: -42px; z-index: 65; display: none; width: 190px; padding: .55rem; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; background: rgba(255,255,255,.98); box-shadow: 0 16px 42px rgba(0,0,0,.13); }
.site-header .account-menu:hover .account-dropdown, .site-header .account-menu:focus-within .account-dropdown { display: grid; }
.site-header .account-dropdown strong { overflow: hidden; padding: .55rem .65rem; color: var(--fg); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.site-header .account-dropdown a { padding: .55rem .65rem; border-radius: 8px; color: var(--muted-fg); font-size: .78rem; opacity: 1; }
.site-header .account-dropdown a:hover { background: var(--secondary); color: var(--fg); }
.site-search, .catalog-panel { position: absolute; top: 100%; right: 0; left: 0; border-top: 1px solid rgba(0,0,0,.06); border-bottom: 1px solid rgba(0,0,0,.08); background: rgba(251,251,253,.98); box-shadow: 0 18px 45px rgba(0,0,0,.08); backdrop-filter: blur(20px); }
.site-search .container { padding-top: 1rem; padding-bottom: 1rem; }
.site-search form { display: flex; max-width: 760px; margin: auto; overflow: hidden; border: 1px solid var(--border); border-radius: 999px; background: #fff; }
.site-search input { flex: 1; min-width: 0; padding: .8rem 1.2rem; border: 0; outline: 0; background: transparent; font-size: .95rem; }
.site-search button { padding: .7rem 1.4rem; background: var(--primary); color: #fff; font-weight: 600; }
.site-search .cs_header_search_result { position: relative; top: .5rem; max-width: 760px; margin: auto; background: #fff; }
.catalog-panel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .45rem 1rem; padding-top: 1.25rem; padding-bottom: 1.25rem; }
.catalog-panel-grid a { padding: .65rem .75rem; border-radius: 10px; font-size: .82rem; color: var(--muted-fg); transition: .2s ease; }
.catalog-panel-grid a:hover { background: var(--secondary); color: var(--fg); }
.mobile-menu-button { display: none; padding: .5rem; color: var(--fg); }
.mobile-navigation { position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100vh - 64px); overflow: auto; padding: .8rem 1.25rem 1.25rem; border-top: 1px solid rgba(0,0,0,.08); background: rgba(251,251,253,.98); box-shadow: 0 18px 45px rgba(0,0,0,.1); }
.mobile-navigation > a, .mobile-navigation > button, .mobile-categories a { display: block; width: 100%; padding: .8rem .5rem; border-bottom: 1px solid rgba(0,0,0,.06); color: var(--fg); text-align: left; font-size: .92rem; }
.mobile-categories { padding-left: .8rem; }
.mobile-categories a { color: var(--muted-fg); font-size: .83rem; }

/* Shared legacy page primitives */
.theme-2026 .breadcrumbs_area { margin: 0; padding: 1.4rem 0 0; background: transparent; }
.theme-2026 .breadcrumb_content ul { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; }
.theme-2026 .breadcrumb_content ul li, .theme-2026 .breadcrumb_content ul li a, .theme-2026 .breadcrumb_content ul li h1 { color: var(--muted-fg); font-size: .78rem; font-weight: 400; }
.theme-2026 .breadcrumb_content ul li:not(:last-child)::after { content: '›'; margin-left: .35rem; opacity: .55; }
.theme-2026 .breadcrumb_content ul li:last-child { color: var(--fg); font-weight: 600; }
.theme-2026 .cs_page_head_title h1, .theme-2026 .about-content h1 { font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.04em; }
.theme-2026 .shop-fullwidth-area, .theme-2026 .product-details-section, .theme-2026 .about-area, .theme-2026 .login-register-area, .theme-2026 .cart-main-area, .theme-2026 .my-account-area { margin-top: 0 !important; padding: 2rem 0 5rem; }
.theme-2026 input:not([type=checkbox]):not([type=radio]), .theme-2026 select, .theme-2026 textarea { border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--fg); }
.theme-2026 input:focus, .theme-2026 select:focus, .theme-2026 textarea:focus { border-color: var(--primary); outline: 0; box-shadow: 0 0 0 3px rgba(215,179,120,.18); }
.theme-2026 .btn, .theme-2026 button[type=submit], .theme-2026 input[type=submit] { border-radius: 999px; }
.theme-2026 .btn-primary, .theme-2026 .btn-success, .theme-2026 .login-btn, .theme-2026 .register-btn { border-color: var(--primary); background: var(--primary); color: #fff; }
.theme-2026 .form-row { display: flex; flex-wrap: wrap; align-items: initial; justify-content: initial; margin-right: -5px; margin-left: -5px; }
.theme-2026 .card, .theme-2026 .modal-content, .theme-2026 .login-form-container, .theme-2026 .account-dashboard, .theme-2026 .table-content { border: 1px solid rgba(0,0,0,.07); border-radius: 18px; background: #fff; box-shadow: 0 8px 30px rgba(0,0,0,.04); }

/* Existing catalog cards mapped to the new visual language */
.theme-2026 .sproduct-category-area { margin-top: 0 !important; padding: 3.5rem 0; }
.theme-2026 .sproduct-category-area h4 { margin-bottom: 1.5rem; font-size: clamp(1.45rem, 2.6vw, 2rem); text-align: center; }
.theme-2026 .product-thing-tab:not(.slick-initialized), .theme-2026 .shop-product-wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.theme-2026 .product-thing-tab .item-product, .theme-2026 .shop-product-wrap .item-product { margin: 0; overflow: hidden; border: 1px solid rgba(0,0,0,.055); border-radius: 20px; background: #fff; box-shadow: none; transition: transform .35s var(--transition), box-shadow .35s var(--transition); }
.theme-2026 .product-thing-tab .item-product:hover, .theme-2026 .shop-product-wrap .item-product:hover { transform: translateY(-3px); box-shadow: 0 10px 34px rgba(0,0,0,.08); }
.theme-2026 .item-product .product-thumb { height: auto !important; aspect-ratio: 1; overflow: hidden; background: var(--secondary); }
.theme-2026 .item-product .product-thumb > a, .theme-2026 .item-product .carousel, .theme-2026 .item-product .carousel-inner, .theme-2026 .item-product .carousel-item { height: 100%; }
.theme-2026 .item-product .product-thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.theme-2026 .item-product .product-caption { min-height: 145px; padding: .9rem; }
.theme-2026 .item-product .product-name { min-height: 0; }
.theme-2026 .item-product .cs_prd_cart_title a { display: -webkit-box; overflow: hidden; color: var(--fg); font-size: .84rem; font-weight: 600; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.theme-2026 .item-product .cs_prd_cart_brand { margin-top: .3rem; color: var(--muted-fg); font-size: .7rem; text-transform: uppercase; }
.theme-2026 .item-product .price-box { margin-top: .7rem; }
.theme-2026 .item-product .regular-price { color: var(--fg); font-size: .96rem; font-weight: 700; }
.theme-2026 .item-product .old-price { color: var(--muted-fg); font-size: .72rem; }
.theme-2026 .item-product .add-to-cart a { display: inline-grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: rgba(215,179,120,.15); color: var(--primary); }
.theme-2026 .item-product .stickers > div, .theme-2026 .sticker_novinka, .theme-2026 .rs_discount { border-radius: 999px; }
.theme-2026 .favorite-heart { color: #d7b378 !important; font-size: 24px !important; }
.theme-2026 .slick-arrow { border-radius: 50%; background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.1); }

/* Product detail */
.theme-2026 .product-details-section .row { align-items: flex-start; }
.theme-2026 .product-details-section .exzoom_img_box { overflow: hidden; border-radius: 20px; background: var(--secondary); }
.theme-2026 .product-details-section .product-details-content { padding: 1rem 0; }
.theme-2026 .product-details-section h1, .theme-2026 .product-details-section h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; letter-spacing: -.035em; }
.theme-2026 .product-details-section .price-box .regular-price { color: var(--primary); font-size: 1.65rem; font-weight: 700; }
.theme-2026 .product-details-section table { width: 100%; font-size: .85rem; }
.theme-2026 .product-details-section table td { padding: .65rem 0; border-bottom: 1px solid rgba(0,0,0,.06); }

/* Filters, tables and forms on pages without a supplied mockup */
.theme-2026 .shop-sidebar { padding: 1.1rem; border: 1px solid rgba(0,0,0,.07); border-radius: 18px; background: #fff; }
.theme-2026 .widget-title, .theme-2026 .sidebar-title { font-size: .9rem; font-weight: 700; }
.theme-2026 .pagination ul { display: flex; justify-content: center; gap: .35rem; }
.theme-2026 .pagination ul li a { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; }
.theme-2026 .pagination ul li.active a, .theme-2026 .pagination ul li a:hover { background: var(--primary); color: #fff; }
.theme-2026 table { border-collapse: separate; border-spacing: 0; }
.theme-2026 .table-content { overflow: auto; }
.theme-2026 .table-content table { min-width: 680px; }
.theme-2026 .table-content th { background: var(--secondary); }
.theme-2026 .table-content td, .theme-2026 .table-content th { padding: .85rem; border-color: rgba(0,0,0,.06); }
.theme-2026 .about-content, .theme-2026 .blog-content { color: var(--warm-fg); line-height: 1.75; }
.theme-2026 .about-content img { border-radius: 18px; }

/* Authentication pages */
.theme-2026 .login-area, .theme-2026 .register-area { padding: 3rem 0 5rem; }
.theme-2026 .login-area .checkout_info, .theme-2026 .register-area .checkout_info { padding: 2rem; border: 1px solid rgba(0,0,0,.07); border-radius: 20px; background: #fff; box-shadow: 0 10px 36px rgba(0,0,0,.045); }
.theme-2026 .login-area .last-title, .theme-2026 .register-area .last-title { font-size: 1.55rem; }
.theme-2026 .login-area .form-row { display: flex; margin-right: -5px; margin-left: -5px; }
.theme-2026 .login-area .form_group, .theme-2026 .register-area .form-group { margin-bottom: 1rem; }
.theme-2026 .login-area .input-form, .theme-2026 .register-area .form-control { width: 100%; min-height: 46px; padding: .7rem .9rem; }
.theme-2026 .login-register { min-width: 130px; padding: .7rem 1.4rem; border: 0; background: var(--primary); color: #fff; font-weight: 700; }
.theme-2026 .lost-password { color: var(--primary); font-size: .84rem; }

/* Basket */
.theme-2026 .cart-area { padding: 1.5rem 0 5rem; }
.theme-2026 .cart-area .table-desc { overflow: hidden; border: 1px solid rgba(0,0,0,.07); border-radius: 18px; background: #fff; }
.theme-2026 .cart-area .cart-page { margin: 0; }
.theme-2026 .cart-area table { min-width: 720px; }
.theme-2026 .cart-area th { padding: 1rem; background: var(--secondary); color: var(--fg); font-size: .78rem; text-transform: uppercase; }
.theme-2026 .cart-area td { padding: 1rem; border-color: rgba(0,0,0,.06); vertical-align: middle; }
.theme-2026 .cart-area .product_thumb img { width: 84px; height: 84px; object-fit: contain; }
.theme-2026 .cart-area .input-qty { width: 74px; padding: .5rem; text-align: center; }
.theme-2026 .cart-area .cart-submit { padding: 1rem; }
.theme-2026 .cart-area .cart-submit button, .theme-2026 .cart-area button[name=basket_button] { padding: .75rem 1.4rem !important; border: 0 !important; background: var(--primary) !important; color: #fff !important; font-weight: 700; }
.theme-2026 .cart-area .total_amount_update { color: var(--fg) !important; font-size: 1.35rem; }

/* News and master-class grids */
.theme-2026 .blog-fullwidth { padding: 1.5rem 0 5rem; }
.theme-2026 .single-blog { height: calc(100% - 30px); overflow: hidden; border: 1px solid rgba(0,0,0,.06); border-radius: 20px; background: #fff; transition: transform .35s var(--transition), box-shadow .35s var(--transition); }
.theme-2026 .single-blog:hover { transform: translateY(-3px); box-shadow: 0 10px 34px rgba(0,0,0,.08); }
.theme-2026 .single-blog .blog-image { aspect-ratio: 4/3; margin-bottom: 0 !important; overflow: hidden; background: var(--secondary); }
.theme-2026 .single-blog .blog-image img { width: 100%; height: 100%; object-fit: cover; }
.theme-2026 .single-blog .blog-content { padding: 1.25rem; }
.theme-2026 .single-blog .title { margin: .5rem 0; color: var(--fg); font-size: 1rem; line-height: 1.4; }
.theme-2026 .single-blog .meta { color: var(--muted-fg); font-size: .75rem; }
.theme-2026 .single-blog .link { color: var(--primary); font-size: .78rem; font-weight: 700; }

/* Footer keeps its dynamic links while matching the supplied template. */
.theme-2026 .site-footer { margin-top: 4rem !important; padding: 0; background: #1d1d1f; color: rgba(255,255,255,.72); }
.theme-2026 .site-footer .footer-top { margin: 0 !important; padding: 4rem 0 2.5rem; }
.theme-2026 .site-footer .footer-logo img { width: 140px; filter: brightness(0) invert(1); }
.theme-2026 .site-footer p, .theme-2026 .site-footer a { color: rgba(255,255,255,.65); font-size: .8rem; }
.theme-2026 .site-footer a:hover { color: #fff; }
.theme-2026 .site-footer h6 { color: #fff; font-size: .82rem; }
.theme-2026 .site-footer .footer-bottom { border-top: 1px solid rgba(255,255,255,.1); background: transparent; }
.theme-2026 .site-footer .footer_social a { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.theme-2026 .scroll-to-top { border-radius: 50%; background: var(--primary); }

@media (max-width: 1100px) {
  .site-header .header-nav { display: none; }
  .mobile-menu-button { display: inline-grid; place-items: center; }
  .site-header .site-logo { margin-right: auto; }
  .theme-2026 .product-thing-tab:not(.slick-initialized), .theme-2026 .shop-product-wrap { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 768px) {
  .site-header .header-inner { height: 58px; padding-right: 12px; padding-left: 12px; }
  .site-header .header-logo { height: 40px; }
  .site-header .language-switcher { display: none; }
  .catalog-panel-grid { grid-template-columns: repeat(2, 1fr); }
  .theme-2026 .product-thing-tab:not(.slick-initialized), .theme-2026 .shop-product-wrap { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .theme-2026 .sproduct-category-area { padding: 2.3rem 0; }
  .theme-2026 .site-footer .footer-top { padding-top: 3rem; }
}
@media (max-width: 480px) {
  .site-header .header-icons { gap: 0; }
  .site-header .header-icons a, .site-header .header-icons button { padding: .4rem; }
  .theme-2026 .item-product .product-caption { min-height: 132px; padding: .7rem; }
  .theme-2026 .item-product .cs_prd_cart_title a { font-size: .78rem; }
}


