/* ===== VARIÁVEIS CSS ===== */
:root {
  /* Cores Principais */
  --primary-color: #2a292e;
  --primary-hover: #1a1a1e;
  --secondary-color: #6b7280;
  --accent-color: #2563eb;

  /* Cores de Fundo */
  --bg-primary: #ffffff;
  --bg-secondary: #f9fafb;
  --bg-tertiary: #f3f4f6;
  --bg-gradient: linear-gradient(to bottom, #fff 50%, #f9f9f9 100%);

  /* Cores de Texto */
  --text-primary: #111827;
  --text-secondary: #6b7280;
  --text-muted: #8e8e8c;
  --text-light: #ffffff;

  /* Cores de Estado */
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --error-color: #ef4444;
  --info-color: #3b82f6;

  /* Cores de Borda */
  --border-light: #e5e7eb;
  --border-medium: #d1d5db;
  --border-dark: #9ca3af;

  /* Sombras */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);

  /* Raios de Borda */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;

  /* Espaçamentos */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;

  /* Tipografia */
  --font-family: "AreaSans", sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 2rem;

  /* Pesos da Fonte */
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* Transições */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* Larguras */
  --sidebar-width: 220px;
  --container-max-width: 1200px;

  /* Z-index */
  --z-dropdown: 1000;
  --z-modal: 1050;
  --z-tooltip: 1100;
}

/* ===== TEMA ESCURO (OPCIONAL) ===== */
[data-theme="dark"] {
  --bg-primary: #1f2937;
  --bg-secondary: #111827;
  --bg-tertiary: #374151;
  --text-primary: #f9fafb;
  --text-secondary: #d1d5db;
  --text-muted: #9ca3af;
  --border-light: #374151;
  --border-medium: #4b5563;
  --border-dark: #6b7280;
} 
 /* ========== VARIÁVEIS E RESET ========== */
    * {
      box-sizing: border-box;
    }

    @font-face {
  font-family: "AreaSans";
  src: url("/static/fonts/DMSans-Light.woff2") format("woff2");
  font-weight: 200;
  font-display: swap;
}

