/* === Tabelas responsivas: downloads e assinaturas === */

.hng-downloads-table-responsive,

.hng-subscriptions-table-responsive {

	width: 100%;

	overflow-x: auto;

	-webkit-overflow-scrolling: touch;

	outline: none;

	margin-bottom: 16px;

}



.hng-downloads-table,

.hng-subscriptions-table {

	min-width: 520px;

}



@media (max-width: 768px) {



	.hng-downloads-table,

	.hng-subscriptions-table {

		min-width: 350px;

		font-size: 14px;

	}

}



@media (max-width: 480px) {



	.hng-downloads-table,

	.hng-subscriptions-table {

		min-width: 250px;

		font-size: 13px;

	}

}



/* Foco visível para botões e links em páginas de conta/pagamento */

.hng-payment-header:focus,

.hng-payment-status:focus,

.hng-payment-box:focus,

.hng-downloads-table-responsive:focus,

.hng-subscriptions-table-responsive:focus {

	outline: 2px solid #1976d2 !important;

	outline-offset: 2px;

	box-shadow: 0 0 0 2px #bbdefb;

}



/* === Calculadora de frete: responsividade e acessibilidade === */

.hng-shipping-calculator {

	background: #f9f9f9;

	padding: 20px;

	border-radius: 8px;

	margin: 20px 0;

	max-width: 420px;

	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);

}



.hng-shipping-form {

	display: flex;

	flex-wrap: wrap;

	gap: 12px;

	align-items: flex-end;

}



.hng-shipping-form input[type="text"] {

	font-size: 1rem;

	padding: 8px 10px;

	border-radius: 6px;

	border: 1px solid #bbb;

}



.hng-btn-primary:focus,

.hng-find-cep:focus {

	outline: 2px solid #1976d2 !important;

	outline-offset: 2px;

	box-shadow: 0 0 0 2px #bbdefb;

}



.hng-btn-primary {

	background: #1976d2 !important;

	color: #fff !important;

	border: none;

	border-radius: 6px;

	font-weight: 600;

	padding: 8px 18px;

	transition: background 0.2s;

}



.hng-btn-primary:hover {

	background: #0d47a1 !important;

}



.hng-find-cep {

	color: #1976d2;

	font-size: 0.98rem;

	margin-top: 6px;

	display: inline-block;

}



/* === Listagem de produtos: responsividade e acessibilidade === */

.hng-archive-header {

	margin: 32px 0 18px 0;

	padding: 0 10px;

}



.hng-shop-toolbar {

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	justify-content: space-between;

	gap: 18px;

	margin-bottom: 24px;

	padding: 0 10px;

}



.hng-result-count {

	font-size: 1rem;

	color: #333;

}



.hng-ordering select {

	padding: 8px 12px;

	border-radius: 6px;

	border: 1px solid #bbb;

	font-size: 1rem;

}



.hng-products.columns-4 {

	display: grid;

	grid-template-columns: repeat(4, 1fr);

	gap: 32px;

	padding: 0 10px;

}



@media (max-width: 1200px) {

	.hng-products.columns-4 {

		grid-template-columns: repeat(3, 1fr);

	}

}



@media (max-width: 900px) {

	.hng-products.columns-4 {

		grid-template-columns: repeat(2, 1fr);

	}

}



@media (max-width: 600px) {

	.hng-products.columns-4 {

		grid-template-columns: 1fr;

	}

}



.hng-no-products {

	text-align: center;

	color: #b71c1c;

	font-size: 1.2rem;

	margin: 40px 0;

}



.hng-shop-toolbar .hng-ordering select:focus {

	outline: 2px solid #1976d2 !important;

	outline-offset: 2px;

	box-shadow: 0 0 0 2px #bbdefb;

}



/* === Pedido recebido: responsividade e acessibilidade === */

.hng-order-items-table-responsive {

	width: 100%;

	overflow-x: auto;

	-webkit-overflow-scrolling: touch;

	outline: none;

	margin-bottom: 16px;

}



.hng-order-items-table {

	min-width: 520px;

}



@media (max-width: 768px) {

	.hng-order-items-table {

		min-width: 350px;

		font-size: 14px;

	}

}



@media (max-width: 480px) {

	.hng-order-items-table {

		min-width: 250px;

		font-size: 13px;

	}

}



.hng-order-actions .hng-button:focus,

