/*
Theme Name: Reykjavik Child
Theme URI: https://www.webmandesign.eu/portfolio/reykjavik-wordpress-theme/
Template: reykjavik
Author: WebMan Design
Author URI: https://www.webmandesign.eu/
Description: Reykjavik is fresh, lightweight, speed and SEO optimized, accessibility ready WordPress theme perfect for your next business, portfolio, blog or WooCommerce e-shop website. You can customize all elements of the theme to your needs. The theme works perfectly with native WordPress block editor, and also with Beaver Builder, Beaver Themer, Elementor, Elementor Pro Theme Builder, Visual Composer or any other page builder to create fantastic layouts. It features mobile-optimized codebase and design with unique, easy-to-access mobile navigation. Build your website in no time with integrated one-click demo import functionality. Impress your website visitors with this beautiful free inclusive theme! More at WebMan Design (https://www.webmandesign.eu )
Tags: one-column,two-columns,right-sidebar,grid-layout,flexible-header,accessibility-ready,custom-background,custom-colors,custom-header,custom-menu,custom-logo,editor-style,featured-image-header,featured-images,footer-widgets,full-width-template,rtl-language-support,sticky-post,theme-options,threaded-comments,translation-ready,blog,e-commerce,portfolio,block-styles,wide-blocks
Version: 992.3.8.1773256496
Updated: 2026-03-11 19:14:56
*/

:root {
  /* Deep navy - headers, hero sections, footer */
  --bg-dark: #1a1a2e;
  
  /* Champagne gold - accents, borders, highlights */
  --accent-gold: #f7e7ce;
  
  /* Crimson red - CTAs, buttons, hover states */
  --accent-red: #c41e3a;
  
  /* Warm cream - main content background */
  --bg-light: #f4f1ea;
  
  /* Secondary navy - cards, alternate sections */
  --bg-secondary: #16213e;
  
  /* Near black - body text */
  --text-dark: #1a1a1e;
  
  /* Off-white - text on dark backgrounds */
  --text-light: #f4f1ea;
}

.page-template-child-pages:not(.fl-builder) .site-main .entry-content {
	padding: 0 0 0;
}

body {
  font-size: 17px;
  background: var(--bg-light);
  color: var(--text-dark);
}

p {
  font-size: 17px;
  line-height: 1.7;
}

h1 {
  font-size: 40px;
  color: var(--bg-dark);
}

h2 {
  font-size: 30px;
  color: var(--bg-dark);
}

h3 {
  font-size: 25px;
  color: var(--bg-dark);
}

h4 {
  font-size: 22px;
  color: var(--bg-dark);
}

.wp-block-group__inner-container > :not(.alignfull):not(.alignwide):not(.alignwide-wrap) {
  max-width: 100%;
  width: 100%;
}

ul li:not(.menu-item):not(:last-child),
ol li:not(.menu-item):not(:last-child) {
  margin-bottom: 15px;
}

.wp-block-separator:not(:last-child),
hr:not(:last-child) {
  margin-bottom: 20px;
  border-color: var(--accent-gold);
}

.wp-block-separator:not(:first-child),
hr:not(:first-child) {
  margin-top: 20px;
}

.intro-inner {
  padding-top: 20px;
  padding-bottom: 20px;
}

.intro-container {
  margin-bottom: 20px;
}

.site-content {
  padding-bottom: 40px;
  color: var(--text-dark);
  background: var(--bg-light);
}

.site-content-inner {
  padding: 0;
}

.has-blocks .content-area {
  max-width: 100%;
}

.search-field,
.search-form {
  display: none !important;
}

.mobile-search-form {
  margin: 12vh auto 0;
}

.site-header-content {
  background: var(--bg-dark);
  padding-top: 15px;
  padding-bottom: 15px;
  border-bottom: 3px solid var(--accent-red);
}

.site-header-inner {
  justify-content: space-between;
}

.site-header-inner::after {
  display: none;
}

.menu .menu-item a {
  color: var(--text-light);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
}

.menu .menu-item a:hover {
  color: var(--accent-gold);
}