@font-face {
  font-family: "AreaSans";
  src: url("/static/fonts/DMSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "AreaSans";
  src: url("/static/fonts/DMSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}


    body {
      margin: 0;
      font-family: AreaSans, sans-serif;
       overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
      
    }

    h2 {
      margin: 0;
    }

    a {
      color: white;
      text-decoration: none;

    }
    

    .wrapper {
      padding-inline: 1rem;
      max-width: 1440px;
      margin: 0 auto;
    }

    /* ========== TOPBAR ========== */
    .topbar {
      padding-block: 1rem;
      display: flex;
      flex-direction: column;
      gap: 1rem;
      background: transparent;
    }

    .topbar-row {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      gap: 1rem;
    align-items: center;
    }

    .logo {
      background: transparent;
      color: white;
      padding: 0rem;
      text-align: center;
      flex-shrink: 0;
      
    }
.logo img {
  height: 64px;
  width: auto;
  
}

 .topbar-row .right{
      display: flex;
      justify-content: right;
      gap: .2rem;
    align-items: center;
    }

    .status-btn, .status-btn a {
      background: transparent;
      color: #111b21;
      
      border-radius: 100px;
      border: none;
      cursor: pointer;
      flex-shrink: 0;
      width: 3rem;
    }

    .cart-icon {
      background: transparent;
      color: #000;
      padding: .2rem;
      text-align: center;
      flex-shrink: 0;
      cursor: pointer;
      transition: background-color 0.2s ease;
      border-radius: 4px;
      /* Propriedades para garantir funcionalidade em mobile */
      touch-action: manipulation;
      -webkit-tap-highlight-color: transparent;
      -webkit-touch-callout: none;
      -webkit-user-select: none;
      user-select: none;
      position: relative;
      z-index: 100;
    }

      

    .search {
      background: #F5F5F5;
      color: #848484;
      padding: 1rem 2rem;
      font-size: 1.2rem;
      border: none;
      width: 100%;
      text-align: left;
      border-radius: 16px;
      outline: none;
    }

    @media (min-width: 768px) {
      .topbar {
        display: grid;
        grid-template-columns: auto 1fr auto auto;
        grid-template-areas: "logo search status cart";
        align-items: center;
        gap: 1rem;
      }

      .topbar-row {
        display: contents;
      }
       .logo img {
    height: 64px;
  }

      .logo       { grid-area: logo; }
      .search     { grid-area: search; width: 100%; }
      .status-btn { grid-area: status; }
      .cart-icon  { grid-area: cart; }
    }
    .search-form {
  all: unset; /* zera qualquer interferência do form */
  display: contents; /* permite que apenas o input seja renderizado no layout */
}

/* ========== BANNERS ==========
   Substitua todo o bloco antigo por este */
.banners {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-block: 1rem;
  width: 100%;
}

/* container de cada banner */
.banner-main,
.banner-side {
  background-position: center center;
  background-size: cover;
  border-radius: 16px;
  background: #F5F5F5;
  background-repeat: no-repeat;
  
  
}

/* banner lateral (mobile: escondido) */
.banner-side {
  display: none;
  flex: 1;
  height: 240px;
  
}

/* banner principal (slider) */
.banner-main {
  width: 100%;
  flex: none;
  height: 240px;
  overflow: hidden;     /* esconde slides extras */
  position: relative;   /* para setas */
  
}

@media (min-width: 768px) {
  .banners {
    flex-direction: row;
  }
  /* banner principal no desktop */
  .banner-main {
    flex: 2;
    width: auto;
    height: 300px;
  }
  /* banner lateral aparece no desktop */
  .banner-side {
    display: block;
    height: 300px;
    background-size: cover;
    background-position: center;
  }
}

/* ===== SLIDER INTERNALS ===== */
.slider {
  display: flex;
  flex-wrap: nowrap;        /* sem quebra de linha */
  transition: transform 0.5s ease;
  height: 100%;
}

/* cada slide é um link de 100% do container */
.slide-link {
  flex: 0 0 100%;
  display: block;
}

/* fundo de cada slide */
.slide {
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
}

/* ===== SETAS DE NAVEGAÇÃO ===== */
.slider-prev,
.slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  border: none;
  color: #fff;
  font-size: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.slider-prev {
  left: 1rem;
}
.slider-next {
  right: 1rem;
}


    /* ========== CATEGORIAS ========== */
    .categories {
      display: flex;
      overflow-x: auto;
      gap: 12px;
      padding-block: 1rem;
      scroll-snap-type: x mandatory;
    }

    .categories::-webkit-scrollbar {
      display: none;
    }

.category {
  width: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  scroll-snap-align: start;
  text-align: center;
}

.thumb {
  width: 100px;
  height: 100px;
  border-radius: 12px;
  overflow: hidden;
  background: transparent;
  background-size: cover;
  background-position: center;
}

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

.category p {
  margin-top: 8px;
  font-size: 0.85rem;
  color: #333;
}


.category img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

    .category:first-child {
      margin-left: 0.25rem;
    }

    @media (min-width: 768px) {
      .categories {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
      }
    }

    /* ========== SESSÃO PRODUTOS ========== */
    .section {
      width: 100%;
      overflow: hidden;
      margin: 1rem 0rem 4rem;
    }

    .section-header {
      background: transparent;
      color: #000;
      border-radius: 12px;
      margin-block: 1rem;
      padding: 1rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
      .section-header a{
      color: #000;
    }

    .products-scroll {
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
    }

    .products-scroll::-webkit-scrollbar {
      display: none;
    }

    .products {
      display: flex;
      gap: 1rem;
      padding: 0rem;
      width: max-content;
    }

    .product-card {
      width: 160px;
      flex-shrink: 0;
      scroll-snap-align: start;
      background: transparent;
      border-radius: 12px;
      padding: 0rem;
      
    }

    .product-image {
  height: 190px;
  border-radius: 8px;
  background: transparent;
  overflow: hidden;
}

.product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-info {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  color: #848484;
  padding: .5rem 0 .5rem .5rem;
}
.product-info p, h4{
  margin: 0rem;
}

.product-info h4{
  font-weight: 400;
}
.product-info p{
  font-weight: bold;
}

    .product-card:first-child {
      margin-left: 0.25rem;
    }

    @media (min-width: 768px) {
      .section-header {
        justify-content: left;
        gap: 2rem;
   
}
      .products-scroll {
        overflow: unset;
      }

      .products {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 1rem;
        width: 100%;
      }

      .product-card {
        width: 90%;
        margin-left: 0;
      }
      
    }

    /* ========== RODAPÉ ========== */
    .bottom-nav {
      display: flex;
      justify-content: space-around;
      background: #fff;
      box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
      color: white;
      padding: 1rem;
      position: fixed;
      bottom: 1rem;
      right: 1rem;
      left: 1rem;
      border-radius: 32px;
      box-shadow: #333;

    }

   

    @media (min-width: 768px) {
      .bottom-nav {
        display: none;
      }
    }

    .site-footer {
  background: #333;
  color: white;
  padding: 2rem 1rem;
  font-size: 0.9rem;
  display: none;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 1440px;
  margin: 0 auto;
}

.footer-col h4 {
  font-size: 1rem;
  margin-bottom: 0.75rem;
  color: #fff;
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col li {
  margin-bottom: 0.5rem;
}

.footer-col a {
  color: #ccc;
  text-decoration: none;
  transition: color 0.2s;
}

.footer-col a:hover {
  color: white;
}

@media (min-width: 768px) {
  .footer-columns {
    grid-template-columns: repeat(4, 1fr);
  }
    .site-footer {
  display: block;
}
}


/* ===== LOGIN PAGE ===== */
.login-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: var(--space-md);
  background: var(--bg-secondary);
}

.login-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1440px;
  width: 100%;
  background: var(--bg-primary);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
}

.login-img {
  max-height: 90vh;
}

.login-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.login-content {
  padding: var(--space-2xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.login-content .logo {
  width: 48px;
  margin-bottom: var(--space-xl);
}

.title {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-sm);
  color: var(--text-primary);
}

.subtitle {
  font-size: var(--font-size-base);
  color: var(--text-secondary);
  margin-bottom: var(--space-xl);
}

.login-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}

.login-links {
  display: flex;
  justify-content: space-between;
  font-size: var(--font-size-sm);
}

.login-links a {
  color: var(--text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.login-links a:hover {
  color: var(--accent-color);
}


/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
 /* Login responsivo */
  .login-container {
    grid-template-columns: 1fr;
  }

  .login-img {
    display: none;
  }

  .login-content {
    padding: var(--space-xl);
  }

  .modal-container {
    width: 95%;
    margin: var(--space-md);
  }
}
/* Botões */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-xl);
  font-size: var(--font-size-base);
  font-weight: var(--font-medium);
  border: none;
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all var(--transition-fast);
  text-decoration: none;
  white-space: nowrap;
}

.btn-primary {
  background: var(--primary-color);
  color: var(--text-light);
}

.btn-primary:hover {
  background: var(--primary-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.btn-secondary {
  background: var(--bg-primary);
  color: var(--text-primary);
  border: 1px solid var(--border-medium);
}

.btn-secondary:hover {
  background: var(--bg-tertiary);
}

.btn-outline {
  background: transparent;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
}

.btn-outline:hover {
  background: var(--primary-color);
  color: var(--text-light);
}

.btn-sm {
  padding: var(--space-sm) var(--space-md);
  font-size: var(--font-size-sm);
}

.btn-lg {
  padding: var(--space-lg) var(--space-2xl);
  font-size: var(--font-size-lg);
}

/* Inputs */
.input {
  width: 100%;
  padding: var(--space-md);
  font-size: var(--font-size-base);
  border: 1px solid var(--border-medium);
  border-radius: var(--radius-md);
  background: var(--bg-primary);
  color: var(--text-primary);
  transition: border-color var(--transition-fast);
}

.input:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.input::placeholder {
  color: var(--text-secondary);
}






img {
      max-width: 100%;
      display: block;
    }

/* ========== IMAGEM MOBILE ========== */
    .product-hero {
      position: relative;
    }

    .product-hero img {
      width: 100%;
      height: 300px;
      object-fit: contain;
    }

    .product-hero .top-icons {
      position: absolute;
      top: 1rem;
      left: 1rem;
      right: 1rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      z-index: 1;
    }

    .product-hero .top-icons img {
      width: 24px;
      height: 24px;
    }


  
    /* ========== DETALHES PRODUTO ========== */
    .product-details {
      padding: 2rem 1rem;
    }

    .product-details h1 {
      font-size: 1.8rem;
      margin-bottom: .5rem;
      font-weight: 400;
    }

    .product-details p.description {
      font-size: 1rem;
      color: #444;
      margin-bottom: 1rem;
      line-height: 1.4;
    }

    .product-price {
      font-size: 1.8rem;
      font-weight: 400;
      margin-bottom: 1rem;
    }

    .product-action {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 2rem;
    }

    .product-action a {
      font-size: 0.75rem;
      color: #444;
      text-decoration: none;
    }

    .buy-button {
      width: 100%;
      background: var(--primary-color);
      color: white;
      font-size: 1rem;
      font-weight: bold;
      padding: 1rem;
      border: none;
      border-radius: 12px;
      cursor: pointer;
    }

    

    /* ========== DESKTOP ========== */
    @media (min-width: 768px) {
      .product-hero {
        display: none; /* escondemos a imagem duplicada no mobile */
      }

      .product-page {
        display: flex;
        padding: 4rem;
        gap: 2rem;
        align-items: flex-start;
        justify-content: center;
      }

      .product-image-desktop {
        flex: 1;
        height: 320px;
        border-radius: 12px;
        background: transparent;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
                max-width: 400px;
      }

      .product-details {
        flex: 1;
        padding: 0;
        max-width: 400px;
      }

      .suggestions {
        padding: 2rem;
      }

      .suggestions-list {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 1rem;
        overflow-x: unset;
      }

      .suggestion-card {
        width: auto;
      }
    }


 .grid-itens{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  width: 100%;
  }
  
  .grid-itens .item{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .grid-itens h3,h4{
  font-weight: 400;
  color: #848484;
  font-size: 1rem;
  margin-bottom: 0rem;
}
  .grid-itens h4{
  font-weight: 600;
  color: #000;
  font-size: .8rem;
  margin-bottom: .5rem;
}
  @media (min-width: 768px) {
  .grid-itens{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
  width: 100%;
  }
 }
 
  
 
    .modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

/* Mobile: Modal fullscreen */
@media (max-width: 768px) {
  .modal {
    align-items: stretch;
    justify-content: stretch;
  }
  
  .modal-content {
    max-width: none;
    width: 100%;
    height: 100%;
    border-radius: 0;
    padding: 0;
    margin: 0;
    background: #ffffff;
    position: relative;
  }
  
  .modal-backdrop {
    display: none; /* No backdrop on mobile since it's fullscreen */
  }
}

/* Desktop: Apply mobile layout but keep modal style */
@media (min-width: 769px) {
  .modal-content {
    max-width: 450px;
    width: 100%;
    height: 90vh;
    border-radius: 12px;
    padding: 0;
    margin: 0;
    background: #ffffff;
    position: relative;
    overflow: hidden;
  }
}

.modal.hidden {
  display: none;
}
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.modal-content {
  position: relative;
  background: white;
  
  max-width: 500px;
  width: 100%;
  border-radius: 8px;
  z-index: 1;
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
  max-height: 90vh;
  overflow-y: auto;
}

/* Modal header with close button */
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
  padding: 0;
  margin-bottom: 2em;
  height: 80px;
  position: relative;
  border-bottom: none;
}

.modal-header h2 {
  position: absolute;
  top: 37px;
  left: 48px;
  font-size: 21.969px;
  font-weight: 400;
  color: #111111;
  margin: 0;
  font-family: 'Outfit', sans-serif;
}

.modal-close {
  position: absolute;
  top: 44px;
  left: 21px;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  border-radius: 0;
}

.modal-close img {
  width: 100%;
  height: 100%;
  opacity: 1;
}

.modal-close:hover {
  background-color: transparent;
}

.modal-close:hover img {
  opacity: 0.7;
}

/* Modal body */
.modal-body {
  padding: 0 37px 0 37px;
  flex: 1;
  font-family: 'Outfit', sans-serif;
  overflow-y: auto;
  height: calc(100% - 160px); /* Space for header and footer */
}

.modal-body .form-group {
  margin-bottom: 2em;
}

.modal-body .form-group label {
  font-size: 20.934px;
  font-weight: 400;
  color: #040405;
  display: block;
  margin-bottom: 1em;
}

.modal-body .input {
  font-size: 32.767px;
  font-weight: 400;
  color: #040405;
  background: transparent;
  border: none;
  border-bottom: 1px dashed #EFEFEF;
  padding: 0.5em 0;
  width: 100%;
  font-family: 'Outfit', sans-serif;
}

.modal-body .input:focus {
  outline: none;
  border-bottom-color: #ea5b0c;
}

/* Checkout Footer - Fixed at bottom */
.checkout-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-top: 1px solid #EFEFEF;
  padding: 16px 20px;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
}

.checkout-footer .total-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.checkout-footer .total-label {
  font-size: 12px;
  color: #666;
  font-weight: 500;
  margin: 0;
}

.checkout-footer .total-value {
  font-size: 18px;
  color: #111111;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}

.checkout-footer .btn-primary {
  background: #ea5b0c;
  color: white;
  border: none;
  border-radius: 25px;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.checkout-footer .btn-primary:hover {
  background: #d4520b;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(234, 91, 12, 0.3);
}

/* Adjust modal content padding to account for fixed footer */
.modal-step {
  padding-bottom: 80px; /* Add space for fixed footer */
}

/* Responsive adjustments for checkout footer */
@media (max-width: 480px) {
  .checkout-footer {
    padding: 12px 16px;
    gap: 12px;
  }
  
  .checkout-footer .total-value {
    font-size: 16px;
  }
  
  .checkout-footer .btn-primary {
    padding: 10px 20px;
    font-size: 14px;
  }
}

/* Form actions */
.form-actions {
  position: absolute;
  bottom: 2em;
  left: 0;
  right: 0;
  padding: 0 37px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.form-actions .btn {
  font-size: 21.138px;
  color: #2c2c2c;
  font-family: 'Outfit', sans-serif;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  padding: 12px 0;
  text-decoration: none;
}

.form-actions .btn-primary {
  color: #ea5b0c;
  font-weight: 500;
}

.form-actions .btn-outline {
  color: #666;
  font-size: 18px;
}

/* Primary actions in single row */
.form-actions.single-row {
  flex-direction: row;
  gap: 2em;
}

.form-actions.single-row .btn-primary {
  flex: 1;
}

/* Table styles - Horizontal product layout */
#summary-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Outfit', sans-serif;
}

#summary-table thead {
  display: none;
}

#summary-table tbody tr {
  display: block;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px dashed #EFEFEF;
}

#summary-table tbody tr:last-child {
  border-bottom: none;
}

.product-row {
  display: block;
  width: 100%;
}

.product-line {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
}

/* Remove button - first element */
.remove-btn {
  background: transparent;
  color: white;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  order: 1;
}

.remove-btn:hover {
  background: #ff3742;
}

/* Product image - second element */
#summary-table .product-image {
  width: 50px;
  height: 50px;
  border-radius: 6px;
  object-fit: cover;
  background: #f5f5f5;
  flex-shrink: 0;
  order: 2;
}

/* Product info - third element (takes available space) */
#summary-table .product-info {
  flex: 1;
  order: 3;
}