.hng-order-actions .hng-button-secondary:focus {

	outline: 2px solid #1976d2 !important;

	outline-offset: 2px;

	box-shadow: 0 0 0 2px #bbdefb;

}



/* === Produto único: responsividade e acessibilidade === */

.hng-single-product {

	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 48px;

	margin: 40px 0;

	align-items: flex-start;

}



@media (max-width: 1024px) {

	.hng-single-product {

		grid-template-columns: 1fr;

		gap: 32px;

	}

}



.hng-product-gallery {

	width: 100%;

	max-width: 480px;

	margin: 0 auto 24px auto;

	border-radius: 8px;

	overflow: hidden;

	background: #fafafa;

	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);

}



.hng-main-image {

	width: 100%;

	height: auto;

	display: block;

	border-radius: 8px;

}



.hng-product-summary {

	width: 100%;

	max-width: 520px;

	margin: 0 auto;

}



.hng-product-title {

	font-size: 2rem;

	font-weight: 700;

	margin-bottom: 12px;

	color: #222;

}



.hng-product-price {

	font-size: 1.5rem;

	font-weight: 600;

	color: #1976d2;

	margin-bottom: 18px;

}



.hng-product-short-description {

	font-size: 1rem;

	color: #444;

	margin-bottom: 18px;

}



.hng-add-to-cart-form {

	margin-top: 18px;

	padding: 18px 0 0 0;

	border-top: 1px solid #eee;

}



.hng-custom-field {

	margin-bottom: 14px;

}



.hng-custom-field label {

	display: block;

	margin-bottom: 4px;

}



.hng-add-to-cart {

	width: 100%;

	margin-top: 18px;

	font-size: 1.1rem;

	padding: 14px 0;

}



.hng-add-to-cart:focus {

	outline: 2px solid #1976d2 !important;

	outline-offset: 2px;

	box-shadow: 0 0 0 2px #bbdefb;

}



/* === Checkout: responsividade grid e tabela === */

.hng-checkout-content {

	display: grid;

	grid-template-columns: 1fr 400px;

	gap: 40px;

	margin: 30px 0;

}



@media (max-width: 1024px) {

	.hng-checkout-content {

		grid-template-columns: 1fr;

	}

}



.hng-review-order-table-responsive {

	width: 100%;

	overflow-x: auto;

	-webkit-overflow-scrolling: touch;

	outline: none;

}



.hng-review-order-table {

	min-width: 500px;

}



@media (max-width: 768px) {

	.hng-review-order-table {

		min-width: 350px;

		font-size: 14px;

	}

}



@media (max-width: 480px) {

	.hng-review-order-table {

		min-width: 250px;

		font-size: 13px;

	}

}



/* Foco visível para botões checkout */

.hng-place-order:focus {

	outline: 2px solid #1976d2 !important;

	outline-offset: 2px;

	box-shadow: 0 0 0 2px #bbdefb;

}



/* === Carrinho: responsividade tabela === */

.hng-cart-table-responsive {

	width: 100%;

	overflow-x: auto;

	-webkit-overflow-scrolling: touch;

	outline: none;

}



.hng-cart-table {

	min-width: 700px;

}



@media (max-width: 768px) {

	.hng-cart-table {

		min-width: 520px;

		font-size: 14px;

	}

}



@media (max-width: 480px) {

	.hng-cart-table {

		min-width: 400px;

		font-size: 13px;

	}

}



/* Foco visível para botões e links */

.hng-button:focus,

.hng-button-large:focus,

.hng-button-secondary:focus,

.hng-apply-coupon:focus {

	outline: 2px solid #1976d2 !important;

	outline-offset: 2px;

	box-shadow: 0 0 0 2px #bbdefb;

}



/* Contraste de botões */

.hng-button,

.hng-button-large,

.hng-button-secondary {

	color: #fff !important;

	background: #1976d2 !important;

	border: none;

	border-radius: 6px;

	font-weight: 600;

	transition: background 0.2s;

}



.hng-button-secondary {

	background: #455a64 !important;

}



.hng-button:hover,

.hng-button-large:hover,

.hng-button-secondary:hover {

	background: #0d47a1 !important;

	color: #fff !important;

}



/* HNG Commerce - Frontend Styles */



/* === Layout Geral === */

.hng-products {

	display: grid;

	gap: 30px;

	margin: 30px 0;

}



