img[data-lazyloaded]{opacity:1}iframe{max-width:100%}body.litespeed_lazyloaded{opacity:1}

/* === Contact page polish === */
.wpcf7 .hidden-fields-container,
.wpcf7 .screen-reader-response,
.wpcf7 .wpcf7-response-output:empty {
  display: none !important;
}

.wpcf7 .wpcf7-response-output.res-msg {
  display: block !important;
  margin: 18px 0 0 !important;
  padding: 14px 18px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  border: 1px solid transparent !important;
}

.wpcf7 .wpcf7-response-output.res-success {
  background: #ecf8f0 !important;
  color: #1d6b3a !important;
  border-color: #bfe3cb !important;
}

.wpcf7 .wpcf7-response-output.res-error {
  background: #fdecec !important;
  color: #8b1d1d !important;
  border-color: #f4c0c0 !important;
}

.wpcf7-form input[type="submit"]:disabled {
  opacity: 0.6;
  cursor: wait;
}

/* Application form (Work for Le Flamme) — response message */
.ff-response-output {
  display: none;
}
.ff-response-output.res-msg {
  display: block;
  margin: 18px 0 0;
  padding: 14px 18px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  border: 1px solid transparent;
}
.ff-response-output.res-success {
  background: #ecf8f0;
  color: #1d6b3a;
  border-color: #bfe3cb;
}
.ff-response-output.res-error {
  background: #fdecec;
  color: #8b1d1d;
  border-color: #f4c0c0;
}
.fluent_form_4 button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: wait;
}

/* Legal pages (privacy-policy, terms-conditions) */
.legal-page .legal-container {
  max-width: 820px;
  padding: 56px 20px 80px;
  margin: 0 auto;
}
.legal-page .legal-content {
  font-size: 16px;
  line-height: 1.75;
  color: #2a2a2a;
}
.legal-page .legal-content h2 {
  margin: 36px 0 14px;
  font-size: 22px;
  color: #1a1a1a;
  letter-spacing: 0.02em;
  font-weight: 700;
  border-bottom: 1px solid #efe7d8;
  padding-bottom: 8px;
}
.legal-page .legal-content p {
  margin: 0 0 14px;
}
.legal-page .legal-content ul {
  list-style: disc;
  padding-left: 22px;
  margin: 0 0 16px;
}
.legal-page .legal-content ul li {
  padding: 4px 0;
}
.legal-page .legal-content a {
  color: #c8a45c;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-page .legal-content a:hover {
  color: #1a1a1a;
}
.legal-page .legal-content .legal-disclaimer {
  margin-top: 36px;
  padding: 14px 18px;
  background: #fff7e0;
  border-left: 3px solid #c8a45c;
  font-size: 14px;
  color: #6a5a2a;
  border-radius: 0 6px 6px 0;
}
@media (max-width: 600px) {
  .legal-page .legal-container { padding: 36px 16px 60px; }
  .legal-page .legal-content { font-size: 15px; }
  .legal-page .legal-content h2 { font-size: 19px; }
}

.wpcf7-form {
  margin-top: 8px;
}

.wpcf7-form .row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.wpcf7-form .row > [class^="col-"] {
  padding: 0 10px;
  margin-bottom: 18px !important;
}

.wpcf7-form p {
  margin: 0;
}

.wpcf7-form label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #2a2a2a;
  margin-bottom: 8px;
}

.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
  color: #1a1a1a;
  background: #fafafa;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.wpcf7-form input:hover,
.wpcf7-form textarea:hover {
  border-color: #b8b8b8;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  border-color: #c8a45c;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(200,164,92,0.18);
}

.wpcf7-form textarea {
  min-height: 130px;
  resize: vertical;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: #9a9a9a;
}

.wpcf7-form input.wpcf7-submit {
  display: inline-block;
  width: auto;
  min-width: 180px;
  padding: 14px 36px;
  margin-top: 6px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  background: #1a1a1a;
  border: 1px solid #1a1a1a;
  border-radius: 999px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .15s ease;
}

.wpcf7-form input.wpcf7-submit:hover {
  background: #c8a45c;
  border-color: #c8a45c;
  transform: translateY(-1px);
}

.wpcf7-form input.wpcf7-submit:active {
  transform: translateY(0);
}

@media (max-width: 600px) {
  .wpcf7-form .row > [class^="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .wpcf7-form input.wpcf7-submit {
    width: 100%;
  }
}

/* Opening times card */
.opening-times {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.opening-times li {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 18px;
  padding: 12px 4px;
  border-bottom: 1px dashed #e3d7bd;
  font-size: 15px;
  line-height: 1.4;
  list-style: none !important;
}
.opening-times li::before,
.opening-times li::marker {
  content: none !important;
  display: none !important;
}
.opening-times li:last-child {
  border-bottom: none;
}
.opening-times .day {
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: 0.02em;
}
.opening-times .time {
  font-weight: 400;
  color: #4a4a4a;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.opening-times li:hover {
  background: #faf6ec;
}
