   :root {
       --accent: var(--color-1st);
       --red: #a83836;
       --stone-50: #fafaf9;
   }

   body {
       background-color: white;
       font-family: 'Plus Jakarta Sans', sans-serif;
       -webkit-font-smoothing: antialiased;
   }

   .serif-atelier {
       font-family: 'Cormorant Garamond', serif;
   }

   .boutique-wrapper {
       max-width: 1800px;
       margin: 0 auto;
       padding: 0 15px;
   }

   @media (min-width: 1024px) {
       .boutique-wrapper {
           padding: 0 40px;
       }
   }

   .editorial-header {
       padding: 5rem 0 3rem 0;
       border-bottom: 1px solid #f1f1f1;
       margin-bottom: 2rem;
   }

   .main-layout {
       display: flex;
       flex-direction: column;
       gap: 30px;
   }

   @media (min-width: 1024px) {
       .main-layout {
           flex-direction: row;
           align-items: flex-start;
       }
   }

   .sidebar-container {
       width: 100%;
       flex-shrink: 0;
   }

   @media (min-width: 1024px) {
       .sidebar-container {
           width: 280px;
           position: sticky;
           top: 40px;
       }
   }

   .category-box {
       background: var(--stone-50);
       border: 1px solid #eee;
       border-radius: 2rem;
       padding: 2rem;
   }

   .sidebar-label {
       font-size: 10px;
       font-weight: 800;
       text-transform: uppercase;
       letter-spacing: 0.3em;
       color: #b0aaa5;
       margin-bottom: 1.5rem;
       display: block;
   }

   .cat-nav {
       display: flex;
       flex-direction: row;
       gap: 10px;
       overflow-x: auto;
       padding-bottom: 5px;
   }

   @media (min-width: 1024px) {
       .cat-nav {
           flex-direction: column;
           gap: 8px;
           overflow-x: visible;
       }
   }

   .cat-btn {
       padding: 12px 20px;
       border-radius: 100px;
       font-size: 13px;
       font-weight: 600;
       color: #57534e;
       transition: all 0.3s;
       white-space: nowrap;
       border: 1px solid transparent;
       text-decoration: none !important;
   }

   .cat-btn.active {
       background: var(--color-1st);
       color: white;
   }

   .cat-btn:not(.active):hover {
       background: white;
       border-color: #eee;
       color: black;
   }

   .products-area {
       flex-grow: 1;
   }

   .sorting-bar {
       display: flex;
       justify-content: space-between;
       align-items: center;
       margin-bottom: 2.5rem;
       padding-bottom: 1rem;
       border-bottom: 1px solid #f9f8f7;
   }

   .sort-select-wrap {
       display: flex;
       align-items: center;
       gap: 10px;
       background: #fff;
       border: 1px solid #eee;
       padding: 8px 16px;
       border-radius: 100px;
   }

   .sort-select-wrap select {
       border: none;
       outline: none;
       font-size: 12px;
       font-weight: 700;
       cursor: pointer;
       background: transparent;
   }

   .atelier-grid {
       display: grid;
       grid-template-columns: repeat(2, 1fr);
       gap: 15px;
   }

   @media (min-width: 768px) {
       .atelier-grid {
           grid-template-columns: repeat(3, 1fr);
           gap: 30px;
       }
   }

   @media (min-width: 1500px) {
       .atelier-grid {
           grid-template-columns: repeat(4, 1fr);
           gap: 40px;
       }
   }

   .product-card-atelier {
       width: 100% !important;
       margin-bottom: 20px;
   }

   .rounded-huge-atelier {
       border-radius: 2rem !important;
   }

   @media (min-width: 1024px) {
       .rounded-huge-atelier {
           border-radius: 3.5rem !important;
       }
   }

   .star-active {
       color: var(--accent) !important;
       font-variation-settings: 'FILL' 1;
   }

   .star-empty {
       color: #e2e8f0 !important;
   }

   .pagination-atelier {
       margin-top: 6rem;
       border-top: 1px solid #eee;
       padding-top: 3rem;
       display: flex;
       justify-content: center;
       align-items: center;
       gap: 30px;
   }

   .page-arrow {
       width: 50px;
       height: 50px;
       border-radius: 50%;
       border: 1px solid #eee;
       display: flex;
       align-items: center;
       justify-content: center;
       transition: 0.3s;
   }

   .page-arrow:hover {
       background: var(--color-1st);
       color: white;
       border-color: var(--color-1st);
   }

   .reveal {
       opacity: 0;
       transform: translateY(20px);
       transition: all 0.8s ease;
   }

   .reveal.is-visible {
       opacity: 1;
       transform: translateY(0);
   }

   .size-grid {
       display: grid;
       grid-template-columns: repeat(3, 1fr);
       gap: 8px;
   }

   .size-item {
       display: flex;
       align-items: center;
       justify-content: center;
       padding: 10px 5px;
       border: 1px solid #eee;
       border-radius: 12px;
       font-size: 11px;
       font-weight: 700;
       color: #57534e;
       text-decoration: none !important;
       transition: all 0.2s ease;
       background: white;
   }

   .size-item:hover {
       border-color: var(--color-1st);
       color: black;
   }

   .size-item.active {
       background: var(--color-1st);
       color: white;
       border-color: var(--color-1st);
   }

   @media (min-width: 1024px) {
       .size-grid {
           grid-template-columns: repeat(4, 1fr);
       }
   }

   .size-grid {
       display: flex;
       flex-direction: row;
       gap: 10px;
       overflow-x: auto;
       padding-bottom: 10px;
       scrollbar-width: none;
       -ms-overflow-style: none;
   }

   .size-grid::-webkit-scrollbar {
       display: none;
   }

   .size-item {
       flex-shrink: 0;
       min-width: 60px;
       display: flex;
       align-items: center;
       justify-content: center;
       padding: 10px 15px;
       border: 1px solid #eee;
       border-radius: 12px;
       color: #57534e;
       text-decoration: none !important;
       background: white;
       transition: all 0.3s;
   }

   @media (min-width: 1024px) {
       .size-grid {
           display: grid;
           overflow-x: visible;
           gap: 8px;
       }

       .size-item {
           min-width: unset;
           padding: 12px 5px;
       }
   }

   .size-item.active {
       background-color: var(--color-1st) !important;
       color: white !important;
       border-color: var(--color-1st) !important;
   }

    .size-item:hover:not(.active) {
         background-color: white;
         border-color: #eee;
         color: black;
    }

   :root { --accent: var(--color-1st); --red: #a83836; --stone-50: #fafaf9; }
   body { background-color: white; font-family: 'Plus Jakarta Sans', sans-serif; -webkit-font-smoothing: antialiased; }
   .serif-atelier { font-family: 'Cormorant Garamond', serif; }
   
   .boutique-wrapper { max-width: 1800px; margin: 0 auto; padding: 0 15px; }
   @media (min-width: 1024px) { .boutique-wrapper { padding: 0 40px; } }

   .editorial-header { padding: 5rem 0 3rem 0; border-bottom: 1px solid #f1f1f1; margin-bottom: 2rem; }

   .main-layout { display: flex; flex-direction: column; gap: 30px; }
   @media (min-width: 1024px) { .main-layout { flex-direction: row; align-items: flex-start; } }

   .sidebar-container { width: 100%; flex-shrink: 0; }
   @media (min-width: 1024px) { .sidebar-container { width: 280px; position: sticky; top: 40px; } }

   .category-box {
      background: var(--stone-50); border: 1px solid #eee; border-radius: 2rem; padding: 2rem;
   }
   .sidebar-label {
      font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.3em;
      color: #b0aaa5; margin-bottom: 1.5rem; display: block;
   }
   
   .cat-nav { display: flex; flex-direction: row; gap: 10px; overflow-x: auto; padding-bottom: 5px;scrollbar-width: none; }
   @media (min-width: 1024px) { .cat-nav { flex-direction: column; gap: 8px; overflow-x: visible; } }
   
   .cat-btn {
      padding: 12px 20px; border-radius: 100px; font-size: 13px; font-weight: 600;
      color: #57534e; transition: all 0.3s; white-space: nowrap; border: 1px solid transparent;
      text-decoration: none !important;
   }
   .cat-btn.active { background: var(--color-1st); color: white; }
   .cat-btn:not(.active):hover { background: white; border-color: #eee; color: black; }

   .products-area { flex-grow: 1; }

   .sorting-bar {
      display: flex; justify-content: space-between; align-items: center;
      margin-bottom: 2.5rem; padding-bottom: 1rem; border-bottom: 1px solid #f9f8f7;
   }
   .sort-select-wrap {
      display: flex; align-items: center; gap: 10px; background: #fff;
      border: 1px solid #eee; padding: 8px 16px; border-radius: 100px;
   }
   .sort-select-wrap select {
      border: none; outline: none; font-size: 12px; font-weight: 700; cursor: pointer; background: transparent;
   }

   .atelier-grid {
      display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px;
   }
   @media (min-width: 768px) { .atelier-grid { grid-template-columns: repeat(3, 1fr); gap: 30px; } }
   @media (min-width: 1500px) { .atelier-grid { grid-template-columns: repeat(4, 1fr); gap: 40px; } }

   .product-card-atelier { width: 100% !important; margin-bottom: 20px; }
   .rounded-huge-atelier { border-radius: 2rem !important; }
   @media (min-width: 1024px) { .rounded-huge-atelier { border-radius: 3.5rem !important; } }
   
   .star-active { color: var(--accent) !important; font-variation-settings: 'FILL' 1; }
   .star-empty { color: #e2e8f0 !important; }

   .pagination-atelier {
      margin-top: 6rem; border-top: 1px solid #eee; padding-top: 3rem;
      display: flex; justify-content: center; align-items: center; gap: 30px;
   }
   .page-arrow {
      width: 50px; height: 50px; border-radius: 50%; border: 1px solid #eee;
      display: flex; align-items: center; justify-content: center; transition: 0.3s;
   }
   .page-arrow:hover { background: var(--color-1st); color: white; border-color: var(--color-1st); }

   .reveal { opacity: 0; transform: translateY(20px); transition: all 0.8s ease; }
   .reveal.is-visible { opacity: 1; transform: translateY(0); }
   .size-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
   }

   .size-item {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 10px 5px;
      border: 1px solid #eee;
      border-radius: 12px;
      color: #57534e;
      text-decoration: none !important;
      transition: all 0.2s ease;
      background: white;
   }

   .size-item:hover {
      border-color: var(--color-1st);
      color: black;
   }

   .size-item.active {
      background: var(--color-1st);
      color: white;
      border-color: var(--color-1st);
   }

   @media (min-width: 1024px) {
      .size-grid {
         grid-template-columns: repeat(4, 1fr);
      }
   }
   .size-grid {
      display: flex;
      flex-direction: row;
      gap: 10px;
      overflow-x: auto;
      padding-bottom: 10px;
      scrollbar-width: none;
      -ms-overflow-style: none;
   }

   .size-grid::-webkit-scrollbar {
      display: none;
   }

   .size-item {
      flex-shrink: 0;
      min-width: 60px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 10px 15px;
      border: 1px solid #eee;
      border-radius: 12px;
      color: #57534e;
      text-decoration: none !important;
      background: white;
      transition: all 0.3s;
   }

   @media (min-width: 1024px) {
      .size-grid {
         display: grid;
         overflow-x: visible;
         gap: 8px;
      }
      
      .size-item {
         min-width: unset;
         padding: 12px 5px;
      }
   }

   .size-item.active {
      background-color: var(--color-1st) !important;
      color: white !important;
      border-color: var(--color-1st) !important;
   }

   .summary-clamp {
       display: -webkit-box;
       -webkit-line-clamp: 2;
       -webkit-box-orient: vertical;
       overflow: hidden;
       text-overflow: ellipsis;
       min-height: 2.8em;
   }