.hng-products.columns-2 {

	grid-template-columns: repeat(2, 1fr);

}



.hng-products.columns-3 {

	grid-template-columns: repeat(3, 1fr);

}



.hng-products.columns-4 {

	grid-template-columns: repeat(4, 1fr);

}



.hng-products.columns-5 {

	grid-template-columns: repeat(5, 1fr);

}



@media (max-width: 1024px) {



	.hng-products.columns-4,

	.hng-products.columns-5 {

		grid-template-columns: repeat(3, 1fr);

	}

}



@media (max-width: 768px) {

	.hng-products {

		grid-template-columns: repeat(2, 1fr);

	}

}



@media (max-width: 480px) {

	.hng-products {

		grid-template-columns: 1fr;

	}

}



/* === Card de Produto === */

.hng-product {

	background: #fff;

	border: 1px solid #e5e5e5;

	border-radius: 8px;

	overflow: hidden;

	transition: all 0.3s ease;

}



.hng-product:hover {

	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

	transform: translateY(-4px);

}



.hng-product-link {

	display: block;

	text-decoration: none;

	color: inherit;

}



.hng-product-image {

	position: relative;

	overflow: hidden;

	background: #f9f9f9;

	aspect-ratio: 1;

}



.hng-product-image img {

	width: 100%;

	height: 100%;

	object-fit: cover;

	transition: transform 0.3s ease;

}



.hng-product:hover .hng-product-image img {

	transform: scale(1.05);

}



.hng-badge {

	position: absolute;

	top: 10px;

	right: 10px;

	padding: 5px 10px;

	font-size: 12px;

	font-weight: bold;

	border-radius: 4px;

	color: #fff;

	z-index: 1;

}



.hng-badge-sale {

	background: #e74c3c;

}



.hng-badge-featured {

	background: #f39c12;

	top: 40px;

}



.hng-badge-out-stock {

	background: #95a5a6;

}



.hng-product-info {

	padding: 15px;

}



.hng-product-title {

	font-size: 16px;

	font-weight: 600;

	margin: 0 0 10px;

	line-height: 1.4;

}



.hng-product-rating {

	display: flex;

	align-items: center;

	gap: 5px;

	margin-bottom: 10px;

}



.hng-star-rating {

	position: relative;

	display: inline-block;

	width: 80px;

	height: 16px;

	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ddd"><path d="M12 .587l3.668 7.431 8.2 1.191-5.934 5.785 1.4 8.166L12 18.896l-7.334 3.857 1.4-8.166L.132 9.209l8.2-1.191z"/></svg>') repeat-x;

	background-size: 16px 16px;

}



.hng-star-rating::before {

	content: '';

	position: absolute;

	top: 0;

	left: 0;

	height: 100%;

	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23f39c12"><path d="M12 .587l3.668 7.431 8.2 1.191-5.934 5.785 1.4 8.166L12 18.896l-7.334 3.857 1.4-8.166L.132 9.209l8.2-1.191z"/></svg>') repeat-x;

	background-size: 16px 16px;

}



.hng-star-rating span {

	position: absolute;

	clip: rect(0, 0, 0, 0);

}



.hng-rating-count {

	font-size: 12px;

	color: #666;

}



.hng-product-price {

	font-size: 24px;

	font-weight: bold;

	color: #2c3e50;

}



.hng-product-price del {

	font-size: 16px;

	color: #999;

	margin-right: 5px;

}



.hng-product-price ins {

	text-decoration: none;

	color: #e74c3c;

}



.hng-product-actions {

	padding: 0 15px 15px;

}



.hng-add-to-cart-button {

	width: 100%;

	padding: 12px;

	border: none;

	background: #3498db;

	color: #fff;

	font-size: 14px;

	font-weight: 600;

	border-radius: 6px;

	cursor: pointer;

	transition: background 0.3s ease;

}



.hng-add-to-cart-button:hover {

	background: #2980b9;

}



/* === Produto Single === */

.hng-single-product {

	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 40px;

	margin: 30px 0;

}



@media (max-width: 768px) {

	.hng-single-product {

		grid-template-columns: 1fr;

	}

}



.hng-product-gallery img {

	width: 100%;

	border-radius: 8px;

}



.hng-product-summary h1 {

	margin-top: 0;

}



.hng-product-short-description {

	color: #666;

	line-height: 1.6;

}



