/*
Theme Name:     La Jolla Mom by DIY Dream Site
Theme URI:      https://diydreamsite.com/
Template:       kadence
Author:         DIY Dream Site
Author URI:     https://diydreamsite.com/
Description:    Custom Kadence child theme design for La Jolla Mom by DIY Dream Site
Version:        1.0
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/

:root {
	--global-gray-400: var(--global-palette5);
  --global-gray-500: var(--global-palette5);
}

/* General
------------------------------ */
::selection {
	background-color: var(--global-palette1);
	color: var(--global-palette9);
}

::placeholder {
	color: rgba(0,0,0,0.6) !important;
}

.hero-container {
	padding: 32px;
}

.navigation.pagination {
	text-align: center;
}

.search-form .kadence-search-icon-wrap {
	color: var(--global-palette5);
}

.search-results .entry-header {
	margin-bottom: 2rem;
}

.kb-splide .splide__arrow {
  background: var(--global-palette6) !important;
	border: var(--global-palette6) !important;
	color: var(--global-palette3) !important;
	height: 2.5em;
	opacity: 0.9;
}

/* Prevent the anchor target from being covered by the sticky header */

:target {
  scroll-margin-top: 80px !important;
}

/* TYPOGRAPHY (SINGLE POST)
------------------------------ */
@media (min-width: 200px) {
	.single-post h2 {
	font-size: 1.8em;
}
	.single-post h3 {
	font-size: 1.5em;
}
.single-post h4 {
	font-size: 1.3em;
}	
}

/* LINKS - BOLD 
------------------------------ */
#inner-wrap p a, 
#inner-wrap a p, 
#inner-wrap li a {
	font-weight: 700 !important;
}

#inner-wrap .ljm-toc li a,
#back.regular-weight-link a, 
#inner-wrap p.kt-blocks-info-box-text, 
#inner-wrap #ljm-footer-top a, 
#inner-wrap #ljm-footer-bottom a {
  font-weight: 400 !important;
}

/* HEADER 
------------------------------ */
#main-header .site-header-inner-wrap, 
#mobile-header .site-main-header-wrap, 
.kadence-sticky-header {
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1) !important;
}

.header-search-bar form input.search-field {
	padding: 10px;
}

li.ljm-menu-divider {
    border-bottom: 3px solid #E9E7E2 !important;
}

/* MENU - Jump to section */

#widget-toggle .widget-toggle-icon {
	display: none;
}


/* LJM 
------------------------------ */

.grow, .rise {
	transition: 0.3s;
}

.grow:hover {
	transform: scale(1.03);
}

.rise:hover {
	transform: translatey(-3px);
}

.rotate-left {
	transform: rotate(-8deg);
}

.rotate-right {
	transform: rotate(8deg);
}

.rotate-left-sm {
	transform: rotate(-2deg);
}

.rotate-right-sm {
	transform: rotate(2deg);
}

.text-addition {
	position: relative;
}

.text-addition:after {
	content: '...and beyond';
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: 0.05em;
	margin-left: 10px;
	position: absolute;
	max-width: 60px;
	bottom: 4px;
}

/* Ticket Patterns */

figure.ljm-banner_small {
	min-width: 28px !important;
}

.ljm-banner_lg {
	min-width: 90px!important;
}

@media (min-width: 768px) {
	figure.ljm-banner_small {
	min-width: 34px !important;
}
	
.ljm-banner_lg {
	min-width: 110px!important;
}
}


/* Portrait Img - Horizontal on Mobile */
@media (max-width: 767px) {
	.ljm-portrait-img-mobile .kb-is-ratio-image {
		padding-bottom: 70% !important;
	}
}


/* Special Buttons */

.ljm-btn-link.kb-button {
	justify-content: space-between;
}

/* Icon List - Auto-fit content */

@media (max-width: 767px) {
.ljm-icon-list-auto-fit .kt-svg-icon-list {
	grid-template-columns: minmax(0, auto) !important;
}
}

@media (min-width: 768px) {
.ljm-icon-list-auto-fit .kt-svg-icon-list {
	grid-template-columns: repeat(3, minmax(0, auto)) !important;
}
}

.ljm-icon-list-top-align .kt-svg-icon-list-single {
	margin-top: 5px !important;
}

.ljm-icon-list-top-align-lg .kt-svg-icon-list-single {
	margin-top: 7px !important;
}

/* Adv Gallery - Caption Edit */
.ljm-gallery-custom .kadence-blocks-gallery-item__caption {
	padding: 12px 0 0 !important;
	line-height: 1.4;
}

