.yp-attachment-catalogue-page .site.grid-container,
.yp-attachment-catalogue-page .site-content,
.yp-attachment-catalogue-page .content-area { width: 100%; max-width: none; margin: 0; padding: 0; }
.yp-attachment-catalogue-page .site-main { margin: 0; }
.yp-attachment-catalogue { background: #f4f5f3; color: #151b1f; }
.yp-attachment-catalogue__inner { width: min(100% - 48px, 1280px); margin-inline: auto; }
.yp-attachment-catalogue__header { padding: 96px 0 88px; background: #151b1f; color: #fff; }
.yp-attachment-catalogue__eyebrow { color: #febc38; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.yp-attachment-catalogue h1 { max-width: 900px; margin: 16px 0 24px; color: inherit; font-family: Manrope, sans-serif; font-size: clamp(54px, 7vw, 100px); font-weight: 800; line-height: 1; text-transform: uppercase; }
.yp-attachment-catalogue__header p:last-child { max-width: 620px; color: #d2d5d5; line-height: 1.7; }
.yp-attachment-catalogue__section { padding: 80px 0 110px; }
.yp-attachment-catalogue__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.yp-attachment-catalogue__item { min-width: 0; background: #fff; border: 1px solid #e2e4e2; }
.yp-attachment-catalogue__image { aspect-ratio: 4 / 3; overflow: hidden; background: #fff; }
.yp-attachment-catalogue__image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center; }
.yp-attachment-catalogue__body { padding: 24px; border-top: 1px solid #eceeec; }
.yp-attachment-catalogue__body h2 { margin: 0 0 12px; color: #151b1f; font-size: 21px; line-height: 1.2; }
.yp-attachment-catalogue__body p { min-height: 72px; margin: 0 0 20px; color: #505b5d; font-size: 14px; line-height: 1.6; }
.yp-attachment-catalogue__body a { display: inline-flex; gap: 12px; align-items: center; color: #b61e25; font-size: 13px; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.yp-attachment-catalogue__body a:hover { text-decoration: underline; }
.yp-attachment-catalogue__cta { padding: 72px 0; background: #febc38; }
.yp-attachment-catalogue__cta h2 { margin: 0 0 14px; color: #151b1f; font-size: 42px; text-transform: uppercase; }
.yp-attachment-catalogue__cta p { max-width: 550px; margin: 0 0 24px; }
.yp-attachment-catalogue__cta a { display: inline-flex; gap: 12px; padding: 14px 20px; background: #151b1f; color: #fff; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.yp-attachment-dialog { position: fixed; width: min(680px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 0; background: #151b1f; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45); color: #fff; overflow: auto; }
.yp-attachment-dialog::backdrop { background: rgba(10, 14, 17, 0.78); }
.yp-attachment-dialog__inner { position: relative; padding: 42px 48px 48px; }
.yp-attachment-dialog__close { position: absolute; top: 22px; right: 24px; width: 36px; height: 36px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.2); background: transparent; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.yp-attachment-dialog__close:hover, .yp-attachment-dialog__close:focus-visible { border-color: #febc38; color: #febc38; }
.yp-attachment-dialog__eyebrow { margin: 0; color: #febc38; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.yp-attachment-dialog h2 { margin: 12px 0 30px; color: #fff; font-family: Manrope, Arial, sans-serif; font-size: 36px; font-weight: 800; line-height: 1; text-transform: uppercase; }
.yp-attachment-dialog__form .yp-contact-form { width: 100%; }
body.yp-attachment-dialog-open { overflow: hidden; }
@media (max-width: 900px) { .yp-attachment-catalogue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .yp-attachment-catalogue__header { padding: 64px 0; } .yp-attachment-catalogue__section { padding: 48px 0 72px; } .yp-attachment-catalogue__grid { grid-template-columns: 1fr; } .yp-attachment-catalogue__body p { min-height: 0; } .yp-attachment-catalogue__cta h2 { font-size: 34px; } .yp-attachment-dialog__inner { padding: 34px 22px 28px; } .yp-attachment-dialog__close { top: 20px; right: 20px; } .yp-attachment-dialog h2 { max-width: calc(100% - 48px); font-size: 28px; } }