.hng-quantity {

	display: flex;

	align-items: center;

	gap: 10px;

	margin: 20px 0;

}



.hng-quantity input {

	width: 80px;

	padding: 10px;

	border: 1px solid #ddd;

	border-radius: 4px;

	text-align: center;

}



.hng-button-large {

	padding: 15px 30px;

	font-size: 16px;

}



.hng-product-meta {

	margin-top: 30px;

	padding-top: 20px;

	border-top: 1px solid #e5e5e5;

}



.hng-product-meta span {

	display: block;

	margin: 5px 0;

	font-size: 14px;

	color: #666;

}



/* === Carrinho === */

.hng-cart-table {

	width: 100%;

	border-collapse: collapse;

	margin: 30px 0;

}



.hng-cart-table th {

	padding: 15px;

	background: #f9f9f9;

	text-align: left;

	font-weight: 600;

}



.hng-cart-table td {

	padding: 15px;

	border-bottom: 1px solid #e5e5e5;

}



.hng-product-remove a {

	color: #e74c3c;

	font-size: 24px;

	text-decoration: none;

}



.hng-product-thumbnail img {

	width: 80px;

	border-radius: 4px;

}



.hng-cart-totals {

	background: #f9f9f9;

	padding: 30px;

	border-radius: 8px;

}



.hng-totals-table {

	width: 100%;

	border-collapse: collapse;

}



.hng-totals-table th,

.hng-totals-table td {

	padding: 10px 0;

	border-bottom: 1px solid #e5e5e5;

}



.hng-order-total {

	font-size: 18px;

}



/* === Checkout Enhanced - Modern UI/UX === */

.hng-checkout {

	max-width: 1200px;

	margin: 0 auto;

	padding: 20px;

	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;

}



.hng-checkout-content {

	display: grid;

	grid-template-columns: 1fr 420px;

	gap: 40px;

	margin: 30px 0;

}



@media (max-width: 1024px) {

	.hng-checkout-content {

		grid-template-columns: 1fr;

		gap: 30px;

	}

}



/* Billing Section */

.hng-checkout-billing {

	background: #fff;

	border-radius: 12px;

	padding: 30px;

	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);

}



.hng-checkout-billing h3 {

	font-size: 1.3rem;

	font-weight: 600;

	color: #1a1a1a;

	margin: 0 0 25px 0;

	padding-bottom: 15px;

	border-bottom: 2px solid #f0f0f0;

	display: flex;

	align-items: center;

	gap: 10px;

}



.hng-checkout-billing h3::before {

	content: '';

	width: 4px;

	height: 20px;

	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);

	border-radius: 2px;

}



/* Form Rows */

.hng-form-row {

	margin-bottom: 20px;

}



.hng-form-row label {

	display: block;

	margin-bottom: 8px;

	font-weight: 500;

	color: #333;

	font-size: 0.95rem;

}



.hng-form-row input,

.hng-form-row select,

.hng-form-row textarea {

	width: 100%;

	padding: 14px 16px;

	border: 2px solid #e5e5e5;

	border-radius: 10px;

	font-size: 1rem;

	transition: all 0.2s ease;

	background: #fafafa;

}



.hng-form-row input:focus,

.hng-form-row select:focus,

.hng-form-row textarea:focus {

	outline: none;

	border-color: #667eea;

	background: #fff;

	box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);

}



.hng-form-row-half {

	display: inline-block;

	width: calc(50% - 10px);

	vertical-align: top;

}



.hng-form-row-half:nth-child(even) {

	margin-left: 18px;

}



@media (max-width: 600px) {

	.hng-form-row-half {

		width: 100%;

		display: block;

	}



	.hng-form-row-half:nth-child(even) {

		margin-left: 0;

	}

}



/* CEP Search Button */

.hng-find-address {

	margin-top: 10px;

	padding: 10px 20px;

	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);

	color: #fff;

	border: none;

	border-radius: 8px;

	font-weight: 600;

	cursor: pointer;

	transition: transform 0.2s, box-shadow 0.2s;

}



.hng-find-address:hover {

	transform: translateY(-1px);

	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);

}



/* Shipping Methods */

.hng-shipping-methods {

	margin: 20px 0;

	padding: 20px;

	background: #f8f9fa;

	border-radius: 10px;

}