.ljm-gallery-rise figure {
	transition: 0.3s all;
}
.ljm-gallery-rise figure:hover {
	transform: translatey(-3px);
}

/* Show more - Book Hotels */
.ljm-location {
	flex-shrink: 0;
}

/* Book Your Hotel Page - mobile nav */
#ljm-mobile-sticky-nav {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 99;
	overflow: auto;
	box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* ljm Numbered List */

ol.ljm-numbered-list {
	position: relative;
	list-style-type: none;
}

ol.ljm-numbered-list:not(.is-style-continue-list){
    counter-reset: countlist;
}

ol.ljm-numbered-list li {
    margin: .5em 0 .5rem;
    counter-increment: countlist;
    position: relative;
    list-style-type: none;
    padding: 0;
    text-indent: 0;
}

ol.ljm-numbered-list li::before {
    content: counter(countlist);
    color: var(--global-palette3);
    font-size: .85rem;
    font-weight: 500;
    position: absolute;
    --size: 1.6rem;
    left: calc(-1 * var(--size) - 10px);
    line-height: var(--size);
    width: var(--size);
    height: var(--size);
    top: 4px;
    background: var(--global-palette6);
    border-radius: 4px;
    text-align: center;
    padding: 0;
}

@media (max-width: 767px) {
	
	ol.ljm-numbered-list li::before {
		font-size: .75rem;
		top: 2px;
	}
}


/* LJM Testimonials */

.ljm-testimonials .kt-testimonial-item-wrap {
	display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ljm-testimonials .kt-blocks-carousel .kt-blocks-carousel-init:not(.kt-carousel-arrowstyle-none):not(.tns-slider) {
	padding-left: 50px;
	padding-right: 50px;
}

.ljm-testimonials .kt-testimonial-meta-wrap {
	margin-top: 24px;
}

/* Slider - Neighborhhods, Hotels etc. */

.ljm-slider .splide__track, 
.ljm-slider-small .splide__track {
	overflow-x: scroll !important;
	 -webkit-overflow-scrolling: touch; /* Enables smooth scrolling on mobile */
  -ms-overflow-style: none; /* Internet Explorer & Edge */
  scrollbar-width: none; /* Firefox */
}

.ljm-slider .splide__track::-webkit-scrollbar, 
.ljm-slider-small .splide__track::-webkit-scrollbar {
  display: none; /* For Chrome, Safari, and newer versions of Edge */
}

.ljm-slider .splide__arrows {
	bottom: -2em !important;
	left: 0 !important;
}

.ljm-slider .kb-splide .splide__arrow, 
.ljm-slider-small .kb-splide .splide__arrow {
  background: none !important;
	width: 1em;
	height: 1em;
}

.ljm-slider-small .splide__arrows {
	left: 50% !important;
	transform: translateX(-50%);
}



/* WP Block Search 
------------------------------*/

.wp-block-search {
	max-width: 700px;
	width: 100%;
	margin: 0 auto;
}

.wp-block-search__inside-wrapper {
	padding: 0;
}

.wp-block-search__button-inside.wp-block-search__icon-button .wp-block-search__input {
	border-color: transparent;
}
.wp-block-search .wp-block-search__button:hover {
	box-shadow: none;
}

input[type="search"]:focus {
	box-shadow: none;
}

.wp-block-search__button:hover svg {
	fill: var(--global-palette2);
}


/* ARCHIVES 
------------------------------*/
.custom-archive-loop-item {
	background-color: white;
	border-radius: 4px !important;
	border: 1px solid  rgba(0,0,0,0.06) !important
}

#archive-container.grid-cols {
	column-gap: 32px;
	row-gap: 32px; 
}

.archive-description p:last-child {
	margin-bottom: 0;
}

.archive-description {
	max-width: 800px;
}


/* SINGLE POST 
------------------------------*/

@media (max-width: 1024px) {
	.single-post #primary {
		margin-top: 0;
	}
}

/* Space btw main & sidebar */
@media screen and (min-width: 1025px) {
.has-sidebar .content-container {
	grid-gap: 4vw;
}
	.ljm-post-content-row > .kt-row-column-wrap {
		column-gap: 4vw !important;
	}
} 

/* Desktop TOC scroll  */
.ljm-toc-scroll-container {
	height: calc(100vh - 260px);
  overflow-y: scroll !important;
	scrollbar-width: thin; /* For Firefox */
}

/* Styling for Webkit Browsers (Chrome, Safari, Edge) */
.ljm-toc-scroll-container::-webkit-scrollbar {
    width: 4px;
}

.ljm-toc-scroll-container::-webkit-scrollbar-thumb {
    background-color: #e9e7e2;
    border-radius: 4px;
}

