.cookie-layer { position: fixed; z-index: 10000; inset: 0; display: flex; align-items: flex-end; padding: 18px; background: rgba(12, 18, 28, .58); }
.cookie-banner { width: min(100%, 1120px); max-width: calc(100vw - 36px); min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px; margin: 0 auto; padding: 26px; border-radius: 16px; color: #202631; background: #fff; box-shadow: 0 18px 60px rgba(0,0,0,.3); box-sizing: border-box; }
.cookie-banner * { min-width: 0; box-sizing: border-box; overflow-wrap: anywhere; }
.cookie-banner h2 { margin: 0 0 6px; color: #202631; font: 700 clamp(1.3rem, 3vw, 1.65rem)/1.25 Arial, sans-serif; }
.cookie-banner p { max-width: 760px; margin: 0 0 8px; color: #3d4654; font: 400 1rem/1.55 Arial, sans-serif; }
.cookie-banner a { color: #79300d; font-weight: 700; text-decoration: underline; }
.cookie-actions { display: grid; gap: 10px; min-width: 210px; }
.cookie-actions button, .cookie-preferences-button { min-height: 48px; border: 2px solid transparent; border-radius: 10px; padding: 10px 16px; font: 800 1rem/1.2 Arial, sans-serif; cursor: pointer; }
.cookie-accept { color: #fff; background: #79300d; }
.cookie-reject { color: #252c37; border-color: #9ba3ae !important; background: #fff; }
.cookie-actions button:focus-visible, .cookie-preferences-button:focus-visible { outline: 4px solid #2879d0; outline-offset: 3px; }
.cookie-preferences-button { display: block; margin: 16px auto 0; color: #fff; border-color: rgba(255,255,255,.65); background: transparent; }
.managed-services { padding-top: 36px; }
.managed-services h2 { margin-bottom: 8px; text-align: center; }
.managed-services > p { max-width: 720px; margin: 0 auto 24px; text-align: center; }
.managed-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.managed-service-card { overflow: hidden; border: 1px solid #d7d9dd; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.08); }
.managed-service-card[hidden] { display: none; }
.managed-service-card img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #e9ebee; }
.managed-service-card > div { padding: 22px; }
.managed-service-card h3 { margin: 0 0 8px; color: #242424; }
.managed-service-card p { margin: 0 0 18px; color: #454545; line-height: 1.6; }
.managed-service-card a { min-height: 46px; display: inline-flex; align-items: center; color: #79300d; font-weight: 800; }
.managed-gallery-button { min-height: 46px; display: flex; align-items: center; justify-content: center; width: 100%; margin: 0 0 8px; border: 2px solid #79300d; border-radius: 9px; color: #79300d; background: #fff; font: 800 1rem/1.2 Arial, sans-serif; cursor: pointer; }
.managed-gallery-button:hover { color: #fff; background: #79300d; }
.managed-gallery { position: fixed; z-index: 11000; inset: 0; display: grid; place-items: center; padding: 18px; }
.managed-gallery[hidden] { display: none; }
.managed-gallery-backdrop { position: absolute; inset: 0; background: rgba(8,12,18,.82); }
.managed-gallery-dialog { position: relative; width: min(100%, 980px); max-height: calc(100dvh - 36px); overflow: auto; padding: 24px; border-radius: 15px; color: #222831; background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.45); }
.managed-gallery-dialog h2 { margin: 0 110px 16px 0; }
.managed-gallery-close { position: absolute; top: 16px; right: 16px; min-height: 46px; border: 1px solid #aab1bb; border-radius: 8px; padding: 8px 14px; color: #222831; background: #fff; font-weight: 800; cursor: pointer; }
.managed-gallery-stage { overflow: hidden; border-radius: 10px; background: #171b21; }
.managed-gallery-stage img { display: block; width: 100%; max-height: 65dvh; object-fit: contain; }
.managed-gallery-stage span { display: block; padding: 10px 14px; color: #fff; background: #171b21; text-align: center; }
.managed-gallery-controls { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 14px; }
.managed-gallery-controls button { min-height: 48px; border: 2px solid #79300d; border-radius: 9px; color: #79300d; background: #fff; font-weight: 800; cursor: pointer; }
.managed-gallery-controls button:last-child { color: #fff; background: #79300d; }
body.managed-gallery-open { overflow: hidden; }
.carousel-indicators button.indicator { padding: 0; border: 0; }
@media (max-width: 820px) {
    .cookie-banner { grid-template-columns: 1fr; gap: 18px; }
    .cookie-actions { grid-template-columns: 1fr 1fr; min-width: 0; }
    .managed-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .cookie-layer { padding: 10px; }
    .cookie-banner { max-width: calc(100vw - 20px); padding: 20px; }
    .cookie-actions, .managed-services-grid { grid-template-columns: 1fr; }
    .managed-gallery { padding: 8px; }
    .managed-gallery-dialog { max-height: calc(100dvh - 16px); padding: 18px; }
    .managed-gallery-dialog h2 { margin-right: 90px; font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
    .cookie-layer *, .managed-services * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
