/********** Header ********************************************************************/
#Header {background:#fff; border-bottom:1px solid #e5e7eb; box-shadow:0 2px 12px rgba(0,0,0,.05); position:relative; z-index:1030;}
.quick-search {border-bottom:1px solid #cfd4d9;}
.quick-search .form-control::placeholder {color:#6b7280;}
.quick-search .form-control {background:transparent; border:none; box-shadow:none; color:#111; padding:0px;}
.quick-search .btn {background:transparent !important; border:none; padding:0px; color:#111 !important;}
.badge {padding: 0.35em 0.45em; font-size: .55em; border-radius: 50%; margin: 0 0 0 -7px;}

/********** MainBanner **************************************************************************************************/
.carousel-caption,.max-width {bottom:auto; z-index:9;}
.overlay {background:rgba(0,0,0,0.42); z-index:1;}

/********** image hovereffect **************************************************************************************************/
.hovereffect img {position:relative; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-transform: translate3d(-10px,0,0); transform: translate3d(-10px,0,0);}
.hovereffect:hover img {opacity: 0.4; filter: alpha(opacity=40); -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}

.hovereffect h2 {text-transform: uppercase; color: #fff; padding: 0.4em 0; background-color: transparent;}
.hovereffect h2:after {position: absolute; bottom:0; left:0; width:100%; height:2px; background:#fff; content:''; -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; -webkit-transform: translate3d(-100%,0,0); transform: translate3d(-100%,0,0);}
.hovereffect:hover h2:after {-webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}

.hovereffect a, .hovereffect p {color: #FFF; font-size:20px; opacity: 0; filter: alpha(opacity=0); -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-transform: translate3d(100%,0,0); transform: translate3d(100%,0,0);}
.hovereffect:hover a, .hovereffect:hover p {opacity: 1; filter: alpha(opacity=100); -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}

/* home page product boxes: whole box links to the product (a.stretched-link) */
#best-seller .col, #new-arrival .col {position:relative;}
#best-seller .col img, #new-arrival .col img {transition:transform .3s;}
#best-seller .col:hover img, #new-arrival .col:hover img {transform:scale(1.03);}
#best-seller .col:hover h4, #new-arrival .col:hover h4 {color:#2a7d6a;}

/* home page category cards: same height, whole image visible */
#categories .hovereffect {border-radius:14px;}
#categories .hovereffect img {height:360px; width:calc(100% + 10px) !important; max-width:none; object-fit:contain; padding:28px 38px 120px 28px; background:#fff;}
#categories .hovereffect .overlay {background:linear-gradient(180deg, rgba(42,125,106,0) 62%, rgba(42,125,106,.92) 82%);}
#categories .hovereffect:hover .overlay {background:rgba(42,125,106,.55);}
#categories .hovereffect .overlay > div {align-self:flex-end !important; padding:1.5rem !important;}
#categories .hovereffect h2 {margin:0; font-size:26px;}
#categories .hovereffect p {margin:.5rem 0 0; font-size:16px;}
@media (max-width:767.98px) { #categories .hovereffect img {height:280px;} }

/********** content ***************************************************************************************************/
/* Inner page banners (page.php, woocommerce/archive-product.php, templates/blog.php): fixed height, image cropped to fill */
.inner-banner {height:600px; overflow:hidden;}
div.inner-banner > img {display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center;}
@media (max-width:767.98px) { .inner-banner {height:300px;} }

/* No banner image: green strip with the page title (theme_inner_banner() in functions.php) */
.page-strip {display:flex; align-items:center; min-height:220px; padding:40px 0; background:#59BCA6; text-align:center;}
.page-strip .container {width:100%;}
.page-strip h1 {margin:0; color:#10241f; font-size:46px; line-height:1.2; overflow-wrap:anywhere;}
@media (max-width:767.98px) {
	.page-strip {min-height:140px; padding:28px 0;}
	.page-strip h1 {font-size:30px;}
}


#newsletter {background:#e8f6f2; min-height:0; font-size:18px;}
#newsletter .overlay {display:none;}
#newsletter .form-control {height:60px;}

/********** Footer ***************************************************************************************************/
#Footer {background:#f6f8f7; border-top:1px solid #e5e7eb; color:#333;}
#Footer h5 {color:#111;}
#Footer a {color:#333; padding: 0px;}
#Footer a:hover,#Footer a.active {color:#2a7d6a;}

.copyright {font-size:12px;}


/* Menu dropdown styles live in css/navbar.css */


.breadcrumb {
background-color: transparent !important;
padding: 0px !important;
margin-top: 15px;
font-size: 15px;
padding-bottom: 15px !important;
border-bottom: dashed 1px #c2c2c2;
}
.breadcrumb a{ 
color:#59BCA6 !important;
}
.breadcrumb li.active:before{
content: "\00BB";
font-family: "Font Awesome 5 Free";
margin-right: 5px;
margin-left: 5px;
font-weight: 900;
}
input.wpcf7-form-control.has-spinner.wpcf7-submit.btn.btn-primary.px-4.text-white {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

/********** Contact form (Contact Form 7) ****************************************************************************/
.bh-form .form-label {font-size:14px; font-weight:600; margin-bottom:.35rem;}
.bh-form .req {color:#dc3545;}
.bh-form .wpcf7-form-control-wrap {display:block;}
.bh-form .form-control, .bh-form .form-select {min-height:52px; padding:.7rem 1rem; border:1px solid #d1d5db; border-radius:10px; font-size:15px;}
.bh-form textarea.form-control {min-height:140px;}
.bh-form .form-control:focus, .bh-form .form-select:focus {border-color:#59BCA6; box-shadow:0 0 0 .2rem rgba(89,188,166,.2);}
.bh-form .wpcf7-not-valid {border-color:#dc3545;}
.bh-form .wpcf7-not-valid-tip {margin-top:.3rem; font-size:13px;}
.bh-form .wpcf7-acceptance .wpcf7-list-item {margin:0;}
.bh-form .wpcf7-acceptance input {width:18px; height:18px; margin-right:.5rem; vertical-align:-3px; accent-color:#59BCA6;}
.bh-form .wpcf7-submit {min-width:220px;}
.bh-form .wpcf7-spinner {vertical-align:middle;}
.wpcf7 form .wpcf7-response-output {margin:1.25rem 0 0; padding:.85rem 1.1rem; border-radius:10px; font-size:14px;}
.wpcf7 form.sent .wpcf7-response-output {border-color:#15803d; background:#e8f6ee; color:#15803d;}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output {border-color:#dc3545; background:#fdecee; color:#b02a37;}

/* light pages: form sits in a card */
#MainContent .wpcf7 {max-width:860px; margin:2rem auto; padding:36px; border:1px solid #e5e7eb; border-radius:14px; background:#fff; box-shadow:0 10px 30px rgba(42,125,106,.10);}

/* home page dark newsletter section */
#newsletter .bh-form .form-label, #newsletter .bh-form .wpcf7-list-item-label {color:#111;}
#newsletter .bh-form .form-control, #newsletter .bh-form .form-select {height:auto; border-color:#d1d5db; background:#fff;}
#newsletter .bh-form .wpcf7-not-valid-tip {color:#b02a37;}
#newsletter .max-width {max-width:760px; margin:0 auto; text-align:center;}
#newsletter .bh-form, #MainContent .bh-form {text-align:left;}
#newsletter .bh-form > .col-12:last-child, #MainContent .bh-form > .col-12:last-child {text-align:center;}

/********** FAQs accordion *******************************************************************************************/
#faqs .accordion-item {border-color:#e5e7eb;}
#faqs .accordion-item:first-of-type, #faqs .accordion-item:first-of-type .accordion-button {border-top-left-radius:14px; border-top-right-radius:14px;}
#faqs .accordion-item:last-of-type, #faqs .accordion-item:last-of-type .accordion-button.collapsed {border-bottom-left-radius:14px; border-bottom-right-radius:14px;}
#faqs .accordion-button {padding:1.1rem 1.4rem; font-size:17px; font-weight:600;}
#faqs .accordion-button:not(.collapsed) {background:#e8f6f2; color:#2a7d6a; box-shadow:none;}
#faqs .accordion-button:focus {border-color:#59BCA6; box-shadow:0 0 0 .2rem rgba(89,188,166,.2);}
#faqs .accordion-body p:last-child {margin-bottom:0;}

/********** Reviews page *********************************************************************************************/
.reviews-summary {display:flex; flex-wrap:wrap; align-items:center; gap:24px 40px; margin:1.5rem 0 2rem; padding:28px 36px; border:1px solid #e5e7eb; border-radius:14px; background:#fff; box-shadow:0 10px 30px rgba(42,125,106,.10);}
.reviews-summary img {max-width:130px; height:auto;}
.reviews-score-wrap {flex:1 1 260px;}
.reviews-score-wrap p {margin:.25rem 0 0; color:#6b7280;}
.reviews-score {font-size:56px; font-weight:700; line-height:1; color:#2a7d6a;}
.reviews-score span {font-size:24px; color:#6b7280;}
.reviews-stars {display:inline-block; font-size:26px; letter-spacing:3px; background:linear-gradient(90deg, #f5b301 96%, #d1d5db 96%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.reviews-intro {font-size:18px; font-weight:600; text-align:center; margin:2.5rem auto 2rem; max-width:760px;}
.reviews-grid {columns:3 300px; column-gap:24px;}
.review-card {position:relative; break-inside:avoid; margin:0 0 24px; padding:28px 24px 22px; border:1px solid #e5e7eb; border-radius:14px; background:#fff; transition:box-shadow .25s, transform .25s;}
.review-card:hover {box-shadow:0 10px 30px rgba(42,125,106,.10); transform:translateY(-3px);}
.review-card::before {content:"\201C"; position:absolute; top:-6px; right:18px; font-family:Georgia, serif; font-size:84px; line-height:1; color:#e8f6f2;}
.review-card blockquote {position:relative; margin:0 0 1.1rem;}
.review-card blockquote p {margin:0; font-size:15px; line-height:1.7; color:#374151;}
.review-card figcaption {display:flex; align-items:center; gap:.75rem; font-weight:700;}
.review-avatar {display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:#59BCA6; color: #10241f; font-size:16px;}
.reviews-note {margin-top:1rem; color:#6b7280; font-size:14px;}
@media (max-width:767.98px) {
	.reviews-summary {padding:22px; text-align:center; justify-content:center;}
	.reviews-score-wrap {flex-basis:100%;}
	#MainContent .wpcf7 {padding:22px;}
}