/*
Theme Name: Tockington Park
Author: Kubiak Creative
Author URI: https://kubiakcreative.com
Description: Custom Theme - Requires The7 theme to be installed for base structure.
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/


:root {
    --green:    #455d45;
    --sage:    	#d6e2d5;
    --bridal:   #f5f1e9;
    --skyblue:  #bbd1e1;
    --blue:     #577690;
    --white:    #ffffff;
	--black:    #000000;
	--tp-space-xs: 24px;
  	--tp-space-sm: 40px;
  	--tp-space-md: 60px;
  	--tp-space-lg: 100px;
  	--tp-space-xl: 120px;
}


.green       { color: var(--green) !important}
.sage   	 { color: var(--sage) !important}
.bridal   	 { color: var(--bridal) !important}
.skyblue     { color: var(--skyblue) !important}
.blue        { color: var(--blue) !important}
.white       { color: var(--white) !important}

.bg-green    { background-color: var(--green) !important}
.bg-sage   	 { background-color: var(--sage) !important}
.bg-bridal   { background-color: var(--bridal) !important}
.bg-skyblue  { background-color: var(--skyblue) !important}
.bg-blue     { background-color: var(--blue) !important}
.bg-white    { background-color: var(--white) !important}

.bg-green p   { color: var(--white) !important}
.bg-bridal p  { color: var(--black) !important}
.bg-skyblue p { color: var(--black) !important}
.bg-blue p    { color: var(--white) !important}
.bg-blue a    { color: var(--white) !important}
.bg-skyblue a, .bg-skyblue a:hover, .bg-skyblue H3 { color: var(--blue) !important}
}

.bg-skyblue h3 { color: var(--blue) !important}


.white-text, .white-text p, .white-text p a, .white-text h1, .white-text h2, .white-text h3, .white-text h4, .white-text h5, .white-text h6, .white-text blockquote {
    color: var(--white);
}

.tp-center-column {
    float: none !important;
    margin: 0 auto !important;
}

.pswp__caption {
	display:none !important;
}
/* ---------------------------  NAV --------------------------- */

#primary-menu.main-nav > li {
    position: relative !important;
}

#primary-menu.main-nav > li::before {
    content: "";
    position: absolute;
    top: 0px; /* adjust once line reappears correctly */
    left: 0;
    right: 0;
    height: 3px;
    background-color: #455d45;
    opacity: 0;
    transition: opacity 0.2s ease;
}

#primary-menu.main-nav > li.current-menu-item::before,
#primary-menu.main-nav > li:hover::before {
    opacity: 1 !important;
}
.soc-ico.hide-on-desktop a {
  width: 44px;   /* adjust to taste — was likely ~36px by default */
  height: 44px;
  line-height: 44px;
}

.soc-ico.hide-on-desktop .soc-font-icon {
  font-size: 20px; /* adjust to taste — was likely ~16-18px by default */
}
/* ---------------------------  BRANDING--------------------------- */
.branding a img, .branding img {
    max-width: 100%;
    height: 50px;
}
.mobile-header-bar .mobile-branding img {
    max-width: 100%;
    height: 40px;
}

/* ---------------------------  TYPOGRAPHY --------------------------- */
h3 {
	margin-bottom: 35px !important;
}
p  {
	margin-bottom: 20px !important;
}
h1{
	margin-bottom: var(--tp-space-md) !important;	
}
b, strong {
    font-weight: 600;
	color: var(--green) !important;
	
}
.tp-intro-text {
	font-size: 20px;
	line-height: 1.8em;
}
.tp-header-text {
	font-weight: 500;
	color: var(--white);
	width: 280px;
	margin: 0 auto !important;
	
}
/* ---------------------------  ROW REVERSE --------------------------- */
.tp-reverse-desktop {
  display: flex;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .tp-reverse-desktop {
    flex-direction: row-reverse;
  }
}
/* ---------------------------  STATIC HEADER --------------------------- */
.tp-header, .tp-home-header {
  display: flex;
  align-items: center;
  min-height: 60vh; /* adjust to taste */
  position: relative; /* keeps stacking context correct with the bg layer */
}

