/* A10 · Newborn Photo Minimalist: fonts (SIL Open Font License 1.1, self-hosted) */
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/playfair-display-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Mulish"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/mulish-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Mulish"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/mulish-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Mulish"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/mulish-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Amiri"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/amiri-bismillah.woff2") format("woff2"); unicode-range: U+0600-06FF, U+FB50-FDFF, U+FE70-FEFF; }

/* A10 · Newborn Photo Minimalist: warm white and oat, a large newborn photo, an elegant serif, a brown swoosh and soft pill labels. */
:root {
  --bg: #faf6f1; --bg2: #f1e8de; --ink: #3a2a20; --muted: #6a5a4e; --accent: #8c6a52; --accent2: #e7d9ca;
  --line: rgb(140 106 82 / .2);
  --card: #fffdfa; --card-line: #ece1d4; --card-shadow: 0 10px 26px rgb(90 65 45 / .08); --radius: 18px;
  --btn-bg: linear-gradient(180deg, #9a7258, #7d5a43); --btn-ink: #fffaf3; --btn-shadow: 0 8px 18px rgb(110 80 55 / .25);
  --f-display: "Playfair Display", Georgia, serif; --f-body: "Mulish", "Amiri", system-ui, sans-serif; --f-head: "Playfair Display", Georgia, serif; --f-num: "Playfair Display", Georgia, serif;
  --name-size: 3.5rem; --name-weight: 400; --name-color: #4b3020;
  --head-size: 1.6rem; --head-weight: 400; --head-color: #3a2a20; --head-ink: #3a2a20;
  --kicker-color: #3a2a20; --kicker-font: var(--f-body); --kicker-track: .42em; --kicker-case: uppercase; --bism-color: #4b3020;
  --photo-radius: 0; --photo-shadow: none;
  --gate-bg: #faf6f1; --guest-bg: #fffdfa; --guest-line: #ece1d4;
  --cd-title: #3a2a20; --cd-num: #4b3020; --cd-label: #6a5a4e;
  --cd-tile: #f4ece3; --cd-tile-border: 0; --cd-tile-radius: 12px; --cd-tile-shadow: none;
  --dt-ic: #6e5442; --dt-ic-bg: transparent; --dt-label: #3a2a20; --av-bg: #efe6dc; --av-ink: #9a8070;
}
body { background: #faf6f1; }
.inv { background: transparent; }

/* The newborn photo, edge to edge, fading into the page */
.phw .photo { background: none; box-shadow: none; -webkit-mask: linear-gradient(180deg, #000 70%, transparent 100%); mask: linear-gradient(180deg, #000 70%, transparent 100%); }
.phw--cover { --pw: calc(100% + 44px); margin: -28px -22px 0; }
.phw--hero { --pw: calc(100% + 44px); margin: -34px -22px 0; }

/* Title */
.ttl__bism { font-size: 1.45rem; margin-top: -10px; }
.ttl__kicker { font: 600 .82rem/1.4 var(--f-body); }
.ttl .lead { color: #3a2a20; font-size: .95rem; }
.ttl__name { margin: 8px 0 0; line-height: 1; letter-spacing: -.01em; }
.ttl__name span { background: linear-gradient(180deg, #5a3a26, #3a2416); -webkit-background-clip: text; background-clip: text; color: transparent; padding: 0 .04em .06em; }
.orn--swoosh svg { width: 150px; margin: 2px auto 10px; color: #a07a5c; }
.ttl__full span { font: 600 1rem/1.2 var(--f-body); color: #3a2a20; background: #e9dccd; padding: 8px 24px; border-radius: 10px; letter-spacing: .02em; }
.par__l { color: #3a2a20; }
.par__n { font: 700 1rem/1.4 var(--f-body); color: #2e2018; }
.par__b { display: inline; }
.gate__date, .side__date { letter-spacing: .08em; color: #4b3020; }

/* Countdown: one long card with a timer icon */
.cd-box { background: #fffdfa; border: 1px solid #ece1d4; border-radius: 20px; padding: 16px 14px 18px; box-shadow: var(--card-shadow); }
.cd__head { display: grid; justify-items: center; }
.cd__t { font: 400 1.35rem/1.2 var(--f-display); color: #3a2a20; }
.cd__ic { width: 1.25em; height: 1.25em; color: #3a2a20; }
.cd__sub { color: #4b3c32; }
.cd__n { font-weight: 400; font-size: 2.2rem; }

/* Headings: serif between thin lines */
.h-sec__t::before, .h-sec__t::after { content: ""; width: 28px; height: 1.5px; background: #a07a5c; flex: none; }
.h-sec__sub, .lead { color: #4b3c32; }

/* Details: icons, light rules */
.dts { gap: 0; background: none; padding: 0 6px; }
.dt { background: none; border: 0; box-shadow: none; border-radius: 0; padding: 12px 2px; }
.dt + .dt { border-top: 1px solid #e6dacc; }
.dt__ic .ic { width: 28px; height: 28px; }
.dt__v strong { font-weight: 700; }
.btn--map { --map-ink: #6e5442; --map-line: #e2d4c4; --map-bg: #fffdfa; }
.link, .link--map, .link--cal { color: #6e5442; }

/* Gallery on a warm band */
.sec--gallery { background: #f5eee7; }
.gallery__item { border-radius: 12px; box-shadow: none; }
.wish__av b { display: none; }
.wish__av .ic { display: block; }
.wcomp { box-shadow: none; }
.btn--send { padding: 12px 16px; }
.closing__t span { font-weight: 400; }
.closing__p.salam { font-style: italic; margin-top: 14px; }

.sec--closing { padding-bottom: 70px; }

@media (min-width: 1024px) { .phw--side { --pw: min(32vw, 420px); margin: 0 auto 18px; } .phw--side .photo { border-radius: 18px; -webkit-mask: none; mask: none; } }