.intro-special {
  padding: 20px 0 !important;
  padding-bottom: 40px;
  background: linear-gradient(135deg, var(--bg-dark) 0%, var(--bg-secondary) 100%);
  position: relative;
}

.intro-special::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 10px,
    rgba(247, 231, 206, 0.03) 10px,
    rgba(247, 231, 206, 0.03) 20px
  );
  pointer-events: none;
}

.intro-special .intro-inner {
  max-width: 100%;
  width: 100%;
  position: relative;
  z-index: 1;
}

.intro-special .intro-inner .intro-title {
  font-size: 40px;
  text-align: center;
  color: var(--accent-gold);
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  font-weight: 700;
  letter-spacing: 1px;
}

.wp-block-button__link,
.button,
button,
input[type="submit"] {
  background: var(--accent-red);
  color: var(--text-light);
  border: 2px solid var(--accent-red);
  border-radius: 4px;
  padding: 12px 28px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

.wp-block-button__link:hover,
.button:hover,
button:hover,
input[type="submit"]:hover {
  background: transparent;
  color: var(--accent-red);
}

.wp-block-table table {
  border-collapse: collapse;
  background: var(--bg-light);
  box-shadow: 0 4px 20px rgba(26, 26, 46, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

.wp-block-table thead {
  background: var(--bg-dark);
  color: var(--accent-gold);
}

.wp-block-table th {
  padding: 16px;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.5px;
  border-bottom: 3px solid var(--accent-red);
}

.wp-block-table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(26, 26, 46, 0.1);
}

.wp-block-table tbody tr:hover {
  background: rgba(247, 231, 206, 0.3);
}

.wp-block-table tbody tr:nth-child(even) {
  background: rgba(22, 33, 62, 0.03);
}

.wp-block-group.is-style-border {
  border: 2px solid var(--accent-gold);
  border-radius: 8px;
  padding: 30px;
  background: linear-gradient(145deg, var(--bg-light) 0%, #fff 100%);
  box-shadow: 0 8px 30px rgba(26, 26, 46, 0.12);
}

h2.wp-block-heading {
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 25px;
}

h2.wp-block-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, var(--accent-red) 0%, var(--accent-gold) 100%);
  border-radius: 2px;
}

.disclaimer {
  background: var(--bg-secondary);
  color: var(--text-light);
  padding: 25px;
  border-radius: 8px;
  border-left: 4px solid var(--accent-red);
  margin: 30px 0;
}

.disclaimer-title {
  color: var(--accent-gold);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.schema-faq-section {
  background: #fff;
  padding: 20px;
  margin-bottom: 15px;
  border-radius: 6px;
  border: 1px solid rgba(26, 26, 46, 0.1);
  box-shadow: 0 2px 10px rgba(26, 26, 46, 0.05);
}

.schema-faq-question {
  color: var(--bg-dark);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  display: block;
}

.schema-faq-answer {
  color: var(--text-dark);
  line-height: 1.6;
}

.site-footer {
  background: var(--bg-dark);
  color: var(--text-light);
  padding: 12px 0 8px;
  border-top: 3px solid var(--accent-gold);
}

.site-copy {
  display: block;
  padding: 20px;
  text-align: center;
  color: var(--accent-gold);
  font-size: 15px;
  border-top: 1px solid rgba(247, 231, 206, 0.2);
  margin-top: 0;
}
.site-copy a {
  color: rgba(247, 231, 206, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}

.site-copy a:hover {
  color: var(--accent-gold);
}

.page-template-child-pages:not(.fl-builder) .site-main .entry-content-inner:not(:empty) {
	padding-bottom: 12px;
}
.site-content {
  padding-bottom: 12px;
}

@media (max-width: 781px) {
  body {
    font-size: 16px;
  }
  
  .site-content {
    font-size: 16px;
  }
  
  p {
    font-size: 16px;
  }
  
  .intro-special .intro-inner .intro-title {
    font-size: 28px;
  }
  
  h1 {
    font-size: 28px;
  }
  
  h2 {
    font-size: 24px;
  }
  
  h3 {
    font-size: 22px;
  }
  
  h4 {
    font-size: 19px;
  }
  
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(2n) {
    margin-left: 0;
  }
  
  .wp-block-table th,
  .wp-block-table td {
    padding: 10px;
    font-size: 14px;
  }
  
  .intro-special {
    padding-bottom: 60px;
  }
}


@media (max-width: 671px) {
	/* Header layout */
	.site-header-content {
		position: relative;
		padding: 15px 20px;
	}

	.site-header-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.site-branding {
		display: flex;
		align-items: center;
		gap: 12px;
		flex-shrink: 0;
	}

	.custom-logo {
		width: 45px;
		height: 45px;
	}

	.site-title {
		font-size: 16px;
		line-height: 1.3;
		margin: 0;
	}

	/* Hide desktop nav elements */
	.main-navigation {
		position: static;
	}

	/* Burger button - top right, icon only */
	#menu-toggle {
		position: relative;
		z-index: 1001;
		width: 44px;
		height: 44px;
		padding: 0;
		background: transparent;
		border: 2px solid var(--accent-gold);
		border-radius: 4px;
		color: transparent;
		font-size: 0;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
top: 0;
	}

	#menu-toggle::before {
		content: "";
		display: block;
		width: 20px;
		height: 2px;
		background: var(--accent-gold);
		box-shadow: 0 -6px 0 var(--accent-gold), 0 6px 0 var(--accent-gold);
		transition: all 0.3s ease;
	}

	#menu-toggle[aria-expanded="true"] {
		border-color: var(--text-light);
	}

	#menu-toggle[aria-expanded="true"]::before {
		background: var(--text-light);
		box-shadow: none;
		transform: rotate(45deg);
	}

	#menu-toggle[aria-expanded="true"]::after {
		content: "";
		position: absolute;
		width: 20px;
		height: 2px;
		background: var(--text-light);
		transform: rotate(-45deg);
	}

	/* Fullscreen mobile menu */
	.main-navigation-container {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100vw;
		height: 100vh;
		background: var(--bg-dark);
		z-index: 1000;
		padding: 80px 16px 40px;
		display: flex;
		flex-direction: column;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}

	.main-navigation-container.is-open,
	#menu-toggle[aria-expanded="true"] ~ .main-navigation-container,
	#menu-toggle[aria-expanded="true"] + .main-navigation-container {
		opacity: 1;
		visibility: visible;
	}

	/* Hide search in mobile menu */
	.mobile-search-form {
		display: none;
	}

	/* Menu items */
	.menu-primary {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.menu-primary .menu-item {
		border-bottom: 1px solid rgba(247, 231, 206, 0.15);
	}

	.menu-primary .menu-item:last-child {
		border-bottom: none;
	}

	.menu-primary .menu-item a {
		display: block;
		padding: 20px 10px;
		color: var(--text-light);
		font-size: 24px;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 1px;
		text-decoration: none;
		transition: color 0.3s ease;
	}

	.menu-primary .menu-item a:hover,
	.menu-primary .menu-item.current-menu-item a {
		color: var(--accent-gold);
	}

	/* Hide skip link */
	.menu-toggle-skip-link-container {
		display: none;
	}
}


