/*
Theme Name: Pizza Delicious Restaurant
Theme URI: https://example.com/pizza-theme
Author: Pizza Theme Team
Author URI: https://example.com
Description: Giao diện Pizza Restaurant cao cấp cho WordPress và WooCommerce. Đầy đủ các trang: Trang chủ (Home), Thực đơn / Danh mục (Menu / Category), Chi tiết món ăn (Single Product), Giỏ hàng (Cart), Thanh toán (Checkout), Dịch vụ (Services), Giới thiệu (About), Tin tức (Blog) và Liên hệ (Contact). Tích hợp sẵn hình ảnh và dữ liệu mẫu.
Version: 1.0.0
Tested up to: 6.7
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pizza-theme
Tags: restaurant, food, pizza, cafe, ecommerce, woocommerce, responsive-layout, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   WordPress Core & Custom Theme Additions
   ========================================================================== */

/* Cart & Badge in Header */
.cart-nav-link {
  position: relative;
  display: flex !important;
  align-items: center;
}
.cart-nav-link .cart-icon-wrap {
  position: relative;
  display: inline-block;
  font-size: 1.25rem;
}
.cart-nav-link .cart-badge {
  position: absolute;
  top: -8px;
  right: -12px;
  background: #fac564;
  color: #000;
  font-size: 11px;
  font-weight: 700;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Shop / Product Card Enhancements */
.menu-wrap .text .btn-order,
.services-wrap .text .btn-order {
  border-radius: 30px;
  padding: 8px 18px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  transition: all 0.3s ease;
}
.menu-wrap .text .btn-order:hover,
.services-wrap .text .btn-order:hover {
  background: #fac564 !important;
  color: #000 !important;
  border-color: #fac564 !important;
  transform: translateY(-2px);
}

/* Cart Page Styles */
.pizza-cart-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 15px;
}
.pizza-cart-table thead th {
  background: #1a1a1a;
  color: #fac564;
  font-weight: 600;
  padding: 16px 20px;
  border: none;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
}
.pizza-cart-table tbody tr {
  background: #141414;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
}
.pizza-cart-table tbody tr:hover {
  background: #1c1c1c;
}
.pizza-cart-table tbody td {
  padding: 20px;
  vertical-align: middle;
  border: none;
  color: #fff;
}
.cart-product-img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  margin-right: 15px;
}
.cart-qty-ctrl {
  display: inline-flex;
  align-items: center;
  background: #262626;
  border-radius: 25px;
  padding: 4px 8px;
  border: 1px solid #3d3d3d;
}
.cart-qty-ctrl button {
  background: none;
  border: none;
  color: #fac564;
  font-size: 16px;
  font-weight: bold;
  width: 28px;
  height: 28px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
}
.cart-qty-ctrl button:hover {
  opacity: 0.7;
}
.cart-qty-ctrl input {
  width: 42px;
  background: transparent;
  border: none;
  color: #fff;
  text-align: center;
  font-weight: 600;
  outline: none;
}
.cart-remove-btn {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  color: #ff5e57;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s;
}
.cart-remove-btn:hover {
  background: #ff5e57;
  color: #fff;
  border-color: #ff5e57;
}

/* Cart Totals Summary Box */
.cart-summary-box {
  background: #141414;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  padding: 30px;
}
.cart-summary-box h3 {
  color: #fac564;
  font-size: 20px;
  margin-bottom: 25px;
  border-bottom: 1px solid #2a2a2a;
  padding-bottom: 15px;
}
.cart-summary-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  color: #ccc;
}
.cart-summary-row.total {
  border-top: 1px solid #2a2a2a;
  padding-top: 15px;
  font-size: 20px;
  font-weight: bold;
  color: #fac564;
}

/* Product Detail Page Styles */
.product-single-gallery {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}
.product-single-gallery img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}
.product-single-info h1 {
  font-size: 38px;
  color: #fff;
  margin-bottom: 10px;
}
.product-single-info .category-badge {
  display: inline-block;
  background: rgba(250, 197, 100, 0.15);
  color: #fac564;
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 15px;
  text-transform: uppercase;
}
.product-single-info .price-tag {
  font-size: 32px;
  font-weight: 700;
  color: #fac564;
  margin-bottom: 20px;
}
.product-rating {
  color: #fac564;
  margin-bottom: 20px;
  font-size: 15px;
}
.product-features-list {
  list-style: none;
  padding: 0;
  margin: 25px 0;
}
.product-features-list li {
  padding: 8px 0;
  color: #aaa;
  border-bottom: 1px solid #222;
}
.product-features-list li strong {
  color: #fff;
  display: inline-block;
  width: 140px;
}
.product-action-box {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 30px;
  flex-wrap: wrap;
}

/* Toast Notifications */
.pizza-toast {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #111;
  border-left: 4px solid #fac564;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
  color: #fff;
  padding: 16px 24px;
  border-radius: 6px;
  z-index: 999999;
  display: flex;
  align-items: center;
  gap: 15px;
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.pizza-toast.show {
  transform: translateY(0);
  opacity: 1;
}
.pizza-toast .icon {
  font-size: 24px;
  color: #fac564;
}

/* Checkout Page Styles */
.checkout-form-box {
  background: #141414;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  padding: 35px;
}
.checkout-form-box h3 {
  color: #fac564;
  font-size: 22px;
  margin-bottom: 25px;
  border-bottom: 1px solid #2a2a2a;
  padding-bottom: 15px;
}
.checkout-form-box label {
  color: #ccc;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}
.checkout-form-box .form-control {
  background: #1f1f1f;
  border: 1px solid #333;
  color: #fff;
  border-radius: 6px;
  padding: 12px 16px;
  height: auto;
}
.checkout-form-box .form-control:focus {
  border-color: #fac564;
  box-shadow: 0 0 0 0.2rem rgba(250, 197, 100, 0.25);
  background: #252525;
  color: #fff;
}
.payment-option-card {
  background: #1e1e1e;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 15px 20px;
  margin-bottom: 15px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
}
.payment-option-card:hover,
.payment-option-card.selected {
  border-color: #fac564;
  background: #272727;
}

/* WordPress Standard Classes */
.alignleft { float: left; margin: 0 1.5em 1.5em 0; }
.alignright { float: right; margin: 0 0 1.5em 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; margin-bottom: 1.5em; }
.wp-caption-text { font-size: 0.85em; color: #888; text-align: center; margin-top: 0.5em; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* Responsive adjustments */
@media (max-width: 767.98px) {
  .pizza-cart-table thead { display: none; }
  .pizza-cart-table tbody tr { display: block; margin-bottom: 20px; padding: 15px; }
  .pizza-cart-table tbody td { display: block; padding: 8px 0; text-align: right; }
  .pizza-cart-table tbody td:before { content: attr(data-label); float: left; font-weight: bold; color: #fac564; }
  .pizza-cart-table tbody td.product-cell { text-align: left; }
  .pizza-cart-table tbody td.product-cell:before { display: none; }
}
