/* ========================================================
   Fog City Fotografi — site stylesheet
   ======================================================== */

:root {
  --fog-900: #14181d;
  --fog-800: #1e242b;
  --fog-700: #2c343d;
  --fog-500: #5b6875;
  --fog-300: #a8b3bc;
  --fog-100: #eef1f3;
  --fog-50:  #f7f8f9;
  --gold-500: #c69a4b;
  --gold-400: #d9b876;
  --gold-100: #f4e9d6;
  --white: #ffffff;
  --serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans: 'Jost', 'Helvetica Neue', Arial, sans-serif;
  --shadow-soft: 0 10px 30px rgba(20, 24, 29, 0.12);
  --radius: 4px;
  --max-width: 1180px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--sans);
  color: var(--fog-800);
  background: var(--fog-50);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
}

h1, h2, h3, h4 {
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 0.5em;
  color: var(--fog-900);
  letter-spacing: 0.01em;
}

h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); }
h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); }
h3 { font-size: 1.3rem; }

p { margin: 0 0 1em; }

.eyebrow {
  display: inline-block;
  font-family: var(--sans);
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-500);
  font-weight: 600;
  margin-bottom: 0.9em;
}

.lede {
  font-size: 1.15rem;
  color: var(--fog-500);
  max-width: 62ch;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-block;
  padding: 0.9em 1.9em;
  border-radius: var(--radius);
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.92rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-primary {
  background: var(--gold-500);
  color: var(--fog-900);
}
.btn-primary:hover { background: var(--gold-400); }

.btn-outline {
  background: transparent;
  border-color: currentColor;
  color: var(--white);
}
.btn-outline:hover { background: rgba(255,255,255,0.12); }

.btn-outline-dark {
  background: transparent;
  border-color: var(--fog-800);
  color: var(--fog-800);
}
.btn-outline-dark:hover { background: var(--fog-800); color: var(--white); }

.btn-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 1.6em; }

/* ---------- Header / Nav ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(20, 24, 29, 0.94);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  max-width: var(--max-width);
  margin: 0 auto;
}

.brand {
  font-family: var(--serif);
  color: var(--white);
  font-size: 1.35rem;
  letter-spacing: 0.03em;
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.brand small {
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  color: var(--gold-400);
  text-transform: uppercase;
  margin-top: 3px;
}

.nav-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--white);
  font-size: 1.6rem;
  cursor: pointer;
}

.main-nav ul {
  display: flex;
  gap: 26px;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}

.main-nav a {
  color: var(--fog-100);
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 500;
  position: relative;
  padding: 6px 0;
}
.main-nav a:hover { color: var(--gold-400); }

.main-nav .cta-link {
  background: var(--gold-500);
  color: var(--fog-900);
  padding: 8px 18px;
  border-radius: var(--radius);
  text-transform: uppercase;
  font-weight: 600;
}
.main-nav .cta-link:hover { background: var(--gold-400); color: var(--fog-900); }

.has-dropdown { position: relative; }
.dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--fog-800);
  min-width: 220px;
  padding: 10px 0;
  margin-top: 14px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}
.has-dropdown:hover .dropdown { display: block; }
.dropdown a {
  display: block;
  padding: 9px 18px;
  text-transform: none;
  font-size: 0.85rem;
}
.dropdown a:hover { background: rgba(255,255,255,0.06); }

@media (max-width: 900px) {
  .nav-toggle { display: block; }
  .main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--fog-800);
    padding: 10px 24px 24px;
  }
  .main-nav.open { display: block; }
  .main-nav ul { flex-direction: column; align-items: flex-start; gap: 4px; }
  .main-nav li { width: 100%; }
  .dropdown { display: block; position: static; box-shadow: none; margin-top: 4px; padding-left: 12px; background: transparent; }
  .has-dropdown:hover .dropdown { display: block; }
}

/* ---------- Hero ---------- */
.hero {
  background:
    radial-gradient(circle at 15% 20%, rgba(198,154,75,0.18), transparent 45%),
    linear-gradient(160deg, var(--fog-900) 0%, var(--fog-800) 55%, var(--fog-700) 100%);
  color: var(--white);
  padding: 110px 0 90px;
  position: relative;
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(120deg, rgba(255,255,255,0.03) 0 2px, transparent 2px 60px);
  pointer-events: none;
}
.hero-inner { position: relative; max-width: 720px; }
.hero p.lede { color: var(--fog-300); }
.hero h1, .hero h2 { color: var(--white); }