/* Venue card container */
.venue-card {
  background: #fff;
  border-radius: 8px;
  padding: 30px;
  margin-bottom: 30px;
  box-shadow: 0 4px 20px rgba(26, 26, 46, 0.08);
}

/* Flex container for number + title */
.venue-card .is-layout-flex {
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 2px solid var(--accent-gold);
  flex-wrap: wrap;
}

/* Number badge - same size as h3 */
.venue-number {
  background: rgba(196, 30, 58, 0.1);
  color: var(--accent-red);
  font-size: 30px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 4px;
  line-height: 1.2;
  margin: 0;
  font-family: inherit;
}

/* H3 title - inherits theme size */
.venue-header {
  margin: 0;
  color: var(--bg-dark);
  font-size: 30px;
  line-height: 1.2;
}

/* Meta line */
.venue-meta {
  font-size: 14px;
  color: var(--bg-secondary);
  margin-bottom: 20px;
  line-height: 1.6;
}

.venue-meta em {
  font-style: normal;
}

/* Tip block */
.venue-tip {
  background: rgba(247, 231, 206, 0.3);
  border-left: 3px solid var(--accent-gold);
  padding: 20px;
  margin-top: 20px;
  border-radius: 0 6px 6px 0;
  font-size: 15px;
}

.venue-tip strong {
  color: var(--accent-red);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.5px;
  font-weight: 600;
}

