/*
Theme Name: Astra Child
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/


.page-template-template-home .site-content .ast-container {
    display: block;
    max-width: 100%;
    padding: 0;
}

 /* ── Utility Bar ── */
.utility-bar {
	background: #1a2e35;
	color: #fff;
	font-size: 13px;
	padding: 6px 0;
}
.utility-bar .container {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.utility-bar a {
	color: #fff;
	text-decoration: none;
}
.utility-bar .ub-item {
	display: flex;
	align-items: center;
	gap: 6px;
}
.utility-bar .ub-item i { font-size: 14px; color: #25D366; }
.utility-bar .ub-item.globe i { color: #7ecbcc; }
.utility-bar .ub-item.clock i { color: #f4c842; }

        /* ── Hero secondary CTA ── */
.hero-button-wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #25D366;
    color: #fff !important;
    border-radius: 6px;
    padding: 10px 28px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none !important;
    margin-left: 12px;
}
.hero-button-wa:hover { background: #1da851; }

/* ── Trust badges row ── */
.trust-badges {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 18px;
}
.trust-badges img { height: 44px; }

/* ── Lobster Fest countdown ── */
#countdown-wrap {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 20px 0;
	flex-wrap: wrap;
}
.cd-block {
	background: rgba(255,255,255,0.12);
	border-radius: 10px;
	min-width: 70px;
	padding: 10px 14px;
	text-align: center;
}
.cd-num {
	font-size: 32px;
	font-weight: 800;
	color: #fff;
	line-height: 1;
}
.cd-label {
	font-size: 11px;
	color: rgba(255,255,255,0.75);
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* ── Free delivery callout ── */
.delivery-callout {
	background: #832D1B;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	text-align: center;
	padding: 12px 20px;
	border-radius: 8px;
	margin: 18px 0;
	letter-spacing: 0.5px;
}
.delivery-callout i { margin-right: 8px; }

/* ── Cart FAQ ── */
.cart-faq { margin-top: 24px; }
.cart-faq details {
	border-bottom: 1px solid rgba(0,0,0,0.1);
	padding: 10px 0;
}
.cart-faq summary {
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.cart-faq summary::-webkit-details-marker { display: none; }
.cart-faq summary::before {
	content: "+ ";
	color: #832D1B;
	font-weight: 700;
}
details[open] summary::before { content: "− "; }
.cart-faq p { margin: 8px 0 4px 16px; font-size: 14px; color: #555; }

/* ── City tour what's included ── */
.tour-includes-box {
	background: linear-gradient(135deg,#1a2e35,#0d4a4a);
	color: #fff;
	border-radius: 12px;
	padding: 20px 24px;
	margin: 18px 0;
}
.tour-includes-box h5 { color: #f4c842; margin-bottom: 12px; font-weight: 700; }
.tour-includes-box ul { list-style: none; padding: 0; margin: 0; }
.tour-includes-box li { padding: 5px 0; font-size: 14px; }
.tour-includes-box li::before { content: "✓ "; color: #25D366; font-weight: 700; }

/* ── Tour cards WhatsApp button ── */
.wa-tour-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #25D366;
	color: #fff;
	border-radius: 20px;
	padding: 6px 16px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	margin-top: 8px;
}
.wa-tour-btn:hover { background: #1da851; color:#fff; }

/* ── Can't find tour block ── */
.cant-find-block {
	background: #f5f5f0;
	border-left: 4px solid #832D1B;
	border-radius: 8px;
	padding: 24px 28px;
	margin-top: 32px;
}
.cant-find-block h4 { color: #832D1B; margin-bottom: 8px; }
.cant-find-block p { margin-bottom: 14px; }

/* ── Contact updated fields ── */
select.form_style {
	appearance: none;
	-webkit-appearance: none;
}

/* ── App features 4-block ── */
.app-feature-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-bottom: 28px;
}
@media(max-width:576px){ .app-feature-grid { grid-template-columns: 1fr; } }

/* ── Google Maps embed ── */
.map-embed iframe {
	width: 100%;
	height: 300px;
	border: 0;
	border-radius: 10px;
}

/* ── Directions button ── */
.btn-directions {
   display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #842e1b;
	color: #fff;
	border-radius: 8px;
	padding: 19px 22px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	margin-top: 00;
	text-decoration: none;
}
.btn-directions:hover { background: #832D1B; color:#fff; }

/* ── Footer utility ── */
.footer-trust-row {
	display: flex;
	align-items: center;
	gap: 16px;
	justify-content: center;
	padding: 10px 0;
	flex-wrap: wrap;
}
.footer-trust-row img { height: 36px; }

/* ── Tripadvisor badge placeholder ── */
.ta-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #34e0a1;
	color: #000;
	font-weight: 700;
	font-size: 13px;
	padding: 6px 14px;
	border-radius: 6px;
	text-decoration: none;
}
.ta-badge i { font-size: 16px; }

/* ── About section ── */
.about-store-hours {
	background: #f9f9f5;
	border: 1px solid #e0ddd4;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 13px;
	margin-top: 12px;
}
.about-store-hours strong { color: #832D1B; }
		
		
.widget_nav_menu li a {
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    margin-left: 0;
    text-decoration: none;
    color: #a29a99;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    position: relative;
    padding-left: 24px;
}
.widget_nav_menu li a::before {
    content: "\f061";
    position: absolute;
    font-family: 'FontAwesome';
    color: #fff;
    left: 0;
    top: 2px;
}
.footer-widget-area-inner .text-size-14{
	    font-size: 16px;
    line-height: 22px;
    margin-bottom: 18px;
    padding-right: 1px;
    color: #a29a99;
}

.footer-widget-area-inner .social-icons li {
    margin: 0 6px 0 0px;
    display: inline-block;
    transition: all 0.3s ease-in-out;
}
.footer-widget-area-inner .social-icons a {
    margin-left: 0 !important;
}

.footer-widget-area-inner .social-icons li a {
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    margin-left: 13px;
    text-decoration: none;
    color: #a29a99;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}
.footer-widget-area-inner .social-icons i {
    font-size: 14px;
    height: 44px;
    width: 44px;
    line-height: 42px;
    border-radius: 100px;
    text-align: center;
    color: var(--e-global-color-white);
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease-in-out;
}
.footer-widget-area-inner .social-icons i:hover {
    transform: translateY(-5px);
    color: #fff;
    background-color: #005a8e;
    border: 1px solid #005a8e;
}
#app_icon-footer a img {
    max-width: 160px;
    margin-bottom: 20px;
}
h2.widget-title {
    font-weight: 600;
    color: #fff;
	    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
}
.ast-footer-copyright p{
	font-size: 14px;
    line-height: 12px;
    font-weight: 400;
    padding: 25px 0;
    text-align: center;
    color: #a29a99;
    border-top: 1px solid rgb(255 255 255 / 15%);
}
div#ast-desktop-header {
    display: none;
}
form.wpcf7-form {
    display: flex;
    flex-wrap: wrap;
    gap: 19px;
    justify-content: space-between;
}

form.wpcf7-form .form-group.float-left {
    width: 48%;
    margin-right: 0;
    margin-bottom: 0px;
}

form.wpcf7-form .form-group.float-left p {
    margin-bottom: 0;
}

form.wpcf7-form .form-group.float-left p label {
    color: #fff;
    text-transform: capitalize;
	width: 100%;
}
form.wpcf7-form select.wpcf7-form-control {
    padding: 12px 16px;
    height: 58px;
    border-radius: 8px;
}

form.wpcf7-form .form-group.float-left p .wpcf7-form-control-wrap {
    position: relative;
}

form.wpcf7-form .form-group.message {
    width: 100%;
    margin-bottom: 0;
}

form.wpcf7-form .form-group.message .wpcf7-form-control-wrap {
    position: relative;
    width: 100%;
}

form.wpcf7-form .form-group.message p label {
    color: #fff;
    width: 100%;
	 text-transform: capitalize;
}

form.wpcf7-form .form-group.message p {
    margin-bottom: 0;
}

form.wpcf7-form .form-group .wpcf7-submit {
    background: #000;
    color: #fff;
    border-color: #000;
}
form.wpcf7-form .form-group{margin-bottom:0}
form.wpcf7-form .form-group p{margin-bottom:0}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
    color: #FFF;    margin: 0;
}
.contactform-con .contact_content form span.wpcf7-not-valid-tip {
    font-size: 14px;
    line-height: 14px;
    font-weight: 400;
    margin-top: 5px;
    position: absolute;
    display: block;
    color: #ff3131;
}
section#nav_menu-3 {
    padding-left: 28px;
}
.single .entry-content p {
    margin-bottom: 16px !important;
    font-size: 16px;
}

.single .entry-content h2 {
    margin-top: 0;
	margin-bottom:10px;
}
.single-post .site-content .ast-container {
    margin-top: 94px;
}
.single-post ul li {
    margin-bottom: 2px;
}

.single .entry-content h3 {
    margin-top: 0;
	margin-bottom:10px;
} 
.single .entry-content h5 {
    margin-top: 0;
	margin-bottom:5px;
} 
.wp-block-latest-posts a.wp-block-latest-posts__post-title {
    color: #000;
    font-weight: 800;
    max-height: 44px;
    overflow: hidden;
    display: block;
    padding-bottom: 0 !important;
}
article.ast-article-single {
    padding: 0 !important;
}
.ast-post-format-.blog-layout-4.ast-article-inner {
    padding: 15px;
}

.ast-post-format-.blog-layout-4.ast-article-inner .ast-excerpt-container p {
    font-size: 14px;
    line-height: 22px;
}

ul.wp-block-categories-list li {
    position: relative;
    padding-left: 20px;
}
ul.wp-block-categories-list li a {
    color: #333;
}
ul.wp-block-categories-list li::before {
    content: "\f061";
    position: absolute;
    font-family: 'FontAwesome';
    color: #333; 
    left: 0;
    top: 2px;
}
#secondary .wp-block-search__button {
    padding: .7em 1em;
    background: #005a8e;
}


.tnp.tnp-subscription label {
    display: none;
}

.tnp.tnp-subscription form {
    border: 1px solid #000;
    background: #fff;
    padding: 6px;
    border-radius: 9px;
    width: 100%;
    max-width: 424px;
	position: relative;
}
.tnp.tnp-subscription form .tnp-field-button {
    position: absolute;
    right: 0;
    top: 7px;
    width: 98px;
}
.tnp.tnp-subscription form input#tnp-1 {
    background: #fff;
}
.tnp.tnp-subscription form input.tnp-submit {
    background: #005a8e;
    padding: 9px 10px;
    font-size: 15px;
}
.tnp.tnp-subscription form .tnp-field.tnp-field-email {
    margin-bottom: 0;
    padding-right: 100px;
}
.tnp.tnp-subscription {
    display: flex;
    justify-content: end;
}

.contactform-con .contact_content form span.wpcf7-form-control.wpcf7-checkbox {
    position: relative;
    width: 100%;
    display: inline-block;
    margin-top: 0;
}

.contactform-con .contact_content form span.wpcf7-form-control.wpcf7-checkbox span {
    position: relative;
    margin-left: 0;
    margin-top: 0;
}

.contactform-con .contact_content form span.wpcf7-form-control.wpcf7-checkbox span label {
    display: flex;
    align-items: center;
    color: #fff;
}

.contactform-con .contact_content form span.wpcf7-form-control.wpcf7-checkbox span label span.wpcf7-list-item-label {
    color: #fff;
}

.contactform-con .contact_content form span.wpcf7-form-control.wpcf7-checkbox span label input[type="checkbox"] {
    margin-top: 0px;
}
#cartTypeGroup {
    width: 100%;
    margin-top: 12px;
}

/* Custom checkbox */
.wpcf7-checkbox .wpcf7-list-item-label::before {
    content: "";
    width: 20px;
    height: 20px;
    border: 2px solid #fff;
    border-radius: 4px;
    background: transparent;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    transition: all .2s ease;
}

/* Checked state */
.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    background: #842f1b;
    border-color: #842f1b;
}

/* Checkmark */
.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    content: "✓";
    position: absolute;
    left: 5px;
    top: 3px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}
.wpcf7-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    color: #fff;
}
.thankyou p.lead {
    font-size: 18px;
    color: #333;
}
a.btn.hero-button {
    text-decoration: none;
}


@media (max-width:767px){
	
section#nav_menu-3 {
    padding-left: 00;
}
.site-footer .ast-builder-grid-row-container-inner {
    padding: 0 18px;
}	
form.wpcf7-form .form-group.float-left {
    width: 100%;
}	
	
}
.upper_portion .wpcf7  {    border: 1px solid #000;
    background: #fff;
    padding: 6px;
    border-radius: 9px;
    max-width: 100%;
    width: 520px;
    position: relative;}
	.email-sub {width:100%; display:flex;}
.email-sub input.wpcf7-email{border:none; background: #fff;    box-shadow: none;}
.email-sub input.wpcf7-email:focus{border:none;}	
.email-sub .wpcf7-form-control.wpcf7-submit.has-spinner{background: #005a8e;
    padding: 12px 10px;
    font-size: 15px; color:#fff; width:auto;    box-shadow: none;}
	.footer-con .upper_portion .email-sub{padding:0px !important; margin:0px !important; }
	.footer-con .upper_portion .email-sub p{padding:0px; margin:0px;}
	.footer-con .upper_portion #wpcf7-f148-o2 form{width:100%;}
	.footer-con .wpcf7-spinner{position:absolute; top:0px; left:0px; }
	.footer-con .upper_portion p.text-size-18{padding-right:20%;}
	.upper_portion .wpcf7-response-output{display:none !important;}
