/* =========================================================
   D7's responsive-style.css has:
     .front .field-name-body { padding-right: 320px; }
   In D7 this only affected the main content body (to leave room
   for a decorative positioned image). In D11 it hits EVERY
   .field-name-body on the front page — including the 4 footer
   block body fields — making 287px columns have negative content
   width and forcing word-by-word wrapping.
   Reset it anywhere it is not the main content column.
   ========================================================= */

#bottom .field-name-body,
#foot .field-name-body,
.sidebar .field-name-body {
  padding-right: 0 !important;
}

@media only screen and (max-width: 768px) {
  #bottom .field-name-body,
  #foot .field-name-body,
  .sidebar .field-name-body {
    padding-right: 0 !important;
  }
}

/* =========================================================
   D11 Footer: Social block — D7 used #block-block-11 but D11
   generates #block-karrageen-d7-block-11 as the block HTML id.
   ========================================================= */

#block-karrageen-d7-block-11 {
  position: relative;
  overflow: hidden;
}

#block-karrageen-d7-block-11 .content {
  text-align: left;
  padding-left: 0 !important;
}

#block-karrageen-d7-block-11 .content a {
  width: 42px;
  height: 42px;
  margin-left: 10px;
  text-indent: -999999px;
  font-size: 0;
  display: inline-block;
  color: transparent;
}

#block-karrageen-d7-block-11 .content a.facebook {
  background: url("vendor/images/facebook.png") no-repeat center;
  background-size: contain;
}

#block-karrageen-d7-block-11 .content a.tripadvisor {
  background: url("vendor/images/tripadvisor.png") no-repeat center;
  background-size: contain;
}

/* =========================================================
   D11 Footer: Menu blocks render as <nav> not <div class="block">,
   so D7 selectors like #bottom .block .content a don't match.
   These rules replicate the footer colour and list styling for
   the nav-rendered menu blocks.
   ========================================================= */

#bottom nav {
  margin-bottom: 0;
}

#bottom nav h2 {
  text-transform: none;
  font-weight: 700;
  color: #fff;
  font-size: 20px;
  margin-bottom: 10px;
  position: relative;
  padding-bottom: 15px;
}

#bottom nav h2:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #69c1a3;
  width: 50px;
  height: 4px;
}

#bottom nav ul {
  padding-left: 0;
}

#bottom nav li {
  list-style-image: none;
  list-style-type: disc;
  color: #ffffff;
  line-height: 24px;
  margin-left: 0;
}

#bottom nav li:before {
  background: #fff;
  height: 1px;
  content: '';
  display: block;
  width: 36px;
  margin-bottom: 6px;
}

#bottom nav a,
#bottom nav a:link,
#bottom nav a:visited,
#bottom nav a.is-active,
#bottom nav a.active-trail {
  color: #ffffff;
  text-decoration: none;
  font-weight: 400;
  text-transform: none;
}

#bottom nav a:hover {
  color: #eeeeee;
}

/* Responsive — replicate the .block rules for <nav> at tablet breakpoint */
@media only screen and (max-width: 768px) {
  #bottom nav {
    font-size: 17px;
    line-height: 24px;
  }
  #bottom nav ul {
    text-align: center;
  }
  #bottom nav li {
    list-style-type: none !important;
    text-align: center;
  }
  #bottom nav li:before {
    display: none !important;
  }
  #bottom nav h2 {
    text-align: center;
  }
  #bottom nav h2:after {
    left: 50% !important;
    margin-left: -18px;
  }
}

/* ========================================================= */

.booking-estimate {
  font-size: 2rem;
  font-weight: 700;
  color: #477d35;
}

.booking-deposit {
  padding: 1rem;
  background: #f4f7ef;
  border-left: 4px solid #477d35;
}

.karrageen-booking-summary {
  width: 100%;
  max-width: 720px;
  border-collapse: collapse;
}

.karrageen-booking-summary td {
  padding: 0.5rem;
  border-bottom: 1px solid #ddd;
}

.karrageen-booking-summary .price-col {
  text-align: right;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.button,
input[type="submit"],
button {
  padding: 0.7rem 1.1rem;
  color: #fff;
  background: #477d35;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select,
textarea {
  max-width: 100%;
  padding: 0.55rem;
  border: 1px solid #bbb;
  border-radius: 2px;
}

.d7-paragraph {
  margin: 0 0 2rem;
}

.d7-paragraph > :first-child {
  margin-top: 0;
}

.d7-paragraph > :last-child {
  margin-bottom: 0;
}

.legacy-image-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}

.legacy-image-list a {
  display: block;
  padding: 0.75rem;
  background: #f4f7ef;
  border: 1px solid #d8e2cf;
  text-decoration: none;
}

/* =========================================================
   Manage Your Booking block
   D7: #block-peritus-karrageen-customer-search-customer-search
   D11: .block-karrageen-customer-search (generated from plugin ID)
   ========================================================= */

.field-items .paragraph-item.paragraph-block-reference {
  padding-top: 0;
}

.field-items .paragraph-item.paragraph-block-reference h2 {
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px;
}

.block-karrageen-customer-search {
  text-align: center;
}

.block-karrageen-customer-search form input {
  margin: 5px 10px;
}

.block-karrageen-customer-search form input[type="submit"] {
  background-color: #059866;
  color: white;
}
