/*
Theme Name:   GeneratePress Child (Guiden)
Template:     generatepress
Version:      1.0.0
Description:  Child theme that recreates the old Samba look for spanienguiden.se / torreviejaguiden.se.
Text Domain:  generatepress-child
*/

/* ---------- Base: colours & fonts from Samba options ---------- */
body {
	background: #eee url(/wp-content/uploads/bg-guide.jpg) top center / 100% auto fixed no-repeat;
	font-family: 'PT Sans', sans-serif;
	font-size: 14px;
	line-height: 1.7;
	color: #444;
}
a, a:visited { color: #d80d23; }
a:hover, a:focus { color: #7f011e; }
h1, h2, h3, h4, h5, h6 { color: #444; font-weight: 600; font-family: 'PT Sans', sans-serif; }
h1 { font-size: 39px; } h2 { font-size: 33px; } h3 { font-size: 24px; } h4 { font-size: 19px; }
.entry-title, .page-title, .widget-title, .main-title, .boxes h2, .boxes h3 { font-family: 'Titillium Web', sans-serif; }
.entry-header .entry-title {
	display: block; color: #111; font-size: 39px; line-height: 1.2; font-weight: 600;
	padding-bottom: 6px; border-bottom: 4px solid #cacaca; margin-bottom: 11px;
}
.entry-header .entry-title a { color: #111; }
.entry-meta, .entry-meta a { color: #888; font-size: 13px; }

/* ---------- Boxed wrapper (1200px, white, shadow) ---------- */
.sgc-wrap {
	max-width: 1200px; margin: 0 auto; background: #fff;
	border-left: 1px solid #ebebeb; border-right: 1px solid #ebebeb;
	box-shadow: 0 0 20px 0 rgba(0,0,0,.15);
	min-height: 100vh;
}
.site.grid-container, .site-footer .grid-container, .inside-header.grid-container, .inside-navigation.grid-container { max-width: none; }
.separate-containers .inside-article, .one-container .site-content, .inside-page-header,
.separate-containers .site-main > *, .separate-containers .widget, .sidebar .widget { background: transparent; }

/* ---------- Header / logo ---------- */
.site-header { background: #f5f5f5; }
.site-logo img, .header-image { max-width: 220px; height: auto; }

/* ---------- Ad/offer boxes (Samba .boxes) ---------- */
.boxes { background: #e9caca; border: 3px dotted #d80d23; padding: 10px 15px; margin: 15px 0; }
.boxes .widget { margin: 0; padding: 0; background: transparent; }
.boxes h2 { font-size: 30px; margin: 0 0 8px; color: #444; }
.boxes h3 { font-weight: 600; margin: 0 0 5px; font-size: 20px; color: #2b2b2b; }
.boxes p { margin-bottom: 0; }

/* ---------- Sidebar ---------- */
.sidebar .widget { padding: 0 0 25px; margin-bottom: 0; font-size: 14px; }
.sidebar .widget-title { font-size: 16px; font-weight: 600; color: #111; border-bottom: 4px solid #cacaca; padding-bottom: 4px; margin-bottom: 12px; }
.sidebar .search-field, .wp-block-search__input { background: #f0f0f0; border: 1px solid #dedede; padding: 8px 15px; width: 100%; color: #444; }
.sidebar img { max-width: 100%; height: auto; }

/* ---------- Navigation (shared) ---------- */
.main-navigation, .main-navigation ul ul { background: #f5f5f5; }
.main-navigation .main-nav ul li a {
	font-family: 'Titillium Web', sans-serif; font-weight: 600; font-size: 17.5px; color: #000;
	line-height: 1.2; padding: 12px 15px 12px 26px; position: relative;
}
.main-navigation .main-nav ul li a:hover, .main-navigation .main-nav ul li.sfHover > a { color: #7f011e; background: #eee; }
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color: #7f011e; background: #eee; }
.main-navigation .main-nav ul ul li a { font-size: 14px; font-weight: 600; padding: 8px 15px 8px 36px; }
.samba_viewie {
	display: inline-block; vertical-align: top; margin-left: 7px; padding: 0 3px; font-size: 8px; line-height: 12px;
	color: #fff; background: var(--sgc-mc, #d80d23); font-weight: 600;
}
.main-navigation .main-nav > ul > li > a::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 12px; background: var(--sgc-mc, #d80d23);
}

/* ---------- Footer ---------- */
.site-info { background: transparent; color: #b5b5b5; font-size: 12px; line-height: 1.75; }
.site-info a { color: #d80d23; }
.inside-site-info { padding: 12px 20px 16px; justify-content: flex-start; text-align: left; }

/* ---------- WPBakery/blocks tweaks ---------- */
.wp-block-button__link { border-radius: 50px; }
.entry-content > *:first-child { margin-top: 0; }

/* ---------- Desktop: Samba-style left column (logo + vertical menu + footer) ---------- */
@media (min-width: 1100px) {
	.sgc-wrap {
		display: grid; grid-template-columns: 260px minmax(0, 1fr); grid-template-rows: auto auto 1fr;
		background: linear-gradient(to right, #f5f5f5 0, #f5f5f5 260px, #fff 260px);
	}
	.sgc-wrap > .skip-link { position: absolute; }
	.sgc-wrap > .site-header { grid-column: 1; grid-row: 1; background: transparent; }
	.sgc-wrap > .main-navigation { grid-column: 1; grid-row: 2; background: transparent; }
	.sgc-wrap > .site { grid-column: 2; grid-row: 1 / span 3; margin: 0; }
	.sgc-wrap > .site-footer { grid-column: 1; grid-row: 3; align-self: start; }
	.inside-header { padding: 36px 20px 40px; justify-content: center; }
	.site-header .header-widget, .site-header .main-navigation { display: none; }
	.main-navigation .inside-navigation { padding: 0; display: block; }
	.main-navigation .main-nav > ul { display: block; }
	.main-navigation .main-nav ul li { float: none; display: block; width: 100%; border-bottom: 1px solid #ebebeb; }
	.main-navigation .main-nav > ul > li:first-child { border-top: 1px solid #ebebeb; }
	.main-navigation .main-nav ul li a { display: block; }
	.main-navigation .menu-bar-items { display: none; }
	/* submenus open inline below parent (accordion-like), instead of flyout */
	.main-navigation ul ul, .main-navigation:not(.toggled) ul li:hover > ul, .main-navigation:not(.toggled) ul li.sfHover > ul {
		position: static; left: auto; width: 100%; box-shadow: none; opacity: 1; visibility: visible; height: auto; pointer-events: auto; float: none;
	}
	.main-navigation ul ul { display: none; }
	.main-navigation ul li:hover > ul, .main-navigation ul li.sfHover > ul { display: block; }
	.main-navigation ul ul li { border-bottom: 0 !important; }
	.main-navigation .menu-item-has-children .dropdown-menu-toggle { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); padding: 0; }
	.main-navigation .menu-item-has-children > a { padding-right: 30px; }
	.site-content { padding: 0; }
	.content-area { padding: 26px 30px 40px 40px; }
	.one-container .site-content { padding: 0; }
	.one-container .container, .one-container.right-sidebar .site-main { margin-right: 0; }
	.site-main { margin: 0 !important; }
	.inside-right-sidebar { padding: 85px 20px 0 0; }
	.one-container .inside-article { padding: 0; }
}
@media (min-width: 769px) and (max-width: 1099px) {
	.sgc-wrap { max-width: 100%; }
	.inside-header { padding: 15px 20px; }
	.main-navigation .main-nav ul li a { font-size: 15px; padding: 10px 12px 10px 20px; }
	.main-navigation .main-nav > ul > li > a::before { width: 5px; }
}
/* ---------- Mobile ---------- */
@media (max-width: 768px) {
	body { background-size: cover; }
	.inside-header { padding: 10px 15px; flex-direction: row; justify-content: center; }
	.site-logo img { max-height: 40px; width: auto; }
	.main-navigation .menu-toggle { color: #7f011e; font-size: 20px; }
	.entry-header .entry-title { font-size: 30px; }
	h2 { font-size: 26px; }
	.boxes h2 { font-size: 22px; }
	.main-navigation .main-nav > ul > li > a::before { width: 6px; }
}

.entry-header .entry-title{background:linear-gradient(#cacaca,#cacaca) left bottom/220px 4px no-repeat;border-bottom:1px solid #ebebeb;padding-bottom:10px}
.entry-content .alignwide, .entry-content .alignfull { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; max-width: 100% !important; left: auto; }
.entry-content .wp-block-button__link, .entry-content .wp-block-button__link:visited { color: #fff; background-color: #d80d23; }
.entry-content .wp-block-button__link:hover { color: #fff; background-color: #7f011e; }
.entry-content .is-style-outline .wp-block-button__link, .entry-content .is-style-outline .wp-block-button__link:visited { background: transparent; color: #cf2e2e; border: 2px solid currentColor; }
.entry-content .is-style-outline .wp-block-button__link:hover { background: #cf2e2e; color: #fff; }
@media (max-width: 768px) {
	.entry-content .alignright, .entry-content .alignleft, .entry-content .wp-block-image .alignright, .entry-content .wp-block-image .alignleft { float: none; display: block; margin: 0 auto 1em; text-align: center; }
	.entry-content img { max-width: 100%; height: auto; }
	.inside-article { padding: 20px 15px; }
}