.hng-shipping-list {

	list-style: none;

	padding: 0;

	margin: 0;

}



.hng-shipping-list li {

	background: #fff;

	border: 2px solid #e5e5e5;

	border-radius: 10px;

	padding: 16px;

	margin-bottom: 10px;

	cursor: pointer;

	transition: all 0.2s ease;

}



.hng-shipping-list li:has(input:checked) {

	border-color: #667eea;

	background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);

}



.hng-shipping-list li:hover {

	border-color: #ccc;

}



.hng-shipping-list label {

	display: flex;

	justify-content: space-between;

	align-items: center;

	cursor: pointer;

	font-weight: 500;

}



.hng-shipping-list label span {

	font-size: 0.85rem;

	color: #666;

}



/* Order Review Sidebar */

.hng-checkout-sidebar {

	position: sticky;

	top: 20px;

	align-self: start;

}



.hng-order-review {

	background: #fff;

	border-radius: 12px;

	padding: 25px;

	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);

}



.hng-order-review h3 {

	font-size: 1.2rem;

	font-weight: 600;

	color: #1a1a1a;

	margin: 0 0 20px 0;

	padding-bottom: 12px;

	border-bottom: 2px solid #f0f0f0;

}



/* Order Table */

.hng-review-order-table-responsive {

	width: 100%;

	overflow-x: auto;

	-webkit-overflow-scrolling: touch;

}



.hng-review-order-table {

	width: 100%;

	border-collapse: collapse;

	min-width: 280px;

}



.hng-review-order-table th {

	padding: 12px 0;

	text-align: left;

	font-weight: 600;

	color: #666;

	font-size: 0.85rem;

	text-transform: uppercase;

	letter-spacing: 0.5px;

	border-bottom: 1px solid #eee;

}



.hng-review-order-table td {

	padding: 15px 0;

	border-bottom: 1px solid #f0f0f0;

}



.hng-product-name {

	font-weight: 500;

	color: #333;

}



.hng-product-quantity {

	color: #667eea;

	margin-left: 8px;

	font-weight: 600;

}



.hng-product-total {

	text-align: right;

	font-weight: 600;

	color: #1a1a1a;

}



.hng-cart-subtotal th,

.hng-cart-subtotal td,

.hng-shipping th,

.hng-shipping td {

	padding: 12px 0;

	color: #666;

}



.hng-order-total th,

.hng-order-total td {

	padding: 20px 0 0;

	font-size: 1.25rem;

	font-weight: 700;

	color: #1a1a1a;

}



.hng-order-total td strong {

	color: #667eea;

}



/* Payment Methods */

.hng-payment-methods {

	margin-top: 25px;

}



.hng-payment-methods h3 {

	font-size: 1.1rem;

	font-weight: 600;

	color: #1a1a1a;

	margin: 0 0 15px 0;

}



.hng-payment-list {

	list-style: none;

	padding: 0;

	margin: 0;

}



.hng-payment-list li {

	background: #fafafa;

	border: 2px solid #e5e5e5;

	border-radius: 12px;

	padding: 0;

	margin-bottom: 12px;

	overflow: hidden;

	transition: all 0.2s ease;

}



.hng-payment-list li:has(input:checked) {

	border-color: #667eea;

	background: #fff;

	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.15);

}



.hng-payment-list li:hover {

	border-color: #ccc;

}



.hng-payment-list input[type="radio"] {

	display: none;

}



.hng-payment-list label {

	display: block;

	padding: 18px 20px;

	cursor: pointer;

}



.hng-payment-list label strong {

	display: block;

	font-size: 1rem;

	color: #1a1a1a;

	margin-bottom: 4px;

}



.hng-payment-list label span {

	display: block;

	font-size: 0.85rem;

	color: #666;

}



/* Payment Fields */

.hng-payment-fields {

	padding: 20px;

	background: #f8f9fa;

	border-top: 1px solid #eee;

}



.hng-payment-fields p {

	margin: 0 0 15px;

}



.hng-payment-fields label {

	font-size: 0.9rem;

	color: #333;

	font-weight: 500;

}



.hng-payment-fields input {

	width: 100%;

	padding: 12px;

	border: 2px solid #e5e5e5;

	border-radius: 8px;

	font-size: 1rem;

	margin-top: 6px;

}



/* Terms Checkbox */