.tp-header .tp-center-column,
.tp-header .vc_column-inner,
.tp-header .wpb_wrapper {
  width: 100%;
}
.tp-header img {
  	width: auto;
	height: 175px;
	margin-bottom: 40px;
}
.tp-header {
	height: 700px;
}
.tp-header-notext  {
	height: 500px;
}
.tp-home-header {
	height: 900px;
}

@media (max-width: 992px) {
.tp-home-header {
	height: 500px;
}
.tp-header-notext  {
	height: 30vh;
}
.tp-header {
	height: 50vh;
}
.tp-header .upb_row_bg {
        background-attachment: scroll !important;
}
.tp-header img {
  	width: auto;
	height: 135px;
	margin-bottom: 20px;
}
	.tp-header p {
		line-height: 1.3;
	}
}


/* ---------------------------  INTRO --------------------------- */
.tp-intro-icon  {
	width: 90px;
	height: auto;
	margin-bottom: var(--tp-space-sm) !important;
}
/* ---------------------------  MARGINS & PADDING --------------------------- */

/* Section spacing utility classes */
.tp-section {
  margin-top: var(--tp-space-lg);
}
.tp-bgcolour {
	padding-top: var(--tp-space-lg) !important;
	padding-bottom: var(--tp-space-lg) !important;
}
.tp-tab-content{
	padding-top: var(--tp-space-md) !important;
	padding-bottom: var(--tp-space-md) !important;
}
.tp-col-padded, .tp-row-padded{
	padding-left: var(--tp-space-lg) !important;
	padding-right: var(--tp-space-lg) !important;
}
.tp-col-padded-intro-left {
	padding-left: var(--tp-space-lg) !important;
	padding-right: var(--tp-space-md) !important;
}
.tp-col-padded-intro-right {
	padding-left: var(--tp-space-md) !important;
	padding-right: var(--tp-space-lg) !important;
}
/*.tp-section .wpb_content_element {
	margin-bottom: 0px !important;
}*/
	
@media (max-width: 992px) {
  .tp-section {
    margin-top: 0px !important;
 }
.tp-bgcolour {
	padding-top: var(--tp-space-sm) !important;
	padding-bottom: var(--tp-space-sm) !important;
  }
.tp-col-padded, .tp-row-padded, .tp-col-padded-intro-right, .tp-mobile-padding {
	padding-left: var(--tp-space-xs) !important;
	padding-right: var(--tp-space-xs) !important;
}
	
.wpb_content_element{
    margin-bottom: 0px !important;
}	
.tp-intro-icon  {
	width: 70px;
	height: auto;
	margin-bottom: var(--tp-space-sm) !important;
}
}

/* ---------------------------  CARDS --------------------------- */
@media (min-width: 992px) { 
	.tp-subbrand-card .wpb_wrapper{
	display: flex;
	flex-direction: column;
	height: 100%; /* all cards in the row need equal height for this to work */
	padding: 0 0 var(--tp-space-md) 0;
	text-align: center;
}
}
.tp-subbrand-card .btn-align-center {
    text-align: center;
    margin-top: auto;
}
.tp-subbrand-card p {
	padding-left: 60px;
	padding-right: 60px;
}

.tp-subbrand-card h3,
.tp-subbrand-card p {
  margin-bottom: var(--tp-space-xs);
}

.tp-subbrand-card .tp-subbrand-button {
  margin-top: auto; /* pushes button to bottom, absorbs all leftover space */
}
.tp-subbrand-card .tp-subbrand-icon {
  margin: 0 0 var(--tp-space-xs) 0;
  padding: 0;
}

.tp-subbrand-card .tp-subbrand-icon .vc_figure,
.tp-subbrand-card .tp-subbrand-icon .wpb_wrapper {
  margin: 0;
  padding: 0;
}

.tp-subbrand-card .tp-subbrand-icon .vc_single_image-wrapper {
  margin: 0 auto;
}
/* ---------------------------  BUTTONS --------------------------- */
.dt-btn {
	margin-bottom: var(--tp-space-sm) !important;
}
.bg-green .dt-btn	 { color: var(--white) !important; border-color: var(--white) !important}
.bg-bridal .dt-btn   { color: var(--green) !important; border-color: var(--green) !important}
.bg-skyblue .dt-btn  { color: var(--blue) !important; border-color: var(--blue) !important}
.bg-blue .dt-btn    { color: var(--skyblue) !important; border-color: var(--skyblue) !important}

