/*!
Theme Name: Serandib Tours
Theme URI: https://them.es/starter
Author: Roshan Premachandra
Description: custom bootstrap 5.3.1 theme generated by roshanpw@gmail.com
Version: 3.5.0
Requires at least: 5.0
Tested up to: 6.3
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: ondot-tours
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/assets/dist/main.css" */

/* From http://codex.wordpress.org/CSS */

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.navbar-brand img {
	max-height:40px !important;
}
.wp-caption {
	max-width: 96%; /* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}
.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}
.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}

.gallery-caption {
	display: block;
	text-align: left;
	padding: 0 10px 0 0;
	margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor {
	font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}


.cf7-wrapper {
  max-width: 700px;
  margin: 40px auto;
  padding: 30px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.cf7-row {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.cf7-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 18px;
}

.cf7-group label {
  font-size: 14px;
  margin-bottom: 6px;
  color: #333;
  font-weight: 500;
}

.cf7-input,
.cf7-textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid #ddd;
  font-size: 14px;
  transition: all 0.2s ease;
}

.cf7-input:focus,
.cf7-textarea:focus {
  border-color: #48C173;
  box-shadow: 0 0 0 3px rgba(72,193,115,0.2);
  outline: none;
}

.cf7-textarea {
  min-height: 120px;
  resize: vertical;
}

.cf7-submit {
  text-align: right;
}

.cf7-btn {
  background: #48C173;
  color: #fff;
  padding: 12px 26px;
  border: none;
  border-radius: 8px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.cf7-btn:hover {
  background: #3da864; 
}

.serandib-booking-form .form-section{
    background:#fff;
    padding:30px;
    border-radius:20px;
    margin-bottom:25px;
    box-shadow:0 5px 20px rgba(0,0,0,0.06);
}

.serandib-booking-form h3{
    margin-bottom:20px;
    font-size:22px;
}

.form-grid.two-col{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.form-group{
    margin-bottom:20px;
}

.form-group label,
.section-label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
}

.tour-booking-card{
    background:#ffffff;
    padding:35px;
    border-radius:24px;
    box-shadow:0 10px 40px rgba(0,0,0,0.08);
    max-width:900px;
    margin:auto;
}

.tour-booking-card .form-title{
    font-size:34px;
    font-weight:700;
    margin-bottom:10px;
    color:#111;
    text-align:center;
}

.tour-booking-card .form-subtitle{
    text-align:center;
    color:#777;
    margin-bottom:35px;
    font-size:16px;
}

.tour-form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.tour-booking-card .form-group{
    display:flex;
    flex-direction:column;
}

.tour-booking-card .full-width{
    grid-column:1/-1;
}

.tour-booking-card label{
    font-size:15px;
    font-weight:600;
    margin-bottom:10px;
    color:#222;
}

.tour-booking-card input,
.tour-booking-card select,
.tour-booking-card textarea{
    width:100%;
    border:1px solid #e2e2e2;
    border-radius:16px;
    padding:15px 18px;
    font-size:15px;
    background:#fafafa;
    transition:all .3s ease;
    outline:none;
    box-sizing:border-box;
}

.tour-booking-card textarea{
    min-height:150px;
    resize:vertical;
}

.tour-booking-card input:focus,
.tour-booking-card select:focus,
.tour-booking-card textarea:focus{
    border-color:#48C173;
    background:#fff;
    box-shadow:0 0 0 0.2rem rgba(72,193,115,0.18);
}

.tour-checkboxes{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    margin-top:10px;
}

.tour-checkboxes .wpcf7-list-item{
    margin:0;
}

.tour-checkboxes label{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 16px;
    background:#f7f7f7;
    border-radius:14px;
    cursor:pointer;
    transition:.3s;
    font-weight:500;
}

.tour-checkboxes label:hover{
    background:#eefaf2;
}

.tour-checkboxes input[type="checkbox"]{
    width:18px;
    height:18px;
    accent-color:#48C173;
}

.acceptance-box{
    margin-top:-5px;
}

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

.acceptance-box label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    color:#666;
    font-weight:400;
}

.acceptance-box input{
    width:18px;
    height:18px;
    margin-top:2px;
    accent-color:#48C173;
}

.submit-area{
    text-align:center;
    margin-top:10px;
}

.submit-area input[type="submit"]{
    background:linear-gradient(135deg,#48C173,#2fa85a);
    color:#fff;
    border:none;
    border-radius:60px;
    padding:16px 34px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    width:auto;
    min-width:260px;
    box-shadow:0 10px 25px rgba(72,193,115,0.28);
    transition:all .3s ease;
}

.submit-area input[type="submit"]:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(72,193,115,0.35);
}

.wpcf7-spinner{
    margin-top:15px;
}
#main .page.type-page {
    padding-top: 157px !important;
}

@media(max-width:768px){
	
	.home .section-info-blocks .inner-block .inner-block-left {
		justify-content:center !important;
		text-align:center;
	}
	.home .section-info-blocks .inner-block .inner-block-right {
		padding: 50px !important;
	}
	#main .page.type-page {
    padding-top: 0 !important;
}
    #navbar {
        padding-top:15px !important;
		position:relative !important;
    }
   #header.navbar {
       padding:15px !important;
	   position:relative !important;
	   
   }
    #header .btn.book-now {
        display:block;
        margin:25px auto 25px !important;
        max-width: 150px
    }
    .navbar.scrolling-header {
        top:0 !important;
    }
    .navbar-brand img {
        height:40px !important;
    }
    #main .page.type-page {
/*         padding-top:100px !important; */
    }
    .nav-top,.nav-bottom {
        display:none;
    }

    .tour-booking-card{
        padding:24px;
        border-radius:18px;
    }

    .tour-form-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .tour-checkboxes{
        grid-template-columns:1fr;
    }

    .tour-booking-card .form-title{
        font-size:28px;
    }

    .submit-area input[type="submit"]{
        width:100%;
    }
	#footer {
		padding: 0 50px 20px;
	}
	#footer .container {
		padding:0;
		margin:0;
	}
	.home .about-content {
		padding:50px 15px;
	}
	.home .about-content h2 {
		font-size:32px !important;
	}
}

.page-template-page-transport .section.main-content{
	padding:60px 0 !important;
}

.section.featured-destination > .container {
	margin-bottom:50px;
}