.hng-terms {

	margin: 25px 0;

	padding: 15px;

	background: #f8f9fa;

	border-radius: 10px;

}



.hng-terms label {

	display: flex;

	align-items: flex-start;

	gap: 12px;

	cursor: pointer;

	font-size: 0.9rem;

	color: #555;

	line-height: 1.5;

}



.hng-terms input[type="checkbox"] {

	width: 20px;

	height: 20px;

	margin-top: 2px;

	flex-shrink: 0;

	accent-color: #667eea;

}



.hng-terms a {

	color: #667eea;

	text-decoration: none;

	font-weight: 500;

}



.hng-terms a:hover {

	text-decoration: underline;

}



/* Place Order Button */

.hng-place-order {

	width: 100%;

	padding: 18px 30px;

	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);

	color: #fff;

	border: none;

	border-radius: 12px;

	font-size: 1.1rem;

	font-weight: 600;

	cursor: pointer;

	transition: all 0.3s ease;

	text-transform: uppercase;

	letter-spacing: 1px;

}



.hng-place-order:hover:not(:disabled) {

	transform: translateY(-2px);

	box-shadow: 0 8px 25px rgba(102, 126, 234, 0.35);

}



.hng-place-order:disabled {

	opacity: 0.6;

	cursor: not-allowed;

}



.hng-place-order:focus {

	outline: 2px solid #667eea !important;

	outline-offset: 3px;

	box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.2);

}



/* Loading States */

.hng-loading {

	text-align: center;

	padding: 20px;

	color: #666;

	font-style: italic;

}



.hng-error {

	color: #dc3545;

	padding: 15px;

	background: #f8d7da;

	border-radius: 8px;

	border: 1px solid #f5c6cb;

}



/* Login Notice */

.hng-login-required-notice {

	background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);

	border-left: 4px solid #ff9800;

	padding: 25px;

	margin-bottom: 25px;

	border-radius: 0 12px 12px 0;

}



/* Mobile Responsive */

@media (max-width: 768px) {

	.hng-checkout {

		padding: 15px;

	}



	.hng-checkout-billing,

	.hng-order-review {

		padding: 20px;

		border-radius: 10px;

	}



	.hng-review-order-table {

		min-width: 100%;

	}



	.hng-checkout-sidebar {

		position: static;

	}



	.hng-payment-list label {

		padding: 15px;

	}



	.hng-place-order {

		padding: 16px 24px;

		font-size: 1rem;

	}

}



@media (max-width: 480px) {

	.hng-checkout-billing h3 {

		font-size: 1.1rem;

	}



	.hng-form-row input,

	.hng-form-row select {

		padding: 12px 14px;

		font-size: 16px;

		/* Prevents zoom on iOS */

	}



	.hng-order-total th,

	.hng-order-total td {

		font-size: 1.1rem;

	}

}



/* Custom Fields in Checkout */

.hng-checkout-custom-fields {

	background: #f8f9fa;

	padding: 20px;

	border-radius: 10px;

	margin-bottom: 20px;

}



.hng-checkout-custom-fields strong {

	display: block;

	margin-bottom: 15px;

	color: #333;

	font-size: 1rem;

}



.hng-custom-field {

	margin-bottom: 15px;

}



.hng-custom-field label {

	display: block;

	margin-bottom: 6px;

	font-weight: 500;

	color: #555;

}



.hng-custom-field input,

.hng-custom-field select,

.hng-custom-field textarea {

	width: 100%;

	padding: 12px;

	border: 2px solid #e5e5e5;

	border-radius: 8px;

	font-size: 0.95rem;

}



/* === Botões === */

.hng-button {

	display: inline-block;

	padding: 12px 24px;

	border: none;

	border-radius: 6px;

	background: #3498db;

	color: #fff;

	font-size: 14px;

	font-weight: 600;

	text-decoration: none;

	cursor: pointer;

	transition: all 0.3s ease;

}



.hng-button:hover {

	background: #2980b9;

}



.hng-button-secondary {

	background: #95a5a6;

}



.hng-button-secondary:hover {

	background: #7f8c8d;

}



/* === Notices === */

.hng-notices {

	margin: 20px 0;

}



.hng-notice {

	padding: 15px;

	border-radius: 6px;

	margin-bottom: 10px;

}



.hng-notice-success {

	background: #d4edda;

	color: #155724;

	border: 1px solid #c3e6cb;

}



