/* Contained original photographs and clear controls for the two service galleries. */
.service-page-wedding .gallery-section,
.service-page-brochures .brochure-gallery{padding-top:34px;padding-bottom:65px}

/* The filters retain their existing pressed states, search and live result count. */
.service-page-wedding .gallery-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,260px);align-items:center;gap:28px;padding:24px;background:#fffdf7;border:1px solid #dfc99f;border-radius:6px;box-shadow:0 8px 25px #75512405}
.service-page-wedding .filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0}
.service-page-wedding .filters button{min-height:43px;padding:10px 15px;border:1px solid #dbc59b;border-radius:24px;background:#fcf7ed;color:#775936;font:400 12px/1.5 'DM Sans',Arial,sans-serif;white-space:normal;transition:background .2s,border-color .2s,color .2s}
.service-page-wedding .filters button:hover{background:#f3e7d0;border-color:#b49048;color:#742b3d}
.service-page-wedding .filters button.selected,
.service-page-wedding .filters button[aria-pressed=true]{background:#742b3d;border-color:#742b3d;color:#fff5e3}
.service-page-wedding .filters button:focus-visible{outline:2px solid #742b3d;outline-offset:3px}
.service-page-wedding .search{display:block;width:100%;max-width:none;min-width:0;margin:0;color:#6c523a}
.service-page-wedding .search>span{display:block;font:400 12px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:0;margin-bottom:8px;color:#80633e}
.service-page-wedding .search input{display:block;width:100%;min-width:0;min-height:47px;margin:0;padding:12px 13px;border:1px solid #d7bd8d;border-radius:4px;background:#fdfaf3;color:#513c2f;font:400 14px/1.5 'DM Sans',Arial,sans-serif}
.service-page-wedding .search input::placeholder{color:#9a886d;opacity:1}
.service-page-wedding .search input:focus{outline:2px solid #742b3d;outline-offset:3px;border-color:#b49048;background:#fffdf8}
.service-page-wedding .gallery-count{display:flex;align-items:center;gap:11px;padding:21px 2px 22px;margin:0;font:400 13px/1.6 'DM Sans',Arial,sans-serif;letter-spacing:0;color:#89704d}
.service-page-wedding .gallery-count::before{content:'';display:block;flex:0 0 25px;height:1px;background:#b49048}
.service-page-wedding #empty{padding:30px 25px;margin:0;border:1px solid #e0cca8;border-radius:5px;background:#f8f0e1;font-size:14px;line-height:1.8;color:#765b3e}

/* The same paper frame and caption language is used for both collections. */
.service-page-wedding .products,
.service-page-brochures .brochure-design-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px 22px;align-items:stretch}
.service-page-brochures .brochure-design-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-page-brochures .brochure-design{display:flex;min-width:0}
:is(.service-page-wedding,.service-page-brochures) .product{display:flex;flex-direction:column;width:100%;min-width:0;margin:0;padding:0;text-align:left;border:1px solid #ddc59a;border-radius:6px;background:#fffdf8;color:#513b2f;box-shadow:0 8px 24px #75512406;overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.service-page-brochures .brochure-design>.product{flex:1}
:is(.service-page-wedding,.service-page-brochures) .product-image{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:100%;height:320px;min-height:0;aspect-ratio:auto;margin:0;padding:54px 18px 20px;border:0;border-bottom:1px solid #e1cda8;border-radius:0;background:radial-gradient(ellipse at 50% 38%,#fffdf7 25%,#f0e4ca 100%);box-shadow:none;overflow:hidden}
:is(.service-page-wedding,.service-page-brochures) .product-image::before{content:'';position:absolute;inset:11px;border:1px solid #c7a56750;pointer-events:none}
:is(.service-page-wedding,.service-page-brochures) .product-image>img{display:block;flex:none;width:100%;height:100%;max-width:100%;min-width:0;object-fit:contain;object-position:center;padding:0;background:transparent;border:0;box-shadow:none;transform:none;transition:none}
:is(.service-page-wedding,.service-page-brochures) .product-image>span{position:absolute;top:17px;right:18px;bottom:auto;left:auto;z-index:1;display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 36px);padding:6px 10px;border:1px solid #dbc393;border-radius:20px;background:#fffaf0;color:#856234;font:400 11px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:0;white-space:normal}
:is(.service-page-wedding,.service-page-brochures) .product-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;padding:20px 17px 0;margin:0;border:0;background:#fffdf8}
:is(.service-page-wedding,.service-page-brochures) .product-caption h3{min-width:0;margin:0;font:400 21px/1.25 Georgia,'Times New Roman',serif;letter-spacing:-.3px;color:#742b3d;overflow-wrap:anywhere}
:is(.service-page-wedding,.service-page-brochures) .product-caption b{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:1px solid #d7bc86;border-radius:50%;background:#faf1df;color:#947039;font:400 17px/1 Arial;transition:background .2s,border-color .2s,color .2s}
:is(.service-page-wedding,.service-page-brochures) .product>p{margin:0;padding:10px 17px 20px;font:400 12px/1.7 'DM Sans',Arial,sans-serif;color:#897255;background:#fffdf8;overflow-wrap:anywhere}
:is(.service-page-wedding,.service-page-brochures) .product:hover,
:is(.service-page-wedding,.service-page-brochures) .product:focus-visible{border-color:#b49048;box-shadow:0 12px 28px #75512414}
:is(.service-page-wedding,.service-page-brochures) .product:hover .product-image{box-shadow:none}
:is(.service-page-wedding,.service-page-brochures) .product:hover .product-caption b,
:is(.service-page-wedding,.service-page-brochures) .product:focus-visible .product-caption b{background:#742b3d;border-color:#742b3d;color:#fff4df}
:is(.service-page-wedding,.service-page-brochures) .product:focus-visible{outline:2px solid #742b3d;outline-offset:4px}
:is(.service-page-wedding,.service-page-brochures) .product[hidden],
.service-page-wedding #empty[hidden]{display:none!important}
:is(.service-page-wedding,.service-page-brochures) .gallery-note{padding:21px 24px;margin:35px 0 0;border:1px solid #e2cfaa;border-radius:5px;background:#f8f0e1;font:400 12px/1.9 'DM Sans',Arial,sans-serif;letter-spacing:0;color:#8a7050}

/* These twelve samples remain exact crops, grouped under their existing headings. */
.service-page-brochures .brochure-sample-group+.brochure-sample-group{margin-top:51px;padding-top:37px;border-top:1px solid #e2cfaa}
.service-page-brochures .brochure-sample-group .eyebrow{font-size:10px;line-height:1.6;letter-spacing:1.5px;color:#9b763b;margin-bottom:13px}
.service-page-brochures .brochure-sample-group h2{font:400 clamp(29px,2.8vw,40px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.9px;color:#513b2f;margin:0 0 27px}

@media(max-width:1200px){
  .service-page-wedding .products,.service-page-brochures .brochure-design-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 19px}
  :is(.service-page-wedding,.service-page-brochures) .product-image{height:310px;padding-left:17px;padding-right:17px}
  .service-page-wedding .gallery-controls{gap:22px;padding:23px}
}
@media(max-width:980px){
  .service-page-wedding .gallery-controls{grid-template-columns:1fr;gap:22px}
  .service-page-wedding .search{max-width:420px}
  .service-page-wedding .search input{font-size:16px}
}
@media(max-width:800px){
  .service-page-wedding .products,.service-page-brochures .brochure-design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 17px}
  :is(.service-page-wedding,.service-page-brochures) .product-image{height:300px}
  :is(.service-page-wedding,.service-page-brochures) .product-caption{padding:18px 15px 0}
  :is(.service-page-wedding,.service-page-brochures) .product-caption h3{font-size:20px}
  :is(.service-page-wedding,.service-page-brochures) .product>p{padding:9px 15px 18px}
}
@media(max-width:600px){
  .service-page-wedding .gallery-section,.service-page-brochures .brochure-gallery{padding-top:27px;padding-bottom:43px}
  .service-page-wedding .gallery-controls{padding:21px 17px;gap:23px}
  .service-page-wedding .filters{gap:8px}
  .service-page-wedding .filters button{padding:10px 12px;font-size:12px;min-height:43px}
  .service-page-wedding .search{max-width:none;margin:0}
  .service-page-wedding .gallery-count{font-size:12px;padding:19px 1px 20px}
  .service-page-wedding .products,.service-page-brochures .brochure-design-grid{gap:21px 14px}
  :is(.service-page-wedding,.service-page-brochures) .product-image{height:250px;padding:50px 13px 16px}
  :is(.service-page-wedding,.service-page-brochures) .product-image::before{inset:8px}
  :is(.service-page-wedding,.service-page-brochures) .product-image>span{top:14px;right:13px;max-width:calc(100% - 26px);padding:6px 9px;font-size:11px}
  :is(.service-page-wedding,.service-page-brochures) .product-caption{gap:7px;padding:17px 13px 0}
  :is(.service-page-wedding,.service-page-brochures) .product-caption h3{font-size:18px;line-height:1.3;letter-spacing:-.2px}
  :is(.service-page-wedding,.service-page-brochures) .product-caption b{flex-basis:27px;width:27px;height:27px;font-size:16px}
  :is(.service-page-wedding,.service-page-brochures) .product>p{padding:9px 13px 17px;font-size:12px;line-height:1.65}
  :is(.service-page-wedding,.service-page-brochures) .gallery-note{padding:19px 19px;margin-top:28px;font-size:12px;line-height:1.85}
  .service-page-brochures .brochure-sample-group+.brochure-sample-group{margin-top:38px;padding-top:29px}
  .service-page-brochures .brochure-sample-group .eyebrow{font-size:10px;letter-spacing:1.1px;margin-bottom:11px}
  .service-page-brochures .brochure-sample-group h2{font-size:29px;letter-spacing:-.7px;margin-bottom:23px}
}
@media(max-width:360px){
  .service-page-wedding .products,.service-page-brochures .brochure-design-grid{grid-template-columns:1fr;gap:23px}
  :is(.service-page-wedding,.service-page-brochures) .product-image{height:355px;padding:53px 20px 20px}
  :is(.service-page-wedding,.service-page-brochures) .product-image>span{right:19px;top:17px}
  :is(.service-page-wedding,.service-page-brochures) .product-caption{padding-left:18px;padding-right:18px;gap:12px}
  :is(.service-page-wedding,.service-page-brochures) .product-caption h3{font-size:22px}
  :is(.service-page-wedding,.service-page-brochures) .product-caption b{width:31px;height:31px;flex-basis:31px}
  :is(.service-page-wedding,.service-page-brochures) .product>p{padding-left:18px;padding-right:18px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  :is(.service-page-wedding,.service-page-brochures) .product,
  :is(.service-page-wedding,.service-page-brochures) .product-caption b,
  .service-page-wedding .filters button{transition:none}
}
