/* ============================================================
   yegipet.com — Дополнительные стили (загрузка после рендера)
   Бордо + Золото + Слоновая кость — уникальная система
   ============================================================ */

/* ============ ТАБЛИЦЫ ============ */
table { width:100%; border-collapse:collapse; margin:1.25rem 0;
  background:var(--white); border:1px solid var(--divider);
  border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-sm); }
th,td { padding:.7rem 1rem; border-bottom:1px solid var(--ivory-dark); text-align:left; }
th { background:var(--bordo-dark); color:white;
  font-weight:600; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; }
tr:last-child td { border-bottom:none; }
tr:nth-child(even) td { background:var(--ivory); }
main table { display:block; overflow-x:auto; max-width:100%; }
main th, main td { white-space:nowrap; }
@media(min-width:720px){ main table{display:table;overflow:visible;} main th,main td{white-space:normal;} }

/* ============ СТРАНИЦА МАРШРУТА / МЕСТА ============ */
.place-meta {
  display:flex; flex-wrap:wrap; gap:.3rem .8rem;
  padding:.75rem 0; margin:1rem 0 1.5rem;
  font-size:.88rem; color:var(--muted);
  border-top:1px solid var(--divider);
  border-bottom:1px solid var(--divider);
}
.place-hero {
  margin:1.5rem 0 2.5rem;
  border:1px solid var(--divider); border-radius:var(--radius-lg);
  overflow:hidden; background:var(--white); box-shadow:var(--shadow-lg);
}
.place-hero img { display:block; width:100%; height:auto; max-height:300px; object-fit:cover; }
.place-hero figcaption {
  padding:.75rem 1.25rem;
  font-size:.85rem; color:var(--pale); font-style:italic;
  border-top:1px solid var(--divider); background:var(--ivory);
}
@media(min-width:720px){ .place-hero img { max-height:460px; } }

/* ============ КАРТА (фасад) ============ */
.map-facade {
  position:relative; width:100%; height:230px;
  border:1px solid var(--divider); border-radius:var(--radius-md);
  background:linear-gradient(135deg, var(--ivory), var(--ivory-dark));
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; overflow:hidden; margin-bottom:1.2rem;
  box-shadow:var(--shadow-sm);
}
.map-facade::before {
  content:""; position:absolute; inset:0;
  background:
    repeating-linear-gradient(0deg,rgba(201,149,42,.05) 0 1px,transparent 1px 28px),
    repeating-linear-gradient(90deg,rgba(201,149,42,.05) 0 1px,transparent 1px 28px);
  pointer-events:none;
}
.map-facade .pin {
  width:40px; height:40px; border-radius:50%;
  background:var(--bordo); box-shadow:0 4px 15px rgba(123,24,39,.3);
  border:3px solid rgba(201,149,42,.7);
}
.map-facade .pin-label {
  position:absolute; left:50%; bottom:12px; transform:translateX(-50%);
  background:rgba(255,255,255,.92); color:var(--bordo);
  border:1px solid var(--divider);
  padding:.35rem 1rem; border-radius:100px;
  font-size:.8rem; font-weight:600; white-space:nowrap;
  box-shadow:var(--shadow-sm);
}
.map-embed {
  width:100%; height:230px;
  border:1px solid var(--divider); border-radius:var(--radius-md);
  display:block; margin-bottom:1.2rem;
}
@media(min-width:720px){ .map-facade,.map-embed { height:270px; } }

/* ============ ГАЛЕРЕЯ ============ */
.gallery-grid {
  display:grid; gap:1.25rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  margin:1.5rem 0;
}
.gallery-grid figure {
  margin:0; border-radius:var(--radius-md); overflow:hidden;
  border:1px solid var(--divider); background:var(--white);
  transition:transform .3s, box-shadow .3s;
}
.gallery-grid figure:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.gallery-grid img { display:block; width:100%; height:200px; object-fit:cover; }
.gallery-grid figcaption {
  padding:.75rem 1rem; font-size:.85rem;
  color:var(--muted); border-top:1px solid var(--divider); background:var(--ivory);
}

/* ============ АРАБСКАЯ ТАБЛИЦА ============ */
.arabic-phrase-table tr:hover td { background:rgba(201,149,42,.05); }
.arabic-phrase-table .arabic-script {
  font-size:1.4rem; font-family:serif; direction:rtl;
  color:var(--bordo); text-align:right;
}
.arabic-phrase-table .transcription { font-style:italic; color:var(--muted); font-size:.9rem; }

/* ============ СЕРВИСНЫЕ КАРТОЧКИ (services page) ============ */
.service-cards-grid {
  display:grid; gap:1.5rem;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  margin:2rem 0;
}

/* ============ КОНТАКТНЫЕ КНОПКИ ============ */
.contact-btns { display:flex; flex-wrap:wrap; gap:1rem; margin:1.5rem 0; }

/* ============ СЕЗОННАЯ СЕТКА ============ */
@media(max-width:719px){
  .seasons-grid { grid-template-columns:1fr 1fr; }
  .price-grid { grid-template-columns:1fr 1fr; }
}

/* ============ DO/DON'T ============ */
@media(max-width:719px){ .rules-grid { grid-template-columns:1fr; } }

/* ============ ЦИТАТА / ВЫНОСКА ============ */
blockquote {
  border-left:4px solid var(--gold);
  margin:1.5rem 0;
  padding:.75rem 1.25rem;
  background:linear-gradient(135deg, rgba(201,149,42,.06), transparent);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  font-style:italic;
  color:var(--muted);
}
blockquote strong { color:var(--charcoal); }

/* ============ KOD ============ */
code {
  background:var(--ivory-dark); color:var(--bordo);
  padding:2px 6px; border-radius:4px;
  font-family:var(--font-mono); font-size:.87rem;
  border:1px solid var(--divider);
}
pre { overflow-x:auto; }
pre code { background:none; border:none; padding:0; }
