/* El Lago Waters Motel (#19): DESKTOP parity layer (Stage 4, 8 Oct 2026, Bryan's side, dev site).
   Loaded after el-bundle.css, el-live.css and el-base.css, before el-mobile.css. Adapted from the kit's ilaunch-divi-parity.template.css
   (expanded copy kept at build/stage4/el-design.expanded.css) for this family B shell: live's markup uses .content / .content-wrapper /
   .wrapper / .inner (no #content), has no booking bar and no #topcontainer, and the Theme Builder header and footer each hold their part
   of live's #container-outer. Every rule undoes something Divi adds that live iLaunch CSS never had. */

/* 1. Live CSS assumes the browser default content-box; Divi sets * {box-sizing:border-box} (padded fixed boxes shrink: the home
      "book banner" 298 -> 258px, the special offer text 570 -> 530px). Divi's own contact-form module keeps border-box. */
body.el-site #page-container, body.el-site #page-container *, body.el-site #page-container *::before, body.el-site #page-container *::after { box-sizing: content-box; }
body.el-site #page-container .et_pb_contact_form_container, body.el-site #page-container .et_pb_contact_form_container * { box-sizing: border-box; }
/* form controls the browser sizes as border-box by default */
body.el-site #page-container select, body.el-site #page-container button,
body.el-site #page-container input[type=submit], body.el-site #page-container input[type=button], body.el-site #page-container input[type=reset] { box-sizing: border-box; }

/* 2. Live's fixed 1170px container everywhere (Divi caps .container at 80% / 1080px: the footer sat 45px right of live). */
body.el-site #page-container .container { width: 1170px; max-width: none; }

/* 3. Browser-default spacing and line-height the live CSS relies on, which Divi's reset removes (Divi: p padding-bottom 1em,
      ul line-height 26px). No ids in these selectors, so every live rule (body.el-site #page-container ...) still wins where live sets its own value. */
