/* ══════════════════════════════
   SHARED COMPONENTS
══════════════════════════════ */
.pc-btn {
  display: inline-block;
  font-size: 14px; font-weight: var(--fw-black);
  padding: 13px 28px; border-radius: var(--r-pill);
  text-decoration: none; border: none; cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
}
.pc-btn--primary {
  background: var(--coral); color: #fff;
  box-shadow: var(--shadow-coral);
}
.pc-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(255,107,107,0.45); color: #fff; }
.pc-btn--outline {
  background: #fff; border: 2px solid var(--mint); color: var(--mint);
}
.pc-btn--outline:hover { background: var(--mint); color: #fff; }

.pc-section { padding: 36px var(--px); }
.pc-section--white       { background: #fff; }
.pc-section--coral-light { background: #fff8f8; }
.pc-section--mint-light  { background: var(--mint-light); }

.pc-section__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.pc-section__title  { font-size: 20px; font-weight: var(--fw-black); color: #222; }
.pc-section__title span      { color: var(--coral); }
.pc-section__title span.mint { color: var(--mint); }
.pc-view-all       { font-size: 12px; font-weight: var(--fw-bold); color: var(--coral); text-decoration: none; }
.pc-view-all:hover { text-decoration: underline; }
.pc-view-all--mint { color: var(--mint); }

/* ══════════════════════════════
   HERO
══════════════════════════════ */
.pc-hero {
  background: linear-gradient(135deg, #fff5f5 0%, #fff0ee 50%, var(--mint-light) 100%);
  padding: 0 var(--px);
  display: flex; align-items: stretch; min-height: 420px; overflow: hidden;
}
.pc-hero__left {
  flex: 1; display: flex; flex-direction: column; justify-content: center;
  padding: 48px 32px 48px 0;
}
.pc-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  background: #fff; border: 1.5px solid var(--coral-border); color: var(--coral);
  font-size: 11px; font-weight: var(--fw-bold); padding: 5px 12px;
  border-radius: var(--r-pill); margin-bottom: 16px; width: fit-content;
}
.pc-hero__title {
  font-size: clamp(26px, 3.2vw, 44px); font-weight: var(--fw-black);
  color: var(--text-dark); line-height: 1.1; margin-bottom: 12px;
}
.pc-hero__title em     { font-style: normal; color: var(--coral); }
.pc-hero__title strong { color: var(--mint); }
.pc-hero__sub  { font-size: 14px; color: #666; margin-bottom: 14px; font-weight: var(--fw-semi); line-height: 1.6; }
.pc-hero__pills { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.pc-pill {
  background: #fff; border: 1.5px solid var(--border-mid); color: #444;
  font-size: 11px; font-weight: var(--fw-semi); padding: 4px 10px;
  border-radius: 12px; display: inline-flex; align-items: center; gap: 4px;
}
.pc-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.pc-hero__right {
  flex: 1; display: flex; align-items: center; justify-content: center;
  position: relative; padding: 24px 0;
}
.pc-hero__right img {
  max-height: 380px; max-width: 100%; object-fit: contain;
  filter: drop-shadow(0 16px 40px rgba(255,107,107,0.18));
  border-radius: var(--r-lg);
  animation: pc-float 4s ease-in-out infinite;
}
@keyframes pc-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

/* ══════════════════════════════
   DELIVERY STRIP
══════════════════════════════ */
.pc-delivery {
  background: #fff; padding: 0 var(--px);
  display: grid; grid-template-columns: repeat(4,1fr);
  border-bottom: 2px solid #f5f5f5;
}
.pc-delivery__item {
  padding: 14px 12px; display: flex; align-items: center; gap: 10px;
  border-right: 1px solid var(--border);
}
.pc-delivery__item:last-child { border-right: none; }
.pc-delivery__icon {
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0;
}
.pc-delivery__item h4 { font-size: 12px; font-weight: var(--fw-bold); color: #333; margin-bottom: 1px; }
.pc-delivery__item p  { font-size: 10px; color: var(--text-muted); margin: 0; }

/* ══════════════════════════════
   OCCASION GRID
══════════════════════════════ */
.pc-occasions { background: #fff; padding: 32px var(--px); }
.pc-occasions__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 20px; }
.pc-occasion-card {
  border-radius: var(--r-md); padding: 20px 12px; text-align: center;
  text-decoration: none; display: block;
  transition: transform 0.2s, box-shadow 0.2s;
}
.pc-occasion-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pc-occasion-card__icon { font-size: 32px; margin-bottom: 8px; display: block; }
.pc-occasion-card h3    { font-size: 13px; font-weight: var(--fw-bold); margin-bottom: 2px; }
.pc-occasion-card p     { font-size: 10px; opacity: 0.8; margin: 0; }

/* ══════════════════════════════
   PRODUCT GRIDS
══════════════════════════════ */
.pc-products__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.pc-product-card {
  background: #fff; border-radius: var(--r-md); overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
}
.pc-product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pc-badge {
  position: absolute; top: 10px; left: 10px;
  background: var(--coral); color: #fff;
  font-size: 10px; font-weight: var(--fw-bold); padding: 3px 8px; border-radius: 10px; z-index: 2;
}
.pc-badge--mint { background: var(--mint); }
.pc-product-card__img { position: relative; overflow: hidden; }
.pc-product-card__img img { width: 100%; height: 200px; object-fit: cover; display: block; }
.pc-product-card__body { padding: 12px; }
.pc-product-card__title { font-size: 13px; font-weight: var(--fw-bold); color: #222; margin-bottom: 4px; line-height: 1.3; }
.pc-product-card__price { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.pc-price       { font-size: 15px; font-weight: var(--fw-black); color: var(--coral); }
.pc-price--mint { color: var(--mint); }
.pc-price-old   { font-size: 11px; color: #bbb; text-decoration: line-through; }
.pc-add-btn {
  width: 100% !important; background: var(--coral) !important; color: #fff !important; border: none !important;
  padding: 8px !important; border-radius: var(--r-sm) !important; font-size: 12px !important; font-weight: var(--fw-bold) !important; cursor: pointer !important;
  transition: background 0.2s !important; text-align: center !important; display: block !important; text-decoration: none !important;
  transform: none !important;
}
.pc-add-btn:hover      { background: var(--coral-dark) !important; color: #fff !important; }
.pc-add-btn--mint      { background: transparent !important; border: 2px solid var(--mint) !important; color: var(--mint) !important; }
.pc-add-btn--mint:hover { background: var(--mint) !important; color: #fff !important; }

/* ══════════════════════════════
   PROMO BANNERS
══════════════════════════════ */
.pc-promos { padding: 0 var(--px) 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pc-promo-card {
  border-radius: var(--r-lg); padding: 28px 24px;
  position: relative; overflow: hidden; cursor: pointer;
  transition: transform 0.2s;
}
.pc-promo-card:hover { transform: scale(1.01); }
.pc-promo-card h3 { font-size: 18px; font-weight: var(--fw-black); margin-bottom: 6px; }
.pc-promo-card p  { font-size: 12px; margin-bottom: 14px; opacity: 0.9; }
.pc-promo-card__emoji { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 64px; opacity: 0.2; pointer-events: none; }
.pc-promo-card--coral { background: linear-gradient(135deg, var(--coral), #ff8e53); color: #fff; }
.pc-promo-card--mint  { background: linear-gradient(135deg, var(--mint), var(--mint-dark)); color: #fff; }
.pc-promo-btn {
  display: inline-block; padding: 8px 18px; border-radius: var(--r-pill);
  font-size: 12px; font-weight: var(--fw-bold); text-decoration: none; border: none; cursor: pointer;
}
.pc-promo-btn--on-coral { background: #fff; color: var(--coral); }
.pc-promo-btn--on-mint  { background: #fff; color: var(--mint); }

/* ══════════════════════════════
   TRUST SECTION
══════════════════════════════ */
.pc-trust__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; text-align: center; }
.pc-trust-item__icon {
  width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; margin: 0 auto 10px;
}
.pc-trust-item h4 { font-size: 13px; font-weight: var(--fw-bold); color: #222; margin-bottom: 4px; }
.pc-trust-item p  { font-size: 11px; color: var(--text-muted); line-height: 1.5; margin: 0; }

/* ══════════════════════════════
   REVIEWS
══════════════════════════════ */
.pc-reviews { background: #fff8f8; padding: 40px var(--px); }
.pc-reviews__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 20px; }
.pc-review-card { background: #fff; border-radius: var(--r-md); padding: 20px; box-shadow: var(--shadow-sm); }
.pc-review-card__stars  { color: var(--gold); font-size: 14px; margin-bottom: 8px; }
.pc-review-card__text   { font-size: 12px; color: #555; line-height: 1.6; margin-bottom: 12px; }
.pc-review-card__author { display: flex; align-items: center; gap: 8px; }
.pc-review-card__avatar {
  width: 32px; height: 32px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: var(--fw-bold); color: #fff;
}
.pc-review-card__name { font-size: 12px; font-weight: var(--fw-bold); color: #333; }
.pc-review-card__date { font-size: 10px; color: var(--text-light); }

/* ══════════════════════════════
   STANDARD PAGE LAYOUT
══════════════════════════════ */
.pc-page-main { background: #fafafa; min-height: 60vh; }
.pc-page-breadcrumb {
  background: #fff; padding: 8px var(--px);
  border-bottom: 1px solid var(--border);
  font-size: 12px; color: var(--text-muted);
}
.pc-page-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.pc-page-breadcrumb a:hover { color: var(--coral); }
.pc-page-container { max-width: 900px; margin: 32px auto; padding: 0 var(--px); }
.pc-page-article { background: #fff; border-radius: var(--r-md); padding: 32px 40px; box-shadow: var(--shadow-sm); }
.pc-page-header { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--border); }
.pc-page-title  { font-size: 26px; font-weight: var(--fw-black); color: #1a1a1a; line-height: 1.2; }
.pc-page-content { font-size: 14px; line-height: 1.8; color: #444; }
.pc-page-content h2 { font-size: 20px; font-weight: var(--fw-black); color: #222; margin: 24px 0 10px; }
.pc-page-content h3 { font-size: 16px; font-weight: var(--fw-bold); color: #333; margin: 18px 0 8px; }
.pc-page-content p  { margin-bottom: 14px; }
.pc-page-content ul, .pc-page-content ol { padding-left: 20px; margin-bottom: 14px; }
.pc-page-content li { margin-bottom: 6px; }
.pc-page-content strong { color: #222; }
.pc-page-content a { color: var(--coral); text-decoration: underline; }
.pc-page-content a:hover { color: var(--coral-dark); }
.pc-page-content table { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
.pc-page-content table th,
.pc-page-content table td { border: 1px solid var(--border-mid); padding: 10px 12px; font-size: 13px; }
.pc-page-content table th { background: #f8f8f8; font-weight: var(--fw-bold); }
