/* stage 1 corrective stylesheet; old visual CSS is retained */
body.campo-grav { margin:0; background:#333; } .campo-grav .bg {position:fixed;inset:0;z-index:-1;overflow:hidden;background:#47515b}
.campo-grav .bg img { width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:opacity .8s }
.campo-header-inner {position:relative} .campo-grav header nav.main a.active {background:rgba(0,0,0,.24)}
.campo-grav .content article { color:#fff } .campo-grav .content article a:not(.btn) {color:#9c0}
.campo-grav .units-container.main {position:relative;z-index:2} .campo-grav .widgets.right {z-index:5}
.campo-grav .widget--review {min-height:125px;background:rgba(255,255,255,.90)}
.campo-grav .widget--booking {min-height:115px;padding:12px;background:rgba(51,51,51,.85)}
.campo-grav .close-btn {border:0;cursor:pointer;color:white;background:rgba(0,0,0,.3);float:right}
.campo-grav .read-more button {cursor:pointer;background:none;color:inherit;border:0;text-align:left;font:inherit}
.campo-grav .slider-controls button {cursor:pointer;border:0;background:rgba(33,33,33,.6);color:white;font-size:22px;padding:7px}
.campo-drawer[hidden] {display:none!important} .campo-drawer {position:fixed;inset:0 auto 0 0;width:min(85vw,350px);background:#333;color:white;z-index:10000;padding:55px 20px;box-shadow:0 0 0 100vmax rgba(0,0,0,.5);overflow:auto}
.campo-drawer a {display:block;color:white;padding:12px;border-bottom:1px solid #555}.campo-drawer-close{position:absolute;right:15px;top:10px;background:none;color:white;border:0;font-size:32px}
@media(max-width:775px){.campo-grav .widgets.right,.campo-grav .panel.specials.left {display:none} .campo-grav .content article {color:#222} .campo-grav .bg{display:none}}


/* Campo stage 1.1 – desktop visual alignment, 30 October 2026 */
@media (min-width: 776px) {
  /* Keep both menu bars readable regardless of the background photo. */
  body.campo-grav > #page-wrp > header,
  body.campo-grav header.corporate_color {
    background:rgba(48,54,59,.94) !important;
  }
  body.campo-grav header nav.sub {
    background:rgba(46,39,38,.91) !important;
    border-bottom: 4px solid #80b6d7;
  }
  /* The headline and content appear as a single translucent panel. */
  body.campo-grav .units-container.main > h1 {
    background:rgba(43,46,49,.82) !important;
    margin:0;
    padding:19px 56px 17px 20px;
    font-size:26px;
    box-sizing:border-box;
  }
  body.campo-grav .units-container.main > h1 .close-btn {
    right:18px;top:18px;
    font-size:0;
    background:rgba(255,255,255,.45) url('../img/slider-btn-toggle.png') center/auto no-repeat;
  }
  body.campo-grav .units-container.main .content article {
    background:rgba(43,46,49,.82) !important;
    padding:12px 20px 24px;
    margin:0 0 85px;
  }
  body.campo-grav .units-container.main .content article p,
  body.campo-grav .units-container.main .content article li {
    color:rgba(255,255,255,.94);
  }
  /* Social badges belong to the right edge on desktop as on the reference. */
  body.campo-grav .social-btn {left:auto !important;right:0 !important;z-index:11;}
  body.campo-grav .social-btn--facebook {top:485px;}
  body.campo-grav .social-btn--instagram {top:525px;}
  body.campo-grav footer.page-footer {
    background:rgba(35,38,39,.85) !important;
    min-height:34px;
  }
  body.campo-grav footer.page-footer nav a,
  body.campo-grav footer.page-footer .contacts {color:rgba(255,255,255,.78);}
}
/* Protect the compact mobile layout from desktop-only overrides. */
@media (max-width:775px) {
  body.campo-grav header.corporate_color {background:#414447 !important;}
  body.campo-grav .units-container.main > h1 {background:#fff !important;}
  body.campo-grav .units-container.main .content article {background:#fff !important;}
}

/* Stage 1.2: persistent, readable desktop footer */
@media (min-width: 776px) {
  html body.campo-grav #page-wrp > footer.page-footer {
    display:block !important;
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    min-height:48px;
    box-sizing:border-box;
    padding:0 !important;
    margin:0 !important;
    background-color:rgba(33,36,37,.92) !important;
    color:#dedede !important;
    z-index:999 !important;
  }
  body.campo-grav footer.page-footer > .wrapper {
    display:flex !important;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    min-height:48px;
    max-width:1300px;
    padding:0 20px !important;
    margin:0 auto !important;
    box-sizing:border-box;
  }
  body.campo-grav footer.page-footer nav,
  body.campo-grav footer.page-footer .contacts {
    display:block !important;
    float:none !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.5 !important;
    color:#dedede !important;
  }
  body.campo-grav footer.page-footer nav a {
    display:inline-block;
    margin-right:15px;
    font-size:12px !important;
    color:#dedede !important;
  }
}