/* Hide the arrow icon */
.dt-btn-s.post-details.details-type-btn .dt-icon-the7-arrow-03 {
  display: none;
}
.dt-btn-s.post-details.details-type-btn {
    font: var(--the7-btn-m-font);
    text-transform: var(--the7-btn-m-text-transform);
    letter-spacing: var(--the7-btn-m-letter-spacing);
    word-spacing: var(--the7-btn-m-word-spacing);
    border-radius: var(--the7-btn-m-border-radius);
    border-width: var(--the7-btn-m-border-width);
    border-style: var(--the7-btn-m-border-style);
    border-color: var(--the7-btn-border-color);
    padding: var(--the7-btn-m-padding);
    min-width: var(--the7-btn-m-min-width);
    min-height: var(--the7-btn-m-min-height);
}

@media (max-width: 992px) {
.dt-btn {
	margin-bottom: var(--tp-space-xs) !important;
}
}
.wp-block-button__link.wp-element-button {
    background: transparent !important;
    border: 1px solid var(--green);
    color: var(--green) !important;
    border-radius: var(--the7-btn-s-border-radius, 0px);
    padding: var(--the7-btn-m-padding);
    font: var(--the7-btn-m-font);
    box-shadow: none;
    transition: all 0.3s ease-out;
}

.wp-block-button__link.wp-element-button:hover {
    background: var(--green, #455d45) !important;
    color: #ffffff !important;
}
.bg-blue .wp-block-button__link.wp-element-button {
    border: 1px solid var(--white);
    color: var(--white) !important;
}

.bg-blue .wp-block-button__link.wp-element-button:hover {
    background: var(--skyblue) !important;
    color: var(--blue) !important;
}
/* ---------------------------  TABLES --------------------------- */
.tp-pricingtables p{
	margin-bottom: 10px !important;
}
.tp-pricingtables .wpb_content_element {
    margin-bottom: 0px !important;
}
.tablepress {
	--head-text-color: #FFFFFF;
	--head-bg-color: #455d45;;
	--head-active-text-color: #455d45;;
	--head-active-bg-color: #FFFFFF;
	--odd-text-color: #000000;
	--odd-bg-color: #f5f1e9;
	--even-text-color: #000000;
	--even-bg-color: #f9f8f4;
	margin-bottom: 30px !important;
}
/* ---------------------------  INSTAGRAM --------------------------- */

.ti-widget[data-wkey="feed-instagram"][data-style=custom-style][data-widget-type=social] {
    display: block;
    width: 100%;
    margin-top: 0px;
    margin-bottom: 0px !important;
}
/* ---------------------------  FOOTER --------------------------- */
.tp-text-contact {
	font-size: 20px;
	font-weight: 300 !important;
}
/* --------------------------------------------------------------------------
   GENERAL GRID UTILITIES
   Flexible grid system for simple/regular image groupings.
   Apply "tp-grid" + a "tp-cols-X" to a WPBakery column, then add
   "tp-span-2" / "tp-row-span-2" to individual images as needed.
   -------------------------------------------------------------------------- */
.tp-grid {
  display: grid;
  gap: var(--tp-space-xs);
}

.tp-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tp-cols-2 { grid-template-columns: repeat(2, 1fr); }
.tp-cols-3 { grid-template-columns: repeat(3, 1fr); }
.tp-cols-4 { grid-template-columns: repeat(4, 1fr); }

.tp-span-2 { grid-column: span 2; }
.tp-row-span-2 { grid-row: span 2; }

@media (max-width: 767px) {
  .tp-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .tp-grid img,
  .tp-grid .tp-span-2,
  .tp-grid .tp-row-span-2 {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}


/* --------------------------------------------------------------------------
   FEATURED GRID (1 full-width hero + smaller images below)
   Apply "tp-grid-featured" to the column, "tp-featured-hero" to the
   hero image. Client can swap any image without breaking the layout.
   -------------------------------------------------------------------------- */
.tp-grid-featured > .vc_column-inner > .wpb_wrapper {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr !important;
  gap: 24px !important;
  align-items: start !important;
}

.tp-grid-featured .wpb_single_image {
  margin: 0 !important;
}

.tp-grid-featured .tp-featured-hero {
  grid-column: 1 / -1 !important;
	height:400px;
}

.tp-grid-featured .tp-featured-tall-landscape {
  height: 300px !important;
}

.tp-grid-featured .tp-featured-short {
  height: 200px !important;
}

.tp-grid-featured .vc_figure,
.tp-grid-featured .vc_single_image-wrapper {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

.tp-grid-featured img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

@media (max-width: 767px) {
	.tp-grid-featured > .vc_column-inner > .wpb_wrapper {
  gap: 15px !important;
}
.tp-grid-featured .tp-featured-hero {
	height:150px;
}
.tp-grid-featured .tp-featured-tall-landscape {
  height: 150px !important;
}

.tp-grid-featured .tp-featured-short {
  height: 100px !important;
}

}

/* HOMEPAGE GRID */
.tp-home-collage .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start; /* ← added: stops row items stretching to match each other */
}

.tp-home-collage .wpb_wrapper > *:nth-child(1),
.tp-home-collage .wpb_wrapper > *:nth-child(2) {
  grid-column: 1 / -1;
}

.tp-home-collage .wpb_wrapper > * img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tp-home-collage .wpb_wrapper > *:nth-child(1) img,
.tp-home-collage .wpb_wrapper > *:nth-child(2) img {
  aspect-ratio: 16 / 9;
}

.tp-home-collage .wpb_wrapper > *:nth-child(3) img {
  aspect-ratio: 4 / 3;
}

.tp-home-collage .wpb_wrapper > *:nth-child(4) img {
  aspect-ratio: 4 / 5; /* ← double the height of a 1:1 square, same width */
}
/* EXPERIENCE GRID */

/* Left inner column: two images share the stretched height */
.tp-stack-column .wpb_wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}
.tp-stack-column .wpb_single_image {
  flex: 1;
  min-height: 0; /* prevents flex children overflowing their share */
}

/* Right inner column: single image fills the whole stretched height */
.tp-fill-column,
.tp-fill-column .vc_column-inner,
.tp-fill-column .wpb_wrapper,
.tp-fill-column .wpb_single_image {
  height: 100%;
}

/* Shared: crop to fill rather than distort */
.tp-stack-column img,
.tp-fill-column img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tp-home-collage .wpb_content_element,
.tp-collage-grid .wpb_content_element,
.tp-stack-column .wpb_content_element,
.tp-fill-column .wpb_content_element {
  margin-bottom: 0 !important;
}



/* --------------------------------------------------------------------------
   TAB NAVIGATION (Celebrate/Stay/Experience tabbed sections)
   Targets WPBakery's native Tabs element output
   -------------------------------------------------------------------------- */

/* Tab text colour */
.vc_tta-color-custom.vc_tta-style-outline .vc_tta-tab.vc_active a
Specificity: (0,4,1)
 {
    background-color: initial;
    border-color: var(--vc-tta-color);
    color: var(--vc-tta-color);
}

/* Remove default WPBakery box/border styling from the tab bar */
.vc_tta-tabs .vc_tta-tabs-container { border-bottom: 1px solid var(--green); /* thin full-width line under the bar */}
.bg-blue .vc_tta-tabs .vc_tta-tabs-container { border-bottom: 1px solid var(--skyblue); /* thin full-width line under the bar */}
.bg-skyblue .vc_tta-tabs .vc_tta-tabs-container { border-bottom: 1px solid var(--skyblue); /* thin full-width line under the bar */}

.bg-blue .vc_tta-tabs h3 { color: var(--skyblue) !important;}

.vc_tta-tabs .vc_tta-tabs-list {
  display: flex !important;
  gap: 10px !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.vc_tta.vc_general .vc_tta-tab a {
    padding: 14px 10px !important;
}
@media (min-width: 1200px) {
.vc_tta-tabs .vc_tta-tabs-list {
  gap: 40px !important;
}
}
/* Individual tab — strip default background/border boxes */
.vc_tta.vc_tta-style-outline .vc_tta-tab a {
    border-width: 0px !important;
}
.vc_tta-tabs .vc_tta-tab {
  background: none !important;
  border: none !important;
}

.vc_tta-tabs .vc_tta-tab > a {
  background: none !important;
  border: none !important;
  padding: 16px 0 !important;
  font-size: 16px;
  font-weight: 600;
  color: var(--green) !important;
  text-decoration: none;
  position: relative !important;
  display: inline-block !important;
}

/* Active tab — underline in brand green */
.vc_tta-tabs .vc_tta-tab.vc_active > a {
  font-weight: 600;
}

.vc_tta.vc_tta-tabs li.vc_tta-tab {
  border-bottom: 5px solid transparent !important;
}

.vc_tta.vc_tta-tabs li.vc_tta-tab.vc_active { border-bottom: 5px solid var(--green) !important;}
.bg-blue .vc_tta.vc_tta-tabs li.vc_tta-tab.vc_active { border-bottom: 5px solid var(--skyblue) !important;}


/* STAY COLOUR CHANGES */
.bg-skyblue .vc_tta.vc_tta-tabs li.vc_tta-tab.vc_active {border-bottom: 5px solid var(--blue) !important;}
.bg-skyblue .vc_tta.vc_tta-tabs li.vc_tta-tab > a {color: var(--blue) !important;}
/* thin full-width line under the bar */
.bg-skyblue .vc_tta-tabs .vc_tta-tabs-container {border-bottom: 1px solid var(--blue);}


/* Remove the panel's own top border/spacing if The7 adds one */
.vc_tta-tabs .vc_tta-panels {
  border: none !important;
  padding-top: 40px;
}
@media (max-width: 767px) {
  .vc_tta.vc_tta-tabs .vc_tta-tabs-list {
    display: none !important; /* hide the desktop tab bar entirely on mobile */
  }

  .vc_tta.vc_tta-tabs .vc_tta-panel { 
	border-bottom: 1px solid var(--green) !important;
    margin-bottom: 0 !important;
  }
	.bg-blue .vc_tta.vc_tta-tabs .vc_tta-panel {border-bottom: 1px solid var(--skyblue)  !important;}
	.bg-blue .vc_tta-panel-title>a:hover { color: white !important;}

  .vc_tta.vc_tta-tabs .vc_tta-panel-heading {
    background: none !important;
    border: none !important;
  }

  .vc_tta.vc_tta-tabs .vc_tta-panel-title > a {
    display: block !important;
    padding: 16px 0 !important;
    font-size: 18px !important;
    text-decoration: none !important;
  }

  .vc_tta.vc_tta-tabs .vc_tta-panel.vc_active .vc_tta-panel-title > a {
    font-weight: 600 !important;
  }

  .vc_tta.vc_tta-tabs .vc_tta-panel-body {
    padding: 0 0 24px 0 !important;
  }
	@media (max-width: 767px) {
  .vc_tta.vc_tta-tabs .vc_tta-panel-heading {
    border-bottom: 5px solid transparent !important;
  }

  .vc_tta.vc_tta-tabs .vc_tta-panel.vc_active .vc_tta-panel-heading { border-bottom: 5px solid var(--green) !important;}
  .bg-skyblue .vc_tta.vc_tta-tabs .vc_tta-panel.vc_active .vc_tta-panel-heading { border-bottom: 5px solid var(--blue) !important;}
  .bg-blue .vc_tta.vc_tta-tabs .vc_tta-panel.vc_active .vc_tta-panel-heading { border-bottom: 5px solid var(--skyblue) !important;}
}
}
/* ---------------------------  CAROUSEL --------------------------- */

.tp-slider-title {padding-left: 30px ! important;}
.bg-blue h3, .bg-blue .text-primary{ color: var(--skyblue) !important;}


/* Target the pseudo-element that actually renders the visible circle */
.tp-carousel-arrows .owl-nav div::before {
  background-color: #455d45 !important;
  border-radius: 50% !important;
}

/* Arrow colour */
.tp-carousel-arrows .owl-nav i {color: var(--white) !important;}
.bg-blue .tp-carousel-arrows .owl-nav i:before {color: var(--blue) !important;}

.tp-carousel-arrows.arrows-bg-on.owl-carousel .owl-nav div::before {background: var(--green) !important; background-image: none !important;}

/* Hover */
.bg-blue .tp-carousel-arrows.arrows-bg-on.owl-carousel .owl-nav div:hover::before {background: var(--white) !important;}
.bg-skyblue .tp-carousel-arrows.arrows-bg-on.owl-carousel .owl-nav div:hover::before {background: var(--white) !important;}


/* Arrow background colour */
.bg-green .tp-carousel-arrows.arrows-bg-on.owl-carousel .owl-nav div::before {background: var(--white) !important; background-image: none !important;}
.bg-blue .tp-carousel-arrows.arrows-bg-on.owl-carousel .owl-nav div::before { background: var(--skyblue) !important; background-image: none !important;}
.bg-sage .tp-carousel-arrows.arrows-bg-on.owl-carousel .owl-nav div::before {background: var(--green) !important;background-image: none !important;}
.bg-bridal .tp-carousel-arrows.arrows-bg-on.owl-carousel .owl-nav div::before { background: var(--green) !important; background-image: none !important;}
.bg-skyblue .tp-carousel-arrows.arrows-bg-on.owl-carousel .owl-nav div::before {background: var(--blue) !important;background-image: none !important;}


@media (max-width: 992px) {
	.tp-slider-title {
	padding-left: 0px !important;
	}
	.owl-nav {
	display: none  !important;
	}
}


.tp-carousel-fluid .shortcode-single-image-wrap {
  width: 100% !important;
}
.tp-carousel-fluid .fancy-media-wrap {
  width: 100% !important;
  height: auto !important;
}
.tp-carousel-fluid .fancy-media-wrap img {
  width: 100% !important;
  height: auto !important;
}

/* ---------------------------  FAQ ACCORDION --------------------------- */
.vc_tta.vc_tta-accordion .vc_tta-panel {
  border: none !important;
  border-bottom: 1px solid var(--green) !important;
  margin-bottom: 0 !important;
  background: none !important;
}

.vc_tta.vc_tta-accordion .vc_tta-panels .vc_tta-panel:first-child {
  border-top: 1px solid var(--green) !important;
}

.vc_tta.vc_tta-accordion .vc_tta-panel-heading {
  background: none !important;
  border: none !important;
  padding: 0 !important;

}

.vc_tta.vc_tta-accordion .vc_tta-panel-title {
  margin: 0 !important;
  line-height: 1.5 !important;
}

.vc_tta.vc_tta-accordion .vc_tta-panel-title > a {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 35px 16px 0px !important;
  text-decoration: none !important;
}

.vc_tta.vc_tta-accordion .vc_tta-panel-title .vc_tta-title-text {
  color: var(--green) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}


.vc_tta.vc_tta-accordion .vc_tta-panel-body {
  padding: 16px 20px 16px 0px !important;
  background: none !important;
  border: none !important;
}
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-plus:before,
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-plus:after,
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-minus:before,
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-minus:after {
  content: none !important;
  background: none !important;
}

/* Then re-add the Font Awesome icon exactly as before */
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-plus:before {
  content: "\f055" !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 24px !important;
  font-style: normal !important;
  color: var(--green) !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
	border-style: none !important;
}

.vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-controls-icon-plus:before {
  content: "\f056" !important;
}


/* ---------------------------  GALLERY --------------------------- */
.pfg-gallery-wrapper .pfg-filters--minimal  .pfg-filter {
    font-family: 'Poppins';
    font-size: 16px;
	border-bottom: 5px solid transparent !important;
	color: var(--green) !important;
}
.pfg-filters {
    border-bottom: 1px solid var(--green);
}
.pfg-gallery-wrapper .pfg-filters--minimal .pfg-filter.pfg-filter--active {
  border-bottom: 5px solid var(--green) !important;
}

/* ---------------------------  JOURNAL --------------------------- */
.post-entry-content {
    display: flex;
    flex-direction: column;
	align-items: flex-start;
}

.post-entry-content .entry-meta {
    order: 1;
	color: var(--green);
	font-weight: 700;
	font-size: 16px;
}

.post-entry-content .entry-title {
    order: 2;
	margin-bottom: 10px !important;
	color: var(--green);
	font-size: 32px !important;
	font-weight: 400 !important;
}

.post-entry-content .entry-excerpt {
    order: 3;
	color: var(--black);
	font-weight: 300;
	font-size: 16px;
}

.post-entry-content .post-details.details-type-btn {
    order: 4;
	margin-top: 0px !important;
}

/* ---------------------------  CONTACT FORM --------------------------- */
.tp-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 40px;
}


/* Left column */
.tp-form-grid > :nth-child(1) { grid-column: 1; grid-row: 1; } /* First Name */
.tp-form-grid > :nth-child(2) { grid-column: 1; grid-row: 2; } /* Surname */
.tp-form-grid > :nth-child(3) { grid-column: 1; grid-row: 3; } /* Enquiry Type */
.tp-form-grid > :nth-child(4) { grid-column: 1; grid-row: 4; } /* Wedding Date */
.tp-form-grid > :nth-child(5) { grid-column: 1; grid-row: 5; } /* Guest Numbers */

/* Right column */
.tp-form-grid > :nth-child(6) { grid-column: 2; grid-row: 1; } /* Email */
.tp-form-grid > :nth-child(7) { grid-column: 2; grid-row: 2; } /* Telephone */
.tp-form-grid > :nth-child(8) { grid-column: 2; grid-row: 3 / 6; } /* Message, spans rows 3-5 */

@media (max-width: 992px) {
	.tp-form-grid {
  display: block;

}

}
.wpcf7-acceptance {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

/* ---- Consent checkbox + label ---- */

.wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.wpcf7-acceptance input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  background: #fff;
  border: 1px solid #999;
  border-radius: 2px;
  cursor: pointer;
  position: relative;
  margin: 2px 0 0 0; /* remove the -30px pull */
}

.wpcf7-acceptance input[type="checkbox"]:checked {
  background: var(--green);
}
.wpcf7-acceptance label {
  font-size: 13px;
}

.wpcf7-acceptance a {
  text-decoration: underline;
  color: inherit;
}

.tp-contact-details {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.tp-contact-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.tp-contact-item i {
  color: var(--green);
  font-size: 1.4rem;
  width: 28px;
  text-align: center;
}

.tp-contact-item a {
  color: #1a1a1a;
  font-size: 16px;
  text-decoration: none;
}

.tp-contact-item a:hover {
  text-decoration: underline;
}
/* ---------------------------  MAP --------------------------- */


.tp-map {
	height: 100%;
	width: 100%;
	min-height: 700px;
}

/* ===== Footer typography & layout ===== */

#footer {
  --footer-text: #f2f0ea;
  color: var(--footer-text);
}

/* Logo sizing */
#footer .wp-block-image img {
  width: 280px;
  height: auto;
}

