/* ============================================================
   offers-styles.css
   Extracted from offers-template.php inline <style> block.
   Dynamic rules (font-family, brand colours, translated ::after
   tooltip, altBanner background) remain inline in the template
   as CSS custom properties and a minimal <style> block.
   ============================================================ */

/* Body font is set via --body-font custom property in the template */
body { font-family: var(--body-font, lato, arial, sans-serif); }

.panel-margin { margin-top: 0; }
.offers-wall .col-sm-12 { margin-bottom: 20px; }
label span { margin-bottom: 0; }
.survey-dropdown input { margin-top: -2px; margin-right: 5px; margin-left: 10px !important; }
.select-all { padding: 10px; display: inline; }

.btn-pink { font-size: 30px; text-transform: uppercase; padding: 16px; width: 100%; }

.offers-page .offers-wall .panel-default .panel-body .text  { padding: 0; font-weight: 200; }
/* Brand icon colour set via --fa-color custom property in the template */
.offers-page .offers-wall .panel-default .panel-body .fa    { color: var(--fa-color, #45b29b); margin-right: 10px; font-size: 16px; vertical-align: top; margin-top: 2px; }
.offers-page .offers-wall .panel-default .panel-body .survey-dropdown .fa { color: #fff; margin-right: 10px; font-size: 20px; pointer-events: none; vertical-align: initial; margin-top: 0; }
.offers-page .offers-wall .panel-body img { max-width: 220px; padding: 10px; margin-bottom: 0; }

h1 { margin-top: 1%; }
.offers-page .offers-wall .panel-default .panel-body        { padding: 30px; }
.offers-page .offers-wall .panel-default .panel-body .text  { margin-bottom: 10px; }
.offers-page .glyphicon-ok                                  { margin-bottom: 20px; margin-top: 0; margin-right: 8px; }
.offers-page .intro h1                                      { font-weight: 400; margin-bottom: 20px; margin-top: 20px; }
.offers-page .intro                                         { min-height: 250px; }
.col-sm-offset-1                                            { margin-top: 12px; }
.offers-page .offers-wall .panel-body h3                    { margin-bottom: 20px; font-weight: 200; }
.btn { padding: 18px 36px; width: 100%; }
.survey-dropdown { max-width: 340px !important; width: 100% !important; }

.jumbotron p     { font-size: 15px; line-height: 21px; margin: 0; font-weight: 200; }
.text-terms      { font-size: 12.5px; text-align: center; margin: 10px; padding-top: 15px; }
.select-all      { text-align: left; padding: 12px 12px 12px 0; height: 54px; display: block; margin: 12px; font-size: 22px; }
h4               { font-size: 140%; }

.jumbotron .text p,
.jumbotron .text-content p,
.jumbotron .bigger-text          { text-align: left; display: inline; }

.offers-page .intro p            { margin-bottom: 15px; margin-top: 15px; }
.offers-page .offers-wall .panel-default .panel-body .text { padding-left: 0; padding-right: 0; }
.offers-page .offers-wall .panel-body img                  { max-width: 200px; padding: 10px; }
.survey-dropdown                 { margin-bottom: 0; margin-top: 10px; }
.select-all b                    { font-weight: 400 !important; }

.offers-page .offers-wall .panel-body img.stars-trustpilot {
  padding: 0;
  width: 60%;
  margin-top: 5px;
  margin-bottom: 10px;
}
.offers-page .offers-wall .panel-body .rating {
  padding-left: 10px;
  display: inline-block;
}

/* Container width is set via --container-max-width custom property in the template */
.container.offercontainer,
.jumbotron .container.offercontainer { max-width: var(--container-max-width, 980px); }

.spacing-sm { padding-bottom: 20px; }
.jumbotron  { padding: 8px; }

.findAddress-btn { height: 60px; }
.border-green    { margin-bottom: 10px; }

.offers-page .offers-wall .panel-default .panel-body {
  box-shadow: 0 1px 6px 0 rgba(117,117,117,.25);
}
.survey-dropdown input { margin-left: 0; }
.offers-page .offers-wall .panel-body .rating small { font-size: 13px; }

input[type="checkbox"] + span { position: relative; }
input[type="checkbox"]:checked + span::after { display: none; }

.select-all-btn {
  text-align: center; max-width: 400px; margin: 0 auto 35px;
  padding: 24px 40px; display: block; font-size: 20px;
  background: rgb(32,67,73); color: #fff; border-radius: 4px;
  touch-action: manipulation; cursor: pointer; vertical-align: middle;
  box-shadow: 0 1px 6px 0 rgba(117,117,117,.25);
}
.select-all-btn label:hover { background: rgb(43,88,96); }
.select-all-btn .fa         { margin-right: 5px; }

.offers-page .intro              { min-height: 210px !important; }
.offers-page .intro p            { font-size: 20px; line-height: 26px; margin-top: 20px; }
.offers-page .intro h2           { font-size: 28px; line-height: 38px; margin-top: 20px; margin-bottom: 20px; }
.col-sm-12 h4                    { text-align: center; font-size: 24px; padding-bottom: 10px; }
.col-sm-12                       { margin-top: 0; margin-bottom: 0 !important; font-weight: 200; }
.col-sm-12 b                     { font-weight: 600; }
.jumbotron                       { padding-top: 25px; padding-bottom: 25px; }

.jumbotron .text-terms-links p   { font-size: 13px; }

/* Prevent Bootstrap from stretching responsive images to full width in carousels */
.carousel-inner > .item > a > img,
.carousel-inner > .item > img,
.img-responsive,
.thumbnail a > img,
.thumbnail > img { width: auto; height: auto; }

/* Preview page overrides */
.is-preview-page .panel-margin a                          { color: inherit; }
.is-preview-page .survey-dropdown.small-survey-dropdown   { background-color: #408c99; }

/* ── Responsive ─────────────────────────────────────────── */

@media screen and (max-width: 992px) {
  .container                                               { width: 100%; max-width: 850px !important; }
  .survey-dropdown                                         { max-width: 100% !important; }
  .intro.spacing-sm.text-center p                         { font-size: 135%; line-height: 1.3; }
  .offers-page .offers-wall .panel-body img.stars-trustpilot { max-width: 170px; }
  .jumbotron                                               { padding: 0; }
}

@media (max-width: 768px) {
  .offers-page .intro h1                                   { font-size: 28px; line-height: 32px; margin-bottom: 10px !important; }
  .offers-page .offers-wall .panel-default .panel-body img { max-width: 180px; padding-top: 0; float: none; margin: auto; }
  .jumbotron p                                             { font-size: 14px; line-height: 1.4; }
  .text-terms                                              { font-size: 11px; padding-top: 6px; padding-bottom: 6px; }
  .select-all b                                            { font-size: 18px; margin-bottom: 12px; }
  .offers-page .offers-wall .panel-default .panel-body     { padding: 20px; }
  .btn-pink                                                { margin-bottom: 20px; font-weight: 700; font-size: 26px; box-shadow: 0 4px 10px 0 rgba(0,0,0,.2) !important; background-color: #ff537c; }
  .survey-dropdown                                         { margin-bottom: 0; max-width: 100% !important; }
  .container                                               { padding: 0; width: 100%; max-width: 680px !important; }
  .offers-page .offers-wall .panel-default .panel-body .col-md-9 { padding-top: 15px; }
  .offers-page .offers-wall .panel-default .panel-body img { margin-bottom: 0 !important; }
  .offers-page .offers-wall .panel-body .rating            { padding-left: 0 !important; display: block; width: fit-content; margin: auto; text-align: center; }
  .offers-page .offers-wall .panel-body h3                 { margin-bottom: 18px; display: none; }
  .offers-page .intro                                      { min-height: 120px; }
  .flex img                                                { height: 25px !important; }
  .jumbotron                                               { padding: 0; }
  .offers-page .intro h2                                   { font-size: 24px; line-height: 30px; }
  .offers-page .intro p                                    { font-size: 18px; line-height: 22px; }
  .col-sm-12 h4                                            { font-size: 20px; }
}

@media (max-width: 480px) {
  .panel-body                                              { padding: 15px 10px !important; }
  .offers-page .offers-wall .panel-default .panel-body .text { padding-left: 0; padding-right: 0; }
  .offers-page .offers-wall .panel-default .panel-body .col-md-9 { padding-top: 15px; }
  .offers-page .intro p                                    { font-size: 105%; line-height: 125%; margin-top: 10px; margin-bottom: 10px; }
  .spacing-sm                                              { padding-top: 30px; padding-bottom: 30px; }
  .offers-page .intro h1                                   { margin-bottom: 10px !important; font-size: 25px; line-height: 28px; }
  .offers-page .intro                                      { min-height: 120px; padding: 0; }
  .select-all                                              { text-align: center; padding: 0; height: 54px; display: inline; margin: 0; font-size: 18px; }
  .jumbotron p                                             { font-size: 14px; line-height: 1.45; margin: 0; display: inline; }
  .text-terms                                              { font-size: 11.5px; margin-left: 5px; margin-right: 5px; }
  .offers-page .offers-wall .panel-body h3                 { margin-bottom: 18px; display: none; }
  .survey-dropdown                                         { margin-bottom: 0; }
  .btn                                                     { padding-top: 12px; padding-bottom: 12px; }
  .select-all b                                            { display: inline-block !important; text-align: center; width: 100%; margin-bottom: 8px; margin-top: 14px; }
  .offers-page .offers-wall .panel-default .panel-body .fa { margin-right: 5px !important; }
  .offers-page .offers-wall .panel-body img.stars-trustpilot { width: 45% !important; padding: 0; margin-top: 5px; margin-bottom: 0; }
  .offers-page .offers-wall .panel-body .rating            { padding-left: 0 !important; }
  .offers-page .offers-wall .panel-default .panel-body img { margin-bottom: 0 !important; }
}

@media screen and (min-width: 769px) {
  .jumbotron { padding-top: 0; padding-bottom: 28px; }
}

@media screen and (max-width: 480px) {
  .intro.spacing-sm.text-center p {
        font-size: 14px;
        line-height: 1.45;
    }
}