/* =========================================================================
   DreamPixels — WordPress adaptations (loaded after site.css).
   site.css holds the design; this file maps WordPress block markup onto it.
   ========================================================================= */
:root {
  --dp-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 12 12 4M5.5 4H12v6.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
  --dp-arrow-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.5 8H3M7.5 3.5 3 8l4.5 4.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
  --dp-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h12M8 2v12' fill='none' stroke='%23171819' stroke-width='1.5'/%3E%3C/svg%3E");
  --dp-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h12' fill='none' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
  --dp-aster: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M28 2v52M2 28h52M9.6 9.6l36.8 36.8M46.4 9.6 9.6 46.4' stroke='%23000' stroke-width='2.5'/%3E%3C/svg%3E");
}
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-group.has-background { padding: 0; }
.wp-element-caption, figcaption { margin: 0; }

/* ---------- Header ---------- */
.site-header .wp-block-site-logo img, .site-footer .wp-block-site-logo img { width: 90px; height: auto; }
.site-header .wp-block-navigation { gap: 40px; font-size: 16px; }
.site-header .wp-block-navigation .wp-block-navigation__container { gap: 40px; }
.site-header .wp-block-navigation a:hover { color: var(--blue); }
.site-header .wp-block-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--paper); color: var(--ink); padding: 24px var(--gutter); }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--line); width: 100%; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; padding: 18px 0; font-size: 38px; font-weight: 500; letter-spacing: -.035em; line-height: 1.06; }
.site-header .wp-block-navigation__responsive-container-open, .site-header .wp-block-navigation__responsive-container-close { color: var(--ink); }

/* ---------- Buttons & links (core/button) ---------- */
.wp-block-buttons { gap: 12px; }
.wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; transition: background .25s, color .25s; }
.wp-block-button__link::after { content: ""; width: 16px; height: 16px; flex: none; background: currentColor; -webkit-mask: var(--dp-arrow) center / contain no-repeat; mask: var(--dp-arrow) center / contain no-repeat; transition: transform .25s var(--ease); }
.wp-block-button__link:hover::after { transform: translate(2px, -2px); }
.wp-block-button:not([class*="is-style-dp-"]) .wp-block-button__link:hover { background: var(--blue); color: var(--white); }
.wp-block-button.is-style-dp-light .wp-block-button__link { background: var(--white); color: var(--ink); }
.wp-block-button.is-style-dp-light .wp-block-button__link:hover { background: var(--paper); }
.wp-block-button.is-style-dp-link .wp-block-button__link, .wp-block-button.is-style-dp-link-light .wp-block-button__link {
  background: none; color: var(--ink); padding: 0 0 8px; border-radius: 0; border-bottom: 1px solid currentColor; gap: 12px; }
.wp-block-button.is-style-dp-link .wp-block-button__link:hover { color: var(--blue); }
.wp-block-button.is-style-dp-link-light .wp-block-button__link, .wp-block-button.is-style-dp-link-light .wp-block-button__link:hover { color: var(--white); }
.back-link-wrap .wp-block-button__link { font-family: var(--mono); font-size: 12px; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; border: 0; padding: 0; gap: 10px; }
.back-link-wrap .wp-block-button__link::after { display: none; }
.back-link-wrap .wp-block-button__link::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--dp-arrow-left) center / contain no-repeat; mask: var(--dp-arrow-left) center / contain no-repeat; }

/* ---------- Images ---------- */
.wp-block-image { margin: 0; }
.wp-block-image img { display: block; width: 100%; height: auto; }
.work-card__media .wp-block-image, .founder-card__media .wp-block-image, .closer-look .wp-block-image, .next-project__thumb .wp-block-image, .reel .wp-block-image { height: 100%; }
.work-card__media .wp-block-image img, .founder-card__media .wp-block-image img, .closer-look .wp-block-image img, .next-project__thumb .wp-block-image img, .reel .wp-block-image img { height: 100%; object-fit: cover; }
.reel .wp-block-image { position: absolute; inset: 0; }
.studio-image.wp-block-image img { height: 100%; object-fit: cover; }
.closer-look--form img { object-position: 72% 40%; }
.closer-look--still img { object-position: 52% 55%; }
.closer-look--parallel img { object-position: 70% 50%; }
.closer-look--afterlight img { object-position: 55% 45%; }

/* ---------- Small decorative pieces ---------- */
.work-card__open::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--dp-arrow) center / contain no-repeat; mask: var(--dp-arrow) center / contain no-repeat; }
.about__side .asterisk { background: currentColor; -webkit-mask: var(--dp-aster) center / contain no-repeat; mask: var(--dp-aster) center / contain no-repeat; }
.collab__clients li { font-size: 28px; font-weight: 500; letter-spacing: -.03em; line-height: 1.2; white-space: nowrap; }
.collab__clients li:nth-child(1) { font-size: 30px; font-weight: 600; letter-spacing: -.04em; }
.collab__clients li:nth-child(3) { font-weight: 400; letter-spacing: -.02em; }
.collab__clients li:nth-child(4) { font-size: 21px; letter-spacing: .1em; }
.case-meta .mono-label { font-size: 11px; color: var(--muted); margin-bottom: 8px; }
.next-project { position: relative; }
.next-project__title a::after { content: ""; position: absolute; inset: 0; }
.next-project__title::after { content: ""; width: .5em; height: .5em; background: currentColor; -webkit-mask: var(--dp-arrow) center / contain no-repeat; mask: var(--dp-arrow) center / contain no-repeat; transition: transform .25s var(--ease); }
.next-project:hover .next-project__title { color: var(--blue); }
.next-project:hover .next-project__title::after { transform: translate(6px, -6px); }
.featured__text h2 a:hover { color: var(--blue); }