.hero-sm {
  padding: 70px 0 60px;
}

/* Hero with a background photo: dark gradient layered over the image so white
   text stays readable. --hero-bg is set per-page via an inline style. */
.hero.hero-photo {
  background-image:
    radial-gradient(circle at 15% 20%, rgba(198,154,75,0.15), transparent 45%),
    linear-gradient(160deg, rgba(20,24,29,0.90) 0%, rgba(30,36,43,0.84) 55%, rgba(44,52,61,0.78) 100%),
    var(--hero-bg);
  background-size: cover;
  background-position: center;
}

/* ---------- Sections ---------- */
section { padding: 78px 0; }
.section-alt { background: var(--white); }
.section-tight { padding: 56px 0; }

.section-head { max-width: 680px; margin-bottom: 2.6em; }
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }

/* ---------- Service grid ---------- */
.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
@media (max-width: 980px) { .grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .grid { grid-template-columns: 1fr; } }

.card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--fog-100);
  transition: transform 0.2s ease;
}
.card:hover { transform: translateY(-4px); }

.card-media {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  background: linear-gradient(135deg, var(--fog-700), var(--fog-500));
}

.card-body { padding: 20px 22px 24px; }
.card-body h3 { margin-bottom: 0.35em; }
.card-body p { color: var(--fog-500); font-size: 0.92rem; margin-bottom: 0.8em; }
.card-link { font-size: 0.82rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gold-500); }

/* ---------- Pricing ---------- */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px) { .pricing-grid { grid-template-columns: 1fr; } }

.price-card {
  background: var(--white);
  border: 1px solid var(--fog-100);
  border-radius: var(--radius);
  padding: 32px 28px;
  position: relative;
  box-shadow: var(--shadow-soft);
}
.price-card.popular { border: 2px solid var(--gold-500); }
.photo-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 2.2em;
}
.photo-pair img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}
@media (max-width: 640px) { .photo-pair { grid-template-columns: 1fr; } .photo-pair img { height: 220px; } }

.price-card-media {
  display: block;
  width: calc(100% + 56px);
  height: 140px;
  object-fit: cover;
  margin: -32px -28px 20px;
  border-radius: 3px 3px 0 0;
}
.price-card .badge {
  position: absolute;
  top: -13px;
  left: 28px;
  background: var(--gold-500);
  color: var(--fog-900);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
}
.price-card h3 { margin-bottom: 0.2em; }
.price-card .amount {
  font-family: var(--serif);
  font-size: 2.2rem;
  color: var(--gold-500);
  margin: 0.15em 0 0.5em;
}
.price-card .amount span { font-size: 0.95rem; color: var(--fog-500); font-family: var(--sans); }
.price-card ul { margin: 0 0 1.2em; padding-left: 1.1em; color: var(--fog-700); font-size: 0.94rem; }
.price-card li { margin-bottom: 0.5em; }

.price-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--white);
  box-shadow: var(--shadow-soft);
  border-radius: var(--radius);
  overflow: hidden;
}
.price-table th, .price-table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--fog-100);
  text-align: left;
  font-size: 0.95rem;
}
.price-table th {
  background: var(--fog-800);
  color: var(--white);
  font-family: var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.78rem;
}
.price-table tr:last-child td { border-bottom: none; }
.price-table tr:nth-child(even) td { background: var(--fog-50); }

/* ---------- Panels / info blocks ---------- */
.panel {
  background: var(--white);
  border: 1px solid var(--fog-100);
  border-radius: var(--radius);
  padding: 28px 30px;
  box-shadow: var(--shadow-soft);
}
.two-col {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 860px) { .two-col { grid-template-columns: 1fr; } }

.note-box {
  background: var(--gold-100);
  border-left: 4px solid var(--gold-500);
  padding: 16px 20px;
  border-radius: var(--radius);
  font-size: 0.94rem;
  color: var(--fog-800);
  margin: 1.4em 0;
}

/* ---------- FAQ ---------- */
.faq-item {
  border-bottom: 1px solid var(--fog-100);
  padding: 22px 0;
}
.faq-item h3 { font-family: var(--sans); font-weight: 600; font-size: 1.05rem; margin-bottom: 0.5em; }
.faq-item p { color: var(--fog-500); margin: 0; }

/* ---------- Steps ---------- */
.steps {
  counter-reset: step;
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 18px;
}
.steps li {
  counter-increment: step;
  position: relative;
  padding-left: 52px;
  color: var(--fog-700);
}
.steps li::before {
  content: counter(step);
  position: absolute;
  left: 0; top: 0;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--fog-800);
  color: var(--gold-400);
  font-family: var(--serif);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

