.back-button {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #333;
    text-decoration: none;
    padding: 8px;
    transition: opacity 0.2s ease;
    font-size: 16px;
}

.back-button:hover {
    opacity: 0.8;
}
.back-button {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff !important;
    text-decoration: none !important;
    padding: 8px 12px !important;
    transition: opacity 0.2s ease;
    font-size: 16px;
    background: transparent !important;
}

.back-button:hover {
    opacity: 0.9;
}

.back-button svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    display: inline-block;
}

.back-button span {
    font-size: 16px;
}

/* Hide any leftover icon elements or pseudo-elements that may draw a square */
.product-header .back-button i,
.product-header .back-button::before,
.product-header .back-button::after,
.product-header .back-button [class*="fa-"],
.product-header .back-button [role="img"] {
    display: none !important;
    background: none !important;
    content: none !important;
}

/* Ensure no background image or border shows */
.product-header .back-button {
    background-image: none !important;
    border: none !important;
}

/* If another stylesheet sets a fixed-position .voltar, prefer this header button */
.product-header .back-button {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
}

/* Coberturas Section Styles */
.coberturas-section {
    background-color: #f5f5f5;
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
}

.coberturas-section .group-header {
    background-color: #e8e8e8;
    padding: 12px 16px;
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 4px 4px 0 0;
}

.coberturas-section .group-header h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.coberturas-section .tag-required {
    background-color: #1a1a1a;
    color: white;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.cobertura-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid #e0e0e0;
    background-color: white;
}

.cobertura-item:last-child {
    border-bottom: none;
}

.cobertura-item label {
    font-size: 16px;
    font-weight: 500;
    color: #333;
    margin: 0;
    cursor: pointer;
    flex: 1;
}

/* Header layout for sample style (title + subtitle + counter/check) */
.coberturas-section .group-header .header-left {
    display: flex;
    flex-direction: column;
}

.coberturas-section .group-header .header-subtitle {
    margin: 4px 0 0 0;
    font-size: 13px;
    color: #666;
    font-weight: 400;
}

.coberturas-section .group-header .header-right {
    display: flex;
    gap: 8px;
    align-items: center;
}

.coberturas-section .counter-badge {
    background: #0b0b0b;
    color: #fff;
    padding: 6px 8px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 12px;
}

.coberturas-section .check-icon {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #d0d0d0;
    color: #fff;
    font-size: 14px;
}

.coberturas-section .check-icon.valid {
    background: #2ecc71;
    color: white;
}

/* Apply the same header styling to all option groups */
.option-group .group-header {
    background-color: #e8e8e8;
    padding: 12px 16px;
    margin: 0 0 8px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 4px;
}

.option-group .group-header h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.option-group .group-header .header-subtitle {
    margin: 4px 0 0 0;
    font-size: 13px;
    color: #666;
    font-weight: 400;
}

.option-group .counter-badge { background: #0b0b0b; color: #fff; padding: 6px 8px; border-radius: 8px; font-weight:700; font-size:12px; }
.option-group .check-icon { width:26px; height:26px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#d0d0d0; color:#fff; font-size:14px; }
.option-group .check-icon.valid { background:#2ecc71; }

/* Make quantity selector look consistent */
.quantity-selector button { width:34px; height:34px; border-radius:50%; border:1px solid #ddd; background:#fff; }
.quantity-selector { gap:12px; }

/* Item text + small subtitle (used for 'Grátis no 1º pedido') */
.cobertura-item .item-text { display:flex; flex-direction:column; gap:4px; flex:1; }
.cobertura-item .item-text label { margin:0; font-weight:600; color:#1d1d1d; }
.cobertura-item .item-subtitle { font-size:13px; color:#16a34a; font-weight:700; }

/* Ensure the item-text and quantity selector align nicely */
.cobertura-item { align-items:center; }