/* Austin Pedal Party, Changes round 1 (2026-10-06). Shipped only after Rob approves. */
/* 1. Rounded buttons sitewide (BOOK NOW, LEARN MORE, Submit). */
.et_pb_button, .et_pb_contact_submit, .wpforms-submit, .greviewbutton { border-radius: 10px !important; }
/* 2. Reviews widget, rendered by /reviews.js instead of Trustindex's loader. */
.apr-widget, .apr-widget * { font-family: 'Open Sans', Arial, Helvetica, sans-serif !important; }
.apr-widget .ti-reviews-container { overflow: hidden; }
.apr-widget .ti-reviews-container-wrapper { display: flex; overflow: visible !important; transition: transform .6s ease; will-change: transform; }
.apr-widget .ti-review-item { flex: 0 0 33.333%; box-sizing: border-box; padding: 0 10px; }
@media (max-width: 980px) { .apr-widget .ti-review-item { flex-basis: 50%; } }
@media (max-width: 640px) { .apr-widget .ti-review-item { flex-basis: 100%; } }
.apr-widget .ti-controls { display: flex; justify-content: center; gap: 18px; margin-top: 14px; }
.apr-widget .ti-controls button { background: #fff; border: 1px solid #ccc; border-radius: 50%; width: 36px; height: 36px; cursor: pointer; font-size: 18px; line-height: 1; }
.apr-widget .ti-read-more { color: #1a73e8; cursor: pointer; font-weight: 600; }
.apr-widget .ti-review-text.ti-clamped { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.apr-widget img.ti-star { width: 17px; height: 17px; display: inline-block; }
.apr-widget .ti-profile-img img { width: 40px; height: 40px; border-radius: 50%; }
.apr-widget .apr-avatar { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; font-weight: 700; font-size: 15px; }
.apr-widget .ti-stars svg { display: inline-block; vertical-align: middle; margin-right: 1px; }
.apr-widget .apr-count { text-align: center; color: #666; font-size: 13px; margin-top: 10px; }
.apr-widget .ti-review-text { white-space: pre-line; }
.apr-widget .ti-review-item > .ti-inner { height: auto !important; min-height: 200px; }
.apr-widget .ti-review-text.ti-clamped { -webkit-line-clamp: 4; }
.apr-widget .ti-read-more { display: inline-block; margin-top: 6px; }
.apr-widget .ti-reviews-container, .apr-widget .ti-review-item, .apr-widget .ti-review-item > .ti-inner, .apr-widget .ti-review-content { height: auto !important; max-height: none !important; }
.apr-widget .ti-reviews-container-wrapper { align-items: stretch; }
.apr-widget .ti-review-content { overflow: visible !important; height: auto !important; max-height: none !important; flex: none !important; }
/* the plugin pins the content box at 87px !important with a 3-class selector; out-specific it */
.ti-widget.ti-goog.apr-widget .ti-review-item .ti-review-content { height: auto !important; max-height: none !important; overflow: visible !important; transition: none !important; }
.ti-widget.ti-goog.apr-widget .ti-review-item > .ti-inner { height: auto !important; }
/* 3. Occasion cards on the home page (Company Outings / Bach / Friend / Birthday): equal
   height, BOOK NOW and LEARN MORE on the same line in every card (Matt, 2026-10-06). */
.home .et_pb_row_5 { display: flex !important; flex-wrap: wrap; align-items: stretch; }
.home .et_pb_row_5 > .et_pb_column { display: flex; flex-direction: column; float: none; }
.home .et_pb_row_5 > .et_pb_column > .et_pb_module:nth-child(2) { flex: 1 1 auto; } /* image, TEXT, button, learn-more */
.home .et_pb_row_5 > .et_pb_column > .et_pb_button_module_wrapper { margin-top: auto; }

/* 4. Home page "✓ 5-Star Rating / Most Reviews / Best Quality / Cheapest Tours" row:
   headings sized to the column so each is 2 lines, dividers and text start on the same
   line in every column (Matt, 2026-10-07). */
.home .et_pb_row_2 { display: flex !important; flex-wrap: wrap; align-items: stretch; }
.home .et_pb_row_2 > .et_pb_column { display: flex; flex-direction: column; float: none; }
@media (min-width: 981px) {
  .home .et_pb_row_2 h2 { font-size: clamp(24px, 2.6vw, 40px) !important; line-height: 1.15 !important;
    min-height: 2.4em; display: flex; flex-direction: column; justify-content: flex-end; }
}
/* every review card the same size: the white card fills its slot, slots are all the height of the tallest */
.ti-widget.ti-goog.apr-widget .ti-review-item { display: flex !important; }
.ti-widget.ti-goog.apr-widget .ti-review-item > .ti-inner { flex: 1 1 auto; width: 100%; }
/* phone / tablet: one card per view (two on tablet); the plugin's 3-column rule outranks the earlier version of this */
@media (max-width: 980px) { .ti-widget.ti-goog.apr-widget .ti-review-item { flex: 0 0 50% !important; width: 50% !important; max-width: 50% !important; } }
@media (max-width: 640px) { .ti-widget.ti-goog.apr-widget .ti-review-item { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; } }
.apr-widget .ti-controls-line { height: 4px; background: #e5e5e5; border-radius: 2px; overflow: hidden; margin: 14px auto 0; max-width: 60%; }
.apr-widget .ti-controls-line > * { display: block; height: 100%; background: #8b2a14; border-radius: 2px; transition: width .5s ease; }
/* new articles' cards use a single hero image sized like the old 400x250 thumbnails */
.lwp_post_carousel_item[data-apa] img, article[data-apa] .et_pb_image_container img { display: block; }

/* ---- Header (Matt, 2026-10-12: "the header needs work, make it nicer") ----
   The owners' header let the logo grow to ~230px and spill into the hero, and the menu
   wrapped onto two lines at common laptop widths. Keep their font and colours; make the
   bar one clean row: logo 92px, menu on one line, vertically centred. */
#main-header .container.et_menu_container{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px;width:92%!important;max-width:1400px!important}
#main-header .logo_container{height:auto!important;float:none!important;position:static!important;flex:0 0 auto}
#main-header .logo_container .logo_helper{display:none!important}
#main-header #logo{height:92px!important;max-height:92px!important;min-height:0!important;width:auto!important;margin:10px 0!important;display:block}
#main-header #et-top-navigation{float:none!important;padding:0!important;margin:0!important;flex:0 1 auto;display:flex;align-items:center}
#main-header #top-menu>li{white-space:nowrap}
#main-header #top-menu ul.sub-menu{white-space:normal}
#main-header #top-menu ul.sub-menu li{display:block;white-space:normal}
#main-header #top-menu>li{padding-right:22px!important}
#main-header #top-menu>li:last-child{padding-right:0!important}
#main-header #top-menu>li>a{padding-bottom:0!important;font-size:20px!important;letter-spacing:.2px}
#main-header #top-menu>li.menu-item-has-children>a{padding-right:16px!important}
#main-header #top-menu>li.menu-item-has-children>a:after{top:1px!important}
#main-header #top-menu li li a{font-size:16px!important}
/* shrunken sticky state after scrolling */
#main-header.et-fixed-header #logo{height:64px!important;max-height:64px!important;margin:6px 0!important}
#main-header.et-fixed-header #top-menu>li>a{font-size:18px!important}
@media (max-width:1180px){#main-header #top-menu>li{padding-right:14px!important}#main-header #top-menu>li>a{font-size:17px!important}}
@media (max-width:980px){#main-header #logo{height:70px!important;max-height:70px!important;margin:8px 0!important}#main-header #et-top-navigation{padding:0!important}#main-header #et_mobile_nav_menu{float:none!important;margin:0!important}}
/* Divi offsets the page body by the measured header height; keep it honest */
#main-header{box-shadow:0 1px 0 rgba(0,0,0,.06)}
/* Divi gives .logo_container 100% width and its script adds padding-left to the nav; undo both */
#main-header .logo_container{width:auto!important}
#main-header #et-top-navigation{padding-left:0!important;width:auto!important}
#main-header #et-top-navigation{margin-left:auto!important}

/* Click-to-play YouTube (poster + play button; player loads on click) */
.apa-yt{position:relative;display:block;width:100%;max-width:1080px;aspect-ratio:16/9;margin:0 auto;background:#000;cursor:pointer;overflow:hidden;border-radius:10px}
.apa-yt img{width:100%;height:100%;object-fit:cover;display:block}
.apa-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.apa-yt-play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;background:rgba(33,33,33,.8);border-radius:14px;transition:background .2s}
.apa-yt-play:after{content:"";position:absolute;left:26px;top:14px;border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff}
.apa-yt:hover .apa-yt-play,.apa-yt:focus .apa-yt-play{background:#f00}

/* Recent Articles carousel cards: the plugin gives each card its own height based on how
   long its description is, so cards drift out of line with each other (Matt, 2026-10-15:
   "see how one of the guides boxes hang low"). Every card is now the same height and the
   Read More button always sits flush to the bottom, no matter how short or long the
   description is or how many more articles get added later. */
.lwp_post_carousel_item_inner.lwp_carousel_default{display:flex;flex-direction:column;height:100%}
.lwp_post_carousel_item{display:flex}
.lwp_post_carousel_title{min-height:2.7em}
.lwp_post_carousel_title .lwp_post_carousel_heading{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.lwp_post_carousel_excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1 0 auto}
.lwp_post_carousel_read_more{margin-top:auto!important}