#summary-table .product-name {
  font-weight: 600;
  font-size: 16px;
  color: #111111;
  margin-bottom: 4px;
  line-height: 1.2;
}

#summary-table .product-prices {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

#summary-table .unit-price {
  font-size: 12px;
  color: #666;
}

#summary-table .total-price {
  font-size: 14px;
  color: #ea5b0c;
  font-weight: 600;
}

/* Quantity controls - fourth element */
#summary-table .quantity-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f8f8f8;
  border-radius: 20px;
  padding: 4px;
  flex-shrink: 0;
  order: 4;
}

#summary-table .qty-btn {
  background: #fff;
  border: none;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  color: #ea5b0c;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

#summary-table .qty-btn:hover {
  background: #ea5b0c;
  color: white;
}

#summary-table .qty-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

#summary-table .qty-display {
  font-size: 14px;
  font-weight: 600;
  color: #111;
  min-width: 20px;
  text-align: center;
}

/* Total section */
.total-section {
  margin: 2em 0 4em 0;
  padding: 1.5em 0;
  border-top: 1px dashed #8E8E8C;
}

.subtotal-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.subtotal-label {
  font-size: 20.586px;
  color: #131313;
  font-family: 'Outfit', sans-serif;
}

.subtotal-value {
  font-size: 20.586px;
  color: #131313;
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
}

/* Welcome message and similar */
.welcome-message, #saudacao {
  font-size: 32.767px;
  font-weight: 400;
  color: #ea5b0c;
  font-family: 'Outfit', sans-serif;
  line-height: 1.2;
  margin: 3em 0 2em 0;
}
