/* Extracted from ecom/demo15/include/header.php for Ready Shop original home layout. */
* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      -webkit-tap-highlight-color: transparent;
    }

    :root {
      --green: #476546;
      --green-dark: #385237;
      --gold: #b89a6c;
      --gold-deep: #9b7f57;
      --paper: #ffffff;
      --line: #e6dfd4;
      --text: #2f2f2f;
      --muted: #6f6f6f;
      --bg: #ece9e3;
      --shadow-sm: 0 6px 14px rgba(18,18,18,.05);
      --shadow-md: 0 10px 24px rgba(18,18,18,.08);
      --shadow-lg: 0 18px 34px rgba(18,18,18,.14);
      --container: 1200px;
      --radius: 12px;
      --footer-bg: #263924;
      --footer-bg-start: #324730;
      --footer-text: rgba(255,255,255,.9);
      --footer-muted: rgba(255,255,255,.74);
      --footer-heading: #ffffff;
      --footer-link: rgba(255,255,255,.74);
      --footer-link-hover: #ffffff;
      --footer-border: rgba(255,255,255,.10);
      --footer-form-bg: rgba(255,255,255,.08);
      --footer-button-bg: #b99d73;
      --footer-button-bg-end: #a78658;
      --footer-button-text: #ffffff;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: 'Inter', sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.5;
      overflow-x: hidden;
      min-width: 320px;
      text-rendering: optimizeLegibility;
    }

    body.menu-open {
      overflow: hidden;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    img {
      display: block;
      max-width: 100%;
      height: auto;
    }

    button,
    input {
      font-family: inherit;
    }

    button {
      cursor: pointer;
      border: none;
      background: none;
    }

    .site-shell {
      max-width: var(--container);
      margin: 0 auto;
      background: #fff;
      min-height: 100vh;
      overflow: visible;
      box-shadow: 0 0 0 1px rgba(0,0,0,.03);
      position: relative;
    }

    .top-strip {
      background: linear-gradient(180deg, var(--green) 0%, var(--green-dark) 100%);
      color: #fff;
      font-size: 11px;
    }

    .top-strip-inner {
      max-width: var(--container);
      margin: 0 auto;
      min-height: 34px;
      padding: 7px 16px;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
    }

    .header {
      background: #fff;
      border-bottom: 1px solid #ebe5da;
      position: sticky;
      top: 0;
      z-index: 50;
    }

    .header-main {
      display: grid;
      grid-template-columns: 220px minmax(0, 1fr) 220px;
      gap: 18px;
      align-items: center;
      padding: 14px 16px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }

    .brand-mark,
    .footer-logo {
      width: 42px;
      height: 24px;
      border-radius: 40px 40px 12px 12px;
      background: linear-gradient(135deg, #7f9369 0%, #d7c29a 100%);
      position: relative;
      overflow: hidden;
      flex-shrink: 0;
    }

    .brand-mark::before,
    .footer-logo::before {
      content: "";
      position: absolute;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: rgba(255,255,255,.28);
      left: 8px;
      top: 2px;
    }

    .brand-title {
      font-size: 14px;
      font-weight: 800;
      letter-spacing: .5px;
      text-transform: uppercase;
      color: #58674a;
      line-height: 1.2;
    }

    .searchbar {
      position: relative;
      min-width: 0;
    }

    .searchbar input {
      width: 100%;
      height: 44px;
      border: 1px solid #ddd4c8;
      border-radius: 999px;
      padding: 0 48px 0 16px;
      outline: none;
      font-size: 13px;
      transition: border-color .2s ease, box-shadow .2s ease;
      background: #fff;
      color: var(--text);
    }

    .searchbar input:focus {
      border-color: #c7af8d;
      box-shadow: 0 0 0 3px rgba(184,154,108,.10);
    }

    .search-btn {
      position: absolute;
      right: 6px;
      top: 6px;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: linear-gradient(180deg, #f7f1e6 0%, #ede1cb 100%);
      color: #666;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .header-actions {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }

    .action-icon {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      position: relative;
      flex-shrink: 0;
      background: #fff;
      border: 1px solid #eee5d8;
      transition: background .2s ease, transform .2s ease;
    }

    .action-icon:hover {
      background: #f8f3ec;
      transform: translateY(-1px);
    }

    .icon-badge {
      position: absolute;
      top: -5px;
      right: -4px;
      min-width: 17px;
      height: 17px;
      border-radius: 50px;
      background: var(--gold);
      color: #fff;
      font-size: 9px;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 4px;
    }

    .desktop-only {
      display: inline-flex;
    }

    .mobile-menu-toggle {
      display: none;
    }

    .nav-row {
      display: grid;
      grid-template-columns: 220px minmax(0, 1fr) 220px;
      min-height: 48px;
      border-top: 1px solid #f0ebe2;
      border-bottom: 1px solid #ebe4d8;
      background: #fff;
      position: relative;
      z-index: 60;
    }

    .cat-trigger {
      background: linear-gradient(180deg, #b99d73 0%, #ac8f64 100%);
      color: #fff;
      padding: 0 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      user-select: none;
      position: relative;
      z-index: 80;
    }

    .cat-trigger-left {
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }

    .cat-trigger small {
      font-size: 11px;
      font-weight: 600;
      opacity: .95;
    }

    .cat-toggle-icon {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      background: rgba(255,255,255,.14);
      transition: transform .25s ease, background .25s ease;
      flex-shrink: 0;
    }

    .cat-trigger.active .cat-toggle-icon {
      transform: rotate(180deg);
      background: rgba(255,255,255,.22);
    }

    .main-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 24px;
      padding: 0 10px;
      flex-wrap: wrap;
    }

    .main-nav a {
      font-size: 13px;
      color: #666;
      font-weight: 500;
      transition: color .2s ease;
    }

    .main-nav a:hover {
      color: #3e3329;
    }

    .cart-summary {
      background: linear-gradient(180deg, #b99d73 0%, #ac8f64 100%);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 13px;
      font-weight: 700;
      padding: 0 10px;
      text-align: center;
    }

    .hero-layout {
      position: relative;
      display: grid;
      grid-template-columns: 0 minmax(0, 1fr);
      min-height: 430px;
      transition: grid-template-columns .35s ease;
      z-index: 20;
    }

    .hero-layout.sidebar-open {
      grid-template-columns: var(--home-sidebar-width, 220px) minmax(0, 1fr);
    }

    .sidebar {
      background: linear-gradient(180deg, var(--home-sidebar-bg-start, #fbfaf8) 0%, var(--home-sidebar-bg-end, #f7f3ec) 100%);
      border-right: 1px solid var(--home-sidebar-border, #e6dfd5);
      overflow: hidden;
      max-width: 0;
      opacity: 0;
      visibility: hidden;
      transition: max-width .35s ease, opacity .25s ease, visibility .25s ease, border-color .25s ease;
    }

    .sidebar.sidebar-open {
      max-width: var(--home-sidebar-width, 220px);
      opacity: 1;
      visibility: visible;
    }

    .sidebar-menu {
      list-style: none;
      max-height: min(70vh, 560px);
      overflow-y: auto;
      overflow-x: hidden;
      scrollbar-width: thin;
      scrollbar-color: var(--home-sidebar-scrollbar, #cdb089) var(--home-sidebar-bg-end, #f4eee5);
    }

    .sidebar-menu::-webkit-scrollbar {
      width: 8px;
    }

    .sidebar-menu::-webkit-scrollbar-track {
      background: var(--home-sidebar-bg-end, #f4eee5);
      border-radius: 999px;
    }

    .sidebar-menu::-webkit-scrollbar-thumb {
      background: var(--home-sidebar-scrollbar, #cdb089);
      border-radius: 999px;
    }

    .sidebar-menu li {
      border-bottom: 1px solid var(--home-sidebar-item-border, #ece5db);
    }

    .sidebar-menu a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: var(--home-sidebar-padding-y, 13px) var(--home-sidebar-padding-x, 14px);
      font-size: var(--home-sidebar-font-size, 13px);
      color: var(--home-sidebar-link, #5e5e5e);
      transition: background .2s ease, color .2s ease;
    }

    .sidebar-menu a:hover {
      background: var(--home-sidebar-link-hover-bg, #f5eee3);
      color: var(--home-sidebar-link-hover, #2d2d2d);
    }

    .menu-left {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }

    .menu-bullet {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--home-sidebar-bullet, #aaa297);
      flex-shrink: 0;
    }

    .hero-slider {
      position: relative;
      overflow: hidden;
      background: #e9e1d6;
      touch-action: pan-y;
      min-width: 0;
    }

    .slides {
      position: relative;
      min-height: 430px;
    }

    .slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      visibility: hidden;
      transition: opacity .45s ease, visibility .45s ease;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding: 26px 30px 82px;
      background-size: cover;
      background-position: center;
    }

    .slide::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(
        90deg,
        rgba(241,234,223,.95) 0%,
        rgba(241,234,223,.88) 40%,
        rgba(241,234,223,.45) 70%,
        rgba(241,234,223,.16) 100%
      );
    }

    .slide.active {
      opacity: 1;
      visibility: visible;
      position: relative;
    }

    .slide-content {
      position: relative;
      z-index: 2;
      max-width: 540px;
      width: 100%;
    }

    .eyebrow {
      display: inline-block;
      font-size: 11px;
      color: #6a6a6a;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .slide-content h1 {
      font-size: clamp(42px, 7vw, 76px);
      line-height: .92;
      letter-spacing: -2px;
      color: #48433d;
      font-weight: 800;
    }

    .slide-content h2 {
      font-size: clamp(24px, 4vw, 40px);
      line-height: 1;
      color: #fff;
      text-shadow: 0 2px 6px rgba(0,0,0,.08);
      font-weight: 300;
      margin-top: 8px;
    }

    .slide-content p {
      margin-top: 16px;
      color: #5f5f5f;
      font-size: 13px;
      max-width: 450px;
    }

    .hero-cta {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 22px;
    }

    .btn-outline {
      min-height: 42px;
      padding: 0 20px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      font-weight: 700;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
      white-space: nowrap;
      border: 1px solid #cfb89a;
      background: rgba(255,255,255,.58);
      color: #6a553c;
    }

    .btn-outline:hover {
      background: #fff;
      transform: translateY(-1px);
    }

    .hero-controls {
      position: absolute;
      left: 20px;
      right: 20px;
      bottom: 16px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      z-index: 5;
      gap: 16px;
      flex-wrap: wrap;
    }

    .hero-arrows {
      display: flex;
      gap: 10px;
    }

    .hero-arrow {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(255,255,255,.92);
      color: #5a4833;
      font-size: 18px;
      box-shadow: var(--shadow-sm);
      transition: background .2s ease, transform .2s ease;
    }

    .hero-arrow:hover {
      background: #fff;
      transform: translateY(-1px);
    }

    .hero-dots {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .hero-dot {
      width: 10px;
      height: 10px;
      border-radius: 50px;
      background: rgba(80,80,80,.28);
      transition: width .2s ease, background .2s ease;
    }

    .hero-dot.active {
      width: 24px;
      background: linear-gradient(180deg, #b99d73 0%, #a78658 100%);
    }

    .deal-banner {
      position: relative;
      min-height: var(--home-deal-height, 132px);
      height: var(--home-deal-height, 132px);
      overflow: hidden;
      border-top: 1px solid var(--home-deal-border, #e5ddd2);
      border-bottom: 1px solid var(--home-deal-border, #e5ddd2);
      background:
        linear-gradient(color-mix(in srgb, var(--home-deal-bg, #d9cfbf) 10%, transparent), color-mix(in srgb, var(--home-deal-bg, #d9cfbf) 10%, transparent)),
        var(--home-deal-image) center/cover no-repeat,
        var(--home-deal-bg, #d9cfbf);
    }

    .deal-banner::before {
      content: "";
      position: absolute;
      inset: 0;
      background: color-mix(in srgb, var(--home-deal-overlay, #dacdbd) calc(var(--home-deal-overlay-opacity, 45) * 1%), transparent);
    }

    .deal-title {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      background: color-mix(in srgb, var(--home-deal-title-bg, #ffffff) calc(var(--home-deal-title-bg-opacity, 85) * 1%), transparent);
      padding: var(--home-deal-padding-y, 9px) var(--home-deal-padding-x, 24px);
      border-radius: var(--home-deal-radius, 4px);
      font-size: var(--home-deal-font-size, 18px);
      color: var(--home-deal-title-color, #4e4e4e);
      z-index: 2;
      white-space: nowrap;
      max-width: calc(100% - 24px);
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .round-strip {
      position: relative;
      background: linear-gradient(180deg, var(--home-round-bg-start, #d9cfbf) 0%, var(--home-round-bg-end, #d1c4b1) 100%);
      padding: 14px 40px;
      border-bottom: 1px solid var(--home-round-border, #e2d7c8);
      overflow: hidden;
      touch-action: pan-y;
    }

    .round-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      color: var(--home-round-arrow-color, #fff);
      font-size: 22px;
      z-index: 2;
      user-select: none;
      width: 28px;
      text-align: center;
      font-weight: 700;
    }

    .round-arrow.left { left: 8px; }
    .round-arrow.right { right: 8px; }

    .round-slider-window {
      overflow: hidden;
      width: 100%;
    }

    .round-track {
      display: flex;
      gap: 14px;
      width: max-content;
      transition: transform .35s ease;
      will-change: transform;
    }

    .round-card {
      width: 122px;
      min-width: 122px;
      text-align: center;
      flex-shrink: 0;
      color: var(--home-round-name-color, #4f4f4f);
    }

    .round-thumb {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      margin: 0 auto 8px;
      background: radial-gradient(circle at 30% 30%, var(--home-round-thumb-bg-start, #fff) 0%, var(--home-round-thumb-bg-end, #f3f1eb) 70%);
      border: 1px solid var(--home-round-thumb-border, #eee8df);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
      color: var(--home-round-icon-color, #8a7457);
      overflow: hidden;
    }

    .round-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .round-thumb i {
      color: var(--home-round-icon-color, #8a7457);
    }

    .round-name {
      font-size: 11px;
      color: var(--home-round-name-color, #4f4f4f);
      font-weight: 600;
      margin-bottom: 2px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .round-price {
      font-size: 10px;
      color: var(--home-round-count-color, #666);
    }

    .section {
      padding: 16px 16px 0;
      content-visibility: auto;
      contain-intrinsic-size: 400px;
    }

    .section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 14px;
      flex-wrap: wrap;
    }

    .section-head h3 {
      font-size: 14px;
      font-weight: 800;
      color: #222;
    }

    .section-head a {
      font-size: 11px;
      color: #6f87bc;
      font-weight: 600;
    }

    .categories-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border-top: 1px solid var(--line);
      border-left: 1px solid var(--line);
      background: #fff;
    }

    .category-box {
      min-height: 150px;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 16px;
      display: grid;
      grid-template-columns: 96px minmax(0, 1fr);
      gap: 14px;
      background: #fff;
      align-items: start;
      transition: background .2s ease;
    }

    .category-box:hover {
      background: #fcfaf6;
    }

    .cat-visual {
      width: 96px;
      height: 80px;
      border-radius: 10px;
      overflow: hidden;
      background: #f3efe8;
    }

    .cat-visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .category-box h4 {
      font-size: 13px;
      font-weight: 800;
      margin-bottom: 8px;
      color: #252525;
      line-height: 1.3;
    }

    .category-box ul {
      list-style: none;
    }

    .category-box li {
      font-size: 11px;
      color: #6b6b6b;
      line-height: 1.55;
      word-break: break-word;
    }

    .promo-grid {
      padding: 18px 16px 0;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      content-visibility: auto;
      contain-intrinsic-size: 500px;
    }

    .promo-card {
      position: relative;
      min-height: 280px;
      overflow: hidden;
      border-radius: var(--radius);
      transition: transform .2s ease;
      color: #fff;
      isolation: isolate;
      background: #ddd;
    }

    .promo-card:hover {
      transform: translateY(-3px);
    }

    .promo-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .promo-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.42) 100%);
      z-index: 1;
    }

    .promo-copy {
      position: absolute;
      inset: 0;
      z-index: 2;
      padding: 24px 20px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .promo-top h2 {
      font-size: clamp(28px, 4vw, 36px);
      line-height: .98;
      font-weight: 300;
      letter-spacing: -.8px;
      margin-bottom: 8px;
    }

    .promo-top p {
      font-size: 13px;
      opacity: .96;
    }

    .promo-mini {
      font-size: 11px;
      font-weight: 500;
      opacity: .9;
    }

    .products-section {
      padding: 18px 16px 24px;
      content-visibility: auto;
      contain-intrinsic-size: 700px;
    }

    .product-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      border-top: 1px solid var(--line);
      border-left: 1px solid var(--line);
      background: #fff;
    }

    .product-card {
      min-height: 310px;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 14px 12px 18px;
      text-align: center;
      background: #fff;
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      overflow: hidden;
      transition: background .2s ease, transform .2s ease;
    }

    .product-card:hover {
      background: #fcfaf6;
      transform: translateY(-2px);
    }

    .discount-badge {
      position: absolute;
      top: 12px;
      left: 12px;
      z-index: 2;
      background: linear-gradient(180deg, #e95f5f 0%, #d74141 100%);
      color: #fff;
      font-size: 10px;
      font-weight: 800;
      padding: 6px 9px;
      border-radius: 999px;
      letter-spacing: .3px;
    }

    .product-thumb {
      width: 100%;
      height: 128px;
      border-radius: 12px;
      overflow: hidden;
      margin-bottom: 12px;
      background: #f3efe8;
    }

    .product-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .25s ease;
    }

    .product-card:hover .product-thumb img {
      transform: scale(1.03);
    }

    .product-title {
      font-size: 12px;
      color: #4c4c4c;
      min-height: 36px;
      line-height: 1.45;
      margin-bottom: 8px;
      font-weight: 600;
      width: 100%;
      word-break: break-word;
    }

    .stars {
      font-size: 11px;
      letter-spacing: 1px;
      color: #d2a44a;
      margin-bottom: 6px;
    }

    .price-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 14px;
      min-height: 22px;
    }

    .old-price {
      font-size: 11px;
      color: #9a9a9a;
      text-decoration: line-through;
    }

    .product-price {
      font-size: 13px;
      font-weight: 800;
      color: #6a5641;
    }

    .buy-btn {
      margin-top: auto;
      width: 100%;
      min-width: 0;
      height: 40px;
      border-radius: 999px;
      background: linear-gradient(180deg, #b99d73 0%, #a78658 100%);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      transition: transform .2s ease, filter .2s ease;
    }

    .buy-btn:hover {
      transform: translateY(-1px);
      filter: brightness(1.03);
    }

    .footer {
      width: 100%;
      background: linear-gradient(180deg, var(--footer-bg-start, #324730) 0%, var(--footer-bg, #263924) 100%);
      color: var(--footer-text, rgba(255,255,255,.9));
      margin-top: 24px;
    }

    .footer-inner {
      max-width: var(--container);
      margin: 0 auto;
      padding: 42px 16px 18px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1fr;
      gap: 28px;
      margin-bottom: 24px;
    }

    .footer-brand {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 14px;
    }

    .footer-brand h3 {
      font-size: 16px;
      font-weight: 800;
      letter-spacing: .5px;
      text-transform: uppercase;
      color: var(--footer-heading, #ffffff);
    }

    .footer-description,
    .footer-about p {
      font-size: 13px;
      color: var(--footer-muted, rgba(255,255,255,.74));
      max-width: 330px;
    }

    .footer-title {
      font-size: 14px;
      font-weight: 700;
      margin-bottom: 14px;
      color: var(--footer-heading, #ffffff);
    }

    .footer-links {
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .footer-links a {
      font-size: 13px;
      color: var(--footer-link, rgba(255,255,255,.74));
      transition: color .2s ease;
    }

    .footer-links a:hover {
      color: var(--footer-link-hover, #ffffff);
    }

    .newsletter-text {
      font-size: 13px;
      color: var(--footer-muted, rgba(255,255,255,.74));
      margin-bottom: 14px;
    }

    .newsletter-form {
      display: flex;
      align-items: center;
      gap: 10px;
      background: var(--footer-form-bg, rgba(255,255,255,.08));
      border: 1px solid var(--footer-border, rgba(255,255,255,.10));
      padding: 8px;
      border-radius: 999px;
    }

    .newsletter-form input {
      flex: 1;
      min-width: 0;
      background: transparent;
      border: none;
      outline: none;
      color: var(--footer-text, #ffffff);
      font-size: 13px;
      padding: 0 10px;
      height: 38px;
    }

    .newsletter-form input::placeholder {
      color: color-mix(in srgb, var(--footer-text, #ffffff) 58%, transparent);
    }

    .newsletter-form button {
      height: 38px;
      padding: 0 16px;
      border-radius: 999px;
      background: linear-gradient(180deg, var(--footer-button-bg, #b99d73) 0%, var(--footer-button-bg-end, #a78658) 100%);
      color: var(--footer-button-text, #ffffff);
      font-size: 12px;
      font-weight: 700;
    }

    .footer-bottom {
      border-top: 1px solid var(--footer-border, rgba(255,255,255,.10));
      padding-top: 16px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      flex-wrap: wrap;
    }

    .footer-bottom p,
    .footer-bottom a {
      font-size: 12px;
      color: var(--footer-muted, rgba(255,255,255,.68));
    }

    .footer-policy {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .mobile-drawer-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,.36);
      opacity: 0;
      visibility: hidden;
      transition: .25s ease;
      z-index: 999;
    }

    .mobile-drawer-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .mobile-drawer {
      position: fixed;
      top: 0;
      left: 0;
      width: min(86vw, 340px);
      height: 100vh;
      background: #fff;
      transform: translateX(-100%);
      transition: .28s ease;
      z-index: 1000;
      display: flex;
      flex-direction: column;
      box-shadow: 0 16px 40px rgba(0,0,0,.14);
    }

    .mobile-drawer.active {
      transform: translateX(0);
    }

    .drawer-head {
      padding: 16px 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid #eee6da;
      background: linear-gradient(180deg, #fff 0%, #faf7f1 100%);
    }

    .drawer-close {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: #f5efe5;
      color: #5b4b38;
      font-size: 20px;
    }

    .drawer-body {
      overflow-y: auto;
      padding: 12px 14px 90px;
    }

    .drawer-nav,
    .drawer-category {
      display: grid;
      gap: 8px;
    }

    .drawer-nav {
      margin-bottom: 18px;
    }

    .drawer-nav a,
    .drawer-category a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 13px 14px;
      border-radius: 14px;
      background: #faf7f1;
      border: 1px solid #f0e7da;
      font-size: 14px;
      font-weight: 600;
      color: #403427;
    }

    .drawer-title {
      font-size: 12px;
      font-weight: 800;
      color: #8a7457;
      letter-spacing: 1px;
      text-transform: uppercase;
      margin: 12px 0 10px;
    }

    .mobile-bottom-nav {
      display: none;
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 998;
      background: rgba(255,255,255,.97);
      backdrop-filter: blur(10px);
      border-top: 1px solid #e8e0d4;
      padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
    }

    .mobile-bottom-grid {
      max-width: 560px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 6px;
    }

    .mobile-bottom-item {
      min-height: 56px;
      border-radius: 14px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      color: #5c5c5c;
      font-size: 10px;
      font-weight: 700;
      position: relative;
      text-align: center;
      transition: background .2s ease;
    }

    .mobile-bottom-item.active {
      background: #f7f1e8;
      color: #8a6f4b;
    }

    .mobile-bottom-item .nav-icon {
      font-size: 18px;
      line-height: 1;
    }

    .mobile-bottom-badge {
      position: absolute;
      top: 6px;
      right: 16px;
      min-width: 16px;
      height: 16px;
      border-radius: 50px;
      background: #d74141;
      color: #fff;
      font-size: 9px;
      font-weight: 800;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 4px;
    }

    @media (max-width: 1180px) {
      .site-shell {
        margin: 0 12px;
      }

      .header-main,
      .nav-row {
        grid-template-columns: 200px minmax(0, 1fr) 200px;
      }

      .hero-layout.sidebar-open {
        grid-template-columns: min(200px, var(--home-sidebar-width, 220px)) minmax(0, 1fr);
      }

      .sidebar.sidebar-open {
        max-width: min(200px, var(--home-sidebar-width, 220px));
      }
      .sidebar {
        width: min(200px, var(--home-sidebar-width, 220px));
        max-width: min(200px, var(--home-sidebar-width, 220px));
      }

      .main-nav {
        gap: 18px;
      }

      .product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
      }
    }

    @media (max-width: 991px) {
      .top-strip-inner {
        justify-content: center;
      }

      .header-main {
        grid-template-columns: 1fr auto;
        gap: 12px;
      }

      .searchbar {
        grid-column: 1 / -1;
        order: 3;
      }

      .nav-row {
        grid-template-columns: 1fr 1fr;
      }

      .main-nav {
        display: none;
      }

      .hero-layout,
      .hero-layout.sidebar-open {
        grid-template-columns: 1fr;
      }

      .sidebar,
      .sidebar.sidebar-open {
        display: none !important;
        max-width: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
      }

      .slides {
        min-height: 500px;
      }

      .slide {
        padding: 22px 22px 84px;
      }

      .categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .promo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 767px) {
      body {
        background: #fff;
      }

      .site-shell {
        margin: 0;
        box-shadow: none;
      }

      .desktop-only {
        display: none;
      }

      .mobile-menu-toggle {
        display: inline-flex;
      }

      .top-strip {
        display: none;
      }

      .header-main {
        padding: 10px 12px;
        gap: 10px;
      }

      .brand-title {
        font-size: 12px;
      }

      .action-icon {
        width: 36px;
        height: 36px;
      }

      .searchbar input {
        height: 40px;
        font-size: 12px;
      }

      .nav-row {
        grid-template-columns: 1fr;
        min-height: auto;
      }

      .cat-trigger,
      .cat-trigger-left,
      .cat-trigger small,
      .cat-toggle-icon {
        display: none !important;
      }

      .cart-summary {
        display: none;
      }

      .slides {
        min-height: 470px;
      }

      .slide {
        padding: 20px 14px 82px;
      }

      .slide-content p {
        max-width: 100%;
        font-size: 12px;
      }

      .hero-cta {
        width: 100%;
      }

      .hero-cta .btn-outline {
        flex: 1 1 100%;
        min-width: 0;
      }

      .hero-controls {
        left: 14px;
        right: 14px;
        bottom: 14px;
        gap: 12px;
      }

      .hero-dots {
        justify-content: flex-start;
      }

      .round-strip {
        padding-left: 34px;
        padding-right: 34px;
      }

      .round-card {
        width: 104px;
        min-width: 104px;
      }

      .section {
        padding: 14px 12px 0;
      }

      .section-head {
        margin-bottom: 12px;
      }

      .section-head h3 {
        font-size: 13px;
      }

      .categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .category-box {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px;
        min-height: auto;
      }

      .cat-visual {
        width: 100%;
        height: 110px;
        max-width: 100%;
      }

      .category-box h4 {
        font-size: 12px;
        margin-bottom: 6px;
      }

      .category-box li {
        font-size: 10px;
        line-height: 1.5;
      }

      .promo-grid {
        padding: 16px 12px 0;
        grid-template-columns: 1fr;
        gap: 12px;
      }

      .promo-card {
        min-height: 230px;
      }

      .promo-copy {
        padding: 20px 18px;
      }

      .products-section {
        padding: 16px 12px 22px;
      }

      .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .product-card {
        min-height: auto;
        padding: 14px 10px 16px;
      }

      .product-thumb {
        height: 150px;
      }

      .product-title {
        font-size: 13px;
        min-height: 38px;
      }

      .buy-btn {
        height: 42px;
        font-size: 13px;
      }

      .footer-inner {
        padding: 30px 12px 88px;
      }

      .footer-grid {
        grid-template-columns: 1fr;
        gap: 20px;
      }

      .newsletter-form {
        flex-direction: column;
        border-radius: 18px;
      }

      .newsletter-form input,
      .newsletter-form button {
        width: 100%;
      }

      .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
      }

      .mobile-bottom-nav {
        display: block;
      }
    }

    @media (max-width: 540px) {
      .header-main {
        grid-template-columns: 1fr auto;
      }

      .brand-title {
        white-space: normal;
      }

      .slides {
        min-height: 450px;
      }

      .slide {
        padding: 18px 12px 82px;
      }

      .slide-content h1 {
        font-size: clamp(36px, 12vw, 42px);
      }

      .slide-content h2 {
        font-size: clamp(22px, 6vw, 24px);
      }

      .hero-controls {
        flex-direction: column;
        align-items: flex-start;
      }

      .categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .category-box {
        padding: 10px;
      }

      .cat-visual {
        height: 92px;
      }

      .category-box h4 {
        font-size: 11px;
      }

      .category-box li {
        font-size: 9px;
        line-height: 1.4;
      }

      .product-grid {
        grid-template-columns: 1fr;
      }

      .product-thumb {
        height: 190px;
      }

      .footer-inner {
        padding-bottom: 96px;
      }
    }

    @media (max-width: 380px) {
      .header-main {
        padding: 10px;
      }

      .section,
      .products-section,
      .promo-grid,
      .footer-inner {
        padding-left: 10px;
        padding-right: 10px;
      }

      .hero-arrow {
        width: 36px;
        height: 36px;
      }

      .mobile-bottom-item {
        font-size: 9px;
      }

      .cat-visual {
        height: 84px;
      }
    }

    .ready-demo15-home .hero-layout {
      display: grid;
      grid-template-columns: 0 minmax(0, 1fr);
      width: 100%;
      max-width: var(--container);
      margin: 0 auto;
      position: relative;
      overflow: hidden;
    }

    .ready-demo15-home .hero-layout.sidebar-open {
      grid-template-columns: var(--home-sidebar-width, 220px) minmax(0, 1fr);
    }

    .ready-demo15-home .sidebar {
      position: relative;
      inset: auto;
      width: auto;
      min-width: 0;
      z-index: 2;
    }

    .ready-demo15-home .sidebar.sidebar-open {
      max-width: var(--home-sidebar-width, 220px);
    }

    .ready-demo15-home .hero-slider {
      display: block !important;
      min-width: 0;
      width: 100%;
    }

    @media (max-width: 1180px) {
      .ready-demo15-home .hero-layout.sidebar-open {
        grid-template-columns: min(200px, var(--home-sidebar-width, 220px)) minmax(0, 1fr);
      }

      .ready-demo15-home .sidebar.sidebar-open {
        max-width: min(200px, var(--home-sidebar-width, 220px));
      }
    }

    @media (max-width: 991px) {
      .ready-demo15-home .hero-layout,
      .ready-demo15-home .hero-layout.sidebar-open {
        grid-template-columns: 1fr;
      }

      .ready-demo15-home .sidebar,
      .ready-demo15-home .sidebar.sidebar-open {
        display: none !important;
      }
    }

    .ready-demo15-home {
      --ready-hero-ratio: 16 / 7;
      --ready-promo-ratio: 4 / 3;
      --ready-category-ratio: 6 / 5;
      --ready-product-ratio: 1 / 1;
    }

    .ready-demo15-home .hero-slider,
    .ready-demo15-home .slides {
      min-height: clamp(360px, 36vw, 430px);
    }

    .ready-demo15-home .slide {
      min-height: clamp(360px, 36vw, 430px);
      background-size: cover !important;
      background-position: center !important;
      background-repeat: no-repeat !important;
    }

    .ready-demo15-home .promo-card {
      min-height: 0;
      aspect-ratio: var(--ready-promo-ratio);
    }

    .ready-demo15-home .cat-visual {
      width: 96px;
      height: auto;
      aspect-ratio: var(--ready-category-ratio);
    }

    .ready-demo15-home .cat-visual img,
    .ready-demo15-home .promo-card img,
    .ready-demo15-home .product-thumb img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover !important;
      object-position: center;
    }

    .ready-demo15-home .product-card,
    .ready-demo15-home .shop-product-card {
      height: 100%;
      display: flex;
      flex-direction: column;
    }

    .ready-demo15-home .product-thumb,
    .ready-demo15-home .shop-product-thumb,
    .ready-demo15-home .product-image,
    .ready-demo15-home .product-card-image {
      width: 100%;
      height: auto !important;
      aspect-ratio: var(--ready-product-ratio);
      flex: 0 0 auto;
      overflow: hidden;
      background: #f3efe8;
    }

    @media (max-width: 767px) {
      .ready-demo15-home .hero-slider,
      .ready-demo15-home .slides,
      .ready-demo15-home .slide {
        min-height: 430px;
      }
    }

    @media (max-width: 520px) {
      .ready-demo15-home .promo-card {
        aspect-ratio: 1 / 1;
      }

      .ready-demo15-home .cat-visual {
        width: 84px;
      }
    }

    .ready-demo15-home .slide::before {
      background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--home-hero-overlay-color, #f1eadf) 95%, transparent) 0%,
        color-mix(in srgb, var(--home-hero-overlay-color, #f1eadf) 82%, transparent) 42%,
        color-mix(in srgb, var(--home-hero-overlay-color-secondary, #f1eadf) 48%, transparent) 72%,
        color-mix(in srgb, var(--home-hero-overlay-color-secondary, #f1eadf) 16%, transparent) 100%
      ) !important;
    }

    .ready-demo15-home .slide-content,
    .ready-demo15-home .slide-content .eyebrow,
    .ready-demo15-home .slide-content h1,
    .ready-demo15-home .slide-content h2,
    .ready-demo15-home .slide-content p {
      color: var(--home-hero-text-color, #48433d) !important;
    }

    .ready-demo15-home .hero-cta .btn-outline {
      background: var(--home-hero-button-bg, rgba(255,255,255,.58)) !important;
      border-color: var(--home-hero-button-bg, #cfb89a) !important;
      color: var(--home-hero-button-text, #6a553c) !important;
    }

    .ready-demo15-home .hero-cta .btn-outline:hover {
      background: var(--button-hover-bg, var(--home-hero-button-bg, #fff)) !important;
      color: var(--button-hover-text, var(--home-hero-button-text, #6a553c)) !important;
    }
