/* Owner-approved clean image treatment and compact header. */
.mara-product-gallery > img { background:transparent; border-radius:0; box-shadow:none; height:auto; max-height:none; object-fit:contain; padding:0; width:100%; }
.mara-product-gallery__thumbs img { background:transparent; border-radius:0; box-shadow:none; }
.mara-contact-page__form-card { scroll-margin-top:5rem; }
.mara-portfolio-legacy { padding:0 0 clamp(4rem, 8vw, 7rem); }
.mara-portfolio-legacy__intro { border-top:1px solid rgba(55, 76, 91, .18); margin-bottom:clamp(1.5rem, 3vw, 2.5rem); padding-top:clamp(2.6rem, 5vw, 4rem); }
.mara-portfolio-legacy__intro h2 { margin:.3rem 0 .75rem; }
.mara-portfolio-legacy__intro > p:last-child { color:var(--mara-muted); margin:0; max-width:42rem; }

.mara-header__row { min-height:4.6rem; }
.mara-logo__image { height:1.6rem; max-width:4.9rem; }

@media (max-width:1100px) {
    .mara-header__row { min-height:4.1rem; }
    .mara-logo__image { height:1.35rem; max-width:4.2rem; }
}

@media (max-width:940px) {
    .mara-header__row { min-height:3.9rem; }
    .mara-logo__image { height:1.18rem; max-width:3.8rem; }
}

@media (max-width:700px) {
    .mara-header__row { min-height:3.55rem; }
    .mara-logo__image { height:1.05rem; max-width:3.45rem; }
    .mara-nav { top:3.55rem; }
    .mara-nav-trigger { align-items:center; align-self:center; box-sizing:border-box; justify-content:center; padding:0; }
    .mara-nav-trigger span { flex:0 0 2px; margin-inline:auto; }
}