body.el-site :where(.et-l, #main-content) p { padding-bottom: 0; margin-bottom: 1em; }
body.el-site :where(.et-l, #main-content) ul, body.el-site :where(.et-l, #main-content) ol { padding: 0 0 0 40px; margin: 1em 0; line-height: inherit; }
body.el-site :where(.et-l, #main-content) :is(ul, ol) :is(ul, ol) { margin-top: 0; margin-bottom: 0; }
body.el-site :where(.et-l, #main-content) ul ul { list-style-type: circle; }
body.el-site :where(.et-l, #main-content) ul ul ul { list-style-type: square; }
body.el-site :where(.et-l, #main-content) :is(h1, h2, h3, h4, h5, h6) { padding-bottom: 0; line-height: inherit; }
/* Divi colours every <a> #2ea3f2; live's link rules are a:link / a:visited, so an anchor with no href (gallery triggers) inherits as in a browser */
body.el-site :where(.et-l, #main-content) a:not([href]) { color: inherit; }

/* 4. Divi pads "#main-content .container" 58px at the top and draws a 1px rule down blog views; live has neither. */
html body.el-site #main-content .container { padding-top: 0; }
body.el-site #main-content .container::before { display: none; }

/* 5. Divi's content-table look (borders, cell padding, width 100%) is not on live. */
body.el-site :where(.et-l, #main-content) table:not(.variations) { border: 0; margin: 0; width: auto; text-align: start; border-collapse: separate; }
body.el-site :where(.et-l, #main-content) table[width="100%"]:not(.variations) { width: 100%; }
/* the browser's default 2px cell spacing (live's /newsletter/unsubscribe table.form; Divi zeroes it); tables with cellspacing="0" keep 0 */
body.el-site :where(.et-l, #main-content) table:not([cellspacing]):not(.variations) { border-spacing: 2px; }
body.el-site :where(.et-l, #main-content) tr td, body.el-site :where(.et-l, #main-content) tr th { border-top: 0; padding: 1px; }
body.el-site :where(.et-l, #main-content) table[cellpadding="0"] tr td, body.el-site :where(.et-l, #main-content) table[cellpadding="0"] tr th { padding: 0; }

/* 6. Divi draws a 5px rule down the left of every blockquote; live has none. */
body.el-site :where(.et-l, #main-content) blockquote { border-left: 0; border-color: currentColor; }
/* Divi fixes strong/b at 700; the browser default is "bolder" (live's 500-weight booking line renders its strong at 900) */
body.el-site :where(.et-l, #main-content) :is(strong, b) { font-weight: bolder; }

/* 7. Divi forces greyscale font smoothing on body; live uses the browser default. */
body.el-site { -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; }

/* 8. The phone and tablet menu button (header fragment) never shows at desktop widths. */
body.el-site #page-container .ils-menu-toggle { display: none; }

/* 9. Home hero slider before slidepark starts: show the first photo exactly as the running slide (cover, centred), queue clipped. */
body.el-site #page-container ul.featuremain.slidepark { position: relative; overflow: hidden; margin: 0; padding: 0; list-style: none; }
body.el-site #page-container ul.featuremain.slidepark > li > img { object-fit: cover; object-position: center center; }

/* 10. Phone numbers are explicit tel: links that keep the surrounding text colour, with no underline, in every state at every
       width (1250 and up looks exactly like live's plain text). */
body.el-site #page-container a.tel-link, body.el-site #page-container a.tel-link:link, body.el-site #page-container a.tel-link:visited,
body.el-site #page-container a.tel-link:hover, body.el-site #page-container a.tel-link:active, body.el-site #page-container a.tel-link:focus,
body.el-site a[x-apple-data-detectors] { color: inherit !important; text-decoration: none !important; font: inherit; }

/* 11. Contact and review forms: Divi's contact-form module dressed as live's table.form (measured on live at 1440, 8 Oct 2026).
       Live: a label cell sized to its longest word (contact 73px, reviews 86px: padding 5px 10px 5px 5px, 14px/20px) beside a 451px
       field cell (padding 5px 20px 5px 5px) holding 426 x 28px inputs and a 426 x 92px message box (1px #cbcbcb, 5px 10px padding),
       a gold star (icon-required.png) at 430px 7px in the field cell of each required row, the captcha row 82px tall, a 169 x 39px
       yellow SUBMIT (live's input.button), and "Required fields" (11px) right-aligned: in the submit row on /contact, in a row of its
       own on /reviews. Each Divi field paragraph is one flex row (label, field); the star is that row's background. Divi's maths
       question ("3 + 2 = [  ]") takes the place of live's image code (live's captcha belongs to iLaunch); the row keeps live's height.
       Every value here is desktop; the narrower layouts are in el-mobile.css. */
body.el-site #page-container .content.split .el-contact-form { --el-lab: 73px; width: 524px; }
body.el-site #page-container .right.adjusted .el-contact-form { --el-lab: 86px; width: 537px; }
body.el-site #page-container .el-contact-form { margin: 15px 0; padding: 0; background: none; }
body.el-site #page-container .el-contact-form .et-pb-contact-message:empty { display: none; }
body.el-site #page-container .el-contact-form .et_pb_contact { padding: 0; margin: 0; }
body.el-site #page-container .el-contact-form form.et_pb_contact_form { margin: 0; padding: 0; background: none; }
body.el-site #page-container .el-contact-form p.et_pb_contact_field {
  display: flex; align-items: flex-start; margin: 0; padding: 0; width: auto; float: none; clear: none; background: none; }
body.el-site #page-container .el-contact-form p.et_pb_contact_field:has(> [data-required_mark="required"]) {
  background: url(/wp-content/uploads/ilaunch/skin/icon-required.png) no-repeat calc(var(--el-lab) + 430px) 7px; }
body.el-site #page-container .el-contact-form .et_pb_contact_form_label {
  display: block !important; flex: 0 0 var(--el-lab); width: var(--el-lab); margin: 0; padding: 5px 10px 5px 5px; box-sizing: border-box;
  font: 400 14px/20px 'Raleway', Helvetica, sans-serif; color: #444444; letter-spacing: 0; text-align: left; position: static; clip: auto; height: auto; }
body.el-site #page-container .el-contact-form .et_pb_contact_field input.input,
body.el-site #page-container .el-contact-form .et_pb_contact_field textarea.input {
  display: block; flex: 0 0 426px; width: 426px; height: 28px; margin: 5px 20px 5px 5px; padding: 5px 10px; box-sizing: border-box;
  border: 1px solid #cbcbcb; border-radius: 0; background: #ffffff; box-shadow: none;
  font: 400 14px/16px 'Raleway', Arial, Helvetica, sans-serif; color: #333333; letter-spacing: 0; }
body.el-site #page-container .el-contact-form .et_pb_contact_field textarea.input { height: 92px; min-height: 92px; margin-bottom: 11px; resize: both; }
body.el-site #page-container .el-contact-form .et_pb_contact_field .input::placeholder { color: transparent; }
body.el-site #page-container .el-contact-form .et_contact_bottom_container { display: block; float: none; margin: 0; padding: 0 0 5px; text-align: left; }
body.el-site #page-container .el-contact-form .et_pb_contact_right { display: block; float: none; margin: 0; padding: 0; text-align: left; }
body.el-site #page-container .el-contact-form .et_pb_contact_right p.clearfix {
  display: flex; align-items: flex-start; column-gap: 8px; height: 82px; margin: 0 0 0 var(--el-lab); padding: 5px 20px 5px 5px; float: none; font-size: 14px; line-height: 28px; color: #444444; text-align: left; }
body.el-site #page-container .right.adjusted .el-contact-form .et_pb_contact_right p.clearfix { background: url(/wp-content/uploads/ilaunch/skin/icon-required.png) no-repeat 430px 7px; }
body.el-site #page-container .el-contact-form .et_pb_contact_right p.clearfix::before, body.el-site #page-container .el-contact-form .et_pb_contact_right p.clearfix::after { display: none; }
body.el-site #page-container .el-contact-form .et_pb_contact_captcha_question {
  display: inline-block; min-width: 50px; height: 25px; margin-top: 2px; padding: 0 4px; box-sizing: border-box; border: 1px solid #cc0000; background: #ffffff;
  font: 700 13px/23px 'Raleway', Arial, Helvetica, sans-serif; color: #000000; text-align: center; white-space: nowrap; }
body.el-site #page-container .el-contact-form input.et_pb_contact_captcha {
  display: block; flex: 0 0 62px; width: 62px !important; max-width: none !important; height: 28px; margin: 0; padding: 5px 10px; box-sizing: border-box; border: 1px solid #cbcbcb; border-radius: 0; background: #ffffff;
  font: 400 14px/16px 'Raleway', Arial, Helvetica, sans-serif; color: #333333; }
body #page-container .et_pb_section .el-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button.et_pb_contact_submit {
  display: block; float: none; width: auto; height: 39px; margin: 5px 20px 0 calc(var(--el-lab) + 5px) !important; padding: 0 50px !important; border: 0 !important; border-radius: 0 !important;
  background: #ebbb00 !important; color: #ffffff !important; font: 700 18px/39px 'Raleway', Arial, Helvetica, sans-serif !important; text-transform: uppercase; letter-spacing: 0 !important; cursor: pointer; box-shadow: none; }
body #page-container .et_pb_section .el-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button.et_pb_contact_submit:hover { background: #006189 !important; padding: 0 50px !important; }
body #page-container .et_pb_section .el-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button.et_pb_contact_submit::after { display: none !important; }
/* the "Required fields" note (a paragraph after the form module). /contact: in the submit row, right of the button (never over it),
   with the row's star; /reviews: its own 32px row under the button. Hidden once Divi swaps the form for its thank-you line. */
body.el-site #page-container .content.split p.ils-required-note {
  position: relative; width: 244px; height: 39px; margin: -64px 0 0 260px; padding: 5px 20px 5px 0; text-align: right;
  background: url(/wp-content/uploads/ilaunch/skin/icon-required.png) no-repeat 243px 7px; }
body.el-site #page-container .right.adjusted p.ils-required-note {
  width: 512px; height: 22px; margin: -15px 0 15px 0; padding: 7px 20px 3px 5px; text-align: right; line-height: 22px;
  background: url(/wp-content/uploads/ilaunch/skin/icon-required.png) no-repeat 516px 7px; }
body.el-site #page-container p.ils-required-note em.required { float: none; display: inline-block; vertical-align: top; font-size: 11px; font-style: normal; line-height: 22px; color: #979797; }
body.el-site #page-container .el-contact-form:not(:has(form)) + p.ils-required-note { display: none; }
body.el-site #page-container .el-contact-form:not(:has(form)) { width: auto; }

/* 12. Keyboard focus ring (Stage 3b, 8 Oct 2026). Divi's reset sets outline 0 on links, fields and buttons, so a keyboard visitor saw no focus
       ring at any of the 39 tab stops on /contact (live: the browser's own ring on 37 of 37). Give the browser's ring back for keyboard focus only
       (:focus-visible, so a mouse click shows nothing, as on live); live's own outline:none rules (#page-container scoped) still win. */
html body.el-site :focus-visible { outline: revert; }

/* 13. Site search results (fix round 1, 3.18 finding N1, 8 Oct 2026). The kit's search plugin wraps the results in
       div.content.ils-search-results INSIDE the page's own .content, so the nested box took .content's section padding a second
       time (50px 55px at 1250 and up, 40px 24px and 28px 16px in el-mobile.css): the results sat 55px right of and 50px lower
       than live's, in a column 110px narrower. Live prints the results straight into the column under the form. Zero the nested
       wrapper's padding at every width (this selector out-ranks el-mobile.css's .content rules); the page's own .content is untouched. */
body.el-site #page-container .content .content.ils-search-results { padding: 0; }

/* 12 Room photo column (12 Oct 2026, Jake): the lead photo is a 500px-wide original sitting in live's 570px column, which left a 70px empty band beside it
      (and the lead photo was also repeated as the first thumbnail). The lead photo is now the first lightbox link itself, and at 1250 and up the column is
      the photo's own width so it fills edge to edge with no upscaling; below 1250 el-mobile.css already sizes the column in percent and the photo fills it. */
body.el-site #page-container .list .entry .images > a.gallery-item { display: block; line-height: 0; }
body.el-site #page-container .list .entry .images > a.gallery-item > img { display: block; width: 100%; height: auto; }
@media (min-width: 1250px) {
  body.el-site #page-container .list .entry .images { width: 500px; }
}

/* 14 Location page text spacing (12 Oct 2026, Jake: "texts feel heavy"). The check-in notices were one paragraph joined with line breaks and the
      body lines were tight at 22px on 14px type. The notices are now separate paragraphs; give this page's body text a looser line height and
      clear space above each sub-heading. Scoped to the Location page only. */
body.el-site.page-id-1283 #page-container .content-wrapper p { line-height: 1.75; margin: 0 0 20px; }
body.el-site.page-id-1283 #page-container .content-wrapper h3 { margin: 34px 0 12px; }
body.el-site.page-id-1283 #page-container .content-wrapper h1 + p { margin-top: 0; }

/* 15 Heavy-text pages (12 Oct 2026, Jake: "heavy texts, hurts readability" on Accommodation The Entrance, Terms and Conditions; Conferences needed real headings).
      Same treatment as the Location page: body lines at 1.75 on 14px type with clear space between paragraphs. Scoped to these three pages only. */
body.el-site:is(.page-id-1272, .page-id-1277, .page-id-1292) #page-container .content-wrapper p { line-height: 1.75; margin: 0 0 20px; }
body.el-site:is(.page-id-1272, .page-id-1277, .page-id-1292) #page-container .content-wrapper h1 + p { margin-top: 0; }
body.el-site:is(.page-id-1277, .page-id-1292) #page-container .content-wrapper h2 { margin: 34px 0 14px; }
body.el-site.page-id-1277 #page-container .content-wrapper h2 { margin-top: 20px; }
body.el-site.page-id-1277 #page-container .content-wrapper h3 { margin: 28px 0 8px; }
body.el-site.page-id-1277 #page-container .content-wrapper li { line-height: 1.75; }
/* Terms and Conditions: numbered contents list, a divider between sections and callout boxes for the key notices */
body.el-site.page-id-1292 #page-container .content-wrapper h2 { font-size: 26px; line-height: 32px; scroll-margin-top: 20px; }
body.el-site.page-id-1292 #page-container .content-wrapper .tc-contents { margin: 0 0 8px; padding: 0 0 0 22px; line-height: 1.9; }
body.el-site.page-id-1292 #page-container .content-wrapper .tc-contents a { text-decoration: underline; }
body.el-site.page-id-1292 #page-container .content-wrapper hr.tc-rule { border: 0; border-top: 1px solid #d6d6d6; height: 0; margin: 34px 0 0; }
body.el-site.page-id-1292 #page-container .content-wrapper p.tc-callout { background: #fff; border-left: 4px solid #ebbb00; padding: 14px 18px; margin: 0 0 16px; }
body.el-site.page-id-1292 #page-container .content-wrapper p.tc-callout-key { border-left-color: #006189; font-weight: 700; }
/* Accommodation The Entrance: the keyword phrases are no longer bold, so the two in-copy links carry an underline to stay recognisable as links */
body.el-site.page-id-1272 #page-container .content-wrapper p a:not(.button) { text-decoration: underline; }

/* 16 Heavy-text pages, second batch (12 Oct 2026, Jake: "heavy texts, hurts readability" on Central Coast Motel, Accommodation East Coast, NSW Central Coast Accommodation,
      The Entrance Holiday Accommodation, The Entrance Motel). Same treatment as Accommodation The Entrance: shorter paragraphs, 1.75 line height, 20px between paragraphs,
      keyword phrases no longer bold so the in-copy links carry an underline to stay recognisable. Scoped to these five pages only. */
body.el-site:is(.page-id-1276, .page-id-1279, .page-id-1287, .page-id-1293, .page-id-1294) #page-container .content-wrapper p { line-height: 1.75; margin: 0 0 20px; }
body.el-site:is(.page-id-1276, .page-id-1279, .page-id-1287, .page-id-1293, .page-id-1294) #page-container .content-wrapper h1 + p { margin-top: 0; }
body.el-site:is(.page-id-1276, .page-id-1279, .page-id-1287, .page-id-1293, .page-id-1294) #page-container .content-wrapper p a:not(.button) { text-decoration: underline; }