/* Badge */
.venue-badge {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--bg-secondary);
  background: rgba(22, 33, 62, 0.08);
  padding: 6px 14px;
  border-radius: 20px;
  display: inline-block;
  margin-top: 8px;
}


/* Divider between venues */
.venue-divider {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent-gold), transparent);
  margin: 40px auto;
  max-width: 80%;
}


/* Mobile */
@media (max-width: 781px) {
  .venue-card {
    padding: 20px;
  }
  
  .venue-number,
  .venue-header {
    font-size: 22px;
  }
  
  .venue-card .is-layout-flex {
    gap: 10px;
  }
}





@media (min-width: 651px) {
  .dinner-tbl table {
    table-layout: auto;
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    box-shadow: 0 4px 20px rgba(26, 26, 46, 0.1);
    border-radius: 8px;
    overflow: hidden;
  }

  .dinner-tbl thead {
    background: var(--bg-dark);
    color: var(--accent-gold);
  }

  .dinner-tbl th {
    padding: 14px 2px;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.3px;
    border-bottom: 3px solid var(--accent-red);
    text-align: center;
    white-space: nowrap;
  }

  .dinner-tbl td {
    padding: 10px 5px;
    border-bottom: 1px solid rgba(26, 26, 46, 0.08);
    font-size: 15px;
    vertical-align: top;
  }

  .dinner-tbl tbody tr:hover {
    background: rgba(247, 231, 206, 0.2);
  }

  .dinner-tbl tbody tr:nth-child(even) {
    background: rgba(22, 33, 62, 0.02);
  }

  .dinner-tbl tbody tr:nth-child(even):hover {
    background: rgba(247, 231, 206, 0.25);
  }

  .dinner-tbl tbody tr:last-child td {
    color: var(--bg-secondary);
    opacity: 0.7;
  }

  .dinner-tbl tbody tr:last-child td:nth-child(2) {
    /*text-decoration: line-through;*/
  }

  .dinner-tbl th:first-child,
  .dinner-tbl td:first-child {
    width: 6%;
    text-align: center;
    font-weight: 700;
    color: var(--accent-red);
  }

  .dinner-tbl th:nth-child(2),
  .dinner-tbl td:nth-child(2) {
    width: 22%;
    font-weight: 600;
  }

  .dinner-tbl th:nth-child(3),
  .dinner-tbl td:nth-child(3) {
    width: 16%;
  }

  .dinner-tbl th:nth-child(4),
  .dinner-tbl td:nth-child(4) {
    width: 20%;
  }

  .dinner-tbl th:nth-child(5),
  .dinner-tbl td:nth-child(5) {
    width: 14%;
  }

  .dinner-tbl th:nth-child(6),
  .dinner-tbl td:nth-child(6),
  .dinner-tbl th:nth-child(7),
  .dinner-tbl td:nth-child(7) {
    width: 12%;
    text-align: center;
  }

  .dinner-tbl th:last-child,
  .dinner-tbl td:last-child {
    width: 20%;
    font-size: 14px;
  }
}

@media (min-width: 1255px) {
  .dinner-tbl th {
    font-size: 13px;
    letter-spacing: 0.5px;
    padding: 16px 10px;
  }
}



.venue-gal {
  gap: 15px;
  margin: 30px 0;
}

.venue-gal .wp-block-image {
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(26, 26, 46, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.venue-gal .wp-block-image:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(26, 26, 46, 0.15);
}

.venue-gal .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5/3;
  object-fit: cover;
}

@media (max-width: 781px) {
  .venue-gal {
    gap: 10px;
  }
  
  .venue-gal .wp-block-image {
    border-radius: 6px;
  }
}