.hng-notice-error {

	background: #f8d7da;

	color: #721c24;

	border: 1px solid #f5c6cb;

}



.hng-notice-info {

	background: #d1ecf1;

	color: #0c5460;

	border: 1px solid #bee5eb;

}



/* === Cupons === */

.hng-cart-coupon {

	background: #f9f9f9;

	border: 1px solid #e5e5e5;

	border-radius: 6px;

	padding: 20px;

	margin-bottom: 20px;

}



.hng-cart-coupon h3 {

	margin: 0 0 15px 0;

	font-size: 18px;

	color: #333;

}



.hng-applied-coupons {

	margin-bottom: 15px;

}



.hng-coupon-item {

	display: flex;

	align-items: center;

	justify-content: space-between;

	background: #fff;

	border: 1px solid #28a745;

	border-radius: 4px;

	padding: 10px 15px;

	margin-bottom: 10px;

}



.hng-coupon-code {

	font-weight: 600;

	color: #28a745;

	text-transform: uppercase;

	letter-spacing: 0.5px;

}



.hng-remove-coupon {

	background: #dc3545;

	color: #fff;

	border: none;

	padding: 5px 12px;

	border-radius: 4px;

	font-size: 12px;

	cursor: pointer;

	transition: background 0.3s;

}



.hng-remove-coupon:hover {

	background: #c82333;

}



.hng-coupon-form {

	display: flex;

	gap: 10px;

}



.hng-coupon-input {

	flex: 1;

	padding: 10px 15px;

	border: 1px solid #ddd;

	border-radius: 4px;

	font-size: 14px;

	text-transform: uppercase;

}



.hng-coupon-input:focus {

	outline: none;

	border-color: #3498db;

}



.hng-apply-coupon {

	padding: 10px 20px;

	white-space: nowrap;

}



.hng-coupon-message {

	margin-top: 15px;

	padding: 10px 15px;

	border-radius: 4px;

	font-size: 14px;

}



.hng-coupon-message.hng-success {

	background: #d4edda;

	color: #155724;

	border: 1px solid #c3e6cb;

}



.hng-coupon-message.hng-error {

	background: #f8d7da;

	color: #721c24;

	border: 1px solid #f5c6cb;

}



@media (max-width: 600px) {

	.hng-coupon-form {

		flex-direction: column;

	}



	.hng-apply-coupon {

		width: 100%;

	}

}



/* === Minha Conta === */

/* Escopo das regras de conta restrito a páginas com body.hng-account-page */

body.hng-account-page .hng-account {

	display: grid;

	grid-template-columns: 250px 1fr;

	gap: 30px;

	margin: 30px 0;

}



body.hng-account-page .hng-account-navigation {

	background: #f9f9f9;

	border: 1px solid #e5e5e5;

	border-radius: 6px;

	padding: 20px;

}



body.hng-account-page .hng-account-user {

	text-align: center;

	padding-bottom: 20px;

	border-bottom: 1px solid #e5e5e5;

	margin-bottom: 20px;

}



body.hng-account-page .hng-account-avatar {

	margin-bottom: 10px;

}



body.hng-account-page .hng-account-avatar img {

	border-radius: 50%;

}



body.hng-account-page .hng-account-user-info {

	display: flex;

	flex-direction: column;

	gap: 5px;

}



body.hng-account-page .hng-account-user-info strong {

	font-size: 16px;

	color: #333;

}



body.hng-account-page .hng-account-user-info span {

	font-size: 12px;

	color: #666;

}



body.hng-account-page .hng-account-menu {

	display: flex;

	flex-direction: column;

}



body.hng-account-page .hng-account-menu-item {

	padding: 12px 15px;

	text-decoration: none;

	color: #333;

	border-radius: 4px;

	transition: all 0.3s;

	margin-bottom: 5px;

}



body.hng-account-page .hng-account-menu-item:hover {

	background: #fff;

	color: #3498db;

}



body.hng-account-page .hng-account-menu-item.active {

	background: #3498db;

	color: #fff;

}



body.hng-account-page .hng-account-content {

	background: #fff;

	border: 1px solid #e5e5e5;

	border-radius: 6px;

	padding: 30px;

}



body.hng-account-page .hng-account-content h2 {

	margin-top: 0;

	margin-bottom: 20px;

	font-size: 24px;

	color: #333;

}