.mara-print-options,
.mara-calendar-upload,
.mara-calendar-spec {
    margin:1.25rem 0;
    padding:1.25rem 0;
    border:0;
    border-top:1px solid rgba(33, 62, 79, .18);
    border-bottom:1px solid rgba(33, 62, 79, .18);
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.mara-print-options legend,
.mara-print-options label,
.mara-calendar-upload legend,
.mara-calendar-upload label {
    display:block;
    color:var(--mara-ink);
    font-weight:700;
}

.mara-print-options legend,
.mara-calendar-upload legend { margin-bottom:.9rem; }
.mara-print-options label,
.mara-calendar-upload label { margin:.85rem 0 .35rem; }
.mara-print-options select,
.mara-print-options input[type="number"],
.mara-print-options input[type="file"],
.mara-calendar-upload input[type="file"] {
    box-sizing:border-box;
    width:100%;
    max-width:34rem;
    padding:.75rem;
    border:1px solid rgba(33, 62, 79, .42);
    border-radius:0;
    background:#fffdf9;
    color:var(--mara-ink);
}

.mara-print-note,
.mara-print-price,
.mara-calendar-upload__note { margin:.8rem 0 0; }
.mara-print-price::before { content:attr(data-quantity-label); display:block; margin-bottom:.25rem; color:var(--mara-ink); }
.mara-print-cart-quantity { color:var(--mara-ink); font-weight:700; }

.mara-calendar-spec { display:grid; gap:.5rem; }
.mara-calendar-spec div { display:flex; gap:.75rem; }
.mara-calendar-spec dt { color:var(--mara-ink); font-weight:700; }
.mara-calendar-spec dd { margin:0; }

/* Reusable product media: calendar now uses it; photobooks/albums can opt in later. */
.mara-product-gallery__main { background:transparent; border-radius:0; overflow:visible; }
.mara-product-gallery__main .mara-product-gallery__item { display:block; }
.mara-product-gallery__main img { background:transparent; border-radius:0; height:min(65vh,42rem); object-fit:contain; padding:0; width:100%; }
.mara-product-gallery__thumbs { align-items:flex-start; display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.6rem; }
.mara-product-gallery__thumbs .mara-product-gallery__item { display:block; }
.mara-product-gallery__thumbs img { background:var(--mara-paper); border:1px solid var(--mara-line); border-radius:.5rem; display:block; height:4rem; object-fit:cover; width:4rem; }
.mara-product-gallery__item { text-decoration:none; }
.mara-product-gallery__item:focus-visible { outline:3px solid var(--mara-accent); outline-offset:3px; }

.mara-product-lightbox[hidden] { display:none; }
.mara-product-lightbox { align-items:center; background:rgba(16,31,42,.88); display:flex; inset:0; justify-content:center; padding:2rem; position:fixed; z-index:100000; }
.mara-product-lightbox__backdrop { inset:0; position:absolute; }
.mara-product-lightbox__panel { align-items:center; display:flex; justify-content:center; max-height:calc(100vh - 4rem); max-width:min(92vw,1100px); position:relative; width:100%; z-index:1; }
.mara-product-lightbox__image { display:block; max-height:calc(100vh - 4rem); max-width:calc(100% - 8rem); object-fit:contain; }
.mara-product-lightbox__close,.mara-product-lightbox__prev,.mara-product-lightbox__next { background:var(--mara-paper); border:0; color:var(--mara-ink); cursor:pointer; line-height:1; position:absolute; }
.mara-product-lightbox__close { border-radius:50%; font-size:1.6rem; height:2.5rem; right:0; top:-1rem; width:2.5rem; }
.mara-product-lightbox__prev,.mara-product-lightbox__next { border-radius:50%; font-size:2.2rem; height:3rem; top:50%; transform:translateY(-50%); width:3rem; }
.mara-product-lightbox__prev { left:.5rem; }
.mara-product-lightbox__next { right:.5rem; }
.mara-product-lightbox__counter { bottom:-2rem; color:var(--mara-paper); font-size:.82rem; left:0; margin:0; position:absolute; right:0; text-align:center; }
body.mara-lightbox-open { overflow:hidden; }

/* Calendar content blocks and selected-file preview. Shared classes remain reusable for albums. */
.mara-product--calendar .mara-calendar-upload__preview { margin-top:1rem; }
.mara-product--calendar .mara-calendar-upload__status { color:var(--mara-muted); font-size:.86rem; line-height:1.5; margin:.75rem 0; }
.mara-product--calendar .mara-calendar-upload__status.is-ready { color:var(--mara-teal-deep); font-weight:700; }
.mara-product--calendar .mara-calendar-upload__status.is-error { color:#a33b2f; font-weight:700; }
.mara-product--calendar .mara-calendar-upload__grid { display:grid; gap:.65rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.mara-product--calendar .mara-calendar-upload__card { background:color-mix(in srgb,var(--mara-teal) 10%,var(--mara-paper)); border:1px solid color-mix(in srgb,var(--mara-teal) 25%,var(--mara-line)); min-width:0; padding:.45rem; }
.mara-product--calendar .mara-calendar-upload__card img { aspect-ratio:1; display:block; object-fit:cover; width:100%; }
.mara-product--calendar .mara-calendar-upload__card-copy { display:grid; gap:.2rem; padding:.45rem .1rem .1rem; }
.mara-product--calendar .mara-calendar-upload__card strong { font-size:.7rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mara-product--calendar .mara-calendar-upload__card small { color:var(--mara-muted); font-size:.68rem; }
.mara-product--calendar .mara-calendar-upload__remove { background:transparent; border:0; color:var(--mara-orange); cursor:pointer; font-size:.7rem; padding:.25rem 0 0; text-align:left; text-decoration:underline; }
.mara-product--calendar .mara-calendar-upload__save-note { color:var(--mara-muted); font-size:.78rem; line-height:1.5; margin:.8rem 0 0; }
.mara-product--calendar form.cart .quantity { display:inline-flex; margin:0 .8rem .8rem 0; vertical-align:middle; }
.mara-product--calendar form.cart .quantity input.qty { border:1px solid var(--mara-ink); border-radius:.35rem; font-size:1.05rem; font-weight:700; height:3.15rem; min-width:4.75rem; padding:.65rem .75rem; text-align:center; }
.mara-calendar-info-section { background:color-mix(in srgb,var(--mara-teal) 7%,var(--mara-paper)); }
.mara-calendar-info-grid { display:grid; gap:.8rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.mara-calendar-info-grid article { background:color-mix(in srgb,var(--mara-peach) 30%,var(--mara-paper)); border:1px solid color-mix(in srgb,var(--mara-peach) 68%,var(--mara-line)); min-height:8.5rem; padding:1.25rem 1.35rem; }
.mara-calendar-info-grid h3 { color:var(--mara-ink); font-size:1.12rem; line-height:1.15; margin:0 0 .65rem; }
.mara-calendar-info-grid p { color:var(--mara-muted); font-size:.9rem; line-height:1.6; margin:0; }
.mara-calendar-gift-section { background:linear-gradient(145deg,color-mix(in srgb,var(--mara-peach) 42%,var(--mara-paper)),color-mix(in srgb,var(--mara-teal) 15%,var(--mara-paper))); padding:clamp(3.2rem,7vw,6rem) 0; }
.mara-calendar-gift-section h2 { font-size:clamp(2rem,4vw,3.6rem); line-height:1.02; margin:.4rem 0 1rem; max-width:14ch; }
.mara-calendar-gift-section > .mara-shell > p:last-child { color:var(--mara-muted); line-height:1.75; margin:0; max-width:42rem; }

@media (max-width:940px) {
  .mara-product--calendar .mara-calendar-upload__grid,.mara-calendar-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .mara-product-gallery__main img { height:auto; max-height:31rem; }
  .mara-product--calendar .mara-calendar-upload__grid,.mara-calendar-info-grid { grid-template-columns:1fr; }
  .mara-product--calendar .mara-calendar-upload__card { display:grid; gap:.6rem; grid-template-columns:5.5rem 1fr; }
  .mara-product--calendar .mara-calendar-upload__card img { height:5.5rem; }
  .mara-product-lightbox { padding:1rem; }
  .mara-product-lightbox__image { max-width:calc(100% - 4rem); }
  .mara-product-lightbox__prev { left:-.25rem; }
  .mara-product-lightbox__next { right:-.25rem; }
}


/* Real legacy video embeds: calm, responsive presentation without changing the page palette. */
.mara-video-embed {
  margin: 2rem 0;
}

.mara-video-embed__frame {
  position: relative;
  width: 100%;
  max-width: 900px;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  overflow: hidden;
  background: var(--mara-ink, #152f4b);
}

.mara-video-embed__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 640px) {
  .mara-video-embed {
    margin: 1.5rem 0;
  }
}

/* Header readability: modest scale, preserving the compact owner-approved layout. */
.mara-menu a { font-size:1.05rem; letter-spacing:.01em; }
@media (max-width:700px) {
    .mara-menu a { font-size:1.08rem; }
}

/* Direct print product: compact, file-count-first configuration UI. */
.mara-product--direct-print .mara-product-copy h1 { font-size:clamp(1.95rem, 3.2vw, 2.85rem); line-height:1.02; max-width:25rem; }
.mara-product--direct-print .mara-product-copy__intro { font-size:1rem; line-height:1.55; max-width:42rem; }
.mara-product--direct-print .mara-print-options { margin:1rem 0; padding:1rem 0; }
.mara-product--direct-print .mara-print-options legend,
.mara-product--direct-print .mara-print-options label { font-size:.92rem; line-height:1.3; }
.mara-product--direct-print .mara-print-options label { margin:.65rem 0 .3rem; }
.mara-product--direct-print .mara-print-options select,
.mara-product--direct-print .mara-print-options input[type=file] { padding:.62rem .7rem; font-size:.95rem; }
.mara-product--direct-print .mara-print-fixed-format { margin:.65rem 0 .9rem; padding:.7rem .8rem; background:rgba(184,203,200,.18); font-size:.95rem; }
.mara-product--direct-print form.cart > .quantity { display:none !important; }
.mara-product--direct-print .mara-print-summary { margin-top:.9rem; padding:.85rem 0; border-top:1px solid rgba(33,62,79,.18); border-bottom:1px solid rgba(33,62,79,.18); }
.mara-product--direct-print .mara-print-summary p { margin:.25rem 0; }
.mara-product--direct-print .mara-print-summary__count { font-size:1rem; }
.mara-product--direct-print .mara-print-summary__rule,
.mara-product--direct-print .mara-print-note { font-size:.84rem; line-height:1.45; }
.mara-product--direct-print .mara-print-price { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; font-size:.9rem; }
.mara-product--direct-print .mara-print-price::before { content:none; }
.mara-product--direct-print .mara-print-price--empty { display:block; color:var(--mara-ink); }
.mara-product--direct-print .mara-print-files { display:grid; gap:.35rem; margin:.75rem 0; padding:0; list-style:none; }
.mara-product--direct-print .mara-print-file { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.4rem .55rem; background:rgba(184,203,200,.18); font-size:.84rem; }
.mara-product--direct-print .mara-print-file__remove { flex:0 0 auto; border:0; padding:.25rem .45rem; background:transparent; color:var(--mara-ink); cursor:pointer; font-size:.78rem; text-decoration:underline; }
.mara-product--direct-print .mara-print-file__remove:focus-visible { outline:2px solid var(--mara-accent); outline-offset:2px; }
.mara-product--direct-print .wc-stripe-payment-request-wrapper,
.mara-product--direct-print .wc-stripe-payment-request-button,
.mara-product--direct-print .wcpay-payment-request-wrapper,
.mara-product--direct-print .payment-request-button,
.mara-product--direct-print #wc-stripe-express-checkout-element,
.mara-product--direct-print #wc-stripe-express-checkout-button-separator { display:none !important; }
@media (max-width:700px) {
  .mara-product--direct-print .mara-product-copy h1 { font-size:1.9rem; max-width:20rem; }
  .mara-product--direct-print .mara-product-copy__intro { font-size:.98rem; }
  .mara-product--direct-print .mara-print-file { align-items:flex-start; flex-direction:column; gap:.2rem; }
  .mara-product--direct-print .mara-print-file__remove { padding:.2rem 0; }
}

/* Direct print product information cards: scoped to print products only. */
.mara-product--direct-print .mara-print-info-section {
  background:var(--mara-paper);
  padding:clamp(2.8rem,6vw,5.2rem) 0;
}
.mara-product--direct-print .mara-print-info-section__heading {
  align-items:end;
  display:flex;
  gap:2rem;
  justify-content:space-between;
  margin-bottom:1.7rem;
}
.mara-product--direct-print .mara-print-info-section__heading .mara-eyebrow { margin-bottom:.7rem; }
.mara-product--direct-print .mara-print-info-section__heading h2 {
  font-size:clamp(1.8rem,3vw,2.65rem);
  line-height:1;
  max-width:17ch;
}
.mara-product--direct-print .mara-print-info-grid {
  display:grid;
  gap:.8rem;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.mara-product--direct-print .mara-print-info-card {
  background:color-mix(in srgb,var(--mara-peach) 29%,var(--mara-paper));
  border:1px solid color-mix(in srgb,var(--mara-peach) 68%,var(--mara-line));
  min-height:8.4rem;
  padding:1.25rem 1.35rem;
}
.mara-product--direct-print .mara-print-info-card--lead {
  background:color-mix(in srgb,var(--mara-teal) 12%,var(--mara-paper));
  border-color:color-mix(in srgb,var(--mara-teal) 24%,var(--mara-line));
  grid-column:1/-1;
  min-height:0;
}
.mara-product--direct-print .mara-print-info-card--lead h3 { font-size:1.35rem; }
.mara-product--direct-print .mara-product-category-link { display:inline-block; text-decoration:none; }
.mara-product--direct-print .mara-product-category-link:hover,
.mara-product--direct-print .mara-product-category-link:focus-visible { color:var(--mara-teal-deep); outline:none; text-decoration:underline; text-underline-offset:.2em; }
.mara-product--direct-print .mara-print-info-card h3 {
  color:var(--mara-ink);
  font-size:1.16rem;
  letter-spacing:-.035em;
  line-height:1.1;
  margin:0 0 .65rem;
}
.mara-product--direct-print .mara-print-info-card p,
.mara-product--direct-print .mara-print-info-card li {
  color:var(--mara-muted);
  font-size:.88rem;
  line-height:1.55;
  margin:0;
}
.mara-product--direct-print .mara-print-info-card ul {
  display:grid;
  gap:.3rem;
  list-style:none;
  margin:0;
  padding:0;
}
.mara-product--direct-print .mara-print-info-card li {
  align-items:flex-start;
  display:flex;
  gap:.35rem;
}
.mara-product--direct-print .mara-print-info-card__dash {
  color:var(--mara-orange);
  font-weight:800;
  flex:0 0 auto;
}
@media (max-width:940px) {
  .mara-product--direct-print .mara-print-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .mara-product--direct-print .mara-print-info-section { padding:2.8rem 0; }
  .mara-product--direct-print .mara-print-info-section__heading { display:block; margin-bottom:1.25rem; }
  .mara-product--direct-print .mara-print-info-section__heading h2 { font-size:2rem; }
  .mara-product--direct-print .mara-print-info-grid { grid-template-columns:1fr; }
  .mara-product--direct-print .mara-print-info-card--lead { grid-column:auto; }
  .mara-product--direct-print .mara-print-info-card { min-height:0; padding:1.1rem 1.15rem; }
}

/* WooCommerce category archive: existing categories, product-only grid. */
.mara-shop-category-hero { background:var(--mara-ink); color:var(--mara-paper); padding:clamp(3.8rem,8vw,7rem) 0; }
.mara-shop-category-hero h1 { font-size:clamp(2.3rem,5vw,4.6rem); line-height:.98; max-width:16ch; }
.mara-shop-category-hero .mara-eyebrow { color:var(--mara-peach); }
.mara-shop-category-hero__description { color:color-mix(in srgb,var(--mara-paper) 76%,var(--mara-ink)); line-height:1.7; margin-top:1.25rem; max-width:38rem; }
.mara-shop-category-archive { background:var(--mara-paper); padding:clamp(3rem,7vw,6.5rem) 0; }
.mara-category-product-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.mara-category-product-card { background:var(--mara-sand); border:1px solid var(--mara-line); min-width:0; transition:box-shadow .2s ease,transform .2s ease; }
.mara-category-product-card:hover,
.mara-category-product-card:focus-within { box-shadow:0 .8rem 1.8rem color-mix(in srgb,var(--mara-ink) 12%,transparent); transform:translateY(-3px); }
.mara-category-product-card__link { color:inherit; display:block; height:100%; text-decoration:none; }
.mara-category-product-card__image { align-items:center; aspect-ratio:4 / 3; background:var(--mara-paper); display:flex; justify-content:center; overflow:hidden; }
.mara-category-product-card__image img { height:100%; object-fit:contain; width:100%; }
.mara-category-product-card__copy { padding:1.25rem 1.35rem 1.4rem; }
.mara-category-product-card__copy h2 { font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.08; margin:0; }
.mara-category-product-card__price { color:var(--mara-teal-deep); font-size:.92rem; font-weight:800; margin:.75rem 0 1rem; }
.mara-category-product-card .mara-text-link { color:var(--mara-orange); font-size:.82rem; font-weight:800; }
@media (max-width:940px) { .mara-category-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .mara-category-product-grid { grid-template-columns:1fr; } .mara-category-product-card__copy { padding:1.1rem 1.15rem 1.25rem; } }

/* The file count, not WooCommerce's product quantity, determines direct-print copies. */
.mara-product--direct-print form.cart .quantity,
.mara-product--direct-print form.cart label[for="quantity"],
.mara-product--direct-print form.cart label[for="mara_print_quantity"] { display:none !important; }
.mara-product--direct-print .mara-print-price--empty { display:block; color:var(--mara-muted); font-size:.9rem; }

/* Calendar products: compact heading and a deliberate gap before Add to Cart. */
.mara-product--calendar .mara-product-copy h1 { font-size:clamp(2rem, 4vw, 3.4rem); line-height:1.05; max-width:30rem; }
.mara-product--calendar .mara-calendar-print-note { margin:.7rem 0 1rem; color:var(--mara-muted); font-size:.94rem; line-height:1.5; }
.mara-product--calendar form.cart > .quantity { margin:.95rem 0 1.35rem; }
.mara-product--calendar form.cart > .single_add_to_cart_button { margin-top:.7rem; }
@media (max-width:700px) {
  .mara-product--calendar .mara-product-copy h1 { font-size:2rem; }
  .mara-product--calendar form.cart > .quantity { margin-bottom:1.15rem; }
}

/* Fold and phone header: keep the compact mark visually subordinate to navigation and chat. */
@media (max-width:940px) {
  .mara-header .mara-logo__image--compact { height:1.45rem; max-width:1.45rem; width:1.45rem; }
}
@media (max-width:700px) {
  .mara-header .mara-logo__image--compact { height:1.3rem; max-width:1.3rem; width:1.3rem; }
}

/* Reusable Gutenberg Gallery Page component: scoped wide image-first pages, no Elementor dependency. */
.mara-gallery-page,
.mara-gallery-page--personal,
.mara-gallery-page--business {
  --mara-gallery-gap:clamp(.65rem,1.4vw,1rem);
  color:var(--mara-ink);
  margin:0 auto;
  max-width:93.75rem;
  padding:0;
  width:90vw;
}
/* Gallery Pages may live inside the legacy 52rem service wrapper; only these component classes escape it. */
.mara-service-content > .mara-gallery-page,
.mara-service-content > .mara-gallery-page--personal,
.mara-service-content > .mara-gallery-page--business,
.mara-content-page__body > .mara-gallery-page--personal,
.mara-content-page__body > .mara-gallery-page--business,
.mara-article__body > .mara-gallery-page--personal,
.mara-article__body > .mara-gallery-page--business,
.mara-article__content > figure.wp-block-gallery.mara-gallery-page--personal,
.mara-article__content > figure.wp-block-gallery.mara-gallery-page--business {
  box-sizing:border-box;
  left:50%;
  max-width:min(90vw,93.75rem) !important;
  position:relative;
  transform:translateX(-50%);
  width:min(90vw,93.75rem) !important;
}
/* Pages use a narrower centered text body than Posts. Center only an opted-in personal gallery against the viewport. */
.mara-content-page__body > .mara-gallery-page--personal {
  left:auto;
  margin-left:calc(50% - min(45vw,46.875rem)) !important;
  margin-right:0 !important;
  max-width:min(93.75rem,calc(100vw - 2rem)) !important;
  transform:none;
  width:min(90vw,93.75rem) !important;
}
.mara-gallery-page--personal.is-layout-constrained > .wp-block-image,
.mara-gallery-page--business.is-layout-constrained > .wp-block-image {
  margin-left:0 !important;
  margin-right:0 !important;
  max-width:none !important;
}
.mara-gallery-page__intro { margin:0 0 clamp(2rem,4vw,3.75rem); max-width:43rem; }
.mara-gallery-page__intro > :first-child { margin-top:0; }
.mara-gallery-page__intro > :last-child { margin-bottom:0; }
.mara-gallery-page__intro p { color:var(--mara-muted); line-height:1.78; }

/* Gutenberg Gallery block is deliberately wider than the regular text column. */
.mara-gallery-page .wp-block-gallery,
.mara-gallery-page--personal .wp-block-gallery,
.mara-gallery-page--business .wp-block-gallery,
.wp-block-gallery.mara-gallery-page--personal,
.wp-block-gallery.mara-gallery-page--business {
  display:block !important;
  margin:0 0 clamp(2.5rem,5vw,4.5rem) !important;
  max-width:none !important;
  width:100%;
}
.mara-gallery-page .wp-block-gallery .wp-block-image,
.mara-gallery-page--personal .wp-block-gallery .wp-block-image,
.mara-gallery-page--business .wp-block-gallery .wp-block-image,
.wp-block-gallery.mara-gallery-page--personal .wp-block-image,
.wp-block-gallery.mara-gallery-page--business .wp-block-image {
  break-inside:avoid;
  display:block !important;
  margin:0 0 var(--mara-gallery-gap) !important;
  overflow:visible;
  width:100% !important;
}
.mara-gallery-page .wp-block-gallery .wp-block-image > a,
.mara-gallery-page--personal .wp-block-gallery .wp-block-image > a,
.mara-gallery-page--business .wp-block-gallery .wp-block-image > a,
.wp-block-gallery.mara-gallery-page--personal .wp-block-image > a,
.wp-block-gallery.mara-gallery-page--business .wp-block-image > a { display:block; }
.mara-gallery-page .wp-block-gallery .wp-block-image img,
.mara-gallery-page--personal .wp-block-gallery .wp-block-image img,
.mara-gallery-page--business .wp-block-gallery .wp-block-image img,
.wp-block-gallery.mara-gallery-page--personal .wp-block-image img,
.wp-block-gallery.mara-gallery-page--business .wp-block-image img {
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  display:block;
  height:auto !important;
  margin:0 !important;
  max-width:100%;
  object-fit:contain !important;
  padding:0 !important;
  width:100% !important;
}
.mara-gallery-page .wp-block-gallery .wp-element-caption,
.mara-gallery-page--personal .wp-block-gallery .wp-element-caption,
.mara-gallery-page--business .wp-block-gallery .wp-element-caption,
.wp-block-gallery.mara-gallery-page--personal .wp-element-caption,
.wp-block-gallery.mara-gallery-page--business .wp-element-caption {
  background:transparent !important;
  color:var(--mara-muted);
  font-size:.78rem;
  line-height:1.45;
  margin:.45rem 0 0;
  padding:0;
  position:static !important;
  text-align:left;
}

/* Native Gallery adds `is-layout-flex` to its own figure; override only when this component class is present. */
figure.wp-block-gallery.mara-gallery-page--personal {
  column-count:2 !important;
  column-gap:var(--mara-gallery-gap) !important;
  display:block !important;
}
figure.wp-block-gallery.mara-gallery-page--business {
  column-count:initial !important;
  display:grid !important;
  gap:var(--mara-gallery-gap) !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
figure.wp-block-gallery.mara-gallery-page--personal > .wp-block-image,
figure.wp-block-gallery.mara-gallery-page--business > .wp-block-image {
  flex-basis:auto !important;
  flex-grow:0 !important;
  max-width:none !important;
}

/* Personal galleries preserve the natural mixture of portrait and landscape photographs. */
.mara-gallery-page--personal,
.mara-gallery-page--personal .wp-block-gallery,
.wp-block-gallery.mara-gallery-page--personal { column-count:2; column-gap:var(--mara-gallery-gap); }
.mara-gallery-page--personal > .wp-block-image {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  break-inside:avoid;
  display:block !important;
  margin:0 0 var(--mara-gallery-gap) !important;
  max-width:none !important;
  overflow:visible !important;
  padding:0 !important;
  width:100% !important;
}
.mara-gallery-page--personal > .wp-block-image > a { display:block; }
.mara-gallery-page--personal > .wp-block-image img {
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  display:block;
  height:auto !important;
  margin:0 !important;
  max-width:100% !important;
  object-fit:contain !important;
  padding:0 !important;
  width:100% !important;
}

/* Business galleries use a regular editorial grid while retaining the original image ratio. */
.mara-gallery-page--business,
.mara-gallery-page--business .wp-block-gallery,
.wp-block-gallery.mara-gallery-page--business {
  column-count:initial;
  column-gap:initial;
  display:grid !important;
  gap:var(--mara-gallery-gap);
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.mara-gallery-page--business > .wp-block-image {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 !important;
  max-width:none !important;
  overflow:visible !important;
  padding:0 !important;
  width:100% !important;
}
.mara-gallery-page--business > .wp-block-image > a { display:block; }
.mara-gallery-page--business > .wp-block-image img {
  aspect-ratio:auto !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  display:block;
  height:auto !important;
  margin:0 !important;
  max-width:100% !important;
  object-fit:contain !important;
  padding:0 !important;
  width:100% !important;
}
.mara-gallery-page--business .wp-block-gallery .wp-block-image,
.wp-block-gallery.mara-gallery-page--business .wp-block-image { margin:0 !important; }
.mara-gallery-page--business .wp-block-gallery .wp-block-image img,
.wp-block-gallery.mara-gallery-page--business .wp-block-image img {
  aspect-ratio:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Use this class on a Gutenberg Buttons block below the gallery. */
.mara-gallery-page__actions {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin:clamp(2rem,4vw,3.25rem) 0 0;
}
.mara-gallery-page__actions .wp-block-button { margin:0; }
.mara-gallery-page__actions .wp-block-button__link {
  background:linear-gradient(135deg,color-mix(in srgb,var(--mara-teal) 30%,var(--mara-paper)),color-mix(in srgb,var(--mara-peach) 68%,var(--mara-paper))) !important;
  border:1px solid color-mix(in srgb,var(--mara-ink) 15%,var(--mara-paper)) !important;
  border-radius:999px !important;
  box-shadow:none !important;
  color:var(--mara-ink) !important;
  font:800 .9rem/1.2 Manrope,sans-serif;
  padding:.86rem 1.15rem;
  text-decoration:none;
}
.mara-gallery-page__actions .mara-gallery-page__inquiry .wp-block-button__link {
  background:transparent !important;
  border-color:var(--mara-line) !important;
}
.mara-gallery-page__actions .wp-block-button__link:focus-visible {
  outline:3px solid var(--mara-accent);
  outline-offset:3px;
}

@media (min-width:1250px) {
  figure.wp-block-gallery.mara-gallery-page--personal { column-count:3 !important; }
  figure.wp-block-gallery.mara-gallery-page--business { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .mara-gallery-page--personal,
  .mara-gallery-page--personal .wp-block-gallery,
  .wp-block-gallery.mara-gallery-page--personal { column-count:3; }
  .mara-gallery-page--business,
  .mara-gallery-page--business .wp-block-gallery,
  .wp-block-gallery.mara-gallery-page--business { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:940px) {
  .mara-gallery-page,
  .mara-gallery-page--personal,
  .mara-gallery-page--business { width:calc(100vw - 2rem); }
  .mara-service-content > .mara-gallery-page,
  .mara-service-content > .mara-gallery-page--personal,
  .mara-service-content > .mara-gallery-page--business,
.mara-content-page__body > .mara-gallery-page--personal,
.mara-content-page__body > .mara-gallery-page--business,
.mara-article__body > .mara-gallery-page--personal,
.mara-article__body > .mara-gallery-page--business,
  .mara-article__content > figure.wp-block-gallery.mara-gallery-page--personal,
  .mara-article__content > figure.wp-block-gallery.mara-gallery-page--business {
    max-width:calc(100vw - 2rem) !important;
    width:calc(100vw - 2rem) !important;
  }
  .mara-content-page__body > .mara-gallery-page--personal {
    margin-left:calc(50% - 50vw + 1rem) !important;
    max-width:calc(100vw - 2rem) !important;
    width:calc(100vw - 2rem) !important;
  }
  .mara-gallery-page--personal,
  .mara-gallery-page--personal .wp-block-gallery,
  .wp-block-gallery.mara-gallery-page--personal { column-count:1; }
  .mara-gallery-page--business,
  .mara-gallery-page--business .wp-block-gallery,
  .wp-block-gallery.mara-gallery-page--business { grid-template-columns:1fr; }
  figure.wp-block-gallery.mara-gallery-page--personal { column-count:1 !important; }
  figure.wp-block-gallery.mara-gallery-page--business { grid-template-columns:1fr !important; }
}
@media (max-width:700px) {
  .mara-gallery-page__actions { align-items:stretch; flex-direction:column; }
  .mara-gallery-page__actions .wp-block-button { width:100%; }
  .mara-gallery-page__actions .wp-block-button__link { justify-content:center; width:100%; }
}