/* ===== Footer nav menus (left + right columns) ===== */
.footer .menu li {
	border-top: none !important;
	border-bottom: none !important;
	margin: 0px !important;
}
#footer .widget_nav_menu ul.menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

#footer .widget_nav_menu ul.menu li a {
  color: var(--footer-text);
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

#footer .widget_nav_menu ul.menu li a:hover {
  opacity: 0.75;
}

/* ===== Contact block (address / email / phone) ===== */
#footer .tp-text-contact {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 6px 0;
  color: var(--footer-text);
}

#footer .tp-text-contact a {
  color: var(--footer-text);
  text-decoration: none;
}

#footer .tp-text-contact a:hover {
  opacity: 0.75;
}

/* ===== Social icons row ===== */
#footer .tp-footer-contact__social {
  margin-top: 20px;
  font-size: 20px;
}

#footer .tp-footer-contact__social a i {
  transition: opacity 0.2s ease;
}

#footer .tp-footer-contact__social a:hover i {
  opacity: 0.7;
}

/* ===== Column spacing ===== */
#footer .wp-block-columns {
  gap: 80px;
}

#footer .wf-container-footer {
  padding: 70px 0 50px 0;
}

/* ===== Bottom bar ===== */
#bottom-bar {
  border-top: 1px solid rgba(242, 240, 234, 0.25);
}

#bottom-bar .wf-container-bottom,
#bottom-bar a {
  color: var(--footer-text);
  font-size: 13px;
}

/* ===== Legal List ===== */
.legal-list {
  counter-reset: item;
  list-style: none;
  padding-left: 0;
}

.legal-list li {
  counter-increment: item;
  margin-bottom: 1em;
}

.legal-list li::before {
  content: counters(item, ".") ". ";
  font-weight: normal;
  margin-right: 8px;
  color: #5b8def; /* the blue tint like in your screenshot */
}

.legal-list ol {
  counter-reset: item;
  list-style: none;
  padding-left: 2em;
}