@charset "utf-8";
/* ============================================================
   Cynthia Nichols Fine Art – 2025 Gallery Styles
   Mobile Responsive + Gold Hover Accent + Artwork Layouts
   ============================================================ */

:root {
  --gold: #d4af37;
  --ink: #0b1324;
  --navy: #0e1a6a;
  --shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  --shadow-hover: 0 12px 30px rgba(0, 0, 0, 0.12);
  --radius: 14px;
  --transition: 0.25s ease;
}

/* ============================================================
   GALLERY GRID
   ============================================================ */
.gallery {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}

.tile {
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow var(--transition),
              border-color var(--transition), filter var(--transition);
  border: 3px solid transparent;
}

.tile:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
  border-color: var(--gold);
  filter: brightness(1.05);
}

.tile img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  background: #fff;
}

.tile__body {
  padding: 12px 14px 16px;
  text-align: center;
}

.tile__title {
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 18px;
  color: var(--ink);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-block;
  text-decoration: none;
  background: var(--navy);
  color: #fff;
  padding: 0.6rem 1rem;
  border-radius: 10px;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  transition: background 0.2s ease, box-shadow 0.25s ease, transform 0.06s ease;
}
.btn:hover {
  background: var(--gold);
  color: var(--ink);
  box-shadow: 0 0 12px 2px rgba(212, 175, 55, 0.45),
              0 3px 14px rgba(0, 0, 0, 0.25);
  transform: translateY(-1px);
}
.btn:active { transform: translateY(1px); }

/* ============================================================
   RESPONSIVE GRID
   ============================================================ */
@media (max-width: 1100px) { .gallery { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .gallery { grid-template-columns: 1fr; } }

/* ============================================================
   HOMEPAGE IMAGE RULES
   ============================================================ */
body.home .home-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 2vw, 20px);
  align-items: start;
}

body.home .home-card { display: block; text-decoration: none; }

body.home .home-card img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 6px;
}

/* Cropped 4:5 on desktop */
body.home .gallery .tile img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

/* Uncropped on mobile */
@media (max-width: 900px) {
  body.home .gallery .tile img {
    aspect-ratio: auto !important;
    object-fit: contain !important;
    background: #fff;
  }
}

/* ============================================================
   BACK BANNER (Footer + Art Pages)
   ============================================================ */
.back-banner {
  background: var(--navy);
  color: #fff;
  text-align: center;
  padding: 28px 16px;
  border-radius: var(--radius);
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  max-width: 1100px;
  margin: 0 auto 1.25rem;
}

.back-btn {
  background: transparent;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0.5px;
  border: 2px solid #fff;
  border-radius: 10px;
  padding: 9px 22px;
  display: inline-block;
  transition: all 0.25s ease;
  box-shadow: 0 3px 10px rgba(0,0,0,.15);
}
.back-btn:hover {

  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold);
  transform: translateY(-2px);
}

/* ============================================================
   ARTWORK DETAIL LAYOUT
   ============================================================ */
.artwork-card,
.artwork-card.card {
  background: none !important;
  box-shadow: none !important;
  border: 0;
  padding: 0;
  margin: 1rem auto 1.5rem;
  max-width: 1100px;
}

/* Grid for image + text */
.artwork-grid {
  display: grid;
  /* Image a bit narrower, text wider for better centering */
  grid-template-columns: minmax(420px, 46%) minmax(360px, 54%);
  column-gap: 24px;
  row-gap: 16px;
  align-items: start;
  justify-content: center;
}

/* Neutralize figure & keep alignment clean */
.artwork-figure {
  background: none !important;
  box-shadow: none !important;
  margin: 0;
  padding: 0;
  justify-self: end;
}
.artwork-details { justify-self: start; }

/* Image wrapper: soft shadow only */
.art-frame {
  background: none !important;
  box-shadow:none !important;
  border-radius:none !important;
  overflow: hidden;
  aspect-ratio: 4/5;
  margin: 0;
  position: relative;
  z-index: 2;
}
.art-frame img {
  background: none;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

/* Text block with white card */
.artwork-details {
  background: #fff;
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow);
  margin: 0;
}

/* Mobile layout */
@media (max-width: 900px) {
  .artwork-grid {
    grid-template-columns: 1fr;
    column-gap: 12px;
    row-gap: 14px;
    justify-items: center;
  }
  .artwork-figure, .artwork-details { justify-self: center; }
}

/* ============================================================
   TYPOGRAPHY & BUTTONS
   ============================================================ */
.artwork-title {
  margin: 0 0 .35rem;
  font-size: clamp(22px, 3.2vw, 30px);
  color: var(--ink);
  font-weight: 900;
}
.artwork-sub { margin: .2rem 0 1rem; color: #2a355f; }
.price .amount { font-size: 1.35rem; font-weight: 700; color: var(--gold); }

.btn-primary {
  display: inline-block;
  background: var(--navy);
  color: #fff;
  padding: .7rem 1.2rem;
  border-radius: 12px;
  font-weight: 700;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
  transition: transform .15s, box-shadow .2s, filter .2s;
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.16);
  filter: brightness(1.04);
}



