:root {
  --rita-ink: #20212B;
  --rita-blue: #2D4354;
  --rita-plum: #534145;
  --rita-sage: #73766A;
  --rita-terra: #9E6752;
  --rita-cream: #FED7A5;
  --rita-paper: #f7efe6;
  --rita-surface: #fffaf3;
  --rita-line: rgba(83, 65, 69, .22);
  --rita-radius-sm: 12px;
  --rita-radius-md: 18px;
  --rita-radius-lg: 28px;
  --rita-shadow-sm: 0 8px 24px rgba(83, 65, 69, .10);
  --rita-shadow-md: 0 18px 45px rgba(83, 65, 69, .14);
  --rita-space-1: 8px;
  --rita-space-2: 16px;
  --rita-space-3: 24px;
  --rita-space-4: 40px;
  --rita-space-5: 64px;
}

/* Final mobile layout normalization */
@media (max-width: 767px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .container { box-sizing: border-box; width: 100%; max-width: 100%; padding-left: 14px; padding-right: 14px; }
  #top .container { display: flex; flex-wrap: wrap; align-items: center; min-height: 36px; }
  #top-links { max-width: 100%; overflow: hidden; }
  header { padding: 14px 0 12px !important; }
  header > .container > .row { display: flex; flex-wrap: wrap; margin: 0; }
  header > .container > .row > [class*="col-"] { float: none; width: 100%; padding-left: 0; padding-right: 0; }
  #logo { margin: 0 0 14px; padding: 0; text-align: center; }
  #logo h1 { margin: 0; font-size: 30px; line-height: 1.1; }
  #search { margin: 0 0 12px; }
  #search .input-lg { height: 46px; font-size: 15px; }
  #search .btn-lg { height: 46px; padding: 10px 14px; }
  #cart { margin: 0; }
  #cart > .btn { width: 100%; min-height: 46px; white-space: normal; }
  #menu.navbar { width: 100%; margin: 0 0 22px !important; border-radius: 10px !important; }
  #menu .navbar-header { min-height: 48px; text-align: center; }
  #menu .navbar-toggle { float: none; margin: 8px auto; }
  #menu .navbar-collapse { max-height: none; padding: 0 10px 10px; overflow: visible; }
  #menu .navbar-nav { display: block !important; width: 100% !important; margin: 0; }
  #menu .navbar-nav > li { display: block; width: 100%; }
  #menu .navbar-nav > li > a { display: block; width: 100%; box-sizing: border-box; padding: 12px 14px !important; white-space: normal; text-align: left; }
  #menu .dropdown-menu { position: static; float: none; width: 100%; box-shadow: none; }
  .breadcrumb { margin-bottom: 22px; padding-left: 0 !important; padding-right: 0 !important; white-space: normal; }
  .page-header h1, .category-info h2, .product-info h1 { font-size: 40px; line-height: 1.05; overflow-wrap: anywhere; }
  .row { margin-left: -7px; margin-right: -7px; }
  .row > [class*="col-"] { padding-left: 7px; padding-right: 7px; }
  .product-grid, #common-home > .row #content > .row { grid-template-columns: 1fr !important; }
  .product-thumb { width: 100%; box-sizing: border-box; }
  .product-thumb .image { height: 190px; }
  .table-responsive { border: 0; margin-bottom: 18px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table { min-width: 620px; }
  .form-control, select.form-control, textarea.form-control { max-width: 100%; font-size: 16px; }
  .buttons .pull-right, .buttons .pull-left { float: none !important; display: block; margin: 8px 0; }
  .buttons .btn, .btn-group .btn { width: 100%; margin: 4px 0; white-space: normal; }
  .alert { overflow-wrap: anywhere; }
  footer { margin-top: 34px; padding: 32px 0 24px; }
  footer .row { display: block; }
}

/* Final layout guard: prevent Bootstrap floats and long content from shifting the page. */
*, *::before, *::after { box-sizing: border-box; }
main, #content, .container, .row, [class*="col-"] { min-width: 0; }
main, #content { max-width: 100%; }
table { max-width: 100%; }
pre, code { max-width: 100%; overflow-x: auto; }

@media (max-width: 767px) {
  .row { margin-left: -7px; margin-right: -7px; }
  .row > [class*="col-"] { max-width: 100%; }
  .page-header { overflow-wrap: anywhere; }
  .page-header h1, .category-info h2, .product-info h1 { font-size: clamp(30px, 10vw, 40px); }
  .breadcrumb { overflow-x: auto; white-space: nowrap; }
  .input-group { display: flex; max-width: 100%; }
  .input-group .form-control { min-width: 0; }
  .input-group-btn { flex: 0 0 auto; }
  .product-thumb .caption h4 { min-height: 0; }
  .rita-mobile-nav { min-height: 64px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* Support, privacy and the landing-page curated carousel. */
.rita-curated-carousel { overflow: hidden; }
.rita-curated-viewport { overflow: hidden; }
.rita-curated-track { display: flex; transition: transform .55s cubic-bezier(.22,.61,.36,1); }
.rita-curated-carousel .rita-curated-card { flex: 0 0 100%; min-width: 0; }
.rita-carousel-controls { align-items: center; display: flex; gap: 14px; justify-content: center; margin-top: 16px; }
.rita-carousel-controls button { align-items: center; background: var(--rita-surface); border: 1px solid var(--rita-line); border-radius: 50%; color: var(--rita-ink); display: inline-flex; font-size: 23px; height: 34px; justify-content: center; line-height: 1; padding: 0; width: 34px; }
.rita-carousel-controls button:hover, .rita-carousel-controls button:focus-visible { background: var(--rita-blue); color: #fff; outline: none; }
.rita-carousel-dots { display: flex; gap: 7px; }
.rita-carousel-dots button { background: var(--rita-line); border: 0; height: 8px; width: 8px; }
.rita-carousel-dots button.is-active { background: var(--rita-coral); transform: scale(1.15); }
.rita-information-page { padding-bottom: 46px; }
.rita-information-card { background: var(--rita-surface); border: 1px solid var(--rita-line); border-radius: var(--rita-radius-sm); box-shadow: 0 8px 24px rgba(83,65,69,.06); margin: 0 0 18px; padding: 26px; }
.rita-information-card h2 { color: var(--rita-blue); font-size: 22px; margin-top: 0; }
.rita-information-card li, .rita-information-card p { line-height: 1.7; }
.rita-information-card details { border-top: 1px solid var(--rita-line); padding: 14px 0; }
.rita-information-card summary { color: var(--rita-ink); cursor: pointer; font-weight: 700; }
.rita-help-form { margin-top: 26px; }
.rita-honeypot { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.rita-privacy-consent .checkbox, .rita-help-form .checkbox { line-height: 1.55; }
.store-footer-contacts { display: inline-block; margin-left: 12px; }
@media (max-width: 767px) {
  .rita-information-card { border-radius: 18px; padding: 19px 17px; }
  .rita-information-card h2 { font-size: 20px; }
  .rita-help-form .form-group { margin-left: 0; margin-right: 0; }
  .rita-help-form .control-label { margin-bottom: 7px; text-align: left; }
  .store-footer-contacts { display: block; margin: 8px 0 0; }
}

/* Catalogue controls and comparison remain readable on narrow screens. */
#menu .dropdown-inner { display: grid; gap: 8px 18px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
#menu .dropdown-inner ul { margin: 0; min-width: 0; width: auto; }
#menu .dropdown-inner li a, #product-category .fokus-category-list li a { overflow-wrap: anywhere; white-space: normal; }
#product-category .fokus-category-list { align-items:stretch; }
#product-category .fokus-category-list li { display:flex; min-width:0; }
#product-category .fokus-category-list li a { align-items:center; display:flex; min-height:48px; width:100%; }
.rita-compare-scope { background:var(--rita-cream); border:1px solid rgba(158,103,82,.38); border-radius:var(--rita-radius-sm); color:var(--rita-ink); margin:0 0 16px; padding:12px 16px; }
.rita-compare-table thead td { background:var(--rita-blue); color:#fff; }
.rita-compare-table > tbody > tr > td:first-child { background:var(--rita-surface); color:var(--rita-plum); font-weight:800; min-width:170px; }
@media (max-width:767px) {
  #menu .dropdown-inner { display:grid; grid-template-columns:1fr; }
  #menu .dropdown-inner li a { padding:12px 4px; }
  #product-category .fokus-category-list { grid-template-columns:1fr !important; }
  #product-category .col-xs-6 { float:none; width:100%; }
  #product-category .col-xs-6 .input-group { margin-bottom:10px; width:100%; }
  #product-category .input-group-addon { min-width:98px; overflow:visible; white-space:normal; }
  #product-category #input-sort, #product-category #input-limit { min-width:0; width:1%; }
  .rita-compare-table { min-width:720px; }
}

/* Mobile header and catalogue navigation: one clear action, no nested mega-menu. */
#top .rita-locale-bar { align-items: center; display: flex; gap: 18px; justify-content: flex-start; min-height: 34px; }
#top .rita-locale-bar span { color: var(--rita-cream) !important; font-size: 12px !important; font-weight: 700; line-height: 1; }
#top .rita-locale-currency { color: var(--rita-cream) !important; }
#top .rita-locale-country { color: rgba(255,255,255,.82) !important; }
@media (max-width: 767px) {
  #top { min-height: 42px !important; padding: 0 !important; }
  #top .rita-locale-bar { justify-content: space-between; min-height: 42px; padding-left: 22px; padding-right: 22px; }
  #top .rita-locale-bar span { font-size: 13px !important; }
  #menu.navbar { border-radius: 18px !important; margin-bottom: 22px !important; overflow: hidden; }
  #menu .navbar-header { min-height: 58px !important; padding: 0 18px !important; }
  #category { font-size: 18px !important; line-height: 58px !important; }
  #menu .navbar-toggle { height: 42px !important; width: 48px !important; }
  #menu .navbar-collapse { padding: 0 18px 10px !important; }
  #menu .navbar-nav > li { display: block !important; }
  #menu .navbar-nav > li > a { border-bottom: 1px solid var(--rita-line) !important; font-size: 16px !important; font-weight: 700; min-height: 52px; padding: 15px 2px !important; text-align: left !important; }
  #menu .navbar-nav > li:last-child > a { border-bottom: 0 !important; }
  #menu .dropdown-menu, #menu .dropdown-inner { display: none !important; }
  #search .form-control { font-size: 16px !important; }
}

/* Final catalogue and product-detail experience. */
#menu .dropdown-menu { min-width:360px; padding:12px; }
#menu .dropdown-inner, #menu .dropdown-inner ul { display:grid !important; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; width:100%; }
#menu .dropdown-inner li { min-width:0; }
#menu .dropdown-inner li a { align-items:center; background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:9px; display:flex; font-size:13px; font-weight:700; line-height:1.3; min-height:58px; overflow-wrap:anywhere; padding:12px 14px; white-space:normal; width:100%; }
#menu .dropdown-inner li a:hover, #menu .dropdown-inner li a:focus { background:var(--rita-cream)!important; color:var(--rita-ink)!important; }
#product-category .fokus-category-list li a:after { content:none!important; }
.rita-product-toolbar { align-items:end; display:flex; margin-bottom:12px; }
.rita-sort-field { margin-bottom:12px; }
.rita-sort-field > label { color:var(--rita-plum); display:block; font-size:12px; font-weight:800; margin:0 0 6px; }
.rita-sort-field select { background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:10px; box-shadow:none; height:44px; }
.rita-compare-picker { background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:var(--rita-radius-md); box-shadow:var(--rita-shadow-sm); margin:20px 0; padding:28px; }
.rita-compare-picker h2 { color:var(--rita-ink); font-size:clamp(26px, 3vw, 36px); letter-spacing:-.05em; margin:0 0 10px; }
.rita-compare-picker > p:not(.rita-kicker) { color:var(--rita-sage); margin:0 0 20px; }
.rita-compare-picked { display:grid; gap:14px; grid-template-columns:repeat(2, minmax(0, 1fr)); }
.rita-compare-picked article, .rita-compare-add { align-items:center; border:1px solid var(--rita-line); border-radius:12px; color:var(--rita-ink); display:grid; gap:12px; grid-template-columns:64px minmax(0, 1fr); min-height:92px; padding:12px; }
.rita-compare-picked article div { align-items:center; background:#fff; display:flex; height:64px; justify-content:center; }
.rita-compare-picked article img { max-height:58px; object-fit:contain; }
.rita-compare-picked article strong { overflow-wrap:anywhere; }
.rita-compare-picked article a { color:var(--rita-terra); font-size:12px; font-weight:800; grid-column:2; }
.rita-compare-add { background:var(--rita-cream); border-style:dashed; font-weight:800; text-decoration:none; }
.rita-compare-add span { align-items:center; background:var(--rita-blue); border-radius:50%; color:#fff; display:flex; font-size:24px; height:36px; justify-content:center; width:36px; }
.rita-compare-add:hover, .rita-compare-add:focus { color:var(--rita-ink); text-decoration:none; }
.rita-product-gallery { margin-bottom:22px; }
.rita-gallery-stage { align-items:center; background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:var(--rita-radius-md); display:flex; height:440px; justify-content:center; overflow:hidden; position:relative; }
.rita-gallery-main { align-items:center; display:flex; height:100%; justify-content:center; width:100%; }
.rita-gallery-main img { height:100%; object-fit:contain; width:100%; }
.rita-gallery-control { align-items:center; background:rgba(32,33,43,.78); border:0; border-radius:50%; color:#fff; display:flex; font-size:34px; height:42px; justify-content:center; line-height:1; position:absolute; top:calc(50% - 21px); width:42px; z-index:2; }
.rita-gallery-prev { left:14px; }.rita-gallery-next { right:14px; }
.rita-gallery-thumbs { display:flex; gap:9px; margin-top:10px; overflow-x:auto; padding-bottom:2px; }
.rita-gallery-thumbs button { background:#fff; border:1px solid var(--rita-line); border-radius:8px; flex:0 0 64px; height:64px; overflow:hidden; padding:3px; }
.rita-gallery-thumbs button.is-active { border:2px solid var(--rita-terra); }
.rita-gallery-thumbs img { height:100%; object-fit:contain; width:100%; }
.rita-option-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.rita-option-button { cursor:pointer; margin:0; position:relative; }
.rita-option-button input { opacity:0; pointer-events:none; position:absolute; }
.rita-option-button span { align-items:center; background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:999px; color:var(--rita-ink); display:flex; font-size:14px; font-weight:700; gap:4px; min-height:42px; padding:9px 14px; }
.rita-option-button em { color:var(--rita-terra); font-size:12px; font-style:normal; }
.rita-option-button img { border-radius:50%; height:30px; margin-right:5px; object-fit:cover; width:30px; }
.rita-option-button input:checked + span, .rita-option-button input:checked ~ span { background:var(--rita-blue); border-color:var(--rita-blue); color:#fff; }
.rita-option-button input:focus-visible + span { outline:3px solid var(--rita-terra); outline-offset:2px; }
@media (max-width:767px) {
  #menu .dropdown-menu { min-width:0; padding:8px 0 0; width:100%; }
  #menu .dropdown-inner, #menu .dropdown-inner ul { grid-template-columns:1fr!important; }
  #menu .dropdown-inner li a { min-height:48px; padding:11px 12px!important; }
  .rita-product-toolbar { display:block; margin:0; }
  .rita-product-toolbar > [class*="col-"] { float:none; padding-left:7px; padding-right:7px; width:100%; }
  .rita-sort-field { margin-bottom:12px; width:100%; }
  .rita-sort-field select { font-size:16px; width:100%; }
  .rita-compare-picker { padding:22px 18px; }
  .rita-compare-picked { grid-template-columns:1fr; }
  .rita-gallery-stage { height:330px; }
  .rita-gallery-control { height:38px; width:38px; }
  .rita-gallery-thumbs button { flex-basis:56px; height:56px; }
  .rita-option-button span { font-size:13px; min-height:40px; padding:8px 12px; }
}

/* Mobile final pass: reset desktop-only offsets and keep every control inside the viewport. */
@media (max-width: 767px) {
  #search, #search.input-group, #cart, #menu, .polka-hero, .polka-hero-copy,
  .polka-hero-note, .rita-category-section, .rita-category-grid, footer,
  footer .container, .store-footer-benefits { max-width: 100%; min-width: 0; width: 100%; }
  #search { display: block; }
  #search.input-group { display: flex; }
  #search .form-control { flex: 1 1 auto; min-width: 0; width: auto; }
  #search .input-group-btn { flex: 0 0 52px; width: 52px; }
  #search .input-group-btn .btn { width: 52px; }
  #category { color: var(--rita-ink) !important; display: inline-block; font-size: 18px; font-weight: 700; line-height: 48px; }
  #menu .navbar-header { align-items: center; display: flex; justify-content: space-between; padding: 0 14px; }
  #menu .navbar-toggle { flex: 0 0 auto; margin: 8px 0; }
  .polka-hero { overflow: hidden; }
  .polka-hero-copy { padding: 74px 28px 34px !important; position: relative; }
  .polka-hero-copy:before { left: 28px !important; top: 30px !important; }
  .polka-eyebrow { margin-top: 0 !important; }
  .polka-hero h1 { margin-top: 22px; }
  .store-footer-benefits { box-shadow: none !important; margin: 18px 0 0 !important; transform: none !important; }
  footer .col-sm-1, footer .col-sm-2, footer .col-sm-3, footer .col-sm-4 { float: none; width: 100%; }
  footer .store-footer-intro { max-width: none; }
  .rita-mobile-nav a { min-width: 0; overflow: hidden; }
  .rita-mobile-nav small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* Адаптивная оболочка магазина: телефоны, планшеты и широкие экраны. */
html { overflow-x: hidden; }
body { min-width: 320px; overflow-x: hidden; }
img, iframe, video { max-width: 100%; }
button, .btn, input, select, textarea { max-width: 100%; }
@media (min-width: 1200px) {
  .container { width: min(1440px, calc(100% - 64px)); }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .container { width: calc(100% - 32px); }
  header .col-sm-4, header .col-sm-5, header .col-sm-3 { float: none; width: 100%; }
  header .col-sm-5, header .col-sm-3 { margin-top: 14px; }
  #logo h1 { text-align: center; }
}
@media (max-width: 767px) {
  .container { padding-left: 14px; padding-right: 14px; width: 100%; }
  #top .container { min-height: 36px; }
  #top-links { float: none !important; text-align: center; }
  header { padding: 14px 0 10px !important; }
  #logo h1 { font-size: 30px; margin: 4px 0 14px; text-align: center; }
  #search .input-lg { font-size: 15px; height: 46px; }
  #search .btn-lg { height: 46px; padding: 10px 15px; }
  #cart > .btn { min-height: 46px; width: 100%; }
  #menu.navbar { margin-bottom: 18px !important; }
  #menu .navbar-toggle { float: none; margin: 8px 14px; }
  #menu .navbar-header { text-align: center; }
  #menu .navbar-collapse { border-top: 1px solid var(--rita-line); }
  .breadcrumb { font-size: 13px; overflow-x: auto; white-space: nowrap; }
  .table-responsive { border: 0; margin-bottom: 14px; }
  .btn { white-space: normal; }
  .form-control { font-size: 16px; }
}
/* Mobile navigation icons: one consistent inline-SVG set, independent of icon fonts. */
@media (max-width: 767px) {
  .rita-mobile-nav .rita-tab-icon {
    display: block;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    color: currentColor;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .rita-mobile-nav a:hover .rita-tab-icon,
  .rita-mobile-nav a:focus-visible .rita-tab-icon {
    transform: translateY(-1px);
  }

  .rita-mobile-nav a:focus-visible {
    outline: 2px solid var(--rita-cream, #f8efe4);
    outline-offset: -3px;
    border-radius: 8px;
  }
}

/* Marketplace-inspired mobile navigation: compact, high-contrast, touch-safe. */
@media (max-width: 767px) {
  #menu.navbar {
    background: var(--rita-blue) !important;
    border: 0 !important;
    border-radius: var(--rita-radius-sm) !important;
    box-shadow: 0 8px 20px rgba(45, 67, 84, .18) !important;
    margin: 0 0 24px !important;
    overflow: hidden;
  }

  #menu .navbar-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 54px;
    padding: 0 14px;
    text-align: left;
  }

  #category {
    color: #fff !important;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.01em;
    line-height: 54px;
  }

  #menu .navbar-toggle {
    align-items: center;
    background: var(--rita-terra) !important;
    border: 0 !important;
    border-radius: 8px;
    color: #fff;
    display: flex;
    height: 40px;
    justify-content: center;
    margin: 0 !important;
    padding: 0;
    width: 44px;
  }

  #menu .navbar-toggle:hover,
  #menu .navbar-toggle:focus-visible { background: var(--rita-plum) !important; }
  #menu .navbar-toggle .fa { font-size: 19px; }
  #menu .navbar-collapse { background: var(--rita-surface); border-top: 0; padding: 0 14px 12px; }
  #menu .navbar-nav > li > a { border-bottom: 1px solid var(--rita-line); color: var(--rita-ink) !important; min-height: 48px; padding: 14px 4px !important; }
  #menu .navbar-nav > li:last-child > a { border-bottom: 0; }

  footer .store-footer-benefits {
    background: var(--rita-cream) !important;
    border: 1px solid rgba(158, 103, 82, .42) !important;
    border-radius: var(--rita-radius-md) !important;
    box-shadow: none !important;
    box-sizing: border-box;
    color: var(--rita-ink) !important;
    display: block !important;
    height: auto !important;
    margin: 22px 0 0 !important;
    min-height: 0 !important;
    padding: 22px !important;
    transform: none !important;
    width: 100% !important;
  }

  footer .store-footer-benefits:before { right: 22px; top: 22px; }
  footer .store-footer-benefits-label { color: var(--rita-plum) !important; margin: 0 0 14px !important; padding: 0 28px 0 0 !important; }
  footer .store-footer-benefits > div { border-top: 1px solid rgba(83, 65, 69, .22); box-sizing: border-box; margin: 0 !important; padding: 15px 0 !important; width: 100% !important; }
  footer .store-footer-benefits > div:last-child { padding-bottom: 0 !important; }
  footer .store-footer-benefits strong { color: var(--rita-ink) !important; font-size: 14px; line-height: 1.25; }
  footer .store-footer-benefits span { color: var(--rita-plum) !important; font-size: 14px; line-height: 1.45; margin-top: 4px; }
}

/* Storefront polish: custom SVGs, movement with purpose and product discovery. */
.rita-marquee { background: var(--rita-ink); border-radius: 999px; color: var(--rita-cream); margin: 0 0 18px; overflow: hidden; }
.rita-marquee-track { align-items: center; animation: rita-marquee 28s linear infinite; display: flex; min-width: max-content; width: max-content; }
.rita-marquee span { align-items: center; display: inline-flex; font-size: 12px; font-weight: 800; gap: 9px; letter-spacing: .03em; padding: 11px 28px; text-transform: uppercase; white-space: nowrap; }
.rita-marquee svg, .rita-section-link svg, .rita-category-card i svg, .rita-arrow-icon, .rita-curated-icon svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.rita-marquee svg { height: 16px; width: 16px; }
@keyframes rita-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.rita-marquee:hover .rita-marquee-track { animation-play-state: paused; }

#common-home .rita-benefits { display: grid !important; }
#common-home .rita-benefit-icon { align-items: center; display: inline-flex; justify-content: center; }
#common-home .rita-benefit-icon svg { display: block; fill: none; height: 19px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 19px; }
#common-home .rita-benefit-icon:has(svg circle) { line-height: 0; }
.rita-section-link { align-items: center; display: inline-flex; gap: 7px; }
.rita-section-link svg { height: 17px; width: 17px; }
.rita-text-button { align-items: center; display: inline-flex; gap: 7px; }
.rita-text-button svg { fill: none; height: 17px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 17px; }
.rita-category-card i { align-items: center; display: inline-flex; gap: 7px; }
.rita-category-card i svg { height: 16px; width: 16px; }
.rita-catalog-tile i { align-items: center; display: inline-flex; gap: 7px; }
.rita-catalog-tile i svg { fill: none; height: 16px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 16px; }
.rita-category-card:hover .rita-category-icon { transform: translateY(-3px) rotate(-2deg); }
.rita-category-icon { transition: transform .28s ease; }

.rita-curated { margin: 0 0 56px; }
.rita-curated-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rita-curated-card { align-items: center; background: var(--rita-surface); border: 1px solid var(--rita-line); border-radius: var(--rita-radius-sm); box-shadow: 0 8px 24px rgba(83, 65, 69, .07); color: var(--rita-ink); display: grid; gap: 14px; grid-template-columns: 42px minmax(0, 1fr) 20px; min-height: 104px; padding: 18px; text-decoration: none; transition: box-shadow .25s ease, transform .25s ease; }
.rita-curated-card:hover, .rita-curated-card:focus-visible { box-shadow: var(--rita-shadow-md); color: var(--rita-ink); text-decoration: none; transform: translateY(-3px); }
.rita-curated-icon { align-items: center; background: var(--rita-cream); border-radius: 12px; color: var(--rita-blue); display: flex; height: 42px; justify-content: center; width: 42px; }
.rita-curated-icon svg { height: 23px; width: 23px; }
.rita-curated-card strong { display: block; font-size: 16px; line-height: 1.2; }
.rita-curated-card small { color: var(--rita-sage); display: block; font-size: 12px; line-height: 1.35; margin-top: 4px; }
.rita-arrow-icon { color: var(--rita-terra); height: 19px; transition: transform .2s ease; width: 19px; }
.rita-curated-card:hover .rita-arrow-icon, .rita-curated-card:focus-visible .rita-arrow-icon { transform: translateX(3px); }

.rita-featured-products { display: block !important; margin: 0 0 60px; }
.rita-featured-products > h3 { color: var(--rita-ink); font-size: clamp(28px, 3vw, 42px); letter-spacing: -.06em; margin: 0 0 22px; }
.rita-featured-products > .row { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.rita-featured-products .product-layout { float: none; padding: 0; width: auto; }
.rita-featured-products .product-thumb { height: 100%; margin: 0; }
.rita-featured-products .product-thumb .image { height: 210px; }
.rita-featured-products .product-thumb .image img { height: 100%; object-fit: contain; width: 100%; }

@media (max-width: 991px) { .rita-featured-products > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .rita-marquee { border-radius: 12px; margin: 0 0 14px; }
  .rita-marquee span { font-size: 11px; padding: 10px 20px; }
  #common-home .rita-benefits { display: grid !important; }
  .rita-curated { margin-bottom: 42px; }
  .rita-curated-grid { grid-template-columns: 1fr; }
  .rita-curated-card { min-height: 86px; }
  .rita-featured-products { margin-bottom: 44px; }
  .rita-featured-products > .row { grid-template-columns: 1fr; }
  .rita-featured-products .product-thumb .image { height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  .rita-marquee-track { animation: none; }
  .rita-category-icon, .rita-arrow-icon, .rita-curated-card { transition: none; }
}

/* Last-resort cascade layer: keep catalogue controls above legacy theme rules. */
#menu .dropdown-menu { min-width:360px !important; padding:12px !important; }
#menu .dropdown-inner, #menu .dropdown-inner ul { display:grid !important; grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:8px !important; width:100% !important; }
#menu .dropdown-inner li { display:block !important; min-width:0 !important; }
#menu .dropdown-inner li a { align-items:center !important; background:var(--rita-surface) !important; border:1px solid var(--rita-line) !important; border-radius:9px !important; display:flex !important; font-size:13px !important; font-weight:700 !important; line-height:1.3 !important; min-height:58px !important; overflow-wrap:anywhere !important; padding:12px 14px !important; white-space:normal !important; width:100% !important; }
#menu .dropdown-inner li a:hover, #menu .dropdown-inner li a:focus { background:var(--rita-cream) !important; color:var(--rita-ink) !important; }
#product-category .fokus-category-list li a:after { content:none !important; }
.rita-product-toolbar { align-items:end; display:flex; margin-bottom:12px; }
.rita-sort-field { margin-bottom:12px; }.rita-sort-field > label { color:var(--rita-plum); display:block; font-size:12px; font-weight:800; margin:0 0 6px; }.rita-sort-field select { background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:10px; box-shadow:none; height:44px; }
.rita-compare-scroll { border:1px solid var(--rita-line); border-radius:var(--rita-radius-sm); box-shadow:var(--rita-shadow-sm); }.rita-compare-table { margin:0; }.rita-compare-table > tbody > tr > td:first-child { background:var(--rita-surface); color:var(--rita-plum); font-weight:800; min-width:170px; }.rita-compare-table thead td { background:var(--rita-blue); color:#fff; }
@media (max-width:767px) {
  #menu .dropdown-menu { min-width:0 !important; padding:8px 0 0 !important; width:100% !important; }
  #menu .dropdown-inner, #menu .dropdown-inner ul { grid-template-columns:1fr !important; }
  #menu .dropdown-inner li a { min-height:48px !important; padding:11px 12px !important; }
  .rita-product-toolbar { display:block !important; margin:0 !important; }
  .rita-product-toolbar > [class*="col-"] { float:none !important; padding-left:7px; padding-right:7px; width:100% !important; }
  .rita-sort-field { margin-bottom:12px; width:100%; }.rita-sort-field select { font-size:16px; width:100%; }
  .rita-compare-scroll { margin-left:-14px; margin-right:-14px; position:relative; }.rita-compare-scroll:before { background:var(--rita-blue); border-radius:0 0 8px 0; color:#fff; content:'Листайте таблицу вправо'; display:block; font-size:11px; font-weight:800; padding:7px 12px; position:sticky; left:0; width:max-content; z-index:3; }.rita-compare-table { min-width:620px !important; }.rita-compare-table > tbody > tr > td:first-child { left:0; position:sticky; z-index:2; }.rita-compare-table thead td:first-child { left:0; position:sticky; z-index:3; }
}

/* Absolute final cascade for the phone header and the direct category list. */
#top .rita-locale-bar { align-items:center; display:flex; gap:24px; justify-content:flex-start; min-height:34px; }
#top .rita-locale-bar span { align-items:center; color:var(--rita-cream)!important; display:inline-flex; font-weight:700; line-height:1; }
#top .rita-locale-currency { font-size:21px!important; }
#top .rita-locale-country { font-size:18px!important; }
@media (max-width:767px) {
  #top { min-height:42px!important; padding:0!important; }
  #top .rita-locale-bar { justify-content:flex-start; min-height:42px; padding-left:22px; padding-right:22px; }
  #top .rita-locale-currency { font-size:21px!important; }
  #top .rita-locale-country { font-size:18px!important; }
  #menu.navbar { border-radius:18px!important; margin-bottom:22px!important; overflow:hidden; }
  #menu .navbar-header { min-height:58px!important; padding:0 18px!important; }
  #category { font-size:18px!important; line-height:58px!important; }
  #menu .navbar-toggle { height:42px!important; width:48px!important; }
  #menu .navbar-collapse { padding:0 18px 10px!important; }
  #menu .navbar-nav > li { display:block!important; }
  #menu .navbar-nav > li > a { border-bottom:1px solid var(--rita-line)!important; font-size:16px!important; font-weight:700; min-height:52px; padding:15px 2px!important; text-align:left!important; }
  #menu .navbar-nav > li:last-child > a { border-bottom:0!important; }
  #menu .dropdown-menu, #menu .dropdown-inner { display:none!important; }
  #search .form-control { font-size:16px!important; }
}

/* Product collections: cards, not category links. */
.rita-product-collections { margin:0 0 58px; }
.rita-collection-viewport { overflow:hidden; }
.rita-collection-track { display:flex; transition:transform .55s cubic-bezier(.22,.61,.36,1); }
.rita-collection-slide { flex:0 0 100%; min-width:0; }
.rita-collection-heading { align-items:center; display:flex; gap:18px; justify-content:space-between; margin:0 0 16px; }
.rita-collection-heading h3 { color:var(--rita-ink); font-size:22px; letter-spacing:-.035em; margin:0; }
.rita-collection-heading a { color:var(--rita-terra); font-size:13px; font-weight:800; white-space:nowrap; }
.rita-collection-products { display:grid; gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.rita-collection-product { background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:18px; box-shadow:0 8px 24px rgba(83,65,69,.07); min-width:0; overflow:hidden; transition:box-shadow .25s ease,transform .25s ease; }
.rita-collection-product:hover { box-shadow:var(--rita-shadow-md); transform:translateY(-3px); }
.rita-collection-image { align-items:center; background:#fffaf2; display:flex; height:190px; justify-content:center; padding:14px; }
.rita-collection-image img { height:100%; object-fit:contain; width:100%; }
.rita-collection-product-body { padding:14px; }
.rita-collection-name { -webkit-box-orient:vertical; -webkit-line-clamp:2; color:var(--rita-ink); display:-webkit-box; font-size:14px; font-weight:800; line-height:1.32; min-height:37px; overflow:hidden; }
.rita-collection-name:hover { color:var(--rita-terra); }
.rita-collection-price { color:var(--rita-blue); font-size:17px; font-weight:900; margin:10px 0 12px; }
.rita-old-price { color:var(--rita-sage); display:block; font-size:12px; font-weight:600; text-decoration:line-through; }
.rita-collection-buy { background:var(--rita-blue); border:0; border-radius:10px; color:#fff; font-size:13px; font-weight:800; padding:10px 12px; transition:background .2s ease,transform .2s ease; width:100%; }
.rita-collection-buy:hover,.rita-collection-buy:focus { background:var(--rita-terra); color:#fff; transform:translateY(-1px); }
.rita-collection-buy span { font-size:17px; line-height:0; vertical-align:-1px; }
@media (max-width:767px) {
  .rita-product-collections { margin-bottom:42px; }
  .rita-collection-heading { margin-bottom:12px; }
  .rita-collection-heading h3 { font-size:19px; }
  .rita-collection-products { display:flex; gap:12px; overflow-x:auto; padding:2px 2px 10px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .rita-collection-products::-webkit-scrollbar { display:none; }
  .rita-collection-product { flex:0 0 min(77vw,290px); scroll-snap-align:start; }
  .rita-collection-image { height:180px; }
  .rita-collection-product-body { padding:13px; }
}

/* Catalogue: warm paper sections with restrained perforation details. */
#product-category .category-info { background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:var(--rita-radius-md); box-shadow:0 12px 30px rgba(83,65,69,.06); margin:0 0 22px; padding:28px 32px; position:relative; }
#product-category .category-info:before { background:var(--rita-terra); border:3px solid var(--rita-surface); border-radius:50%; box-shadow:0 2px 0 rgba(83,65,69,.18); content:''; height:18px; position:absolute; right:28px; top:22px; width:18px; }
#product-category .category-info h2 { max-width:calc(100% - 50px); }
#product-category .fokus-category-list { background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:var(--rita-radius-md); box-shadow:0 12px 30px rgba(83,65,69,.06); display:grid; gap:0; margin:0 0 26px; overflow:hidden; padding:12px 20px 12px 38px; position:relative; }
#product-category .fokus-category-list:before { background:radial-gradient(circle at center, var(--rita-paper) 0 6px, transparent 6.5px); background-size:18px 32px; content:''; inset:16px auto 16px 10px; position:absolute; width:18px; }
#product-category .fokus-category-list li { border-color:rgba(83,65,69,.16); margin:0; padding:0; position:relative; }
#product-category .fokus-category-list li a { align-items:center; border-radius:10px; display:flex; font-size:16px; line-height:1.35; min-height:54px; padding:10px 14px; }
#product-category .fokus-category-list li a:hover,#product-category .fokus-category-list li a:focus { background:var(--rita-cream); color:var(--rita-ink); }
#product-category .rita-catalog-filter { background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:var(--rita-radius-md); box-shadow:0 8px 20px rgba(83,65,69,.05); margin:0 0 22px; padding:20px; }
#product-category .product-thumb { background:var(--rita-surface); border:1px solid var(--rita-line); border-radius:var(--rita-radius-md); box-shadow:0 8px 24px rgba(83,65,69,.07); overflow:hidden; padding:14px; position:relative; }
#product-category .product-thumb:before { background:var(--rita-terra); border:2px solid var(--rita-surface); border-radius:50%; box-shadow:0 2px 0 rgba(83,65,69,.18); content:''; height:13px; position:absolute; right:16px; top:16px; width:13px; z-index:3; }
#product-category .product-thumb .image { background:#fff8ea; border:1px solid rgba(83,65,69,.1); border-radius:12px; }
#product-category .product-thumb .caption { padding-left:3px; padding-right:3px; }
#product-category .product-thumb .button-group { margin-left:-14px; margin-right:-14px; margin-bottom:-14px; }
.polka-hero-note { position:relative; }
.polka-hero-note:after { background:#b94d45; border:3px solid #d67667; border-radius:50%; box-shadow:0 3px 0 rgba(61,35,31,.38), 0 5px 10px rgba(30,20,20,.2); content:''; height:24px; position:absolute; right:24px; top:22px; width:24px; z-index:2; }
@media (max-width:767px) {
  #product-category .category-info { padding:24px 22px; }
  #product-category .category-info:before { right:20px; top:18px; }
  #product-category .fokus-category-list { padding-left:34px; }
  #product-category .fokus-category-list:before { left:8px; }
  #product-category .fokus-category-list li a { font-size:15px; min-height:50px; padding-left:10px; padding-right:10px; }
  .polka-hero-note:after { right:18px; top:18px; }
}
