.olly-cruise-certificates { margin:56px 0 48px; color:#14354f; font-family:Arial,sans-serif; scroll-margin-top:130px; }
.olly-cruise-certificates *, .olly-certificate-dialog * { box-sizing:border-box; }
.olly-cruise-certificates__heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:36px; align-items:end; margin-bottom:26px; }
.olly-cruise-certificates__eyebrow { margin:0 0 10px; color:#168b94; font-size:12px; line-height:1.5; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.olly-cruise-certificates h2 { margin:0; max-width:630px; color:#0b294a; font-size:clamp(26px,2.8vw,34px); font-weight:600; line-height:1.22; }
.olly-cruise-certificates__heading > p { margin:0; color:#526b7d; font-size:15px; line-height:1.75; }
.olly-cruise-certificates__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.olly-cruise-certificate { display:flex; flex-direction:column; min-width:0; padding:12px; border:1px solid #d8ecef; border-radius:22px; background:linear-gradient(145deg,#f4fbfbd9,#ffffffd9); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 12px 36px #1747570a; }
.olly-cruise-certificate__preview { position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; overflow:hidden; padding:14px; border:1px solid #e0ebef; border-radius:14px; background:#fff; text-decoration:none; }
.olly-cruise-certificate__preview img { display:block; width:100%; height:100%; object-fit:contain; margin:0; }
.olly-cruise-certificate__view { display:flex; align-items:center; gap:8px; position:absolute; right:10px; bottom:10px; padding:7px 10px; border:1px solid #deebed; border-radius:30px; background:#fffffff0; color:#0b6571; font-size:12px; line-height:1.5; box-shadow:0 2px 10px #113d5410; }
.olly-cruise-certificate__view svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.6; }
.olly-cruise-certificate__preview:hover { border-color:#36a7ad; }
.olly-cruise-certificate__body { display:flex; flex-direction:column; flex:1; padding:17px 9px 8px; }
.olly-cruise-certificate__issuer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 14px; margin:0 0 9px; color:#16838d; font-size:12px; font-weight:700; line-height:1.5; }
.olly-cruise-certificate__issuer span { color:#647e8c; font-weight:400; }
.olly-cruise-certificate h3 { margin:0 0 10px; color:#0b294a; font-size:19px; font-weight:600; line-height:1.4; }
.olly-cruise-certificate__description { margin:0 0 20px; color:#526b7d; font-size:14px; line-height:1.65; }
.olly-cruise-certificate__original { display:flex; align-items:center; gap:9px; align-self:flex-start; margin-top:auto; color:#0b6775; font-size:13px; line-height:1.6; text-decoration:none; }
.olly-cruise-certificate__original span { padding:1px 6px; border:1px solid #d8e9ed; border-radius:5px; color:#637a87; font-size:10px; font-weight:700; }
.olly-cruise-certificate__original:hover, .olly-cruise-certificates__about a:hover { color:#bd4b1f; text-decoration:underline; }
.olly-cruise-certificates__about { margin:22px 0 0; text-align:right; }
.olly-cruise-certificates__about a { display:inline-flex; align-items:center; gap:12px; color:#0b6775; font-size:14px; line-height:1.6; text-decoration:none; }
.olly-cruise-certificates :is(a,button):focus-visible, .olly-certificate-dialog :is(a,button,[tabindex]):focus-visible { outline:3px solid #f15b26; outline-offset:3px; }
.olly-certificate-dialog:not([open]) { display:none; }
.olly-certificate-dialog[open] { display:flex; flex-direction:column; position:fixed; inset:0; width:calc(100% - 48px); max-width:1160px; height:calc(100vh - 48px); height:calc(100dvh - 48px); max-height:none; margin:auto; padding:20px; overflow:hidden; border:1px solid #ffffffd9; border-radius:22px; background:#f6fbfcf7; color:#14354f; font-family:Arial,sans-serif; box-shadow:0 24px 80px #062c544d; }
.olly-certificate-dialog::backdrop { background:#0b294a9c; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.olly-certificate-dialog__toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-shrink:0; }
.olly-certificate-dialog__toolbar h2 { margin:0; color:#0b294a; font-size:20px; font-weight:600; line-height:1.4; }
.olly-certificate-dialog button { margin:0; border:1px solid #d8e7eb; border-radius:10px; background:#fff; color:#14354f; font:inherit; cursor:pointer; }
.olly-certificate-dialog__close { display:flex; align-items:center; justify-content:center; flex:0 0 42px; width:42px; height:42px; padding:9px; }
.olly-certificate-dialog__close svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; }
.olly-certificate-dialog__controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0; flex-shrink:0; }
.olly-certificate-dialog__zoom { display:flex; gap:6px; }
.olly-certificate-dialog__zoom button { min-width:38px; min-height:38px; padding:6px 10px; font-size:18px; line-height:1.2; }
.olly-certificate-dialog__zoom [data-certificate-scale] { min-width:68px; font-size:13px; }
.olly-certificate-dialog__controls a { color:#0b6775; font-size:13px; line-height:1.5; text-decoration:none; }
.olly-certificate-dialog__viewport { flex:1; min-height:0; overflow:auto; border:1px solid #e0eaee; border-radius:12px; background:#eaf2f5; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.olly-certificate-dialog__image { display:block; width:100%; max-width:none; height:auto; margin:0 auto; background:#fff; }
.olly-certificate-dialog__hint { flex-shrink:0; margin:12px 0 0; color:#607c8a; font-size:12px; line-height:1.5; }
@media(max-width:1023px) { .olly-cruise-certificates__heading { gap:24px; grid-template-columns:1fr; } .olly-cruise-certificates__heading > p { max-width:760px; } .olly-cruise-certificates__grid { gap:14px; } .olly-cruise-certificate { padding:9px; } .olly-cruise-certificate__body { padding:15px 7px 7px; } .olly-cruise-certificate h3 { font-size:17px; } }
@media(max-width:767px) {
    .olly-cruise-certificates { margin:40px 0 36px; scroll-margin-top:100px; }
    .olly-cruise-certificates__heading { gap:14px; margin-bottom:20px; }
    .olly-cruise-certificates__heading > p { font-size:14px; }
    .olly-cruise-certificates__grid { grid-template-columns:1fr; gap:16px; }
    .olly-cruise-certificate { padding:11px; }
    .olly-cruise-certificate__preview { aspect-ratio:4/3; }
    .olly-cruise-certificate__body { padding:16px 8px 8px; }
    .olly-cruise-certificate h3 { font-size:19px; }
    .olly-cruise-certificate__description { margin-bottom:17px; }
    .olly-cruise-certificates__about { text-align:left; }
    .olly-certificate-dialog[open] { width:calc(100% - 16px); height:calc(100vh - 16px); height:calc(100dvh - 16px); padding:13px; border-radius:18px; }
    .olly-certificate-dialog__toolbar h2 { font-size:17px; }
    .olly-certificate-dialog__controls { gap:8px; }
    .olly-certificate-dialog__controls a { font-size:12px; }
}