body.hng-account-page .hng-account-content h3 {

	margin-top: 30px;

	margin-bottom: 15px;

	font-size: 18px;

	color: #333;

}



.hng-dashboard-cards {

	display: grid;

	grid-template-columns: repeat(2, 1fr);

	gap: 20px;

	margin-top: 30px;

}



.hng-dashboard-card {

	background: #f9f9f9;

	border: 1px solid #e5e5e5;

	border-radius: 6px;

	padding: 20px;

}



.hng-dashboard-card h3 {

	margin: 0 0 15px 0;

	font-size: 18px;

}



.hng-dashboard-orders {

	list-style: none;

	padding: 0;

	margin: 0 0 15px 0;

}



.hng-dashboard-orders li {

	margin-bottom: 10px;

}



.hng-dashboard-orders a {

	display: flex;

	align-items: center;

	justify-content: space-between;

	padding: 12px;

	background: #fff;

	border: 1px solid #e5e5e5;

	border-radius: 4px;

	text-decoration: none;

	color: #333;

	transition: all 0.3s;

}



.hng-dashboard-orders a:hover {

	border-color: #3498db;

	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);

}



.hng-order-date {

	font-size: 12px;

	color: #666;

}



.hng-order-status {

	display: inline-block;

	padding: 4px 10px;

	border-radius: 3px;

	font-size: 11px;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.5px;

}



.hng-status-pending {

	background: #fff3cd;

	color: #856404;

}



.hng-status-processing {

	background: #cfe2ff;

	color: #084298;

}



.hng-status-completed {

	background: #d1e7dd;

	color: #0f5132;

}



.hng-status-cancelled,

.hng-status-refunded {

	background: #f8d7da;

	color: #721c24;

}



.hng-orders-table,

.hng-order-details-table {

	width: 100%;

	border-collapse: collapse;

	margin: 20px 0;

}



.hng-orders-table th,

.hng-orders-table td,

.hng-order-details-table th,

.hng-order-details-table td {

	padding: 12px;

	text-align: left;

	border-bottom: 1px solid #e5e5e5;

}



.hng-orders-table th,

.hng-order-details-table th {

	background: #f9f9f9;

	font-weight: 600;

	color: #333;

}



.hng-order-details-table tfoot th,

.hng-order-details-table tfoot td {

	padding: 10px 12px;

	border-top: 2px solid #e5e5e5;

}



.hng-order-total-row th,

.hng-order-total-row td {

	font-size: 18px;

	padding-top: 15px !important;

}



.hng-order-address {

	background: #f9f9f9;

	border: 1px solid #e5e5e5;

	border-radius: 6px;

	padding: 20px;

	margin: 20px 0;

}



.hng-order-address h3 {

	margin-top: 0;

}



.hng-order-address address {

	font-style: normal;

	line-height: 1.8;

}



.hng-form-row {

	margin-bottom: 20px;

}



.hng-form-row label {

	display: block;

	margin-bottom: 5px;

	font-weight: 600;

	color: #333;

}



.hng-form-row input[type="text"],

.hng-form-row input[type="email"],

.hng-form-row input[type="password"],

.hng-form-row input[type="tel"],

.hng-form-row select {

	width: 100%;

	padding: 10px 15px;

	border: 1px solid #ddd;

	border-radius: 4px;

	font-size: 14px;

}



.hng-form-row input:focus,

.hng-form-row select:focus {

	outline: none;

	border-color: #3498db;

}



.hng-form-row-double {

	display: grid;

	grid-template-columns: repeat(2, 1fr);

	gap: 20px;

}



.hng-button-small {

	padding: 6px 12px;

	font-size: 12px;

}



.hng-login-form {

	max-width: 400px;

	margin: 50px auto;

	padding: 30px;

	background: #fff;

	border: 1px solid #e5e5e5;

	border-radius: 6px;

}



.hng-login-form h2 {

	margin-top: 0;

	text-align: center;

}



@media (max-width: 768px) {

	body.hng-account-page .hng-account {

		grid-template-columns: 1fr;

	}



	.hng-dashboard-cards {

		grid-template-columns: 1fr;

	}



	.hng-form-row-double {

		grid-template-columns: 1fr;

	}



	.hng-orders-table {

		font-size: 12px;

	}



	.hng-orders-table th,

	.hng-orders-table td {

		padding: 8px;

	}

}