/* ---------- Contact / forms ---------- */
.contact-strip {
  background: var(--fog-900);
  color: var(--white);
  padding: 60px 0;
  text-align: center;
}
.contact-strip h2 { color: var(--white); }
.contact-strip .lede { color: var(--fog-300); margin: 0 auto 1.4em; }

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.form-grid .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .form-grid { grid-template-columns: 1fr; } }

label {
  display: block;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--fog-700);
  margin-bottom: 6px;
  font-weight: 600;
}
input, select, textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--fog-300);
  border-radius: var(--radius);
  font-family: var(--sans);
  font-size: 0.95rem;
  background: var(--white);
  color: var(--fog-800);
}
textarea { min-height: 140px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--gold-500);
  box-shadow: 0 0 0 3px rgba(198,154,75,0.18);
}

.contact-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 1.6em;
}
@media (max-width: 800px) { .contact-cards { grid-template-columns: 1fr; } }
.contact-cards .panel { text-align: center; }
.contact-cards .icon { font-size: 1.6rem; color: var(--gold-500); margin-bottom: 0.4em; }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--fog-900);
  color: var(--fog-300);
  padding: 54px 0 28px;
  font-size: 0.9rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 34px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
@media (max-width: 760px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-grid h4 { color: var(--white); font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.06em; font-family: var(--sans); }
.footer-grid ul { list-style: none; padding: 0; margin: 0; }
.footer-grid li { margin-bottom: 9px; }
.footer-grid a:hover { color: var(--gold-400); }
.footer-bottom {
  --rt-mask: url(data:image/png;base64,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);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px 24px;
  padding-top: 24px;
  font-size: 0.82rem;
  color: var(--fog-500);
}
.footer-bottom .fb-copy { text-align: left; }
.footer-bottom .fb-mid { text-align: center; }
.rt-credit { justify-self: end; display: block; width: 34px; height: 34px; opacity: .85; transition: opacity .2s; }
.rt-credit:hover, .rt-credit:focus-visible { opacity: 1; }
.rt-credit span { display: block; width: 100%; height: 100%; background: #9bbbe6; -webkit-mask: var(--rt-mask) center / contain no-repeat; mask: var(--rt-mask) center / contain no-repeat; }
@media (max-width: 760px) {
  .footer-bottom { grid-template-columns: 1fr auto; grid-template-areas: "mid mid" "copy rt"; }
  .footer-bottom .fb-mid { grid-area: mid; }
  .footer-bottom .fb-copy { grid-area: copy; }
  .footer-bottom .rt-credit { grid-area: rt; }
}
.social-row { display: flex; gap: 14px; }
.social-row a {
  width: 34px; height: 34px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.social-row a:hover { border-color: var(--gold-400); color: var(--gold-400); }

/* ---------- Breadcrumb / page hero ---------- */
.crumb { font-size: 0.82rem; color: var(--fog-300); margin-bottom: 1em; }
.crumb a:hover { color: var(--gold-400); }

.tag-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.2em 0; }
.tag-list span {
  background: rgba(255,255,255,0.08);
  color: var(--fog-100);
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 0.78rem;
  letter-spacing: 0.03em;
}

.checklist { list-style: none; padding: 0; margin: 0; }
.checklist li { padding-left: 28px; position: relative; margin-bottom: 10px; color: var(--fog-700); }
.checklist li::before {
  content: "✓";
  position: absolute; left: 0; top: 0;
  color: var(--gold-500);
  font-weight: 700;
}

/* reveal buttons: look like links, address assembled on click (see js/main.js) */
button.reveal { font: inherit; color: inherit; background: none; border: 0; border-bottom: 1px dotted currentColor; padding: 0; cursor: pointer; }
button.reveal:hover, button.reveal:focus-visible { color: var(--gold-400); }
a.revealed { color: inherit; text-decoration: underline; }
.contact-cards .panel button.reveal { color: var(--gold-500); font-weight: 500; }
.mail-panel { text-align: center; }
.mail-panel .qr { display: block; margin: 0 auto 10px; width: 180px; height: 180px; border-radius: 10px; background: #fff; }
.mail-panel .scan { color: var(--fog-500); font-size: 0.9rem; margin: 0 0 8px; }
button.reveal-big { font-size: 1.05rem; font-weight: 500; color: var(--gold-500); }
a.revealed { word-break: break-all; }