/* ---------- Contact rows ---------- */
.contact-row.wp-block-group { position: relative; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; padding-right: 32px; }
.contact-row.wp-block-group::after { content: ""; position: absolute; right: 0; top: 50%; width: 16px; height: 16px; margin-top: -8px; background: currentColor; -webkit-mask: var(--dp-arrow) center / contain no-repeat; mask: var(--dp-arrow) center / contain no-repeat; }
.contact-row__value a::after { content: ""; position: absolute; inset: 0; }
.contact-row.wp-block-group:hover { color: var(--blue); }

/* ---------- Services accordion (core/details with the class dp-accordion) ---------- */
.services__list { counter-reset: dp-svc; }
.wp-block-details.dp-accordion { counter-increment: dp-svc; border-top: 1px solid var(--line); padding: 32px 0 36px; }
.wp-block-details.dp-accordion > summary { position: relative; display: block; min-height: 44px; padding: 0 76px 0 80px; list-style: none; cursor: default; color: var(--muted); }
.wp-block-details.dp-accordion > summary::-webkit-details-marker { display: none; }
.wp-block-details.dp-accordion > summary::before { content: counter(dp-svc, decimal-leading-zero); position: absolute; left: 0; top: 10px; font-family: var(--mono); font-size: 12px; letter-spacing: .08em; color: var(--blue); }
.wp-block-details.dp-accordion > summary::after { content: ""; position: absolute; right: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: var(--white) var(--dp-plus) center / 16px no-repeat; cursor: pointer; transition: background-color .25s, border-color .25s; }
.wp-block-details.dp-accordion[open] > summary::after { background: var(--ink) var(--dp-minus) center / 16px no-repeat; border-color: var(--ink); }
.wp-block-details.dp-accordion > summary strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: var(--fs-h3); font-weight: 500; line-height: 1.2; letter-spacing: -.02em; }
.wp-block-details.dp-accordion > summary br { display: none; }
.wp-block-details.dp-accordion > :not(summary) { margin: 20px 76px 0 80px; animation: reveal-down .45s var(--ease); }
.wp-block-details.dp-accordion > :not(summary):first-of-type { margin-top: 24px; }

/* ---------- FAQ (core/details with the class dp-faq) ---------- */
.wp-block-details.dp-faq { border-top: 1px solid var(--line); padding: 28px 0; }
.band-soft .wp-block-details.dp-faq { border-color: rgba(23, 24, 25, .14); }
.wp-block-details.dp-faq > summary { position: relative; display: block; min-height: 36px; padding-right: 60px; list-style: none; cursor: pointer; font-size: var(--fs-h4); font-weight: 500; line-height: 1.25; letter-spacing: -.015em; }
.wp-block-details.dp-faq > summary::-webkit-details-marker { display: none; }
.wp-block-details.dp-faq > summary::after { content: ""; position: absolute; right: 0; top: 50%; width: 36px; height: 36px; margin-top: -18px; border-radius: 50%; border: 1px solid var(--line); background: transparent var(--dp-plus) center / 16px no-repeat; transition: background-color .25s, border-color .25s; }
.wp-block-details.dp-faq[open] > summary::after { background: var(--ink) var(--dp-minus) center / 16px no-repeat; border-color: var(--ink); }
.wp-block-details.dp-faq > p { padding: 14px 60px 0 0; animation: reveal-down .4s var(--ease); }

/* ---------- Single posts (optional blog) ---------- */
.post-single { max-width: calc(760px + 2 * var(--gutter)); display: flex; flex-direction: column; gap: 24px; }
.post-single__content > * + * { margin-top: 1em; }
.post-list { display: flex; flex-direction: column; gap: 40px; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .wp-site-blocks .site-header__nav { display: flex; }
  .site-header__cta { display: none; }
  .wp-block-details.dp-accordion { padding: 26px 0 30px; }
  .wp-block-details.dp-accordion > summary { padding: 0 56px 0 44px; min-height: 40px; }
  .wp-block-details.dp-accordion > summary::before { top: 6px; }
  .wp-block-details.dp-accordion > summary::after { width: 40px; height: 40px; }
  .wp-block-details.dp-accordion > :not(summary) { margin: 16px 0 0 44px; }
  .wp-block-details.dp-faq > p { padding-right: 0; }
  .collab__clients li { font-size: 23px; }
  .collab__clients li:nth-child(1) { font-size: 25px; }
  .collab__clients li:nth-child(4) { font-size: 17px; }
}

/* ---------- Editor tweaks ---------- */
.editor-styles-wrapper .reveal { opacity: 1 !important; transform: none !important; }
.editor-styles-wrapper .work-card__title a::after, .editor-styles-wrapper .journal-card__title a::after, .editor-styles-wrapper .next-project__title a::after, .editor-styles-wrapper .contact-row__value a::after { display: none; }
.editor-styles-wrapper .wp-block-details.dp-accordion > summary::after { cursor: default; }