.ljm-toc-scroll-container::-webkit-scrollbar-track {
    background-color: white;
}

.ljm-toc-mobile li {
	border-bottom: 1px solid #e9e7e2;
	padding-bottom: 20px;
}


/* Kadence breadcrumbs */

#kadence-breadcrumbs span.kadence-bread-current {
  display: none;
}

.ljm-post-header .kadence-breadcrumbs {
	font-size: 13px;
	color: var(--global-palette4);
}

/* Comments */

.akismet_comment_form_privacy_notice {
	font-size: 13px;
	margin-top: 0;
}

.wp-block-comment-reply-link {
	display: inline-block;
	border-radius: 4px !important;
	border: none;
	padding: 2px 8px;
}

.wp-block-comment-reply-link:hover {
	background-color: var(--global-palette6);
}

.comment-reply-link {
	border: none !important;
}

li.bypostauthor .wp-block-comment-author-name {
	background: linear-gradient(to bottom, transparent 45%, #F2F0ED 45%);
	display: inline-block;
	padding: 0px 8px;
}

.ljm-comment {
	border-bottom: 1px solid rgba(0,0,0,0.25);
	padding-bottom: 1.75em;
}

/* Similar Posts - YARPP */

#ljm-similar-posts-yarpp .yarpp-related {
	margin: 0;
}

#ljm-similar-posts-yarpp .yarpp-thumbnails-horizontal {
	display:grid;
	grid-template-columns: repeat(2, 1fr);
  grid-gap: 1em;
}

#ljm-similar-posts-yarpp .yarpp-thumbnail {
	width: 100%;
	height: auto;
	margin: 0;
	background-color: white;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 4px;
	padding: 12px;
}

#ljm-similar-posts-yarpp img {
	margin: 0 0 12px 0;
	border-radius: 4px;
	width: 100%;
	height: auto;
	aspect-ratio: 3/2;
	object-fit: cover;
}

#ljm-similar-posts-yarpp .yarpp-thumbnail-title {
	width: 100%;
	color: var(--global-palette4);
	font-family: var(--global-heading-font-family);
	font-weight: 400;
	line-height: 1.3;
	font-size: 1em;
	margin: 0;
	max-height: 100%;
}

@media (min-width: 768px) {
	#ljm-similar-posts-yarpp .yarpp-thumbnails-horizontal {
	grid-template-columns: repeat(4, 1fr);
}
}

/* Tables */

table {
	font-size: 0.875em;
	line-height: 1.4;
}

/* Author Tool Tip */

.kb-author-tooltip {
  position: absolute;
  width: 100%;
  max-width: 400px;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(35px);
  transition: opacity .3s ease;
}

.kb-author-tooltip .wp-block-kadence-icon {
  flex-wrap: wrap;
}

.kb-author-name:hover + .kb-author-tooltip,
.kb-author-tooltip:hover {
  opacity: 1;
  visibility: visible;
}


/* LASSO 
------------------------------ */
.ljm-lasso-image .lasso-image-container {
	margin: 0 !important;
	padding: 0 !important;
}

.ljm-lasso-image a img {
	border-radius: 4px !important;
}

/* Password-protected page form 
------------------------------ */
.post-password-form {
	background-color: var(--global-palette8);
	padding: 24px 16px;
	border-radius: 4px;
	border: 1px solid #f2f0ed;
	margin: var(--global-md-spacing) auto var(--global-xxs-spacing) 0 !important;
	max-width: 800px;
}

.post-password-form label, 
.post-password-form input {
	margin-bottom: 8px;
}

.ljm-publish-date {
	font-size: 13px;
	font-style: italic;
  line-height: 1.3em;
}

.ljm-page-author {
	font-size: 13px;
  line-height: 1.3em;
}

.ljm-page-author a {
	font-weight: bold;
	color: var(--global-palette3);
}
.ljm-page-author a:hover {
	color: var(--global-palette1);	
}

/* Kadence Bug Fixes 
------------------------------ */

@media (max-width: 1024px) {
	.vertical-align-top-tablet .kt-inside-inner-col {
		justify-content: flex-start !important;
	}
}

/* Kadence Mobile TOC */
#mobile-toc {
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	z-index: 9999;
}

body:has(#mobile-toc .kb-toc-toggle-active) {
	overflow: hidden;
}

body.mobile-sticky #mobile-toc {
  position: fixed;
  top: calc(60px + var(--wp-admin--admin-bar--height, 0px));
  left: 0;
  width: 100%;
  z-index: 9999;
}

.mobile-sticky #main {
  padding-top: 60px;
}